/* CarsiFly's shared visual language. Layout/state rules stay with their components. */
:root { --cf-paper:#f7f7f0; --cf-ink:#191c20; --cf-blue:#3544ee; --cf-lime:#d8f86c; --cf-line:#dcdcce; --cf-muted:#646b6c; --cf-tint:#e9edff; --cf-soft:#ecece5; --cf-white:#fff; }
body.cf-theme { background:var(--cf-paper); color:var(--cf-ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
.cf-theme *, .cf-theme *::before,.cf-theme *::after { box-sizing:border-box; }
.cf-theme button,.cf-theme input,.cf-theme select { font-family:inherit; }
.cf-theme button,.cf-theme a { -webkit-tap-highlight-color:transparent; }
.cf-theme :focus-visible { outline:3px solid var(--cf-blue); outline-offset:3px; }
.cf-theme a { text-underline-offset:3px; }
.cf-theme .cf-icon { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.cf-theme .nav { min-height:64px; margin-bottom:0; padding:10px 32px; background:var(--cf-paper); border-bottom:1px solid var(--cf-line); box-shadow:none; backdrop-filter:none; }
.cf-theme .cf-logo { display:inline-flex; gap:8px; align-items:center; min-height:44px; font-size:29px; font-weight:800; letter-spacing:-1.6px; color:var(--cf-ink); white-space:nowrap; text-decoration:none; }
.cf-theme .cf-brand-mark { width:38px; height:38px; display:grid; place-items:center; border-radius:9px; background:var(--cf-blue); color:white; }
.cf-theme .cf-brand-dot { color:var(--cf-blue); margin-left:-8px; }
.cf-theme .nav-links { gap:20px; font-size:13px; font-weight:600; }
.cf-theme .nav-links>a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px; color:var(--cf-ink); border-radius:5px; }
.cf-theme .nav-links>a:hover,.cf-theme .nav-links>a[aria-current=page] { color:var(--cf-blue); background:var(--cf-tint); }
.cf-theme .auth-nav-signin-btn { min-height:44px; background:transparent; color:var(--cf-ink); border:1px solid var(--cf-ink); border-radius:6px; box-shadow:none; }
.cf-theme .auth-nav-signin-btn:hover { transform:none; background:var(--cf-ink); color:white; box-shadow:none; }
.cf-theme :is(.auth-nav-user-btn,.auth-nav-dropdown) { border:1px solid var(--cf-line); border-radius:8px; background:var(--cf-paper); box-shadow:none; }
.cf-theme .auth-nav-dropdown { box-shadow:0 12px 24px #191c2012; }
.cf-theme :is(.auth-nav-avatar,.auth-nav-dropdown-avatar,.user-avatar) { background:var(--cf-blue); color:white; }
.cf-theme .auth-nav-dropdown-item { border-radius:5px; min-height:44px; }
.cf-theme .auth-nav-dropdown-item:hover { background:var(--cf-tint); color:var(--cf-blue); }
.cf-theme .cf-eyebrow { font-size:10px; font-weight:700; letter-spacing:1.5px; line-height:1.6; text-transform:uppercase; color:var(--cf-blue); }
.cf-theme .cf-page-intro { width:min(1240px,calc(100% - 96px)); margin:40px auto 28px; }
.cf-theme .cf-page-intro h1 { margin:12px 0 16px; font-size:clamp(36px,4.5vw,60px); line-height:1.06; letter-spacing:-.055em; font-weight:800; }
.cf-theme .cf-page-intro h1 span { color:var(--cf-blue); }
.cf-theme .cf-page-intro>p:last-child { max-width:650px; font-size:16px; line-height:1.7; color:var(--cf-muted); }
.cf-theme :is(.primary-button,.analyse-btn-modern,.analytics-view-btn,.btn-discover-central,.car-action.primary,.auth-btn-primary,.modal-btn-primary,.back-button,.pagination-btn.active) { background:var(--cf-blue)!important; color:white!important; border:1px solid var(--cf-blue)!important; border-radius:6px; box-shadow:none!important; font-weight:650; }
.cf-theme :is(.primary-button,.analyse-btn-modern,.analytics-view-btn,.auth-btn,.car-action,.back-button):hover { box-shadow:none!important; transform:none; }
.cf-theme :is(.primary-button,.analyse-btn-modern,.btn-discover-central):disabled { background:var(--cf-soft)!important; color:#72786b!important; border-color:var(--cf-line)!important; opacity:1; cursor:not-allowed; }
.cf-theme :is(.secondary-button,.car-action.secondary,.modal-btn-secondary,.btn-refine,.auth-btn-google,.pagination-btn) { background:var(--cf-paper); border:1px solid var(--cf-line); color:var(--cf-ink); border-radius:6px; box-shadow:none; }
.cf-theme :is(.custom-dropdown-selected,.custom-dropdown-options,.auth-input,.modern-select,.mobile-model-picker select) { background:white; color:var(--cf-ink); border:1px solid var(--cf-line); border-radius:6px; box-shadow:none; }
.cf-theme :is(.custom-dropdown-selected.active,.custom-dropdown-selected:not(.disabled):hover,.auth-input:focus) { border-color:var(--cf-blue); box-shadow:0 0 0 2px #3544ee18; transform:none; }
.cf-theme .custom-dropdown-option { min-height:44px; }
.cf-theme .custom-dropdown-option:hover,.cf-theme .custom-dropdown-option.selected { background:var(--cf-tint); color:var(--cf-blue); }
.cf-theme .custom-dropdown-arrow path { fill:var(--cf-blue); }
.cf-theme :is(.card,.analytics-card,.stat-card,.country-card,.content-card,.search-item,.similar-vehicle-card,.car-list-item,.car-card) { border:1px solid var(--cf-line); border-radius:8px!important; background:white; box-shadow:none!important; }
.cf-theme :is(.card,.analytics-card,.stat-card,.country-card,.search-item,.car-list-item,.car-card):hover { box-shadow:none; }
.cf-theme .container { max-width:1240px; padding:0; width:calc(100% - 96px); margin:24px auto; }
.cf-theme .search-card { padding:22px; background:white; margin-bottom:0; }
.cf-theme .cf-search-label { margin:0 0 14px; font-size:12px; font-weight:650; color:var(--cf-muted); }
.cf-theme .search-controls { gap:12px; }
.cf-theme .primary-button { min-height:48px; }
.cf-theme :is(.dashboard-section,.hero-section-wrapper,#analyticsCardsSection,#carListingsSection,#analyticsSection) { max-width:1240px; width:calc(100% - 96px); margin:32px auto; padding:0; }
.cf-theme .analytics-container { max-width:none; padding:24px; border:1px solid var(--cf-line); border-radius:10px; background:white; box-shadow:none; }
.cf-theme .analytics-section { padding:0; margin:28px 0; }
.cf-theme .analytics-section>.analytics-grid { display:block; }
.cf-theme .segments-section { padding:0!important; margin:0!important; background:transparent; border:0; box-shadow:none; }
.cf-theme .segments-header { margin-bottom:20px; text-align:left; }
.cf-theme .segments-title { color:var(--cf-ink); font-size:30px; font-weight:750; letter-spacing:-1px; }
.cf-theme .segments-subtitle { color:var(--cf-muted); font-size:14px; line-height:1.6; }
.cf-theme .segment-tabs,.cf-theme .listings-tabs { display:flex; gap:8px; background:transparent; border:0; padding:0; margin:20px 0; }
.cf-theme :is(.segment-tab,.listing-tab) { flex:0 0 auto; min-height:44px; padding:10px 18px; border:1px solid var(--cf-line); border-radius:6px; color:var(--cf-ink); background:transparent; box-shadow:none; }
.cf-theme :is(.segment-tab.active,.listing-tab.active) { background:var(--cf-ink); color:white; border-color:var(--cf-ink); box-shadow:none; }
.cf-theme .tab-icon { display:none; }
.cf-theme .tab-count { color:var(--cf-ink); background:var(--cf-lime); border-radius:4px; }
.cf-theme .segment-description { border:0; background:var(--cf-soft); border-radius:6px; padding:12px 16px; color:var(--cf-muted); font-size:13px; }
.cf-theme .category-cards-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.cf-theme .analytics-card { display:flex; flex-direction:column; min-width:0; height:100%; overflow:hidden; transition:border-color .2s; }
.cf-theme .analytics-card:hover { transform:none; border-color:var(--cf-blue); }
.cf-theme .analytics-card-image { height:190px; flex-shrink:0; }
.cf-theme .analytics-card-image img { height:100%; width:100%; object-fit:cover; }
.cf-theme .analytics-badge { background:var(--cf-paper); color:var(--cf-ink); border:1px solid var(--cf-line); border-radius:5px; box-shadow:none; backdrop-filter:none; font-size:11px; }
.cf-theme .analytics-card-content { display:flex; flex:1; flex-direction:column; min-width:0; padding:22px; }
.cf-theme .analytics-card-title { height:52px; flex-shrink:0; font-size:24px; line-height:26px; font-weight:750; letter-spacing:-.8px; color:var(--cf-ink); }
.cf-theme .cf-card-brand { display:block; font-size:11px; line-height:16px; font-weight:650; letter-spacing:.7px; color:var(--cf-muted); }
.cf-theme .cf-card-model { display:block; margin-top:4px; font-size:24px; line-height:28px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cf-theme .analytics-card-desc { height:20px; flex-shrink:0; margin:4px 0 16px!important; color:var(--cf-muted); font-size:12px; line-height:20px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cf-theme .analytics-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.cf-theme .analytics-metrics>.metric { padding:12px; border:1px solid var(--cf-line); border-radius:6px; background:var(--cf-paper); }
.cf-theme .analytics-metrics>.metric:first-child { grid-column:1/-1; background:var(--cf-tint); border-color:#cbd1f6; }
.cf-theme .analytics-card .analytics-metrics { flex-shrink:0; }
.cf-theme .analytics-card .metric { min-width:0; height:72px; }
.cf-theme .analytics-card .metric:first-child { height:132px; }
.cf-theme .analytics-card .metric-label { line-height:14px; white-space:nowrap; }
.cf-theme .analytics-card .metric-value { line-height:26px; }
.cf-theme .analytics-card .new-price-reference { display:grid; grid-template-columns:max-content minmax(0,1fr); gap:3px 8px; }
.cf-theme .analytics-card .new-price-reference-label { grid-column:1/-1; font-size:11px; line-height:14px; white-space:nowrap; }
.cf-theme .analytics-card .new-price-reference-context { margin:0; line-height:14px; white-space:nowrap; }
.cf-theme .analytics-card .new-price-reference-variant { grid-column:1/-1; min-height:33px; font-size:11px; line-height:16.5px; letter-spacing:0; }
.cf-theme .metric-label { color:var(--cf-muted); font-size:10px; font-weight:650; letter-spacing:.6px; }
.cf-theme .metric-value { color:var(--cf-ink); font-size:21px; letter-spacing:-.5px; }
.cf-theme .new-price-reference-amount { color:var(--cf-blue); font-weight:750; }
.cf-theme .new-price-reference-context { display:block; margin-top:4px; color:var(--cf-muted); font-size:10px; font-weight:500; }
.cf-theme :is(.cf-dashboard-context,.cf-dashboard-updated) { display:block; max-width:680px; margin-top:10px; color:var(--cf-muted); font-size:12px; line-height:1.6; }
.cf-theme :is(.new-price-reference-source,.lp-reference-source) { color:var(--cf-blue); }
.cf-theme .analytics-card .info-cards-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; container-type:inline-size; flex-shrink:0; gap:10px; }
.cf-theme .analytics-card .info-card { display:flex; flex-direction:column; height:128px; min-width:0; transform:none; }
.cf-theme .info-card { border:1px solid var(--cf-line); border-radius:6px; background:var(--cf-paper); box-shadow:none; padding:14px; }
.cf-theme .info-card-purple { background:var(--cf-tint); border-color:#cbd1f6; }
.cf-theme .info-card-orange { background:#f6f1e5; border-color:#dfd5b9; }
.cf-theme .info-card-title { color:var(--cf-ink); font-size:12px; }
.cf-theme .info-card-content { color:var(--cf-muted); font-size:12px; line-height:1.7; }
.cf-theme .info-card-content.cf-model-research { display:block; flex:1; min-height:0; overflow:visible; max-height:none; -webkit-line-clamp:unset; }
.cf-theme .analytics-card .info-card-title { height:20px; flex-shrink:0; margin:0 0 8px; font-size:12px; line-height:20px; white-space:nowrap; }
.cf-theme .analytics-card .info-card-icon { width:20px; flex-shrink:0; font-size:18px; line-height:20px; }
.cf-theme .cf-research-trigger { display:flex; flex-direction:column; justify-content:space-between; gap:8px; width:100%; height:100%; min-height:44px; padding:0; border:0; border-radius:3px; background:transparent; text-align:left; color:var(--cf-ink); font:inherit; cursor:pointer; }
.cf-theme .cf-research-preview { display:block; width:100%; min-width:0; }
.cf-theme .cf-research-preview :is(strong,small) { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:12px; line-height:18px; letter-spacing:0; }
.cf-theme .cf-research-preview small { color:var(--cf-muted); font-size:11px; font-weight:400; }
.cf-theme .cf-research-action { display:flex; align-items:center; justify-content:space-between; width:100%; color:var(--cf-blue); font-size:11px; line-height:18px; font-weight:650; }
.cf-theme .cf-research-trigger:hover .cf-research-action { text-decoration:underline; }
@container (max-width:340px) {
 .cf-theme .analytics-card .info-card { padding:8px; }
 .cf-theme .analytics-card .info-card-title { height:32px; margin-bottom:6px; line-height:16px; white-space:normal; align-items:flex-start; }
 .cf-theme .analytics-card .info-card-icon { display:none; }
 .cf-theme .cf-research-trigger { gap:4px; }
 .cf-theme .cf-research-action { line-height:14px; }
}
.cf-theme .analytics-card .analytics-view-btn { height:48px; min-height:48px; flex-shrink:0; margin-top:auto; padding:12px 16px; font-size:14px; line-height:20px; }
body:has(#modelResearchDialog[open]) { overflow:hidden; }
.cf-theme .cf-research-dialog { width:min(640px,calc(100% - 40px)); max-width:none; max-height:min(740px,calc(100dvh - 64px)); margin:auto; padding:0; border:1px solid var(--cf-line); border-radius:12px; background:var(--cf-paper); color:var(--cf-ink); box-shadow:0 24px 80px #191c2026; overflow:hidden; }
.cf-theme .cf-research-dialog[open] { display:flex; flex-direction:column; }
.cf-theme .cf-research-dialog::backdrop { background:#191c207a; }
.cf-theme .cf-research-dialog-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; flex-shrink:0; padding:24px; border-bottom:1px solid var(--cf-line); }
.cf-theme .cf-research-dialog-header h2 { margin:6px 0 0; font-size:28px; line-height:1.2; letter-spacing:-.8px; }
.cf-theme .cf-research-close { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid var(--cf-line); border-radius:6px; background:var(--cf-paper); color:var(--cf-ink); cursor:pointer; }
.cf-theme .cf-research-close svg { width:20px; height:20px; }
.cf-theme .cf-research-body { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:0 24px 24px; }
.cf-theme .cf-research-body article { padding:22px 0; border-bottom:1px solid var(--cf-line); }
.cf-theme .cf-research-body h3 { margin:0 0 8px; font-size:18px; line-height:1.4; }
.cf-theme .cf-research-body :is(p,small) { display:block; font-size:14px; line-height:1.7; }
.cf-theme .cf-research-body small { font-size:12px; color:var(--cf-muted); }
.cf-theme .cf-research-body p { margin:12px 0 0; }
.cf-theme .cf-check-source,.cf-theme .cf-model-alternative { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-top:8px; color:var(--cf-blue); font-size:13px; font-weight:600; text-decoration:underline; }
.cf-theme .cf-check-note { color:var(--cf-muted); }
.cf-theme .hero-section { background:var(--cf-soft); border:1px solid var(--cf-line); border-radius:10px; padding:30px; box-shadow:none; }
.cf-theme .hero-headline { color:var(--cf-ink); font-size:30px; letter-spacing:-1px; }
.cf-theme .hero-subtitle { color:var(--cf-muted); }
.cf-theme .metric-card { background:var(--cf-paper); border:1px solid var(--cf-line); border-radius:8px; box-shadow:none; }
.cf-theme .metric-card-value { color:var(--cf-blue); }
.cf-theme .metric-card-label { color:var(--cf-muted); }
.cf-theme #heroSection.cf-market { padding:20px 24px!important; background:var(--cf-soft); border:1px solid var(--cf-line); border-radius:8px; }
.cf-theme .cf-market-overview { display:flex; align-items:center; gap:28px; }
.cf-theme .cf-market-intro { flex:1; min-width:0; }
.cf-theme .cf-market-intro h2 { margin:0 0 6px; color:var(--cf-ink); font-size:21px; letter-spacing:-.6px; }
.cf-theme .cf-market-intro p { color:var(--cf-muted); font-size:12px; line-height:1.5; }
.cf-theme .cf-market-numbers { display:flex; gap:28px; margin:0; }
.cf-theme .cf-market-numbers>div { padding-left:22px; border-left:1px solid var(--cf-line); }
.cf-theme .cf-market-numbers dt { font-size:10px; color:var(--cf-muted); line-height:1.5; }
.cf-theme .cf-market-numbers dd { margin:4px 0 0; color:var(--cf-ink); font-weight:750; font-size:24px; letter-spacing:-.7px; }
.cf-theme .cf-market-numbers>div:first-child dd { color:var(--cf-blue); }
.cf-theme .cf-market-numbers span { display:block; margin-top:4px; color:var(--cf-muted); font-size:10px; }
.cf-theme .cf-market-cta { display:inline-flex; gap:12px; align-items:center; justify-content:center; flex-shrink:0; min-height:44px; padding:10px 14px; border:1px solid var(--cf-ink); border-radius:5px; color:var(--cf-ink); font-size:12px; font-weight:650; text-decoration:none; }
.cf-theme .cf-market-cta:hover { color:white; background:var(--cf-ink); }
.cf-theme .cf-market-start { display:flex; gap:24px; align-items:center; margin-top:18px; padding-top:18px; border-top:1px solid var(--cf-line); }
.cf-theme .cf-market-start h3 { margin:0; font-size:12px; color:var(--cf-ink); }
.cf-theme .cf-market-start p { margin-top:5px; font-size:10px; color:var(--cf-muted); }
.cf-theme .cf-market-models { display:flex; flex:1; flex-wrap:wrap; gap:8px; min-width:0; font-size:12px; color:var(--cf-muted); }
.cf-theme .cf-market-models a { display:flex; flex:1; min-width:0; align-items:center; justify-content:space-between; gap:12px; min-height:44px; padding:10px 12px; border:1px solid var(--cf-line); border-radius:5px; color:var(--cf-ink); background:var(--cf-paper); text-decoration:none; }
.cf-theme .cf-market-models a:hover { border-color:var(--cf-blue); background:var(--cf-tint); }
.cf-theme .cf-market-models strong { font-size:11px; font-weight:650; }
.cf-theme .cf-market-models a span { flex-shrink:0; font-size:11px; color:var(--cf-blue); }
.cf-theme .cf-market-details { margin-top:6px; }
.cf-theme .cf-market-details summary { display:flex; align-items:center; gap:12px; min-height:44px; width:fit-content; font-size:10px; font-weight:600; color:var(--cf-muted); cursor:pointer; }
.cf-theme .cf-market-details summary::after { content:'+'; font-size:16px; }
.cf-theme .cf-market-details[open] summary::after { content:'−'; }
.cf-theme .cf-market-details p { margin:0; max-width:850px; font-size:12px; line-height:1.7; color:var(--cf-muted); }
@media(max-width:1100px) { .cf-theme .cf-market-overview { flex-wrap:wrap; gap:18px; } .cf-theme .cf-market-cta { margin-left:auto; } .cf-theme .cf-market-start { align-items:flex-start; flex-direction:column; gap:12px; } .cf-theme .cf-market-models { width:100%; } }
.cf-theme .analytics-methodology { padding:0 0 12px; border-bottom:1px solid var(--cf-line); border-radius:0; background:transparent; color:var(--cf-muted); }
.cf-theme .analytics-title { font-size:34px; letter-spacing:-1px; color:var(--cf-ink); }
.cf-theme :is(.icon-button,.icon-btn) { min-width:44px; min-height:44px; color:var(--cf-blue)!important; background:var(--cf-paper)!important; border:1px solid var(--cf-line)!important; border-radius:6px!important; box-shadow:none!important; }
.cf-theme .icon-btn svg { stroke:currentColor; }
.cf-theme .icon-btn.delete { color:#a13b30!important; }
.cf-theme .general-stats { gap:14px; }
.cf-theme .stat-card { background:var(--cf-paper); border-width:1px; padding:22px 16px; }
.cf-theme .stat-value { color:var(--cf-blue); font-size:32px; letter-spacing:-1px; }
.cf-theme .stat-icon { display:none; }
.cf-theme .stat-label { font-size:11px; letter-spacing:.8px; color:var(--cf-muted); }
.cf-theme .stat-range { font-size:12px; color:var(--cf-muted); }
.cf-theme .cf-report-block { background:var(--cf-paper)!important; color:var(--cf-ink)!important; border:1px solid var(--cf-line)!important; border-left:3px solid var(--cf-blue)!important; box-shadow:none!important; border-radius:7px!important; }
.cf-theme .cf-report-block h4 { color:var(--cf-ink)!important; }
.cf-theme .cf-report-block [style*="rgba(255, 255, 255"] { color:var(--cf-muted)!important; border-color:var(--cf-line)!important; }
.cf-theme .reference-price-grid { color:var(--cf-ink); }
.cf-theme .cf-price-comparison { margin-bottom:20px; padding:24px; background:var(--cf-tint); border:1px solid #cbd1f6; border-radius:8px; }
.cf-theme .cf-price-comparison h4 { margin:0 0 20px; font-size:21px; font-weight:700; letter-spacing:-.5px; }
.cf-theme .reference-price-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:20px; }
.cf-theme .cf-reference-card { padding:20px; background:white; border:1px solid #cbd1f6; border-radius:6px; }
.cf-theme .cf-reference-label { margin-bottom:8px; color:var(--cf-muted); font-size:10px; text-transform:uppercase; letter-spacing:1px; font-weight:650; }
.cf-theme .cf-reference-caption { margin-bottom:8px; color:var(--cf-muted); font-size:12px; line-height:1.5; }
.cf-theme .cf-reference-value { margin:8px 0 12px; color:var(--cf-blue); font-size:28px; line-height:1.2; font-weight:750; letter-spacing:-.8px; overflow-wrap:anywhere; }
.cf-theme .cf-reference-card:last-child { background:var(--cf-lime); border-color:#aaba70; }
.cf-theme .cf-reference-card:last-child .cf-reference-value { color:var(--cf-ink); }
.cf-theme .cf-reference-detail { color:var(--cf-muted); font-size:11px; line-height:1.8; }
.cf-theme .cf-reference-notes { padding-top:18px; border-top:1px solid #cbd1f6; font-size:12px; line-height:1.8; }
.cf-theme .cf-reference-notes strong { display:block; margin-bottom:6px; }
.cf-theme .cf-reference-notes a { color:var(--cf-blue); }
.cf-theme .cf-reference-caution { margin-top:12px; color:var(--cf-muted); font-size:11px; }
.cf-theme .car-price { color:var(--cf-blue); }
.cf-theme :is(.car-depreciation-side,.listing-analytics,.search-metrics,.similar-vehicle-body) { background:var(--cf-paper); border-color:var(--cf-line); }
.cf-theme .view-details-btn { background:var(--cf-ink); color:white; border-radius:6px; border:1px solid var(--cf-ink); box-shadow:none; }
.cf-theme .country-rank { background:var(--cf-tint); color:var(--cf-blue); }
/* Discovery uses stable, labelled groups on every screen. */
.cf-theme.discover-page .nebula-section { padding:0 0 36px; margin:0 auto; overflow:visible; height:auto; }
.cf-theme .cf-discover-actions { max-width:1240px; width:calc(100% - 96px); margin:24px auto; display:flex; align-items:center; gap:20px; }
.cf-theme .cf-discover-actions>p { font-size:12px; line-height:1.6; color:var(--cf-muted); }
.cf-theme.discover-page .nebula-sphere-container { width:min(1240px,calc(100% - 96px)); height:auto; margin:0 auto; padding:0; overflow:visible; }
.cf-theme.discover-page .nebula-sphere { display:block; position:static; height:auto; width:100%; padding:0; perspective:none; transform:none; }
.cf-theme .cf-criteria-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.cf-theme .cf-criteria-group { min-width:0; margin:0; padding:20px; background:white; border:1px solid var(--cf-line); border-radius:8px; }
.cf-theme .cf-criteria-group legend { padding:0 6px; color:var(--cf-ink); font-size:15px; font-weight:700; letter-spacing:-.3px; }
.cf-theme .cf-criteria-options { display:flex; flex-wrap:wrap; align-content:flex-start; gap:8px; }
.cf-theme .cf-criteria-group .criterion { position:static!important; transform:none!important; opacity:1!important; display:inline-flex; align-items:center; min-height:44px; max-width:100%; margin:0; padding:10px 13px; border:1px solid var(--cf-line); border-radius:5px; color:var(--cf-ink); background:var(--cf-paper); font-size:12px; font-weight:550; line-height:1.4; white-space:normal; box-shadow:none; animation:none; cursor:pointer; }
.cf-theme .cf-criteria-group .criterion:hover { border-color:var(--cf-blue); }
.cf-theme .cf-criteria-group .criterion.selected { background:var(--cf-lime); color:var(--cf-ink); border-color:#9eac69; box-shadow:none; }
.cf-theme .cf-criteria-group .criterion.selected::after { content:'✓'; margin-left:10px; font-weight:700; }
.cf-theme .criterion-icon { display:none; }
.cf-theme .cf-discovery-advanced { margin-top:24px; }
.cf-theme .cf-discovery-advanced>summary { display:flex; align-items:center; justify-content:space-between; min-height:52px; padding:16px; border:1px solid var(--cf-line); border-radius:6px; background:var(--cf-soft); font-size:13px; font-weight:650; cursor:pointer; }
.cf-theme .cf-discovery-advanced>summary::after { content:'+'; font-size:22px; }
.cf-theme .cf-discovery-advanced[open]>summary::after { content:'−'; }
.cf-theme .cf-discovery-advanced>.cf-criteria-grid { margin-top:24px; }
.cf-theme .btn-discover-central { position:static; transform:none; width:auto; height:auto; min-height:52px; padding:14px 22px; gap:12px; animation:none; }
.cf-theme .btn-discover-central .btn-icon { display:none; }
.cf-theme .btn-discover-central .btn-text { font-size:14px; }
.cf-theme .btn-discover-central .btn-count { min-width:24px; background:var(--cf-lime); color:var(--cf-ink); border-radius:4px; font-size:12px; }
.cf-theme .criteria-footer { padding:0; background:var(--cf-ink); color:white; border:0; border-top:1px solid #4b5057; box-shadow:none; backdrop-filter:none; }
.cf-theme .cf-discover-submit { flex-shrink:0; min-height:44px; padding:10px 16px; font-size:12px; white-space:nowrap; }
.cf-theme:has(.results-section.active) .cf-discover-submit { display:none; }
.cf-theme .criteria-chip { background:var(--cf-lime); color:var(--cf-ink); border:0; border-radius:5px; box-shadow:none; }
.cf-theme .criteria-footer-label { color:white; }
.cf-theme .btn-refine { background:transparent; color:white; border:1px solid #82888c; }
.cf-theme .results-header h2 { color:var(--cf-ink); background:none; -webkit-text-fill-color:var(--cf-ink); font-size:38px; letter-spacing:-1.3px; }
.cf-theme .results-header p { color:var(--cf-muted); }
.cf-theme .car-rank { background:var(--cf-blue); color:white; border-radius:5px; }
/* Account and saved research. */
.cf-theme .account-container { width:min(1240px,calc(100% - 96px)); margin:28px auto 56px; padding:0; gap:24px; }
.cf-theme .sidebar { background:var(--cf-paper); border:1px solid var(--cf-line); border-radius:8px; box-shadow:none; }
.cf-theme :is(.sidebar-header,.sidebar-menu) { background:transparent; border-radius:0; box-shadow:none; }
.cf-theme .sidebar-header { border-bottom:1px solid var(--cf-line); margin-bottom:0; }
.cf-theme .sidebar-header h2 { font-size:21px; letter-spacing:-.5px; color:var(--cf-ink); }
.cf-theme .menu-item { color:var(--cf-muted); border-radius:5px; min-height:44px; }
.cf-theme .menu-item.active { background:var(--cf-ink); color:white; box-shadow:none; }
.cf-theme .menu-item:not(.active):hover { background:var(--cf-tint); color:var(--cf-blue); }
.cf-theme .content-card { padding:28px; }
.cf-theme .content-header { border-color:var(--cf-line); }
.cf-theme .content-header h2 { font-size:30px; font-weight:750; letter-spacing:-1px; margin-bottom:8px; color:var(--cf-ink); }
.cf-theme .content-header p,.cf-theme .search-date { color:var(--cf-muted); }
.cf-theme .search-title { color:var(--cf-ink); }
.cf-theme .empty-state { background:var(--cf-paper); border:1px dashed var(--cf-line); border-radius:8px; padding:36px 22px; }
.cf-theme .empty-state h3 { font-size:23px; letter-spacing:-.6px; color:var(--cf-ink); }
.cf-theme .empty-state p { color:var(--cf-muted); font-size:14px; line-height:1.7; }
.cf-theme .pagination-btn { min-height:44px; }
/* Shared dialogs retain their focus, scrolling and mobile-sheet behavior. */
.cf-theme :is(.auth-modal-content,.modal-content,.loading-content) { background:var(--cf-paper); border:1px solid var(--cf-line); border-radius:10px; box-shadow:0 16px 50px #191c2026; }
.cf-theme .auth-modal-overlay { background:#191c207a; backdrop-filter:none; }
.cf-theme .auth-modal-header { background:var(--cf-paper); border-color:var(--cf-line); text-align:left; }
.cf-theme .auth-modal-header h2 { color:var(--cf-ink); font-size:32px; line-height:1.12; letter-spacing:-1px; }
.cf-theme .auth-modal-header .cf-eyebrow { margin-bottom:14px; color:var(--cf-blue); }
.cf-theme .auth-modal-header p { color:var(--cf-muted); }
.cf-theme .auth-modal-footer { background:var(--cf-soft); border-color:var(--cf-line); }
.cf-theme .auth-modal-close { min-width:44px; min-height:44px; color:var(--cf-ink); border:1px solid var(--cf-line); border-radius:6px; background:var(--cf-paper); }
.cf-theme .auth-method h3 { font-size:13px; font-weight:650; }
.cf-theme .auth-btn { min-height:48px; border-radius:6px; box-shadow:none; }
.cf-theme .modal-info h2 { color:var(--cf-ink); letter-spacing:-1px; }
.cf-theme .modal-price { color:var(--cf-blue); }
.cf-theme :is(.modal-specs,.modal-section,.option-item) { border-color:var(--cf-line); }
.cf-theme .modal-nav { color:var(--cf-blue); border-color:var(--cf-line); background:var(--cf-paper); border-radius:6px; box-shadow:none; }
.cf-theme .modal-nav:hover { background:var(--cf-blue); color:white; }
.cf-theme .toast { background:var(--cf-ink)!important; color:var(--cf-paper)!important; border:1px solid #43484e; border-radius:6px; box-shadow:none!important; font-size:12px!important; padding:12px 16px!important; line-height:1.5; }
.cf-theme .scrape-status-toast { min-width:0; max-width:100%; background:var(--cf-ink); color:var(--cf-paper); border:1px solid #43484e; border-radius:6px; box-shadow:none; }
.cf-theme :is(.scrape-status-title,.scrape-status-message) { color:var(--cf-paper); white-space:normal; }
.cf-theme .scrape-status-close { min-width:44px; min-height:44px; color:var(--cf-ink); background:var(--cf-paper); }
.cf-theme .scrape-status-progress { background:#43484e; }
.cf-theme #toastContainer { position:fixed; top:76px; right:16px; left:auto; bottom:auto; width:min(380px,calc(100vw - 32px)); pointer-events:none; z-index:1200; }
.cf-theme > .toast { top:76px; bottom:auto; right:16px; left:auto; max-width:min(380px,calc(100vw - 32px)); }
.cf-theme > .toast.show { transform:none; }
.cf-theme .mobile-tab-bar { background:var(--cf-paper); border-color:var(--cf-line); backdrop-filter:none; }
.cf-theme .mobile-tab-bar a[aria-current=page] { background:var(--cf-tint); color:var(--cf-blue); border-radius:6px; }
/* Comparison preview: no simulated prices or working comparison claims. */
.cf-theme .cf-compare { width:min(1240px,calc(100% - 96px)); margin:40px auto 64px; }
.cf-theme .cf-compare .cf-page-intro { width:100%; margin:0 0 28px; }
.cf-theme .cf-coming-soon { display:inline-flex; padding:8px 12px; background:var(--cf-lime); border:1px solid #aaba70; border-radius:5px; font-size:10px; font-weight:700; letter-spacing:1px; }
.cf-theme .cf-comparison-preview { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:32px 0; }
.cf-theme .cf-comparison-car { background:white; border:1px solid var(--cf-line); border-radius:10px; overflow:hidden; }
.cf-theme .cf-comparison-car img { display:block; width:100%; height:auto; aspect-ratio:16/8; object-fit:cover; }
.cf-theme .cf-comparison-car>div { padding:24px; }
.cf-theme .cf-comparison-car h2 { font-size:28px; letter-spacing:-1px; }
.cf-theme .cf-comparison-car p { margin-top:10px; font-size:13px; color:var(--cf-muted); }
.cf-theme .cf-compare-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:24px 0; }
.cf-theme .cf-compare-features article { border-top:1px solid var(--cf-line); padding-top:20px; }
.cf-theme .cf-compare-features span { font-size:12px; color:var(--cf-blue); font-weight:700; }
.cf-theme .cf-compare-features h3 { font-size:20px; margin:14px 0 10px; letter-spacing:-.5px; }
.cf-theme .cf-compare-features p { color:var(--cf-muted); font-size:14px; line-height:1.7; }
.cf-theme .cf-compare-actions { display:flex; align-items:center; gap:24px; margin-top:32px; }
.cf-theme .cf-compare-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 20px; font-size:14px; font-weight:600; text-decoration:none; }
@media(max-width:1100px) { .cf-theme .category-cards-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .cf-theme .cf-criteria-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:900px) and (hover:none), (max-width:767px) {
 .cf-theme #heroSection.cf-market { padding:16px!important; }
 .cf-theme .cf-market-overview { display:grid; grid-template-columns:1fr; gap:14px; }
 .cf-theme .cf-market-intro h2 { font-size:21px; }
 .cf-theme .cf-market-numbers { gap:16px; }
 .cf-theme .cf-market-numbers>div { flex:1; padding-left:16px; }
 .cf-theme .cf-market-numbers>div:first-child { padding-left:0; border:0; }
 .cf-theme .cf-market-numbers dd { font-size:24px; overflow-wrap:anywhere; }
 .cf-theme .cf-market-cta { justify-self:stretch; margin-left:0; }
 .cf-theme .cf-market-start { margin-top:14px; padding-top:14px; }
 .cf-theme .cf-market-models { flex-direction:column; }
 .cf-theme .nav { min-height:60px; padding:calc(8px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 8px max(16px,env(safe-area-inset-left,0px))!important; }
 .cf-theme .cf-logo { font-size:25px; gap:7px; }
 .cf-theme .cf-brand-mark { width:32px; height:32px; border-radius:7px; }
 .cf-theme .cf-brand-mark svg { width:21px; height:21px; }
 .cf-theme .nav-links { gap:0; }
 .cf-theme .nav-links>a { display:none; }
 .cf-theme .auth-nav-signin-btn { padding:8px 12px; font-size:12px; }
 .cf-theme .cf-page-intro { width:calc(100% - 32px); margin:28px auto 22px; }
 .cf-theme .cf-page-intro h1 { font-size:36px; }
 .cf-theme .cf-page-intro>p:last-child { font-size:14px; }
 .cf-theme .container { width:calc(100% - 32px); padding:0; margin:20px auto; }
 .cf-theme .search-card { padding:16px; border-radius:8px; }
 .cf-theme :is(.dashboard-section,.hero-section-wrapper,#analyticsCardsSection,#carListingsSection,#analyticsSection) { width:calc(100% - 32px)!important; padding:0!important; margin:24px auto!important; }
 .cf-theme .analytics-container { padding:16px; border-radius:8px; }
 .cf-theme .analytics-section { margin:22px 0; }
 .cf-theme .segments-title,.cf-theme .hero-headline { font-size:27px; }
 .cf-theme .segment-tabs,.cf-theme .listings-tabs { overflow-x:auto; flex-wrap:nowrap; padding-bottom:4px; }
 .cf-theme :is(.segment-tab,.listing-tab) { padding:10px 14px; font-size:12px; }
 .cf-theme .category-cards-grid { grid-template-columns:1fr; gap:16px; }
 .cf-theme .analytics-card-content { padding:20px; }
 .cf-theme .analytics-card-title { font-size:24px; }
 .cf-theme .analytics-card-image { height:190px; }
 .cf-theme .hero-section { padding:20px; }
 .cf-theme .general-stats { gap:10px; }
 .cf-theme .stat-card { padding:18px 12px; }
 .cf-theme .stat-value { font-size:27px; }
 .cf-theme .stat-label { font-size:9px; }
 .cf-theme .analytics-title { font-size:27px; }
 .cf-theme.discover-page .nebula-sphere-container,.cf-theme .cf-discover-actions { width:calc(100% - 32px); }
 .cf-theme .cf-discover-actions { flex-direction:column; align-items:stretch; gap:10px; }
 .cf-theme .cf-criteria-grid { grid-template-columns:1fr; gap:18px; }
 .cf-theme .cf-criteria-group { padding:16px; }
 .cf-theme .criteria-footer { border-radius:8px 8px 0 0; }
 .cf-theme .criteria-footer-content { padding:12px 16px; }
 .cf-theme .account-container { width:calc(100% - 32px); margin:24px auto; padding:0; gap:18px; }
 .cf-theme .content-card { padding:20px; }
 .cf-theme .content-header h2 { font-size:27px; }
 .cf-theme .auth-modal-header h2 { font-size:29px; }
 .cf-theme .cf-compare { width:calc(100% - 32px); margin:28px auto; }
 .cf-theme .cf-comparison-preview { gap:12px; }
 .cf-theme .cf-comparison-car img { aspect-ratio:1; }
 .cf-theme .cf-comparison-car>div { padding:14px; }
 .cf-theme .cf-comparison-car h2 { font-size:19px; }
 .cf-theme .cf-compare-features { grid-template-columns:1fr; gap:22px; }
 .cf-theme .cf-compare-actions { gap:10px; flex-wrap:wrap; }
 .cf-theme .cf-research-dialog { inset:auto 0 0; width:100%; max-height:calc(100dvh - 72px); margin:0; border-radius:14px 14px 0 0; }
 .cf-theme .cf-research-dialog-header { padding:20px; }
 .cf-theme .cf-research-dialog-header h2 { font-size:25px; }
 .cf-theme .cf-research-body { padding:0 20px max(24px,env(safe-area-inset-bottom,0px)); }
}
@media(prefers-reduced-motion:reduce) { .cf-theme *, .cf-theme *::before,.cf-theme *::after { scroll-behavior:auto!important; transition:none!important; } }
