:root {
            --bg: #ececec;
            --card: #f8f8f8;
            --line: #d2d2d2;
            --text: #1f2430;
            --muted: #5f6673;
            --green: #31a047;
            --catalog-header-offset: 118px;
        }
        * { box-sizing: border-box; }
        body {
            margin: 0;
            background: var(--bg);
            color: var(--text);
            font-family: Arial, sans-serif;
            overflow-x: hidden;
        }
        .page {
            max-width: 1450px;
            margin: 0 auto;
            padding: calc(var(--catalog-header-offset) + 26px) 18px 40px;
        }
        .mobile-filter-toggle {
            display: none;
            margin: 0 0 12px;
            border: 1px solid #7a7f89;
            border-radius: 10px;
            background: #fff;
            color: #252b36;
            font-size: 16px;
            font-weight: 700;
            padding: 10px 14px;
            cursor: pointer;
        }
        .listing-title {
            margin: 0 0 12px;
            font-size: 28px;
            line-height: 1.08;
            font-weight: 800;
            letter-spacing: -0.4px;
        }
        .layout {
            display: grid;
            grid-template-columns: 300px 1fr;
            gap: 22px;
            align-items: start;
        }
.sidebar {
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow: visible;
    background: #f3f3f3;
    position: relative;
}
        .sidebar-head {
            padding: 20px 22px;
            font-size: 18px;
            font-weight: 700;
            border-bottom: 1px solid var(--line);
            border-top-left-radius: 15px;
            border-top-right-radius: 15px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        .sidebar-close {
            display: none;
            border: 1px solid #9aa1ad;
            border-radius: 8px;
            background: #fff;
            color: #2d3440;
            font-size: 13px;
            padding: 6px 10px;
            cursor: pointer;
        }
.sidebar-body {
    padding: 14px;
    height: auto;
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
}
.filters {
    height: auto;
    display: flex;
    flex-direction: column;
    min-height: auto;
}
.filters-scroll {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    overflow: visible;
    min-height: auto;
    padding-right: 0;
    scrollbar-width: thin;
    scrollbar-color: #aeb6c4 transparent;
}
        .filters label {
            font-size: 13px;
            color: var(--muted);
            font-weight: 700;
            margin-top: 4px;
        }
        .filters input,
        .filters select {
            width: 100%;
            padding: 10px 12px;
            border: 1px solid #bfc4cd;
            border-radius: 10px;
            font-size: 16px;
            background: #fff;
        }
        .select-search {
            margin-top: -4px;
            margin-bottom: 2px;
            font-size: 13px !important;
            padding: 8px 10px !important;
        }
        .top-makes {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
            margin-bottom: 8px;
        }
        .top-make-btn {
            border: 1px solid #bfc4cd;
            background: #fff;
            color: #2b3240;
            border-radius: 999px;
            padding: 5px 9px;
            font-size: 12px;
            cursor: pointer;
            line-height: 1.2;
        }
        .top-make-btn.active {
            background: #e8f4ec;
            border-color: #82b88d;
            color: #1f5e2b;
            font-weight: 700;
        }
        .checkbox-list {
            max-height: none;
            min-height: 0;
            overflow-y: visible;
            overflow-x: hidden;
            border: 1px solid #d8dbe1;
            border-radius: 10px;
            background: #f7f7f7;
            position: relative;
            scrollbar-width: thin;
            scrollbar-color: #aeb6c4 transparent;
        }
        .checkbox-list[data-facet-list="make"],
        .checkbox-list[data-facet-list="model"] {
            max-height: 190px;
            min-height: 120px;
            overflow-y: auto;
        }
        .filters-scroll::-webkit-scrollbar,
        .checkbox-list::-webkit-scrollbar {
            width: 6px;
            height: 6px;
        }
        .filters-scroll::-webkit-scrollbar-track,
        .checkbox-list::-webkit-scrollbar-track {
            background: transparent;
        }
        .filters-scroll::-webkit-scrollbar-thumb,
        .checkbox-list::-webkit-scrollbar-thumb {
            background: #aeb6c4;
            border-radius: 999px;
            border: 1px solid rgba(255,255,255,.35);
        }
        .filters-scroll::-webkit-scrollbar-thumb:hover,
        .checkbox-list::-webkit-scrollbar-thumb:hover {
            background: #98a3b3;
        }
        .checkbox-item {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 8px 10px;
            border-bottom: 1px solid #e5e7ea;
            font-size: 14px;
            cursor: pointer;
        }
        .checkbox-item:last-child {
            border-bottom: none;
        }
        .checkbox-item input {
            width: 16px;
            height: 16px;
            margin: 0;
            flex: 0 0 auto;
        }
        .checkbox-item.hidden-by-facet,
        .checkbox-item.hidden-by-search {
            display: none;
        }
        .checkbox-item.active {
            background: #edf5ef;
        }
        .checkbox-item.is-disabled {
            opacity: .58;
        }
        .checkbox-item.is-disabled span {
            color: #707784;
        }
        .facet-inline-actions {
            display: flex;
            justify-content: flex-end;
            margin: -2px 0 4px;
        }
        .btn-link {
            border: 0;
            background: transparent;
            padding: 0;
            font-size: 12px;
            color: #4f627e;
            text-decoration: underline;
            cursor: pointer;
        }
        .active-chips {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin: 0 0 12px;
        }
        .active-chip {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            border: 1px solid #9aa4b4;
            border-radius: 999px;
            background: #f5f7fa;
            color: #2f3744;
            text-decoration: none;
            padding: 6px 11px;
            font-size: 13px;
            line-height: 1;
            white-space: nowrap;
        }
        .active-chip--reset {
            border-color: #ff4d5a !important;
            background: #fff2f4;
        }
        .active-chip--reset .active-chip__x {
            color: #ff2436;
            font-weight: 800;
            line-height: 1;
        }
        .active-chip--reset:hover {
            border-color: #ff2436 !important;
            box-shadow: 0 0 0 1px rgba(255, 36, 54, .28);
        }
        .checkbox-empty {
            padding: 8px 10px;
            font-size: 13px;
            color: #7b8190;
        }
.actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 12px;
    flex-shrink: 0;
    background: #f3f3f3;
    border-top: 1px solid #d7d7d7;
    padding: 10px 0 0;
    position: sticky;
    bottom: 10px;
    z-index: 8;
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    background-clip: padding-box;
    padding-bottom: calc(2px + env(safe-area-inset-bottom));
}
        .btn {
            border: 1px solid #7a7f89;
            border-radius: 10px;
            background: #fff;
            color: #252b36;
            cursor: pointer;
            font-size: 16px;
            padding: 10px;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .08s ease;
        }
        .btn.primary {
            background: var(--green);
            color: #fff;
            border-color: var(--green);
            font-weight: 700;
        }
        .actions .btn:hover,
        .card-actions .btn:hover {
            background: #e7f0ff;
            border-color: #3c5578;
            color: #11243b;
            box-shadow: 0 10px 22px rgba(20, 40, 70, .22);
            transform: translateY(-2px);
        }
        .actions .btn.primary:hover,
        .card-actions .btn.primary:hover {
            background: #31a94b;
            border-color: #31a94b;
            color: #fff;
            box-shadow: 0 12px 24px rgba(49, 169, 75, .36);
            transform: translateY(-2px);
        }
        .actions .btn:active,
        .card-actions .btn:active {
            transform: translateY(1px) scale(.99);
            box-shadow: inset 0 1px 0 rgba(0, 0, 0, .12);
        }
        .actions .btn.primary:active,
        .card-actions .btn.primary:active {
            background: #257f37;
            border-color: #257f37;
        }
        .actions .btn:focus-visible,
        .card-actions .btn:focus-visible {
            outline: 2px solid #6f95ff;
            outline-offset: 2px;
        }
        .results-head {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin: 4px 0 12px;
            gap: 12px;
            padding: 0;
        }
        .sort-form {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-size: 14px;
            color: #5f6673;
            font-weight: 700;
            margin-left: auto;
        }
