/* ==========================================================================
   Amicale des Pompiers d'Ogens — feuille unique
   Fond couleur raisinée, cuivre du chaudron, braise du feu, crème du parchemin.
   Le rouge et le vert n'appartiennent qu'au bouc des armoiries.
   ========================================================================== */
:root{
  --brun:#1B1410; --brun-2:#261B14; --brun-3:#34261C; --brun-4:#4A3628;
  --cuivre:#C9803F; --cuivre-clair:#E2A566; --cuivre-fonce:#8C4F22;
  --braise:#F2A33A; --flamme:#E8672A;
  --creme:#F6EAD7; --creme-2:#D9C7AC; --creme-3:#A89275;
  --parch-1:#F3E2B6; --parch-2:#D9B978; --encre:#1E1409;
  --rouge:#C2242F; --vert:#218A3E;
  --display:'Fraunces','Iowan Old Style','Georgia',serif;
  --texte:'Manrope','Avenir Next','Segoe UI',system-ui,sans-serif;
  --mesure:62ch; --largeur:1160px; --marge:clamp(18px,4vw,40px);
  --rythme:clamp(4.5rem,10vw,8rem);
  --rayon:14px; --transition:.35s cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--brun);color:var(--creme);font-family:var(--texte);font-size:1.0625rem;line-height:1.65;overflow-x:hidden;font-feature-settings:"ss01"}
img,svg,video,canvas{max-width:100%;height:auto;display:block}
a{color:var(--cuivre-clair);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--braise)}
:focus-visible{outline:3px solid var(--braise);outline-offset:3px;border-radius:4px}
::selection{background:var(--cuivre);color:var(--brun)}
h1,h2,h3,h4{font-family:var(--display);font-weight:500;line-height:1.05;margin:0 0 .5em;letter-spacing:-.015em;font-variation-settings:"opsz" 144,"SOFT" 40,"WONK" 1}
h1{font-size:clamp(2.6rem,7vw,5.4rem)}
h2{font-size:clamp(2rem,4.6vw,3.4rem)}
h3{font-size:clamp(1.35rem,2.4vw,1.8rem);line-height:1.15}
p{margin:0 0 1em;max-width:var(--mesure)}
.lede{font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.5;color:var(--creme-2)}
small,.petit{font-size:.9rem;color:var(--creme-3)}
.saut{position:absolute;left:-999px;top:0;background:var(--braise);color:var(--brun);padding:.6em 1em;z-index:100}
.saut:focus{left:12px;top:12px}
.wrap{max-width:var(--largeur);margin:0 auto;padding-left:var(--marge);padding-right:var(--marge)}
.section{padding:var(--rythme) 0}
.section--serree{padding:calc(var(--rythme)*.55) 0}
.section__tete{max-width:var(--mesure);margin-bottom:2.5rem}
.section__tete p{color:var(--creme-2)}
.grille{display:grid;gap:clamp(1.2rem,3vw,2.4rem)}
@media (min-width:760px){.grille--2{grid-template-columns:1fr 1fr}.grille--3{grid-template-columns:repeat(3,1fr)}.grille--12{grid-template-columns:repeat(12,1fr)}}

