/* Base commune à tout le site : couleurs, polices, liens, boutons, icônes, message de confirmation. */

:root{--fond:#FAF7F2;--doux:#F1E6D3;--sapin:#2F4733;--noyer:#5B3A24;--brun:#8A5A2B;--accent:#7F5226;--or:#C89B62;--sable:#E8D3AE;--texte:#4A3B2E;--texte2:#6B5A4A;--nuit:#2A2119;--g:clamp(20px,3.4vw,48px)}

body{margin:0;background:#FAF7F2;color:#2A2119;font-family:'Jost',system-ui,sans-serif;font-size:16px;line-height:1.6}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid #8A5A2B;outline-offset:3px}
a.lnk:hover{color:#7F5226}
h1,h2,h3{text-wrap:balance}
p,li{text-wrap:pretty}
.surtitre{font-size:12.5px;letter-spacing:0.18em;text-transform:uppercase;color:#7F5226;font-weight:500}

/* Bandeau d'annonce */
.annonce{background:#2F4733;color:#E8D3AE;text-align:center;padding:10px 16px;font-size:12px;letter-spacing:0.1em;text-transform:uppercase}
.annonce span{white-space:nowrap} /* sur téléphone, le retour à la ligne se fait entre deux messages, pas au milieu */

.ic{width:20px;height:20px;flex:none;vertical-align:middle}
.ic.grand{width:28px;height:28px}
.surtitre.clair{color:var(--sable)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 30px;background:var(--brun);color:#fff;border-radius:2px;font-size:14px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;box-sizing:border-box;text-align:center}
.btn:hover{filter:brightness(.92)}
@media (max-width:600px){.btn{display:flex;width:100%}}

/* Grand bouton d'achat (fiche produit, panier) */
.cta{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:58px;border:0;border-radius:2px;background:var(--brun);color:#fff;font:inherit;font-size:15px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:filter .2s,transform .1s}
.cta:hover{filter:brightness(.92)}
.cta:active{transform:translateY(1px)}
.cta:focus-visible{outline:2px solid var(--nuit);outline-offset:3px}
.cta:disabled{background:#B9AC9C;cursor:not-allowed}
.cta.petit{width:auto;min-height:48px;padding:0 20px;font-size:13px;letter-spacing:.1em}

/* Sélecteur de quantité (fiche produit, panier) */
.qte{display:inline-flex;align-items:center;border:1px solid #D9C7A8;border-radius:2px;background:#fff}
.qte-b{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border:0;background:none;color:var(--noyer);cursor:pointer}
.qte-b .ic{width:18px;height:18px}
.qte-b:focus-visible{outline:2px solid var(--brun);outline-offset:-2px}
.qte-b:disabled{opacity:.35;cursor:default}
.qte output{min-width:36px;text-align:center;font-size:16px;font-weight:500}

/* Texte lu seulement par les lecteurs d'écran */
.vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Message de confirmation (panier) */
/* Message de confirmation */
.toast{position:fixed;left:50%;bottom:24px;z-index:30;display:flex;gap:12px;align-items:flex-start;width:min(420px,calc(100vw - 32px));box-sizing:border-box;padding:16px 18px;background:var(--nuit);color:#F6F0E6;border-radius:2px;box-shadow:0 14px 40px -12px rgba(0,0,0,.5);font-size:14.5px;line-height:1.45;transform:translate(-50%,160%);transition:transform .35s ease}
.toast.on{transform:translate(-50%,0)}
.toast .ic{color:var(--or)}
.toast small{color:#C9BEAA}
.toast-lien,.toast-bouton{display:inline-flex;align-items:center;min-height:44px;margin:2px 0 -10px;padding:0;border:0;background:none;font:inherit;color:var(--sable);text-decoration:underline;text-decoration-color:var(--or);text-underline-offset:4px;cursor:pointer}
.toast-lien:hover,.toast-bouton:hover{color:#fff}
@media (max-width:899px){.toast{bottom:84px}}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
