:root {
    --header-search-duration: 240ms;
    --header-search-control-radius: 8px;
    --header-search-surface: #f7f7f5;
    --header-search-muted: #66655f;
    --header-search-border: #e4e3dd;
    --header-search-field-border: #d1d0c9;
    --header-search-card-radius: 14px;
    --header-search-card-shadow: 0 4px 18px rgb(0 0 0 / 3%);
    --header-search-accent-hover: #dfa13f;
}
/* Use the existing nav-link type, padding and row alignment. */
.header .navbar-nav .header-search-trigger { appearance:none; border:0; background:transparent; font-family:inherit; font-weight:inherit; line-height:inherit; cursor:pointer; text-align:inherit; }
.header-search-quick { display:inline-flex; align-items:center; justify-content:center; width:44px; min-height:44px; border:0; background:transparent; color:var(--location-text); font:inherit; cursor:pointer; }
.header-search-trigger:hover,.header-search-quick:hover,.header-search-trigger[aria-expanded="true"] { color:var(--location-accent); }
.header-search-trigger:focus-visible,.header-search-quick:focus-visible,.header-search-close:focus-visible { outline:2px solid var(--location-accent); outline-offset:3px; }
.header-search-panel { clear:both; display:grid; grid-template-rows:0fr; width:100%; background:var(--header-search-surface); color:var(--location-text); transition:grid-template-rows var(--header-search-duration) ease; }
.header-search-panel.is-open { grid-template-rows:1fr; }
.header-search-reveal { min-height:0; overflow:hidden; }
.header-search-inner { padding-block:1.5rem 1.75rem; }
.header-search-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; margin-block-end:1.25rem; }
.header-search-heading h2 { margin:0; font-size:1.4rem; font-weight:600; line-height:1.5; }
.header-search-heading p { margin:.25rem 0 0; color:var(--header-search-muted); font:inherit; font-size:.875rem; line-height:1.6; }
.header-search-close { width:44px; height:44px; flex-shrink:0; border:1px solid var(--location-border); border-radius:var(--header-search-control-radius); background:var(--location-surface); color:var(--location-text); font-size:26px; line-height:1; cursor:pointer; }
.header-search-content { min-height:44px; }
.organized-property-search { margin-block:1rem 1.5rem; padding:1rem; background:var(--header-search-surface); border-radius:var(--header-search-card-radius); }
.header-search-content .organized-property-search { margin:0; padding:0; background:transparent; }
.organized-property-search .location-search { padding:1.5rem; margin:0; border:1px solid var(--header-search-border); border-radius:var(--header-search-card-radius); box-shadow:var(--header-search-card-shadow); }
.organized-property-search .location-search-form { grid-template-columns:repeat(12,minmax(0,1fr)); gap:1.25rem 1.5rem; align-items:start; }
.header-search-group { min-width:0; margin:0; padding:0; border:0; }
.header-search-group legend { width:auto; float:none; padding:0; margin:0 0 .8rem; color:var(--location-text); font-size:.95rem; font-weight:700; line-height:1.5; }
.header-search-fields { display:grid; gap:1rem; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:end; }
.header-search-location { grid-column:1 / -1; padding-block-end:1.25rem; border-bottom:1px solid var(--header-search-border); }
.header-search-location > .header-search-fields > label:only-of-type { grid-column:1 / -1; }
.header-search-property { grid-column:span 7; }
.header-search-property .header-search-fields { grid-template-columns:repeat(3,minmax(0,1fr)); }
.header-search-budget { grid-column:span 5; padding-inline-start:1.5rem; border-inline-start:1px solid var(--header-search-border); }
.organized-property-search .location-search-form label { min-width:0; gap:.45rem; margin:0; color:var(--header-search-muted); font-size:.8rem; font-weight:500; line-height:1.5; }
.organized-property-search .location-search-form select,.organized-property-search .location-search-form input { min-height:46px; border-color:var(--header-search-field-border); padding:.65rem .75rem; font:inherit; font-size:.875rem; }
.header-search-hierarchy { grid-column:1 / -1; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr)); gap:1rem; padding:1rem; background:var(--header-search-surface); border-radius:var(--header-search-control-radius); }
.header-search-hierarchy:not(:has(label:not([hidden]))) { display:none; }
.header-search-group .location-empty-options { color:var(--header-search-muted); font:inherit; font-size:.8rem; line-height:1.6; margin-block:.75rem 0; }
.header-search-group .location-empty-options:empty { display:none; }
.header-search-actions { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:1rem; border-top:1px solid var(--header-search-border); padding-block-start:1.25rem; }
.organized-property-search .location-view-links { gap:.5rem; margin:0; }
.organized-property-search .location-view-links a { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; min-height:42px; padding:.5rem .75rem; border:1px solid var(--header-search-border); border-radius:var(--header-search-control-radius); font-size:.8rem; text-decoration:none; }
.organized-property-search .location-view-links a:hover { border-color:var(--location-accent); color:var(--location-text); }
.organized-property-search .location-search-form .header-search-submit { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-width:220px; min-height:48px; padding:.75rem 1.5rem; background:var(--location-accent); color:var(--location-text); border:1px solid var(--location-accent); border-radius:var(--header-search-control-radius); font:inherit; font-size:.95rem; font-weight:600; }
.organized-property-search .location-search-form .header-search-submit:hover { background:var(--header-search-accent-hover); border-color:var(--header-search-accent-hover); }
.header-search-submit:focus-visible { outline:2px solid var(--location-text); outline-offset:3px; }
.popular-listing .pagination { display:flex; flex-wrap:wrap; justify-content:center; row-gap:.5rem; }
@media(max-width:991px) {
    .header .navbar-brand { margin-inline:0; }
    .header-search-property,.header-search-budget { grid-column:1 / -1; }
    .header-search-budget { padding-inline-start:0; border-inline-start:0; }
}
@media(max-width:600px) {
    .header-search-inner { padding-block:1rem; }
    .organized-property-search { padding:.5rem; }
    .header-search-content .organized-property-search { padding:0; }
    .header-search-heading h2 { font-size:1.2rem; }
    .organized-property-search .location-search { padding:1rem; }
    .organized-property-search .location-search-form { gap:1.25rem; }
    .header-search-fields { gap:.75rem; }
    .header-search-property .header-search-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .header-search-property label:last-child { grid-column:1 / -1; }
    .header-search-hierarchy { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; padding:.75rem; }
    .header-search-actions { flex-direction:column; align-items:stretch; }
    .organized-property-search .location-view-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.4rem; }
    .organized-property-search .location-view-links a { padding:.5rem .35rem; }
    .organized-property-search .location-search-form .header-search-submit { width:100%; min-width:0; }
}
@media(prefers-reduced-motion:reduce) { .header-search-panel { transition:none; } }
