/*
Theme Name: Château Colbert
Theme URI: https://www.chateau-colbert.fr/
Author: Château Colbert
Description: Thème sur mesure du Château Colbert (AOC Côtes de Bourg). Pages créées automatiquement à l’activation, bon de commande sans paiement envoyé au château (anti-spam multi-couches), référencement et performance intégrés. Réglages → Château Colbert pour les prix, horaires et mentions légales.
Version: 1.3.0
Requires at least: 6.3
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: chateau-colbert
*/

/* ---------- Jetons ---------- */
:root{
	--ink:#1F1416; --wine:#5C1A2B; --wine-d:#3E0F1C; --dark:#24100F; --dark-2:#321816;
	--paper:#F4EFE6; --card:#FBF8F2; --sand:#EBE3D4; --shelf:#EDE4D3; --rose-shelf:#F3E1DC;
	--line:#D6CAB3; --line-2:#E3D9C6; --field:#BFB29A; --muted:#5A4A44; --text:#3A2A2A; --kicker:#7A4A2E;
	--gold:#E8D9B8; --accent:#E8B98A;
	--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
	--sans:Manrope,"Helvetica Neue",Arial,sans-serif;
	--pad:clamp(20px,5.5vw,80px); --gap:24px; --section:clamp(72px,10vw,140px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.7 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video{max-width:100%;height:auto;display:block}
picture{display:contents}
picture>source{display:none}
a{color:var(--wine)}a:hover{color:var(--wine-d)}
h1,h2,h3{margin:0;font-weight:500}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0}
:focus-visible{outline:2px solid var(--wine);outline-offset:3px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:12px 18px;z-index:100}.skip:focus{left:12px;top:12px}

/* ---------- Mise en page ---------- */
.container{width:100%;max-width:1440px;margin:0 auto;padding-inline:var(--pad)}
.section{padding-block:var(--section)}
.section--tight-top{padding-top:0}
.small{font-size:14px;line-height:1.55}
.muted{color:var(--muted)}
.prose p{color:var(--text)}

/* ---------- Typographie ---------- */
.kicker{display:block;margin:0 0 16px;font-size:13px;font-weight:400;letter-spacing:.24em;text-transform:uppercase;color:var(--kicker)}
.kicker--light{color:var(--gold)}
.display{font-family:var(--serif);font-weight:500;font-size:clamp(46px,7.25vw,104px);line-height:.98;letter-spacing:-.01em;margin-bottom:28px}
.is-inner .display{font-size:clamp(44px,6.1vw,88px);letter-spacing:0}
.is-inner .display.display--sm{font-size:clamp(40px,5vw,72px)}
.display em{font-style:italic;color:var(--wine)}
.is-home .hero .display em{color:var(--accent)}
.h2{font-family:var(--serif);font-weight:500;font-size:clamp(36px,4.45vw,64px);line-height:1.02;margin-bottom:24px}
.h2--md{font-size:clamp(34px,3.9vw,56px)}
.h3{font-family:var(--serif);font-weight:500;font-size:clamp(30px,2.8vw,40px);line-height:1.1;margin-bottom:20px}
.h3--lg{font-size:clamp(32px,3.35vw,48px)}
.lead{font-size:clamp(17px,1.4vw,19px);line-height:1.7;color:var(--text);max-width:600px}
.quote{font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.2vw,30px);line-height:1.4;color:var(--ink)}
.prose p,.section-head__text,.split__main>p:not(.kicker):not(.lead):not(.actions):not(.quote),.pro p,.family__text p:not(.kicker){font-size:18px}
.prose p.quote{color:var(--ink);font-size:clamp(24px,2.2vw,30px)}
.stat{display:block;font-family:var(--serif);font-size:clamp(40px,4vw,56px);line-height:1;color:var(--wine)}
.stat--sm{font-size:clamp(26px,2.4vw,34px)}
.award{display:inline-block;margin:0 0 4px;padding:6px 10px;font-size:12px;font-weight:600;line-height:1.4;background:#EFE3CC;color:#5A3A1A}

/* ---------- Boutons & liens ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border:1px solid var(--wine);border-radius:2px;background:var(--wine);color:var(--paper);font:600 15px/1.2 var(--sans);text-decoration:none;cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:var(--wine-d);color:var(--paper)}
.btn--ghost{background:transparent;color:var(--wine)}
.btn--ghost:hover{background:var(--wine);color:var(--paper)}
.btn--light{background:var(--paper);border-color:var(--paper);color:var(--dark)}
.btn--light:hover{background:var(--gold);border-color:var(--gold);color:var(--dark)}
.btn--outline-light{background:transparent;border-color:rgba(244,239,230,.55);color:var(--paper)}
.btn--outline-light:hover{background:var(--paper);color:var(--dark)}
.btn--dark{background:var(--dark);border-color:var(--dark)}
.btn--block{width:100%;min-height:56px;font-size:16px}
.link{white-space:nowrap;font-weight:600;font-size:15px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
.link--light{color:var(--paper);font-weight:400;border-color:rgba(244,239,230,.4);padding:18px 8px 4px}.link--light:hover{color:var(--gold)}
.actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center}

/* ---------- En-tête ---------- */
.site-header{position:relative;z-index:40;background:var(--paper);border-bottom:1px solid var(--line)}
.is-home .site-header{background:var(--dark);border-color:rgba(244,239,230,.14);color:var(--paper)}
.site-header__bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:28px}
.is-home .site-header__bar{padding-block:32px}
.brand{font-family:var(--serif);font-size:28px;font-weight:600;letter-spacing:0;color:inherit;text-decoration:none}
.nav__list{display:flex;align-items:center;gap:40px;list-style:none}
.nav__list a{color:inherit;text-decoration:none;font-size:14px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;line-height:1.2}
.nav__list a[aria-current="page"]{color:var(--wine);border-bottom:1px solid currentColor;padding-bottom:4px}
.is-home .nav__list a[aria-current="page"]{color:var(--gold)}
.nav__list .btn--nav{min-height:0;padding:14px 24px;font-weight:600;color:var(--paper);letter-spacing:.12em;line-height:1.2}
.is-home .nav__list .btn--nav{background:var(--gold);border-color:var(--gold);color:var(--dark)}
.nav-toggle{display:none;width:46px;height:46px;align-items:center;justify-content:center;background:transparent;border:1px solid currentColor;border-radius:2px;color:inherit;cursor:pointer}

