/* Booking presentation only. Existing price, availability and checkout code is unchanged. */
.bookingExperience{--bk-paper:#f6f2e9;--bk-ink:#352f25;--bk-muted:#6b6356;background:var(--bk-paper);color:var(--bk-ink);font-family:var(--font-sans);padding-top:110px;padding-bottom:40px;overflow:clip}
.bookingExperience *{box-sizing:border-box}
.bookingExperience h1,.bookingExperience h2,.bookingExperience h3{font-family:var(--font-serif);font-weight:400;letter-spacing:-.035em;color:inherit}
.bookingExperience p{line-height:1.65}
.bookingExperience .eyebrow{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--bk-muted);margin:0 0 12px}
.bookingExperience .wrap,.bookingExperience .bookingIntro,.bookingExperience .bookingSteps,.bookingExperience .bookingDateHelp,.bookingExperience .bookingAssistance{width:calc(100% - 112px);max-width:1240px;margin-inline:auto}
.bookingExperience .bookingIntro{display:grid;grid-template-columns:1.3fr .8fr;gap:60px;align-items:center;padding:28px 0 35px}
.bookingExperience .bookingIntro h1{font-size:clamp(2.9rem,4.5vw,4.5rem);line-height:1.08;margin:0 0 18px}
.bookingExperience .bookingIntroCopy>p:not(.eyebrow){font-size:.9rem;color:var(--bk-muted);max-width:49ch;margin:0 0 18px}
.bookingExperience .bookingIntro>img{width:100%;height:250px;object-fit:cover;object-position:center 58%}
.bookingExperience .bookingBenefits{display:flex;flex-wrap:wrap;gap:12px 26px;list-style:none;padding:0;margin:0;font-size:.72rem}
.bookingExperience .bookingBenefits li:before{content:'✓';margin-right:8px;color:#46634b}
.bookingExperience .bookingSteps{border-block:1px solid #352f2520;padding-block:16px}
.bookingExperience .bookingSteps ol{display:flex;gap:40px;list-style:none;padding:0;margin:0}
.bookingExperience .bookingSteps a{display:flex;align-items:center;gap:9px;color:var(--bk-muted);text-decoration:none;font-size:.75rem;min-height:30px}
.bookingExperience .bookingSteps span{font-size:.65rem;display:grid;place-items:center;width:27px;height:27px;border:1px solid #352f2540;border-radius:50%}
.bookingExperience .bookingSteps [aria-current="step"]{color:var(--bk-ink);font-weight:600}
.bookingExperience .bookingSteps [aria-current="step"] span{background:var(--bk-ink);color:var(--bk-paper)}
.bookingExperience .section{padding:32px 0;margin:0;scroll-margin-top:100px}
.bookingExperience .bookingSearchSection{padding-bottom:12px}
.bookingExperience .bookingSearchPanel{padding:26px 30px 30px;background:#fffdf8;border:1px solid #352f2520}
.bookingExperience .bookingSearchTop h2{font-size:1.95rem;line-height:1.15;margin:0 0 20px}
.bookingExperience .bookingSearchIntro{display:none}
.bookingExperience .bookingSearchForm{display:grid;grid-template-columns:1fr 1fr .72fr 1.3fr;gap:16px;align-items:end}
.bookingExperience .field{min-width:0;display:flex;flex-direction:column;gap:8px}
.bookingExperience label{font-size:.75rem;font-weight:500;color:var(--bk-ink)}
.bookingExperience input,.bookingExperience select,.bookingExperience textarea{width:100%;min-width:0;min-height:52px;background:#fffdf8;color:var(--bk-ink);border:1px solid #352f2555;border-radius:0!important;box-shadow:none!important;padding:13px 12px;font:inherit;font-size:16px}
.bookingExperience textarea{resize:vertical;min-height:105px}
.bookingExperience .btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;border:1px solid #293a2e!important;border-radius:0!important;background:#293a2e!important;color:#fffdf8!important;box-shadow:none!important;font-family:var(--font-sans);font-size:.8rem!important;font-weight:500!important;letter-spacing:.01em!important;text-transform:none!important;padding:14px 20px!important;cursor:pointer;white-space:normal;line-height:1.4;text-decoration:none}
.bookingExperience .btn:hover{background:#405243!important}
.bookingExperience .btn.is-disabled,.bookingExperience .btn[aria-disabled="true"]{opacity:.55}
.bookingExperience .bookingDateHelp{font-size:.74rem;color:var(--bk-muted);line-height:1.7;margin-top:0;margin-bottom:0}
.bookingExperience .bookingResultsHead h2{font-size:2.25rem;line-height:1.15;margin:0}
.bookingExperience .bookingResultStatus{font-size:.78rem;color:var(--bk-muted);margin:10px 0 20px}
.bookingExperience .bookingResultsGrid{display:grid;grid-template-columns:1fr;gap:24px}
.bookingExperience .emptyState{padding:32px;border:1px solid #352f2528;background:#eee9dd;grid-column:1/-1}
.bookingExperience .emptyState h3{font-size:1.6rem;margin:0 0 12px}
.bookingExperience .emptyState p{font-size:.86rem;color:var(--bk-muted);max-width:65ch;margin:0}
.bookingExperience .stayCard{display:grid;grid-template-columns:minmax(240px,.78fr) 1.5fr;border:1px solid #352f2530;background:#fffdf8;overflow:hidden;min-width:0}
.bookingExperience .stayCard.is-selected{outline:2px solid #46634b;outline-offset:3px}
.bookingExperience .stayCardMedia{min-height:300px;background:#ddd4c5}
.bookingExperience .stayCardMedia img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.bookingExperience .stayCardBody{padding:26px;display:flex;flex-direction:column;min-width:0}
.bookingExperience .stayCardTop{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}
.bookingExperience .stayCardTop>div:first-child{flex:1 1 270px}
.bookingExperience .stayCardMeta{font-size:.7rem;color:var(--bk-muted);margin:0 0 8px}
.bookingExperience .stayCardTitle{font-size:2.2rem;line-height:1.12;margin:0 0 10px}
.bookingExperience .stayCardDesc{font-size:.84rem;color:var(--bk-muted);margin:0;max-width:49ch}
.bookingExperience .stayCardPrice{font-size:.75rem;color:var(--bk-muted)}
.bookingExperience .stayCardPrice small{display:block;margin-bottom:5px;font-size:.65rem}
.bookingExperience .stayCardPrice strong{font-size:.82rem;font-weight:500}
.bookingExperience .stayCardInclusions{display:flex;flex-wrap:wrap;gap:6px 15px;padding-block:18px;font-size:.67rem;line-height:1.65;color:var(--bk-muted)}
.bookingExperience .stayCardInclusions span:empty{display:none}
.bookingExperience .stayCardFooter{display:flex;flex-wrap:wrap;gap:18px;align-items:end;justify-content:space-between;padding-top:18px;margin-top:auto;border-top:1px solid #352f2525}
.bookingExperience .stayCardFooterInfo{font-size:.75rem;line-height:1.8;flex:1 1 200px}
.bookingExperience .stayCardFooterInfo>div>strong{font-weight:500}
.bookingExperience [data-total]{display:block;font-size:1.15rem;color:var(--bk-ink)}
.bookingExperience [data-total]>div{font-size:.72rem;color:var(--bk-muted)}
.bookingExperience [data-total]>strong{font-size:1.15rem;font-weight:600}
.bookingExperience .bookingCheckoutSection{padding-block:36px 55px}
.bookingExperience .bookingCheckoutGrid{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:start;border-top:1px solid #352f2530;padding-top:38px}
.bookingExperience .guestPanel h2{font-size:2.4rem;line-height:1.15;margin:0 0 16px}
.bookingExperience .guestLead,.bookingExperience .bookingGuestGuide{font-size:.8rem;color:var(--bk-muted);margin:0 0 24px}
.bookingExperience .formGrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.bookingExperience .fieldFull{grid-column:1/-1}
.bookingExperience .bookingOptional{color:var(--bk-muted);font-weight:400}
.bookingExperience .summaryPanel{position:sticky;top:110px}
.bookingExperience .summaryCard{background:#eae5d8;padding:28px;border:1px solid #352f2525}
.bookingExperience .summaryCard h3{font-size:2rem;line-height:1.1;margin:0 0 16px}
.bookingExperience .summaryLead{display:none}
.bookingExperience .summarySelected{padding-block:18px;border-block:1px solid #352f2528;margin-bottom:16px}
.bookingExperience .summaryEyebrow{font-size:.64rem;text-transform:uppercase;letter-spacing:.09em;color:var(--bk-muted);margin:0 0 7px}
.bookingExperience .summaryTitle{font-family:var(--font-serif);font-size:1.55rem;margin:0 0 6px;line-height:1.2}
.bookingExperience .summaryMeta{font-size:.74rem;color:var(--bk-muted);margin:0}
.bookingExperience .summaryRow{display:flex;justify-content:space-between;gap:20px;padding-block:8px;font-size:.76rem;line-height:1.6}
.bookingExperience .summaryRow>span{color:var(--bk-muted)}
.bookingExperience .summaryRow strong{font-weight:500;text-align:right;max-width:65%}
.bookingExperience .summaryRowTotal{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;justify-content:space-between;border-top:1px solid #352f2530;margin-top:12px;padding-top:18px;font-size:.86rem}
.bookingExperience #summary-total{font-size:1.6rem;font-weight:500}
.bookingExperience .summaryBtn{width:100%;margin-top:16px}
.bookingExperience .summaryHint{font-size:.72rem;color:var(--bk-muted);line-height:1.65;margin:14px 0 0}
.bookingExperience .bookingChangeHouse{display:inline-flex;font-size:.74rem;color:var(--bk-ink);min-height:44px;align-items:center;gap:15px}
.bookingExperience .bookingAssistance{border-top:1px solid #352f2530;padding-top:25px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.bookingExperience .bookingAssistance h2{font-size:1.8rem;margin:0 0 8px}
.bookingExperience .bookingAssistance p{font-size:.8rem;color:var(--bk-muted);margin:0}
.bookingExperience .bookingAssistance a{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid currentColor;font-size:.8rem;color:var(--bk-ink);text-decoration:none;white-space:nowrap}
.bookingExperience :is(a,button,input,textarea,select):focus-visible{outline:3px solid #aa642f;outline-offset:4px}
@media(max-width:1000px){
 .bookingExperience .wrap,.bookingExperience .bookingIntro,.bookingExperience .bookingSteps,.bookingExperience .bookingDateHelp,.bookingExperience .bookingAssistance{width:calc(100% - 56px)}
 .bookingExperience .bookingIntro{gap:30px}
 .bookingExperience .bookingSearchForm{grid-template-columns:1fr 1fr}
 .bookingExperience .bookingCheckoutGrid{gap:28px}
 .bookingExperience .formGrid{grid-template-columns:1fr}
 .bookingExperience .stayCard{grid-template-columns:.8fr 1.2fr}
 .bookingExperience .stayCardBody{padding:22px}
 .bookingExperience .stayCardFooter .btn{width:100%}
}
@media(max-width:600px){
 .bookingExperience{padding-top:72px;padding-bottom:35px}
 .bookingExperience .wrap,.bookingExperience .bookingIntro,.bookingExperience .bookingSteps,.bookingExperience .bookingDateHelp,.bookingExperience .bookingAssistance{width:calc(100% - 40px)}
 .bookingExperience .bookingIntro{display:block;padding:20px 0 24px}
 .bookingExperience .bookingIntro>img{display:none}
 .bookingExperience .bookingIntro h1{font-size:2.6rem;line-height:1.08;letter-spacing:-.045em;margin-bottom:14px}
 .bookingExperience .bookingIntroCopy>p:not(.eyebrow){font-size:.83rem;margin-bottom:14px}
 .bookingExperience .bookingBenefits{font-size:.65rem;gap:8px 14px}
 .bookingExperience .bookingSteps{padding-block:12px}
 .bookingExperience .bookingSteps ol{justify-content:space-between;gap:8px}
 .bookingExperience .bookingSteps a{font-size:.64rem;gap:6px;line-height:1.35}
 .bookingExperience .bookingSteps span{width:23px;height:23px;flex-shrink:0;font-size:.58rem}
 .bookingExperience .section{padding-block:24px;scroll-margin-top:78px}
 .bookingExperience .bookingSearchSection{padding-bottom:12px}
 .bookingExperience .bookingSearchPanel{padding:20px 16px}
 .bookingExperience .bookingSearchTop h2{font-size:1.75rem;margin-bottom:18px}
 .bookingExperience .bookingSearchForm{gap:16px 10px}
 .bookingExperience .bookingSearchForm .field:nth-child(3),.bookingExperience .bookingSearchBtn{grid-column:1/-1}
 .bookingExperience .bookingSearchBtn{width:100%}
 .bookingExperience input,.bookingExperience select{padding:12px 8px;font-size:16px;max-width:100%}
 .bookingExperience .bookingDateHelp{font-size:.68rem}
 .bookingExperience .bookingResultsHead h2{font-size:2rem}
 .bookingExperience .stayCard{grid-template-columns:1fr}
 .bookingExperience .stayCardMedia{min-height:0}
 .bookingExperience .stayCardMedia img{height:auto;aspect-ratio:3/2}
 .bookingExperience .stayCardBody{padding:20px}
 .bookingExperience .stayCardTitle{font-size:2rem}
 .bookingExperience .stayCardPrice{width:100%}
 .bookingExperience .stayCardFooter{gap:12px}
 .bookingExperience .stayCardFooter .btn{width:100%}
 .bookingExperience .bookingCheckoutGrid{grid-template-columns:1fr;gap:28px;padding-top:28px}
 .bookingExperience .guestPanel h2{font-size:2rem}
 .bookingExperience .summaryPanel{position:static}
 .bookingExperience .summaryCard{padding:22px}
 .bookingExperience .bookingAssistance{display:block}
 .bookingExperience .bookingAssistance a{margin-top:12px}
 .bookingExperience .emptyState{padding:22px}
}
@media(prefers-reduced-motion:reduce){.bookingExperience *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Scoped to booking pages: keep the shared menu within the narrowest viewport. */
@media(max-width:360px){html[data-seo-page^="book-"] #site-header .headerInner{grid-template-columns:minmax(0,1fr) 82px 34px!important;padding-left:10px!important;padding-right:10px!important;gap:8px!important}}
/* Shared responsive rules hide generic nav elements; the in-page steps must remain visible. */
.bookingExperience .bookingSteps{display:block!important}
.bookingExperience .bookingChangeHouse{letter-spacing:normal!important;text-transform:none!important;font-weight:400!important;border-radius:0!important;background:none!important;box-shadow:none!important;padding:0!important}
