/* =========================================================================
   Blocs Gutenberg — mise en forme des articles.

   Ce fichier est chargé DEUX FOIS :
     - sur le site, pour le contenu des articles et des pages ;
     - dans l'éditeur (add_editor_style), pour que la rédaction ressemble
       au rendu final.
   Il ne cible donc que des classes « .wp-block-* » et des classes de
   présets, jamais des balises nues : la typographie de base reste définie
   dans style.css (site) et editor.css (éditeur).
   ========================================================================= */

/* ---------- images ---------- */
.wp-block-image{margin:34px 0}
.wp-block-image img{border-radius:18px;display:block}
.wp-block-image.is-style-rounded img{border-radius:50%}
.wp-block-image figcaption,
.wp-block-embed figcaption,
.wp-block-audio figcaption,
.wp-block-video figcaption{font-family:var(--ui);font-size:14px;line-height:1.6;color:var(--gris);
  margin-top:10px;text-align:center}
.wp-block-image .alignleft,
.wp-block-image .alignright{max-width:50%}

/* ---------- galerie ---------- */
.wp-block-gallery{margin:34px 0}
.wp-block-gallery img{border-radius:14px}

/* ---------- citations ---------- */
.wp-block-quote{margin:34px 0;padding:6px 0 6px 26px;border-left:4px solid var(--orange);
  font-style:italic;color:var(--bleu-fonce)}
.wp-block-quote p{margin-bottom:12px}
.wp-block-quote cite,
.wp-block-pullquote cite{display:block;font-family:var(--ui);font-size:14px;font-style:normal;
  font-weight:600;color:var(--gris);margin-top:10px}
.wp-block-quote.is-style-plain{border-left:0;padding-left:0}

.wp-block-pullquote{margin:44px 0;padding:36px 34px;border:0;border-top:4px solid var(--orange);
  background:var(--bleu-voile);border-radius:0 0 22px 22px;text-align:left}
.wp-block-pullquote p{font-family:var(--serif);font-size:clamp(1.3rem,2.4vw,1.75rem);font-style:italic;
  line-height:1.4;color:var(--bleu);margin:0}

/* ---------- listes ---------- */
.wp-block-list{padding-left:24px;line-height:1.85}
.wp-block-list li{margin-bottom:10px}
.wp-block-list li::marker{color:var(--orange)}

/* ---------- séparateur ---------- */
.wp-block-separator{border:0;height:4px;width:72px;border-radius:3px;background:var(--orange);
  margin:44px 0;opacity:1}
.wp-block-separator.is-style-wide,
.wp-block-separator.has-alpha-channel-opacity{width:100%;height:1px;background:var(--bleu-trait)}
.wp-block-separator.is-style-dots{background:none;height:auto;width:auto;text-align:center;color:var(--orange)}

/* ---------- boutons ---------- */
.wp-block-buttons{margin:34px 0;gap:14px}
.wp-block-button__link{display:inline-flex;align-items:center;font-family:var(--ui);font-size:15px;
  font-weight:700;background:var(--bleu);color:#fff;text-decoration:none;padding:15px 30px;
  border-radius:999px;box-shadow:var(--ombre-douce);transition:background-color .2s,transform .2s}
.wp-block-button__link:hover{background:var(--bleu-fonce);color:#fff;transform:translateY(-1px)}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--bleu);
  border:1.5px solid var(--bleu-trait);box-shadow:none}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--bleu-voile);color:var(--bleu)}

/* ---------- colonnes, groupes ---------- */
.wp-block-columns{margin:38px 0;gap:34px}
.wp-block-group.has-background{padding:34px;border-radius:22px}
.wp-block-group.has-creme-background-color,
.wp-block-group.has-bleu-voile-background-color{border-top:4px solid var(--orange)}

/* ---------- tableau ---------- */
.wp-block-table{margin:34px 0;overflow-x:auto}
.wp-block-table table{width:100%;border-collapse:collapse;font-size:16.5px}
.wp-block-table th,
.wp-block-table td{border:1px solid var(--bleu-trait);padding:12px 16px;text-align:left}
.wp-block-table th{background:var(--bleu-voile);color:var(--bleu);font-weight:700}
.wp-block-table.is-style-stripes tbody tr:nth-child(odd){background:var(--creme)}
.wp-block-table figcaption{font-family:var(--ui);font-size:14px;color:var(--gris);margin-top:10px}