/* ---------- le bouc (masque PNG blanc) ---------- */
.bouc{display:inline-block;background:var(--creme);-webkit-mask:url(/assets/img/bouc.png) center/contain no-repeat;mask:url(/assets/img/bouc.png) center/contain no-repeat;aspect-ratio:1075/1400}
.bouc--nav{width:26px;transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.nav__marque:hover .bouc--nav{transform:rotate(-12deg) translateY(-2px)}

/* ---------- boutons ---------- */
.btn{display:inline-flex;align-items:center;gap:.6em;font:600 1rem/1 var(--texte);color:var(--brun);background:var(--cuivre);border:0;border-radius:999px;padding:.95em 1.5em;text-decoration:none;cursor:pointer;transition:background var(--transition),transform var(--transition),box-shadow var(--transition)}
.btn:hover{background:var(--braise);color:var(--brun);transform:translateY(-1px);box-shadow:0 8px 24px -8px rgba(242,163,58,.55)}
.btn:active{transform:translateY(0)}
.btn--ghost{background:transparent;color:var(--creme);box-shadow:inset 0 0 0 1.5px var(--brun-4)}
.btn--ghost:hover{background:var(--brun-2);color:var(--creme);box-shadow:inset 0 0 0 1.5px var(--cuivre)}
.btn--encre{background:var(--encre);color:var(--parch-1)}
.btn--encre:hover{background:#3a2914;color:var(--parch-1)}
.btn[disabled]{opacity:.55;cursor:default;transform:none;box-shadow:none}
.btn svg{width:1.1em;height:1.1em}

/* ---------- navigation ---------- */
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem var(--marge);background:rgba(27,20,16,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(246,234,215,.07)}
.nav__marque{display:flex;align-items:center;gap:.7rem;color:var(--creme);text-decoration:none;font-family:var(--display);font-size:1.15rem;font-variation-settings:"opsz" 30,"SOFT" 60;letter-spacing:-.01em}
.nav__nom span{color:var(--cuivre-clair)}
.nav__menu ul{list-style:none;margin:0;padding:0;display:flex;gap:.2rem;flex-wrap:wrap}
.nav__menu a{color:var(--creme-2);text-decoration:none;padding:.5em .75em;border-radius:999px;font-weight:600;font-size:.95rem;transition:background var(--transition),color var(--transition)}
.nav__menu a:hover{color:var(--creme);background:var(--brun-2)}
.nav__menu a[aria-current=page]{color:var(--brun);background:var(--cuivre)}
.nav__menu{display:flex;align-items:center;gap:.6rem}
.nav__panier{position:relative;color:var(--creme);text-decoration:none;font-weight:700;font-size:.95rem;padding:.5em .9em;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--brun-4)}
.nav__panier-n{position:absolute;top:-8px;right:-6px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--braise);color:var(--brun);font-size:.8rem;font-weight:800;display:grid;place-items:center;animation:pop .4s cubic-bezier(.34,1.56,.64,1)}
@keyframes pop{from{transform:scale(.4)}to{transform:scale(1)}}
.nav__burger{display:none;width:44px;height:44px;border:0;background:transparent;cursor:pointer;flex-direction:column;justify-content:center;gap:5px;padding:8px}
.nav__burger span{display:block;height:2px;background:var(--creme);border-radius:2px;transition:transform .3s,opacity .3s}
@media (max-width:1180px){
  .nav{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(27,20,16,.97)}
  .nav__burger{display:flex}
  .nav__menu{position:fixed;inset:0;top:0;padding:6rem var(--marge) 3rem;background:var(--brun);flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:1.5rem;transform:translateX(100%);visibility:hidden;transition:transform .4s cubic-bezier(.2,.8,.2,1),visibility 0s .4s;z-index:40;overflow:auto}
  .nav__menu.ouvert{transform:none;visibility:visible;transition-delay:0s}
  .nav__menu ul{flex-direction:column;gap:.4rem;width:100%}
  .nav__menu a{font-family:var(--display);font-size:1.9rem;font-weight:500;padding:.25em 0;border-radius:0;font-variation-settings:"opsz" 60,"SOFT" 60}
  .nav__menu a[aria-current=page]{background:none;color:var(--braise)}
  .nav__burger[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav__burger[aria-expanded=true] span:nth-child(2){opacity:0}
  .nav__burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .nav__burger{position:relative;z-index:45}
  .nav__menu::after{content:"";position:absolute;right:-8vw;bottom:-6vw;width:60vw;aspect-ratio:1075/1400;background:var(--brun-3);-webkit-mask:url(/assets/img/bouc.png) center/contain no-repeat;mask:url(/assets/img/bouc.png) center/contain no-repeat;opacity:.55;pointer-events:none}
}

/* ---------- héros ---------- */
.heros{position:relative;min-height:min(100svh,920px);display:grid;align-items:end;overflow:hidden;isolation:isolate}
.heros__photo{position:absolute;inset:0;z-index:-3}
.heros__photo img{width:100%;height:100%;object-fit:cover;object-position:center 62%;transform:scale(1.04);animation:derive 22s ease-in-out infinite alternate}
@keyframes derive{from{transform:scale(1.04) translateY(0)}to{transform:scale(1.1) translateY(-1.5%)}}
.heros__voile{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(27,20,16,.55) 0%,rgba(27,20,16,.15) 35%,rgba(27,20,16,.72) 72%,var(--brun) 100%)}
.heros__braises{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;mix-blend-mode:screen}
.heros__vapeur{position:absolute;left:0;right:0;bottom:22%;height:45%;z-index:-1;pointer-events:none;opacity:.7;filter:blur(18px)}
.heros__vapeur span{position:absolute;bottom:0;width:26vw;max-width:360px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(246,234,215,.55),rgba(246,234,215,0) 65%);animation:vapeur 9s ease-in-out infinite}
.heros__vapeur span:nth-child(1){left:18%;animation-delay:0s}
.heros__vapeur span:nth-child(2){left:38%;animation-delay:-3s;width:32vw}
.heros__vapeur span:nth-child(3){left:58%;animation-delay:-6s}
@keyframes vapeur{0%{transform:translateY(20%) scale(.7);opacity:0}25%{opacity:.9}100%{transform:translateY(-120%) scale(1.5);opacity:0}}
.heros__contenu{position:relative;padding:8rem var(--marge) clamp(3rem,7vw,5rem);max-width:var(--largeur);margin:0 auto;width:100%;display:grid;gap:2rem;align-items:end}
@media (min-width:900px){.heros__contenu{grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr)}}
.heros h1{margin:0 0 .35em;text-shadow:0 2px 30px rgba(0,0,0,.5);max-width:12ch}
.heros .lede{color:var(--creme);text-shadow:0 1px 16px rgba(0,0,0,.6);max-width:44ch}
.heros__cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}
.apparait{opacity:0;transform:translateY(18px);animation:apparait .9s cubic-bezier(.2,.7,.2,1) forwards}
.apparait:nth-child(2){animation-delay:.2s}.apparait:nth-child(3){animation-delay:.4s}
@keyframes apparait{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.apparait{animation:none;opacity:1;transform:none}.heros__photo img,.heros__vapeur span{animation:none}.heros__braises{display:none}}

