.car-finder { padding-top: 20px; padding-bottom: 28px; }
.car-title-row, .car-result-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.car-title-row { margin-bottom:6px; }
.car-title-row h1 { font-size:28px; line-height:1.2; margin:0; }
.car-total { min-height:24px; margin:0 0 14px; font-size:16px; line-height:24px; color:#40535b; }
.car-total strong { color:#17232a; }
.car-search-form { color:#17232a; font-size:14px; }
.car-search-form label { display:flex; flex-direction:column; gap:4px; min-width:0; font-weight:500; }
.car-search-form input:not([type=checkbox]), .car-search-form select { width:100%; min-width:0; height:40px; border:1px solid #b8c6cd; border-radius:4px; background:#fff; color:#17232a; padding:0 10px; font:inherit; }
.car-search-main { display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:12px; align-items:end; }
.car-search-main .button { min-height:40px; height:40px; white-space:nowrap; }
.car-place-and-position { display:flex; align-items:end; gap:10px; min-width:0; }
.car-place-and-position > .icon-button { flex:0 0 40px; width:40px; height:40px; }
.car-place-control { position:relative; min-width:0; flex:1; }
#car-places { position:absolute; top:100%; left:0; right:0; background:#fff; border:1px solid #b8c6cd; box-shadow:0 5px 14px #0002; z-index:1100; list-style:none; margin:2px 0 0; padding:4px; max-height:260px; overflow-y:auto; }
#car-places button { display:block; width:100%; text-align:left; padding:9px 8px; background:none; border:0; color:#17232a; font:inherit; }
#car-places [aria-selected=true], #car-places button:hover { background:#e4f4f1; }
.car-search-options { display:flex; flex-wrap:wrap; gap:10px 18px; align-items:end; margin-top:12px; }
.car-search-options label { min-width:100px; }
.car-search-options .text-link { align-self:center; }
.car-more-filters { margin-top:12px; border-top:1px solid #d9e2e6; border-bottom:1px solid #d9e2e6; }
.car-more-filters summary { display:flex; gap:8px; align-items:center; cursor:pointer; width:fit-content; padding:10px 0; font-weight:600; }
.car-more-filters summary svg { width:18px; height:18px; }
.car-filter-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px 16px; padding:0 0 14px; }
.car-filter-grid fieldset { border:0; padding:0; margin:0; min-width:0; }
.car-filter-grid legend { margin-bottom:4px; font-weight:500; }
.car-range { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.car-filter-grid .car-specification { grid-column:span 2; }
.car-filter-grid .car-vat { flex-direction:row; align-items:center; gap:8px; grid-column:span 2; }
.car-vat input { width:18px; height:18px; }
.car-form-status { margin:4px 0 0; min-height:20px; line-height:20px; color:#64521a; }
.car-result-heading { min-height:46px; margin:8px 0; }
.car-result-heading h2 { font-size:20px; margin:0; }
.car-result-heading p { margin:0; color:#4a5a63; font-size:14px; }
.car-results-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:24px; align-items:start; }
.car-dealers { min-width:0; min-height:300px; }
.car-dealer { padding:16px 0; border-bottom:1px solid #d9e2e6; display:grid; grid-template-columns:44px minmax(0,1fr) auto; gap:12px; }
.car-dealer:first-child { padding-top:0; }
.car-dealer .brand-logo { width:40px; height:36px; object-fit:contain; }
.car-dealer h3 { font-size:17px; line-height:1.3; margin:0 0 5px; }
.car-dealer h3 a { color:#17232a; text-decoration:none; }
.car-dealer h3 a:hover { text-decoration:underline; }
.car-dealer p { margin:4px 0; font-size:14px; color:#52616a; }
.car-dealer .car-stock { color:#176451; font-weight:600; }
.car-dealer-initials { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:4px; background:#e9eff2; font-weight:600; font-size:14px; }
.car-dealer .car-authorization { color:#236b4d; font-size:13px; }
.car-map-panel { position:sticky; top:85px; min-width:0; border:1px solid #d0dce2; border-radius:4px; overflow:hidden; background:#eef3f5; }
#car-map { width:100%; height:390px; z-index:0; }
.car-map-toolbar { display:flex; align-items:center; justify-content:space-between; gap:8px; background:#fff; padding:8px; }
.car-map-total { display:none; margin:0; padding:4px 10px; font-size:14px; background:#fff; }
.is-expanded .car-map-total { display:block; min-height:28px; }
.car-map-feedback { padding:6px 10px; background:#fff; font-size:13px; line-height:18px; flex-shrink:0; }
.car-map-feedback p { margin:0; }
[data-car-map-coverage] { min-height:36px; }
.car-map-error { display:flex; gap:8px; align-items:center; min-height:40px; }
.car-map-error p { flex:1; }
.car-map-error .icon-button { flex-shrink:0; }
.car-map-panel.is-expanded { position:fixed; inset:0; width:100%; height:100dvh; z-index:1200; border:0; border-radius:0; display:flex; flex-direction:column; }
.car-map-panel.is-expanded #car-map { flex:1; height:auto; min-height:0; }
.car-map-dialog { width:100%; height:100dvh; max-width:none; max-height:none; padding:0; border:0; margin:0; }
.car-map-icon { background:#15766c; color:white; border:2px solid white; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 1px 5px #0005; font:600 13px Arial,sans-serif; }
.car-map-icon.cluster { background:#2d414b; }
.car-stock-note { font-size:13px; color:#52616a; margin:20px 0 0; }
.car-mode-switch { display:flex; gap:0; margin:14px 0; width:fit-content; border-bottom:1px solid #ffffff65; }
.car-mode-switch button { display:flex; gap:8px; align-items:center; background:none; border:0; border-bottom:3px solid transparent; color:white; font:inherit; padding:8px 12px; }
.car-mode-switch [aria-selected=true] { border-color:#38d0bb; font-weight:600; }
.car-mode-switch svg { width:18px; height:18px; }
#catalog-search[hidden], #home-car-search[hidden] { display:none !important; }
.hero .car-search-form { color:white; }
.hero .car-all-filters { color:white; margin-top:10px; }
.hero .car-form-status { color:#fff; }
[data-car-load-more] { margin-top:16px; }
@media (max-width:760px) {
 .car-title-row h1 { font-size:24px; }
 .car-title-row .text-link { font-size:13px; }
 .car-search-main { grid-template-columns:1fr 1fr; gap:10px; }
 .car-search-options { gap:8px 12px; }
 .car-search-options label { flex:1 1 110px; }
 .car-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .car-results-layout { grid-template-columns:1fr; gap:16px; }
 .car-map-panel { position:relative; top:0; grid-row:1; }
 #car-map { height:240px; }
 .car-result-heading { gap:6px; }
 .car-dealer { grid-template-columns:36px minmax(0,1fr) 24px; gap:8px; }
 .car-dealer-initials { width:32px; height:36px; font-size:12px; }
 .car-dealer h3 { font-size:16px; }
}
