/* KosherHotel v8. Scoped additive visual system; preserve legacy templates. */
:root { --kh8-navy:#132f46; --kh8-ink:#172738; --kh8-muted:#617284; --kh8-gold:#c4a46d; --kh8-stroke:#dfe7e9; --kh8-bg:#f7f9f8; --kh8-teal:#216978; --kh8-shadow:0 16px 38px rgba(22,48,66,.08); }
body.kh-v8 {font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:#fff;color:var(--kh8-ink);font-size:15px;}
.kh-v8 button,.kh-v8 a,.kh-v8 input,.kh-v8 select {transition:color .18s,background .18s,border-color .18s,transform .18s,box-shadow .18s;}
.kh-v8 a {text-decoration:none;}
.kh-v8 :focus-visible {outline:3px solid #d0a760;outline-offset:3px;}
.kh-v8-nav {position:relative;z-index:1010;background:var(--kh8-navy)!important;border-bottom:1px solid rgba(255,255,255,.13);padding:14px 0;min-height:76px;}
.kh-v8-nav-inner {display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:nowrap;}
.kh-v8-brand {display:inline-flex;align-items:center;min-width:145px;color:#fff;font-size:24px;letter-spacing:-.5px;}
.kh-v8-logo {display:block;height:44px;max-width:170px;width:auto;object-fit:contain;}
.kh-v8-nav-links,.kh-v8-nav-actions{display:flex;align-items:center;gap:22px;}
.kh-v8-nav-links a {font-weight:600;font-size:13px;color:#dbe9ee;white-space:nowrap;}
.kh-v8-nav-links a:hover,.kh-v8-host-link:hover {color:#fff;}
.kh-v8-nav-links i,.kh-v8-nav-actions i {font-size:19px;vertical-align:-3px;margin-right:4px;}
.kh-v8-preference {appearance:none;border:0;background:none;color:#e6f0f3;font-weight:700;font-size:13px;padding:7px 0;cursor:pointer;}
.kh-v8-host-link {color:#e6f0f3;font-size:13px;font-weight:600;white-space:nowrap;}
.kh-v8-account {display:flex;align-items:center;gap:5px;background:#fff;border-radius:10px;padding:10px 14px;color:var(--kh8-navy);font-weight:700;font-size:13px;white-space:nowrap;}
.kh-v8-account:hover {background:#f4e9d8;color:var(--kh8-navy);}
.kh-v8-hero.kh-hero {padding:24px 0 72px!important;margin:0!important;background:radial-gradient(circle at 81% 9%,rgba(217,189,142,.23),transparent 30%),linear-gradient(120deg,#0038A8,#194f61 71%,#255f67)!important;color:#fff;min-height:310px;}
.kh-v8-hero-content {position:relative;}
.kh-v8-overline,.kh-v8-kicker {display:block;color:var(--kh8-gold);font-size:11px;font-weight:800;letter-spacing:1.7px;text-transform:uppercase;margin-bottom:10px;}
.kh-v8-hero h1 {max-width:700px;font-size:clamp(31px,4.5vw,53px)!important;line-height:1.13;font-weight:800;letter-spacing:-1.7px;color:#fff;margin:0 0 15px;}
.kh-v8-hero p {font-size:16px!important;line-height:1.65;color:#e2edf0;max-width:680px;}
.kh-v8-hero-pills {display:flex;gap:10px;flex-wrap:wrap;margin-top:25px;}
.kh-v8-hero-pills a {color:#f7f9fb;font-size:13px;border:1px solid rgba(255,255,255,.33);border-radius:99px;padding:9px 16px;font-weight:600;}
.kh-v8-hero-pills a:hover {background:#fff;color:var(--kh8-navy);}
.kh-v8-hero-pills i {margin-right:6px;}
.kh-v8-search.kh-search {background:none!important;margin-top:-58px!important;padding:0!important;position:relative;z-index:100;}
.kh-v8-search-shell {background:#fff;border:1px solid var(--kh8-stroke);padding:14px 14px 10px;border-radius:16px;box-shadow:var(--kh8-shadow);}
.kh-v8-search-fields {display:grid;grid-template-columns:minmax(140px,1.35fr) minmax(125px,.88fr) minmax(175px,1.12fr) minmax(145px,1fr) 132px;align-items:stretch;gap:9px;}
.kh-v8-search-field {border:1px solid var(--kh8-stroke);border-radius:11px;padding:9px 12px;min-width:0;position:relative;}
.kh-v8-search-field:focus-within {border-color:#7b9a9e;box-shadow:0 0 0 3px rgba(33,105,120,.1);}
.kh-v8-search-field label {display:block;font-weight:700;font-size:11px;letter-spacing:.1px;color:var(--kh8-navy);margin:0 0 4px;white-space:nowrap;}
.kh-v8-search-field label i {font-size:15px;vertical-align:-2px;color:var(--kh8-teal);margin-right:4px;}
.kh-v8-search-field .form-control,.kh-v8-search-field .form-select {border:0!important;background:transparent!important;color:var(--kh8-ink)!important;padding:0!important;font-size:13px;height:24px!important;line-height:24px;min-height:0;box-shadow:none!important;outline:0;width:100%;font-weight:500;}
.kh-v8-search-field .form-control::placeholder {color:#8d9aa6;}
.kh-v8-submit {display:flex;justify-content:center;align-items:center;gap:9px;background:var(--kh8-teal);border:0;border-radius:11px;color:white;font-weight:800;font-size:14px;padding:10px 13px;min-height:57px;cursor:pointer;}
.kh-v8-submit:hover,.kh-v8-filter-apply:hover {background:#174f5e;color:#fff;}
.kh-v8-submit i {font-size:20px;}
.kh-v8-search-note {display:flex;align-items:center;gap:7px;font-size:11px;color:#73818d;margin:9px 3px 0;line-height:1.4;}
.kh-v8-guest-picker {position:absolute;right:0;top:100%;margin-top:10px;min-width:280px;max-width:min(90vw,320px);z-index:1020;border-radius:12px;border:1px solid var(--kh8-stroke);}
.kh-v8-picker-row {display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:14px;gap:15px;}
.kh-v8-picker-row .kh-stepper {display:flex;align-items:center;gap:9px;}
.kh-v8-picker-row .kh-stepper button {width:32px;height:32px;border-radius:50%;font-weight:700;}
.kh-v8-picker-row .kh-stepper span {min-width:22px;text-align:center;}
.kh-v8-main {padding-top:33px;}
.kh-v8-section {margin-top:32px;margin-bottom:64px;}
.kh-v8-intro {margin-bottom:23px;}
.kh-v8-intro h2 {font-weight:800;font-size:clamp(23px,2.4vw,32px);letter-spacing:-.65px;color:var(--kh8-navy);margin:0 0 7px;}
.kh-v8-intro p {font-size:14px;color:var(--kh8-muted);margin:0;line-height:1.6;}
.kh-v8-intro-split {display:flex;justify-content:space-between;align-items:end;gap:20px;}
.kh-v8-link {white-space:nowrap;color:var(--kh8-teal);font-weight:800;font-size:13px;}
.kh-v8-link:hover {color:var(--kh8-navy);}
.kh-v8-type-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.kh-v8-type-card {background:#f4f8f7;border:1px solid #e0e9e8;border-radius:16px;padding:23px 25px;display:flex;align-items:center;gap:18px;color:var(--kh8-navy);}
.kh-v8-type-card:hover {border-color:#b0cfcc;background:#edf5f2;transform:translateY(-2px);}
.kh-v8-type-icon {height:52px;width:52px;flex:none;border-radius:14px;background:#e1eced;color:#216978;display:flex;align-items:center;justify-content:center;}
.kh-v8-type-icon i {font-size:25px;}
.kh-v8-type-copy {display:flex;flex-direction:column;gap:4px;}
.kh-v8-type-copy strong {font-size:17px;}
.kh-v8-type-copy small {color:var(--kh8-muted);font-size:12px;}
.kh-v8-type-arrow {margin-left:auto;font-size:25px;}
.kh-v8-feature-chips {display:flex;flex-wrap:wrap;gap:10px;}
.kh-v8-feature-chip {display:inline-flex;align-items:center;gap:9px;border:1px solid #e0e7ea;padding:11px 15px;border-radius:999px;color:var(--kh8-ink);background:#fff;font-size:13px;font-weight:600;min-height:43px;}
.kh-v8-feature-chip:hover {color:var(--kh8-navy);background:#f0f6f4;border-color:#b6d4d0;}
.kh-v8-feature-chip i {color:var(--kh8-teal);font-size:18px;}
.kh-v8-property-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;}
.kh-v8-property-card {border:1px solid #e6ebee;border-radius:15px;overflow:hidden;background:#fff;min-width:0;box-shadow:0 2px 10px rgba(20,45,61,.03);}
.kh-v8-property-card:hover {transform:translateY(-3px);box-shadow:var(--kh8-shadow);}
.kh-v8-property-media {position:relative;display:block;aspect-ratio:1.3;overflow:hidden;background:#eef2f2;}
.kh-v8-property-media img,.kh-v8-result-image img {width:100%;height:100%;object-fit:cover;display:block;}
.kh-v8-property-card:hover .kh-v8-property-media img {transform:scale(1.04);transition:transform .3s;}
.kh-v8-no-image {width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:linear-gradient(145deg,#edf3f2,#e1eceb);color:#728489;font-size:12px;}
.kh-v8-no-image i {font-size:27px;}
.kh-v8-property-tag {position:absolute;top:13px;left:13px;background:#fff;color:#244e58;padding:6px 10px;font-size:11px;font-weight:800;border-radius:7px;}
.kh-v8-property-copy {padding:15px 16px;}
.kh-v8-property-place,.kh-v8-result-place {font-size:12px;color:#667988;display:flex;gap:4px;align-items:center;margin-bottom:7px;}
.kh-v8-property-place i,.kh-v8-result-place i {font-size:15px;}
.kh-v8-property-copy h3 {font-size:16px;line-height:1.45;font-weight:800;min-height:46px;margin:0 0 15px;}
.kh-v8-property-copy h3 a {color:var(--kh8-navy);}
.kh-v8-property-bottom {border-top:1px solid #edf0f2;display:flex;align-items:center;justify-content:space-between;padding-top:13px;gap:10px;}
.kh-v8-from strong {font-size:15px;color:var(--kh8-navy);}
.kh-v8-from small {font-size:11px;color:var(--kh8-muted);}
.kh-v8-card-link {border-radius:50%;background:#e8f1f1;color:var(--kh8-teal);width:30px;height:30px;display:flex;align-items:center;justify-content:center;flex:none;}
.kh-v8-host-banner {border-radius:20px;padding:38px 44px;background:linear-gradient(115deg,#14394c,#225e68);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:25px;}
.kh-v8-host-banner h2 {font-size:29px;font-weight:800;letter-spacing:-.5px;margin:0 0 8px;color:#fff;}
.kh-v8-host-banner p {font-size:14px;color:#dce9ea;margin:0;}
.kh-v8-host-button {display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:11px;padding:13px 18px;background:#f1dfbf;color:var(--kh8-navy);font-size:13px;font-weight:800;white-space:nowrap;}
.kh-v8-host-button:hover {background:#fff;color:var(--kh8-navy);}
.kh-v8-empty {background:#f3f7f6;border:1px dashed #ccd9d9;border-radius:14px;padding:35px;color:var(--kh8-muted);}
/* Discovery results */
.kh-v8-results {padding-top:40px;padding-bottom:60px;}
.kh-v8-breadcrumb {font-size:12px;color:#8a98a3;display:flex;gap:5px;align-items:center;margin-bottom:20px;}
.kh-v8-breadcrumb a {color:var(--kh8-teal);}
.kh-v8-results-head {margin-bottom:28px;}
.kh-v8-results-head h1 {font-size:clamp(26px,3vw,37px);color:var(--kh8-navy);font-weight:800;letter-spacing:-1px;margin:0 0 7px;}
.kh-v8-results-head p {color:var(--kh8-muted);font-size:14px;margin:0;line-height:1.6;}
.kh-v8-result-layout {display:grid;grid-template-columns:260px minmax(0,1fr);gap:25px;align-items:start;}
.kh-v8-filters {position:sticky;top:25px;}
.kh-v8-filter-form {border:1px solid var(--kh8-stroke);border-radius:14px;padding:22px;background:#fff;box-shadow:0 4px 18px rgba(25,52,68,.03);}
.kh-v8-filter-form h2 {font-size:17px;color:var(--kh8-navy);font-weight:800;margin:0 0 18px;}
.kh-v8-filter-form h2 i {font-size:18px;vertical-align:-2px;margin-right:4px;}
.kh-v8-filter-form label {display:block;font-weight:700;font-size:12px;margin:13px 0 6px;color:var(--kh8-ink);}
.kh-v8-filter-form .form-control,.kh-v8-filter-form .form-select {border:1px solid #dbe3e7;border-radius:9px;font-size:13px;padding:10px;}
.kh-v8-filter-row {display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.kh-v8-filter-apply {background:var(--kh8-teal);color:#fff;border:0;border-radius:9px;width:100%;padding:12px;margin-top:20px;font-size:13px;font-weight:800;}
.kh-v8-clear {display:block;text-align:center;font-size:12px;color:var(--kh8-teal);margin-top:12px;font-weight:700;}
.kh-v8-filter-disclaimer {margin:17px 0 0;font-size:11px;line-height:1.55;color:var(--kh8-muted);}
.kh-v8-results-bar {display:flex;justify-content:space-between;align-items:center;margin:0 0 14px;}
.kh-v8-results-bar h2 {font-size:18px;font-weight:800;color:var(--kh8-navy);margin:0;}
.kh-v8-results-bar span {font-size:12px;color:var(--kh8-muted);}
.kh-v8-result-card {border:1px solid var(--kh8-stroke);border-radius:15px;background:#fff;display:grid;grid-template-columns:minmax(180px,34%) 1fr;gap:0;overflow:hidden;margin-bottom:16px;min-height:220px;}
.kh-v8-result-image {display:block;background:#eff3f2;min-height:215px;}
.kh-v8-result-info {padding:20px 23px;min-width:0;display:flex;flex-direction:column;}
.kh-v8-result-type {color:var(--kh8-teal);font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:900;}
.kh-v8-result-info h3 {font-size:20px;font-weight:800;line-height:1.35;margin:6px 0;}
.kh-v8-result-info h3 a {color:var(--kh8-navy);}
.kh-v8-result-description {font-size:12px;color:var(--kh8-muted);line-height:1.55;margin:4px 0 12px;}
.kh-v8-result-bottom {display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto;border-top:1px solid #e9eef0;padding-top:13px;gap:14px;}
.kh-v8-result-bottom strong {font-size:19px;color:var(--kh8-navy);}
.kh-v8-result-bottom small {font-size:11px;color:var(--kh8-muted);}
.kh-v8-result-cta {padding:11px 15px;background:var(--kh8-teal);border-radius:9px;color:#fff;font-size:12px;font-weight:800;white-space:nowrap;}
.kh-v8-result-cta:hover {color:#fff;background:var(--kh8-navy);}
.kh-v8-empty-results {text-align:center;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:6px;min-height:240px;}
.kh-v8-empty-results>i {font-size:28px;}
.kh-v8-empty-results h3 {font-size:19px;font-weight:800;color:var(--kh8-navy);}
.kh-v8-empty-results p {font-size:13px;}
.kh-v8-pagination {display:flex;align-items:center;gap:17px;justify-content:center;margin:27px 0;}
.kh-v8-pagination a {border:1px solid var(--kh8-stroke);padding:9px 14px;border-radius:9px;color:var(--kh8-teal);font-size:13px;font-weight:800;}
.kh-v8-pagination span {font-size:12px;color:var(--kh8-muted);}
.kh-v8-errors {background:#fff2f1;color:#913d36;border:1px solid #f0c9c5;border-radius:12px;margin-bottom:19px;padding:15px 20px;font-size:13px;}
.kh-v8-errors ul {margin:6px 0 0;}
/* Modernize legacy hotel and home detail surfaces with no form behavior changes. */
.kh-v8 .kh-hotel {padding-top:34px!important;}
.kh-v8 .kh-hotel .kh-card {border-radius:16px;border-color:#e2e9eb;box-shadow:0 4px 20px rgba(0, 56, 168, 0.04);}
.kh-v8 .kh-hotel .kh-title {color:var(--kh8-navy);font-size:clamp(24px,3vw,32px);}
.kh-v8 .kh-hotel .kh-room {border-radius:9px;margin-bottom:6px;}
.kh-v8 .kh-hotel .btn-primary {background:var(--kh8-teal);border-color:var(--kh8-teal);font-weight:700;border-radius:9px;}
.kh-v8 .kh-hotel .kh-room-thumb {border-radius:11px;}
.kh-v8 .kh-hotel .kh-chip {background:#eff6f4;border:1px solid #e1ebea;color:#224f58;}
@media(max-width:1199px) { .kh-v8-search-fields {grid-template-columns:1.15fr .85fr 1fr 1fr;}.kh-v8-submit {grid-column:1/-1;min-height:42px}.kh-v8-property-grid {grid-template-columns:repeat(3,minmax(0,1fr))}.kh-v8-nav-links {gap:13px;} }
@media(max-width:991px) { .kh-v8-nav-links {display:none}.kh-v8-nav-actions {gap:13px}.kh-v8-search-fields {grid-template-columns:1fr 1fr}.kh-v8-submit {grid-column:1/-1}.kh-v8-property-grid {grid-template-columns:repeat(2,minmax(0,1fr))}.kh-v8-result-layout {grid-template-columns:1fr}.kh-v8-filters {position:static}.kh-v8-filter-form {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px}.kh-v8-filter-form h2,.kh-v8-filter-apply,.kh-v8-clear,.kh-v8-filter-disclaimer {grid-column:1/-1}.kh-v8-filter-row{gap:12px}}
@media(max-width:640px) { .kh-v8-nav {padding:9px 0;min-height:64px}.kh-v8-brand {min-width:0}.kh-v8-logo {max-width:130px;height:35px}.kh-v8-nav-actions {gap:9px}.kh-v8-preference,.kh-v8-host-link {display:none}.kh-v8-account {padding:8px 10px;font-size:12px}.kh-v8-hero.kh-hero {padding:24px 0 75px!important;min-height:270px}.kh-v8-hero h1 {font-size:32px!important;letter-spacing:-.9px}.kh-v8-hero p {font-size:13px!important}.kh-v8-overline {font-size:9px;letter-spacing:1px}.kh-v8-hero-pills a {font-size:11px;padding:7px 10px}.kh-v8-search.kh-search {margin-top:-55px!important}.kh-v8-search-fields {grid-template-columns:1fr 1fr;gap:8px}.kh-v8-field-place {grid-column:1/-1}.kh-v8-field-dates {grid-column:1/-1}.kh-v8-search-field {padding:8px 10px}.kh-v8-search-field label {font-size:10px}.kh-v8-search-note {font-size:10px}.kh-v8-main {padding-top:16px}.kh-v8-section {margin:27px auto 47px}.kh-v8-type-grid {grid-template-columns:1fr}.kh-v8-type-card {padding:16px 20px}.kh-v8-intro-split {align-items:start;flex-direction:column;gap:9px}.kh-v8-property-grid {grid-template-columns:1fr 1fr;gap:10px}.kh-v8-property-copy {padding:11px 11px}.kh-v8-property-copy h3 {font-size:13px;min-height:54px}.kh-v8-property-media {aspect-ratio:1.05}.kh-v8-property-place {font-size:10px}.kh-v8-from strong {font-size:13px}.kh-v8-from small {display:block;font-size:10px}.kh-v8-host-banner {flex-direction:column;align-items:flex-start;padding:26px}.kh-v8-host-banner h2 {font-size:23px}.kh-v8-feature-chip {font-size:11px;padding:8px 12px}.kh-v8-results {padding-top:25px}.kh-v8-result-card {grid-template-columns:1fr}.kh-v8-result-image {height:190px;min-height:0}.kh-v8-result-info {padding:15px}.kh-v8-result-info h3 {font-size:18px}.kh-v8-result-bottom strong {font-size:16px}.kh-v8-result-cta {padding:9px 10px}.kh-v8-filter-form {padding:15px}.kh-v8-filter-form .form-control,.kh-v8-filter-form .form-select {padding:8px}.kh-v8-filters {margin-bottom:8px}}
@media(prefers-reduced-motion:reduce) { .kh-v8 * {scroll-behavior:auto!important;transition:none!important;} }

@media(max-width:640px) {
 .kh-v8-search-fields {grid-template-areas:"place place" "dates dates" "type guests" "submit submit";}
 .kh-v8-field-place {grid-area:place;}
 .kh-v8-field-dates {grid-area:dates;}
 .kh-v8-field-type {grid-area:type;}
 .kh-v8-field-guests {grid-area:guests;}
 .kh-v8-submit {grid-area:submit;}
}
