@import url('/design-tokens.css?v=20261009-2');

/* Fondations : caractère d’affiche, confort de lecture, contrastes francs. */
body{background:var(--surface);color:var(--text);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body)}
::selection{background:var(--action);color:var(--action-text)}
h1,h2,h3,.page-title{font-family:var(--font-display);font-weight:700;line-height:var(--leading-title);letter-spacing:-.025em;text-wrap:balance}
h2,.page-title{font-size:var(--title-section)}h3{font-size:var(--title-block)}
.eyebrow{font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-label);line-height:1.5;margin-bottom:var(--space-5)}
.rust{color:var(--text-accent)}.muted,.section-description,.staff-intro{color:var(--text-secondary)}
.section-pad{padding:var(--section-space) var(--page-gutter)}
.section-heading{gap:var(--space-7);margin-bottom:var(--space-7)}
.section-description,.staff-intro{font-size:var(--text-base);line-height:var(--leading-body);max-width:36rem}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--focus);outline-offset:4px}
:where(.home-groups,.faq-chat,footer,.venue-menu,.mobile-nav) :focus-visible{outline-color:var(--accent)}
:where(button,a,input,select,textarea,summary){transition:background-color var(--transition),color var(--transition),border-color var(--transition)}
button:disabled,.button[aria-disabled=true]{cursor:not-allowed;opacity:.55;transform:none}
.button,.booking-button{min-height:var(--control-height);padding:12px 22px;gap:var(--space-3);border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:700;line-height:1.5;letter-spacing:.015em;box-shadow:none}
.button:hover{transform:none}.orange{background:var(--action);color:var(--action-text)}.orange:hover{background:var(--action-hover)}.orange:active{background:var(--action-active)}
.cream{background:var(--surface-raised);color:var(--text)}.cream:hover{background:var(--surface-soft)}
.button.secondary{background:transparent;border-color:currentColor;color:var(--text-accent);transition:background-color var(--transition),color var(--transition),border-color var(--transition)}
@media(hover:hover){.button.secondary:hover{background:color-mix(in srgb,var(--text-accent) 7%,transparent);color:var(--text-accent-hover);border-color:var(--text-accent-hover)}}
.button.secondary:active{background:color-mix(in srgb,var(--text-accent) 12%,transparent);color:var(--text-accent-hover);border-color:var(--text-accent-hover)}
.text-link{min-height:44px;padding:8px 0;border-bottom:1px solid currentColor;gap:var(--space-5);font-size:var(--text-sm);font-weight:700;border-radius:0}.text-link:hover{color:var(--text-accent-hover)}
.document-link{gap:var(--space-3)}.document-link svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.access-season-icon{display:inline-block;width:1em;height:1em;margin-inline-start:var(--space-2);vertical-align:-.1em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.heritage-flag{box-shadow:none;filter:none;flex-shrink:0}

/* En-tête et navigation : logo intact, papier chaud, menu tactile sur mobile. */
.site-header,.site-header.is-top{height:var(--header-height);padding:8px var(--page-gutter);gap:var(--space-6);background:var(--surface);color:var(--text);border-bottom:1px solid var(--border-subtle);box-shadow:none;text-shadow:none;backdrop-filter:none;margin-bottom:0}
.brand{width:80px;height:72px;flex:none}.brand img,.site-header.is-top .brand img{width:100%;height:100%;object-fit:contain;filter:none;mix-blend-mode:normal}
.desktop-nav{gap:clamp(18px,2vw,32px);overflow:visible;min-width:0}.desktop-nav a{min-height:44px;font-size:var(--text-sm);font-weight:650;line-height:1.35}.desktop-nav a::after{bottom:4px;height:2px}
.header-actions{gap:var(--space-5);flex:none}.language{gap:var(--space-2)}.language>span{font-size:20px}
.language select,.site-header.is-top .language select{color:var(--text);height:44px;font-size:var(--text-sm);width:48px;padding:4px 2px}
.header-book{min-height:var(--control-height)}.menu-toggle{display:none}
.mobile-nav{box-shadow:none}
body.menu-open{overflow:hidden}
@media(max-width:900px){
 .desktop-nav{display:none}.site-header,.site-header.is-top{gap:var(--space-4);padding-inline:var(--page-gutter)}
 .brand{width:64px;height:60px}.header-actions{gap:var(--space-3)}.language>span{display:none}
 .menu-toggle,.site-header.is-top .menu-toggle{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:8px;background:transparent;color:var(--text);border:0;border-radius:var(--radius-sm)}
 .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:var(--space-6) var(--page-gutter) max(var(--space-6),env(safe-area-inset-bottom));background:var(--surface-deep);color:var(--text-inverse)}
 .mobile-nav a{padding:20px 0;border-bottom:1px solid var(--border-inverse);font-family:var(--font-display);font-size:clamp(30px,6vw,42px);font-weight:700;line-height:1.2}
 .mobile-nav a:hover{color:var(--accent)}.mobile-nav .button{align-self:flex-start;margin-top:var(--space-6);background:var(--surface);color:var(--text)}
}
@media(max-width:380px){.site-header,.site-header.is-top{padding-inline:16px;gap:8px}.header-actions{gap:8px}.header-book{padding-inline:12px}.brand{width:58px}.language select{width:42px}}

