/* Guest feedback: explicit entry points; no booking or authentication permissions change. */
.header-date-link{display:none}.guest-booking-limit{padding:18px 22px;border:1px solid #ced9cf;background:#edf2e9;color:#244436;font-size:15px;line-height:1.6;margin:20px auto}
.guest-booking-limit strong{display:block;font-size:17px;margin-bottom:4px}.guest-booking-limit p{margin:0}.guest-booking-limit[hidden]{display:none!important}
.site-reviewed.home-page .hero-mobile-actions{display:flex!important;visibility:visible!important;opacity:1!important;gap:10px;flex-wrap:wrap;margin-top:20px;max-width:440px}
.site-reviewed.home-page .hero-mobile-actions a{display:flex!important;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;font-size:15px;line-height:1.4;border:1px solid #eee9df;text-decoration:none;flex:1 1 170px}
.site-reviewed.home-page .hero-mobile-actions a:first-child{background:#f5f2ec;color:#173b30;font-weight:600}.site-reviewed.home-page .hero-mobile-actions a:last-child{background:#152c2280;color:#fff}
.home-page[data-inline-booking] #booking{position:relative!important;inset:auto!important;z-index:1!important;transform:none!important;visibility:visible!important;max-height:none!important;height:auto;margin:0!important;padding:28px 0!important;background:#f3f1ee!important;overflow:visible!important;pointer-events:auto!important;scroll-margin-top:130px}
.home-page[data-inline-booking] .booking-sheet-overlay,.home-page[data-inline-booking] .booking-sheet-close{display:none!important}
.home-page[data-inline-booking] #booking .booking-card{display:block!important;width:var(--shell,calc(100% - 80px))!important;max-width:1160px!important;padding:24px!important;min-height:0!important;background:#fff!important;box-shadow:none!important;backdrop-filter:none!important;color:#244436}
.home-page[data-inline-booking] #booking .booking-intro{margin:0 0 18px}.home-page[data-inline-booking] #booking .booking-intro h2{font-size:26px;line-height:1.25;margin:0 0 6px}.home-page[data-inline-booking] #booking .booking-intro p{font-size:14px;line-height:1.6;letter-spacing:0;text-transform:none}
.home-page[data-inline-booking] #bookingForm{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:14px;align-items:end;margin:0!important}
.home-page[data-inline-booking] #bookingForm label{display:flex!important;flex-direction:column;gap:8px;min-width:0;min-height:0!important;padding:0!important;border:0!important;background:transparent!important}
.home-page[data-inline-booking] #bookingForm label span{font-size:13px;color:#365143;letter-spacing:0;text-transform:none}
.home-page[data-inline-booking] #bookingForm input,.home-page[data-inline-booking] #bookingForm select{box-sizing:border-box!important;display:block!important;width:100%!important;min-width:0!important;min-height:50px!important;height:50px!important;padding:10px!important;border:1px solid #bdcbbc!important;border-radius:4px;background:#fff!important;color:#244436!important;font:400 16px/1.4 Manrope,Arial,sans-serif!important;appearance:auto}
.home-page[data-inline-booking] #bookingForm .booking-submit{min-height:50px;height:auto;padding:13px 18px;font-size:14px;line-height:1.4;background:#203f34;color:#fff;border-radius:4px}
.home-page[data-inline-booking] #bookingForm>p{grid-column:1/-1;line-height:1.5;font-size:13px;margin:0}.home-page[data-inline-booking] .booking-calendar-link{display:inline-flex;align-items:center;min-height:44px;margin-top:10px;text-underline-offset:4px;font-size:14px;color:#244436}
.booking-preview-mode .flow-steps{display:none!important}.booking-preview-mode .flow-head .page-kicker{font-size:13px}.booking-preview-mode .guest-preview-next{margin:20px 0;padding:18px;border:1px solid #b9cbbb;background:#edf2e9;border-radius:7px;color:#244436}
.guest-preview-next h3{font-size:20px;line-height:1.4;margin:0 0 8px;font-weight:550}.guest-preview-next p{font-size:14px;line-height:1.7;margin:0}
.guest-preview-actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.guest-preview-actions button,.guest-preview-actions a{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;font-size:14px;line-height:1.45;border-radius:4px}
.guest-preview-actions button{background:#244436;color:#fff;border:1px solid #244436;cursor:pointer}.guest-preview-actions a{color:#244436;background:#fff;border:1px solid #bdcbbc;text-decoration:none}
.booking-preview-mode[data-preview-quote=complete] #bookingForm .v228-booking-form-actions,.booking-preview-mode[data-preview-quote=complete] #calendarShortcut{display:none!important}
.booking-preview-mode .price-summary-plan,.booking-preview-mode .price-summary-deposit,.booking-preview-mode .price-summary-budget{display:none!important}
.guest-preview-actions :focus-visible,.header-date-link:focus-visible,.booking-calendar-link:focus-visible,.hero-mobile-actions a:focus-visible{outline:2px solid #ad8b4d;outline-offset:3px}
@media(max-width:1120px){.header-date-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-left:auto;margin-right:10px;padding:8px 12px;background:#244436;color:#fff;border-radius:3px;font-size:13px;line-height:1.3;text-decoration:none}.home-page[data-inline-booking] #bookingForm{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page[data-inline-booking] #bookingForm .booking-submit{grid-column:1/-1}}
@media(max-width:760px){.site-reviewed.home-page .hero-mobile-actions{margin-top:16px;max-width:none}.site-reviewed.home-page .hero-mobile-actions a{flex:1 1 140px;font-size:14px;padding:11px 12px}.home-page[data-inline-booking] #booking .booking-card{width:calc(100% - 40px)!important;padding:20px!important}.home-page[data-inline-booking] #booking{padding:20px 0!important;scroll-margin-top:118px}.guest-booking-limit{font-size:14px;padding:16px}.guest-booking-limit strong{font-size:16px}.guest-preview-actions{display:grid;grid-template-columns:1fr}.header-date-link{font-size:12px;padding:8px 10px;margin-right:7px}.guest-preview-next h3{font-size:18px}}

body.booking-preview-mode main.flow-page .flow-steps.v228-three-steps{display:none!important}

.guest-preview-actions .technical-entry-link{background:#244436;color:#fff;border-color:#244436}.guest-preview-actions button{background:#fff;color:#244436}

/* Short landscape screens: keep the hero below the header without changing portrait or desktop. */
@media (orientation:landscape) and (max-height:540px) and (max-width:1120px){
 .site-reviewed.home-page .hero{height:auto!important;min-height:540px!important;max-height:none!important}
 .site-reviewed.home-page .hero-inner{height:auto!important;min-height:540px!important;align-items:flex-start!important;padding-top:142px!important;padding-bottom:32px!important}
 .site-reviewed.home-page .hero-message-premium{width:100%!important;max-width:620px!important;margin:0!important;padding:0!important}
 .site-reviewed.home-page .hero-overline{font-size:11px!important;line-height:1.45!important;max-width:54ch!important;margin:0 0 12px!important}
 .site-reviewed.home-page .hero-message-premium h1{font-size:38px!important;line-height:1.08!important;max-width:24ch!important;margin:0!important}
 .site-reviewed.home-page .hero-message-premium .hero-subtitle{max-width:620px!important;font-size:15px!important;line-height:1.5!important;margin-top:14px!important}
 .site-reviewed.home-page .hero-detail{max-width:620px!important;font-size:13px!important;line-height:1.5!important;margin-top:8px!important}
 .site-reviewed.home-page .hero-mobile-actions{max-width:480px!important;margin-top:16px!important}
}

/* iOS date controls: keep native pickers, but never let their intrinsic box enlarge a grid cell. */
body.site-reviewed #bookingForm,body.site-reviewed #bookingForm .flow-fields,body.site-reviewed #bookingForm label{box-sizing:border-box;min-width:0!important;max-width:100%!important}
body.site-reviewed #bookingForm .flow-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
body.site-reviewed #bookingForm input[type=date]{box-sizing:border-box!important;display:block!important;position:relative!important;width:100%!important;min-width:0!important;max-width:100%!important;inline-size:100%!important;min-inline-size:0!important;max-inline-size:100%!important;margin:0!important;padding:0!important;min-height:50px!important;height:50px!important;-webkit-appearance:none!important;appearance:none!important;font-size:16px!important;line-height:normal!important;text-align:center!important;transform:none!important;box-shadow:none!important;background:#fff!important;color:#244436!important}
body.site-reviewed #bookingForm input[type=date]::-webkit-date-and-time-value{min-width:0;max-width:100%;margin:0;padding:0;text-align:center}
body.site-reviewed #bookingForm input[type=date]::-webkit-datetime-edit{display:block;min-width:0;max-width:100%;padding:0;margin:0}
body.site-reviewed #bookingForm input[type=date]::-webkit-calendar-picker-indicator{margin:0 10px 0 0;flex:none}
body.site-reviewed #bookingForm select{box-sizing:border-box!important;min-width:0!important;max-width:100%!important}
body.site-reviewed #bookingForm .vv-calendar-edit[hidden],body.site-reviewed #bookingForm .vv-calendar-months[hidden],body.site-reviewed #bookingForm .vv-calendar-legend[hidden],body.site-reviewed #bookingForm .vv-calendar-actions[hidden]{display:none!important}
@media(max-width:760px){
 body.site-reviewed #bookingForm .flow-fields,body.home-page[data-inline-booking] #bookingForm{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
 body.site-reviewed #bookingForm .flow-fields>label,body.home-page[data-inline-booking] #bookingForm>label{grid-column:1/-1!important;width:100%!important;min-width:0!important;margin:0!important}
 body.site-reviewed #bookingForm input[type=date]{min-height:52px!important;height:52px!important}
 body.site-reviewed #bookingForm .vv-calendar{width:100%;max-width:100%;box-sizing:border-box}
}

/* The inline calendar is a solid document section, not the former translucent sliding sheet. */
body.home-page[data-inline-booking] #booking,body.home-page[data-inline-booking] #booking .booking-card,body.home-page[data-inline-booking] #bookingForm,body.home-page[data-inline-booking] #bookingForm>label{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;filter:none!important;transform:none!important;perspective:none!important;will-change:auto!important;transition:none!important}
body.home-page[data-inline-booking] #booking .booking-card,body.home-page[data-inline-booking] #bookingForm{box-sizing:border-box;min-width:0;max-width:100%}
body.home-page[data-inline-booking] #bookingForm>label::before,body.home-page[data-inline-booking] #bookingForm>label::after{content:none!important;display:none!important}
@media(max-width:1120px){
 /* Keep the homepage rule independent of :has(), which older Safari cannot parse. */
 body.site-reviewed.home-page:not(.menu-open) .site-header.is-scrolled{background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;filter:none!important;will-change:auto!important}
 body.site-reviewed:has(main.booking-refined):not(.menu-open) .site-header.is-solid,body.site-reviewed:has(main.booking-refined):not(.menu-open) .site-header.is-scrolled{background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;filter:none!important;will-change:auto!important}
}


/* Responsive audit: keep every quick-booking control inside the card at tablet widths. */
@media(min-width:761px) and (max-width:1120px){
 .global-quick-booking__card{grid-template-columns:minmax(0,1fr)}
 .global-quick-booking__form{grid-template-columns:repeat(2,minmax(0,1fr))}
 .global-quick-booking__submit,.global-quick-booking__status{grid-column:1/-1}
 .global-quick-booking__status{position:static}
}
/* Let the wordmark shrink before either mobile header action leaves the screen. */
@media(max-width:760px){
 body.site-reviewed.home-page .site-header .brand{flex:0 1 184px;min-width:0;margin-right:12px}
 body.site-reviewed.home-page .site-header .header-date-link,body.site-reviewed.home-page .site-header .menu-toggle{flex-shrink:0}
}
/* Enlarged text must wrap inside grid tracks instead of widening an entire section. */
.v227-split>*,.v227-heading>*,.v227-booking-path>.shell>*,.home-intro-premium-grid>*{min-width:0}
.v227-page :is(h1,h2,h3,.page-kicker),.home-intro-premium h2{overflow-wrap:anywhere}
