/* Booking and vouchers use the same park chooser and coastal identity as home. */
body[data-concept] .booking-page{max-width:1600px;padding:38px 5% 70px}
.booking-heading{max-width:none;display:grid;grid-template-columns:1fr auto;column-gap:40px;align-items:end;margin-bottom:28px}
.booking-heading>.eyebrow{grid-column:1/-1;margin:0 0 16px}
body[data-concept] .booking-heading h1{font:clamp(36px,3.8vw,58px)/1.1 var(--serif);letter-spacing:-1.5px;margin:0}
.booking-heading h1 br{display:none}
.booking-heading h1 em:before{content:' '}
.booking-heading>p:not(.eyebrow){font-size:15px;line-height:1.75;max-width:255px;margin:0}
.booking-destination-choice{margin-bottom:28px}
.park-choice-label{font-size:11px;line-height:1.5;font-weight:700;letter-spacing:1.5px;margin:0 0 12px}
body[data-concept] .booking-park-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;margin:0;background:transparent;border:0;border-radius:0}
body[data-concept] .booking-park-switch a{position:relative;display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:88px;padding:16px 45px 16px 18px;border:1.5px solid #7f9ca9;border-radius:16px;background:#fff;color:#00334a;font-size:20px;font-weight:700;line-height:1.3;text-decoration:none;transition:background-color .18s,border-color .18s}
body[data-concept] .booking-park-switch a>span{font-size:14px;font-weight:400}
body[data-concept] .booking-park-switch a[aria-current=page]{background:#00334a;color:#fff;border-color:#00334a;box-shadow:0 5px 14px #00334a16}
.booking-park-switch a[aria-current=page]:after{content:'✓';position:absolute;right:14px;top:16px;width:21px;height:21px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font:14px/1 var(--sans)}
body[data-concept] .booking-park-switch a:focus-visible{outline:3px solid #239b97;outline-offset:4px}
.booking-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
.booking-layout>*,.booking-heading>*{min-width:0}
.booking-setting-photo{height:430px;border-radius:28px}
.booking-setting-photo:after{background:linear-gradient(180deg,#002c4933,transparent 40%,#002c49d9)}
.booking-setting-photo>div{left:30px;bottom:30px;right:30px}
.booking-setting-photo img.booking-park-logo{position:absolute;top:24px;right:24px;width:78px;height:78px;object-fit:contain;z-index:1;background:white;border-radius:50%;padding:4px}
.booking-setting-photo .booking-park-name{display:block;font:700 clamp(40px,4.6vw,64px)/1 'Barlow Condensed',var(--sans);letter-spacing:.5px;text-transform:uppercase;margin:12px 0}
.booking-setting-photo h2{font:italic 31px/1.15 var(--serif);margin:0}
.booking-panel{border-radius:28px;padding:30px;box-shadow:0 12px 36px #00314c08}
.booking-panel-intro .eyebrow{margin-top:0}
.booking-panel-intro h2{font:clamp(30px,3vw,42px)/1.15 var(--serif);letter-spacing:-.8px}
.booking-how{padding:28px 2px 0}
.booking-how li>span{color:#268f90}
body[data-concept] #campmanager-host{font-family:var(--sans)}
body[data-concept] #campmanager-host .widget-col-inner{border-color:#c4d9df!important;border-radius:16px!important;background:#f6fafb!important}
body[data-concept] #campmanager-host .widget-select,body[data-concept] #campmanager-host .widget-input,body[data-concept] #campmanager-host .widget-date,body[data-concept] #campmanager-host .widget-guests{font-family:var(--sans)!important;color:#00334a!important}
body[data-concept] #campmanager-host .label{font-family:var(--sans)!important;color:#526f80!important}
body[data-concept] #campmanager-host [id^=idButtonCheckAvailability]{display:flex!important;align-items:center;justify-content:center;border-radius:32px!important;background:#00334a!important;color:#fff!important;min-height:50px;font:600 14px/1.4 var(--sans)!important;box-shadow:0 5px 14px #00334a16}
body[data-concept] #campmanager-host [id^=idButtonCheckAvailability]:hover{background:#176475!important}
.booking-voucher-link{margin-top:20px}
body[data-concept] .voucher-form-heading .booking-park-switch{min-width:360px}
body[data-concept] .voucher-hero-photo{border-radius:28px}
@media(hover:hover){body[data-concept] .booking-park-switch a:not([aria-current=page]):hover{background:#e9f3f5;border-color:#00334a}}
@media(max-width:1000px){.booking-heading{grid-template-columns:1fr}.booking-heading>p:not(.eyebrow){max-width:none;margin-top:16px}.booking-panel{padding:24px}.booking-setting-photo{height:400px}.booking-setting-photo>div{left:24px;right:24px}}
@media(max-width:860px){.booking-layout{grid-template-columns:1fr}.booking-setting{display:contents}.booking-setting-photo{height:310px}.booking-panel{grid-row:2}.booking-how{grid-row:3}.booking-destination-choice{margin-bottom:24px}body[data-concept] .voucher-form-heading .booking-park-switch{min-width:0;margin-top:25px}}
@media(max-width:570px){body[data-concept] .booking-page{padding-top:28px}.booking-heading h1 br{display:block}.booking-heading h1 em:before{content:none}.booking-heading{margin-bottom:24px}body[data-concept] .booking-heading h1{font-size:42px;letter-spacing:-1px}.booking-heading>p:not(.eyebrow){font-size:14px;max-width:280px}body[data-concept] .booking-park-switch a{min-height:84px;padding:15px 32px 15px 13px;font-size:18px}body[data-concept] .booking-park-switch a>span{font-size:13px}.booking-park-switch a[aria-current=page]:after{right:10px;width:18px;height:18px}.booking-setting-photo{height:270px;border-radius:24px}.booking-setting-photo .booking-park-name{font-size:44px}.booking-setting-photo h2{font-size:28px}.booking-setting-photo img.booking-park-logo{width:64px;height:64px;top:18px;right:18px}.booking-panel{padding:24px 18px;border-radius:24px}.booking-panel-intro h2{font-size:32px}.booking-how{padding-top:4px}}
@media(prefers-reduced-motion:reduce){body[data-concept] .booking-park-switch a{transition:none}}
body.motion-paused .booking-park-switch a{transition:none}
@media(forced-colors:active){.booking-park-switch a[aria-current=page]{outline:2px solid ButtonText;outline-offset:-5px}}