/* Homepage : même composition, photos ouvertes, rythme éditorial. */
.hero{height:clamp(620px,calc(100svh - 24px),860px);min-height:620px;background:var(--surface-ink)}
.hero-shade{background:#211c185c}
/* La largeur maximale borne le texte, sans déduire les gouttières des grands écrans. */
.hero-content{box-sizing:content-box;padding:calc(var(--header-height) + 72px) var(--page-gutter) 120px;max-width:1100px}
.hero h1{font-size:var(--title-hero);line-height:.9;letter-spacing:-.02em;text-transform:uppercase;margin:0}
.hero-content .eyebrow{font-size:var(--text-xs);letter-spacing:.15em;gap:14px;margin-bottom:32px}.hero-sub{font-size:var(--text-lg);line-height:1.6;color:var(--text-inverse);margin:28px 0 32px}
.hero-bottom{left:var(--page-gutter);right:var(--page-gutter);bottom:32px}.film-button{font-size:var(--text-sm);min-height:48px}.play-circle{width:48px;height:48px;border-color:var(--text-inverse)}.altitude-mark{right:var(--page-gutter)}
.home-editorial{--story-space:var(--section-space);padding-top:var(--section-space);padding-bottom:var(--section-space)}
.home-welcome{display:grid;grid-template-columns:1fr 1fr;gap:var(--photo-gap);padding-bottom:var(--space-8);margin-bottom:var(--space-8);border-bottom:1px solid var(--border)}
.home-welcome-lead{font-size:var(--text-lead);font-weight:600;line-height:1.4;color:var(--color-wood);max-width:620px}.home-welcome>p:last-child{color:var(--text-secondary);font-size:var(--text-base);line-height:var(--leading-body);max-width:560px}
.home-introduction{margin-bottom:var(--space-8)}.home-introduction h2{max-width:1000px;font-size:var(--title-section);color:var(--heading-accent)}
.home-story>.eyebrow{font-family:var(--font-display);font-size:24px;letter-spacing:.075em;margin-bottom:28px;text-align:left;display:flex;align-items:center;gap:12px}.home-story>.eyebrow a{padding-block:4px}.home-story>.eyebrow .access-season-icon{display:inline-block;width:1em;height:1em;margin-inline-start:var(--space-2);vertical-align:-.1em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.heritage-flag{width:22px;height:22px}
.home-story{cursor:pointer}.home-story a{position:relative;z-index:1}.home-story-grid{column-gap:var(--photo-gap);row-gap:var(--space-6)}
.home-photo img{border-radius:var(--radius-sm)}.home-photo-pair{gap:var(--space-6);padding-top:var(--space-7)}
.home-story-copy{max-width:560px}.home-story-copy h2{font-size:var(--title-block);margin-bottom:var(--space-5)}.home-story-copy p{font-size:var(--text-base);line-height:var(--leading-body);color:var(--text-secondary)}.home-story-copy .story-link{margin-top:var(--space-5)}
.home-menu-links{gap:var(--space-2);align-items:flex-start}.home-menu-link{color:var(--text-accent)}
.editorial-divider{margin-top:var(--section-space);padding-top:var(--space-7);border-top:1px solid var(--border)}
.home-food-truck{column-gap:var(--photo-gap)}.home-food-truck>img{max-height:400px}.home-food-truck .home-story-copy h2{color:var(--heading-accent)}
.home-groups{display:grid;grid-template-columns:1fr 1fr;gap:var(--photo-gap);align-items:center;background:var(--surface-deep);color:var(--text-inverse)}
.home-groups-media.groups-media{min-height:0;align-self:stretch;aspect-ratio:4/5;max-height:660px;overflow:hidden;border-radius:var(--radius-sm)}.home-groups-media video{display:block;width:100%;height:100%;object-fit:cover}
.home-groups .eyebrow{color:var(--accent)}.home-groups-copy h2{margin-bottom:var(--space-6)}.home-groups-copy>p:not(.eyebrow){color:var(--text-inverse-muted);font-size:var(--text-base)}.home-groups-detail{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--border-inverse)}
.home-groups-actions{display:flex;flex-wrap:wrap;gap:var(--space-5);margin-top:var(--space-6);align-items:center}

/* Pages de découverte : de vrais récits illustrés, puis les cartes existantes. */
dialog.venue-dialog,dialog.feature-dialog,.feature-static,.venue-static{background:var(--surface)}
.venue-hero{height:600px;min-height:440px}.venue-hero-shade,.feature-hero-shade{background:#211c1866}.venue-hero-copy{left:var(--page-gutter);right:var(--page-gutter);max-width:950px}.venue-hero-copy h2{font-size:var(--title-page);line-height:.95}.venue-hero-copy>p:last-child{font-size:var(--text-lg)}
/* La limite de lecture porte sur le contenu, pas sur les gouttières du viewport. */
.venue-story{box-sizing:content-box;max-width:1000px;padding:var(--section-space) var(--page-gutter)}.venue-lead{font-size:var(--title-block)}.venue-story>p:not(.eyebrow):not(.venue-lead){font-size:var(--text-base);line-height:var(--leading-body);color:var(--text-secondary)}
.venue-editorial{padding:var(--section-space) var(--page-gutter)}.venue-editorial-intro{max-width:820px;margin-bottom:var(--space-8)}.venue-editorial-intro .venue-lead{margin-bottom:24px!important}.venue-editorial-intro>p:last-child{color:var(--text-secondary)}
.venue-chapter{display:grid;grid-template-columns:1fr 1fr;gap:var(--photo-gap);align-items:center;margin-top:var(--section-space)}.venue-chapter:nth-child(odd)>img{order:2}.venue-chapter>img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm)}.venue-chapter h3{font-size:var(--title-block);margin-bottom:var(--space-5)}.venue-chapter p{color:var(--text-secondary);line-height:var(--leading-body)}.venue-chapter .eyebrow{color:var(--text-accent)}
.venue-editorial-foot{margin-top:var(--section-space);border-top:1px solid var(--border);padding-top:var(--space-7)}.venue-editorial-foot>p{max-width:760px;color:var(--text-secondary)}
.venue-menu{padding:var(--section-space) var(--page-gutter);background:var(--surface-deep)}.venue-menu-section{background:transparent;border-top:2px solid var(--accent);padding:24px 0;border-radius:0}.venue-menu-item{border-color:var(--border-inverse)}.venue-menu-item h4{font-size:var(--text-base);color:var(--text-inverse)}.venue-menu-item p{font-size:var(--text-sm);color:var(--text-inverse-muted)}.venue-menu-item>strong{color:var(--accent);font-size:24px}.venue-menu-heading>p:last-child{font-size:var(--text-sm);color:var(--text-inverse-muted)}
.venue-actions{gap:var(--space-5)}.venue-bottom-close{font-size:var(--text-sm);min-height:64px}
.feature-story,.feature-body{font-size:var(--text-base)}.feature-summary,.feature-story>p{font-size:var(--text-base);line-height:var(--leading-body)}

