/* Organisation des contenus, avec les tokens et composants du système existant. */
.desktop-nav{gap:clamp(8px,1.1vw,18px);overflow:visible}.nav-group{position:relative}.nav-row{display:flex;align-items:center;gap:2px}.desktop-nav .nav-row>a{white-space:nowrap}.nav-disclosure{display:grid;place-items:center;width:28px;height:44px;flex-shrink:0;color:var(--text);background:transparent;border:0;border-radius:var(--radius-sm)}.nav-disclosure svg{width:16px;height:16px;transition:transform var(--transition)}.nav-disclosure[aria-expanded=true] svg{transform:rotate(180deg)}.nav-disclosure:hover{background:var(--surface-soft)}
.nav-submenu[hidden]{display:none}.desktop-nav .nav-submenu{position:absolute;top:100%;left:0;min-width:240px;padding:12px;background:var(--surface-raised);border:1px solid var(--border-subtle);border-top:3px solid var(--action);border-radius:var(--radius-sm);box-shadow:var(--shadow-soft);z-index:2}.desktop-nav .nav-group:last-child .nav-submenu{left:auto;right:0}.desktop-nav .nav-submenu a{display:flex;align-items:center;min-height:44px;padding:10px 12px;font-size:var(--text-sm);font-weight:500;white-space:nowrap}.desktop-nav .nav-submenu a::after{display:none}.desktop-nav .nav-submenu a:hover,.desktop-nav .nav-submenu a:focus-visible{background:var(--surface-soft);color:var(--text-accent)}
.footer-navigation{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:0;border:0}.footer-navigation a,.footer-navigation button{display:flex;align-items:center;min-height:44px;color:var(--text-inverse);font:inherit;font-size:var(--text-sm);background:none;border:0}.footer-navigation a:hover,.footer-navigation button:hover,.footer-bottom a:hover,.footer-bottom a:focus-visible{color:var(--accent)}
.visitor-page main{padding-top:0}.visitor-header{padding-top:64px;padding-bottom:32px}.visitor-header h1{max-width:1100px;color:var(--heading-accent);margin-bottom:24px}.visitor-header>p:not(.eyebrow){max-width:780px;color:var(--text-secondary)}.visitor-header>.button{margin-top:24px}
.card-selector{display:flex;gap:24px;flex-wrap:wrap;margin-top:24px}.card-selector a{display:flex;align-items:center;min-height:44px;border-bottom:2px solid transparent;font-weight:600;font-size:var(--text-sm)}.card-selector a[aria-current=page]{color:var(--text-accent);border-color:var(--action)}.card-selector a:hover{color:var(--text-accent)}
/* Les gouttières du viewport bornent déjà la largeur utile à --content-width. */
.restaurant-menu{padding:24px var(--page-gutter) var(--section-space);margin:auto}.menu-currency{font-size:var(--text-sm);color:var(--text-secondary);text-align:right}.menu-category{margin-top:64px;scroll-margin-top:calc(var(--header-height) + 88px)}.menu-category:first-of-type{margin-top:16px}.menu-category-heading{display:flex;align-items:baseline;gap:24px;border-bottom:2px solid var(--action);padding-bottom:20px}.menu-category-heading>span{font-family:var(--font-display);font-weight:600;font-size:24px;color:var(--color-wood)}.menu-category h2{font-size:var(--title-block);color:var(--heading-accent)}.dish-list{list-style:none;padding:0;margin:0}.dish{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:24px 0;border-bottom:1px solid var(--border-subtle)}.dish h3{font-family:var(--font-body);font-size:var(--text-lg);font-weight:600;line-height:1.5;letter-spacing:0;text-wrap:pretty}.dish p{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6;margin-top:6px;max-width:800px}.dish-price{font-size:var(--text-base);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.7}.menu-original{margin-top:48px;max-width:720px}.menu-original>p{font-size:var(--text-sm);color:var(--text-secondary)}
.visitor-content{padding-top:24px}.visitor-content p{max-width:800px}.visitor-section{margin-top:var(--section-space);scroll-margin-top:calc(var(--header-height) + 24px)}.visitor-section:first-child{margin-top:0}.visitor-section h2,.visitor-split h2{margin-bottom:24px;color:var(--heading-accent)}.visitor-section h3,.visitor-split h3{font-size:28px;margin:32px 0 16px}.visitor-section p,.visitor-split p{color:var(--text-secondary);margin-bottom:16px}.visitor-split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:var(--photo-gap);scroll-margin-top:calc(var(--header-height) + 24px)}.visitor-split>img{width:100%;max-height:560px;object-fit:cover;aspect-ratio:4/5;border-radius:var(--radius-sm)}
.group-formula-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--photo-gap);margin-top:32px}.group-formula-columns article{border-top:2px solid var(--action);padding-top:24px}.group-formula-columns h3{font-size:48px;margin:0}.group-formula-columns h4{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.04em;margin:24px 0 12px;color:var(--text-accent)}.group-formula-columns ul{padding-left:20px}.group-formula-columns li{padding-bottom:8px;line-height:1.65}.formula-unit{font-size:var(--text-sm)}.group-proposal{padding:48px;background:var(--surface-deep);color:var(--text-inverse);border-radius:var(--radius-sm)}.group-proposal h2,.group-proposal p{color:var(--text-inverse)}.group-proposal .venue-actions{margin:24px 0}.group-proposal .text-link{color:var(--text-inverse)}
.practical-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--photo-gap);margin-bottom:32px}.practical-lead{font-size:var(--text-lead);font-weight:600}.season-dates{display:flex;flex-wrap:wrap;gap:24px;margin-top:24px}.season-dates a{text-decoration:underline;text-underline-offset:4px;color:var(--text-accent)}
.wine-document{padding-top:0}.wine-sheet{max-width:920px;margin:40px auto;scroll-margin-top:calc(var(--header-height) + 24px)}.wine-sheet h2{font-size:24px;margin-bottom:12px;color:var(--text-secondary)}.wine-sheet button{display:block;background:none;border:0;width:100%;position:relative}.wine-sheet img{display:block;width:100%;height:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.wine-sheet button>span{position:absolute;bottom:16px;right:16px;background:var(--action);color:var(--action-text);padding:10px 18px;border-radius:var(--radius-sm);font-size:var(--text-sm)}.wine-cover{max-width:920px;margin:32px auto}.wine-cover summary{cursor:pointer;min-height:44px;padding:12px 0}.wine-cover img{width:100%;height:auto}.about-chapters h2{color:var(--heading-accent)}.about-chapters .visitor-split+.visitor-split{margin-top:var(--section-space)}.about-page #staff,.about-page #histoire,.about-page #savoir-faire,.about-page #equipe,.about-page #activities{scroll-margin-top:calc(var(--header-height) + 24px)}
@media(max-width:1100px){
 .desktop-nav{display:none}.menu-toggle,.site-header.is-top .menu-toggle{display:grid;place-items:center;width:44px;height:44px;flex:none;padding:8px;color:var(--text);background:transparent;border:0;border-radius:var(--radius-sm);box-shadow:none}
 .mobile-nav:not([hidden]){display:flex;position:fixed;inset:var(--header-height) 0 0;z-index:12000;flex-direction:column;align-items:stretch;gap:0;overflow:auto;padding:24px var(--page-gutter) max(32px,env(safe-area-inset-bottom));background:var(--surface-deep);color:var(--text-inverse);height:calc(100dvh - var(--header-height));max-height:none}
 .mobile-nav .nav-group{border-bottom:1px solid var(--border-inverse)}.mobile-nav .nav-row{justify-content:space-between;gap:12px}.mobile-nav .nav-row>a{padding:20px 0;border:0;font-family:var(--font-display);font-size:clamp(26px,6vw,38px);line-height:1.2;font-weight:700}.mobile-nav .nav-disclosure{width:44px;height:44px;color:var(--text-inverse);border:0;background:transparent;box-shadow:none}.mobile-nav .nav-disclosure:hover,.mobile-nav .nav-disclosure:active{background:transparent;box-shadow:none}.mobile-nav .nav-submenu{padding:0 0 16px 16px}.mobile-nav .nav-submenu a{display:flex;align-items:center;border:0;min-height:48px;padding:12px 0;font-family:var(--font-body);font-size:var(--text-base);font-weight:400;line-height:1.4}.mobile-nav .nav-submenu a:hover{color:var(--accent)}.mobile-nav>.button{align-self:flex-start;margin-top:24px}
}
@media(max-width:700px){.visitor-header{padding-top:40px}.visitor-header h1{font-size:var(--title-section)}.menu-category{margin-top:48px}.menu-category-heading{gap:16px}.dish{gap:16px;padding:20px 0}.dish h3{font-size:var(--text-base)}.dish-price{font-size:var(--text-base)}.visitor-split,.practical-columns,.group-formula-columns{grid-template-columns:1fr;gap:32px}.visitor-split>img{max-height:460px;aspect-ratio:4/3}.group-proposal{padding:32px 24px}.group-formula-columns article+article{margin-top:16px}.wine-sheet{margin-block:24px}.restaurant-menu{padding-top:16px}.footer-navigation{gap:0}.card-selector{gap:24px}.about-chapters .visitor-split>img{order:0}}

/* Le scroll-padding du document réserve déjà la place du header. */
.menu-category[id]{scroll-margin-top:84px}.visitor-section[id],.visitor-split[id],.wine-sheet[id]{scroll-margin-top:24px}
@media(max-width:700px){.wine-sheet button>span{left:16px;right:auto}}
/* Même sélecteur de langue sur desktop et mobile, indépendant des CTA. */
.language{position:relative;display:flex;align-items:center;flex:none;gap:0}
.language-toggle{display:flex;align-items:center;justify-content:center;gap:var(--space-1);height:44px;padding:0 var(--space-1);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);font:650 var(--text-sm)/1 var(--font-body)}
.language-flag{display:block;width:20px;height:15px;flex:none;object-fit:contain}
.language-code{width:2.4ch;text-align:center}
.language-chevron{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform var(--transition)}
.language-toggle[aria-expanded=true] .language-chevron{transform:rotate(180deg)}
.language-toggle:is(:hover,:active){color:var(--text-accent)}
.language-options{position:absolute;inset:auto 0 auto auto;top:calc(100% + var(--space-2));z-index:5;list-style:none;margin:0;padding:var(--space-2);width:12rem;max-width:calc(100vw - 2 * var(--space-4));max-height:calc(100dvh - var(--header-height) - 2 * var(--space-4));overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-soft)}
.language-options[hidden]{display:none}
.language-options a{display:flex;align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-2);font:500 var(--text-sm)/1.4 var(--font-body);color:var(--text);border-radius:var(--radius-sm);text-decoration:none}
.language-options a:is(:hover,:focus-visible){background:var(--surface-soft);color:var(--text-accent)}
.language-options a[aria-current]{font-weight:650}
.language-check{width:16px;height:16px;margin-left:auto;fill:none;stroke:currentColor;stroke-width:1.8;visibility:hidden}
.language-options [aria-current] .language-check{visibility:visible}
@media(max-width:560px){.language-toggle{padding-inline:0}.language-chevron{width:12px}}
/* Les libellés longs restent accessibles même sur les téléphones de 320 px. */
@media(max-width:340px){
 .brand{width:48px}
 .language-toggle{gap:calc(var(--space-1)/2)}
 .language-toggle .language-flag{width:18px;height:13.5px}
 .language-code{width:2ch}
}
.site-header .menu-toggle:is(:hover,:active,[aria-expanded=true]){background:transparent;color:var(--text);border:0;box-shadow:none}

