:root {
  --pri: #10b981; --pri-h: #059669; --pri-l: rgba(16,185,129,.08);
  --bg: #f8fafb; --sf: #fff; --sf2: #f1f5f9;
  --tx: #0f172a; --tx2: #475569; --tx3: #94a3b8;
  --bd: #e2e8f0; --r: 12px;
  --shadow: 0 1px 3px rgba(0,0,0,.08);
  --shadow-lg: 0 8px 30px rgba(0,0,0,.1);
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; background:var(--bg); color:var(--tx); }
a { color:inherit; text-decoration:none; }
img { max-width:100%; }
.hidden { display:none!important; }

/* Nav */
nav { position:sticky; top:0; z-index:100; background:rgba(255,255,255,.92); backdrop-filter:blur(12px); border-bottom:1px solid var(--bd); }
.nav-inner { max-width:1200px; margin:0 auto; padding:0 20px; height:56px; display:flex; align-items:center; gap:16px; }
.nav-logo { font-size:18px; font-weight:800; color:var(--pri); white-space:nowrap; }
.nav-search { flex:1; max-width:400px; position:relative; }
.nav-search input { width:100%; padding:8px 14px; border:1px solid var(--bd); border-radius:8px; font-size:14px; background:var(--sf2); outline:none; transition:.2s; }
.nav-search input:focus { border-color:var(--pri); background:#fff; box-shadow:0 0 0 3px var(--pri-l); }
.search-dropdown { position:absolute; top:100%; left:0; right:0; background:#fff; border:1px solid var(--bd); border-radius:8px; margin-top:4px; max-height:400px; overflow-y:auto; box-shadow:var(--shadow-lg); z-index:200; }
.search-item { display:flex; align-items:center; gap:10px; padding:10px 14px; cursor:pointer; transition:.15s; }
.search-item:hover { background:var(--pri-l); }
.search-item img { width:48px; height:32px; object-fit:cover; border-radius:4px; }
.search-item .si-info { flex:1; }
.search-item .si-name { font-weight:600; font-size:14px; }
.search-item .si-brand { font-size:12px; color:var(--tx2); }
.search-item .si-price { font-size:12px; color:var(--pri); font-weight:600; }
.nav-links { display:flex; gap:4px; }
.nav-links a { padding:6px 12px; border-radius:6px; font-size:14px; font-weight:500; color:var(--tx2); transition:.15s; }
.nav-links a:hover,.nav-links a.active { color:var(--pri); background:var(--pri-l); }
.nav-menu-btn { display:none; background:none; border:none; font-size:22px; cursor:pointer; }
.mobile-menu { position:fixed; top:56px; left:0; right:0; background:#fff; border-bottom:1px solid var(--bd); z-index:99; display:flex; flex-direction:column; padding:8px 0; box-shadow:var(--shadow-lg); }
.mobile-menu a { padding:12px 24px; font-size:15px; font-weight:500; }
.mobile-menu a:hover { background:var(--pri-l); color:var(--pri); }

/* Main */
main { max-width:1200px; margin:0 auto; padding:20px; min-height:calc(100vh - 160px); }

/* Footer */
footer { background:#0f172a; color:#94a3b8; padding:40px 20px; text-align:center; margin-top:40px; }
.footer-inner { max-width:1200px; margin:0 auto; }
.footer-brand { font-size:20px; font-weight:800; color:#10b981; margin-bottom:8px; }
footer p { font-size:13px; margin-top:4px; }
.footer-copy { margin-top:12px; font-size:11px; }

/* SEO Footer */
.seo-footer { margin-top:48px; padding:32px; background:var(--sf2); border-radius:var(--r); color:var(--tx2); font-size:14px; line-height:1.8; }
.seo-footer h2 { font-size:18px; color:var(--tx); margin-bottom:12px; }
.seo-footer h3 { font-size:15px; color:var(--tx); margin:16px 0 6px; }
.seo-footer p { margin-bottom:10px; }
.seo-footer a { color:var(--pri); text-decoration:none; }
.seo-footer a:hover { text-decoration:underline; }
.seo-footer .seo-keywords { font-size:12px; color:var(--tx3); margin-top:16px; padding-top:12px; border-top:1px solid var(--bd); }

/* Hero */
.hero { text-align:center; padding:48px 0 32px; }
.hero h1 { font-size:36px; font-weight:800; background:linear-gradient(135deg,#10b981,#0ea5e9); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.hero p { color:var(--tx2); font-size:16px; margin-top:8px; }
.hero-stats { display:flex; justify-content:center; gap:32px; margin-top:24px; }
.hero-stat { text-align:center; }
.hero-stat .num { font-size:28px; font-weight:800; color:var(--pri); }
.hero-stat .label { font-size:12px; color:var(--tx3); margin-top:2px; }

/* Section */
.section-title { font-size:20px; font-weight:700; margin-bottom:16px; display:flex; align-items:center; gap:8px; }
.section-title .more { font-size:13px; color:var(--pri); font-weight:500; margin-left:auto; }

/* Cards grid */
.card-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:16px; }
.card { background:var(--sf); border-radius:var(--r); border:1px solid var(--bd); overflow:hidden; cursor:pointer; transition:.2s; }
.card:hover { transform:translateY(-3px); box-shadow:var(--shadow-lg); border-color:var(--pri); }
.card-img { width:100%; height:160px; object-fit:cover; background:var(--sf2); }
.card-body { padding:14px; }
.card-brand { font-size:12px; color:var(--tx2); font-weight:600; }
.card-name { font-size:16px; font-weight:700; margin:4px 0; }
.card-price { font-size:14px; color:var(--pri); font-weight:700; }
.card-tags { display:flex; flex-wrap:wrap; gap:4px; margin-top:8px; }
.tag { font-size:11px; padding:3px 8px; border-radius:12px; background:var(--pri-l); color:var(--pri); font-weight:500; }
.tag-gray { background:var(--sf2); color:var(--tx2); }
.tag-orange { background:rgba(249,115,22,.1); color:#ea580c; }
.tag-discontinued { background:#e5e7eb; color:#6b7280; }

/* Brand grid */
.brand-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:12px; }
.brand-card { display:flex; align-items:center; gap:12px; padding:16px; background:var(--sf); border:1px solid var(--bd); border-radius:var(--r); cursor:pointer; transition:.2s; }
.brand-card:hover { border-color:var(--pri); box-shadow:var(--shadow); transform:translateY(-2px); }
.brand-logo { width:44px; height:44px; border-radius:10px; background:var(--pri-l); display:flex; align-items:center; justify-content:center; font-size:22px; font-weight:800; color:var(--pri); flex-shrink:0; overflow:hidden; }
.brand-logo img { width:36px; height:36px; object-fit:contain; }
.brand-info .b-name { font-weight:700; font-size:15px; }
.brand-info .b-count { font-size:12px; color:var(--tx3); }

/* Detail page */
.detail-hero { position:relative; border-radius:var(--r); overflow:hidden; margin-bottom:20px; }
.detail-hero img { width:100%; height:320px; object-fit:cover; }
.detail-hero-overlay { position:absolute; bottom:0; left:0; right:0; padding:20px; background:linear-gradient(transparent,rgba(0,0,0,.7)); color:#fff; }
.detail-hero-overlay h1 { font-size:28px; }
.detail-hero-overlay .price { font-size:20px; color:#34d399; font-weight:700; margin-top:4px; }
.detail-nav { display:flex; gap:0; border-bottom:1px solid var(--bd); margin-bottom:20px; overflow-x:auto; }
.detail-tab { padding:10px 16px; font-size:14px; font-weight:500; color:var(--tx2); cursor:pointer; border-bottom:2px solid transparent; white-space:nowrap; transition:.15s; }
.detail-tab:hover { color:var(--tx); }
.detail-tab.active { color:var(--pri); border-bottom-color:var(--pri); }
.spec-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:12px; }
.spec-item { display:flex; justify-content:space-between; padding:10px 14px; background:var(--sf); border:1px solid var(--bd); border-radius:8px; }
.spec-item .spec-label { color:var(--tx2); font-size:13px; }
.spec-item .spec-val { font-weight:600; font-size:14px; }
.variant-tabs { display:flex; gap:6px; margin-bottom:16px; flex-wrap:wrap; }
.variant-tab { padding:6px 14px; border-radius:20px; border:1px solid var(--bd); font-size:13px; cursor:pointer; transition:.15s; background:var(--sf); }
.variant-tab:hover { border-color:var(--pri); }
.variant-tab.active { background:var(--pri); color:#fff; border-color:var(--pri); }
.gallery { display:flex; gap:8px; overflow-x:auto; padding-bottom:8px; }
.gallery img { height:200px; border-radius:8px; cursor:pointer; flex-shrink:0; object-fit:cover; }
.gallery img:hover { opacity:.85; }

/* Filter bar */
.filter-bar { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; padding:12px 16px; background:var(--sf); border:1px solid var(--bd); border-radius:var(--r); }
.filter-bar select,.filter-bar input { padding:6px 10px; border:1px solid var(--bd); border-radius:6px; font-size:13px; background:#fff; }
.filter-bar .filter-label { font-size:12px; color:var(--tx2); align-self:center; }
.filter-bar .btn-filter { padding:6px 14px; background:var(--pri); color:#fff; border:none; border-radius:6px; font-size:13px; font-weight:600; cursor:pointer; }
.filter-bar .btn-reset { padding:6px 14px; background:var(--sf2); color:var(--tx2); border:1px solid var(--bd); border-radius:6px; font-size:13px; cursor:pointer; }

/* Compare */
.compare-float { position:fixed; bottom:20px; right:20px; background:var(--pri); color:#fff; padding:10px 16px; border-radius:24px; display:flex; align-items:center; gap:10px; font-size:14px; font-weight:600; box-shadow:var(--shadow-lg); z-index:50; }
.compare-float button { background:#fff; color:var(--pri); border:none; padding:6px 14px; border-radius:16px; font-size:13px; font-weight:600; cursor:pointer; }
.compare-table { width:100%; border-collapse:collapse; font-size:13px; }
.compare-table th,.compare-table td { padding:10px 12px; border-bottom:1px solid var(--bd); text-align:left; }
.compare-table th { background:var(--sf2); font-weight:600; color:var(--tx2); position:sticky; left:0; z-index:1; min-width:100px; }
.compare-table td { min-width:180px; }
.compare-table td img { width:100%; height:120px; object-fit:cover; border-radius:6px; }
.compare-header { text-align:center; }
.compare-header .c-name { font-weight:700; font-size:15px; margin-top:6px; }
.compare-header .c-price { color:var(--pri); font-size:13px; font-weight:600; }
.compare-remove { background:none; border:none; color:#ef4444; cursor:pointer; font-size:12px; margin-top:4px; }
.compare-add { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:200px; border:2px dashed var(--bd); border-radius:var(--r); cursor:pointer; color:var(--tx3); font-size:14px; transition:.2s; }
.compare-add:hover { border-color:var(--pri); color:var(--pri); }
.compare-add-icon { font-size:32px; margin-bottom:8px; }
.compare-picker { position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:200; display:flex; align-items:center; justify-content:center; }
.compare-picker-box { background:#fff; border-radius:var(--r); padding:20px; max-width:500px; width:90%; max-height:70vh; overflow-y:auto; }
.compare-picker-box h3 { margin-bottom:12px; }
.compare-picker-item { display:flex; align-items:center; gap:10px; padding:8px; border-radius:6px; cursor:pointer; transition:.1s; }
.compare-picker-item:hover { background:var(--pri-l); }
.compare-picker-item img { width:60px; height:40px; object-fit:cover; border-radius:4px; }
.add-compare-btn { font-size:10px; padding:2px 8px; border:1px solid var(--pri); color:var(--pri); border-radius:10px; cursor:pointer; background:none; transition:.15s; }
.add-compare-btn:hover { background:var(--pri); color:#fff; }
.add-compare-btn.added { background:#e5e7eb; color:#6b7280; border-color:#d1d5db; }
.highlight-best { background:rgba(16,185,129,.08); font-weight:700; color:var(--pri); }

/* Events & News */
.event-card { display:flex; gap:16px; padding:16px; background:var(--sf); border:1px solid var(--bd); border-radius:var(--r); margin-bottom:12px; transition:.2s; }
.event-card:hover { box-shadow:var(--shadow); }
.event-card img { width:200px; height:120px; object-fit:cover; border-radius:8px; flex-shrink:0; }
.event-info { flex:1; }
.event-info h3 { font-size:16px; margin-bottom:6px; }
.event-info p { font-size:13px; color:var(--tx2); line-height:1.5; }
.event-meta { display:flex; gap:12px; margin-top:8px; font-size:12px; color:var(--tx3); }
.news-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:16px; }
.news-card { background:var(--sf); border:1px solid var(--bd); border-radius:var(--r); overflow:hidden; transition:.2s; }
.news-card:hover { box-shadow:var(--shadow); transform:translateY(-2px); }
.news-card img { width:100%; height:160px; object-fit:cover; }
.news-card-body { padding:14px; }
.news-card-body h3 { font-size:15px; font-weight:600; margin-bottom:6px; line-height:1.4; }
.news-card-body p { font-size:13px; color:var(--tx2); line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.news-meta { display:flex; gap:12px; margin-top:8px; font-size:11px; color:var(--tx3); }

/* Breadcrumb */
.breadcrumb { display:flex; gap:6px; font-size:13px; color:var(--tx3); margin-bottom:16px; }
.breadcrumb a { color:var(--tx2); }
.breadcrumb a:hover { color:var(--pri); }

/* Range slider */
.range-filter { display:flex; align-items:center; gap:8px; }
.range-filter input[type=range] { flex:1; }
.range-val { font-size:13px; font-weight:600; min-width:50px; }

/* Back btn */
.back-btn { display:inline-flex; align-items:center; gap:4px; font-size:14px; color:var(--tx2); margin-bottom:12px; cursor:pointer; }
.back-btn:hover { color:var(--pri); }

/* Loading */
.loading { text-align:center; padding:60px; color:var(--tx3); font-size:15px; }

/* Nav CTA */
.nav-cta { background:var(--pri)!important; color:#fff!important; border-radius:20px!important; padding:6px 16px!important; font-weight:600!important; }
.nav-cta:hover { background:var(--pri-h)!important; }

/* CTA Banner */
.cta-banner { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:28px 32px; margin:24px 0 32px; background:linear-gradient(135deg,#0f172a,#1e293b); border-radius:var(--r); color:#fff; }
.cta-text h2 { font-size:22px; margin-bottom:6px; }
.cta-text p { font-size:14px; color:#cbd5e1; line-height:1.5; max-width:600px; }
.cta-btn { display:inline-block; background:var(--pri); color:#fff; padding:12px 28px; border-radius:8px; font-weight:700; font-size:15px; text-decoration:none; transition:.2s; border:none; cursor:pointer; white-space:nowrap; }
.cta-btn:hover { background:var(--pri-h); transform:translateY(-1px); }

/* Test Drive Page */
.td-hero { text-align:center; padding:40px 0 24px; }
.td-hero h1 { font-size:32px; font-weight:800; }
.td-hero p { color:var(--tx2); font-size:16px; margin-top:8px; max-width:640px; margin-left:auto; margin-right:auto; line-height:1.6; }
.td-features { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px; margin:32px 0; }
.td-feature { background:var(--sf); border:1px solid var(--bd); border-radius:var(--r); padding:24px; text-align:center; transition:.2s; }
.td-feature:hover { border-color:var(--pri); box-shadow:var(--shadow); transform:translateY(-3px); }
.td-icon { font-size:36px; margin-bottom:12px; }
.td-feature h3 { font-size:16px; font-weight:700; margin-bottom:6px; }
.td-feature p { font-size:13px; color:var(--tx2); line-height:1.5; }
.td-form-wrap { max-width:700px; margin:0 auto 40px; background:var(--sf); border:1px solid var(--bd); border-radius:var(--r); padding:32px; }
.td-form-wrap h2 { font-size:22px; margin-bottom:4px; }
.td-form .form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.td-form .form-group { margin-bottom:16px; }
.td-form label { display:block; font-size:13px; font-weight:600; color:var(--tx2); margin-bottom:4px; }
.td-form input,.td-form select,.td-form textarea { width:100%; padding:10px 14px; border:1px solid var(--bd); border-radius:8px; font-size:14px; background:#fff; outline:none; transition:.2s; font-family:inherit; }
.td-form input:focus,.td-form select:focus,.td-form textarea:focus { border-color:var(--pri); box-shadow:0 0 0 3px var(--pri-l); }
.form-hint { font-size:11px; color:var(--tx3); margin-top:2px; display:block; }
.td-submit { width:100%; padding:14px; background:var(--pri); color:#fff; border:none; border-radius:8px; font-size:16px; font-weight:700; cursor:pointer; transition:.2s; margin-top:8px; }
.td-submit:hover { background:var(--pri-h); }

/* Responsive *//* ── Carousel ── */
.carousel { position:relative; margin-bottom:32px; overflow:hidden; border-radius:12px; }
.carousel-track { display:flex; gap:16px; overflow-x:auto; scroll-behavior:smooth; scrollbar-width:none; -webkit-overflow-scrolling:touch; padding:4px 0; }
.carousel-track::-webkit-scrollbar { display:none; }
.carousel-slide { min-width:320px; flex-shrink:0; border-radius:12px; overflow:hidden; cursor:pointer; position:relative; box-shadow:0 2px 12px rgba(0,0,0,.1); transition:transform .25s; }
.carousel-slide:hover { transform:translateY(-4px); box-shadow:0 6px 20px rgba(0,0,0,.15); }
.carousel-slide img { width:100%; height:200px; object-fit:cover; display:block; }
.carousel-slide .slide-info { position:absolute; bottom:0; left:0; right:0; padding:32px 16px 14px; background:linear-gradient(transparent,rgba(0,0,0,.72)); color:#fff; }
.carousel-slide .slide-info h3 { font-size:18px; margin:0 0 4px; font-weight:700; text-shadow:0 1px 3px rgba(0,0,0,.4); }
.carousel-slide .slide-info .slide-meta { font-size:12px; opacity:.9; display:flex; gap:8px; align-items:center; }
.carousel-slide .slide-info .slide-tag { background:var(--pri); padding:2px 8px; border-radius:4px; font-size:11px; font-weight:600; }
.carousel-nav { position:absolute; top:50%; transform:translateY(-50%); width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.85); border:none; font-size:18px; cursor:pointer; z-index:2; display:flex; align-items:center; justify-content:center; box-shadow:0 2px 8px rgba(0,0,0,.15); transition:background .2s; }
.carousel-nav:hover { background:#fff; }
.carousel-nav.prev { left:8px; }
.carousel-nav.next { right:8px; }
.carousel-dots { display:flex; justify-content:center; gap:6px; margin-top:10px; }
.carousel-dot { width:8px; height:8px; border-radius:50%; background:var(--bd); border:none; cursor:pointer; transition:all .2s; padding:0; }
.carousel-dot.active { background:var(--pri); width:20px; border-radius:4px; }
@media(max-width:768px) {
  .nav-links { display:none; }
  .nav-menu-btn { display:block; }
  .nav-search { max-width:none; }
  .hero h1 { font-size:24px; }
  .hero-stats { gap:16px; }
  .hero-stat .num { font-size:22px; }
  .card-grid { grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); }
  .brand-grid { grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); }
  .event-card { flex-direction:column; }
  .event-card img { width:100%; height:160px; }
  .detail-hero img { height:200px; }
  .filter-bar { gap:6px; }
  .compare-table { font-size:12px; }
  .compare-table td { min-width:140px; }
  .carousel-track { gap:12px; }
  .carousel-slide { min-width:280px; }
  .carousel-slide .slide-info h3 { font-size:16px; }
  .cta-banner { flex-direction:column; text-align:center; padding:20px; }
  .td-form .form-row { grid-template-columns:1fr; }
}
