.demo-options{position:sticky;top:0;z-index:30;background:#fff8e9;border-bottom:1px solid #dac69c;padding:10px 20px;display:flex;gap:16px;align-items:center;justify-content:center;font:13px Arial,sans-serif;color:#123a41;flex-wrap:wrap}.demo-options a{color:#123a41;padding:7px 10px;border-radius:4px}.demo-options a[aria-current]{background:#123a41;color:white}.enquiry-layout{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);gap:60px;padding-top:65px;padding-bottom:70px;align-items:start}.enquiry-layout .contact{width:100%;max-width:none;margin:0;padding:0}.calendar-inline{position:sticky;top:85px}.calendar-design-panel h2{font-size:32px;margin:0 0 14px}.calendar-design-panel>p:not(.eyebrow){font-size:15px;line-height:1.6}.calendar-design-panel .availability-calendar{padding:20px;box-shadow:0 16px 45px #102c3214}.calendar-design-panel [hidden]{display:none!important}.availability-prompt{display:none;border:1px solid #cbd8d2;background:#edf3ef;padding:24px;margin-bottom:30px;border-radius:8px;gap:14px}.availability-prompt span{font-weight:600}.availability-prompt small{display:block;font-size:13px;line-height:1.5}.calendar-dialog{border:0;border-radius:12px;width:min(560px,calc(100% - 24px));max-height:90dvh;padding:40px 26px 20px;color:#123a41;background:#faf8f3;box-shadow:0 25px 100px #0005}.calendar-dialog::backdrop{background:#102c32b3}.dialog-close{position:absolute;right:12px;top:6px;background:transparent;border:0;font-size:30px;cursor:pointer;color:#123a41}.calendar-dialog .calendar-design-panel h2{font-size:28px}.calendar-dialog .availability-calendar{box-shadow:none}.calendar-design-panel [data-continue]{width:100%}.enquiry-layout[data-mode="popup"]{display:block;max-width:760px}.enquiry-layout[data-mode="popup"] .availability-prompt{display:grid}.calendar-day.is-free:disabled{background:#eee;color:#999;border-color:#ddd}.calendar-day.is-selected{background:#123a41;color:#fff}.calendar-clear{margin-top:8px}@media(max-width:800px){.enquiry-layout{grid-template-columns:1fr;gap:35px;padding-top:35px}.calendar-inline{position:static}.calendar-design-panel h2{font-size:28px}.demo-options{gap:4px;font-size:11px;padding:7px}.demo-options strong{display:none}.calendar-dialog{padding:40px 16px 16px}.calendar-design-panel .availability-calendar{padding:14px}}
/* Final hybrid layout */
.enquiry-layout{gap:36px;grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);padding-top:55px;padding-bottom:85px;scroll-margin-top:25px}
.enquiry-layout .contact{padding:32px;border-top:4px solid #ad573b;box-shadow:0 14px 45px #102c3212;border-radius:10px}
.enquiry-layout .contact h2{font-size:34px;line-height:1.15;margin:0 0 18px}
.enquiry-layout .contact>.eyebrow{margin:0 0 16px}
.enquiry-layout .contact>p{font-size:15px;line-height:1.6}
.enquiry-layout .contact .stay-terms{padding:12px 16px;font-size:13px;margin:20px 0 25px}
.enquiry-layout .form-grid{gap:18px}.enquiry-layout label{font-size:14px}.enquiry-layout input,.enquiry-layout select,.enquiry-layout textarea{width:100%;box-sizing:border-box;min-width:0}
.calendar-inline{top:28px}.calendar-design-panel>.eyebrow{margin:0 0 16px}.calendar-design-panel h2{font-size:32px;line-height:1.2}.calendar-design-panel .availability-calendar{border-radius:10px;box-shadow:0 12px 35px #102c320c}
.calendar-design-panel .calendar-notice{font-size:12px!important;line-height:1.65;margin:16px 0}.calendar-design-panel .calendar-escape{text-align:left;padding:8px 0;margin:8px 0 0;font-size:13px}
.calendar-controls button{width:42px;height:42px;padding:0}.calendar-controls h3{font-size:23px}.calendar-day{min-height:44px}.calendar-legend{gap:12px;font-size:12px}.calendar-status{line-height:1.5}.calendar-clear{background:transparent;border:0;padding:8px 0;text-decoration:underline;text-underline-offset:3px}.calendar-updated{font-size:11px;line-height:1.5}.calendar-dialog{box-sizing:border-box;overscroll-behavior:contain}.dialog-close{width:44px;height:44px;right:8px;top:4px}.calendar-dialog .calendar-design-panel>.eyebrow{margin-top:4px}.availability-prompt{padding:18px;background:#edf3ef}.availability-prompt .button{margin:0;width:100%;font-size:14px}.availability-prompt>span{font-size:15px}.calendar-dialog [data-continue]{margin-top:18px}
@media(max-width:1050px){.enquiry-layout{gap:24px}.enquiry-layout .contact{padding:24px}.enquiry-layout .form-grid{grid-template-columns:1fr}.enquiry-layout .contact h2{font-size:30px}}
@media(max-width:800px){.enquiry-layout[data-mode="popup"]{width:90%;padding:30px 0 55px}.enquiry-layout .contact{padding:24px 20px}.enquiry-layout .contact h2{font-size:30px}.availability-prompt{margin-bottom:28px}.calendar-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 24px);padding:48px 16px 20px}.calendar-dialog .calendar-design-panel h2{font-size:28px}.calendar-dialog .calendar-design-panel>p:not(.eyebrow){font-size:14px}.calendar-dialog .availability-calendar{padding:12px}.calendar-dialog .calendar-day{min-height:40px;padding:9px 0}.calendar-dialog .calendar-grid{gap:4px}}
/* Both columns scroll together and share the same card styling. */
.calendar-inline{position:static;background:#fff;border-top:4px solid #ad573b;border-radius:10px;padding:32px;box-shadow:0 14px 45px #102c3212;box-sizing:border-box}
.calendar-inline .calendar-design-panel h2{font-size:34px;line-height:1.15;margin:0 0 18px}
.calendar-inline .availability-calendar{padding:0;border:0;box-shadow:none;border-radius:0;background:transparent}
.calendar-inline .calendar-design-panel>.eyebrow{margin:0 0 16px}
.calendar-inline .calendar-design-panel>p:not(.eyebrow){margin-bottom:24px}
.enquiry-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
@media(max-width:1050px){.calendar-inline{padding:24px}.calendar-inline .calendar-design-panel h2{font-size:30px}}
@media(max-width:800px){.calendar-inline[hidden]{display:none}.enquiry-layout{grid-template-columns:1fr}}
/* Restore the open calendar layout; match the form typography. */
.calendar-inline{position:static;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.calendar-inline .availability-calendar{padding:20px;background:#fff;border:1px solid #ccd5d0;border-radius:10px;box-shadow:0 12px 35px #102c320c}
.enquiry-layout .calendar-design-panel h2,.enquiry-layout .contact h2{font-family:Georgia,'Times New Roman',serif;font-size:34px;font-weight:400;line-height:1.15;margin:0 0 18px}
.enquiry-layout .calendar-design-panel>.eyebrow,.enquiry-layout .contact>.eyebrow{font-family:inherit;font-size:12px;font-weight:700;line-height:1.5;letter-spacing:2px;margin:0 0 16px}
.enquiry-layout .calendar-design-panel>p:not(.eyebrow):not(.calendar-notice),.enquiry-layout .contact>p:not(.eyebrow):not(.stay-terms):not(.notice){font-family:inherit;font-size:15px;font-weight:400;line-height:1.6}
.calendar-inline .calendar-design-panel>p:not(.eyebrow){margin-bottom:16px}
@media(max-width:1050px){.enquiry-layout .calendar-design-panel h2,.enquiry-layout .contact h2{font-size:30px}}
@media(max-width:800px){.calendar-inline{padding:0}.calendar-dialog .calendar-design-panel h2{font-family:Georgia,'Times New Roman',serif;font-size:30px;font-weight:400}}
/* Compact enquiry form, retaining comfortable touch targets. */
.enquiry-layout .contact .form-grid{gap:12px 18px}
.enquiry-layout .contact input,.enquiry-layout .contact select{padding:10px 12px;min-height:44px}
.enquiry-layout .contact textarea{padding:10px 12px;min-height:96px;height:96px;resize:vertical}
.enquiry-layout .contact label{line-height:1.4;gap:5px}
.enquiry-layout .contact .stay-terms{margin:14px 0 18px;padding:10px 14px}
.enquiry-layout .contact h2{margin-bottom:12px}
.enquiry-layout .contact .privacy{margin:10px 0;line-height:1.5}
.enquiry-layout .contact .notice{margin-top:18px}
/* Distinguish availability from the white enquiry form. */
.calendar-design-panel .availability-calendar{background:#e5eeea;border-color:#b9cbc3}
.calendar-controls button{background:#f8fbf9;border-color:#a9beb4}
/* Neutral calendar surface: green/red are reserved for availability. */
.calendar-design-panel .availability-calendar{background:#f2eade;border-color:#d7c9b6}
.calendar-controls button{background:#fffaf3;border-color:#c6b59d}
/* Quiet availability palette, with a strong selected range. */
.calendar-day.is-free{background:#fffdf8;color:#183b42;border:1px solid #c9bda9;font-weight:600}
.calendar-day.is-busy{background:repeating-linear-gradient(135deg,#e3e3df,#e3e3df 6px,#d9dad6 6px,#d9dad6 8px);color:#626660;border:1px solid #b7bbb4;font-weight:400;text-decoration:line-through}
.calendar-day.is-free:disabled{background:#eee9e0;color:#918b80;border-color:transparent;font-weight:400}
.calendar-day.is-selected{background:#123a41;color:#fff;border:2px solid #e4b678;font-weight:700;text-decoration:none}
.calendar-legend span:before{background:#fffdf8;border-color:#c9bda9}
.calendar-legend span+span:before{background:repeating-linear-gradient(135deg,#e3e3df,#e3e3df 3px,#b7bbb4 3px,#b7bbb4 4px);border-color:#b7bbb4}
.calendar-day.is-free:not(:disabled):not(.is-selected):hover{background:#f7dfba;border-color:#947448}
/* Restore the white, green and red availability palette. */
.calendar-design-panel .availability-calendar{background:#fff;border-color:#ccd5d0}
.calendar-controls button{background:#fff;border-color:#a9beb4}
.calendar-day.is-free{background:#d7f2df;color:#12552b;border:1px solid #479561;font-weight:700}
.calendar-day.is-busy{background:repeating-linear-gradient(135deg,#f8d9da,#f8d9da 6px,#f2c8ca 6px,#f2c8ca 8px);color:#8b1725;border:1px solid #c96570;font-weight:700;text-decoration:line-through}
.calendar-day.is-free:disabled{background:#eee;color:#999;border-color:#ddd;font-weight:400}
.calendar-day.is-selected{background:#123a41;color:#fff;border:2px solid #e4b678;font-weight:700;text-decoration:none}
.calendar-legend span:before{background:#d7f2df;border-color:#479561}
.calendar-legend span+span:before{background:#f2c8ca;border-color:#c96570}
.calendar-day.is-free:not(:disabled):not(.is-selected):hover{background:#bfe7cb;border-color:#286c40}
.enquiry-layout[data-mode="card"]{display:block;max-width:720px}
[data-mode="card"] .availability-prompt{display:grid;margin-bottom:24px}
[data-mode="card"] #contact{scroll-margin-top:25px}
.card-form-side[hidden],.card-calendar-side[hidden]{display:none!important}
.card-back{background:transparent;border:0;padding:0 0 20px;color:#123a41;font:inherit;font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.card-calendar-side .availability-calendar{box-shadow:none;border:0;padding:12px 0}
.card-calendar-side .calendar-design-panel{max-width:480px;margin:auto}
.card-form-side h2{font-family:Georgia,'Times New Roman',serif;font-size:34px;font-weight:400}
.card-form-side>p{font-size:15px;line-height:1.6}
.card-changing{animation:card-switch .25s ease-out}
@keyframes card-switch{from{opacity:.65;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.card-changing{animation:none}}
@media(max-width:800px){.enquiry-layout[data-mode="card"]{width:90%;padding:30px 0 55px}.card-form-side h2{font-size:30px}}
/* Wider enquiry card with availability as a secondary action below dates. */
.enquiry-layout[data-mode="card"]{max-width:850px}
.availability-inline-row{grid-column:1 / -1;margin-top:-3px;margin-bottom:2px}
.enquiry-layout .contact .availability-inline-button{display:inline-block;width:auto;min-height:36px;padding:5px 0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#365d63;font:inherit;font-size:13px;font-weight:400;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.enquiry-layout .contact .availability-inline-button:hover{color:#123a41;background:transparent;text-decoration-thickness:2px}
.availability-inline-button:focus-visible{outline:2px solid #123a41;outline-offset:4px}
.enquiry-layout .contact .availability-inline-button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 13px;border:1px solid #b5c8c5;border-radius:5px;background:#f0f5f3;color:#234e54;font-size:14px;font-weight:600;text-decoration:none;box-sizing:border-box}
.enquiry-layout .contact .availability-inline-button:hover{background:#e3eeea;border-color:#6d9690;color:#123a41;text-decoration:none}
.availability-inline-row{margin-top:0;margin-bottom:4px}
/* Both faces share one grid cell and retain equal height. */
[data-mode="card"] #contact{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}
.card-form-side,.card-calendar-side{grid-area:1 / 1;min-width:0}
.card-form-side[hidden],.card-calendar-side[hidden]{display:block!important;visibility:hidden;pointer-events:none}
.card-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}
.enquiry-layout .contact .card-calendar-toolbar button{padding:6px 0;margin:0;min-height:36px;font-size:13px;background:transparent;border:0;color:#365d63;text-decoration:underline;text-underline-offset:3px}
.card-calendar-side .calendar-design-panel>.eyebrow{display:none}
.card-calendar-side .calendar-design-panel h2{margin-bottom:10px;font-size:30px}
.card-calendar-side .calendar-design-panel>p:not(.calendar-notice){margin:0 0 14px}
.card-calendar-side .calendar-grid{grid-template-rows:24px repeat(6,44px);grid-auto-rows:44px}
.card-calendar-side .calendar-updated{margin:8px 0 12px;font-size:11px;line-height:1.4}
.card-calendar-side .calendar-status{min-height:42px}
.card-calendar-side .calendar-legend{margin:10px 0}
.card-calendar-side [data-continue][hidden]{display:block!important;visibility:hidden;pointer-events:none}
@media(max-width:500px){.card-calendar-side .calendar-grid{grid-template-rows:24px repeat(6,40px);grid-auto-rows:40px}.card-calendar-side .calendar-day{min-height:40px}}
/* One spacing system for both faces of the enquiry card. */
.enquiry-layout[data-mode="card"] #contact{--card-padding:32px;padding:var(--card-padding);box-sizing:border-box}
.card-form-side,.card-calendar-side{width:100%;margin:0;padding:0;box-sizing:border-box}
.card-calendar-side .calendar-design-panel{width:100%;max-width:none;margin:0;padding:0}
.card-calendar-side .availability-calendar{margin:0;padding:0;border:0;box-shadow:none}
.card-calendar-toolbar{margin:0 0 16px;padding:0}
.card-calendar-side .calendar-design-panel h2,.card-form-side h2{margin:0 0 12px;font-size:34px;line-height:1.15}
.card-calendar-side .calendar-design-panel>p:not(.calendar-notice),.card-form-side>p{margin:0 0 18px;font-size:15px;line-height:1.6}
@media(max-width:1050px){.enquiry-layout[data-mode="card"] #contact{--card-padding:24px}.card-calendar-side .calendar-design-panel h2,.card-form-side h2{font-size:30px}}
@media(max-width:800px){.enquiry-layout[data-mode="card"] #contact{--card-padding:20px}}