/* Cartes existantes et informations : mêmes matières et même vocabulaire. */
.staff-section,.activities-full{background:var(--surface-raised)}.staff-grid{gap:var(--space-5)}.staff-card{background:var(--surface);border-radius:var(--radius-sm);overflow:hidden}.staff-card>div{padding:var(--space-5)}.staff-card div>p:not(.eyebrow){font-size:var(--text-sm);line-height:1.65}.staff-card .eyebrow{font-size:11px}
.activities-columns article,.fact-card,.feature-job-lists article,.venue-concept-grid article{background:var(--surface-raised);border-radius:var(--radius-sm);box-shadow:none}.activities-columns article{background:var(--surface);padding:var(--space-6)}.activities-columns a{font-size:var(--text-sm)}
.fact-card{border-top:2px solid var(--action);padding:var(--space-5)}.fact-card p{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-body)}.fact-card h3{font-size:28px}.fact-card:hover{background:var(--surface-soft)}
.feature-job-lists article{padding:var(--space-6)}.feature-job-lists li,.team-careers-note{font-size:var(--text-sm);line-height:1.7}.feature-job-lists h3{font-size:28px}
.media-home-card,.media-card,.feature-tile,.culinary-card,.menu-card{border-radius:var(--radius-sm);box-shadow:none;overflow:hidden}.media-home-card strong,.feature-tile-copy strong{font-family:var(--font-display)}
.media-filters button,.faq-filters button{min-height:44px;padding:10px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text);font-size:var(--text-sm)}
.media-filters button[aria-pressed=true],.faq-filters button[aria-pressed=true]{background:var(--action);border-color:var(--action);color:var(--action-text)}