/* ---------- ticket de tombola (prochain rendez-vous) ---------- */
.ticket{--trou:14px;position:relative;background:linear-gradient(160deg,var(--parch-1),var(--parch-2));color:var(--encre);border-radius:12px;padding:1.4rem 1.5rem 1.4rem 1.6rem;display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:center;box-shadow:0 30px 60px -30px rgba(0,0,0,.8);transform:rotate(-1.2deg);animation:glisse 1s .6s cubic-bezier(.2,.8,.2,1) both}
.ticket::before,.ticket::after{content:"";position:absolute;top:50%;width:var(--trou);height:var(--trou);border-radius:50%;background:var(--brun);transform:translateY(-50%)}
.ticket::before{left:calc(var(--trou)*-.5)}.ticket::after{right:calc(var(--trou)*-.5)}
.ticket__bord{position:absolute;inset:8px;border:1.5px dashed rgba(30,20,9,.35);border-radius:8px;pointer-events:none}
.ticket__n{font-family:var(--display);font-size:clamp(3.4rem,6vw,4.6rem);line-height:.9;font-weight:600;font-variation-settings:"opsz" 144,"SOFT" 30,"WONK" 1;text-align:center;padding-right:1.2rem;border-right:1.5px dashed rgba(30,20,9,.35)}
.ticket__n small{display:block;font-family:var(--texte);font-size:.78rem;font-weight:700;color:var(--encre);opacity:.7;margin-top:.35em;letter-spacing:.02em}
.ticket__titre{font-family:var(--display);font-size:1.35rem;line-height:1.1;margin:0 0 .3em;font-variation-settings:"opsz" 48,"SOFT" 50}
.ticket p{margin:0;font-size:.95rem;line-height:1.4}
.ticket__lien{display:inline-block;margin-top:.7em;font-weight:700;color:var(--encre);text-decoration-color:var(--cuivre-fonce)}
.ticket__lien:hover{color:var(--cuivre-fonce)}
@keyframes glisse{from{opacity:0;transform:rotate(-6deg) translateY(30px)}to{opacity:1;transform:rotate(-1.2deg)}}
@media (prefers-reduced-motion:reduce){.ticket{animation:none}}
.ticket--liste{transform:none;animation:none;grid-template-columns:auto 1fr;margin:0}
.ticket--sombre{background:linear-gradient(160deg,var(--brun-2),var(--brun-3));color:var(--creme);box-shadow:none}
.ticket--sombre .ticket__n,.ticket--sombre .ticket__bord{border-color:rgba(246,234,215,.25)}
.ticket--sombre .ticket__n small,.ticket--sombre .ticket__lien{color:var(--creme-2)}
.ticket--sombre .ticket__lien{text-decoration-color:var(--cuivre)}

