/* v9 — original KosherHotel blue / white / near-black / luxury-gold identity. */
:root { --kh8-navy:#0038a8;--kh8-teal:#0038A8;--kh8-ink:#15191f;--kh8-gold:#b99b53;--kh8-muted:#647181;--kh8-stroke:#e1e6ed;--kh8-bg:#fff;--kh8-shadow:0 12px 32px rgba(0, 56, 168, 0.09); }
.kh-v9 .kh-v8-nav {background:#0038a8!important;}
.kh-v9 .kh-v8-brand {min-width:185px;}
.kh-v9 .kh-v9-brand-logo {max-width:185px;height:72px;object-fit:contain;}
.kh-v9 .kh-v8-hero.kh-hero {background:linear-gradient(115deg,#0038a8,#0038A8 77%,#0038A8)!important;}
.kh-v9 .kh-v8-nav-links a,.kh-v9 .kh-v8-preference,.kh-v9 .kh-v8-host-link {color:#fff;}
.kh-v9 .kh-v8-overline,.kh-v9 .kh-v8-kicker {color:var(--kh8-gold);}
.kh-v9 .kh-v8-hero-pills a:hover {color:#0038a8;}
.kh-v9 .kh-v8-account:hover {background:#f6ead1;color:#0038a8;}
.kh-v9 .kh-v8-type-icon,.kh-v9 .kh-v8-card-link {background:#E3E9F5;color:#0038a8;}
.kh-v9 .kh-v8-type-card:hover,.kh-v9 .kh-v8-property-card:hover {border-color:#a8bee5;}
.kh-v9 .kh-v8-submit,.kh-v9 .kh-v8-filter-apply,.kh-v9 .kh-v8-result-cta {background:#0038A8;}
.kh-v9 .kh-v8-submit:hover,.kh-v9 .kh-v8-filter-apply:hover,.kh-v9 .kh-v8-result-cta:hover {background:#0038a8;}
.kh-v9 .kh-v8-host-banner {background:linear-gradient(120deg,#0038a8,#0038A8);}
.kh-v9 .kh-v8-host-button {background:#c4a46d;color:#111;}
.kh-v9 .kh-v8-feature-chip {color:#0038A8;}
.kh-v9 .kh-v8-result-type,.kh-v9 .kh-v8-link {color:#0038A8;}
.kh-v9 .kh-footer,.kh-v9 footer {background-color:#0038A8;}
.kh-v9 .kh-v8-property-tag {color:#0038A8;}
.kh-v9 .kh-v8-property-media {background:#E1E8F5;}
/* Explicitly fictional showcase; never share CSS/CTA patterns with genuine bookable inventory. */
.kh-v9-showcase-intro {margin-top:45px!important;margin-bottom:15px!important;padding:27px 30px;border:1px solid #e5eaf3;border-radius:17px;background:linear-gradient(115deg,#EEF2F9,#fff)!important;}
.kh-v9-showcase-intro h2 {font-size:clamp(23px,3vw,32px);font-weight:800;color:#101c32;margin:6px 0 8px;letter-spacing:-.6px;}
.kh-v9-showcase-intro p {font-size:13px;color:#536279;line-height:1.7;max-width:900px;margin:0;}
.kh-v9-demo-label {display:inline-flex;align-items:center;gap:6px;color:#856629;letter-spacing:1.2px;font-size:10px;font-weight:900;text-transform:uppercase;}
.kh-v9-showcase-section {margin-top:18px!important;margin-bottom:45px!important;}
.kh-v9-demo-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;}
.kh-v9-demo-card {overflow:hidden;background:#fff;border:1px solid #e5eaf1;border-radius:16px;box-shadow:0 5px 21px rgba(23,43,76,.055);min-width:0;}
.kh-v9-demo-image {position:relative;height:205px;background:linear-gradient(145deg,#D4DDF0,#f8f8fa);overflow:hidden;}
.kh-v9-demo-image img {display:block;width:100%;height:100%;object-fit:cover;}
.kh-v9-demo-badge {position:absolute;top:11px;left:11px;max-width:calc(100% - 22px);background:#fff;border:1px solid #e7decc;color:#604d22;box-shadow:0 2px 8px #0002;padding:7px 9px;border-radius:7px;font-size:9px;font-weight:900;letter-spacing:.35px;}
.kh-v9-demo-copy {padding:14px 16px 13px;}
.kh-v9-demo-place {color:#60728d;font-size:11px;font-weight:600;display:flex;align-items:center;gap:3px;margin-bottom:6px;}
.kh-v9-demo-copy h3 {font-size:17px;line-height:1.25;font-weight:800;color:#132347;min-height:42px;margin:0 0 8px;}
.kh-v9-demo-copy p {font-size:12px;line-height:1.5;color:#63718a;min-height:54px;margin:0 0 12px;}
.kh-v9-demo-bottom {border-top:1px solid #e8ebf0;padding-top:10px;display:flex;gap:10px;justify-content:space-between;align-items:center;font-size:11px;color:#566980;}
.kh-v9-demo-bottom i {font-size:16px;margin-right:3px;vertical-align:-2px;color:#b99b53;}
.kh-v9-demo-unavailable {display:inline-block;flex:none;padding:6px 9px;border-radius:8px;background:#eef2f8;color:#5d6b7c;font-size:10px;font-weight:800;cursor:not-allowed;}
.kh-v9-source-note {font-size:11px;color:#6a7588;margin-top:-20px;margin-bottom:35px;}
.kh-v9-source-note a {color:#0038a8;text-decoration:underline;}
.kh-v9-search-demo-title {padding:18px 0 10px;border-top:1px solid #e5eaf0;margin-top:20px;}
.kh-v9-search-demo-title h2 {font-size:23px;margin:5px 0;color:#14274a;}
.kh-v9-search-demo-title p {font-size:12px;color:#63718a;line-height:1.55;}
.kh-v9-result-list .kh-v9-demo-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
@media(max-width:991px) {.kh-v9-demo-grid {grid-template-columns:repeat(2,minmax(0,1fr));}.kh-v9 .kh-v8-brand{min-width:140px;}.kh-v9 .kh-v9-brand-logo{height:60px;max-width:150px;}}
@media(max-width:640px) {.kh-v9-demo-grid{grid-template-columns:1fr 1fr;gap:10px}.kh-v9-demo-image{height:142px}.kh-v9-demo-copy{padding:11px}.kh-v9-demo-copy h3{font-size:13px;min-height:48px}.kh-v9-demo-copy p{font-size:11px;min-height:65px}.kh-v9-demo-badge{font-size:8px;padding:5px 6px;line-height:1.3}.kh-v9-demo-bottom{align-items:flex-start;flex-direction:column;gap:5px}.kh-v9-showcase-intro{padding:19px}.kh-v9 .kh-v8-brand{min-width:0;}.kh-v9 .kh-v9-brand-logo{height:56px;max-width:135px;}}
@media(max-width:350px) {.kh-v9-demo-grid{grid-template-columns:1fr}.kh-v9-demo-copy h3,.kh-v9-demo-copy p{min-height:0}.kh-v9-demo-image{height:190px}}

/* Mobile date dialog: keep both months scrollable inside the viewport. */
@media(max-width:640px){
.kh-v9 .daterangepicker{position:fixed!important;top:72px!important;bottom:76px!important;left:12px!important;right:12px!important;width:auto!important;max-width:calc(100% - 24px)!important;max-height:calc(100dvh - 148px);overflow:auto!important;box-sizing:border-box;z-index:1060}
.kh-v9 .daterangepicker:before,.kh-v9 .daterangepicker:after{display:none!important}
.kh-v9 .daterangepicker .drp-calendar{float:none!important;width:100%!important;max-width:none!important;padding:8px!important;box-sizing:border-box}
.kh-v9 .daterangepicker .calendar-table{width:100%;padding:0!important}
.kh-v9 .daterangepicker table{width:100%;table-layout:fixed}
.kh-v9 .daterangepicker .calendar-table th,.kh-v9 .daterangepicker .calendar-table td{min-width:0!important;width:auto!important;height:38px!important;padding:0!important}
.kh-v9 .daterangepicker .drp-buttons{position:sticky;bottom:0;background:#fff;z-index:1}
.kh-v9 .daterangepicker select{max-width:100%;font-size:16px}
.kh-v9 .kh-v8-search-field input,.kh-v9 .kh-v8-search-field select{font-size:16px!important}
.kh-v9 .kh-board-controls button{min-width:36px;min-height:36px}
}

/* Keep the guest summary and dropdown within a narrow search column. */
@media(max-width:640px){
.kh-v9 .kh-v8-field-guests{min-width:0}
.kh-v9 #khGuestBtn{width:100%;min-width:0;max-width:100%;height:auto!important;min-height:38px;white-space:normal!important;overflow-wrap:anywhere;line-height:1.3!important}
.kh-v9 #khGuestDropdown{left:auto!important;right:0!important;width:280px!important;min-width:0!important;max-width:calc(100vw - 48px)!important;box-sizing:border-box}
.kh-v9 #khGuestDropdown .kh-v8-picker-row{gap:12px}
.kh-v9 #khGuestDropdown .kh-v8-picker-row>span,.kh-v9 #khGuestDropdown .kh-v8-picker-row>label{min-width:0;white-space:normal;overflow-wrap:anywhere}
.kh-v9 #khGuestDropdown .kh-stepper{flex-shrink:0}
.kh-v9 #khGuestDropdown .kh-stepper button{min-width:36px;min-height:36px}
}

/* Short pages keep the footer at the viewport bottom. */
body.kh-v9{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
body.kh-v9>.kh-footer{margin-top:auto!important;flex-shrink:0}
body.kh-v9>nav,body.kh-v9>main,body.kh-v9>section{flex-shrink:0}

/* Mobile: heading, reservation search, then announcement. */
@media(max-width:767px){
 .kh-announcement-board.kh-mobile-after-search{position:relative;inset:auto;display:block;box-sizing:border-box;width:calc(100% - 32px);max-width:680px;margin:24px auto 0;z-index:1}
 .kh-announcement-board.kh-mobile-after-search p{font-size:12px!important;line-height:1.45!important;color:#526174!important;margin:0 0 10px!important}
}
@media(max-width:640px){
 .kh-announcement-board.kh-mobile-after-search p{grid-column:2;font-size:11px!important;margin:0 0 8px!important}
}
