/* ==========================================================================
   CERVOLAND — AJUSTEMENTS WORDPRESS
   Seul fichier CSS propre au thème (les quatre autres calques viennent de la
   maquette, copiés par fabrique/wordpress.py). Ici : ce que WordPress ajoute
   au HTML (classes wp-block-*, alignements, légendes) et que la maquette ne
   connaît pas. Aucune couleur en dur : tout vient de tokens.css.
   ========================================================================== */

/* Listes de l'éditeur : base.css retire les puces des listes qui portent une
   classe (composants) ; les listes de contenu doivent les garder. */
.prose ul.wp-block-list { list-style: disc; }
.prose ol.wp-block-list { list-style: decimal; }

/* Images et figures de contenu */
.prose .wp-block-image { margin-block: var(--sp-5); }
.prose .wp-block-image img { border-radius: var(--r-carte); }
.prose figcaption, .prose .wp-element-caption { font-size: var(--fs-sm); color: var(--c-texte-2); margin-top: var(--sp-2); }

/* Boutons de l'éditeur → apparence des boutons de la maquette (.btn) */
.prose .wp-block-buttons { display: flex; flex-wrap: wrap; gap: var(--sp-3); }
.prose .wp-block-button__link {
  display: inline-flex; align-items: center; gap: var(--sp-2);
  min-height: var(--cible-min); padding: var(--sp-2) var(--sp-5);
  border-radius: var(--r-bouton); border: var(--bordure-epaisse) solid var(--c-bordure-forte);
  background: var(--c-accent-bouton, var(--c-accent)); color: var(--c-accent-bouton-contraste, var(--c-accent-contraste));
  font-weight: var(--fw-semibold); line-height: var(--lh-serre); text-decoration: none;
}
.prose .is-style-outline .wp-block-button__link { background: transparent; color: var(--c-texte); }

/* Tableaux de l'éditeur */
.prose .wp-block-table table { width: 100%; border-collapse: collapse; }
.prose .wp-block-table th, .prose .wp-block-table td { padding: var(--sp-3); border-bottom: var(--bordure-fine) solid var(--c-bordure); text-align: left; vertical-align: top; }
.prose .wp-block-table th { font-weight: var(--fw-semibold); }

/* Citations, séparateurs */
.prose .wp-block-quote { border-left: 4px solid var(--c-accent); padding-left: var(--sp-5); font-weight: var(--fw-leger); font-size: var(--fs-md); }
.prose .wp-block-separator { border: 0; border-top: var(--bordure-fine) solid var(--c-bordure); margin-block: var(--sp-6); }

/* Palette de theme.json : classes générées par WordPress (has-<slug>-background-color)
   — les valeurs sont injectées par WordPress ; rien à déclarer ici. */

/* Barre d'administration : ne masque pas la passerelle */
.admin-bar .passerelle { position: relative; }

/* Formulaires branchés (Contact Form 7) : mêmes champs que la maquette (.champ),
   plus les éléments propres à l'extension (messages, erreurs, consentement). */
.formulaire .wpcf7 form { display: flex; flex-direction: column; gap: var(--sp-4); }
.formulaire .wpcf7-form-control-wrap { display: block; }
.formulaire .wpcf7-form-control-wrap input, .formulaire .wpcf7-form-control-wrap textarea, .formulaire .wpcf7-form-control-wrap select { width: 100%; }
.formulaire input.btn { font: inherit; font-weight: var(--fw-semibold); cursor: pointer; }
.formulaire input.btn:disabled { opacity: .6; cursor: progress; }
.formulaire .wpcf7-spinner { margin: 0 var(--sp-2); }
.formulaire .champ--case .wpcf7-list-item { margin: 0; }
.formulaire .champ--case label { display: flex; gap: var(--sp-2); align-items: flex-start; font-weight: var(--fw-normal); font-size: var(--fs-sm); }
.formulaire .champ--case input[type="checkbox"] { width: 1.25rem; height: 1.25rem; margin-top: .15em; flex: none; accent-color: var(--c-accent); }
.formulaire .wpcf7-not-valid-tip { display: block; margin-top: var(--sp-1); font-size: var(--fs-sm); color: var(--c-erreur); font-weight: var(--fw-moyen); }
.formulaire .wpcf7-not-valid { border-color: var(--c-erreur); border-width: var(--bordure-epaisse); }
.formulaire .wpcf7-response-output { margin: 0; padding: var(--sp-3) var(--sp-4); border: var(--bordure-fine) solid var(--c-bordure); border-radius: var(--r-md); font-size: var(--fs-sm); }
.formulaire .wpcf7 form.sent .wpcf7-response-output { border-color: var(--c-succes, var(--c-accent)); background: var(--c-fond-doux, transparent); }
.formulaire .wpcf7 form.invalid .wpcf7-response-output, .formulaire .wpcf7 form.failed .wpcf7-response-output { border-color: var(--c-erreur); }
.formulaire .screen-reader-response { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Inscription à la lettre d'information branchée (Brevo, MailPoet) dans le pied */
.newsletter--externe { display: block; }
.newsletter--externe input[type="email"], .newsletter--externe input[type="text"] { width: 100%; min-height: var(--cible-min); padding: var(--sp-2) var(--sp-3); border: var(--bordure-fine) solid var(--c-bordure-champ); border-radius: var(--r-md); font: inherit; }
.newsletter--externe input[type="submit"], .newsletter--externe button { font: inherit; font-weight: var(--fw-semibold); min-height: var(--cible-min); padding: var(--sp-2) var(--sp-5); border-radius: var(--r-bouton); border: var(--bordure-epaisse) solid var(--c-bordure-forte); background: transparent; color: inherit; cursor: pointer; margin-top: var(--sp-2); }
.newsletter--externe p, .newsletter--externe label { font-size: var(--fs-sm); }
