body{background:var(--lh-bg);color:var(--lh-ink)}.booking-wrap{max-width:1160px;margin:auto;padding:36px 24px 48px}.booking-eyebrow{margin:0 0 12px;color:var(--lh-accent);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.booking-intro h1{font-size:clamp(34px,4vw,48px);line-height:1.1;letter-spacing:-.04em;margin:0;font-weight:850}.booking-intro>p:last-child{font-size:16px;line-height:1.75;color:var(--lh-muted);max-width:750px;margin:16px 0 28px}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.booking-card{padding:25px;background:white;border:1px solid var(--lh-line);border-radius:24px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-heading h2{font-size:19px;font-weight:800;margin:0;text-transform:capitalize;text-align:center}.calendar-heading button{height:44px;width:44px;border:1px solid var(--lh-line);border-radius:12px;background:white;cursor:pointer;flex:none;font-size:20px}.calendar-heading button:disabled{opacity:.35}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center;font-size:11px;color:var(--lh-muted);font-weight:700;margin:24px 0 10px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-day{border:1px solid #dedad4;border-radius:12px;min-height:46px;padding:5px;background:#f4f1ed;color:var(--lh-ink);font-size:14px;font-weight:700;cursor:pointer}.calendar-day.available{background:#e4f4ed;border-color:#bfdece;color:#17523b}.calendar-day.occupied{background:#fde8e8;border-color:#edc7c7;color:#8b3333;text-decoration:line-through}.calendar-day:disabled{opacity:.38;cursor:not-allowed}.calendar-day.occupied:disabled{opacity:1}.calendar-day.in-range{background:#b4d9c8;border-color:#6eae90;color:#173f2e}.calendar-day.selected{background:#20211f!important;color:white!important;border-color:#20211f!important;text-decoration:none}.calendar-day.checkout-option{cursor:pointer;text-decoration:underline;text-underline-offset:4px;border-style:dashed}.calendar-day:not(:disabled):hover{outline:2px solid #0f766e;outline-offset:1px}.calendar-status{font-size:12px;line-height:1.6;color:var(--lh-muted);min-height:39px;margin:17px 0 8px}.calendar-status[data-state=error]{color:#865719}.calendar-retry{border:0;background:none;padding:7px 0;color:#7a4510;text-decoration:underline;font-size:13px;font-weight:700;cursor:pointer}.calendar-retry[hidden]{display:none}.calendar-legend{display:flex;flex-wrap:wrap;gap:12px 15px;font-size:11px;color:var(--lh-muted);margin-top:18px}.calendar-legend span{display:inline-flex;align-items:center;gap:6px}.calendar-legend i{width:12px;height:12px;border-radius:4px;border:1px solid #dedad4;background:#f4f1ed}.calendar-legend .legend-free{background:#e4f4ed;border-color:#bfdece}.calendar-legend .legend-busy{background:#fde8e8;border-color:#edc7c7}.calendar-legend .legend-selected{background:#20211f;border-color:#20211f}.booking-help{font-size:13px;line-height:1.8;color:var(--lh-muted);padding:22px 3px 0}.booking-help strong{display:block;color:var(--lh-ink);font-size:14px}.booking-form h2{font-size:23px;line-height:1.2;font-weight:800;margin:0}.booking-form>.booking-form-lead{font-size:14px;color:var(--lh-muted);line-height:1.7;margin:12px 0 22px}.booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.booking-label{display:block;font-size:12px;font-weight:700;color:#524c46;min-width:0}.booking-label input,.booking-label select,.booking-label textarea{width:100%;min-width:0;display:block;min-height:46px;border:1px solid #d8d0c7;background:#fff;border-radius:11px;padding:11px;margin-top:7px;font-size:16px;line-height:1.4;color:#211d19}.booking-label textarea{resize:vertical;min-height:100px}.booking-label .optional{color:#837970;font-weight:400}.booking-wide{grid-column:1/-1}.booking-message{padding:15px 16px;margin:20px 0;background:#f5f1ec;border-radius:13px;font-size:14px;line-height:1.65}.booking-message p{margin:0}.booking-message p+p{margin-top:6px;font-size:12px;color:var(--lh-muted)}.booking-message[data-state=ok]{background:#eaf5ef}.booking-message[data-state=warning]{background:#fff3df}.booking-submit{margin-top:20px;width:100%;min-height:50px;padding:13px 18px;border:0;border-radius:13px;background:var(--lh-accent);color:white;font-size:15px;font-weight:800;cursor:pointer}.booking-submit:disabled{background:#aaa29a}.booking-privacy,.booking-form-status{font-size:12px;line-height:1.7;color:var(--lh-muted);margin:13px 0 0}.booking-form-status:empty{display:none}.booking-form-status[data-state=error]{padding:12px;background:#fff0ee;color:#8b3333;border-radius:10px}.booking-privacy a{color:inherit;text-underline-offset:3px}.booking-noscript{background:#fff3df;padding:18px;border-radius:14px;margin-bottom:20px}
.calendar-day.in-range{background:#e9e5df;border-color:#aca297;color:#302c27}.calendar-day.occupied.in-range{background:#fde8e8;border-color:#edc7c7;color:#8b3333}
@media(max-width:899px){.booking-grid{grid-template-columns:1fr 1fr;gap:18px}.booking-card{padding:18px}.calendar-day{min-height:40px;font-size:13px;border-radius:9px}.booking-fields{gap:11px}.calendar-legend{gap:10px;font-size:10px}.calendar-heading h2{font-size:17px}}
@media(max-width:700px){.booking-wrap{padding:28px 18px 36px}.booking-grid{grid-template-columns:1fr;gap:22px}.booking-card{padding:20px;border-radius:20px}.booking-intro>p:last-child{font-size:15px;margin-bottom:23px}.calendar-day{min-height:43px}.booking-help{padding:17px 5px 0;font-size:12px}.booking-form{scroll-margin-top:140px}.booking-label input,.booking-label select{padding-inline:9px}.calendar-legend{font-size:11px}.booking-intro h1{font-size:35px}}
