@media (max-width: 1023.98px) {
            #filterModal { width: min(88vw, 360px) !important; max-width: min(88vw, 360px) !important; left: 0 !important; right: auto !important; }
        }
        @media (min-width: 1024px) {
            #filterModal { width: min(100%, 340px) !important; }
        }
        body.filter-modal-open #mobileBottomNav { display: none !important; }
        body.filter-modal-open [data-model-card],
        body.filter-modal-open [data-model-card] * { z-index: 0 !important; }
        body.filter-modal-open #filterOverlay,
        body.filter-modal-open #filterModal { z-index: 2147483646 !important; isolation: isolate; }
        body.filter-modal-open #filterModal { z-index: 2147483647 !important; }
        .fav-btn.is-active { background-color: #ef4444 !important; border-color: #ef4444 !important; color: white !important; }
        .fav-btn.is-active:hover { background-color: #dc2626 !important; }
        .seo-block, .seo-block * { color: inherit !important; }
        .seo-block { color: var(--seo-text-color, inherit) !important; }
        .seo-block h1, .seo-block h2, .seo-block h3,
        .seo-block h4, .seo-block h5, .seo-block h6 {
            font-weight: 700;
            line-height: 1.3;
            margin-top: 1.5em;
            margin-bottom: 0.5em;
        }
        .seo-block h1 { font-size: 1.75em; }
        .seo-block h2 { font-size: 1.45em; }
        .seo-block h3 { font-size: 1.25em; }
        .seo-block h4 { font-size: 1.1em; }
        .seo-block > *:first-child { margin-top: 0; }
        .seo-block p { margin: 0.75em 0; line-height: 1.7; }
        .seo-block ul, .seo-block ol { margin: 0.75em 0; padding-left: 1.5em; }
        .seo-block ul { list-style: disc; }
        .seo-block ol { list-style: decimal; }
        .seo-block li { margin: 0.3em 0; line-height: 1.6; }
        .seo-block a { text-decoration: underline; text-underline-offset: 2px; opacity: 0.85; }
        .seo-block a:hover { opacity: 1; }
        .seo-block strong, .seo-block b { font-weight: 700; }
        .seo-block em, .seo-block i { font-style: italic; }
        .seo-block blockquote {
            border-left: 3px solid currentColor;
            padding-left: 1em;
            margin: 1em 0;
            opacity: 0.8;
            font-style: italic;
        }
        .seo-block table { width: 100%; border-collapse: collapse; margin: 1em 0; }
        .seo-block th, .seo-block td {
            border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
            padding: 0.5em 0.75em;
            text-align: left;
        }
        .seo-block th { font-weight: 700; opacity: 0.9; }
        .seo-block img { max-width: 100%; height: auto; border-radius: 6px; margin: 1em 0; }
        .seo-block hr { border: none; border-top: 1px solid currentColor; opacity: 0.2; margin: 1.5em 0; }

        /* Model cards: elegant frame animation */
        .mc-elegant .mc-frame-top,
        .mc-elegant .mc-frame-right,
        .mc-elegant .mc-frame-bottom,
        .mc-elegant .mc-frame-left {
            position: absolute; z-index: 20; pointer-events: none;
            background: var(--mc-frame_color, #ffffff);
            transition: all .45s cubic-bezier(.4,0,.2,1);
        }
        .mc-elegant .mc-frame-top, .mc-elegant .mc-frame-bottom { height: 1px; width: 0; }
        .mc-elegant .mc-frame-left, .mc-elegant .mc-frame-right { width: 1px; height: 0; }
        .mc-elegant .mc-frame-top    { top: 8px; left: 8px; }
        .mc-elegant .mc-frame-right  { top: 8px; right: 8px; }
        .mc-elegant .mc-frame-bottom { bottom: 8px; right: 8px; }
        .mc-elegant .mc-frame-left   { bottom: 8px; left: 8px; }
        .mc-elegant:hover .mc-frame-top, .mc-elegant:hover .mc-frame-bottom { width: calc(100% - 16px); }
        .mc-elegant:hover .mc-frame-left, .mc-elegant:hover .mc-frame-right { height: calc(100% - 16px); }
        .mc-elegant .mc-elegant-overlay { opacity: 0; transition: opacity .4s ease; }
        .mc-elegant:hover .mc-elegant-overlay { opacity: 1; }

        /* Model cards: showcase photo swap */
        .mc-showcase:hover .mc-showcase-img1 { opacity: 0; }
        .mc-showcase:hover .mc-showcase-img2 { opacity: 1; }

        /* Filter: pills variant */
        .sf-pill input { display: none; }
        .sf-pill span {
            display: inline-flex; align-items: center; padding: 6px 14px;
            border: 1px solid var(--sf-border); background: var(--sf-input_bg);
            color: var(--sf-text); font-size: 13px; line-height: 1.3;
            cursor: pointer; transition: all .2s ease; white-space: nowrap;
        }
        .sf-pill input:checked + span { background: var(--sf-accent); border-color: var(--sf-accent); color: var(--sf-accent_text, #ffffff); }
        .sf-pill-radio input { display: none; }
        .sf-pill-radio span {
            display: inline-flex; align-items: center; padding: 6px 14px;
            border: 1px solid var(--sf-border); background: var(--sf-input_bg);
            color: var(--sf-text); font-size: 13px; cursor: pointer;
            transition: all .2s ease; white-space: nowrap;
        }
        .sf-pill-radio input:checked + span { background: var(--sf-accent); border-color: var(--sf-accent); color: var(--sf-accent_text, #ffffff); }

        /* Filter: modern variant */
        .sf-modern-section {
            background: var(--sf-card_bg, var(--sf-bg));
            border: 1px solid var(--sf-border); padding: 14px 16px; margin-bottom: 10px;
        }
        .sf-toggle { position: relative; width: 36px; height: 20px; cursor: pointer; display: inline-block; }
        .sf-toggle input { display: none; }
        .sf-toggle-track { position: absolute; inset: 0; background: var(--sf-border); transition: background .2s; }
        .sf-toggle input:checked + .sf-toggle-track { background: var(--sf-accent); }
        .sf-toggle-thumb {
            position: absolute; top: 2px; left: 2px; width: 16px; height: 16px;
            background: white; transition: transform .2s; box-shadow: 0 1px 3px rgba(0,0,0,.2);
        }
        .sf-toggle input:checked ~ .sf-toggle-thumb { transform: translateX(16px); }
        .sf-modern-check input { display: none; }
        .sf-modern-check {
            display: flex; align-items: center; gap: 10px; padding: 8px 12px;
            cursor: pointer; transition: background .15s;
        }
        .sf-modern-check:hover { background: var(--sf-hover_bg, color-mix(in oklab, var(--sf-bg) 90%, var(--sf-text) 10%)); }
        .sf-modern-check .sf-check-box {
            width: 18px; height: 18px; border: 2px solid var(--sf-border);
            display: flex; align-items: center; justify-content: center;
            transition: all .2s; flex-shrink: 0;
        }
        .sf-modern-check input:checked + .sf-check-box { background: var(--sf-accent); border-color: var(--sf-accent); }
        .sf-modern-check .sf-check-icon { opacity: 0; color: var(--sf-accent_text, #ffffff); transition: opacity .15s; }
        .sf-modern-check input:checked + .sf-check-box .sf-check-icon { opacity: 1; }

        /* Header: shared nav styles */
        #main-nav .header-nav-link .header-nav-link-underline { background: var(--hd-accent); }
        #main-nav .header-nav-link:hover .header-nav-link-text,
        #main-nav .header-nav-link:focus-visible .header-nav-link-text { color: var(--hd-accent); }
        #burger-btn:hover { filter: brightness(0.92); }
        #mobile-drawer-close:hover,
        #mobile-drawer-close:focus-visible { border-color: var(--hd-accent); color: var(--hd-accent); outline: none; }
        #mobile-drawer .mobile-drawer-link:hover,
        #mobile-drawer .mobile-drawer-link:focus-visible { background-color: color-mix(in srgb, var(--hd-bg) 94%, var(--hd-text_active) 6%); color: var(--hd-accent); outline: none; }
        #mobile-drawer .mobile-drawer-link:hover svg,
        #mobile-drawer .mobile-drawer-link:focus-visible svg { color: var(--hd-accent); }

        /* Header: split variant — hover shows active color */
        .sc-header-split #main-nav .header-nav-link:hover .header-nav-link-text { color: var(--hd-text_active); }

        /* Header: contact icons */
        .hd-contact-icon { overflow: visible; border: 1px solid var(--hd-border) !important; color: var(--hd-text); }
        .hd-contact-icon > svg { width: 16px !important; height: 16px !important; overflow: visible !important; flex-shrink: 0; }
        #mobile-drawer .hd-contact-icon { color: var(--hd-text_active); }
        #mobile-drawer .hd-contact-icon > svg { width: 20px !important; height: 20px !important; }
        .hd-contact-icon:hover { border-color: var(--hd-accent) !important; color: var(--hd-accent) !important; }

        /* Footer: contact icons */
        .ft-contact-icon { overflow: visible; border: 1px solid var(--ft-border); }
        .ft-contact-icon > svg { width: 16px !important; height: 16px !important; overflow: visible !important; flex-shrink: 0; }
        .ft-contact-icon:hover { border-color: var(--ft-accent) !important; color: var(--ft-accent) !important; }

        /* Footer: shared link hover */
        .sc-footer .footer-link:hover,
        .sc-footer .footer-link:focus-visible { color: var(--ft-accent) !important; }

        /* Filter: divider lines must stay flat even when global border-radius is on */
        .accordion-item.border-t, .accordion-item.border-b,
        .accordion-content.border-t, .accordion-content.border-b,
        #mainFilterForm > .border-t, #mainFilterForm > .border-b { border-radius: 0 !important; }

        /* Thin scrollbar: match Chrome look in Firefox */
        .custom-scrollbar { scrollbar-width: thin; scrollbar-color: rgba(0, 0, 0, 0.25) transparent; }
        .custom-scrollbar::-webkit-scrollbar { width: 6px; height: 6px; }
        .custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
        .custom-scrollbar::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.25); border-radius: 3px; }
        .custom-scrollbar::-webkit-scrollbar-thumb:hover { background: rgba(0, 0, 0, 0.4); }

        /* Filter (desktop): breathing room between content and scrollbar */
        @media (min-width: 1024px) {
            #filterModal .custom-scrollbar { padding-right: 8px !important; }
        }
        .pf-slider-wrapper, .pf-track-fill { border-radius: 9999px !important; }