/* Shared search controls: quick types, then optional filters. */
.hero-search,.search-hero .search-bar{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,.9fr) auto auto;align-items:stretch;border-radius:8px}
.search-hero .search-bar{background:#FFF;color:#0A0C10;color-scheme:light;border-color:#CBD3DF}
.search-hero .search-field{border-color:#CBD3DF;color:#526071}
.search-hero .search-field>span{color:#526071}
.search-hero .search-field input,.search-hero .search-field select{color:#0A0C10;background:#FFF}
.hero-search .search-filter-trigger,.search-bar .search-filter-trigger{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;min-height:56px;border:0;border-left:1px solid #CBD3DF;background:#FFF;color:#0A0C10;font-size:13px;font-weight:700;margin:2px 0}
.search-filter-trigger svg{width:20px;height:20px}
.advanced-count{background:#2563EB;color:#FFF;padding:2px 6px;border-radius:20px;font-size:11px}
.search-categories{max-width:100%;color:inherit}
.category-hint{display:none}
.category-scroll{display:flex;gap:8px;overflow-x:auto;padding:14px 0 8px;scrollbar-width:thin;scroll-snap-type:x proximity;max-width:100%;color:inherit}
.search-categories button{flex:0 0 auto;scroll-snap-align:start;min-height:44px;padding:10px 15px;background:transparent;color:inherit;border:1px solid #626C7B;border-radius:6px;font:inherit;font-size:12px;font-weight:600;white-space:nowrap}
.search-categories button:hover{border-color:#2563EB}
.search-categories button[aria-pressed=true]{background:#2563EB;color:#FFF;border-color:#2563EB}
.search-filter-dialog{padding:0;border:1px solid #CBD3DF;border-radius:12px;background:#FFF;color:#0A0C10;color-scheme:light;width:min(640px,calc(100% - 32px));max-height:min(800px,88dvh);font:inherit}
.search-filter-dialog[open]{display:flex;flex-direction:column}
.search-filter-dialog::backdrop{background:rgb(10 12 16 / .6)}
.filter-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid #E2E6ED;flex-shrink:0}
.search-filter-dialog .filter-dialog-head h2{font-size:21px;letter-spacing:-.03em;margin:0;line-height:1.3;color:#0A0C10}
.hero-search .filter-close,.search-bar .filter-close{min-height:44px;min-width:44px;margin:0;padding:0;border:0;background:transparent;color:#0A0C10;font-size:28px}
.filter-dialog-body{overflow-y:auto;overscroll-behavior:contain;padding:24px;min-height:0}
.search-filter-dialog fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}
.search-filter-dialog legend{font-size:15px;font-weight:700;padding:0;margin-bottom:14px;color:#0A0C10}
.advanced-options{display:flex;flex-wrap:wrap;gap:8px}
.hero-search .search-filter-dialog .advanced-choice,.search-bar .search-filter-dialog .advanced-choice{display:flex;flex-direction:row;align-items:center;gap:8px;min-height:44px;padding:9px 12px;margin:0;border:1px solid #CBD3DF;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;color:#0A0C10;position:relative}
.search-filter-dialog .advanced-choice:has(input:checked){background:#EFF6FF;border-color:#2563EB;color:#1D4ED8}
.hero-search .search-filter-dialog .advanced-choice input,.search-bar .search-filter-dialog .advanced-choice input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;pointer-events:none}
.advanced-choice:has(input:focus-visible){outline:3px solid #2563EB;outline-offset:3px}
.search-filter-dialog .advanced-choice:has(input:checked) span::after{content:' ✓';color:#2563EB}
.search-filter-dialog .filter-price{border-top:1px solid #E2E6ED;padding-top:20px}
.search-filter-dialog .filter-price legend{float:left;width:100%;margin-bottom:6px}
.search-filter-dialog p{font-size:12px;line-height:1.5;color:#526071;margin:10px 0 0;max-width:none}
.search-filter-dialog .budget-label{clear:both;color:#0A0C10;font-size:14px;margin:0 0 8px}
.hero-search .search-filter-dialog .budget-slider,.search-bar .search-filter-dialog .budget-slider{width:100%;min-height:44px;padding:0;background:transparent;accent-color:#2563EB;border:0}
.budget-scale{display:flex;justify-content:space-between;color:#526071;font-size:11px;margin:-4px 0 16px}
.advanced-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hero-search .search-filter-dialog .advanced-prices label,.search-bar .search-filter-dialog .advanced-prices label,.hero-search .search-filter-dialog .advanced-date,.search-bar .search-filter-dialog .advanced-date{display:flex;flex-direction:column;gap:6px;font-size:12px;padding:0;border:0;color:#526071}
.hero-search .search-filter-dialog .advanced-prices input,.search-bar .search-filter-dialog .advanced-prices input,.hero-search .search-filter-dialog .advanced-date input,.search-bar .search-filter-dialog .advanced-date input{padding:12px;border:1px solid #CBD3DF;border-radius:6px;color:#0A0C10;background:#FFF;width:100%;min-height:48px;font-size:16px}
.hero-search .budget-unlimited,.search-bar .budget-unlimited{border:0;background:transparent;color:#526071;font-size:12px;text-decoration:underline;padding:6px 0;min-height:44px;margin:0}
.filter-section{border-top:1px solid #E2E6ED;padding:0}
.filter-section summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;min-height:52px;font-size:14px;font-weight:700;cursor:pointer}
.filter-section summary::-webkit-details-marker{display:none}
.filter-section summary>span{font-size:20px;font-weight:400}
.filter-section[open] summary>span{transform:rotate(45deg)}
.filter-section>.advanced-options,.filter-section>.advanced-date,.filter-section>p{margin-bottom:18px}
.advanced-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #E2E6ED;padding:16px 24px;background:#FFF;flex-shrink:0}
.hero-search .advanced-actions button,.search-bar .advanced-actions button{margin:0;min-height:48px;font-size:14px;border-radius:6px}
.hero-search .advanced-clear,.search-bar .advanced-clear{border:0;background:transparent;text-decoration:underline;color:#0A0C10;padding:10px 0}
.search-filter-dialog :focus-visible{outline:3px solid #2563EB;outline-offset:3px}
@media(max-width:760px){
 .hero-search,.search-hero .search-bar{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hero-search>label,.search-hero .search-bar>.search-field{padding:8px 10px;border-bottom:1px solid #CBD3DF}
 .hero-search>label:nth-child(2),.search-hero .search-bar>.search-field:nth-child(2){border-right:0}
 .hero-search>label:nth-child(3),.search-hero .search-bar>.search-field:nth-child(3){border-right:1px solid #CBD3DF}
 .hero-search>.search-filter-trigger,.search-bar>.search-filter-trigger{border-left:0;border-bottom:1px solid #CBD3DF;padding:10px;margin:0}
 .hero-search>button[type=submit],.search-hero .search-bar>button[type=submit]{grid-column:1/-1;margin:4px 0 0;min-height:48px;border-radius:4px}
 .hero-search>label>select,.search-hero .search-bar>.search-field>select{font-size:16px;min-height:44px}
 .category-scroll{padding-top:6px;gap:6px}
 .category-hint{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#B0B8C6;margin:14px 0 0}
 .category-hint span{white-space:nowrap}
 .search-categories button{font-size:12px;padding-inline:12px}
 .search-filter-dialog{width:100%;max-width:100%;max-height:92dvh;margin:auto 0 0;border-radius:14px 14px 0 0;border-bottom:0}
 .filter-dialog-head{padding:12px 18px}
 .search-filter-dialog .filter-dialog-head h2{font-size:19px}
 .filter-dialog-body{padding:18px}
 .advanced-actions{padding:12px 18px max(12px,env(safe-area-inset-bottom))}
 .hero-search .search-filter-dialog .advanced-choice,.search-bar .search-filter-dialog .advanced-choice{font-size:12px;padding:9px 10px}
 .advanced-actions .btn{flex:1}
}
