/* Château La Châteline — Website layout recovery 2.4.0
   Applies to EVERY published Studio theme, including older Signature Wave and
   Grand Domaine pages. No DB changes, no content migration, no booking logic. */
html{scroll-padding-top:90px}
body.st-site{margin:0;min-width:0;overflow-x:clip}
body.st-site *{box-sizing:border-box}
body.st-site img{max-width:100%}
body.st-site :is(h1,h2,h3,h4,p,blockquote){overflow-wrap:break-word}
body.st-site :is(input,select,textarea,button){max-width:100%}
body.st-site :is(.st-section-inner,.sig-wrap,.grd-container,.dom-container){min-width:0}
body.st-site :is(.st-section-inner,.sig-wrap,.grd-container,.dom-container) > *{min-width:0}
body.st-site :is(.st-form,.st-card-grid,.st-split,.st-contact-grid){min-width:0}
body.st-site a:focus-visible,body.st-site button:focus-visible,body.st-site input:focus-visible,body.st-site select:focus-visible,body.st-site textarea:focus-visible{outline:3px solid #d7ab55;outline-offset:3px}
body.st-site .st-skip:focus{position:fixed;top:10px;left:10px;z-index:9999;background:#fff;color:#113b32;padding:12px}

/* ===== SIGNATURE WAVE: solve user-reported broken hero, navigation and overlapping waves ===== */
body.st-theme-signature .sig-header{position:sticky;top:0;inset:auto;z-index:120;background:#06382f;padding:0;box-shadow:0 6px 22px #03231c36}
body.st-theme-signature .sig-header-inner.sig-wrap{width:min(calc(100% - 40px),1440px);min-height:88px;gap:15px;padding:9px 16px;background:transparent;border-radius:0;box-shadow:none}
body.st-theme-signature .sig-logo{position:static;inset:auto;display:grid;flex:0 0 70px;width:70px;height:70px;border:1px solid #d7b778;padding:5px;box-shadow:0 0 0 2px #124d40;transform:none}
body.st-theme-signature .sig-nav{min-width:0;gap:0}
body.st-theme-signature .sig-nav-group>a{padding:11px 9px;font-size:clamp(11px,.81vw,13px)}
body.st-theme-signature .sig-header-actions{flex-shrink:0}
body.st-theme-signature .sig-book-link{padding:12px 15px}
body.st-theme-signature .sig-wrap{width:min(calc(100% - 64px),var(--st-container,1320px));max-width:100%}
body.st-theme-signature .sig-sig_hero{height:auto!important;min-height:min(675px,85svh);display:flex;align-items:center;padding:0 0 73px!important;overflow:hidden;isolation:isolate}
body.st-theme-signature .sig-hero-inner{min-height:565px;height:auto;align-items:center;padding-block:55px 30px}
body.st-theme-signature .sig-hero-inner .sig-copy{max-width:810px;padding:0;position:relative;z-index:2}
body.st-theme-signature .sig-hero-inner h1{font-size:clamp(42px,4.35vw,70px);line-height:1.08;letter-spacing:-.035em;max-width:790px;margin:15px 0 22px;text-wrap:balance;overflow-wrap:normal}
body.st-theme-signature .sig-hero-inner p{font-size:clamp(15px,1.15vw,18px);line-height:1.6;max-width:650px;margin:0 0 25px}
body.st-theme-signature .sig-hero-actions{display:flex;flex-wrap:wrap;gap:11px;position:relative;z-index:5;margin:0}
body.st-theme-signature .sig-hero-actions .sig-button{max-width:100%;white-space:normal;text-align:center;line-height:1.35}
body.st-theme-signature .sig-benefits{margin-top:28px;gap:10px 25px}
body.st-theme-signature .sig-wave{height:57px;bottom:-2px;overflow:hidden}
body.st-theme-signature .sig-wave-forest-top,body.st-theme-signature .sig-footer-wave{display:none!important}
body.st-theme-signature .sig-sig_stats{padding:25px 0 30px}
body.st-theme-signature .sig-metric-row{align-items:stretch}
body.st-theme-signature .sig-metric{min-width:0}
body.st-theme-signature .sig-block-wrap{padding-block:clamp(35px,var(--section-space,55px),88px)}
body.st-theme-signature .sig-sig_stays .sig-block-wrap{padding-block:clamp(35px,var(--section-space,55px),88px)}
body.st-theme-signature .sig-section-header{align-items:center;flex-wrap:wrap}
body.st-theme-signature .sig-section-header h2{font-size:clamp(28px,3.1vw,51px);line-height:1.17;overflow-wrap:normal}
body.st-theme-signature .sig-category-grid,body.st-theme-signature .sig-listing-grid{min-width:0}
body.st-theme-signature .sig-category,body.st-theme-signature .sig-listing-card{min-width:0}
body.st-theme-signature .sig-category img{object-fit:cover}
body.st-theme-signature .sig-sig_fishing{margin:0!important;min-height:0;padding:clamp(65px,var(--section-space,72px),104px) 0 95px!important;overflow:hidden}
body.st-theme-signature .sig-fishing-grid{position:relative;z-index:2;min-width:0;gap:28px}
body.st-theme-signature .sig-fishing-info h2{font-size:clamp(30px,3.2vw,53px);line-height:1.14}
body.st-theme-signature .sig-checklist{min-width:0}
body.st-theme-signature .sig-sig_domain{padding-block:clamp(40px,var(--section-space,65px),88px)}
body.st-theme-signature .sig-sig_gallery{padding-block:clamp(38px,var(--section-space,50px),82px)}
body.st-theme-signature .sig-sig_booking{position:relative;margin:0!important;padding:clamp(48px,var(--section-space,58px),75px) 0 100px!important;min-height:0}
body.st-theme-signature .sig-booking-grid{align-items:center;gap:25px}
body.st-theme-signature .sig-booking-search{min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) auto;gap:10px}
body.st-theme-signature .sig-booking-search>*{min-width:0}
body.st-theme-signature .sig-booking-search input,body.st-theme-signature .sig-booking-search select{min-width:0}
body.st-theme-signature .sig-booking-note{position:relative;z-index:4;padding-top:14px}
body.st-theme-signature .sig-sig_practical{padding-block:clamp(38px,var(--section-space,56px),80px)}
body.st-theme-signature .sig-footer{margin-top:0!important;padding:70px 0 20px;overflow:hidden}
body.st-theme-signature .sig-footer-grid{position:relative;min-width:0;gap:clamp(18px,3vw,48px)}
body.st-theme-signature .sig-detail-banner{height:auto!important;min-height:365px;padding:70px 0 93px!important;align-items:center;overflow:hidden}
body.st-theme-signature .sig-detail-banner h1{font-size:clamp(37px,4.4vw,65px);line-height:1.12;max-width:880px}
body.st-theme-signature .sig-detail-banner .sig-wrap{position:relative;z-index:2}
body.st-theme-signature .sig-detail-banner .sig-wave{pointer-events:none}
body.st-theme-signature .sig-listing{padding-block:clamp(42px,5vw,80px)}
body.st-theme-signature .studio-section.st-type-hero{height:auto;min-height:420px;padding-block:95px!important}
body.st-theme-signature .studio-section.st-type-hero h1{font-size:clamp(34px,4.5vw,67px);line-height:1.1}
body.st-theme-signature .studio-section:not(.st-type-hero){padding-block:clamp(35px,var(--section-space,70px),95px)}

/* ===== GRAND DOMAINE: content cannot slip below the wave or beneath the sticky header ===== */
body.grd-site .grd-hero{height:auto;min-height:0;overflow:hidden;display:block}
body.grd-site .grd-hero-content{padding:clamp(65px,6vw,100px) 0 125px;min-height:610px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;z-index:2}
body.grd-site .grd-hero h1{font-size:clamp(40px,4.5vw,72px);line-height:1.09;max-width:830px;text-wrap:balance;overflow-wrap:normal}
body.grd-site .grd-hero p{margin:18px 0 25px}
body.grd-site .grd-hero-ctas{margin-top:2px;flex-wrap:wrap}
body.grd-site .grd-hero-points{margin-top:36px}
body.grd-site .grd-wave{bottom:-2px;height:66px}
body.grd-site .grd-page-hero{height:auto;min-height:330px}
body.grd-site .grd-page-hero .grd-container{position:relative;z-index:2;padding:67px 0 100px}
body.grd-site .grd-page-hero h1{font-size:clamp(38px,4.25vw,68px);line-height:1.15}
body.grd-site .grd-page-hero>svg{bottom:-2px;height:56px}
body.grd-site .grd-section{padding-block:clamp(40px,var(--section-space,78px),92px)}
body.grd-site .grd-heading h2{font-size:clamp(30px,3.3vw,52px);line-height:1.19}
body.grd-site .grd-booking-inner{grid-template-columns:minmax(0,1fr);gap:22px}
body.grd-site .grd-search-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr) auto}
body.grd-site .grd-search-form>*{min-width:0}
body.grd-site .grd-category-copy{padding-right:16px}
body.grd-site .grd-category-copy h3{font-size:clamp(25px,2.4vw,33px)}
body.grd-site .grd-standard>.studio-section{padding-block:clamp(40px,var(--section-space,70px),95px)}
body.grd-site .grd-standard .st-section-inner{max-width:var(--grd-max);margin-inline:auto}
body.grd-site .grd-standard .st-form label{min-width:0}
body.grd-site .grd-standard :is(.st-section-copy,.st-split,.st-contact-grid,.st-card-grid){min-width:0}
body.grd-site .grd-accom-photo{min-width:0}

/* ===== DOMAINE ÉMERAUDE: readable text and predictable layouts in all its inner pages ===== */
body.dom-site .dom-hero{min-height:0;height:auto}
body.dom-site .dom-hero-copy{padding-block:clamp(55px,6vw,90px)}
body.dom-site .dom-hero h1{font-size:clamp(39px,4vw,72px);line-height:1.13;text-wrap:balance}
body.dom-site .dom-inner-hero{min-height:0;padding-block:clamp(65px,6vw,100px)}
body.dom-site .dom-inner-hero h1,body.dom-site .dom-detail-banner h1{font-size:clamp(35px,4.2vw,64px);line-height:1.12}
body.dom-site .dom-sig_domain,body.dom-site .dom-sig_stays,body.dom-site .dom-sig_gallery,body.dom-site .dom-sig_practical,body.dom-site .dom-sig_booking{padding-block:clamp(40px,var(--section-space,75px),95px)}
body.dom-site .dom-generic>.studio-section{padding-block:clamp(40px,var(--section-space,75px),95px)}
body.dom-site .dom-generic :is(.st-split,.st-contact-grid,.st-card-grid){min-width:0}

/* Dynamic details already have a page-banner H1. Hide the duplicate generic H1
   without hiding the accommodation name from assistive technology in the banner. */
body.st-theme-signature :is(.st-type-accommodation_detail,.st-type-news_detail) :is(.st-split,.st-article) h1,
body.dom-site :is(.st-type-accommodation_detail,.st-type-news_detail) :is(.st-split,.st-article) h1,
body.grd-site .grd-standard .st-type-news_detail .st-article h1{display:none}
/* ===== CLASSIC Studio pages / legacy content, including individual detail pages ===== */
body.st-site:not(.grd-site):not(.dom-site):not(.st-theme-signature) .studio-section.st-type-hero{height:auto;min-height:480px;padding:80px 0}
body.st-site:not(.grd-site):not(.dom-site):not(.st-theme-signature) .studio-section.st-type-hero h1{font-size:clamp(37px,4.6vw,70px)}
body.st-site .st-form{min-width:0}
body.st-site .st-form label{min-width:0}
body.st-site :is(.st-form input:not([type=checkbox]),.st-form select,.st-form textarea){width:100%;max-width:100%;min-width:0}
body.st-site .st-form .st-button{white-space:normal;text-align:center}
body.st-site .st-article p{max-width:100%;overflow-wrap:anywhere}

@media (max-width:1250px){
 body.st-theme-signature .sig-mobile-toggle{display:flex;align-items:center;justify-content:center;margin-left:auto;order:2}
 body.st-theme-signature .sig-nav{display:none;position:absolute;left:0;right:0;top:100%;z-index:130;padding:15px 18px;background:#083a31;box-shadow:0 12px 26px #021d1980;max-height:min(78vh,650px);overflow:auto;flex-direction:column;align-items:stretch;gap:1px}
 body.st-theme-signature .sig-nav.is-open{display:flex}
 body.st-theme-signature .sig-nav-group{display:flex;justify-content:space-between;flex-wrap:wrap}
 body.st-theme-signature .sig-nav-group>a{flex:1;font-size:14px;padding:12px 10px}
 body.st-theme-signature .sig-submenu{position:static;flex-basis:100%;width:100%;box-shadow:none;border:none;min-width:0}
 body.st-theme-signature .sig-nav-group:hover .sig-submenu{display:none}
 body.st-theme-signature .sig-nav-group.is-open .sig-submenu{display:block}
 body.st-theme-signature .sig-header-actions{order:1;margin-left:auto}
 body.st-theme-signature .sig-header-inner{position:relative}
 body.st-theme-signature .sig-fishing-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 body.st-theme-signature .sig-fishing-spacer{display:none}
 body.st-theme-signature .sig-fishing-info{grid-column:auto;grid-row:auto}
 body.st-theme-signature .sig-checklist{grid-column:auto;grid-row:auto}
 body.st-theme-signature .sig-booking-search{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.st-theme-signature .sig-booking-search label:nth-child(3){grid-column:1 / -1}
 body.st-theme-signature .sig-booking-search button{grid-column:1 / -1;justify-content:center}
 body.grd-site .grd-search-form{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.grd-site .grd-search-form button{grid-column:1/-1;width:100%}
}
@media (max-width:900px){
 body.st-theme-signature .sig-wrap{width:calc(100% - 38px)}
 body.st-theme-signature .sig-hero-inner{min-height:0;padding-block:66px 16px}
 body.st-theme-signature .sig-sig_hero{min-height:0;padding-bottom:64px!important}
 body.st-theme-signature .sig-hero-inner h1{font-size:clamp(38px,6vw,58px)}
 body.st-theme-signature .sig-category-grid,body.st-theme-signature .sig-listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.st-theme-signature .sig-fishing-grid{grid-template-columns:1fr;gap:20px}
 body.st-theme-signature .sig-fishing-image{width:100%;height:100%;opacity:.28;mask-image:none}
 body.st-theme-signature .sig-fishing-info,body.st-theme-signature .sig-checklist{grid-column:1;grid-row:auto}
 body.st-theme-signature .sig-sig_fishing:before{background:linear-gradient(90deg,#06352fc9,#06362ff0)}
 body.st-theme-signature .sig-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.grd-site .grd-hero-content{min-height:0;padding-block:90px 115px}
 body.grd-site .grd-booking-inner{grid-template-columns:1fr}
 body.grd-site .grd-fishing{grid-template-columns:1fr}
 body.grd-site .grd-fishing-photo{min-height:315px}
 body.grd-site .grd-fishing-text{padding:42px 24px}
 body.dom-site .dom-hero{grid-template-columns:1fr}
 body.dom-site .dom-hero-image{grid-row:1;min-height:330px}
 body.dom-site .dom-hero-copy{grid-row:2;padding:55px 30px}
}
@media (max-width:650px){
 html{scroll-padding-top:65px}
 body.st-theme-signature .sig-header-inner.sig-wrap{width:calc(100% - 20px);min-height:68px;padding:6px 4px;gap:7px}
 body.st-theme-signature .sig-logo{flex-basis:52px;width:52px;height:52px;padding:3px}
 body.st-theme-signature .sig-mobile-toggle{padding:7px 9px;font-size:17px}
 body.st-theme-signature .sig-header-actions{gap:5px}
 body.st-theme-signature .sig-language{font-size:11px;padding:6px}
 body.st-theme-signature .sig-book-link{padding:9px 10px;font-size:11px}
 body.st-theme-signature .sig-book-link svg{display:none}
 body.st-theme-signature .sig-portal-link{display:none}
 body.st-theme-signature .sig-wrap{width:calc(100% - 34px)}
 body.st-theme-signature .sig-sig_hero{min-height:0;height:auto!important;padding-bottom:55px!important}
 body.st-theme-signature .sig-hero-inner{height:auto;min-height:0;padding:74px 0 25px;display:block}
 body.st-theme-signature .sig-hero-inner h1{font-size:clamp(34px,9vw,49px);line-height:1.1;margin-block:12px 18px;letter-spacing:-.035em}
 body.st-theme-signature .sig-hero-inner p{font-size:15px;line-height:1.55;margin-bottom:24px}
 body.st-theme-signature .sig-hero-actions{flex-direction:column;align-items:stretch}
 body.st-theme-signature .sig-hero-actions .sig-button{width:100%;min-height:46px}
 body.st-theme-signature .sig-benefits{margin-top:23px;gap:7px 10px}
 body.st-theme-signature .sig-benefits span{width:auto;flex:1 1 130px}
 body.st-theme-signature .sig-wave{height:39px}
 body.st-theme-signature .sig-sig_stats{padding:12px 0 22px}
 body.st-theme-signature .sig-metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.st-theme-signature .sig-category-grid,body.st-theme-signature .sig-listing-grid{grid-template-columns:1fr}
 body.st-theme-signature .sig-category{height:244px}
 body.st-theme-signature .sig-section-header h2{font-size:clamp(27px,8vw,40px)}
 body.st-theme-signature .sig-sig_fishing{padding:70px 0 70px!important}
 body.st-theme-signature .sig-sig_booking{padding:51px 0 76px!important}
 body.st-theme-signature .sig-booking-grid{grid-template-columns:1fr}
 body.st-theme-signature .sig-booking-search{grid-template-columns:1fr}
 body.st-theme-signature .sig-booking-search label:nth-child(3),body.st-theme-signature .sig-booking-search button{grid-column:1}
 body.st-theme-signature .sig-detail-banner{min-height:320px;padding:65px 0 75px!important}
 body.st-theme-signature .sig-detail-banner h1{font-size:clamp(33px,9vw,47px)}
 body.st-theme-signature .sig-practical-items{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.st-theme-signature .sig-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
 body.st-theme-signature .sig-footer-identity{grid-column:1/-1}
 body.st-theme-signature .sig-footer-bottom{display:block}
 body.st-theme-signature .sig-footer-bottom span{display:block;margin-bottom:6px}
 body.grd-site .grd-container{width:calc(100% - 36px)}
 body.grd-site .grd-hero-content{padding:65px 0 95px}
 body.grd-site .grd-hero h1{font-size:clamp(34px,9vw,46px);line-height:1.12}
 body.grd-site .grd-hero-points{gap:8px 15px}
 body.grd-site .grd-hero-ctas{width:100%}
 body.grd-site .grd-hero-ctas .grd-btn{width:100%}
 body.grd-site .grd-wave{height:43px}
 body.grd-site .grd-page-hero h1{font-size:clamp(34px,9vw,48px)}
 body.grd-site .grd-category-grid,body.grd-site .grd-stay-grid{grid-template-columns:1fr}
 body.grd-site .grd-search-form{grid-template-columns:1fr}
 body.grd-site .grd-section{padding-block:50px}
 body.grd-site .grd-story-grid{grid-template-columns:1fr}
 body.grd-site .grd-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.grd-site .grd-gallery-empty{grid-column:span 2}
 body.grd-site .grd-footer-main{grid-template-columns:1fr;gap:25px}
 body.dom-site .dom-container{width:calc(100% - 36px)}
 body.dom-site .dom-hero-copy{padding:45px 18px}
 body.dom-site .dom-hero h1{font-size:clamp(33px,8.5vw,48px)}
 body.st-site .st-form{grid-template-columns:1fr}
 body.st-site .st-form label:has(textarea),body.st-site .st-form label.st-check{grid-column:1}
 body.st-site .st-footer-main{grid-template-columns:1fr}
}
@media (max-width:365px){
 body.st-theme-signature .sig-book-link{display:none}
 body.st-theme-signature .sig-hero-inner h1{font-size:33px}
 body.st-theme-signature .sig-header-actions{margin-left:auto}
 body.grd-site .grd-brand small{display:none}
 body.st-site .st-container,body.st-site .st-section-inner{width:calc(100% - 28px)}
}
@media (prefers-reduced-motion:reduce){body.st-site *{scroll-behavior:auto!important;animation-duration:0s!important;transition-duration:0s!important}}
