/* ============================================================
   AJUSTEMENTS WORDPRESS
   Tout ce qui n'existe pas dans le wireframe : barre d'admin,
   images réelles à la place des placeholders, formulaires CF7,
   états cachés pilotés par main.js. Aucun autre fichier CSS ne
   doit être modifié : tokens/typography/base sont des copies
   conformes du wireframe.
   ============================================================ */

/* Les panneaux pilotés par JS restent invisibles même si leur classe
   pose un display explicite. */
[hidden] {
  display: none !important;
}

/* Barre d'admin WordPress : l'en-tête est sticky/fixe sous elle. */
body.admin-bar .entete {
  top: var(--wp-admin--admin-bar--height, 32px);
}

/* Wordmark de l'en-tête : dégradé en barre pleine, blanc quand l'en-tête
   flotte sur le héros (swap de variantes de Header.jsx : les deux logos
   sont rendus, le CSS n'en montre qu'un, et le logotype repasse en
   currentColor à l'état flottant). */
.entete .wordmark__logo--blanc {
  display: none;
}
.entete--flottante .wordmark__logo--blanc {
  display: inline;
}
/* !important : la variante dégradé porte un display inline-block en
   style inline (nécessaire au masque), qui gagnerait sinon. */
.entete--flottante .wordmark__logo--degrade {
  display: none !important;
}
.entete--flottante .logotype--degrade {
  fill: currentColor;
}

/* Image réelle affichée dans un conteneur .ph : mêmes coins et le label
   n'existe pas — l'img remplace le placeholder. */
img.ph {
  display: block;
  object-fit: cover;
  width: 100%;
}

/* Contenu d'article (blocs Gutenberg) : on retombe sur la .prose du
   wireframe, déjà stylée par base.css. */
.prose > p + p {
  margin-top: 1em;
}

/* Description d'antenne multi-paragraphes dans l'intro de tête de page
   (the_content dans un div, le reset global annule les marges). */
.tete-page__intro p + p {
  margin-top: 0.8em;
}

/* Le bandeau Grand Trail : base.css référence /photos/…, chemin du
   wireframe — on repointe vers la copie embarquée dans le thème. */
.bandeau--illustre::before {
  background-image: url('../img/hero-trail-coutach.jpg');
}

/* Alternance gauche/droite des blocs (infrastructures) : la classe
   existait dans le wireframe sans règle associée. */
.grille--2 .ordre-second {
  order: 1;
}

/* ——— Planning : ajustements ponctuels ——————————————————————— */
/* Badges d'état des séances (annulée / modifiée / exceptionnelle). */
.planning__badge {
  display: inline-block;
  margin-left: var(--sp-2);
  padding: 1px 8px 2px;
  border-radius: 2px;
  font-size: var(--fs-xs);
  font-weight: 650;
  vertical-align: middle;
  white-space: nowrap;
}
.planning__badge--annule {
  background: color-mix(in srgb, var(--c-accent) 10%, transparent);
  color: var(--c-secondary);
}
.planning__badge--modifie {
  background: color-mix(in srgb, var(--c-vif) 14%, transparent);
  color: var(--c-vif);
}
.planning__badge--exceptionnel {
  background: var(--c-action);
  color: var(--c-on-action);
}
.planning__creneau--annule .planning__heures,
.planning__creneau--annule .planning__pratique a,
.planning__creneau--annule .planning__public,
.planning__creneau--annule .planning__lieu {
  text-decoration: line-through;
  opacity: 0.55;
}
.planning__note {
  display: block;
  font-size: var(--fs-sm);
  margin-top: 2px;
}
.planning__date {
  margin-left: var(--sp-2);
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--c-secondary);
  letter-spacing: 0;
}
.planning-nav__semaine {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  margin-left: var(--sp-3);
}
.planning-nav__periode {
  font-size: var(--fs-sm);
  color: var(--c-secondary);
}

/* Formulaires Contact Form 7 dans le gabarit .formulaire du wireframe. */
.formulaire .wpcf7-form p {
  margin: 0;
}
.formulaire .wpcf7-not-valid-tip {
  color: #b3261e;
  font-size: var(--fs-sm);
  margin-top: 4px;
}
.formulaire .wpcf7-response-output {
  border: 1px solid var(--c-line);
  padding: var(--sp-3) var(--sp-4);
  margin: var(--sp-4) 0 0;
  font-size: var(--fs-sm);
}
.formulaire .wpcf7-spinner {
  display: none;
}
