.search-nav-slot{order:3;width:100%;min-width:0}.search-header-form{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--control-h-lg);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-full);box-shadow:var(--shadow-overlay);color:var(--ink-muted)}.search-header-form label{flex:1;min-width:0}.search-header-form input{min-height:var(--control-h-lg);width:100%;min-width:0;outline:none;font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--ink)}.search-header-form button{display:grid;place-items:center;width:var(--control-h-lg);height:var(--control-h-lg);flex-shrink:0;border-radius:var(--radius-full);background:var(--primary);color:var(--on-accent)}.search-header-form:focus-within{outline:2px solid var(--focus-ring);outline-offset:2px}.search-header-hint{display:none;padding-left:var(--space-3);border-left:1px solid var(--line);font-size:var(--text-xs);white-space:nowrap}.guest-search-page>header{position:sticky;top:0;z-index:var(--z-sticky)}.guest-search{--search-header-height:80px;--search-toolbar-height:calc(var(--control-h-lg) + var(--space-3) * 2 + 1px);--search-map-top:calc(var(--search-header-height) + var(--search-toolbar-height));--search-map-height:calc(100dvh - var(--search-map-top));--search-card-radius:var(--space-4);color:var(--ink)}.guest-search button,.guest-search select,.guest-search summary{cursor:pointer}.guest-search button:disabled,.guest-search select:disabled{opacity:.5;cursor:not-allowed}.guest-search :is(button,a,summary,select,input):focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.search-filter-bar{position:sticky;top:var(--search-header-height);z-index:var(--z-dropdown);display:flex;gap:var(--space-4);align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--line);background:var(--surface)}.search-quick-filters{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none}.search-chip{display:flex;flex-shrink:0;align-items:center;gap:var(--space-2);min-height:var(--control-h-lg);padding:var(--space-2) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-full);background:var(--surface);color:var(--ink);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background-color var(--dur-fast),border-color var(--dur-fast)}.search-chip:hover{border-color:var(--ink-subtle)}.search-chip[aria-pressed=true]{border-color:var(--primary);color:var(--on-accent);background:var(--primary)}.search-filter-trigger{flex-shrink:0;display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-h-lg);padding:var(--space-2) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.search-filter-trigger b{display:grid;place-items:center;min-width:var(--space-5);height:var(--space-5);border-radius:var(--radius-full);background:var(--ink);color:var(--surface);font-size:var(--text-xs)}.search-filter-trigger[aria-expanded=true]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark)}.search-filter-dialog{--filter-width:calc(var(--space-9) * 10);--filter-edge:var(--space-4);--filter-gap:var(--space-2);position:fixed;inset:auto;margin:0;padding:0;width:min(var(--filter-width),calc(100vw - var(--space-7)));max-width:calc(100vw - var(--space-4));max-height:var(--filter-max-height,calc(100dvh - var(--space-8)));overflow:hidden;border:1px solid var(--line);border-radius:var(--space-5);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-overlay);opacity:0;transform:translateY(calc(-1 * var(--space-2))) scale(.98);transform-origin:var(--filter-origin,top right);pointer-events:none;transition:opacity var(--dur) var(--ease-out),transform var(--dur) var(--ease-out),display var(--dur) allow-discrete,overlay var(--dur) allow-discrete}.search-filter-dialog:popover-open{opacity:1;transform:none;pointer-events:auto}.search-filter-dialog::backdrop{background:transparent;pointer-events:none}@starting-style{.search-filter-dialog:popover-open{opacity:0;transform:translateY(calc(-1 * var(--space-2))) scale(.98)}}.search-filter-shell{display:flex;flex-direction:column;max-height:calc(var(--filter-max-height, 100dvh - var(--space-8)) - 2px)}.search-filter-footer,.search-filter-heading{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-6);background:var(--surface)}.search-filter-heading{border-bottom:1px solid var(--line)}.search-filter-heading h2{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.search-filter-close{display:grid;place-items:center;min-width:var(--control-h-lg);min-height:var(--control-h-lg);border-radius:var(--radius-full)}.search-filter-close:hover{background:var(--surface-sunken)}.search-filter-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-6)}.search-filter-content :is(h3,legend){font-size:var(--text-md);font-weight:var(--weight-semibold)}.search-filter-content p{margin-top:var(--space-2);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--ink-muted)}.search-filter-content>:is(section,fieldset)+:is(section,fieldset){margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--line)}.search-price-presets{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.search-price-presets .search-chip{min-height:var(--control-h-lg);font-size:var(--text-sm)}.search-price-slider{position:relative;height:var(--control-h-lg);margin-top:var(--space-4);margin-inline:var(--space-3)}.search-price-track{position:absolute;inset:calc(50% - var(--space-1) / 2) 0 auto;height:var(--space-1);border-radius:var(--radius-full);background:linear-gradient(to right,var(--line) var(--price-from),var(--primary) var(--price-from),var(--primary) var(--price-to),var(--line) var(--price-to))}.search-price-slider input{appearance:none;position:absolute;inset:0;width:100%;height:100%;margin:0;background:transparent;pointer-events:none}.search-price-slider input:focus-visible{outline:none}.search-price-slider input::-webkit-slider-thumb{appearance:none;pointer-events:auto;cursor:grab;width:var(--space-6);height:var(--space-6);border:2px solid var(--surface);border-radius:var(--radius-full);background:var(--primary);box-shadow:0 0 0 1px var(--primary)}.search-price-slider input::-moz-range-thumb{pointer-events:auto;cursor:grab;width:var(--space-5);height:var(--space-5);border:2px solid var(--surface);border-radius:var(--radius-full);background:var(--primary);box-shadow:0 0 0 1px var(--primary)}.search-price-slider input:focus-visible::-webkit-slider-thumb{outline:2px solid var(--focus-ring);outline-offset:var(--space-1)}.search-price-slider input:focus-visible::-moz-range-thumb{outline:2px solid var(--focus-ring);outline-offset:var(--space-1)}.search-price-slider input:focus{z-index:1}.search-price-labels{display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--text-xs);color:var(--ink-muted);font-variant-numeric:tabular-nums}.search-price-fields{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--space-3);margin-top:var(--space-4)}.search-price-fields label{min-width:0;display:grid;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink-muted)}.search-price-input{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface)}.search-price-input:focus-within{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.search-price-input:has([aria-invalid=true]){border-color:var(--danger)}.search-price-input input{min-width:0;width:100%;min-height:var(--control-h-lg);background:transparent;color:var(--ink);font-size:var(--text-base);font-variant-numeric:tabular-nums}.guest-search .search-price-input input:focus-visible{outline:none}.search-price-separator{align-self:end;display:grid;align-items:center;height:var(--control-h-lg);color:var(--ink-subtle)}.search-filter-content .search-price-error{color:var(--danger)}.search-radius-section label{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-3);font-size:var(--text-base)}.search-radius-section select{min-height:var(--control-h-lg);padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.search-filter-content .search-filter-note{margin-top:var(--space-6)}.search-filter-footer{border-top:1px solid var(--line)}.search-filter-footer button{min-height:var(--control-h-lg);padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:var(--weight-semibold);border-radius:var(--radius-lg)}.search-filter-reset{text-decoration:underline;text-underline-offset:var(--space-1)}.search-filter-reset:hover{background:var(--surface-sunken)}.search-filter-show{background:var(--primary);color:var(--on-accent)}.search-filter-show:hover{background:var(--primary-dark)}.search-amenity-filters{min-width:0}.search-amenity-filters legend{font-size:var(--text-base);font-weight:var(--weight-semibold)}.search-amenity-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-4);margin-top:var(--space-3)}.search-amenity-options label{display:flex;align-items:center;min-height:var(--control-h-lg);gap:var(--space-2);cursor:pointer}.search-amenity-options input{width:18px;height:18px;flex-shrink:0;accent-color:var(--primary)}.search-amenity-options svg{flex-shrink:0}.search-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.search-list{min-width:0;padding:var(--space-7) var(--space-7) var(--space-9)}.search-list-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.search-list-heading h1{margin:0;font-size:var(--text-xl);font-weight:700;line-height:var(--leading-tight);overflow-wrap:anywhere}.search-list-heading p{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--ink-muted)}.search-sort{display:flex;align-items:center;gap:var(--space-1);min-height:var(--control-h-lg);max-width:100%;padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--ink-muted);font-size:var(--text-xs);white-space:nowrap}.search-sort select{min-width:0;min-height:var(--control-h-lg);color:var(--ink);font-weight:var(--weight-semibold);background:var(--surface)}.search-room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-7) var(--space-5)}.search-room-card{min-width:0;border-radius:var(--search-card-radius,var(--space-4))}.search-room-info{padding-top:var(--space-3)}.search-room-address{display:flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-1);font-size:var(--text-xs);color:var(--ink-muted)}.search-room-address svg{flex-shrink:0}.search-room-address span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-room-details{display:block;min-height:var(--control-h-lg)}.search-room-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:var(--leading-normal)}.search-room-name:hover,.search-room-price{color:var(--primary-dark)}.search-room-price{display:block;margin-top:var(--space-1);font-size:var(--text-lg);font-weight:700;font-variant-numeric:tabular-nums}.search-room-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-block:var(--space-2) var(--space-1);font-size:var(--text-sm);color:var(--ink-muted)}.search-map-column{position:sticky;top:var(--search-map-top);height:var(--search-map-height);min-height:560px;background:var(--surface-sunken)}.search-map{position:relative;height:100%;overflow:hidden;border-left:1px solid var(--line)}.search-map-canvas{width:100%;height:100%}.search-map .vietmapgl-map{font-family:var(--font-be-vietnam),sans-serif}.search-map-message{position:absolute;top:50%;left:var(--space-5);right:var(--space-5);transform:translateY(-50%);padding:var(--space-6);border-radius:var(--space-4);background:var(--surface);text-align:center;box-shadow:var(--shadow-overlay);font-size:var(--text-base)}.search-map-message p{margin-top:var(--space-2);color:var(--ink-muted)}.search-map-message button{margin-top:var(--space-4);min-height:var(--control-h-lg);color:var(--primary-dark)}.search-price-pin{display:block;min-height:var(--control-h-lg);min-width:var(--control-h-lg);padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-full);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-overlay);font-family:inherit;font-size:var(--text-sm);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;transition:background-color var(--dur-fast),color var(--dur-fast)}.search-price-pin.is-active,.search-price-pin:hover{z-index:1;background:var(--ink);color:var(--surface);border-color:var(--ink)}.search-price-pin:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.search-room-popup .vietmapgl-popup-content{padding:0;border-radius:var(--space-4);box-shadow:var(--shadow-overlay);overflow:hidden}.search-pin-preview{position:relative;width:min(320px,calc(50vw - var(--space-6)));max-width:calc(100vw - var(--space-7))}.search-popup-close{position:absolute;z-index:1;top:0;right:0;display:grid;place-items:center;width:var(--control-h-lg);height:var(--control-h-lg);border:0;background:transparent;color:var(--on-accent);filter:drop-shadow(0 1px 2px var(--ink))}.search-room-card.is-compact .search-room-info{padding:var(--space-4)}.search-room-card.is-compact .room-photo-carousel{aspect-ratio:8/5;border-radius:0}.search-room-card.is-compact .search-room-details{display:grid;gap:var(--space-2);align-content:start}.search-room-card.is-compact .search-room-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;font-size:var(--text-md);line-height:var(--leading-tight)}.search-room-card.is-compact .search-room-price{margin-top:0;line-height:var(--leading-tight)}.search-room-rating{display:inline-flex;min-width:0;align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--ink-muted);white-space:nowrap}.search-room-rating span{overflow:hidden;text-overflow:ellipsis}.search-room-rating b{color:var(--ink)}.search-room-rating svg{flex-shrink:0;color:var(--warning)}.search-reset-area,.search-this-area{position:absolute;z-index:1;left:50%;transform:translateX(-50%);min-height:var(--control-h-lg);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background:var(--surface);box-shadow:var(--shadow-overlay);font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap}.search-this-area{top:var(--space-5);color:var(--primary-dark)}.search-reset-area{bottom:var(--space-8)}.search-location-note,.search-warning{padding:var(--space-3) var(--space-5);background:var(--warning-soft);color:var(--warning);font-size:var(--text-sm);line-height:var(--leading-normal)}.search-location-note{margin-bottom:var(--space-5);border-radius:var(--radius-lg)}.search-empty,.search-load-error{display:grid;justify-items:center;gap:var(--space-4);padding:var(--space-9) var(--space-5);text-align:center}.search-empty h2,.search-load-error h1{font-size:var(--text-lg);font-weight:700}.search-empty p,.search-load-error p{color:var(--ink-muted);font-size:var(--text-base)}.search-empty :is(button,a),.search-load-error a{min-height:var(--control-h-lg);padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg);background:var(--primary);color:var(--on-accent);font-size:var(--text-base)}.search-mobile-toggle{display:none}@media (min-width:1024px){.search-nav-slot{order:0;width:400px}.search-header-hint{display:inline}.search-filter-bar{padding-inline:var(--space-8)}.search-list{padding-inline:var(--space-8) var(--space-7)}}@media (max-width:1279px) and (min-width:768px){.search-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-list{padding:var(--space-6)}}@media (max-width:767px){.search-filter-bar{gap:var(--space-2);padding-inline:var(--space-4)}.search-filter-trigger{padding-inline:var(--space-3)}.search-filter-dialog{--filter-edge:var(--space-2);width:calc(100vw - var(--space-4));border-radius:var(--space-4)}.search-filter-footer,.search-filter-heading{padding:var(--space-3) var(--space-4)}.search-filter-content{padding:var(--space-5) var(--space-4)}.search-price-presets{gap:var(--space-2)}.search-price-presets .search-chip{padding-inline:var(--space-3)}.search-amenity-options{grid-template-columns:minmax(0,1fr)}.search-split{display:block}.search-list{padding:var(--space-6) var(--space-4) 100px}.search-list-heading h1{font-size:var(--text-lg)}.search-room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6) var(--space-3)}.search-room-name{font-size:var(--text-sm)}.search-room-meta{gap:var(--space-1)}.search-room-meta>span{font-size:11px}.search-map-column{visibility:hidden;position:absolute;top:0;left:0;width:100%;height:0;min-height:0;overflow:hidden}.show-mobile-map .search-list{display:none}.show-mobile-map .search-map-column{visibility:visible;position:relative;height:calc(100dvh - 220px);min-height:420px}.search-mobile-toggle{position:fixed;z-index:var(--z-sticky);bottom:var(--space-6);left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-h-lg);padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);background:var(--ink);color:var(--surface);box-shadow:var(--shadow-overlay);font-size:var(--text-base);font-weight:var(--weight-semibold);white-space:nowrap}.search-reset-area{bottom:80px}.search-pin-preview{width:min(320px,calc(100vw - var(--space-7)))}}@media (prefers-reduced-motion:reduce){.guest-search *,.search-price-pin{transition-duration:0s;scroll-behavior:auto}}@media (min-width:900px) and (max-width:1023px){.guest-search-page>header>div{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);height:80px;padding:0 var(--space-7);gap:var(--space-4)}.guest-search-page .search-nav-slot{order:0;width:320px}.guest-search-page .guest-nav-actions{justify-self:end}.guest-search-page .guest-nav-label{display:none}.search-list-heading h1{font-size:var(--text-lg)}.search-list-heading{gap:var(--space-2)}}.search-map-expand{position:absolute;z-index:1;top:var(--space-3);right:var(--space-3);display:grid;place-items:center;width:var(--control-h-lg);height:var(--control-h-lg);border-radius:var(--radius-full);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-overlay)}.search-map-expand:hover{background:var(--surface-sunken)}.search-map .vietmapgl-ctrl-top-right{top:calc(var(--control-h-lg) + var(--space-4))}.is-map-expanded .search-list{display:none}.is-map-expanded .search-split{grid-template-columns:minmax(0,1fr)}.is-map-expanded .search-map{border-left:0}.search-split{scroll-margin-top:var(--search-map-top)}@media (max-width:767px){.search-filter-bar{position:relative;top:auto}}.search-plan-note{padding:var(--space-3) var(--space-5);color:var(--ink-muted);font-size:var(--text-sm)}