/* ---------- Accueil ---------- */
.hero{background:var(--dark);color:var(--paper)}
.hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding-block:clamp(40px,6vw,88px)}
.hero .lead{color:rgba(244,239,230,.82);max-width:520px}
.hero__media img{width:100%;height:clamp(360px,44vw,640px);object-fit:cover;object-position:center 30%}
.hero__awards{display:flex;flex-wrap:wrap;gap:12px 64px;padding-block:32px;border-top:1px solid rgba(244,239,230,.14);font-size:14px;color:rgba(244,239,230,.8)}
.hero__awards strong{color:var(--gold);font-weight:600}
.hero__awards .todo{margin:0}
#accords{scroll-margin-top:24px}

.split{display:grid;grid-template-columns:minmax(0,1fr) clamp(0px,5vw,96px) minmax(0,1fr);gap:0}
.split>:first-child{grid-column:1}.split>:last-child{grid-column:3}
.split--center{align-items:center}
.split__img{width:100%;height:clamp(320px,40vw,560px);object-fit:cover;margin-top:24px}
.split__img--tall{height:clamp(380px,46vw,640px);margin-top:0}
.split__main>.kicker:first-child{margin-top:0}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:32px 0;padding-top:36px;border-top:1px solid var(--line)}
.stats--2{grid-template-columns:repeat(2,1fr);border:0;padding-top:0;margin-top:16px}
.stats--2 .stat,.note-band .stat{font-size:clamp(36px,3.35vw,48px)}
.stats.stats--2 span:not(.stat),.note-band span:not(.stat){font-size:15px;color:#4A3A36}
.stats span:not(.stat){display:block;margin-top:8px;font-size:14px;line-height:1.5;color:var(--muted)}

.cepages{display:grid;grid-template-columns:3fr 3fr 5fr;gap:40px;align-items:center;background:var(--sand);padding-right:clamp(24px,4vw,64px)}
.cepages__img{width:100%;height:320px;object-fit:cover}
.bar{display:flex;height:16px;border-radius:2px;overflow:hidden}
.bar span:nth-child(1){background:var(--wine)}.bar span:nth-child(2){background:#A0643C}.bar span:nth-child(3){background:#D9B98A}
.legend{display:flex;flex-wrap:wrap;gap:12px 28px;list-style:none;margin-top:16px;font-size:15px}
.legend li{display:flex;align-items:center;gap:8px}
.legend i{width:12px;height:12px;display:block}
.legend li:nth-child(1) i{background:var(--wine)}.legend li:nth-child(2) i{background:#A0643C}.legend li:nth-child(3) i{background:#D9B98A}
.legend strong{font-weight:600}

.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:48px}
.section-head .h2{margin-bottom:0}
.section-head__text{max-width:520px;margin:0;color:var(--text)}

.vendanges{display:grid;grid-template-columns:1fr 2fr;gap:24px;margin-bottom:40px}
.vendanges__video{width:100%;height:100%;min-height:520px;object-fit:cover;background:var(--dark)}
.vendanges__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.vendanges__grid img,
/* ---------- Cartes vin ---------- */
.wine-grid{display:grid;gap:24px}
.wine-grid--4{grid-template-columns:repeat(4,1fr)}
.wine-grid--2{grid-template-columns:repeat(2,1fr)}
.wine-grid--2>div{display:flex}.wine-grid--2>div[hidden]{display:none}
.wine-card{display:flex;flex-direction:column;flex:1;background:var(--card);border:1px solid #DDD2BE}
.wine-card--dark{background:var(--dark);border-color:var(--dark);color:var(--paper)}
.wine-card--dark .kicker{color:var(--gold)}
.wine-card--dark .award{background:var(--gold);color:var(--dark)}
.wine-card--dark .wine-card__text{color:rgba(244,239,230,.85)}
.wine-card--dark a{color:var(--gold)}
.wine-card__shelf{display:flex;align-items:center;justify-content:center;height:300px;background:var(--shelf)}
.wine-card__shelf--rose{background:var(--rose-shelf)}
.bottle{width:auto;height:270px}
.wine-card__body{display:flex;flex-direction:column;gap:12px;flex:1;padding:28px}
.wine-card__body .kicker{margin:0;font-size:12px;letter-spacing:.16em;font-weight:400}
.wine-card__name{font-family:var(--serif);font-weight:600;font-size:30px;line-height:1.1}
.wine-card__name a{color:inherit;text-decoration:none}
.wine-card__text{margin:0;font-size:15px;line-height:1.6;color:#4A3A36}
.wine-card__foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-top:auto;padding-top:16px;border-top:1px solid rgba(120,100,80,.25)}
.wine-card__price{font-weight:600;font-size:18px}
.wine-card__price small{font-weight:500;font-size:13px;opacity:.8}
.wine-grid--2 .wine-card{flex-direction:row;min-height:420px}
.wine-grid--2 .wine-card__shelf{width:220px;height:auto;flex-shrink:0}
.wine-grid--2 .bottle{height:340px}
.wine-grid--2 .wine-card__body{padding:40px}
.wine-grid--2 .wine-card__name{font-size:40px}

.duo{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}
.duo__cell{padding:clamp(32px,5vw,72px)}
.duo__cell+.duo__cell{border-left:1px solid var(--line)}
.duo__cell--light{background:var(--card)}
.pairings{list-style:none;font-size:18px}
.pairings li{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line-2)}
.pairings li:last-child{border-bottom:0}
.pairings li span:last-child{color:var(--muted);font-size:14px}
.pairings--big li{padding:22px 0;border-bottom:1px solid var(--line);align-items:center}
.pairings--big li span:last-child{color:var(--wine)}
.pairings--big li span.stat{font-size:28px;color:var(--wine)}

.band{margin-top:var(--section)}
.band img{width:100%;height:clamp(320px,44vw,640px);object-fit:cover;object-position:center 70%}
.cta-band{background:var(--wine);color:var(--paper);padding-block:clamp(64px,8vw,120px)}
.cta-band .lead{color:rgba(244,239,230,.85)}
.cta-band__grid{display:grid;grid-template-columns:7fr 5fr;gap:48px;align-items:end}
.cta-band__actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:flex-end}

/* ---------- Pied de page ---------- */
.site-footer{background:var(--dark);color:rgba(244,239,230,.8);padding:64px 0 40px;font-size:15px;line-height:1.7}
.site-footer a{color:var(--paper)}
.site-footer__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:48px}
.brand--footer{font-size:32px;font-weight:400;color:var(--paper)}
.site-footer__label{margin-bottom:8px;color:var(--gold);font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.site-footer__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:24px;border-top:1px solid rgba(244,239,230,.14);font-size:13px}
.site-footer__bottom a{color:rgba(244,239,230,.8)}

