/* E&H click & collect — direction Altitude (tokens repris de shop-test/src/2-altitude) */
@font-face{font-family:'Jost';src:url(fonts/Jost-Regular.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Jost';src:url(fonts/Jost-Medium.ttf) format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:'Jost';src:url(fonts/Jost-SemiBold.ttf) format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:'Jost';src:url(fonts/Jost-Bold.ttf) format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'Manrope';src:url(fonts/Manrope-Regular.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Manrope';src:url(fonts/Manrope-Bold.ttf) format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'Manrope';src:url(fonts/Manrope-ExtraBold.ttf) format('truetype');font-weight:800;font-display:swap}

:root{
  --vert:#344532; --vert-fonce:#26331F; --vert-2:#4A5C46;
  --beige:#F3EBDD; --beige-2:#E8DDCA; --beige-3:#DCCFB8; --texte-2:#56604F; --clair:#E3DCCD;
  --alerte:#8A3B22;
  --jost:'Jost','Futura',sans-serif; --manrope:'Manrope','Helvetica Neue',sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --marge:clamp(20px,4vw,56px);
  --haut-barre:64px;
}
*{box-sizing:border-box;margin:0}
html{background:var(--beige);color:var(--vert);scrollbar-color:var(--vert) var(--beige-2)}
body{font:400 16px/1.55 var(--manrope);overflow-x:hidden;min-height:100dvh}
::selection{background:var(--vert);color:var(--beige)}
input,button,select{font:inherit;color:inherit;caret-color:var(--vert)}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
button{background:none;border:0;cursor:pointer;padding:0}
a{color:inherit}
img{display:block}
.prix,.num{font-variant-numeric:tabular-nums}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mention{font:800 12px/1.3 var(--manrope);letter-spacing:.14em;text-transform:uppercase}
.aide{font-size:14px;color:var(--texte-2)}
[hidden]{display:none!important}

/* Bandeau heure limite (Couvreur) */
.limite{background:var(--vert-fonce);color:var(--beige);text-align:center;padding:9px var(--marge);font:500 14px/1.35 var(--jost);letter-spacing:.02em}
.limite strong{font-weight:700}

/* Barre */
.barre{position:sticky;top:0;z-index:20;height:var(--haut-barre);background:var(--vert);color:var(--beige);display:flex;align-items:center;gap:28px;padding:0 var(--marge)}
.marque img{height:36px;width:auto}
.nav{display:flex;gap:24px}
.nav a{font:500 15px/1 var(--jost);letter-spacing:.02em;text-decoration:none;color:var(--clair);padding:6px 0;border-bottom:1px solid transparent;transition:color .2s var(--ease),border-color .2s var(--ease)}
.nav a:hover,.nav a[aria-current="page"]{color:var(--beige);border-color:var(--beige)}
.resume-retrait{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-decoration:none;font:600 15px/1.1 var(--jost)}
.resume-retrait .mention{font-size:11px;color:var(--clair)}
.resume-retrait:hover #resume-txt{text-decoration:underline;text-underline-offset:3px}
.btn-panier{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid rgba(243,235,221,.45);border-radius:2px;font:600 14px/1 var(--jost);letter-spacing:.03em;text-decoration:none;transition:background .25s var(--ease),border-color .25s var(--ease)}
.btn-panier:hover{background:rgba(243,235,221,.1);border-color:var(--beige)}
.btn-panier svg{width:18px;height:18px}
.btn-panier .num{min-width:1ch}
.btn-panier .prix{padding-left:10px;border-left:1px solid rgba(243,235,221,.35)}
.btn-panier.secoue{animation:secoue .45s var(--ease)}
@keyframes secoue{30%{transform:scale(1.06)}60%{transform:scale(.98)}}

/* Boutons */
.btn-plein{display:inline-flex;justify-content:center;align-items:center;gap:12px;background:var(--vert);color:var(--beige);padding:15px 22px;border-radius:2px;font:600 15px/1 var(--jost);letter-spacing:.03em;text-decoration:none;transition:background .2s var(--ease),gap .3s var(--ease)}
.btn-plein svg{width:16px;height:16px}
.btn-plein:hover{background:var(--vert-fonce)}
.btn-plein:hover svg{transform:translateX(3px);transition:transform .3s var(--ease)}
.btn-plein[aria-disabled="true"],.btn-plein:disabled{background:var(--beige-3);color:var(--texte-2);cursor:not-allowed;pointer-events:none}
.btn-plein.large{width:100%}
.btn-trait{display:inline-flex;align-items:center;padding:13px 20px;border:1px solid var(--vert);border-radius:2px;font:600 15px/1 var(--jost);text-decoration:none;transition:background .2s var(--ease),color .2s var(--ease)}
.btn-trait:hover{background:var(--vert);color:var(--beige)}

/* Écrans */
.ecran{animation:entre .45s var(--ease) both}
@keyframes entre{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ecran-etroit{max-width:640px;margin:0 auto;padding:40px var(--marge) 120px}
.ecran-etroit h1{font:700 clamp(34px,5vw,48px)/1.05 var(--jost);letter-spacing:-.015em;margin:8px 0 24px}
.fil a{font:500 15px/1 var(--jost);text-decoration:none;color:var(--texte-2)}
.fil a:hover{color:var(--vert);text-decoration:underline;text-underline-offset:3px}

/* 1 · Retrait */
.tete-verte{background:var(--vert);color:var(--beige);position:relative;overflow:hidden}
.tete-in{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:center;gap:40px;padding:40px var(--marge) 140px;position:relative;z-index:2}
.etape{color:var(--clair);margin-bottom:18px}
.tete-verte h1{font:700 clamp(44px,5vw,74px)/.98 var(--jost);letter-spacing:-.02em}
.tete-verte h1 span{display:block}
.tete-verte h1 .fin,.fetes-tete h1 .fin{font-weight:400}
.chapo{margin-top:22px;max-width:44ch;font-size:18px;color:var(--clair)}
.sceau-tete{width:min(300px,24vw);height:auto;justify-self:center;opacity:.95;animation:sceau 1.1s var(--ease) .1s both}
@keyframes sceau{from{opacity:0;transform:rotate(-14deg) scale(.94)}to{opacity:.95;transform:none}}
.tete-in h1 span,.tete-in .chapo{animation:leve .7s var(--ease) both}
.tete-in h1 span:nth-child(2){animation-delay:.08s}.tete-in .chapo{animation-delay:.18s}
@keyframes leve{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.crete{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:clamp(90px,14vw,200px);z-index:1;pointer-events:none}
.crete .trait{fill:none;stroke:var(--beige);stroke-width:2;vector-effect:non-scaling-stroke}
.crete .sol{fill:var(--beige)}

.retrait-corps{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:64px;padding:16px var(--marge) 96px;align-items:start}
.q{font:600 clamp(24px,2.6vw,32px)/1.15 var(--jost);letter-spacing:-.01em;display:flex;align-items:baseline;gap:14px;margin:0 0 18px}
.q .no{font:700 13px/1 var(--manrope);width:28px;height:28px;border:1.5px solid var(--vert);border-radius:50%;display:inline-grid;place-items:center;flex:none;transform:translateY(-3px)}
.choix .q + .jours + .q{margin-top:40px}
.jours{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 6px;margin:0 -2px}
.jour{flex:none;width:84px;padding:12px 0 13px;border:1px solid var(--beige-3);border-radius:2px;display:flex;flex-direction:column;align-items:center;gap:4px;transition:border-color .2s var(--ease),background .2s var(--ease),color .2s var(--ease)}
.jour .js{font:800 11px/1 var(--manrope);letter-spacing:.12em;text-transform:uppercase;color:var(--texte-2)}
.jour .jn{font:600 30px/1 var(--jost)}
.jour .jm{font:500 13px/1 var(--jost);color:var(--texte-2)}
.jour:hover{border-color:var(--vert)}
.jour[aria-selected="true"]{background:var(--vert);border-color:var(--vert);color:var(--beige)}
.jour[aria-selected="true"] .js,.jour[aria-selected="true"] .jm{color:var(--clair)}
.jour:disabled{opacity:1;cursor:not-allowed;color:#8E8A7E;border-style:dashed}
.jour:disabled .js,.jour:disabled .jm{color:#8E8A7E}
.jour .jx{font:600 11px/1 var(--jost);color:var(--texte-2)}
.periode{margin-bottom:18px}
.periode .mention{color:var(--texte-2);margin-bottom:10px;display:block}
.creneaux{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}
.creneau{padding:12px 6px;border:1px solid var(--beige-3);border-radius:2px;font:500 15px/1 var(--jost);text-align:center;transition:border-color .2s var(--ease),background .2s var(--ease),color .2s var(--ease)}
.creneau:hover{border-color:var(--vert)}
.creneau[aria-pressed="true"]{background:var(--vert);border-color:var(--vert);color:var(--beige)}
.creneau:disabled{cursor:not-allowed;color:#77736A;text-decoration:line-through;text-decoration-thickness:1px;border-style:dashed}
.suite{margin-top:36px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.suite .aide{max-width:34ch}

.boutique{border-top:2px solid var(--vert);padding-top:20px;display:flex;flex-direction:column;gap:4px;position:sticky;top:calc(var(--haut-barre) + 24px)}
.boutique .mention{color:var(--texte-2);margin-bottom:8px}
.b-nom{font:600 22px/1.2 var(--jost)}
.b-hor{margin-top:8px;font-weight:700}
.regles{margin:22px 0 0;border-top:1px solid var(--beige-3)}
.regles div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--beige-3);font-size:14px}
.regles dt{color:var(--texte-2)}
.regles dd{margin:0;font-weight:700;text-align:right}
.paye{margin-top:16px;font-size:14px}

/* 2 · Catalogue */
.cat-tete{padding:40px var(--marge) 8px;display:flex;align-items:baseline;gap:24px;flex-wrap:wrap}
.cat-tete h1{font:700 clamp(36px,4.6vw,60px)/1 var(--jost);letter-spacing:-.02em}
.cat-tete p{color:var(--texte-2)}
.rayons{position:sticky;top:var(--haut-barre);z-index:10;background:color-mix(in srgb,var(--beige) 95%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--beige-3)}
.rayons ul{list-style:none;display:flex;gap:26px;padding:0 var(--marge);overflow-x:auto;scrollbar-width:none}
.rayons a{display:block;padding:16px 0 13px;font:500 15px/1 var(--jost);letter-spacing:.02em;color:var(--texte-2);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap;transition:color .2s var(--ease),border-color .2s var(--ease)}
.rayons a:hover{color:var(--vert)}
.rayons a[aria-current="true"]{color:var(--vert);border-color:var(--vert)}
.cat-corps{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;padding:0 var(--marge) 96px;align-items:start}
.rayon{padding-top:44px;scroll-margin-top:calc(var(--haut-barre) + 52px)}
.rayon h2{font:600 clamp(26px,2.6vw,34px)/1.1 var(--jost);letter-spacing:-.01em;margin-bottom:6px}
.rayon .r-note{color:var(--texte-2);font-size:14px;margin-bottom:22px}
.grille{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 20px;list-style:none;padding:0}
.piece{display:flex;flex-direction:column;gap:10px;position:relative}
.vignette{aspect-ratio:5/4;background:var(--beige-2);display:grid;place-items:center;position:relative;overflow:hidden;border-radius:2px;width:100%;transition:box-shadow .4s var(--ease)}
.vignette .ph{font:500 21px/1.15 var(--jost);color:var(--texte-2);text-align:center;padding:0 16px;transition:transform .5s var(--ease)}
.vignette .etiq{position:absolute;left:12px;bottom:10px;font:700 11px/1 var(--manrope);letter-spacing:.12em;text-transform:uppercase;color:var(--texte-2)}
.vignette .relief{position:absolute;inset:auto 0 0 0;width:100%;height:34%;color:var(--beige-3)}
@media (hover:hover){.piece:hover .vignette{box-shadow:0 18px 36px -22px rgba(38,51,31,.45)}}
.piece h3{font:600 18px/1.25 var(--jost)}
.piece h3 button{text-align:left}
.piece h3 button::after{content:"";position:absolute;inset:0}
.piece h3 button:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.piece .desc{font-size:14px;color:var(--texte-2);margin-top:-6px}
.piece .bas{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto}
.piece .prix{font:600 17px/1 var(--jost)}
.piece .prix small{font:500 12px/1 var(--manrope);color:var(--texte-2);display:block;margin-bottom:4px;letter-spacing:.02em}
.ajout{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--vert);border-radius:2px;font:600 13px/1 var(--jost);letter-spacing:.03em;white-space:nowrap;transition:background .2s var(--ease),color .2s var(--ease)}
.ajout:hover{background:var(--vert);color:var(--beige)}
.ajout svg{width:13px;height:13px}
.ajout[data-qte]::after{content:attr(data-qte);min-width:20px;height:20px;padding:0 5px;margin:-4px -4px -4px 0;border-radius:10px;background:var(--vert);color:var(--beige);display:inline-grid;place-items:center;font:700 11px/1 var(--manrope);font-variant-numeric:tabular-nums}
.ajout[data-qte]:hover::after{background:var(--beige);color:var(--vert)}
.fiche-note:empty{display:none}
.piece.ko .vignette{background:repeating-linear-gradient(135deg,var(--beige-2) 0 10px,#E1D6C2 10px 11px)}
.piece.ko h3,.piece.ko .prix{color:#6E6A60}
.piece.ko .ajout{border-style:dashed;color:#6E6A60;border-color:#8E8A7E;cursor:not-allowed}
.piece.ko .ajout:hover{background:none;color:#6E6A60}
.raison{font:600 13px/1.35 var(--jost);color:var(--alerte)}

.cote{position:sticky;top:calc(var(--haut-barre) + 76px);margin-top:44px;border:1px solid var(--beige-3);border-top:3px solid var(--vert);padding:22px 22px 20px;background:#F7F1E6}
.cote h2{font:700 22px/1.1 var(--jost);margin-bottom:14px}
.cote .cr{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding-bottom:14px;border-bottom:1px solid var(--beige-3)}
.cote .cr strong{font:600 17px/1.25 var(--jost)}
.cote .cr a{font-size:13px;color:var(--texte-2)}
.cote ul{list-style:none;padding:8px 0;max-height:40vh;overflow:auto}
.cote li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:14px}
.cote li span:first-child{min-width:0}
.cote .vide-cote{color:var(--texte-2);font-size:14px;padding:12px 0}
.cote .tt{display:flex;justify-content:space-between;align-items:baseline;border-top:2px solid var(--vert);padding:14px 0;font:700 20px/1 var(--jost)}

/* 3 · Fiche */
dialog{border:0;padding:0;background:var(--beige);color:var(--vert);max-height:100dvh}
dialog::backdrop{background:rgba(38,51,31,.55)}
.fiche{width:min(880px,calc(100vw - 32px));margin:auto;border-radius:2px}
.fiche[open]{animation:entre .35s var(--ease)}
.fiche-in{display:grid;grid-template-columns:1fr 1fr}
.fiche .vignette{aspect-ratio:auto;min-height:460px;border-radius:0}
.fiche-txt{padding:40px 36px 32px;display:flex;flex-direction:column;gap:16px}
.fiche h2{font:700 36px/1.05 var(--jost);letter-spacing:-.01em;padding-right:32px}
.fiche .prix-gd{font:500 26px/1 var(--jost)}
.fiche-note{color:var(--texte-2)}
.fiche fieldset{border:0;padding:0}
.fiche legend{color:var(--texte-2);margin-bottom:10px}
.onglets{display:flex;flex-wrap:wrap;gap:6px}
.onglets button{padding:9px 13px;border:1px solid var(--beige-3);border-radius:2px;font:600 14px/1 var(--jost)}
.onglets button[aria-checked="true"]{background:var(--vert);color:var(--beige);border-color:var(--vert)}
.opt{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--beige-3);cursor:pointer;font:500 16px/1.2 var(--jost)}
.opt:first-child{border-top:1px solid var(--beige-3)}
.opt input{accent-color:var(--vert);width:18px;height:18px;margin:0 10px 0 0;flex:none}
.opt .on{display:flex;align-items:center}
.opt .prix{color:var(--texte-2)}
.ligne-qte{display:flex;gap:12px;align-items:stretch;margin-top:6px}
.ligne-qte .btn-plein{flex:1}
.qte{display:inline-flex;align-items:center;border:1px solid var(--vert);border-radius:2px}
.qte button{width:44px;height:46px;display:grid;place-items:center}
.qte button:hover{background:var(--beige-2)}
.qte button:disabled{opacity:.35;cursor:not-allowed}
.qte svg{width:14px;height:14px}
.qte output{min-width:30px;text-align:center;font-variant-numeric:tabular-nums;font-weight:700}
.fermer{position:absolute;top:12px;right:12px;width:44px;height:44px;display:grid;place-items:center}
.fermer svg{width:20px;height:20px}

/* Toast */
.toast{position:fixed;left:50%;bottom:28px;z-index:40;transform:translate(-50%,16px);opacity:0;pointer-events:none;background:var(--vert);color:var(--beige);padding:13px 18px;border-radius:2px;font:500 15px/1.2 var(--jost);box-shadow:0 16px 32px -16px rgba(38,51,31,.6);transition:opacity .25s var(--ease),transform .35s var(--ease);max-width:calc(100vw - 40px)}
.toast.vu{opacity:1;transform:translate(-50%,0)}

/* 4 · Panier */
.recap-retrait{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--vert);color:var(--beige);padding:16px 18px;border-radius:2px;margin-bottom:8px}
.recap-retrait .mention{color:var(--clair);font-size:11px;display:block;margin-bottom:4px}
.recap-retrait strong{font:600 18px/1.25 var(--jost)}
.recap-retrait a{font:600 14px/1 var(--jost);color:var(--beige);white-space:nowrap}
.lignes{list-style:none;padding:0}
.lignes li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:18px 0;border-bottom:1px solid var(--beige-3);align-items:center}
.lignes li.neuf{animation:leve .35s var(--ease)}
.lignes .n{font:600 17px/1.25 var(--jost)}
.lignes .pu{font-size:14px;color:var(--texte-2)}
.lignes .lt{font:700 17px/1 var(--jost)}
.lignes .qte button{width:36px;height:36px}
.lignes .bas-ligne{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}
.lignes .bas-ligne .suppr{font-size:13px;color:var(--texte-2);text-decoration:underline;text-underline-offset:3px}
.lignes .ko-ligne{grid-column:1/-1;font:600 13px/1.3 var(--jost);color:var(--alerte)}
.lignes.lecture li{padding:12px 0}
.total{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0;font:700 26px/1 var(--jost);border-top:2px solid var(--vert);margin:6px 0 18px}
.total span:first-child{font-size:18px}
.alerte{color:var(--alerte);font:600 15px/1.4 var(--jost);margin-bottom:14px}
.vide{padding:24px 0;color:var(--texte-2)}
#e-panier .aide{margin-top:12px}

/* 5 · Paiement */
.demo{display:inline-block;border:1px dashed var(--texte-2);padding:6px 10px;font-size:13px;color:var(--texte-2);margin-bottom:18px}
#form-paiement fieldset{border:0;padding:0;margin:28px 0 0;display:flex;flex-direction:column;gap:14px}
#form-paiement legend{color:var(--texte-2);margin-bottom:12px}
#form-paiement label{display:flex;flex-direction:column;gap:6px;font:500 15px/1.2 var(--jost)}
#form-paiement input{padding:13px 12px;border:1px solid var(--texte-2);border-radius:2px;background:#FBF7F0;font:400 16px/1.2 var(--manrope);width:100%}
#form-paiement input:focus{outline:2px solid var(--vert);outline-offset:1px;border-color:var(--vert)}
#form-paiement input[aria-invalid="true"]{border-color:var(--alerte)}
#form-paiement .deux{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#form-paiement .btn-plein{margin-top:26px}
.btn-plein.charge{pointer-events:none;background:var(--vert-2)}

/* 6 · Confirmation */
.billet{background:var(--vert);color:var(--beige);text-align:center;padding:56px var(--marge) 120px;position:relative;overflow:hidden}
.billet > *:not(.crete){position:relative;z-index:2}
.billet .tampon{width:150px;height:150px;margin:0 auto 18px;opacity:.95;animation:tampon .7s var(--ease) both}
@keyframes tampon{from{opacity:0;transform:scale(1.25) rotate(-10deg)}to{opacity:.95;transform:none}}
.billet .mention{color:var(--clair)}
.billet h1{margin:22px 0 8px;display:flex;flex-direction:column;align-items:center;gap:6px}
.numero{font:700 clamp(68px,12vw,128px)/1 var(--jost);letter-spacing:.02em}
.c-quand{font:600 clamp(22px,2.6vw,30px)/1.2 var(--jost);margin-top:10px}
.c-ou{color:var(--clair);margin-top:6px}
.c-comptoir{text-wrap:balance;margin:26px auto 0;max-width:36ch;font:500 18px/1.4 var(--jost);border-top:1px solid rgba(243,235,221,.35);padding-top:18px}
.crete-bas{height:clamp(60px,8vw,120px)}
.c-detail{padding-top:16px}
.c-detail h2{font:600 24px/1.2 var(--jost);margin-bottom:6px}
.c-detail .btn-trait{margin-top:24px}

/* 7 · Fêtes */
.fetes-tete{padding:56px var(--marge) 32px;border-bottom:1px solid var(--beige-3);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 64px;align-items:end}
.fetes-tete .mention{grid-column:1/-1;color:var(--texte-2)}
.fetes-tete h1{font:700 clamp(46px,6.4vw,92px)/.95 var(--jost);letter-spacing:-.02em}
.fetes-tete h1 span{display:block}
.fetes-tete .chapo{color:var(--texte-2);margin:0 0 8px}
.fetes-jours{padding:36px var(--marge) 8px}
.jour-fete{width:72px}
.buches{list-style:none;padding:24px var(--marge) 24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;counter-reset:b}
.buche{display:flex;flex-direction:column;gap:12px;border-top:2px solid var(--vert);padding-top:16px;counter-increment:b}
.buche .bn{font:500 13px/1 var(--jost);color:var(--texte-2)}
.buche .bn::before{content:"0" counter(b) " · "}
.buche h3{font:600 26px/1.1 var(--jost);letter-spacing:-.01em}
.buche .vignette{aspect-ratio:4/3}
.buche .tailles{display:flex;gap:6px;flex-wrap:wrap}
.buche .tailles button{padding:8px 11px;border:1px solid var(--beige-3);border-radius:2px;font:600 14px/1 var(--jost)}
.buche .tailles button[aria-checked="true"]{background:var(--vert);color:var(--beige);border-color:var(--vert)}
.buche .pav{font:600 15px/1.3 var(--jost);color:var(--texte-2)}
.buche .btn-plein{padding:13px 16px}
.fetes-carte{padding:40px var(--marge) 110px}
.fetes-carte h2{font:600 26px/1.1 var(--jost);margin-bottom:4px}
.fetes-carte .grille{margin-top:22px;grid-template-columns:repeat(4,minmax(0,1fr))}

/* Barre panier mobile */
.barre-mobile{display:none}

@media (max-width:1100px){
  .cat-corps{grid-template-columns:minmax(0,1fr)}
  .cote{display:none}
  .buches{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  :root{--haut-barre:56px}
  .limite{font-size:13px;padding:8px 16px}
  .barre{gap:12px}
  .marque img{height:24px}
  .nav{display:none}
  .resume-retrait{font-size:14px}
  .btn-panier{padding:9px 10px;gap:6px}
  .btn-panier .prix{display:none}
  .tete-in{grid-template-columns:minmax(0,1fr);padding:32px 20px 96px}
  .sceau-tete{position:absolute;right:-70px;top:-30px;width:220px;opacity:.14!important;animation:none}
  .tete-verte h1{font-size:44px}
  .chapo{font-size:16px}
  .crete{height:80px}
  .retrait-corps{grid-template-columns:minmax(0,1fr);gap:44px;padding:8px 20px 120px}
  .boutique{position:static}
  .jour{width:72px}
  .jour .jn{font-size:26px}
  .creneaux{grid-template-columns:repeat(3,minmax(0,1fr))}
  .suite .btn-plein{width:100%}
  .cat-tete{padding:28px 20px 4px}
  .rayons ul{gap:20px;padding:0 20px}
  .cat-corps{padding:0 20px 120px}
  .grille,.fetes-carte .grille{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}
  .piece h3{font-size:16px}
  .piece .bas{flex-direction:column;align-items:flex-start;gap:10px}
  .ajout{width:100%;justify-content:center;padding:11px 10px}
  .vignette .ph{font-size:17px}
  .fiche{width:100vw;max-width:100vw;margin:auto 0 0;max-height:92dvh;overflow:auto}
  .fiche-in{grid-template-columns:minmax(0,1fr)}
  .fiche .vignette{min-height:150px}
  .fiche-txt{padding:22px 20px 24px}
  .fiche h2{font-size:28px}
  .barre-mobile{position:fixed;z-index:30;left:12px;right:12px;bottom:12px;display:flex;justify-content:space-between;gap:12px;background:var(--vert);color:var(--beige);padding:15px 18px;border-radius:2px;text-decoration:none;font:600 15px/1 var(--jost);box-shadow:0 14px 30px -14px rgba(38,51,31,.7);animation:leve .35s var(--ease)}
  .toast{bottom:84px}
  .billet{padding:40px 20px 80px}
  .billet .tampon{width:110px;height:110px}
  .fetes-tete{grid-template-columns:minmax(0,1fr);padding:36px 20px 24px}
  .fetes-tete h1{font-size:46px}
  .fetes-jours{padding:28px 20px 4px}
  .buches{grid-template-columns:minmax(0,1fr);padding:20px 20px}
  .fetes-carte{padding:36px 20px 120px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}