/* ---------- code, texte préformaté ---------- */
.wp-block-code,
.wp-block-preformatted{background:var(--bleu-nuit);color:#e8eef7;border-radius:16px;padding:22px 24px;
  font-family:Consolas,Monaco,"Courier New",monospace;font-size:14.5px;line-height:1.7;
  overflow-x:auto;margin:34px 0}
.wp-block-verse{font-family:var(--serif);font-style:italic;background:var(--creme);
  border-left:4px solid var(--orange);padding:22px 26px;border-radius:0 16px 16px 0;margin:34px 0}

/* ---------- média + texte, bannière ---------- */
.wp-block-media-text{margin:38px 0;border-radius:22px;overflow:hidden}
.wp-block-media-text .wp-block-media-text__content{padding:34px}
.wp-block-cover{margin:38px 0;border-radius:24px;overflow:hidden;min-height:340px}
.wp-block-cover .wp-block-cover__inner-container{color:#fff}
.wp-block-cover h1,.wp-block-cover h2,.wp-block-cover h3,.wp-block-cover p{color:#fff}

/* ---------- fichier joint, intégrations ---------- */
.wp-block-file{margin:28px 0;background:var(--bleu-voile);border:1px solid var(--bleu-trait);
  border-radius:16px;padding:18px 22px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;
  justify-content:space-between}
.wp-block-file a:first-child{font-weight:700;color:var(--bleu)}
.wp-block-file__button{font-family:var(--ui);font-size:14px;font-weight:700;background:var(--orange);
  color:var(--bleu-nuit);border-radius:999px;padding:10px 22px;text-decoration:none}
.wp-block-embed{margin:34px 0}
.wp-block-embed iframe{border-radius:18px;max-width:100%}

/* ---------- détails repliables ---------- */
.wp-block-details{margin:28px 0;background:var(--creme);border:1px solid var(--bleu-trait);
  border-radius:18px;padding:20px 24px}
.wp-block-details summary{font-family:var(--ui);font-weight:700;color:var(--bleu);cursor:pointer}
.wp-block-details summary::marker{color:var(--orange)}

/* ---------- lettrine ---------- */
.has-drop-cap:not(:focus):first-letter{font-family:var(--serif);font-size:4.2em;font-weight:700;
  line-height:.78;color:var(--bleu);float:left;margin:.08em .12em 0 0}

/* ---------- alignements de texte ---------- */
.has-text-align-center{text-align:center}
.has-text-align-right{text-align:right}
.has-text-align-left{text-align:left}

/* ---------- présets de couleur ---------- */
.has-bleu-color{color:var(--bleu)}
.has-bleu-fonce-color{color:var(--bleu-fonce)}
.has-bleu-nuit-color{color:var(--bleu-nuit)}
.has-orange-color{color:var(--orange-texte)}   /* orange lisible en petit corps */
.has-encre-color{color:var(--encre)}
.has-gris-color{color:var(--gris)}
.has-blanc-color{color:#fff}
.has-bleu-background-color{background-color:var(--bleu)}
.has-bleu-fonce-background-color{background-color:var(--bleu-fonce)}
.has-bleu-nuit-background-color{background-color:var(--bleu-nuit)}
.has-bleu-voile-background-color{background-color:var(--bleu-voile)}
.has-orange-background-color{background-color:var(--orange)}
.has-orange-voile-background-color{background-color:var(--orange-voile)}
.has-creme-background-color{background-color:var(--creme)}
.has-blanc-background-color{background-color:#fff}

/* Un texte blanc ou orange posé sur un aplat sombre reste lisible. */
.has-bleu-background-color,
.has-bleu-fonce-background-color,
.has-bleu-nuit-background-color{color:#fff}
.has-bleu-background-color a,
.has-bleu-nuit-background-color a{color:#fff}
