/* SN GROUP — ENVOI 77 (David, 31.10.2026) : bandeau cookies discret, messages sous les champs, confirmation visible, contact en cas d'erreur.
   Boutons sur une ligne, 44 px de haut au moins, texte d'au moins 14 px ; champs en 16 px sur téléphone (pas de zoom automatique sur iPhone). */

/* ── Bandeau : petit, en bas, jamais modal ; au-dessous du menu mobile (z 55), des fenêtres et de la photo agrandie ──────────────── */
.sn-bandeau{position:fixed;z-index:50;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px));box-sizing:border-box;max-width:620px;margin:0 auto;
  display:flex;align-items:center;gap:12px;padding:8px 8px 8px 14px;background:#19130B;color:#F5F0E8;border:1px solid rgba(196,168,124,.45);border-radius:12px;
  box-shadow:0 4px 18px rgba(0,0,0,.28);font-family:var(--font-heading,system-ui,sans-serif)}
.sn-bandeau{transition:transform .18s ease,visibility .18s}
.sn-bandeau-cache{transform:translateY(calc(100% + 24px + env(safe-area-inset-bottom,0px)));visibility:hidden}
@media (prefers-reduced-motion:reduce){.sn-bandeau{transition:none}}
.sn-bandeau-texte{margin:0;flex:1 1 auto;min-width:0;font-size:14px;line-height:1.35}
.sn-bandeau-texte a{display:inline;color:#E2CFA9;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.sn-bandeau-texte a:hover{color:#fff}
.sn-bandeau-ok{flex:0 0 auto;min-width:56px;min-height:44px;padding:0 16px;border:0;border-radius:8px;background:#E2CFA9;color:#19130B;font:inherit;font-size:15px;font-weight:600;cursor:pointer;white-space:nowrap}
.sn-bandeau-ok:hover{background:#F5F0E8}
.sn-bandeau a:focus-visible,.sn-bandeau-ok:focus-visible{outline:2px solid #fff;outline-offset:2px}
/* La page garde une marge en bas : rien ne reste dessous, même tout en bas de page. */
html.sn-bandeau-ouvert body>footer{padding-bottom:calc(var(--sn-bandeau-h,0px) + 16px + env(safe-area-inset-bottom,0px))}
html.sn-bandeau-ouvert .sn2-hero-bas{padding-bottom:calc(2.75rem + var(--sn-bandeau-h,0px) + 8px + env(safe-area-inset-bottom,0px))}
html.sn-bandeau-ouvert .sn2-toast{bottom:calc(1.25rem + var(--sn-bandeau-h,0px) + 8px + env(safe-area-inset-bottom,0px))}

/* ── Message sous le champ ─────────────────────────────────────────────────────────────────────────────────────────── */
.sn-f-erreur{margin:6px 0 0;padding:6px 10px;background:#fff4f2;color:#8a1c12;border-left:3px solid #b3261e;border-radius:4px;font-size:14px;line-height:1.35;font-weight:500;text-align:left;
  letter-spacing:normal;text-transform:none;font-family:var(--font-heading,system-ui,sans-serif)}
.sn-f-champ{min-width:0}
input.sn-f-invalide,select.sn-f-invalide,textarea.sn-f-invalide{border-color:#b3261e!important;outline:2px solid #b3261e!important;outline-offset:1px}
.sn-f-bloc-invalide{outline:2px solid #b3261e;outline-offset:4px;border-radius:4px}
.sn-f-attente{margin:0;padding:8px 12px;background:#f7f1e4;color:#4a3a1e;border-left:3px solid #8a6d3b;border-radius:4px;font-size:14px;line-height:1.35;font-family:var(--font-heading,system-ui,sans-serif);letter-spacing:normal;text-transform:none}

/* ── En cas d'erreur : le téléphone et l'e-mail ──────────────────────────────────────────────────────────────────────── */
.sn-f-contact{display:block;margin-top:6px;font-weight:500}
.sn-f-contact a,main .sn-f-contact a[href]{color:inherit;text-decoration:underline;text-underline-offset:2px;display:flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
.sn-f-sep{display:none}

/* ── Confirmation bien visible ───────────────────────────────────────────────────────────────────────────────────────── */
.sn-f-merci,.sn-f-merci.text-center{box-sizing:border-box;background:#eff7f0!important;color:#17402a!important;border:2px solid #2f7d4f;border-radius:10px;padding:22px 18px!important;text-align:center}
.sn-f-merci p{color:#17402a!important}
.sn-f-merci .sn-br-sec,.sn-f-merci button[data-sn-db-fermer]{background:#17402a!important;color:#fff!important;border-color:#17402a!important}
.sn-f-merci .sn-f-confirme{margin:0 0 8px;font-size:18px;line-height:1.35;font-weight:700;font-family:var(--font-heading,system-ui,sans-serif)}

/* ── Boutons d'envoi et de contact : une ligne, 44 px au moins, 14 px au moins ───────────────────────────────────────────── */
[data-sn-form] button[type=submit],[data-sn2-alerte] button[type=submit],[data-sn-db-form] button[type=submit],[data-sn-br-form] button[type=submit],[data-sn-similaire-form] button[type=submit],
.sng-btn,.sn-db-envoyer,.sn-br-envoyer{min-height:48px;font-size:14px;white-space:nowrap}
[data-sn-form] button[type=submit]{letter-spacing:.14em}
.sn-db-onglet{min-height:44px;font-size:15px;white-space:nowrap}
.sn2-pastille span,.sn2-pilule span{min-height:44px;display:inline-flex;align-items:center}
.sn2-accord input,.sn-br-accord input,[data-sn-form] input[type=checkbox]{width:22px;height:22px;flex:0 0 auto}
[data-sn-form] input[type=radio]{width:20px;height:20px}
[data-sn-form] label.flex{min-height:44px;align-items:center}
[data-sn-form] label.flex.items-start{align-items:flex-start}

/* ── Téléphone : 16 px dans tous les champs (pas de zoom automatique sur iPhone), champs confortables ───────────────────────── */
@media (max-width:767.98px){
  form[data-sn-form] input:not([type=checkbox]):not([type=radio]),form[data-sn-form] select,form[data-sn-form] textarea,
  form[data-sn2-alerte] input:not([type=checkbox]):not([type=radio]),form[data-sn2-alerte] select,form[data-sn2-alerte] textarea,
  form[data-sn-db-form] input:not([type=checkbox]):not([type=radio]),form[data-sn-db-form] select,form[data-sn-db-form] textarea,
  form[data-sn-br-form] input:not([type=checkbox]):not([type=radio]),form[data-sn-br-form] select,form[data-sn-br-form] textarea,
  form[data-sn-similaire-form] input:not([type=checkbox]):not([type=radio]),form[data-sn-similaire-form] select,form[data-sn-similaire-form] textarea,
  form[data-vr-form] input:not([type=checkbox]):not([type=radio]),form[data-vr-form] select,form[data-vr-form] textarea,
  form[data-form-lot] input:not([type=checkbox]):not([type=radio]),form[data-form-lot] select,form[data-form-lot] textarea{font-size:16px!important;min-height:48px;box-sizing:border-box}
  .sn-db-creneau input[type=date]{min-width:0;max-width:100%}
  main a[href^="tel:"],main a[href^="mailto:"]{display:inline-flex;align-items:center;min-height:44px}
}

/* Liens du bas de page, dont le nouveau lien Cookies : lisibles sur le fond sombre (avant : 25 % de blanc). Le point secret reste discret. */
footer .text-white\/25 a:not([aria-hidden]){color:rgba(255,255,255,.72)}
footer .text-white\/25 a:not([aria-hidden]):hover{color:#C4A87C}
