/* ==========================================================================
   CAVE NECTAR · Glue WordPress
   Tout ce qui adapte l'environnement WP au design FIGE de la maquette
   (assets/css/style.css, copie conforme, a ne pas modifier).
   Charge APRES style.css. Aucune regle ici ne redessine : on neutralise les
   wrappers techniques (CF7, admin bar) pour que les selecteurs de la maquette
   s'appliquent tels quels.
   ========================================================================== */

/* ---------- Admin bar : la topbar fixe passe dessous ---------- */
body.admin-bar .topbar{top:32px}
@media(max-width:782px){body.admin-bar .topbar{top:46px}}

/* ---------- Convention WP : texte lecteur d'ecran ---------- */
.screen-reader-text{
  position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap;
}

/* ==========================================================================
   CONTACT FORM 7 : mapping vers le markup maquette
   CF7 enveloppe chaque champ d'un span.wpcf7-form-control-wrap et le
   formulaire d'un div.wpcf7 : display:contents sort ces boites du flux de
   style, les enfants retombent pile sur les selecteurs de la maquette
   (.field > span, .news__row en flex, .event en grid, etc.).
   ========================================================================== */
.wpcf7 .wpcf7-form-control-wrap{display:contents}
.news__row .wpcf7,
.news__row form.wpcf7-form,
.news__row form[data-demo-form]{display:contents}
.event > .wpcf7{display:contents}

/* Bouton d'envoi CF7 : <input> et non <button>, on reprend le reset maquette */
.wpcf7 .wpcf7-submit{border:none;cursor:pointer;font-family:inherit;-webkit-appearance:none;appearance:none}

/* Message de validation par champ (constat + correction, sous le champ) */
.wpcf7-not-valid-tip{
  display:block;font-size:.78rem;font-weight:500;letter-spacing:0;text-transform:none;
  color:var(--c-sienne);margin-top:2px;
}
.contact__form .wpcf7-not-valid-tip{color:var(--c-humain)}

/* Reponse globale (envoi OK / erreur) : pleine largeur, sobre */
.wpcf7 form .wpcf7-response-output{
  margin:10px 0 0;padding:12px 18px;border-radius:12px;
  border:1px solid currentColor;font-size:.9rem;opacity:.9;
  grid-column:1/-1;flex-basis:100%;
}
.wpcf7 form.init .wpcf7-response-output{display:none}

/* Case de consentement (acceptance CF7) : rendu .check de la maquette */
.wpcf7-acceptance .wpcf7-list-item{display:block;margin:0}
.wpcf7-acceptance .wpcf7-list-item label{
  display:flex;gap:10px;align-items:flex-start;
  font-size:.85rem;opacity:.85;max-width:42ch;cursor:pointer;text-align:left;
}
.wpcf7-acceptance input{accent-color:var(--c-sienne);width:18px;height:18px;flex:none;margin-top:2px}
.wpcf7-acceptance a{text-decoration:underline;text-underline-offset:3px}

/* Newsletter : ordre visuel de la maquette (email, envoi, WhatsApp), puis le
   consentement centre sur sa propre ligne, puis la reponse d'envoi */
.news__row input[type="email"]{order:1}
.news__row .wpcf7-submit{order:2}
.news__row > .btn--bouteille{order:3}
.news__row .wpcf7-acceptance .wpcf7-list-item{order:4;flex:1 1 100%;display:flex;justify-content:center;margin-top:10px}
.news__row .wpcf7-acceptance .wpcf7-list-item label{max-width:52ch}
.news__row .wpcf7-response-output{order:5}
.news__row .wpcf7-spinner{position:absolute}

/* ---------- Avis masques : la colonne Insta seule, centree ---------- */
.social__inner--single{grid-template-columns:1fr;max-width:720px}

/* ---------- Grille Insta : posts cliquables ---------- */
.social__grid a{display:block;border-radius:var(--r-card);transition:transform .25s}
.social__grid a:hover{transform:scale(1.02)}

/* ==========================================================================
   PAGES LEGALES (mentions, politique de confidentialite) : article sobre,
   fond paper, mesure de lecture bornee. Rendu par page.php.
   ========================================================================== */
.legal{background:var(--c-paper);padding:22vh 24px 12vh}
.legal__inner{max-width:72ch;margin:0 auto}
.legal__inner h1{
  font-family:var(--f-display);font-weight:900;line-height:1.1;
  font-size:clamp(2rem,4.6vw,3.4rem);color:var(--c-sienne);margin-bottom:5vh;
}
.legal__inner h2{
  font-family:var(--f-display);font-weight:600;line-height:1.2;
  font-size:clamp(1.3rem,2.4vw,1.8rem);margin:4.5vh 0 1.6vh;
}
.legal__inner h3{font-weight:700;font-size:1.05rem;margin:3vh 0 1vh}
.legal__inner p,.legal__inner li{opacity:.88;margin-bottom:1em;font-size:1rem}
.legal__inner ul,.legal__inner ol{padding-left:1.2em;margin-bottom:1.4em}
.legal__inner a{text-decoration:underline;text-underline-offset:3px;color:var(--c-bouteille)}
.legal__back{display:inline-block;margin-bottom:4vh;font-size:.85rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--c-bouteille)}
.legal__back:hover{color:var(--c-sienne)}