/* Même panneau vert ; la rubrique entière commande maintenant son accordéon. */
@media(max-width:1100px){
 .mobile-nav .mobile-category-toggle{display:flex;justify-content:space-between;gap:16px;width:100%;height:auto;min-height:64px;padding:20px 0;text-align:left;font-family:var(--font-display);font-size:clamp(26px,6vw,38px);font-weight:700;line-height:1.2;border-radius:0}
 .mobile-category-toggle svg{flex:none}
 .mobile-nav-contact{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:24px}
 .mobile-nav .mobile-nav-contact>a:not(.button){font:500 var(--text-base)/1.5 var(--font-body);min-height:44px;padding:10px 0;border:0}
 .mobile-nav .mobile-nav-gift{display:inline-flex;align-items:center;gap:var(--space-2)}
 .mobile-nav-gift .mobile-gift-icon{width:20px;height:20px;flex:none}
 .mobile-nav-gift>span{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
 .mobile-nav .mobile-nav-contact .button{font:700 var(--text-sm)/1.35 var(--font-body);min-height:var(--control-height);padding:12px 24px;border:1px solid transparent;background:var(--action);color:var(--action-text);margin:0}
 .mobile-nav[data-motion=enter]{animation:mobile-menu-in 260ms ease-out both}
 .mobile-nav[data-motion=leave]{animation:mobile-menu-out 240ms ease-in both}
}
@keyframes mobile-menu-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes mobile-menu-out{from{transform:translateX(0)}to{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){.mobile-nav[data-motion]{animation:none}}
