.nhb-search{--nhb-blue:#12335c;--nhb-orange:#f28b32;font-family:inherit;color:#1a2d45;max-width:1200px;margin:20px auto}.nhb-search *{box-sizing:border-box}.nhb-search-head{background:linear-gradient(115deg,#102c50,#245b83);padding:40px 36px 62px;border-radius:20px;color:#fff}.nhb-search-head h2{font-size:clamp(26px,3.5vw,42px);line-height:1.2;margin:10px 0;color:#fff}.nhb-search-head p{margin:0;color:#dce9f5}.nhb-eyebrow{letter-spacing:.18em;font-size:11px;color:#f8b77c;font-weight:700}.nhb-search-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:12px;padding:20px;background:#fff;border:1px solid #e5ebf2;border-radius:16px;box-shadow:0 12px 35px #12335c12;margin:-30px 18px 30px;position:relative;align-items:end}.nhb-search-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700;color:#4a6076}.nhb-search-form input,.nhb-search-form select{width:100%;min-height:44px;border:1px solid #dce4ee;border-radius:9px;padding:8px 10px;background:#fff;color:#19304d;font:inherit;font-size:14px}.nhb-search-form button{min-height:44px;background:#f28b32;color:#172a41;border:0;border-radius:9px;padding:0 18px;font-weight:750;cursor:pointer}.nhb-search-form button:hover{background:#ff9f4d}.nhb-results-title{display:flex;align-items:center;justify-content:space-between;margin:20px 0}.nhb-results-title h3{margin:0;font-size:23px}.nhb-results-title span{font-size:13px;color:#718096}.nhb-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.nhb-room-card{background:#fff;border:1px solid #e3eaf1;border-radius:16px;padding:23px;box-shadow:0 4px 18px #102c5009;min-width:0}.nhb-room-top{display:flex;justify-content:space-between;align-items:center}.nhb-room-type{font-size:12px;color:#55718d}.nhb-room-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#edf4fa;color:#1a527c;font-size:24px}.nhb-room-card h4{font-size:22px;margin:8px 0 10px;color:#12335c}.nhb-room-description{font-size:14px;line-height:1.6;color:#62748a}.nhb-room-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:#45617b;margin:14px 0}.nhb-room-tags{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.nhb-room-tags span{background:#f1f5f9;border-radius:30px;padding:6px 10px;font-size:12px;color:#52677e}.nhb-room-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #edf0f5;padding-top:17px;margin-top:18px;font-size:12px;color:#718096}.nhb-unavailable{border:1px solid #d9e2eb;padding:7px 10px;border-radius:7px;white-space:nowrap}.nhb-demo-note{font-size:12px;color:#718096;margin:18px 0}.nhb-warning{background:#fff7e8;color:#81571d;border:1px solid #f6e4bc;padding:12px 14px;border-radius:9px;font-size:13px}.nhb-empty{padding:25px;background:#f5f8fc;border-radius:10px}@media(max-width:950px){.nhb-search-form{grid-template-columns:repeat(2,minmax(0,1fr))}.nhb-search-form button{grid-column:1/-1}}@media(max-width:620px){.nhb-search-head{padding:28px 20px 55px}.nhb-search-form{margin:-28px 10px 22px;padding:15px;grid-template-columns:1fr}.nhb-result-grid{grid-template-columns:1fr}.nhb-room-footer{align-items:flex-start;flex-direction:column}}

.nhb-search-form:has([name=nhb_property]){grid-template-columns:repeat(5,minmax(0,1fr)) auto}
@media(max-width:1050px){.nhb-search-form:has([name=nhb_property]){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.nhb-search-form:has([name=nhb_property]){grid-template-columns:1fr}}

/* v0.3.6 - compact search and collapsible filters */
.nhb-search-form.nhb-search-form-v2{display:block}
.nhb-search-primary{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.nhb-search-primary>label{flex:1 1 145px;min-width:135px}
.nhb-search-primary>button{flex:0 0 auto}
.nhb-advanced-filters{margin-top:16px;border-top:1px solid #e6ecf2;padding-top:13px}
.nhb-advanced-filters summary{cursor:pointer;font-size:14px;font-weight:750;color:#12335c;list-style-position:inside}
.nhb-filter-hint{font-size:12px;color:#718096;font-weight:400;margin-left:10px}
.nhb-filter-count{background:#f28b32;color:#fff;border-radius:99px;padding:2px 7px;margin-left:6px;font-size:11px}
.nhb-filter-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.nhb-filter-groups fieldset{border:1px solid #e6ecf2;border-radius:10px;padding:12px;min-width:0}
.nhb-filter-groups legend{font-weight:700;font-size:13px;padding:0 5px;color:#19304d}
.nhb-filter-options{display:flex;flex-wrap:wrap;gap:7px}
.nhb-filter-options label{display:inline-flex;flex-direction:row;align-items:center;gap:6px;padding:7px 9px;border:1px solid #e6ecf2;border-radius:8px;font-weight:500;font-size:12px;cursor:pointer}
.nhb-filter-options input{width:auto;min-height:auto;margin:0;accent-color:#1e73be}
.nhb-filter-options label:has(input:checked){background:#eaf4ff;border-color:#8dbde8}
.nhb-filter-actions{margin-top:14px}
.nhb-room-footer small{font-size:10px;display:block;margin-top:3px}
@media(max-width:650px){.nhb-search-primary{display:grid;grid-template-columns:1fr 1fr}.nhb-search-primary>button{grid-column:1/-1}.nhb-filter-groups{grid-template-columns:1fr}.nhb-filter-hint{display:block;margin:4px 0 0}}

.nhb-room-photo{margin:-23px -23px 18px;overflow:hidden;border-radius:16px 16px 0 0}.nhb-room-photo img{display:block;width:100%;height:215px;object-fit:cover}
/* v0.3.8: vertical results and permanent left filter sidebar */
.nhb-search-form.nhb-search-form-v2{display:block;padding:20px;margin:-30px 18px 30px}
.nhb-search-body{display:grid;grid-template-columns:minmax(210px,255px) minmax(0,1fr);gap:24px;align-items:start;margin-top:22px}
.nhb-filter-sidebar{border:1px solid #e3eaf1;background:#f8fafc;border-radius:14px;padding:18px;min-width:0}
.nhb-advanced-filters{margin:0;border:0;padding:0}
.nhb-advanced-filters>summary{font-size:17px;list-style:none}
.nhb-advanced-filters>summary::-webkit-details-marker{display:none}
.nhb-filter-hint{display:block;margin:7px 0 0;line-height:1.4}
.nhb-filter-groups{display:block;margin-top:14px}
.nhb-filter-groups fieldset{padding:12px 0;border:0;border-top:1px solid #e3eaf1;border-radius:0;margin:0}
.nhb-filter-groups legend{padding:0 0 5px;font-size:13px}
.nhb-filter-options{display:flex;flex-direction:column;align-items:stretch;gap:3px}
.nhb-filter-options label{display:flex;align-items:center;flex-direction:row;gap:9px;border:0;border-radius:6px;background:transparent;padding:7px 5px;font-size:13px;line-height:1.3}
.nhb-filter-options label:has(input:checked){background:#e5f0fb;border-color:transparent}
.nhb-filter-options input{flex:0 0 auto}
.nhb-filter-actions{display:flex;flex-direction:column;gap:12px}
.nhb-filter-actions button{width:100%}
.nhb-reset-filters{font-size:12px;text-align:center;color:#355d85}
.nhb-search-content{min-width:0}
.nhb-result-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.nhb-room-card{display:grid;grid-template-columns:minmax(165px,235px) minmax(0,1fr);grid-template-rows:auto auto auto 1fr auto;column-gap:20px;padding:18px;align-items:start}
.nhb-room-photo{grid-column:1;grid-row:1/-1;margin:0;align-self:stretch;border-radius:10px;min-height:190px}
.nhb-room-photo img{height:100%;min-height:190px;max-height:290px;object-fit:cover}
.nhb-room-top,.nhb-room-card h4,.nhb-room-description,.nhb-room-meta,.nhb-room-tags,.nhb-room-footer{grid-column:2}
.nhb-room-card h4{font-size:19px;margin:6px 0}
.nhb-room-meta{margin:8px 0}
.nhb-room-tags{margin:10px 0}
.nhb-room-footer{margin-top:10px;padding-top:12px}
.nhb-room-card:not(:has(.nhb-room-photo)){grid-template-columns:1fr}
.nhb-room-card:not(:has(.nhb-room-photo))>*{grid-column:1}
@media(max-width:850px){.nhb-search-body{grid-template-columns:1fr}.nhb-filter-sidebar{padding:14px}.nhb-filter-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nhb-filter-groups fieldset{min-width:0}.nhb-search-form.nhb-search-form-v2{margin:-28px 10px 24px}}
@media(max-width:560px){.nhb-filter-groups{grid-template-columns:1fr}.nhb-room-card{display:block;padding:15px}.nhb-room-photo{margin:-15px -15px 15px;border-radius:12px 12px 0 0;min-height:0}.nhb-room-photo img{height:195px;min-height:0;max-height:none}.nhb-room-footer{flex-wrap:wrap}}

/* 0.4.4 — compact premium results matching approved visual reference */
.nhb-search{max-width:1300px;color:#14253c}.nhb-search-head{padding:22px 26px 45px;border-radius:12px;background:linear-gradient(110deg,#102b4b,#214b77)}.nhb-search-head h2{font-size:27px;margin:4px 0}.nhb-search-head p{font-size:13px}.nhb-search-form.nhb-search-form-v2{margin:-22px 8px 0;padding:10px 12px 18px;border-radius:12px;box-shadow:0 5px 20px #112a4810}.nhb-search-primary{gap:7px}.nhb-search-primary>label{font-size:11px;gap:4px}.nhb-search-primary input,.nhb-search-primary select{min-height:40px;border-radius:6px}.nhb-search-primary button,.nhb-filter-actions button{background:#ff861b;color:white;border-radius:7px;font-size:13px;min-height:40px}.nhb-search-body{grid-template-columns:minmax(190px,235px) minmax(0,1fr);gap:12px;margin-top:14px}.nhb-filter-sidebar{background:#fff;border:1px solid #e3e9f0;border-radius:9px;padding:13px}.nhb-advanced-filters>summary{font-size:14px;color:#17263c}.nhb-filter-hint{display:none}.nhb-filter-groups{margin-top:8px}.nhb-filter-groups fieldset{padding:8px 0}.nhb-filter-groups legend{font-size:12px;color:#17263c}.nhb-filter-options label{font-size:12px;padding:4px 2px;gap:7px}.nhb-filter-options label:has(input:checked){background:#eaf3ff}.nhb-results-title{margin:2px 0 12px;gap:10px}.nhb-results-title h3{font-size:17px;color:#15253a}.nhb-results-tools{display:flex;align-items:center;gap:10px}.nhb-results-tools span{font-size:11px;white-space:nowrap}.nhb-results-tools select{font-size:11px;border:1px solid #dfe6ed;border-radius:6px;padding:6px;color:#273c55;background:#fff;max-width:150px}.nhb-result-grid{gap:9px}.nhb-room-card,.nhb-room-card:not(:has(.nhb-room-photo)){display:grid;grid-template-columns:clamp(140px,23%,205px) minmax(0,1fr) minmax(125px,150px);grid-template-rows:auto;gap:12px;padding:10px;border-radius:9px;box-shadow:0 2px 9px #15294309;align-items:stretch}.nhb-room-photo{grid-column:1;grid-row:1;min-height:140px;margin:0;border-radius:7px}.nhb-room-photo img{width:100%;height:100%;min-height:140px;max-height:190px;object-fit:cover}.nhb-room-info{grid-column:2;grid-row:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:7px}.nhb-room-info h4{font-size:15px;line-height:1.35;margin:0;color:#18283e;font-weight:750}.nhb-room-property{font-size:11px;color:#718197;margin:0}.nhb-room-info .nhb-room-meta{display:flex;gap:12px;margin:0;font-size:11px;color:#52647d}.nhb-room-icons{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:5px}.nhb-room-icons span{font-size:20px;line-height:1;color:#3a5275;cursor:help}.nhb-room-booking{grid-column:3;grid-row:1;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:5px;text-align:right}.nhb-room-booking strong{font-size:21px;color:#14253c;white-space:nowrap}.nhb-room-booking .nhb-price-pending{font-size:13px;white-space:normal}.nhb-room-booking small{font-size:11px;color:#6a7b91}.nhb-details-button{background:#ff861b;color:#fff;border:0;border-radius:6px;padding:10px 18px;font-size:12px;font-weight:700;cursor:pointer;margin-top:12px}.nhb-details-button:hover{background:#eb730b}.nhb-room-details{font-size:11px;color:#51657e;margin-top:4px}.nhb-room-details summary{color:#24649c;cursor:pointer;font-weight:600}.nhb-room-details:not([open]){margin-top:0}.nhb-room-details .nhb-room-tags{margin:8px 0}.nhb-room-details .nhb-room-tags span{font-size:10px;padding:4px 7px}.nhb-detail-notice{font-size:11px;color:#64758b}.nhb-room-card:not(:has(.nhb-room-photo)){grid-template-columns:minmax(0,1fr) minmax(125px,150px)}.nhb-room-card:not(:has(.nhb-room-photo)) .nhb-room-info{grid-column:1}.nhb-room-card:not(:has(.nhb-room-photo)) .nhb-room-booking{grid-column:2}.nhb-room-card:not(:has(.nhb-room-photo))>*{grid-row:auto}.nhb-room-card:not(:has(.nhb-room-photo)) .nhb-room-info,.nhb-room-card:not(:has(.nhb-room-photo)) .nhb-room-booking{grid-row:1}
@media(max-width:900px){.nhb-search-body{grid-template-columns:1fr}.nhb-filter-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.nhb-room-card{grid-template-columns:140px minmax(0,1fr) 125px}}
@media(max-width:600px){.nhb-filter-groups{grid-template-columns:1fr}.nhb-room-card,.nhb-room-card:not(:has(.nhb-room-photo)){grid-template-columns:115px minmax(0,1fr);gap:9px}.nhb-room-photo{grid-column:1;grid-row:1;min-height:120px}.nhb-room-photo img{min-height:120px;max-height:155px}.nhb-room-info{grid-column:2;grid-row:1}.nhb-room-booking{grid-column:1/-1;grid-row:2;flex-direction:row;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;border-top:1px solid #edf1f5;padding-top:8px}.nhb-details-button{margin:0}.nhb-room-card:not(:has(.nhb-room-photo)) .nhb-room-info{grid-column:1/-1}.nhb-room-card:not(:has(.nhb-room-photo)) .nhb-room-booking{grid-column:1/-1;grid-row:2}.nhb-results-tools{gap:5px}.nhb-results-tools select{max-width:120px}}

/* 0.4.5: clearer guest/bed icons and room surface */
.nhb-room-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px}
.nhb-room-meta .nhb-meta-entry{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#142c52;font-size:13px}
.nhb-room-meta .nhb-meta-icon{font-size:21px;font-weight:800;line-height:1;color:#173763}
.nhb-room-meta .nhb-area{background:#e8f2ff;padding:5px 9px;border-radius:6px}
.nhb-room-icons span{font-size:22px;color:#173763;font-weight:750}

/* SVG icon system v0.4.7: strong consistent navy outlines */
.nhb-svg-icon{display:inline-block;vertical-align:middle;flex:none;width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.9}
.nhb-room-meta .nhb-meta-entry{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:#193a60}
.nhb-room-meta .nhb-meta-icon{display:inline-flex;align-items:center;justify-content:center;color:#153d68}
.nhb-room-meta .nhb-svg-icon{width:25px;height:25px;stroke-width:2.15}
.nhb-room-icons span{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;background:#f1f6fb;border:1px solid #dce8f3;border-radius:8px;color:#19456e;cursor:help}
.nhb-room-icons .nhb-svg-icon{width:24px;height:24px;stroke-width:1.95}
@media(max-width:650px){.nhb-room-meta .nhb-svg-icon{width:23px;height:23px}.nhb-room-icons span{width:33px;height:33px}}
