:root{--booking-ink:#18324b;--booking-muted:#52636d;--booking-line:#cbd4d6;--booking-paper:#f7f5ef}
.booking-page{background:var(--booking-paper);color:var(--booking-ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.6;margin:0}
.booking-page *{box-sizing:border-box}
.booking-header{height:100px;padding:0 clamp(22px,4vw,70px);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #18324b1f}
.booking-header .booking-brand{display:block;width:230px;flex-shrink:0}
.booking-brand img{display:block;width:100%;height:auto}
.back-link{font-size:14px;font-weight:650;display:inline-block;border-bottom:1px solid currentColor;padding:8px 0;color:var(--booking-ink)}
.booking-shell{max-width:1440px;margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;align-items:start;gap:clamp(35px,6vw,95px);padding:64px clamp(22px,4vw,70px) 90px}
.booking-aside{position:sticky;top:28px;min-width:0}
.booking-kicker{font-size:13px;font-weight:650;letter-spacing:.16em;text-transform:uppercase;margin:0 0 25px;color:#536f77}
.booking-aside h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(54px,5vw,76px);font-weight:400;letter-spacing:-.055em;line-height:1.05;margin:0 0 28px}
.booking-aside>p:not(.booking-kicker){font-size:16px;line-height:1.8;color:var(--booking-muted);max-width:400px;margin:0 0 28px}
.booking-aside figure{margin:36px 0 0;overflow:hidden;border-radius:0 0 0 85px}
.booking-aside figure img{width:100%;height:360px;object-fit:cover;display:block}
.booking-aside .stay-rules{margin-top:22px!important;font-size:13px!important;color:var(--booking-muted)}
.form-surface{min-width:0;background:#fff;border:1px solid #18324b1f;padding:clamp(24px,3vw,45px);border-radius:8px}
.form-surface h2{font-size:26px;letter-spacing:-.04em;font-weight:650;line-height:1.25;margin:0 0 26px}
.draft-note{font-size:14px;line-height:1.6;background:#eaf0f1;border-left:3px solid #739398;margin:0 0 30px;padding:13px 16px;color:#3e555f}
.booking-form{margin:0}.booking-form fieldset{margin:0 0 30px;padding:0 0 30px;border:0;border-bottom:1px solid #dce2e3;min-width:0}
.booking-form legend{font-weight:650;font-size:17px;padding:0;margin-bottom:20px;letter-spacing:-.02em}
.booking-form label{font-size:14px;font-weight:600;color:var(--booking-ink);display:flex;flex-direction:column;gap:8px;min-width:0}
.booking-form label span.optional{font-weight:450;color:var(--booking-muted);display:inline;font-size:13px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}
.form-row:last-child{margin-bottom:0}
.booking-form input:not([type=radio]):not([type=checkbox]),.booking-form select,.booking-form textarea{width:100%;min-width:0;font-family:inherit;font-size:16px;line-height:1.5;color:var(--booking-ink);background:#fff;border:1px solid #adbdc4;border-radius:4px;min-height:52px;padding:13px 12px;transition:border-color .2s}
.booking-form input[type=date]{appearance:auto;min-height:52px}
.booking-form input:hover,.booking-form textarea:hover{border-color:#4c727d}
.booking-form input:focus,.booking-form textarea:focus{outline:2px solid #317e89;outline-offset:2px;border-color:transparent}
.booking-form textarea{resize:vertical;min-height:120px}
.property-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.property-choice{position:relative;cursor:pointer}
.property-choice input{position:absolute;top:14px;right:14px;z-index:1;width:18px;height:18px;accent-color:var(--booking-ink);margin:0}
.property-choice .choice-card{display:block;border:1px solid #c3cfd2;border-radius:5px;padding:0 0 14px;overflow:hidden;background:#fff;height:100%;transition:background .2s,border-color .2s}
.choice-card img{width:100%;height:104px;object-fit:cover;display:block}
.choice-card strong{display:block;font-size:15px;font-weight:650;margin:14px 13px 3px}
.choice-card small{display:block;font-size:13px;font-weight:400;color:var(--booking-muted);margin:0 13px}
.property-choice input:checked+.choice-card{border:2px solid var(--booking-ink);padding-bottom:13px;background:#edf3f2}
.property-choice input:checked+.choice-card img{height:103px}
.property-choice input:focus-visible+.choice-card{outline:3px solid #2c9298;outline-offset:4px}
.guest-note{font-size:13px;color:var(--booking-muted);margin:15px 0 0;line-height:1.6}
.booking-submit,.review-actions button,.review-actions a{cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 24px;border:1px solid var(--booking-ink);border-radius:4px;background:var(--booking-ink);color:#fff;font-size:15px;font-weight:650;text-decoration:none;line-height:1.5}
.booking-submit{width:100%}.booking-submit:hover,.review-actions button:hover{background:#2b536d}
.form-footnote{font-size:13px;color:var(--booking-muted);line-height:1.7;margin:16px 0 0}
.form-footnote a{border-bottom:1px solid #82969f}
.review-panel[hidden],.booking-form[hidden],[hidden]{display:none!important}
.review-panel:focus{outline:none}.review-panel h2{margin-bottom:20px}
.enquiry-summary{margin:0 0 28px}.enquiry-summary>div{padding:15px 0;border-bottom:1px solid #dce2e3}
.enquiry-summary dt{font-size:13px;font-weight:600;color:var(--booking-muted);margin-bottom:5px}
.enquiry-summary dd{font-size:16px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.review-actions{display:flex;gap:12px;flex-wrap:wrap}.review-actions .secondary{color:var(--booking-ink);background:#fff}
.review-actions .secondary:hover{background:#eef2f3}
.copy-status{font-size:14px;color:var(--booking-muted);margin-top:20px;min-height:24px}
.copy-fallback{margin-top:20px;width:100%;min-height:220px;padding:14px;font:14px/1.6 Manrope,Arial,sans-serif;border:1px solid #adbdc4;resize:vertical}
.booking-footer{background:#102b40;color:#d1dfe7;padding:45px 22px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px}
.booking-footer .footer-brand{background:var(--booking-paper);padding:12px 18px;width:270px;border-radius:7px}
.booking-footer img{display:block;width:100%;height:auto}.booking-footer p{font-size:14px;margin:0;line-height:1.8}
.refined-booking .booking-aside h1{font-family:Manrope,Arial,sans-serif;font-weight:600;letter-spacing:-.06em;font-size:clamp(47px,4.8vw,70px)}
.refined-booking .booking-aside figure{border-radius:24px 24px 24px 85px}.refined-booking .form-surface{border-radius:22px}
.refined-booking .booking-submit,.refined-booking .review-actions button{border-radius:10px}
.refined-booking .booking-form input:not([type=radio]),.refined-booking .booking-form textarea{border-radius:8px}
@media(max-width:1000px){.booking-shell{grid-template-columns:.8fr 1.2fr;gap:30px;padding-top:44px}.booking-aside h1{font-size:54px}.booking-aside figure img{height:310px}.form-surface{padding:26px}.form-row{gap:14px}.choice-card small{font-size:12px}}
@media(max-width:780px){.booking-header{height:88px}.booking-header .booking-brand{width:200px}.booking-shell{display:block;padding-top:42px;padding-bottom:65px}.booking-aside{position:static;margin-bottom:32px;display:grid;grid-template-columns:1fr 160px;gap:0 25px;align-items:start}.booking-aside h1{font-size:52px;grid-column:1}.booking-kicker{grid-column:1;margin-bottom:16px;font-size:12px}.booking-aside>p:not(.booking-kicker){grid-column:1;margin-bottom:0;font-size:15px}.booking-aside figure{grid-column:2;grid-row:1/3;margin:0;border-radius:0 0 0 60px}.booking-aside figure img{height:260px}.booking-aside .stay-rules{grid-column:1/-1;font-size:12px!important;margin-top:22px!important}.form-surface{max-width:680px;margin:auto;padding:30px}.refined-booking .booking-aside h1{font-size:46px}.refined-booking .booking-aside figure{border-radius:10px 10px 10px 60px}}
@media(max-width:540px){.booking-header{padding:0 22px}.booking-header .booking-brand{width:178px}.back-link{font-size:13px}.booking-shell{padding:35px 20px 55px}.booking-aside{display:block;margin-bottom:30px}.booking-aside h1,.refined-booking .booking-aside h1{font-size:49px;max-width:350px;margin-bottom:22px}.booking-aside figure{display:none}.booking-aside>p:not(.booking-kicker){font-size:16px;max-width:none}.booking-aside .stay-rules{font-size:12px!important;margin-top:18px!important}.form-surface{padding:24px 20px;border-radius:6px}.refined-booking .form-surface{border-radius:14px}.form-surface h2{font-size:24px}.draft-note{font-size:13px;padding:12px;margin-bottom:25px}.form-row{grid-template-columns:1fr;gap:18px}.form-row.guest-counts{grid-template-columns:1fr 1fr;gap:14px}.property-choices{gap:10px}.choice-card strong{margin:12px 10px 3px;font-size:14px}.choice-card small{margin:0 10px;font-size:12px}.choice-card img{height:90px}.property-choice input:checked+.choice-card img{height:89px}.property-choice input{right:9px;top:9px}.booking-form fieldset{padding-bottom:25px;margin-bottom:25px}.review-actions>*{flex:1;white-space:nowrap}.booking-footer p{max-width:290px}.booking-kicker{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Enquiry review and delivery */
.booking-honeypot{display:none!important}
.enquiry-note{font-size:14px;line-height:1.7;color:var(--booking-muted);margin:0 0 25px}
.delivery-status{font-size:14px;line-height:1.7;color:var(--booking-ink);margin:18px 0;overflow-wrap:anywhere}
.delivery-status:empty,.copy-status:empty{display:none}
.enquiry-alternatives{display:flex;gap:14px 24px;flex-wrap:wrap;margin-top:22px}
.enquiry-alternatives a,.enquiry-alternatives button{font:600 14px/1.6 Manrope,Arial,sans-serif;color:var(--booking-ink);background:none;border:0;border-bottom:1px solid currentColor;padding:5px 0;text-decoration:none;cursor:pointer}
.booking-submit:disabled,.review-actions button:disabled{cursor:wait;opacity:.65}
.review-actions button:focus-visible,.enquiry-alternatives a:focus-visible,.enquiry-alternatives button:focus-visible{outline:2px solid #317e89;outline-offset:4px}