/* ---------- chiffres ---------- */
.chiffres{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.chiffre{border-top:1.5px solid var(--brun-4);padding-top:1rem}
.chiffre b{display:block;font-family:var(--display);font-weight:500;font-size:clamp(2.6rem,5vw,4rem);line-height:1;color:var(--braise);font-variation-settings:"opsz" 144,"SOFT" 30}
.chiffre span{color:var(--creme-2)}

/* ---------- étiquette (parchemin) ---------- */
.etiquette{position:relative;background:linear-gradient(170deg,var(--parch-1) 0%,#EBD29B 55%,var(--parch-2) 100%);color:var(--encre);border-radius:6px;padding:clamp(1.4rem,3vw,2.2rem);box-shadow:0 30px 50px -30px rgba(0,0,0,.9),inset 0 0 0 1px rgba(30,20,9,.15)}
.etiquette::before{content:"";position:absolute;inset:9px;border:1.5px solid rgba(30,20,9,.28);border-radius:3px;pointer-events:none}
.etiquette::after{content:"";position:absolute;inset:13px;border:.5px solid rgba(30,20,9,.28);border-radius:2px;pointer-events:none}
.etiquette h3,.etiquette h2{color:var(--encre);font-variation-settings:"opsz" 96,"SOFT" 70,"WONK" 1}
.etiquette p{color:#3b2a16}
.etiquette a:not(.btn){color:#7A4319}
.etiquette .btn--encre{color:var(--parch-1)}
.etiquette .petit,.etiquette small,.ticket .petit,.ticket small{color:#5A4327}

/* ---------- photos et galerie ---------- */
.photo{border-radius:var(--rayon);overflow:hidden;background:var(--brun-2)}
.photo img{width:100%;height:100%;object-fit:cover}
.mosaique{columns:2;column-gap:.8rem}
@media (min-width:760px){.mosaique{columns:3}}
@media (min-width:1100px){.mosaique{columns:4}}
.mosaique figure{margin:0 0 .8rem;break-inside:avoid;border-radius:10px;overflow:hidden;background:var(--brun-2);position:relative}
.mosaique img{width:100%;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.mosaique a:hover img{transform:scale(1.04)}
.mosaique figcaption{position:absolute;left:0;right:0;bottom:0;padding:.6rem .8rem;font-size:.85rem;color:var(--creme);background:linear-gradient(0deg,rgba(27,20,16,.85),rgba(27,20,16,0));opacity:0;transition:opacity .3s}
.mosaique a:hover figcaption,.mosaique a:focus figcaption{opacity:1}
.visionneuse{position:fixed;inset:0;z-index:80;background:rgba(15,10,8,.94);display:none;align-items:center;justify-content:center;padding:3.5rem 1rem 4.5rem}
.visionneuse.ouverte{display:flex}
.visionneuse img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 40px 80px -30px #000}
.visionneuse__legende{position:absolute;left:0;right:0;bottom:1.1rem;text-align:center;color:var(--creme-2);font-size:.95rem;padding:0 4rem}
.visionneuse button{position:absolute;background:rgba(246,234,215,.1);color:var(--creme);border:0;width:48px;height:48px;border-radius:50%;cursor:pointer;display:grid;place-items:center;font-size:1.4rem}
.visionneuse button:hover{background:rgba(246,234,215,.22)}
.visionneuse__fermer{top:1rem;right:1rem}
.visionneuse__prec{left:.8rem;top:50%;transform:translateY(-50%)}
.visionneuse__suiv{right:.8rem;top:50%;transform:translateY(-50%)}

/* ---------- blocs récurrents ---------- */
.bande{background:var(--brun-2);border-top:1px solid rgba(246,234,215,.06);border-bottom:1px solid rgba(246,234,215,.06)}
.encadre{background:var(--brun-2);border:1px solid var(--brun-3);border-radius:var(--rayon);padding:clamp(1.2rem,3vw,2rem)}
.liste-simple{list-style:none;margin:0;padding:0}
.liste-simple li{padding:.8em 0;border-top:1px solid var(--brun-3)}
.liste-simple li:last-child{border-bottom:1px solid var(--brun-3)}
.etapes{list-style:none;margin:0;padding:0;counter-reset:etape;display:grid;gap:1.4rem}
@media (min-width:760px){.etapes{grid-template-columns:repeat(4,1fr)}}
.etapes li{counter-increment:etape;padding-top:1rem;border-top:1.5px solid var(--brun-4);position:relative}
.etapes li::before{content:counter(etape);font-family:var(--display);font-size:2.4rem;color:var(--cuivre);line-height:1;display:block;margin-bottom:.4rem;font-variation-settings:"opsz" 144,"SOFT" 30}
.etapes h3{font-size:1.25rem;margin-bottom:.3em}
.etapes p{font-size:.98rem;color:var(--creme-2)}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .8s var(--transition),transform .8s var(--transition)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ---------- formulaires ---------- */
.form{display:grid;gap:1rem}
@media (min-width:640px){.form--2{grid-template-columns:1fr 1fr}.form .large{grid-column:1/-1}}
.champ{display:grid;gap:.35rem;min-width:0}
.champ select{max-width:100%;text-overflow:ellipsis}
.champ label{font-weight:700;font-size:.92rem;color:var(--creme-2)}
.champ input,.champ select,.champ textarea{width:100%;min-height:44px;font:inherit;color:var(--creme);background:var(--brun-2);border:1.5px solid var(--brun-4);border-radius:10px;padding:.8em 1em;transition:border-color var(--transition),box-shadow var(--transition);appearance:none;-webkit-appearance:none}
.champ select{background-image:linear-gradient(45deg,transparent 50%,var(--creme-2) 50%),linear-gradient(135deg,var(--creme-2) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:2.6em}
.champ input:focus,.champ select:focus,.champ textarea:focus{outline:none;border-color:var(--cuivre);box-shadow:0 0 0 4px rgba(201,128,63,.22)}
.champ textarea{min-height:120px;resize:vertical}
.champ .aide{font-size:.85rem;color:var(--creme-3)}
.form__pied{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.form__etat{grid-column:1/-1;border-radius:10px;padding:1rem 1.2rem;display:none}
.form__etat.ok{display:block;background:rgba(33,138,62,.16);border:1px solid rgba(33,138,62,.5)}
.form__etat.erreur{display:block;background:rgba(194,36,47,.14);border:1px solid rgba(194,36,47,.5)}
.pot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.choix{display:flex;flex-wrap:wrap;gap:.5rem}
.choix label{display:inline-flex;align-items:center;gap:.5em;padding:.6em 1em;border-radius:999px;border:1.5px solid var(--brun-4);cursor:pointer;font-weight:600;font-size:.95rem}
.choix input{accent-color:var(--cuivre);width:1.1em;height:1.1em;margin:0}
.choix label:has(input:checked){border-color:var(--cuivre);background:rgba(201,128,63,.14)}

/* ---------- boutique ---------- */
.produit{display:grid;gap:1.5rem}
@media (min-width:760px){.produit{grid-template-columns:1fr 1.1fr;align-items:center}}
.produit__img{border-radius:10px;overflow:hidden;background:var(--brun-2);aspect-ratio:4/5}
.produit__img img{width:100%;height:100%;object-fit:cover}
.prix{font-family:var(--display);font-size:2.2rem;font-weight:500;line-height:1;font-variation-settings:"opsz" 96,"SOFT" 40}
.prix small{font-family:var(--texte);font-size:.9rem;font-weight:600;margin-left:.4em}
.qte{display:inline-flex;align-items:center;border:1.5px solid rgba(30,20,9,.35);border-radius:999px;overflow:hidden}
.qte button{width:44px;height:44px;border:0;background:transparent;color:inherit;font-size:1.3rem;cursor:pointer}
.qte button:hover{background:rgba(30,20,9,.08)}
.qte output{min-width:2.2em;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
.panier{position:sticky;top:5.2rem}
.panier table{width:100%;border-collapse:collapse;font-size:.97rem}
.panier td{padding:.55em 0;border-top:1px solid rgba(30,20,9,.15);vertical-align:top}
.panier td:last-child{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.panier tfoot td{font-weight:800;border-top:2px solid rgba(30,20,9,.4)}
.panier .vide{opacity:.7;font-style:italic}
.etiquette .champ label{color:#3b2a16}
.etiquette .champ input,.etiquette .champ select,.etiquette .champ textarea{background:rgba(255,250,240,.75);color:var(--encre);border-color:rgba(30,20,9,.3)}
.etiquette .champ input:focus,.etiquette .champ select:focus,.etiquette .champ textarea:focus{border-color:var(--cuivre-fonce);box-shadow:0 0 0 4px rgba(140,79,34,.18)}
.etiquette .choix label{border-color:rgba(30,20,9,.3);color:var(--encre)}
.etiquette .choix label:has(input:checked){border-color:var(--cuivre-fonce);background:rgba(140,79,34,.12)}
.etiquette .form__etat.ok{background:rgba(33,138,62,.14);color:var(--encre)}
.etiquette .form__etat.erreur{background:rgba(194,36,47,.12);color:var(--encre)}
.etiquette .champ .aide{color:#5A4327}

/* ---------- agenda ---------- */
.agenda{display:grid;gap:1rem}
.agenda .ticket{max-width:none}
.agenda__annee{font-family:var(--display);color:var(--cuivre-clair);font-size:1.4rem;margin:2rem 0 .6rem;font-variation-settings:"opsz" 48}
.pastille{display:inline-block;font-size:.78rem;font-weight:700;padding:.25em .7em;border-radius:999px;background:rgba(30,20,9,.12);color:var(--encre);margin-left:.5em;vertical-align:middle}
.ticket--sombre .pastille{background:rgba(246,234,215,.12);color:var(--creme-2)}

/* ---------- cuisson (curseur) ---------- */
.cuisson{display:grid;gap:1.5rem;align-items:center}
@media (min-width:760px){.cuisson{grid-template-columns:minmax(260px,380px) 1fr}}
.cuisson__chaudron{width:100%;max-width:380px;margin:0 auto}
.cuisson__lecture{font-family:var(--display);font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.1;font-variation-settings:"opsz" 96,"SOFT" 50;margin-bottom:.4em}
.cuisson input[type=range]{width:100%;accent-color:var(--cuivre);margin:1rem 0}
.cuisson__jauge{display:flex;justify-content:space-between;font-size:.85rem;color:var(--creme-3)}

/* ---------- pied ---------- */
.pied{position:relative;overflow:hidden;margin-top:var(--rythme);padding:var(--rythme) var(--marge) 2rem;background:linear-gradient(180deg,var(--brun),#140E0B);border-top:1px solid rgba(246,234,215,.07)}
.pied__bouc{position:absolute;right:-6%;bottom:-8%;width:min(46vw,520px);aspect-ratio:1075/1400;background:var(--brun-3);-webkit-mask:url(/assets/img/bouc.png) center/contain no-repeat;mask:url(/assets/img/bouc.png) center/contain no-repeat;opacity:.5;pointer-events:none}
.pied__grille{position:relative;max-width:var(--largeur);margin:0 auto;display:grid;gap:2rem}
@media (min-width:760px){.pied__grille{grid-template-columns:1.3fr 1fr 1fr}}
.pied p{font-size:.97rem;color:var(--creme-2)}
.pied__nom{font-family:var(--display);font-size:1.4rem;color:var(--creme);margin-bottom:.4em;font-variation-settings:"opsz" 48}
.pied__titre{font-weight:800;color:var(--creme);margin-bottom:.5em}
.pied__blason{width:64px;margin-bottom:.8rem;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5))}
.pied__bas{position:relative;max-width:var(--largeur);margin:3rem auto 0;font-size:.85rem;color:var(--creme-3);border-top:1px solid rgba(246,234,215,.08);padding-top:1.2rem}

/* ---------- accueil : rendez-vous en zigzag ---------- */
.rdv{align-items:center}
.rdv .photo{aspect-ratio:4/3}
.rdv figure{margin:0;height:100%}
.rdv figure a{display:block;height:100%}
.rdv figure img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.rdv figure a:hover img{transform:scale(1.03)}
.rdv figcaption{position:absolute;left:0;right:0;bottom:0;padding:.6rem .9rem;font-size:.85rem;background:linear-gradient(0deg,rgba(27,20,16,.85),transparent);opacity:0;transition:opacity .3s}
.rdv figure{position:relative}
.rdv figure a:hover figcaption{opacity:1}
.rdv__texte h3{margin-bottom:.4em}
.rdv__sortie{border-top:1.5px solid var(--brun-4);padding-top:1.6rem;margin-top:.5rem}
@media (max-width:759px){.rdv>*{grid-column:1/-1 !important}.rdv .photo{aspect-ratio:3/2}}
