.blk-booking-app{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;color:#e8e3d9}.blk-calendar-wrap,.blk-form-wrap,.blk-confirm{background:#1c2020;border:1px solid #3a4140;padding:26px;border-radius:8px}.blk-cal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.blk-cal-head h3{margin:0;font-size:24px}.blk-cal-head button{background:#292f2e;color:#e8e3d9;border:1px solid #454c4a;border-radius:5px;font-size:28px;padding:0 14px;cursor:pointer}.blk-weekdays,.blk-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.blk-weekdays span{text-align:center;font-size:11px;color:#a68a5b;font-weight:bold;padding-bottom:10px}.blk-day{min-height:44px;border:1px solid #38403e;border-radius:4px;background:#292f2e;color:#e8e3d9;cursor:pointer;font-size:14px}.blk-day.blk-green{background:#255943}.blk-day.blk-orange{background:#91632b}.blk-day.blk-red{background:#78332e;opacity:.75;cursor:not-allowed}.blk-day.blk-selected{outline:2px solid #e8e3d9;outline-offset:-3px}.blk-day:focus-visible{outline:3px solid #a68a5b}.blk-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;font-size:12px}.blk-dot{width:10px;height:10px;display:inline-block;border-radius:2px;margin-right:4px}.blk-dot.blk-green{background:#255943}.blk-dot.blk-orange{background:#91632b}.blk-dot.blk-red{background:#78332e}.blk-muted{color:#aeb3b0;font-size:13px;line-height:1.6}.blk-form-wrap h3{margin:0 0 18px}.blk-booking-form label{display:block;color:#e8e3d9;font-size:13px;margin-bottom:15px}.blk-booking-form input,.blk-booking-form select{box-sizing:border-box;display:block;width:100%;padding:12px;margin-top:6px;background:#111313;color:#e8e3d9;border:1px solid #515857;border-radius:4px;color-scheme:dark}.blk-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.blk-quote,.blk-summary{background:#111313;border-left:3px solid #a68a5b;padding:16px;margin:20px 0;line-height:1.8}.blk-quote strong{font-size:22px;color:#e8e3d9}.blk-booking-form .btn{width:100%;cursor:pointer}.blk-error{background:#78332e;padding:12px}.blk-eyebrow{letter-spacing:2px;color:#a68a5b;font-size:12px}@media(max-width:850px){.blk-booking-app{grid-template-columns:1fr}.blk-calendar-wrap,.blk-form-wrap{padding:18px}}@media(max-width:420px){.blk-day{min-height:36px;font-size:12px}.blk-days,.blk-weekdays{gap:3px}}

.blk-day.blk-checkout-selected{outline:3px solid #e8e3d9;outline-offset:-3px;box-shadow:inset 0 0 0 2px #111313}
.blk-day.blk-in-range{box-shadow:inset 0 -4px 0 #a68a5b}
.blk-booking-form input[type=tel]{width:100%}

/* Checkout selection uses range validity, never arrival-only red/orange/green status. */
.blk-day.blk-checkout-available{background:#255943;color:#f3f0e9;cursor:pointer;opacity:1}
.blk-day.blk-checkout-unavailable{background:#292f2e;color:#78817d;opacity:.55;cursor:not-allowed}
.blk-choosing-checkout .blk-day.blk-selected{background:#a68a5b;color:#111313;opacity:1;outline:3px solid #e8e3d9}
.blk-choosing-checkout .blk-day.blk-in-range{background:#355146;box-shadow:inset 0 -4px 0 #a68a5b}
.blk-choosing-checkout .blk-legend{display:none}
.blk-choosing-checkout .blk-calendar-wrap:after{content:'Choose your check-out date. Green dates are valid for your selected arrival; grey dates cannot be selected.';display:block;margin-top:12px;color:#b6b8b4;font-size:13px}

/* Occupied nights are ALWAYS red, regardless of arrival eligibility.
   The check-out date itself is not occupied. */
.blk-day.blk-occupied-night,
.blk-choosing-checkout .blk-day.blk-occupied-night {
 background:#78332e!important;
 color:#e8e3d9!important;
 opacity:.9;
 cursor:not-allowed;
}
.blk-day.blk-occupied-night::after {content:' •';font-size:14px}

.blk-reset{display:inline-block;margin:14px 0 0;padding:9px 14px;background:#262b2b;border:1px solid #555;color:#e8e3d9;border-radius:4px;cursor:pointer}
.blk-reset:hover{background:#393f3f}
.blk-day.blk-occupied-night:disabled{cursor:not-allowed}

.blk-legal-checks{margin:18px 0;display:grid;gap:12px}.blk-legal-checks label{display:flex;align-items:flex-start;gap:10px;line-height:1.5}.blk-legal-checks input{width:18px;height:18px;flex:none;margin-top:3px}.blk-legal-checks a{color:#c9aa75;text-decoration:underline}