.sort-form select {
    border: 1px solid #bfc4cd;
    border-radius: 10px;
    background: #fff;
    color: #252b36;
    font-size: 15px;
    padding: 9px 12px;
    padding-right: 38px;
    min-width: 240px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, #596273 50%),
        linear-gradient(135deg, #596273 50%, transparent 50%);
    background-position:
        calc(100% - 18px) calc(50% - 2px),
        calc(100% - 12px) calc(50% - 2px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}
        .total {
            font-size: 16px;
            font-weight: 700;
            line-height: 1.2;
        }
        .cards {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 18px;
        }
        .card {
            border-radius: 16px;
            border: 1px solid #dbdbdb;
            background: var(--card);
            overflow: hidden;
            box-shadow: 0 4px 12px rgba(0,0,0,.06);
            display: flex;
            flex-direction: column;
        }
        .cards-animate .card {
            opacity: 0;
            transform: translateY(28px) scale(.965);
            filter: blur(6px) saturate(.9);
            box-shadow: 0 0 0 rgba(0,0,0,0);
        }
        .cards-animate.cards-ready .card {
            opacity: 1;
            transform: translateY(0) scale(1);
            filter: blur(0) saturate(1);
            box-shadow: 0 8px 22px rgba(0,0,0,.10);
            transition:
                opacity .50s cubic-bezier(.22, .61, .36, 1),
                transform .62s cubic-bezier(.2, .8, .2, 1),
                filter .55s ease,
                box-shadow .55s ease;
            transition-delay: calc(var(--card-delay, 0) * 62ms);
        }
        @media (prefers-reduced-motion: reduce) {
            .cards-animate .card,
            .cards-animate.cards-ready .card {
                opacity: 1;
                transform: none;
                filter: none;
                transition: none;
            }
        }
        .card-media {
            position: relative;
            min-height: 255px;
        }
        .card-badge {
            position: absolute;
            left: 0;
            top: 0;
            background: #f2d5a3;
            color: #2f2f2f;
            font-size: 14px;
            font-weight: 700;
            padding: 8px 12px;
            border-bottom-right-radius: 10px;
        }
        .card img {
            display: block;
            width: 100%;
            height: 255px;
            object-fit: cover;
            background: #e9e9e9;
        }
        .card-slider {
            position: relative;
            overflow: hidden;
            touch-action: pan-y;
        }
        .card-slider[data-card-url] {
            cursor: pointer;
        }
        .card-slider[data-card-url]:focus-visible {
            outline: 2px solid #74a2ff;
            outline-offset: -2px;
        }
        .card-slider::before,
        .card-slider::after {
            content: "";
            position: absolute;
            opacity: 0;
            pointer-events: none;
            transition: opacity .16s ease;
            z-index: 3;
        }
        .card-slider::before {
            inset: 0;
            background: rgba(18, 24, 36, .18);
        }
        .card-slider::after {
            width: 28px;
            height: 28px;
            left: 50%;
            top: 50%;
            margin-left: -14px;
            margin-top: -14px;
            border-radius: 50%;
            border: 2px solid rgba(255, 255, 255, .75);
            border-top-color: rgba(255, 255, 255, .2);
            animation: cardSliderSpin .7s linear infinite;
        }
        .card-slider.is-loading::before,
        .card-slider.is-loading::after {
            opacity: 1;
        }
        @keyframes cardSliderSpin {
            to { transform: rotate(360deg); }
        }
        .card-media-placeholder {
            position: absolute;
            inset: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 10px;
            background: #eef2f7;
            color: #6f7b8d;
            text-align: center;
            font-size: 15px;
            font-weight: 700;
        }
        .card-media-placeholder.hidden {
            display: none;
        }
        .card-media-placeholder-icon {
            width: 56px;
            height: 56px;
            fill: currentColor;
            opacity: .85;
        }
        .card img.card-slide {
            display: none;
        }
        .card img.card-slide.active {
            display: block;
        }
        .slider-nav {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 28px;
            height: 28px;
            border: 1px solid rgba(255,255,255,.8);
            background: rgba(0,0,0,.35);
            color: #fff;
            border-radius: 50%;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 14px;
            line-height: 1;
        }
        .slider-prev { left: 8px; }
        .slider-next { right: 8px; }
        .slider-count {
            position: absolute;
            right: 8px;
            bottom: 8px;
            background: rgba(0,0,0,.55);
            color: #fff;
            font-size: 11px;
            border-radius: 10px;
            padding: 3px 7px;
        }
        .card-body {
            padding: 16px 18px 18px;
            display: flex;
            flex-direction: column;
            flex: 1 1 auto;
        }
        .card-title {
            margin: 0 0 12px;
            font-size: 18px;
            line-height: 1.14;
            font-weight: 900;
            letter-spacing: -0.4px;
        }
        .card-title a {
            color: inherit;
            text-decoration: none;
        }
        .card-title a:hover {
            text-decoration: underline;
            text-decoration-thickness: 1.5px;
            text-underline-offset: 2px;
        }
        .specs {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 8px 14px;
            margin-bottom: 12px;
            font-size: 12px;
            color: #2b3240;
        }
        .spec {
            display: flex;
            align-items: center;
            gap: 6px;
            min-width: 0;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .spec-icon {
            width: 14px;
            height: 14px;
            flex: 0 0 14px;
            color: #5f7088;
            opacity: .9;
        }
        .spec-text {
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .card-meta {
            font-size: 12px;
            color: var(--muted);
            margin-bottom: 6px;
        }
        .card-price {
            font-size: 16px;
            font-weight: 800;
            margin-bottom: 12px;
        }
        .card-actions {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 10px;
            margin-top: auto;
        }
        .card-actions .btn {
            font-size: 14px;
            padding: 10px 8px;
            border-radius: 12px;
        }
        .pagination {
            margin-top: 20px;
            display: flex;
            gap: 6px;
            align-items: center;
            flex-wrap: nowrap;
            overflow-x: auto;
            overflow-y: hidden;
            width: 100%;
            padding-bottom: 4px;
            -webkit-overflow-scrolling: touch;
        }
        .page-btn,
        .page-dots {
            min-width: 40px;
            height: 40px;
            padding: 0 8px;
            border-radius: 10px;
            border: 1px solid #60656f;
            background: #fff;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 15px;
            text-decoration: none;
            color: #222a35;
            font-weight: 700;
            white-space: nowrap;
            flex: 0 0 auto;
        }
        .page-btn.current {
            background: #f1f1f1;
        }
        .page-btn.disabled {
            background: #e4e4e4;
            border-color: #e4e4e4;
            color: #878d99;
            pointer-events: none;
        }
        .empty {
            border: 1px solid var(--line);
            border-radius: 12px;
            background: #fff;
            padding: 22px;
            font-size: 18px;
        }
        .empty__title {
            font-size: 22px;
            font-weight: 800;
            margin-bottom: 6px;
        }
        .empty__text {
            font-size: 15px;
            color: #5f6673;
            margin-bottom: 14px;
        }
        .empty__actions {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
        }
        .empty__actions .btn {
            min-width: 220px;
        }
        @media (max-width: 1260px) {
            .listing-title { font-size: 24px; }
            .sidebar-head { font-size: 17px; }
            .total { font-size: 17px; }
            .card-title { font-size: 17px; }
            .specs { font-size: 12px; }
            .card-actions .btn { font-size: 14px; }
            .page-btn, .page-dots { font-size: 14px; min-width: 36px; height: 36px; padding: 0 7px; border-radius: 9px; }
        }
        @media (max-width: 1024px) {
            .layout { grid-template-columns: 1fr; }
            .sidebar { position: static; max-height: none; overflow: visible; }
            .sidebar-body { height: auto; }
            .filters { height: auto; }
            .filters-scroll { overflow: visible; }
            .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            .listing-title { font-size: 22px; }
            .sidebar-head { font-size: 18px; }
            .total { font-size: 18px; }
            .mobile-filter-toggle { display: inline-flex; align-items: center; gap: 8px; }
            .sidebar { display: none; }
            body.filters-open::before {
                content: "";
                position: fixed;
                inset: 0;
                z-index: 999;
                background: rgba(16, 22, 33, .44);
                backdrop-filter: blur(1px);
            }
            body.filters-open .sidebar {
                display: block;
                position: fixed;
                inset: 6px;
                z-index: 1001;
                max-height: calc(100vh - 12px);
                overflow: hidden;
                box-shadow: 0 12px 32px rgba(0,0,0,.22);
                background: #f3f3f3;
                border-radius: 16px;
            }
            body.filters-open { overflow: hidden; }
            body.filters-open .sidebar-head {
                padding: 14px 16px;
                min-height: 64px;
                font-size: 16px;
            }
            body.filters-open .sidebar-close {
                font-size: 12px;
                padding: 6px 10px;
            }
            body.filters-open .sidebar-body {
                height: calc(100vh - 12px - 64px);
                padding: 0;
                overflow-y: auto;
                overflow-x: hidden;
                scrollbar-gutter: stable;
            }
            body.filters-open .filters {
                min-height: 100%;
                padding: 0 10px 10px;
            }
            body.filters-open .filters-scroll {
                overflow: visible;
                padding: 10px 2px 0;
                scrollbar-width: auto;
            }
            body.filters-open .actions {
                bottom: 8px;
                padding-top: 8px;
                margin-top: 10px;
            }
            body.filters-open .actions .btn {
                font-size: 14px;
                padding: 9px 8px;
                border-radius: 12px;
            }
            .sidebar-close { display: inline-block; }
        }
        @media (max-width: 680px) {
            .page {
                padding: calc(var(--catalog-header-offset) - 28px) 8px 20px;
                max-width: 100%;
            }
            .listing-title {
                font-size: 20px;
                line-height: 1.1;
                letter-spacing: -0.3px;
                margin-bottom: 12px;
            }
            .cards { grid-template-columns: 1fr; }
            .empty__actions {
                flex-direction: column;
            }
            .empty__actions .btn {
                width: 100%;
                min-width: 0;
            }
            .results-head { flex-direction: column; align-items: flex-start; gap: 8px; margin-bottom: 10px; }
            .active-chips {
                margin-bottom: 10px;
                gap: 6px;
            }
            .active-chip {
                font-size: 12px;
                padding: 6px 9px;
            }
            .sort-form { width: 100%; margin-left: 0; }
            .sort-form select { width: 100%; min-width: 0; }
            .card img { height: 220px; }
            .card-actions {
                grid-template-columns: 1fr;
                gap: 8px;
            }
            .card-actions .btn {
                font-size: 13px;
                padding: 9px 6px;
                width: 100%;
            }
            .card-title { font-size: 16px; margin-bottom: 10px; }
            .specs { font-size: 11px; gap: 6px 10px; }
            .card-body { padding: 14px; }
            .pagination {
                gap: 4px;
            }
            .page-btn, .page-dots {
                min-width: 30px;
                height: 30px;
                font-size: 12px;
                padding: 0 5px;
                border-radius: 7px;
            }
        }
        @media (max-width: 420px) {
            .pagination {
                gap: 3px;
            }
            .page-btn, .page-dots {
                min-width: 28px;
                height: 28px;
                font-size: 11px;
                padding: 0 4px;
                border-radius: 6px;
            }
        }

        .lead-modal { display: none; position: fixed; inset: 0; z-index: 1000; }
        .lead-modal.open { display: block; }
        .lead-modal__backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, .5); }
        .lead-modal__dialog {
            position: relative;
            z-index: 1;
            width: min(460px, calc(100vw - 24px));
            margin: 8vh auto 0;
            border-radius: 12px;
            background: #fff;
            border: 1px solid #ddd;
            padding: 18px;
        }
        .lead-modal__close {
            position: absolute;
            right: 10px;
            top: 10px;
            border: 1px solid #bbb;
            border-radius: 8px;
            width: 34px;
            height: 34px;
            background: #fff;
            cursor: pointer;
            font-size: 20px;
            line-height: 1;
        }
        .lead-modal__title { margin: 0 0 12px; font-size: 22px; }
        .lead-form { display: grid; gap: 14px; }
        .lead-form label {
            font-size: 14px;
            color: #2b3343;
            font-weight: 700;
            margin-bottom: -6px;
        }
        .lead-form input {
            width: 100%;
            height: 56px;
            border: 1px solid #c7cfda;
            border-radius: 12px;
            padding: 0 16px;
            font-size: 20px;
            font-weight: 600;
            color: #1f2430;
            background: #fff;
            transition: border-color .18s ease, box-shadow .18s ease;
        }
        .lead-form input::placeholder {
            color: #8c94a3;
            font-size: 17px;
            font-weight: 500;
        }
        .lead-form input:focus {
            border-color: #6da7f7;
            box-shadow: 0 0 0 3px rgba(109, 167, 247, .22);
            outline: none;
        }
        .lead-form .btn.primary {
            height: 56px;
            font-size: 20px;
            font-weight: 800;
            border-radius: 14px;
            letter-spacing: .2px;
            margin-top: 4px;
        }
        .lead-thanks-text { margin: 0 0 14px; color: #444; }