/* Formulaires et accordéons : surfaces claires et commandes confortables. */
input:not([type=checkbox]):not([type=radio]),select,textarea{border-radius:var(--radius-sm);accent-color:var(--action)}
.application-grid input,.application-grid select,.application-grid textarea,.booking-form input,.booking-form select,.faq-search input{min-height:var(--control-height);border:1px solid var(--border);padding:12px 14px;background:var(--surface-raised);color:var(--text);font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;box-shadow:none}
.application-grid label,.booking-form label{font-size:var(--text-sm);font-weight:600}.application-note{font-size:var(--text-sm)}.application-grid{gap:var(--space-5)}.application-grid textarea{min-height:120px}.application-intro p,.application-result{font-size:var(--text-base);line-height:var(--leading-body)}
.faq-section{background:var(--surface)}.faq-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--photo-gap)}
.faq-chat{position:static;padding:var(--space-6);background:var(--surface-deep);color:var(--text-inverse);border-radius:var(--radius-md);box-shadow:none}.faq-chat-head{grid-template-columns:80px 1fr;gap:var(--space-5)}.faq-avatar{width:80px;height:80px;background:var(--avatar-cream)}.faq-chat-head p{font-size:21px;line-height:1.4}
.faq-search{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3)}.faq-search input{width:100%;min-width:0;height:auto}.faq-search .button{height:auto;min-height:48px}.faq-suggestions{gap:var(--space-2);margin-top:var(--space-5)}.suggestion-button{display:inline-flex;align-items:center;text-align:left;background:transparent;border:1px solid var(--border-inverse);color:var(--text-inverse);border-radius:var(--radius-sm);font:400 var(--text-xs)/1.35 var(--font-body);min-height:44px;padding:10px 12px;text-decoration:none}.suggestion-button:hover,.suggestion-button:focus-visible{background:#344a3c;border-color:var(--accent);color:#fff}.suggestion-button:active{background:var(--surface-deep);border-color:var(--accent);color:var(--text-inverse)}
.faq-answer{background:var(--surface-raised);color:var(--text);border-radius:var(--radius-sm);box-shadow:none}.faq-answer p{font-size:var(--text-sm);color:var(--text-secondary)}.faq-answer a{color:var(--text-accent)}
.faq-top>.eyebrow{margin-bottom:12px}.faq-top>h3{font-size:var(--title-block);margin-bottom:24px;color:var(--heading-accent)}.faq-item{border-top:1px solid var(--border);background:transparent}.faq-item:last-child{border-bottom:1px solid var(--border)}.faq-item summary{min-height:76px;padding:22px 36px 22px 0;font-size:var(--text-base);font-weight:600;line-height:1.45}.faq-item summary:after{color:var(--text-accent)}.faq-item summary:hover,.faq-item summary:focus-visible{color:var(--text-accent)}.faq-item[open]{background:var(--surface-raised)}.faq-item[open] summary{padding-left:16px;color:var(--text-accent)}.faq-item>div{padding:0 32px 24px 16px}.faq-item p{font-size:var(--text-sm);line-height:var(--leading-body);color:var(--text-secondary)}.faq-all{margin-top:24px}.faq-compact .faq-group{margin-bottom:0}
.faq-compact>.section-heading{max-width:720px}.faq-compact .faq-chat{height:100%}.faq-compact .faq-answer[hidden]{display:none}

/* Fenêtres, galeries, pied de page : continuité du système. */
.modal-close,.venue-close,.feature-close,.faq-close,.document-close{width:44px;height:44px;min-width:44px;min-height:44px;background:var(--surface-raised);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-soft)}
.modal-close:hover{background:var(--action);color:var(--action-text);border-color:var(--action);transform:none}.dialog-copy{background:var(--surface);color:var(--text)}.dialog-copy p{color:var(--text-secondary);font-size:var(--text-base)}
.lightbox-controls{background:var(--surface-ink);color:var(--text-inverse)}.lightbox-controls button{min-width:44px;min-height:44px;border-radius:var(--radius-sm)}
.visit{background:var(--surface-raised)}.visit-copy>p{font-size:var(--text-base)}.access-grid p{font-size:var(--text-sm)!important}.access-grid h3{font-size:24px}.access-grid article{border-color:var(--border)}.access-grid .fact-card{padding:15px 0 0;border-top:1px solid var(--border);border-radius:0;background:transparent;box-shadow:none;transform:none}.access-grid .fact-card:hover,.access-grid .fact-card:focus-visible{background:var(--surface-soft);color:var(--text-accent)}
footer{padding:0 var(--page-gutter) var(--space-5);background:var(--surface-deep);color:var(--text-inverse);border-top:0}.footer-main{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:"navigation identity contact";align-items:center;gap:var(--space-7);padding-block:var(--space-6) var(--space-7)}.footer-main p,.footer-main a{font-size:var(--text-sm);line-height:1.7;color:var(--text-inverse-muted)}.footer-main a:hover{color:var(--text-inverse)}.footer-main h3{color:var(--accent);font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.footer-bottom{border-color:var(--border-inverse);font-size:var(--text-xs)}.social-links a{border:1px solid var(--border-inverse);border-radius:var(--radius-sm)}

@media(max-width:900px){
 .section-heading{gap:var(--space-5)}.hero-content{padding-top:calc(var(--header-height) + 56px)}
 .home-welcome{grid-template-columns:1fr;gap:var(--space-5);padding-bottom:var(--space-7);margin-bottom:var(--space-7)}.home-welcome>p{max-width:760px}
 .home-groups{grid-template-columns:1fr;gap:var(--space-7)}.home-groups-media.groups-media{aspect-ratio:16/10;max-height:440px}.home-groups-copy{max-width:720px}
 .faq-layout{grid-template-columns:1fr}.faq-chat{max-width:none}.faq-compact>.section-heading{max-width:none}
 .venue-hero{height:480px;min-height:400px}.venue-chapter{gap:var(--space-6)}
}
@media(max-width:700px){
 .home-story-grid,.home-story-reversed .home-story-grid{grid-template-columns:1fr;grid-template-areas:'main' 'details' 'copy';gap:var(--space-5)}
 .home-photo-pair{padding-top:0;gap:var(--space-4)}.home-story-copy h2{margin-bottom:var(--space-4)}.home-story>.eyebrow{font-size:22px}
 .home-food-truck{grid-template-columns:1fr;gap:var(--space-5)}.home-food-truck>img{max-height:320px}
 .venue-chapter{grid-template-columns:1fr;gap:var(--space-5)}.venue-chapter:nth-child(odd)>img{order:0}.venue-chapter>img{aspect-ratio:4/3}.venue-editorial-foot .venue-actions{align-items:flex-start}
}
@media(max-width:560px){
 .hero{height:660px;min-height:620px}.hero-content{padding:calc(var(--header-height) + 48px) var(--page-gutter) 110px}.hero-content .eyebrow{font-size:10px;letter-spacing:.11em;gap:10px;flex-wrap:nowrap;white-space:nowrap}.hero-sub{font-size:var(--text-base);margin:24px 0 28px}.hero-bottom{bottom:24px}.altitude-mark{display:none}
 .home-introduction{margin-bottom:var(--space-7)}.home-welcome-lead{font-size:24px}.home-welcome>p:last-child,.home-story-copy p{font-size:var(--text-base)}.home-groups-media.groups-media{aspect-ratio:4/3}.home-groups-actions{align-items:flex-start;flex-direction:column}
 .section-heading{margin-bottom:var(--space-6)}.faq-section{padding:var(--section-space) var(--page-gutter)}.faq-section>.section-heading{padding:0}.faq-chat{padding:var(--space-5)}.faq-chat-head{grid-template-columns:64px 1fr;gap:16px}.faq-avatar{width:64px;height:64px}.faq-chat-head p{font-size:18px}.faq-search{grid-template-columns:1fr}.faq-search .button{width:100%}.faq-suggestions{margin-right:0;flex-wrap:wrap;overflow:visible}.faq-suggestions button{flex:1 1 120px}.faq-group{margin:0 0 24px}.faq-filters{padding:0}.faq-item summary{font-size:var(--text-sm)}.faq-top>h3{font-size:36px}.faq-compact .faq-all{width:auto}
 .venue-hero-copy{right:var(--page-gutter);bottom:40px}.venue-hero-copy h2{font-size:var(--title-page)}.venue-hero-copy>p:last-child{font-size:var(--text-base)}.venue-menu-heading h2{font-size:var(--title-section)}.venue-menu-item>strong{font-size:20px}.venue-menu-item h4{font-size:var(--text-sm)}
 .staff-card>div{padding:var(--space-4)}.staff-card div>p:not(.eyebrow){font-size:var(--text-sm)}.activities-columns article,.feature-job-lists article{padding:var(--space-5)}
 .footer-main{grid-template-columns:1fr;gap:var(--space-6);padding-bottom:var(--space-7)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.venue-background{margin-top:var(--space-7);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.venue-background>summary{padding:20px 0;cursor:pointer;font-weight:600;font-size:var(--text-sm)}.venue-background>p{margin:16px 0 24px;color:var(--text-secondary);font-size:var(--text-base)}.venue-editorial-foot>h3{margin-bottom:var(--space-5)}
/* Les chapitres disposent de leur propre repère : drapeaux seulement à l’introduction. */
.venue-chapter .eyebrow::before,.venue-chapter .eyebrow::after{display:none}
.booking-button{height:var(--control-height);padding:10px 20px}
#voice-guide-toggle{box-shadow:var(--shadow-soft);border-width:2px}#voice-guide-toggle:hover,#voice-guide-toggle[aria-expanded=true]{box-shadow:var(--shadow-soft);transform:none}.voice-guide-panel{background:var(--surface-raised);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.voice-guide-panel input{font-size:16px;background:var(--surface);color:var(--text);border:1px solid var(--border)}
body.menu-open .voice-guide{visibility:hidden}
@media(max-width:900px){.mobile-nav:not([hidden]){max-height:none;height:calc(100dvh - var(--header-height))}}
@media(max-width:380px){.booking-button{padding-inline:12px}}
/* Voiles photographiques fonctionnels : contraste du texte, image ouverte côté panorama. */
.hero-shade{background:linear-gradient(90deg,#211c18b8 0%,#211c18b8 35%,#211c1826 85%)}
.venue-hero-shade{background:linear-gradient(0deg,#211c18c2 0%,#211c18a6 34%,#211c181a 85%)}
.film-button{padding:8px 14px;background:#211c18d9;border-radius:var(--radius-sm)}
@media(max-width:560px){.hero-shade{background:#211c18ad}}

/* Pied de page : logo central, navigation et coordonnées équilibrées de part et d’autre. */
.footer-identity{grid-area:identity;display:grid;place-items:center;align-self:center;justify-self:center}
.footer-main>.footer-navigation{grid-area:navigation}
.footer-contact{grid-area:contact;min-width:0;justify-self:end;width:max-content;max-width:100%}
.footer-contact .eyebrow{font-size:var(--text-xs);line-height:1.5;margin-bottom:var(--space-4)}
.footer-coordinates{display:grid;justify-items:start;gap:var(--space-1)}
.footer-coordinates a{display:flex;align-items:center;gap:var(--space-2);min-height:44px;font-family:var(--font-body);font-size:var(--text-base);font-weight:400;line-height:var(--leading-body);color:var(--text-inverse-muted)}
.footer-coordinates a:hover{color:var(--text-inverse);text-decoration:underline;text-underline-offset:4px}
.footer-address svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6}
.footer-contact .social-links{margin-top:var(--space-5);gap:var(--space-4)}
@media(max-width:900px){.footer-main{grid-template-columns:1fr;grid-template-areas:"identity" "navigation" "contact";gap:var(--space-6)}.footer-contact{justify-self:start;width:100%}}
@media(max-width:560px){.footer-contact{border-top:1px solid var(--border-inverse);padding-top:var(--space-6)}}

/* La frise reste sur le papier ; seuls 3 px de sa base rejoignent le footer. */
.footer-mountains{position:relative;z-index:1;display:flex;justify-content:center;overflow:hidden;margin-bottom:-3px;pointer-events:none}
.footer-mountains img{display:block;flex:none;width:100%;min-width:560px;height:auto}
/* Prolonger la crème de la dernière section, sans peindre les 3 px de raccord. */
main:has(>.visit:last-child)+.footer-mountains::before{content:"";position:absolute;inset:0 0 3px;background:var(--surface-raised);z-index:-1}

/* Copyright et retour en haut à gauche ; mentions légales au bord droit. */
.footer-bottom{justify-content:flex-start;gap:var(--space-5);flex-wrap:wrap}
.footer-bottom>span{order:0}.footer-bottom>[data-back-to-top]{order:1}.footer-bottom>div{order:2;margin-left:auto;justify-content:flex-end}
/* Quand la bulle fixe entre dans le container, les mentions restent entièrement dégagées. */
@media(max-width:1480px){footer{padding-bottom:calc(var(--space-9) + var(--space-4) + env(safe-area-inset-bottom))}}