/* ---------- Pages intérieures ---------- */
.page-hero{padding-top:96px;padding-bottom:56px}
.page-hero .lead{max-width:760px}
.is-inner .page-hero--order .display{font-size:clamp(44px,5.6vw,80px)}
.page-hero--row{display:flex;justify-content:space-between;align-items:flex-end;gap:48px}
.page-hero--row>div:first-child{max-width:760px}
.page-hero .display{margin-bottom:20px}
.filters{display:flex;gap:8px;flex-wrap:wrap}
button.pill{min-height:48px;padding:0 22px;border:1px solid var(--wine);border-radius:24px;background:transparent;color:var(--wine);font:600 14px var(--sans);cursor:pointer}
button.pill.is-on{background:var(--wine);color:var(--paper)}
.note-band{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;align-items:center;padding:clamp(32px,4vw,64px);background:var(--sand)}
.note-band .h3{margin:0}
.note-band span:not(.stat){display:block;margin-top:8px;font-size:15px;color:#4A3A36}

.dark-band{background:var(--dark);color:var(--paper);padding-block:clamp(72px,9vw,120px)}
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;list-style:none;margin-top:24px}
.timeline li{padding-top:28px;border-top:1px solid rgba(244,239,230,.3)}
.timeline .stat{color:var(--accent);margin-bottom:16px}
.timeline h3{font:600 20px/1.3 var(--sans);margin-bottom:12px}
.timeline p{color:rgba(244,239,230,.82);font-size:16px}
.bars{display:flex;flex-direction:column;gap:18px;margin-top:24px}
.bars__row{display:flex;justify-content:space-between;font-size:15px;margin-bottom:8px}
.bars__row strong{font-weight:600}
.bars__track{height:8px;background:var(--line-2)}
.bars__track span{display:block;height:8px;background:var(--wine)}
.triptych{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.family{display:grid;grid-template-columns:5fr 1fr 5fr 1fr;align-items:center;background:var(--sand)}
.family__img{width:100%;height:clamp(380px,44vw,620px);object-fit:cover}
.family__text{grid-column:3;padding-block:48px}
.cards-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.cards-2--single{grid-template-columns:minmax(0,760px)}
.panel{display:flex;flex-direction:column;gap:8px;padding:clamp(28px,4vw,48px);background:var(--card);border:1px solid #DDD2BE}
.panel--dark{background:var(--dark);border-color:var(--dark);color:var(--paper)}
.panel--dark p{color:rgba(244,239,230,.85)}
.sand-band{background:var(--sand);padding-block:clamp(72px,9vw,120px)}
.pro{display:flex;justify-content:space-between;align-items:center;gap:48px}
.pro .h3{margin-bottom:8px}.pro p{margin:0;color:var(--text)}
.pro .btn{flex-shrink:0}

/* Fiche vin */
.breadcrumb{padding-top:32px;font-size:14px;color:var(--muted)}
.breadcrumb span{margin:0 6px}
.wine{display:grid;grid-template-columns:6fr 1fr 5fr;gap:var(--gap);padding-top:32px;padding-bottom:var(--section)}
.wine__media{display:flex;align-items:center;justify-content:center;min-height:clamp(440px,56vw,820px);background:var(--shelf)}
.wine__media--rose{background:var(--rose-shelf)}
.wine__media img{height:min(640px,90%);width:auto}
.wine__info{grid-column:3;padding-top:16px}
.wine__info .award{margin-bottom:20px;font-size:13px;padding:8px 12px}
.wine__info .quote{font-size:26px}
.prices{margin:28px 0 12px;padding-top:24px;border-top:1px solid var(--line)}
.prices__title{font:600 16px var(--sans);margin-bottom:12px}
.prices__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.prices__grid--2{grid-template-columns:repeat(2,1fr)}
.price-box{position:relative;display:flex;flex-direction:column;gap:4px;padding:26px 16px 16px;border:1px solid var(--field);border-radius:2px;text-decoration:none;color:var(--ink);transition:border-color .2s,background .2s}
.price-box:hover{border-color:var(--wine);background:var(--card);color:var(--ink)}
.price-box--best{border:2px solid var(--wine);background:var(--card)}
.price-box__tag{position:absolute;top:8px;left:16px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--wine)}
.price-box__label{font-size:13px;color:var(--muted)}
.price-box__price{font-family:var(--serif);font-size:32px;font-weight:600;line-height:1.1}
.price-box__note{font-size:12px;line-height:1.4;color:var(--muted)}
.price-box__cta{margin-top:8px;font-size:13px;font-weight:600;color:var(--wine)}
.specs{margin:0}
.specs div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line-2);font-size:16px}
.specs div:last-child{border-bottom:0}
.specs dt{color:var(--muted)}.specs dd{margin:0;text-align:right}
.panel--dark .specs dt{color:rgba(244,239,230,.7)}
.chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin-top:20px}
.chips li{padding:10px 16px;border:1px solid var(--field);font-size:14px}
.mini-wines{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.mini-wine{display:flex;gap:20px;align-items:center;padding:24px;background:var(--card);border:1px solid #DDD2BE;color:var(--ink);text-decoration:none}
.mini-wine:hover{border-color:var(--wine);color:var(--ink)}
.mini-wine__img{width:auto;height:120px}
.mini-wine .kicker{margin:0 0 4px;font-size:12px;letter-spacing:.14em}
.mini-wine__name{display:block;font-family:var(--serif);font-size:26px;font-weight:600;line-height:1.1}

/* Commande */
.steps{list-style:none;display:flex;flex-direction:column;gap:14px;font-size:15px;min-width:280px}
.steps li{display:flex;gap:14px;align-items:center}
.steps span{width:32px;height:32px;flex-shrink:0;border-radius:50%;background:var(--wine);color:var(--paper);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}
.order-layout{display:grid;grid-template-columns:8fr 1fr 3fr;gap:var(--gap);align-items:start}
.contact-aside{grid-column:3;display:flex;flex-direction:column}
.contact-aside>div{display:flex;flex-direction:column;gap:4px;padding:20px 0;border-top:1px solid var(--line)}
.contact-aside>div:last-of-type{border-bottom:1px solid var(--line)}
.contact-aside .kicker{margin:0;font-size:12px;letter-spacing:.16em}
.contact-aside a{font-size:17px}
.contact-aside a.contact-aside__big{font-family:var(--serif);font-size:22px;font-weight:600;text-decoration:none}
.contact-aside__img{width:100%;height:320px;object-fit:cover;margin-top:24px}
.order{background:var(--card);border:1px solid #DDD2BE;padding:clamp(24px,4vw,48px);scroll-margin-top:100px}
.order__form>*+*{margin-top:28px}
.order__wines>*+*{margin-top:28px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.order__error{padding:16px 20px;background:#F6E1DE;border:1px solid #C9837A;color:#6A1E17;font-weight:600}
.field-group{border:0;padding:0;margin:0;min-width:0}
.field-group legend{padding:0;margin-bottom:12px;font-size:13px;font-weight:600}
.pills{display:flex;flex-wrap:wrap;gap:8px}
label.pill{position:relative;display:inline-flex;cursor:pointer}
label.pill input{position:absolute;opacity:0;width:1px;height:1px}
label.pill span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--wine);border-radius:22px;color:var(--wine);font-size:14px;font-weight:600;white-space:nowrap;transition:background .15s,color .15s}
label.pill input:checked+span{background:var(--wine);color:var(--paper)}
label.pill input:focus-visible+span{outline:2px solid var(--wine);outline-offset:2px}
.pills--sm label.pill span{padding:0 12px;font-size:13px}
.order-line{display:grid;grid-template-columns:40px minmax(140px,1fr) auto auto 96px;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line-2)}
.order-line__img{width:40px;height:107px;object-fit:contain}
.order-line__name strong{display:block;font-family:var(--serif);font-size:22px;font-weight:600;line-height:1.15}
.order-line__sub{text-align:right;font-weight:600;font-size:15px}
.stepper{display:flex;align-items:center;border:1px solid var(--field);background:#fff}
.stepper button{width:44px;height:44px;border:0;background:transparent;font:18px var(--sans);color:var(--ink);cursor:pointer}
.stepper input{width:48px;height:44px;border:0;text-align:center;font:600 15px var(--sans);-moz-appearance:textfield;background:transparent}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.order__total{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding-top:20px}
.order__total>span:first-child{max-width:420px}
.order__total-value{font-family:var(--serif);font-size:36px;font-weight:600}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fields p,.order__form>p{margin:0}
.order label:not(.pill){display:block;font-size:13px;font-weight:600;margin-bottom:8px}
.order input[type=text],.order input[type=tel],.order input[type=email],.order textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--field);border-radius:0;background:#fff;font:15px var(--sans);color:var(--ink)}
.order textarea{resize:vertical}
.consent label{display:flex!important;gap:12px;align-items:flex-start;font-weight:400!important;font-size:14px!important;line-height:1.5;color:#4A3A36}
.consent input{width:20px;height:20px;margin:0;flex-shrink:0;accent-color:var(--wine)}
.order__submit{display:flex;flex-direction:column;gap:12px;text-align:center}
.order__done .h2{font-size:clamp(34px,3.6vw,48px)}
.order__recap{margin:24px 0;padding:20px;background:var(--sand);font-size:15px}
.order__recap ul{margin:8px 0 8px 20px}
.is-js .order__wines[hidden]{display:none}

/* Mentions */
.legal{display:grid;grid-template-columns:3fr 1fr 7fr;gap:var(--gap)}
.legal__toc .kicker{font-size:12px;letter-spacing:.16em;margin-bottom:8px}
.legal__toc{display:flex;flex-direction:column;gap:14px;font-size:15px;position:sticky;top:120px;align-self:start}
.legal__body{grid-column:3;max-width:760px}
.legal__body h2{font-family:var(--serif);font-weight:600;font-size:32px;margin:48px 0 12px;scroll-margin-top:110px}
.legal__alcool{margin-top:48px;padding:32px;background:var(--sand)}
.legal__alcool strong{font-size:17px;font-weight:600;color:var(--ink)}
.legal__alcool h2{margin-top:0}

/* Rappel « à compléter » (visible des administrateurs uniquement) */
.todo{display:inline-block;margin:8px 0;padding:6px 10px;border:1px dashed #B7791F;background:#FFF7E6;color:#7A4A00;font:600 13px/1.4 var(--sans)}

/* ---------- Vérification de l'âge ---------- */
.age-gate{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(36,16,15,.86)}
.age-gate[hidden]{display:none}
.age-gate__box{width:100%;max-width:500px;padding:clamp(32px,6vw,56px);background:var(--paper);text-align:center}
.age-gate__box .brand{display:block;font-size:36px;margin-bottom:8px}
.age-gate__q{font-family:var(--serif);font-size:28px;font-weight:500}
.age-gate__actions{display:flex;gap:12px}
.age-gate__actions .btn{flex:1}
.age-lock{overflow:hidden}

/* ---------- Tablette ---------- */
@media (max-width:1100px){
	.wine-grid--4{grid-template-columns:repeat(2,1fr)}
	.nav__list{gap:24px}
	.cepages{grid-template-columns:1fr 1fr;padding:0}
	.cepages__img{grid-row:span 2;height:100%}
	.cepages__title,.cepages__bar{padding-right:32px}
	.order-line{grid-template-columns:40px 1fr auto;grid-template-areas:"img name sub" "img fmt fmt" "img qty qty"}
	.order-line__img{grid-area:img}.order-line__name{grid-area:name}.order-line .pills{grid-area:fmt}.order-line .stepper{grid-area:qty;justify-self:start}.order-line__sub{grid-area:sub}
}
/* ---------- Mobile ---------- */
@media (max-width:900px){
	body{font-size:16px}
	.nav-toggle{display:inline-flex}
	.nav{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(36,16,15,.08);display:none}
	.nav__list a[aria-current="page"]{padding-bottom:16px}
	.is-home .nav{background:var(--dark)}
	.nav.is-open{display:block}
	.nav__list{flex-direction:column;align-items:stretch;gap:0;padding:8px var(--pad) 24px}
	.nav__list li a{display:block;padding:16px 0;border-bottom:1px solid rgba(120,100,80,.2)}
	.nav__list .btn--nav{margin-top:16px;border-bottom:0}
	.site-header{position:sticky;top:0}
	.site-header__bar,.is-home .site-header__bar{padding-block:12px;min-height:68px}
	.brand{font-size:24px}
.split{gap:32px}
	.hero__grid,.split,.cta-band__grid,.duo,.cards-2,.family,.legal,.wine,.order-layout,.timeline,.note-band,.mini-wines,.triptych,.vendanges{grid-template-columns:1fr}
	.hero__grid{gap:32px}
	.hero__media{order:-1}
	.split>:first-child,.split>:last-child,.family__text,.wine__info,.contact-aside,.legal__body{grid-column:auto}
	.split--center .split__side{order:-1}
	.duo__cell+.duo__cell{border-left:0;border-top:1px solid var(--line)}
	.family__text{padding:32px 24px}
	.section-head,.page-hero--row,.pro{flex-direction:column;align-items:flex-start}
	.cta-band__actions{justify-content:flex-start}
	.site-footer__grid{grid-template-columns:1fr 1fr}
	.wine-grid--2{grid-template-columns:1fr}
	.wine-grid--2 .wine-card{flex-direction:column;min-height:0}
	.wine-grid--2 .wine-card__shelf{width:auto;height:300px}
	.wine-grid--2 .bottle{height:270px}
	.wine-grid--2 .wine-card__body{padding:28px}
	.wine-grid--2 .wine-card__name{font-size:30px}
	.vendanges__video{min-height:0;aspect-ratio:9/16;max-height:80vh}
	.legal__toc{position:static;flex-direction:row;flex-wrap:wrap;gap:8px 16px}
	.stats{grid-template-columns:repeat(3,1fr);gap:12px}
}
@media (max-width:600px){
	.wine-grid--4{grid-template-columns:1fr}
	.vendanges__grid{grid-template-columns:repeat(2,1fr);gap:12px}
	.cepages{grid-template-columns:1fr}
	.cepages__img{grid-row:auto;height:240px}
	.cepages__title,.cepages__bar{padding:0 24px}
	.cepages__bar{padding-bottom:28px}
	.fields{grid-template-columns:1fr}
	.prices__grid{grid-template-columns:1fr}
	.price-box{padding-top:28px}
	.site-footer__grid{grid-template-columns:1fr}
	.order__total{flex-direction:column;align-items:flex-start;gap:8px}
	.stats span:not(.stat){font-size:12px}
	.age-gate__actions{flex-direction:column}
}
.cf-turnstile{margin-top:8px}

/* =========================================================================
   Dynamisme : apparitions, survols, compteurs, parallaxe.
   Tout est désactivé si le visiteur a choisi « réduire les animations ».
   Sans JavaScript, le contenu reste entièrement visible.
   ====================================================================== */
:root{--ease:cubic-bezier(.2,.7,.2,1)}

/* Entrée de l'en-tête de l'accueil */
@keyframes colbert-up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes colbert-zoom{from{transform:scale(1.08)}to{transform:scale(1)}}
@keyframes colbert-fade{from{opacity:0}to{opacity:1}}
.hero__text>*{animation:colbert-up .9s var(--ease) both}
.hero__text>:nth-child(2){animation-delay:.08s}
.hero__text>:nth-child(3){animation-delay:.18s}
.hero__text>:nth-child(4){animation-delay:.28s}
.hero__media{overflow:hidden}
.hero__media img{animation:colbert-zoom 1.8s var(--ease) both}
.hero__awards{animation:colbert-fade 1s .5s var(--ease) both}
.page-hero>*{animation:colbert-up .8s var(--ease) both}
.page-hero>:nth-child(2){animation-delay:.12s}

/* Apparition au défilement (classes posées par le script) */
.is-js .rv{opacity:0;transform:translateY(32px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s)}
.is-js .rv.rv--img{transform:translateY(24px) scale(.98)}
.is-js .rv.is-in{opacity:1;transform:none}

/* Barres d'encépagement qui se remplissent */
.is-js .bar{clip-path:inset(0 100% 0 0);transition:clip-path 1.4s var(--ease) .2s}
.is-js .bar.is-in{clip-path:inset(0 0 0 0)}
.is-js .bars__track span{transform:scaleX(0);transform-origin:left;transition:transform 1.3s var(--ease) .15s}
.is-js .bars.is-in .bars__track span{transform:none}

/* Menu : trait qui se dessine au survol */
.nav__list a:not(.btn){position:relative}
.nav__list a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor;transform:scaleX(0);transition:transform .35s var(--ease)}
.nav__list a:not(.btn):hover::after{transform:scaleX(1)}
.nav__list a[aria-current="page"]::after{display:none}

/* Boutons et liens */
.btn{transition:background .25s,color .25s,border-color .25s,transform .25s var(--ease),box-shadow .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px -12px rgba(36,16,15,.55)}
.btn:active{transform:none;box-shadow:none}
.link{transition:color .2s,letter-spacing .3s var(--ease)}
.link:hover{letter-spacing:.02em}

/* Cartes vin */
.wine-card{transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.wine-card:hover{transform:translateY(-6px);box-shadow:0 24px 48px -24px rgba(36,16,15,.45)}
.wine-card .bottle{transition:transform .6s var(--ease);will-change:transform}
.wine-card:hover .bottle{transform:translateY(-8px) rotate(-3deg) scale(1.04)}
.price-box{transition:border-color .2s,background .2s,transform .3s var(--ease),box-shadow .3s}
.price-box:hover{transform:translateY(-3px);box-shadow:0 14px 28px -18px rgba(36,16,15,.5)}
.price-box__cta{transition:transform .3s var(--ease)}
.price-box:hover .price-box__cta{transform:translateX(4px)}
.mini-wine{transition:border-color .2s,transform .35s var(--ease)}
.mini-wine:hover{transform:translateY(-3px)}
.mini-wine__img{transition:transform .5s var(--ease)}
.mini-wine:hover .mini-wine__img{transform:rotate(-4deg) scale(1.06)}
.wine__media img{animation:colbert-up 1s .1s var(--ease) both}

/* Photos : zoom doux au survol */
.zoom{overflow:hidden}
.zoom img{transition:transform 1.2s var(--ease)}
.zoom:hover img{transform:scale(1.06)}
.split__img,.family__img,.cepages__img,.contact-aside__img{transition:transform 1.2s var(--ease)}

/* Bandeau photo en parallaxe */
.band{overflow:hidden}
.is-js .band[data-parallax] img{transform:translate3d(0,var(--py,0px),0) scale(1.14);will-change:transform}

/* Bon de commande : ligne active mise en valeur */
.order-line{transition:background .3s}
.order-line.is-active{background:linear-gradient(90deg,rgba(92,26,43,.05),transparent 70%)}
.order__total-value{transition:transform .25s var(--ease)}
.order__total-value.bump{transform:scale(1.08)}

/* Vérification de l'âge */
.age-gate:not([hidden]){animation:colbert-fade .35s ease both}
.age-gate:not([hidden]) .age-gate__box{animation:colbert-up .5s .05s var(--ease) both}

@media (hover:none){.wine-card:hover,.price-box:hover,.mini-wine:hover,.btn:hover{transform:none;box-shadow:none}.zoom:hover img{transform:none}}
@media (prefers-reduced-motion:reduce){
	.hero__text>*,.hero__media img,.hero__awards,.page-hero>*,.wine__media img,.age-gate,.age-gate__box{animation:none!important}
	.is-js .rv,.is-js .bar,.is-js .bars__track span{opacity:1!important;transform:none!important;clip-path:none!important}
	.is-js .band[data-parallax] img{transform:none!important}
}
