/* ============================================
   Front-end Global Styles ? Mobile First
   Breakpoints: 480 / 768 / 1024 / 1280
   ============================================ */

/* ========== CSS Variables ========== */
:root {
    --primary: #2563eb;
    --primary-dark: #1d4ed8;
    --primary-light: #60a5fa;
    --orange: #f97316;
    --orange-dark: #ea580c;
    --dark: #0f172a;
    --text: #1a1a2e;
    --text-secondary: #475569;
    --text-muted: #94a3b8;
    --gray-50: #f8fafc;
    --gray-100: #f1f5f9;
    --gray-200: #e2e8f0;
    --gray-300: #cbd5e1;
    --white: #ffffff;
    --shadow-sm: 0 1px 4px rgba(0,0,0,.06);
    --shadow-md: 0 4px 16px rgba(0,0,0,.1);
    --shadow-lg: 0 8px 32px rgba(0,0,0,.12);
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
}

/* ========== Reset ========== */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { font-size: 16px; -webkit-text-size-adjust: 100%; }
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Helvetica Neue", sans-serif;
    color: var(--text); background: var(--gray-50); line-height: 1.6;
    overflow-x: hidden;
}
a { text-decoration:none; color:inherit; }
img { max-width:100%; height:auto; display:block; }
ul, ol { list-style:none; }
button { cursor:pointer; font-family:inherit; }
input, textarea, select { font-family:inherit; }

.container { width:100%; max-width:1280px; margin:0 auto; padding:0 16px; }

/* ========== Header ========== */
.site-header {
    background: var(--white);
    border-bottom: 1px solid var(--gray-200);
    position: sticky; top: 0; z-index: 1000;
    box-shadow: var(--shadow-sm);
}
.header-inner {
    display: flex; align-items: center; justify-content: space-between;
    height: 60px; gap: 12px;
}
.logo { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.logo-icon { font-size:22px; color:var(--primary); }
.logo-text { font-size:17px; font-weight:700; color:var(--text); }
.logo-sub { font-size:9px; color:var(--text-muted); letter-spacing:1px; display:none; }

/* Navigation */
.main-nav {
    display: none;
    position: fixed; top: 60px; left: 0; right: 0; bottom: 0;
    background: var(--white);
    flex-direction: column;
    padding: 20px 24px;
    gap: 4px;
    z-index: 999;
    overflow-y: auto;
}
.main-nav.open { display:flex; }
.main-nav a {
    display: block; padding: 12px 16px;
    font-size: 15px; font-weight: 500; color: var(--text-secondary);
    border-radius: var(--radius-sm);
    transition: background .15s, color .15s;
}
.main-nav a:hover, .main-nav a.active { background:var(--gray-100); color:var(--primary); }

/* Mobile menu toggle */
.menu-toggle {
    display: flex; flex-direction: column; justify-content: center; gap: 5px;
    width: 40px; height: 40px; padding: 8px;
    background: none; border: none;
}
.menu-toggle span {
    display: block; width: 22px; height: 2px;
    background: var(--text); border-radius: 2px;
    transition: transform .25s, opacity .25s;
}
.menu-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-toggle.open span:nth-child(2) { opacity:0; }
.menu-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.header-actions { display:flex; gap:8px; align-items:center; flex-shrink:0; }
.btn-login {
    font-size:12px; padding:6px 14px;
    border:1.5px solid var(--primary); color:var(--primary);
    border-radius:var(--radius-sm); font-weight:600;
    white-space:nowrap;
}
.btn-telegram {
    font-size:12px; padding:6px 14px;
    background:var(--primary); color:var(--white);
    border-radius:var(--radius-sm); font-weight:600;
    white-space:nowrap;
}

/* ========== Hero ========== */
.hero {
    background: linear-gradient(135deg, var(--dark) 0%, #1e3a5f 60%, var(--primary) 100%);
    color: var(--white); padding: 56px 0 72px; text-align: center;
    position: relative; overflow: hidden;
}
.hero::after {
    content:''; position:absolute; bottom:-40px; left:0; right:0; height:80px;
    background:var(--gray-50); border-radius:50% 50% 0 0 / 100% 100% 0 0; z-index:1;
}
.hero h1 { font-size:26px; font-weight:800; margin-bottom:10px; position:relative; z-index:2; line-height:1.25; }
.hero p { font-size:14px; color:rgba(255,255,255,.8); margin-bottom:24px; position:relative; z-index:2; }
.hero-search {
    position:relative; z-index:2;
    max-width:600px; margin:0 auto 20px;
    display:flex; background:var(--white); border-radius:var(--radius-md);
    overflow:hidden; box-shadow:var(--shadow-lg);
}
.hero-search input {
    flex:1; padding:14px 16px; border:none; outline:none;
    font-size:15px; color:var(--text); min-width:0;
}
.hero-search button {
    padding:0 20px; background:var(--orange); color:var(--white);
    border:none; font-size:14px; font-weight:700; cursor:pointer;
    transition:background .2s; flex-shrink:0;
}
.hero-search button:hover { background:var(--orange-dark); }
.hero-stats { display:flex; gap:24px; justify-content:center; position:relative; z-index:2; }
.hero-stat { text-align:center; }
.hero-stat .num { font-size:22px; font-weight:800; }
.hero-stat .lbl { font-size:12px; color:rgba(255,255,255,.7); }

/* ========== Section ========== */
.section { padding:40px 0; }
.section-header { text-align:center; margin-bottom:28px; }
.section-header h2 { font-size:22px; font-weight:700; color:var(--text); line-height:1.3; }
.section-header p { font-size:13px; color:var(--text-muted); margin-top:6px; }

/* ========== Buttons ========== */
.btn-cta {
    display:inline-block; padding:11px 26px;
    background:var(--orange); color:var(--white);
    border-radius:var(--radius-sm); font-size:14px; font-weight:700;
    transition:background .2s, transform .15s;
    border:none; cursor:pointer;
}
.btn-cta:hover { background:var(--orange-dark); transform:translateY(-1px); }
.btn-outline {
    display:inline-block; padding:10px 24px;
    border:2px solid var(--primary); color:var(--primary);
    border-radius:var(--radius-sm); font-size:14px; font-weight:600;
    transition:all .2s; background:transparent;
}
.btn-outline:hover { background:var(--primary); color:var(--white); }
.btn-white {
    display:inline-block; padding:10px 24px;
    background:var(--white); color:var(--primary);
    border-radius:var(--radius-sm); font-weight:600;
    transition:background .2s; border:none; cursor:pointer;
}
.btn-white:hover { background:var(--gray-100); }
.btn-sm { padding:7px 16px; font-size:13px; border-radius:6px; }
.btn-primary { background:var(--primary); color:var(--white); border:none; cursor:pointer; font-weight:600; border-radius:var(--radius-sm); }

/* ========== Car Grid (legacy) ========== */
.car-grid { display:grid; grid-template-columns:1fr; gap:16px; }
.car-card {
    background:var(--white); border-radius:var(--radius-md);
    overflow:hidden; box-shadow:var(--shadow-sm);
    transition:transform .2s, box-shadow .2s;
    position:relative;
}
.car-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.car-tag {
    position:absolute; top:10px; left:10px;
    background:var(--primary); color:#fff;
    font-size:11px; font-weight:600; padding:3px 10px;
    border-radius:20px; z-index:2;
}
.car-hot {
    position:absolute; top:10px; right:10px;
    background:var(--orange); color:#fff;
    font-size:11px; font-weight:600; padding:3px 10px;
    border-radius:20px; z-index:2;
}
.car-card .img {
    width:100%; height:180px; background:var(--gray-100);
    display:flex; align-items:center; justify-content:center;
    color:var(--text-muted); font-size:14px;
}
.car-card .body { padding:14px; }
.car-card .title { font-size:15px; font-weight:600; margin-bottom:6px; }
.car-card .meta { font-size:12px; color:var(--text-muted); display:flex; gap:10px; margin-bottom:8px; flex-wrap:wrap; }
.car-card .price { font-size:18px; font-weight:700; color:var(--orange); }

/* ========== Brand Bar ========== */
.brand-bar { display:flex; gap:12px; flex-wrap:wrap; justify-content:center; }
.brand-bar .b {
    width:56px; height:56px; background:var(--white);
    border:1px solid var(--gray-200); border-radius:10px;
    display:flex; align-items:center; justify-content:center;
    font-size:11px; font-weight:600; color:var(--text-secondary);
    transition:all .2s; cursor:pointer;
}
.brand-bar .b:hover { border-color:var(--primary); color:var(--primary); }

/* ========== Footer ========== */
.site-footer {
    background:var(--dark); color:rgba(255,255,255,.7);
    padding:48px 0 24px; margin-top:48px;
}
.footer-grid { display:grid; grid-template-columns:1fr; gap:28px; margin-bottom:32px; }
.footer-col h4 { color:var(--white); font-size:15px; font-weight:600; margin-bottom:14px; }
.footer-col a { display:block; font-size:13px; color:rgba(255,255,255,.6); padding:4px 0; transition:color .2s; }
.footer-col a:hover { color:var(--white); }
.footer-col p { font-size:13px; margin-bottom:6px; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); padding-top:18px; text-align:center; font-size:12px; }

/* ========== Generic Grid Helpers ========== */
.grid-2 { display:grid; grid-template-columns:1fr; gap:16px; }
.grid-3 { display:grid; grid-template-columns:1fr; gap:16px; }
.grid-4 { display:grid; grid-template-columns:1fr; gap:16px; }
.grid-auto {
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
    gap:16px;
}

/* ========== Page Header ========== */
.page-header {
    background:linear-gradient(135deg, var(--dark) 0%, #1e3a5f 60%, var(--primary) 100%);
    color:var(--white); padding:36px 0;
}
.page-header-inner { display:flex; flex-direction:column; gap:8px; }
.page-header h1 { font-size:26px; font-weight:800; }
.page-header p { font-size:14px; color:rgba(255,255,255,.7); }
.breadcrumb { font-size:12px; color:rgba(255,255,255,.5); display:flex; gap:6px; flex-wrap:wrap; }
.breadcrumb a { color:rgba(255,255,255,.7); }
.breadcrumb a:hover { color:var(--white); }
.page-header::before {
    content:''; position:absolute; top:-40%; right:-8%;
    width:500px; height:500px; border-radius:50%;
    background:rgba(37,99,235,.1);
}
.page-header::after {
    content:''; position:absolute; bottom:-50%; left:-5%;
    width:400px; height:400px; border-radius:50%;
    background:rgba(249,115,22,.05);
}
.page-header .container { position:relative; z-index:1; }
.page-header { position:relative; overflow:hidden; padding:44px 0 52px; }
.page-header h1 { margin-bottom:6px; letter-spacing:-.5px; }

/* ========== Cars list (888/cars.php) ========== */
.cars-layout {
    display:grid; grid-template-columns:1fr; gap:20px; margin-bottom:48px;
}
.cars-layout--full { grid-template-columns:1fr !important; }
.cars-sidebar { order:-1; }
.filter-section {
    background:#fff; border-radius:14px; padding:20px; margin-bottom:14px;
    box-shadow:0 1px 4px rgba(0,0,0,.06); border:1px solid #f1f5f9; transition:box-shadow .2s;
}
.filter-section:hover { box-shadow:0 4px 16px rgba(0,0,0,.09); }
.filter-title {
    font-size:14px; font-weight:700; color:#1a1a2e; margin-bottom:14px; padding-bottom:10px;
    border-bottom:1px solid #f1f5f9; display:flex; align-items:center; gap:6px;
}
.filter-title svg { color:#2563eb; flex-shrink:0; }
.filter-options { display:flex; flex-direction:column; gap:3px; max-height:220px; overflow-y:auto; }
.filter-option {
    display:flex; align-items:center; gap:9px; padding:7px 10px; border-radius:9px;
    cursor:pointer; transition:all .15s; font-size:13px; color:#475569; user-select:none;
}
.filter-option:hover { background:#eff6ff; color:#1e40af; }
.filter-option.active { background:#eff6ff; color:#1e40af; font-weight:600; }
.filter-option input[type="radio"] { accent-color:#2563eb; width:15px; height:15px; flex-shrink:0; cursor:pointer; }
.filter-field { margin-bottom:10px; }
.filter-field label { display:block; font-size:12px; font-weight:600; color:#64748b; margin-bottom:6px; }
.filter-field select, .filter-field input[type="search"], .filter-field input[type="number"] {
    width:100%; padding:8px 12px; border:1.5px solid #e2e8f0; border-radius:9px; font-size:13px; color:#1a1a2e; background:#fff;
}
.filter-actions { margin-top:8px; }
.btn-reset {
    display:flex; align-items:center; justify-content:center; gap:6px; width:100%; padding:10px;
    background:#f8fafc; color:#64748b; border-radius:9px; font-size:13px; font-weight:600;
    transition:all .2s; border:none; cursor:pointer; text-decoration:none;
}
.btn-reset:hover { background:#fee2e2; color:#dc2626; }
.btn-reset--primary { background:#2563eb; color:#fff; margin-bottom:8px; }
.btn-reset--primary:hover { background:#1d4ed8; color:#fff; }
.cars-toolbar {
    display:flex; align-items:center; gap:14px 18px; margin-bottom:18px;
    padding:14px 18px; background:#fff; border-radius:14px;
    box-shadow:0 1px 4px rgba(0,0,0,.06); border:1px solid #f1f5f9;
}
.cars-count { font-size:13px; color:#64748b; flex:1 1 auto; min-width:0; line-height:1.35; }
.cars-count strong { color:#1a1a2e; font-weight:700; }
.filter-active-tip { color:#2563eb; font-weight:600; font-size:12px; }
.cars-toolbar-actions {
    display:flex; align-items:center; gap:12px; flex-shrink:0; margin-left:auto;
}
.cars-sort { display:flex; align-items:center; gap:8px; font-size:13px; color:#64748b; }
.cars-sort label { flex-shrink:0; font-weight:600; color:#64748b; }
.cars-sort select {
    padding:8px 34px 8px 12px; border:1.5px solid #e2e8f0; border-radius:9px; font-size:13px; color:#1a1a2e; background:#fff;
    cursor:pointer; outline:none; appearance:none; min-width:9.5rem;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 10px center;
}
.cars-view-toggle { display:flex; gap:5px; }
.view-btn {
    width:36px; height:36px; display:flex; align-items:center; justify-content:center;
    border:1.5px solid #e2e8f0; background:#fff; border-radius:9px; cursor:pointer; color:#94a3b8; transition:all .2s;
}
.view-btn:hover { color:#475569; border-color:#cbd5e1; }
.view-btn.active { background:#2563eb; border-color:#2563eb; color:#fff; box-shadow:0 2px 8px rgba(37,99,235,.3); }
.cars-grid { display:grid; grid-template-columns:1fr; gap:18px; }
.car-card-modern {
    background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 2px 12px rgba(0,0,0,.07);
    transition:all .3s cubic-bezier(.25,.8,.25,1); position:relative; border:1px solid #f1f5f9;
}
.car-card-modern:hover { transform:translateY(-6px); box-shadow:0 14px 36px rgba(0,0,0,.12); border-color:#bfdbfe; }
.car-badge {
    position:absolute; top:12px; left:12px; padding:4px 12px; border-radius:20px; font-size:11px; font-weight:700;
    z-index:2; letter-spacing:.3px; box-shadow:0 2px 8px rgba(0,0,0,.15);
}
.car-badge.featured { background:linear-gradient(135deg,#f97316,#fb923c); color:#fff; }
.car-card-img { position:relative; height:190px; overflow:hidden; background:linear-gradient(135deg,#f1f5f9,#e2e8f0); }
.car-card-img-link { display:block; width:100%; height:100%; color:inherit; text-decoration:none; }
.car-card-img img { width:100%; height:100%; object-fit:cover; display:block; }
.car-img-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; transition:background .3s; }
.car-card-modern:hover .car-img-placeholder { background:linear-gradient(135deg,#dbeafe,#bfdbfe); }
.car-card-overlay {
    position:absolute; inset:0; background:rgba(37,99,235,.88); display:flex; align-items:center; justify-content:center;
    opacity:0; transition:opacity .25s;
}
.car-card-modern:hover .car-card-overlay { opacity:1; }
.btn-quick-view {
    padding:10px 24px; background:#fff; color:#2563eb; border-radius:9px; font-size:13px; font-weight:700;
    transition:all .2s; text-decoration:none; box-shadow:0 2px 8px rgba(0,0,0,.12);
}
.btn-quick-view:hover { background:#f97316; color:#fff; transform:scale(1.04); }
.car-card-body { padding:18px; }
.car-card-top { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:12px; gap:10px; }
.car-card-title {
    margin:0; font-size:15px; font-weight:700; color:#1a1a2e; line-height:1.4;
    flex:1 1 auto; min-width:0; max-width:100%;
}
.car-card-title a {
    color:inherit; text-decoration:none; transition:color .2s;
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; line-clamp:3;
    overflow:hidden; text-overflow:ellipsis;
    word-break:break-word; overflow-wrap:anywhere;
    max-height:calc(1.4em * 3);
}
.car-card-title a:hover { color:#2563eb; }
.car-card-price { font-size:19px; font-weight:800; color:#f97316; white-space:nowrap; flex-shrink:0; }
.car-card-meta { display:flex; flex-wrap:wrap; gap:6px 16px; margin-bottom:12px; padding-bottom:12px; border-bottom:1px solid #f1f5f9; }
.car-meta-item { display:flex; align-items:center; gap:4px; font-size:12px; color:#64748b; }
.car-meta-item svg { flex-shrink:0; color:#94a3b8; }
.car-card-desc {
    font-size:12px; color:#94a3b8; line-height:1.6; margin-bottom:14px;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.car-card-bottom {
    display:flex; justify-content:space-between; align-items:center; font-size:11px; color:#94a3b8;
    padding-top:12px; border-top:1px solid #f1f5f9;
}
.car-location, .car-date { display:flex; align-items:center; gap:4px; }
.car-date { color:#64748b; font-size:12px; }
.cars-grid.list-view { grid-template-columns:1fr; }
.cars-grid.list-view .car-card-modern { display:grid; grid-template-columns:1fr; }
.no-results {
    text-align:center; padding:72px 24px; background:#fff; border-radius:18px;
    box-shadow:0 2px 12px rgba(0,0,0,.07); border:1px solid #f1f5f9;
}
.no-results-icon { margin-bottom:16px; opacity:.7; color:#94a3b8; }
.no-results h3 { font-size:20px; font-weight:700; color:#1a1a2e; margin-bottom:8px; }
.no-results p { font-size:13px; color:#94a3b8; margin-bottom:20px; }
.cars-pager { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-top:28px; }
.cars-pager a, .cars-pager span {
    min-width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center;
    border-radius:9px; font-size:13px; font-weight:600; text-decoration:none;
}
.cars-pager a { background:#fff; border:1px solid #e2e8f0; color:#475569; }
.cars-pager a:hover { border-color:#2563eb; color:#2563eb; }
.cars-pager span.is-current { background:#2563eb; color:#fff; border:1px solid #2563eb; }
.cars-sidebar-backdrop {
    display:none; position:fixed; inset:0; background:rgba(15,23,42,.45); z-index:999;
}
.cars-sidebar-backdrop.is-open { display:block; }
.filter-mobile-open { display:none; }
.filter-section .xa-adv-layout { display:block; }
.filter-section .xa-adv-nav { display:none; }
.filter-section .xa-adv-chips { display:flex; flex-wrap:wrap; gap:6px; }
.filter-section .xa-adv-chip {
    padding:6px 12px; border-radius:20px; border:1px solid #e2e8f0; background:#fff;
    font-size:12px; color:#475569; cursor:pointer;
}
.filter-section .xa-adv-chip.is-active { background:#eff6ff; border-color:#2563eb; color:#1e40af; font-weight:600; }
.filter-section .xa-adv-section { margin-bottom:14px; }
.filter-section .xa-adv-section__title { font-size:12px; font-weight:700; color:#64748b; margin-bottom:8px; }
@media (min-width:480px) {
    .page-header { padding:52px 0 60px; }
    .page-header h1 { font-size:32px; }
    .cars-grid { grid-template-columns:1fr 1fr; }
}
@media (min-width:768px) {
    .page-header { padding:56px 0 68px; }
    .page-header-inner { flex-direction:row; justify-content:space-between; align-items:center; }
    .page-header h1 { font-size:36px; }
    .cars-layout { grid-template-columns:240px 1fr; gap:28px; }
    .cars-sidebar { position:sticky; top:76px; align-self:start; order:0; }
    .cars-toolbar { padding:16px 22px; gap:16px; flex-wrap:nowrap; align-items:center; }
    .cars-toolbar-actions { margin-left:auto; }
    .cars-grid { grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:20px; }
    .car-card-img { height:200px; }
    .cars-grid.list-view { grid-template-columns:1fr; }
    .cars-grid.list-view .car-card-modern { grid-template-columns:220px 1fr; }
    .cars-grid.list-view .car-card-img { height:100%; min-height:180px; }
    .filter-mobile-open { display:none !important; }
    .filter-mobile-header { display:none; }
    #xaCarsFilterForm { display:block; padding:0; overflow:visible; flex:none; }
    .filter-actions {
        position:static; box-shadow:none; padding:0; margin-top:8px;
        background:transparent; display:block;
    }
    .filter-actions .btn-reset { box-shadow:none; }
    .filter-actions .btn-reset--primary { box-shadow:none; }
}
@media (min-width:1024px) {
    .cars-layout { grid-template-columns:270px 1fr; gap:32px; }
    .filter-section { padding:22px; }
    .cars-grid { grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:22px; }
    .car-card-img { height:210px; }
}
@media (max-width:767px) {
    /* Page header — compact */
    .cars-main .page-header,
    .section .page-header,
    .page-header {
        padding:22px 0 26px;
    }
    .page-header h1 { font-size:22px; margin-bottom:4px; letter-spacing:-.3px; }
    .page-header p { font-size:13px; line-height:1.45; margin:0; opacity:.92; }
    .page-header .breadcrumb { margin-top:6px; font-size:11px; gap:4px; }
    .cars-layout { gap:14px; margin-bottom:32px; }
    .section[style*="padding-top:0"] { padding-bottom:28px; }

    /* Toolbar — filter + count on row 1, sort full width on row 2 */
    .cars-toolbar {
        display:grid;
        grid-template-columns:auto 1fr;
        grid-template-areas:
            "filter count"
            "actions actions";
        align-items:center;
        gap:10px;
        padding:12px;
        border-radius:12px;
        margin-bottom:14px;
    }
    .filter-mobile-open {
        grid-area:filter;
        display:inline-flex !important; align-items:center; gap:6px;
        position:relative; flex-shrink:0;
        padding:9px 14px; margin:0;
        background:#2563eb; color:#fff; border:none; border-radius:10px;
        font-size:13px; font-weight:600; cursor:pointer;
        box-shadow:0 2px 8px rgba(37,99,235,.28);
    }
    .filter-mobile-open__dot {
        position:absolute; top:6px; right:6px; width:7px; height:7px;
        border-radius:50%; background:#fb923c; box-shadow:0 0 0 2px #2563eb;
    }
    .cars-count { grid-area:count; flex:none; min-width:0; line-height:1.35; }
    .cars-toolbar-actions {
        grid-area:actions; margin-left:0; width:100%;
        display:flex; align-items:center;
    }
    .cars-view-toggle { display:none !important; }
    .cars-sort { width:100%; flex:1 1 auto; }
    .cars-sort label { flex-shrink:0; }
    .cars-sort select {
        flex:1 1 auto; width:100%; min-width:0;
        padding:10px 34px 10px 12px; font-size:14px; border-radius:10px;
    }
    /* 无筛选按钮时，数量占满第一行 */
    .cars-toolbar:not(:has(.filter-mobile-open)) {
        grid-template-columns:1fr;
        grid-template-areas:
            "count"
            "actions";
    }

    /* Cards — touch friendly */
    .cars-grid { gap:14px; }
    .car-card-modern {
        border-radius:14px;
        box-shadow:0 1px 8px rgba(15,23,42,.07);
        transition:box-shadow .2s, border-color .2s;
    }
    .car-card-modern:hover {
        transform:none;
        box-shadow:0 4px 16px rgba(15,23,42,.1);
        border-color:#e2e8f0;
    }
    .car-card-modern:active { border-color:#bfdbfe; box-shadow:0 2px 12px rgba(37,99,235,.12); }
    .car-card-img { height:210px; }
    .car-card-overlay { display:none; }
    .car-card-body { padding:14px 14px 12px; }
    .car-card-top {
        flex-direction:column; align-items:stretch; gap:6px; margin-bottom:10px;
    }
    .car-card-title { font-size:14px; line-height:1.4; width:100%; }
    .car-card-title a { max-height:calc(1.4em * 3); -webkit-line-clamp:3; line-clamp:3; }
    .car-card-price {
        font-size:18px; font-weight:800; color:#f97316;
        white-space:nowrap; align-self:flex-start; letter-spacing:-.2px;
    }
    .car-card-meta {
        display:flex; flex-wrap:nowrap; gap:8px; margin-bottom:10px; padding-bottom:10px;
        overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none;
        border-bottom:1px solid #f1f5f9;
    }
    .car-card-meta::-webkit-scrollbar { display:none; }
    .car-meta-item {
        flex:0 0 auto; max-width:46vw;
        padding:4px 8px; background:#f8fafc; border-radius:8px;
        font-size:11px; color:#64748b;
        white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
    }
    .car-meta-item svg { width:12px; height:12px; }
    .car-card-desc {
        font-size:12px; margin-bottom:10px; -webkit-line-clamp:2; line-clamp:2;
    }
    .car-card-bottom {
        padding-top:10px; gap:8px; font-size:11px;
        align-items:flex-start;
    }
    .car-location, .car-date { font-size:11px; }
    .car-badge { top:10px; left:10px; padding:3px 10px; font-size:10px; }

    /* Filter drawer */
    .cars-sidebar {
        position:fixed; top:0; left:0; right:0; bottom:0; width:100%;
        background:#f8fafc; z-index:1000;
        padding:0; overflow:hidden; display:flex; flex-direction:column;
        transform:translateX(-100%); transition:transform .28s ease;
        order:0;
        padding-top:env(safe-area-inset-top, 0);
        padding-bottom:env(safe-area-inset-bottom, 0);
    }
    .cars-sidebar.open { transform:translateX(0); }
    .filter-mobile-header {
        display:flex; justify-content:space-between; align-items:center;
        flex-shrink:0; position:sticky; top:0; z-index:2;
        margin:0; padding:14px 16px;
        background:#fff; border-bottom:1px solid #eef2f7;
        box-shadow:0 1px 0 rgba(15,23,42,.04);
    }
    .filter-mobile-header h3 { font-size:17px; font-weight:700; margin:0; color:#0f172a; }
    .filter-mobile-close {
        width:40px; height:40px; border:none; background:#f1f5f9; border-radius:12px;
        font-size:20px; cursor:pointer; display:flex; align-items:center; justify-content:center;
        color:#475569;
    }
    #xaCarsFilterForm {
        flex:1 1 auto; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch;
        padding:12px 14px 0; display:flex; flex-direction:column;
    }
    .cars-sidebar .filter-section {
        margin-bottom:10px; padding:14px; border-radius:12px;
        box-shadow:none; border:1px solid #eef2f7;
    }
    .cars-sidebar .filter-section:hover { box-shadow:none; }
    .cars-sidebar .filter-title { font-size:13px; margin-bottom:10px; padding-bottom:8px; }
    .filter-actions {
        position:sticky; left:0; right:0; bottom:0; z-index:3;
        display:flex; flex-direction:column; gap:8px;
        margin:auto 0 0; padding:12px 0 calc(12px + env(safe-area-inset-bottom, 0));
        background:linear-gradient(180deg, rgba(248,250,252,0) 0%, #f8fafc 18%, #f8fafc 100%);
        border-top:none;
        box-shadow:none;
    }
    .filter-actions .btn-reset {
        margin:0; padding:12px; border-radius:11px; font-size:14px;
        box-shadow:0 1px 4px rgba(15,23,42,.06);
    }
    .filter-actions .btn-reset--primary { margin-bottom:0; box-shadow:0 4px 14px rgba(37,99,235,.28); }
    .cars-sidebar-backdrop {
        background:rgba(15,23,42,.5);
        backdrop-filter:blur(2px);
    }
    .cars-pager { margin-top:20px; gap:6px; }
    .cars-pager a, .cars-pager span {
        min-width:36px; height:36px; padding:0 10px;
        display:inline-flex; align-items:center; justify-content:center;
    }
}
@media (max-width:479px) {
    .cars-grid { grid-template-columns:1fr; }
    .car-card-img { height:200px; }
    .page-header h1 { font-size:20px; }
}

/* ========== Car detail (888/car-detail.php) ========== */
.page-hero-sm {
    background:linear-gradient(135deg,#f0f4ff 0%,#e8ecf8 50%,#f0f4ff 100%);
    padding:18px 0 10px; border-bottom:1px solid #e8ecf8;
}
.page-hero-sm .breadcrumb { font-size:13px; color:#64748b; display:flex; flex-wrap:wrap; align-items:center; gap:0; }
.page-hero-sm .breadcrumb a { color:#2563eb; text-decoration:none; }
.page-hero-sm .breadcrumb a:hover { color:#1e40af; }
.page-hero-sm .breadcrumb span { margin:0 8px; color:#cbd5e1; }
.page-hero-sm .breadcrumb .current { color:#334155; font-weight:500; margin:0; }
.cd-layout { display:flex; gap:32px; align-items:flex-start; }
.cd-main { flex:1; min-width:0; }
.cd-sidebar { width:380px; flex-shrink:0; }
.cd-gallery {
    background:#fff; border-radius:16px; overflow:hidden;
    box-shadow:0 4px 20px rgba(0,0,0,.06); border:1px solid #f1f5f9; margin-bottom:20px;
}
.cd-gallery-main {
    width:100%; aspect-ratio:4/3; background:linear-gradient(135deg,#f0f4ff,#e8ecf8);
    display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;
}
.cd-gallery-main img { width:100%; height:100%; object-fit:cover; display:block; }
.cd-gallery-placeholder {
    width:100%; height:100%; display:flex; align-items:center; justify-content:center;
    color:#94a3b8;
}
.cd-gallery-badge {
    position:absolute; top:16px; left:16px;
    background:linear-gradient(135deg,#16a34a,#22c55e); color:#fff;
    padding:5px 14px; border-radius:20px; font-size:12px; font-weight:600;
    box-shadow:0 4px 12px rgba(22,163,74,.3);
}
.cd-gallery-thumbs { display:flex; gap:10px; padding:14px; overflow-x:auto; }
.cd-thumb {
    width:80px; height:60px; background:#f8fafc; border-radius:10px; flex-shrink:0;
    display:flex; align-items:center; justify-content:center; cursor:pointer;
    border:2.5px solid transparent; transition:all .2s; padding:0; overflow:hidden;
}
.cd-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.cd-thumb:hover { border-color:#93c5fd; background:#eff6ff; }
.cd-thumb.active { border-color:#2563eb; background:#eff6ff; box-shadow:0 2px 8px rgba(37,99,235,.2); }
.cd-gallery-info { padding:0 14px 14px; font-size:12px; color:#94a3b8; }
.cd-block {
    background:#fff; border-radius:16px; padding:24px;
    box-shadow:0 4px 20px rgba(0,0,0,.06); border:1px solid #f1f5f9; margin-bottom:20px;
}
.cd-block-title {
    font-size:18px; font-weight:700; color:#0f172a; margin-bottom:18px; padding-bottom:14px;
    border-bottom:2px solid #f1f5f9; display:flex; align-items:center; gap:8px;
}
.cd-block-title.cd-collapsible { cursor:pointer; user-select:none; transition:color .2s; }
.cd-block-title.cd-collapsible:hover { color:#2563eb; }
.cd-arrow { margin-left:auto; transition:transform .25s ease; flex-shrink:0; }
.cd-collapsible-body { max-height:0; overflow:hidden; transition:max-height .35s ease; }
.cd-collapsible-body.open { max-height:2000px; }
.cd-block-text { font-size:14px; color:#475569; line-height:1.9; }
.cd-prose { font-size:14px; color:#475569; line-height:1.9; }
.cd-prose p { margin-bottom:.75em; }
.cd-spec-grid { display:grid; grid-template-columns:1fr 1fr; gap:0; }
.cd-spec-item { display:flex; padding:12px 14px; border-bottom:1px solid #f8fafc; transition:background .15s; }
.cd-spec-item:hover { background:#f8fafc; }
.cd-spec-item:nth-child(odd) { background:#fafbfd; }
.cd-spec-label { width:100px; flex-shrink:0; font-size:13px; color:#94a3b8; }
.cd-spec-value { flex:1; font-size:13px; color:#1e293b; font-weight:500; }
.cd-feature-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.cd-feature-item {
    display:flex; align-items:center; gap:10px; padding:10px 14px; background:#f8fafc;
    border-radius:10px; font-size:13px; color:#334155; border:1px solid transparent; transition:all .2s;
}
.cd-feature-item:hover { background:#eff6ff; border-color:#bfdbfe; color:#1e40af; }
.cd-feature-safety svg { stroke:#16a34a; }
.cd-feature-safety:hover { background:#f0fdf4; border-color:#bbf7d0; color:#166534; }
.cd-sticky { position:sticky; top:80px; display:flex; flex-direction:column; gap:16px; }
.cd-info-card {
    background:#fff; border-radius:16px; padding:24px;
    box-shadow:0 4px 20px rgba(0,0,0,.06); border:1px solid #f1f5f9;
}
.cd-tags { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
.cd-tag {
    background:linear-gradient(135deg,#2563eb,#3b82f6); color:#fff;
    padding:4px 14px; border-radius:20px; font-size:11px; font-weight:600;
}
.cd-tag--vehicle { background:var(--cd-tag-bg, #2563eb); }
.cd-tag--seller {
    background:linear-gradient(135deg,#f97316,#fb923c);
    color:#fff;
}
.cd-tag-purple { background:linear-gradient(135deg,#6366f1,#818cf8); }
.cd-title { font-size:20px; font-weight:800; color:#0f172a; line-height:1.35; margin-bottom:12px; }
.cd-meta { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:18px; font-size:13px; color:#64748b; }
.cd-price {
    background:linear-gradient(135deg,#fff7ed,#ffedd5); border:1px solid #fed7aa;
    border-radius:12px; padding:16px 18px; margin-bottom:20px; position:relative; overflow:hidden;
}
.cd-price-label { font-size:12px; color:#92400e; margin-bottom:4px; }
.cd-price-value { font-size:30px; font-weight:900; color:#ea580c; letter-spacing:-.5px; }
.cd-price-note { font-size:11px; color:#b45309; margin-top:6px; }
.cd-quick-specs { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:22px; }
.cd-quick-spec { background:#f8fafc; border-radius:10px; padding:12px 14px; }
.cd-qs-label { font-size:11px; color:#94a3b8; margin-bottom:4px; }
.cd-qs-value { font-size:13px; color:#1e293b; font-weight:600; }
.cd-qs-good { color:#16a34a; }
.cd-cta { display:flex; flex-direction:column; gap:10px; }
.cd-btn {
    display:flex; align-items:center; justify-content:center; gap:8px;
    padding:13px 16px; border-radius:10px; font-weight:700; font-size:14px;
    text-decoration:none; transition:all .2s; border:none; cursor:pointer;
}
.cd-btn:hover { transform:translateY(-2px); }
.cd-btn-primary { background:linear-gradient(135deg,#2563eb,#1d4ed8); color:#fff; box-shadow:0 4px 12px rgba(37,99,235,.3); }
.cd-btn-secondary { background:#fff; color:#2563eb; border:2px solid #2563eb; }
.cd-btn-secondary:hover { background:#eff6ff; }
.cd-service-card, .cd-export-card {
    background:#fff; border-radius:16px; padding:20px 24px;
    box-shadow:0 4px 20px rgba(0,0,0,.06); border:1px solid #f1f5f9;
}
.cd-service-title, .cd-export-title { font-size:15px; font-weight:700; color:#0f172a; margin-bottom:14px; }
.cd-export-title { margin-bottom:16px; padding-bottom:12px; border-bottom:2px solid #f1f5f9; }
.cd-service-list { list-style:none; padding:0; margin:0; font-size:13px; color:#475569; line-height:2.2; }
.cd-step { display:flex; gap:12px; padding:10px 0; position:relative; }
.cd-step:not(:last-child)::after {
    content:''; position:absolute; left:17px; top:42px; bottom:0; width:2px; background:#e2e8f0;
}
.cd-step-num {
    width:36px; height:36px; background:linear-gradient(135deg,#2563eb,#3b82f6); color:#fff;
    border-radius:50%; display:flex; align-items:center; justify-content:center;
    font-size:13px; font-weight:700; flex-shrink:0; box-shadow:0 4px 10px rgba(37,99,235,.25); position:relative; z-index:1;
}
.cd-step-txt { font-size:13px; color:#334155; padding-top:6px; line-height:1.5; }
.cd-related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.cd-related-card {
    background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 4px 16px rgba(0,0,0,.06);
    text-decoration:none; color:inherit; border:1px solid #f1f5f9; transition:all .25s; display:block;
}
.cd-related-card:hover { transform:translateY(-4px); box-shadow:0 12px 28px rgba(0,0,0,.1); border-color:#bfdbfe; }
.cd-related-img { height:140px; background:linear-gradient(135deg,#f0f4ff,#e8ecf8); overflow:hidden; }
.cd-related-img img { width:100%; height:100%; object-fit:cover; display:block; }
.cd-related-ph { height:100%; display:flex; align-items:center; justify-content:center; color:#94a3b8; }
.cd-related-body { padding:14px; }
.cd-related-title { font-size:13px; font-weight:700; color:#1e293b; margin-bottom:6px; line-height:1.4; }
.cd-related-meta { font-size:12px; color:#94a3b8; margin-bottom:8px; }
.cd-related-price { font-size:17px; font-weight:800; color:#f97316; }
@media (max-width:1024px) {
    .cd-layout { flex-direction:column; }
    .cd-sidebar { width:100%; order:-1; }
    .cd-sticky { position:static; }
}
@media (max-width:767px) {
    .cd-layout { gap:16px; }
    .cd-title { font-size:17px; }
    .cd-price-value { font-size:26px; }
    .cd-spec-grid, .cd-feature-grid { grid-template-columns:1fr; }
    .cd-related-grid { grid-template-columns:1fr 1fr; }
    .cd-block, .cd-info-card { padding:16px; }
    .cd-thumb { width:60px; height:45px; }
}
@media (max-width:480px) {
    .cd-related-grid { grid-template-columns:1fr; }
    .cd-quick-specs { grid-template-columns:1fr; }
}

/* ========== Inner Hero (sub pages) ========== */
.hero-inner {
    background:linear-gradient(135deg, #1e3a5f 0%, #2563eb 60%, #3b82f6 100%);
    color:var(--white); padding:72px 0 80px; text-align:center;
    position:relative; overflow:hidden;
}
.hero-inner::before {
    content:''; position:absolute; top:-40%; right:-15%;
    width:500px; height:500px; border-radius:50%;
    background:rgba(255,255,255,.06);
}
.hero-inner::after {
    content:''; position:absolute; bottom:-30%; left:-10%;
    width:400px; height:400px; border-radius:50%;
    background:rgba(249,115,22,.08);
}
.hero-inner .container { position:relative; z-index:1; }
.hero-inner h1 { font-size:36px; font-weight:800; margin-bottom:14px; line-height:1.2; }
.hero-inner p { font-size:15px; opacity:.85; max-width:600px; margin:0 auto; line-height:1.6; }

/* ========== Contact Grid ========== */
.contact-grid { display:grid; grid-template-columns:1fr; gap:32px; }
.contact-info h2, .contact-form-wrap h2 { font-size:20px; margin-bottom:20px; }
.contact-item { display:flex; gap:14px; margin-bottom:18px; }
.contact-icon { font-size:24px; flex-shrink:0; }
.contact-item h4 { font-size:14px; margin-bottom:4px; }
.contact-item p { font-size:13px; color:var(--text-secondary); }
.contact-form-wrap {
    background:var(--white); border-radius:var(--radius-md);
    padding:24px; box-shadow:var(--shadow-sm);
}
.contact-form .form-row { display:grid; grid-template-columns:1fr; gap:14px; margin-bottom:14px; }
.contact-form .form-group { margin-bottom:14px; }
.contact-form label { display:block; font-size:14px; font-weight:500; margin-bottom:6px; }
.contact-form input,
.contact-form textarea,
.contact-form select {
    width:100%; padding:10px 14px;
    border:1px solid var(--gray-200); border-radius:var(--radius-sm);
    font-size:14px; color:var(--text); outline:none;
    transition:border-color .2s;
}
.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus { border-color:var(--primary); }

/* ========== News Grid ========== */
.news-grid { display:grid; grid-template-columns:1fr; gap:16px; }
.news-card {
    display:flex; flex-direction:column;
    background:var(--white); border-radius:var(--radius-md);
    overflow:hidden; box-shadow:var(--shadow-sm);
    transition:transform .2s;
}
.news-card:hover { transform:translateY(-3px); }
.news-thumb {
    width:100%; aspect-ratio:4/3; background:var(--gray-100);
    display:flex; align-items:center; justify-content:center; font-size:40px;
    flex-shrink:0;
}
.news-body { padding:16px; flex:1; }
.news-tag {
    display:inline-block; background:var(--primary); color:var(--white);
    padding:2px 8px; border-radius:4px; font-size:11px; margin-bottom:6px;
}
.news-body h3 { font-size:15px; line-height:1.4; margin-bottom:8px; }
.news-body p { font-size:13px; color:var(--text-secondary); line-height:1.5; }
.news-date { display:block; font-size:12px; color:var(--text-muted); margin-top:8px; }

/* ========== Market / Service / Fleet shared ========== */
.fleet-grid, .market-grid, .service-grid, .brand-grid, .guide-list, .reviews-grid, .why-grid {
    display:grid; grid-template-columns:1fr; gap:16px;
}

/* ========== Process Steps ========== */
.process-steps { display:grid; grid-template-columns:1fr; gap:16px; text-align:center; }
.step {
    background:var(--white); border-radius:var(--radius-md);
    padding:24px 16px; box-shadow:var(--shadow-sm);
}
.step-num { font-size:26px; font-weight:800; color:var(--primary); margin-bottom:8px; }
.step h3 { font-size:15px; margin-bottom:6px; }
.step p { font-size:13px; color:var(--text-muted); }

/* ========== FAQ ========== */
.faq-list { display:flex; flex-direction:column; gap:12px; }
.faq-item {
    background:var(--white); border-radius:var(--radius-md);
    padding:18px 20px; box-shadow:var(--shadow-sm); cursor:pointer;
    transition:box-shadow .2s;
}
.faq-item:hover { box-shadow:var(--shadow-md); }
.faq-q { font-size:15px; font-weight:600; padding-right:24px; position:relative; }
.faq-q::after { content:'+'; position:absolute; right:0; top:0; font-size:20px; color:var(--primary); font-weight:700; }
.faq-a { font-size:14px; color:var(--text-secondary); line-height:1.7; margin-top:12px; display:none; }
.faq-item.active .faq-a { display:block; }
.faq-item.active .faq-q::after { content:'\2212'; }

/* ========== CTA Section ========== */
.cta-section {
    background:linear-gradient(135deg, var(--dark), #1e3a5f);
    color:var(--white); text-align:center; padding:48px 0;
}
.cta-section h2 { font-size:24px; margin-bottom:12px; color:var(--white); }
.cta-section p { opacity:.85; margin-bottom:24px; font-size:15px; }
.cta-buttons { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

/* ========== Responsive: 480px+ ========== */
@media (min-width:480px) {
    .car-grid { grid-template-columns:1fr 1fr; }
    .grid-2 { grid-template-columns:1fr 1fr; }
    .news-grid { grid-template-columns:1fr 1fr; }
}

/* ========== Responsive: 768px+ (Tablet) ========== */
@media (min-width:768px) {
    .header-inner { height:64px; gap:24px; }
    .logo-sub { display:block; }
    .menu-toggle { display:none; }
    .main-nav {
        display:flex; position:static; flex-direction:row;
        padding:0; gap:20px; flex:1;
        background:none; overflow:visible;
    }
    .main-nav a { padding:6px 0; font-size:14px; white-space:nowrap; }
    .btn-login, .btn-telegram { font-size:13px; padding:7px 16px; }

    .hero { padding:72px 0 96px; }
    .hero h1 { font-size:36px; }
    .hero p { font-size:15px; }
    .hero-stats { gap:36px; }
    .hero-stat .num { font-size:26px; }

    .section { padding:56px 0; }
    .section-header h2 { font-size:26px; }
    .section-header p { font-size:14px; }

    .car-grid { grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:20px; }
    .grid-3 { grid-template-columns:repeat(3, 1fr); }
    .grid-4 { grid-template-columns:repeat(2, 1fr); }
    .grid-auto { grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:20px; }

    .footer-grid { grid-template-columns:repeat(2, 1fr); gap:32px; }

    .page-header { padding:48px 0; }
    .page-header h1 { font-size:32px; }
    .page-header-inner { flex-direction:row; justify-content:space-between; align-items:center; }

    .hero-inner { padding:64px 0 72px; }
    .hero-inner h1 { font-size:32px; }
    .hero-inner p { font-size:14px; }

    .contact-grid { grid-template-columns:1fr 1fr; }
    .contact-form .form-row { grid-template-columns:1fr 1fr; }

    .news-grid { grid-template-columns:repeat(auto-fill, minmax(320px, 1fr)); gap:20px; }
    .news-card { flex-direction:row; }
    .news-thumb { width:140px; aspect-ratio:4/3; flex-shrink:0; }

    .fleet-grid,
    .market-grid { grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:20px; }
    .service-grid { grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:20px); }
    .brand-grid { grid-template-columns:repeat(auto-fill, minmax(160px, 1fr)); }
    .reviews-grid, .why-grid { grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:20px; }
    .process-steps { grid-template-columns:repeat(auto-fill, minmax(160px, 1fr)); gap:20px; }
    .guide-list { gap:14px; }
}

/* ========== Responsive: 1024px+ (Desktop) ========== */
@media (min-width:1024px) {
    .container { padding:0 24px; }
    .hero h1 { font-size:42px; }
    .hero { padding:80px 0 100px; }
    .section { padding:64px 0; }
    .grid-4 { grid-template-columns:repeat(4, 1fr); }
    .footer-grid { grid-template-columns:repeat(4, 1fr); gap:40px; }
    .highlights-grid { grid-template-columns:repeat(4, 1fr); }
}

/* ========== Home Page Specific ========== */

/* Trust marquee */
.trust-marquee { overflow:hidden; position:relative; }
.trust-track { display:flex; gap:24px; animation:marqueeScroll 20s linear infinite; white-space:nowrap; }
.trust-track:hover { animation-play-state:paused; }
.trust-item { font-size:13px; font-weight:600; color:var(--text-muted); padding:6px 16px; background:var(--gray-100); border-radius:20px; flex-shrink:0; }
@keyframes marqueeScroll { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* Quick entries */
.quick-entries { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:14px; }
.qe {
    display:flex; flex-direction:column; align-items:center; gap:6px;
    padding:20px 12px; background:var(--gray-100); border-radius:var(--radius-md);
    text-decoration:none; color:inherit; transition:all .2s; border:2px solid transparent;
}
.qe:hover { background:var(--white); border-color:var(--primary); transform:translateY(-3px); box-shadow:var(--shadow-md); }
.qe-icon { font-size:0; width:48px; height:48px; display:flex; align-items:center; justify-content:center; border-radius:10px; }
.qe-label { font-size:14px; font-weight:600; }
.qe-desc { font-size:11px; color:var(--text-muted); }

/* Theme icons (SVG / image, replaces emoji) */
.xa-icon svg { width:24px; height:24px; display:block; }
.xa-icon--img img { width:28px; height:28px; object-fit:contain; display:block; }
.xa-icon--car { background:#eff6ff; color:#2563eb; }
.xa-icon--new { background:#ecfdf5; color:#059669; }
.xa-icon--fleet { background:#fff7ed; color:#ea580c; }
.xa-icon--search { background:#f5f3ff; color:#7c3aed; }
.xa-icon--ship { background:#fff1f2; color:#e11d48; }
.xa-icon--chart { background:#ecfeff; color:#0891b2; }
.xa-icon--globe { background:#f0fdf4; color:#16a34a; }
.xa-icon--bolt { background:#fefce8; color:#ca8a04; }
.xa-icon--handshake { background:#fdf4ff; color:#a21caf; }
.xa-icon--news { background:#eff6ff; color:#1d4ed8; }
.xa-icon--contact { background:#fef2f2; color:#dc2626; }
.xa-icon--service { background:#f8fafc; color:#475569; }
.xa-icon--default { background:var(--gray-100); color:var(--text-muted); }
.xa-icon--on-dark { background:transparent; color:rgba(255,255,255,.92); }
.xa-icon--on-dark svg { width:30px; height:30px; }
.hl-icon.xa-icon { margin-bottom:10px; opacity:.92; font-size:0; }

/* Highlights */
.highlights-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; text-align:center; }
.hl-item { padding:16px; }
.hl-icon { font-size:0; margin-bottom:10px; opacity:.8; }
.hl-num { font-size:32px; font-weight:800; margin-bottom:6px; }
.hl-label { font-size:13px; opacity:.7; }

/* Brand showcase */
.brand-showcase { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:12px; }
.brand-card-home {
    display:flex; flex-direction:column; align-items:center; gap:4px;
    padding:16px 8px; background:var(--gray-100); border-radius:var(--radius-md);
    text-decoration:none; color:inherit; transition:all .2s; border:2px solid transparent;
}
.brand-card-home:hover { background:var(--white); border-color:var(--primary); transform:translateY(-3px); }
.bc-logo { width:40px; height:40px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:18px; font-weight:700; }
.bc-name { font-size:13px; font-weight:600; }
.bc-sub { font-size:10px; color:var(--text-muted); letter-spacing:1px; }

/* Flow steps */
.flow-steps { display:flex; align-items:flex-start; gap:0; justify-content:center; flex-wrap:wrap; }
.flow-step { text-align:center; max-width:140px; padding:0 8px; }
.flow-icon {
    width:48px; height:48px; border-radius:50%; background:var(--primary); color:var(--white);
    display:flex; align-items:center; justify-content:center; font-size:18px; font-weight:700;
    margin:0 auto 10px;
}
.flow-step h3 { font-size:14px; margin-bottom:4px; }
.flow-step p { font-size:12px; color:var(--text-muted); }
.flow-arrow { font-size:20px; color:var(--gray-300); margin-top:12px; flex-shrink:0; display:none; }

/* News home */
.news-home-grid { display:grid; grid-template-columns:1fr; gap:20px; }
.nh-featured {
    display:flex; flex-direction:column;
    background:var(--white); border-radius:var(--radius-md);
    overflow:hidden; text-decoration:none; color:inherit; box-shadow:var(--shadow-sm);
}
.nh-featured .nh-thumb {
    width:100%; min-height:140px; background:var(--gray-100);
    display:flex; align-items:center; justify-content:center; font-size:48px; flex-shrink:0;
}
.nh-featured .nh-body { padding:16px; }
.nh-list { display:flex; flex-direction:column; gap:10px; }
.nh-item {
    display:flex; gap:12px; padding:12px 14px; background:var(--white);
    border-radius:var(--radius-sm); text-decoration:none; color:inherit;
    transition:background .2s; align-items:center;
}
.nh-item:hover { background:var(--gray-100); }
.nh-date { font-size:12px; color:var(--primary); font-weight:600; flex-shrink:0; min-width:44px; }
.nh-title { font-size:13px; line-height:1.5; }

@media (min-width:768px) {
    .quick-entries { grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:16px; }
    .highlights-grid { grid-template-columns:repeat(4,1fr); gap:20px; }
    .hl-num { font-size:40px; }
    .brand-showcase { grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:16px; }
    .bc-logo { width:48px; height:48px; font-size:20px; }
    .bc-name { font-size:14px; }
    .flow-arrow { display:block; }
    .news-home-grid { grid-template-columns:1fr 1fr; }
    .nh-featured { flex-direction:row; }
    .nh-featured .nh-thumb { width:200px; min-height:160px; }
}
@media (min-width:480px) and (max-width:767px) {
    .highlights-grid { grid-template-columns:repeat(2,1fr); }
}

/* ========== Why Choose Us ========== */
.why-grid { display:grid; grid-template-columns:1fr; gap:20px; }
.why-card {
    position:relative;
    background:var(--white);
    border-radius:var(--radius-lg);
    padding:32px 24px 28px;
    box-shadow:var(--shadow-sm);
    border:1px solid var(--gray-200);
    transition:all .3s;
    text-align:center;
    overflow:hidden;
}
.why-card::before {
    content:'';
    position:absolute; top:0; left:0; right:0; height:3px;
    background:linear-gradient(90deg, var(--primary), var(--primary-light));
    opacity:0; transition:opacity .3s;
}
.why-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:var(--primary-light); }
.why-card:hover::before { opacity:1; }
.why-num {
    position:absolute; top:12px; right:16px;
    font-size:32px; font-weight:900; color:var(--gray-100);
    line-height:1; transition:color .3s;
}
.why-card:hover .why-num { color:rgba(37,99,235,.08); }
.why-icon {
    width:56px; height:56px; margin:0 auto 16px;
    border-radius:14px;
    display:flex; align-items:center; justify-content:center;
    font-size:26px;
    background:linear-gradient(135deg, #eff6ff, #dbeafe);
    transition:all .3s;
}
.why-card:hover .why-icon { transform:scale(1.1); background:linear-gradient(135deg, #dbeafe, #bfdbfe); }
.why-card h3 { font-size:16px; font-weight:700; margin-bottom:10px; color:var(--text); }
.why-card p { font-size:13px; color:var(--text-secondary); line-height:1.7; }

/* ========== Reviews ========== */
.reviews-grid { display:grid; grid-template-columns:1fr; gap:20px; }
.review-card {
    background:var(--white); border-radius:var(--radius-lg);
    padding:28px 24px; box-shadow:var(--shadow-sm);
    border:1px solid var(--gray-200);
    transition:box-shadow .2s;
    position:relative;
}
.review-card::before {
    content:'"';
    position:absolute; top:12px; right:20px;
    font-size:64px; line-height:1;
    color:var(--gray-100); font-family:Georgia,serif;
}
.review-card:hover { box-shadow:var(--shadow-md); }
.review-stars { color:#f59e0b; font-size:15px; margin-bottom:12px; letter-spacing:2px; }
.review-text { font-size:13px; color:var(--text-secondary); line-height:1.8; margin-bottom:16px; font-style:italic; }
.review-author { display:flex; align-items:center; gap:12px; }
.review-avatar {
    width:40px; height:40px; border-radius:50%;
    background:linear-gradient(135deg, var(--primary), var(--primary-light));
    color:#fff; display:flex; align-items:center; justify-content:center;
    font-size:14px; font-weight:700; flex-shrink:0;
}
.review-name { font-size:14px; font-weight:600; color:var(--text); }
.review-company { font-size:12px; color:var(--text-muted); }

/* ========== CTA Section ========== */
.cta-section {
    background:linear-gradient(135deg, var(--primary) 0%, #1e40af 50%, #1e3a5f 100%);
    color:#fff; padding:64px 0; position:relative; overflow:hidden;
}
.cta-section::before {
    content:''; position:absolute; top:-50%; right:-20%;
    width:500px; height:500px; border-radius:50%;
    background:rgba(255,255,255,.05);
}
.cta-section::after {
    content:''; position:absolute; bottom:-30%; left:-10%;
    width:400px; height:400px; border-radius:50%;
    background:rgba(255,255,255,.03);
}
.cta-section .container { position:relative; z-index:1; }
.cta-section h2 { font-size:28px; font-weight:800; margin-bottom:12px; }
.cta-section p { font-size:15px; opacity:.85; margin-bottom:28px; }
.cta-buttons { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.btn-cta {
    display:inline-flex; align-items:center; gap:8px;
    background:var(--orange); color:#fff;
    padding:14px 32px; border-radius:var(--radius-sm);
    font-size:15px; font-weight:700; text-decoration:none;
    transition:all .2s; border:none; cursor:pointer;
}
.btn-cta:hover { background:#ea580c; transform:translateY(-2px); box-shadow:0 4px 16px rgba(249,115,22,.4); }

/* ========== Process Flow ========== */
.flow-steps { display:flex; align-items:flex-start; gap:0; justify-content:center; flex-wrap:wrap; }
.flow-step {
    text-align:center; max-width:160px; padding:0 8px;
    position:relative;
}
.flow-icon {
    width:56px; height:56px; border-radius:50%;
    background:linear-gradient(135deg, var(--primary), var(--primary-light));
    color:var(--white);
    display:flex; align-items:center; justify-content:center;
    font-size:20px; font-weight:700;
    margin:0 auto 14px;
    box-shadow:0 4px 12px rgba(37,99,235,.25);
    transition:transform .2s;
}
.flow-step:hover .flow-icon { transform:scale(1.1); }
.flow-step h3 { font-size:14px; font-weight:700; margin-bottom:6px; color:var(--text); }
.flow-step p { font-size:12px; color:var(--text-secondary); line-height:1.5; }
.flow-arrow {
    font-size:22px; color:var(--primary-light);
    margin-top:16px; flex-shrink:0; display:none;
    font-weight:300;
}

/* ========== FAQ ========== */
.faq-list { display:flex; flex-direction:column; gap:12px; max-width:700px; margin:0 auto; }
.faq-item {
    background:var(--white); border-radius:var(--radius-md);
    padding:18px 22px; box-shadow:var(--shadow-sm);
    border:1px solid var(--gray-200);
    cursor:pointer; transition:all .2s;
}
.faq-item:hover { border-color:var(--primary-light); }
.faq-q {
    font-size:15px; font-weight:600; color:var(--text);
    display:flex; align-items:center; gap:10px;
}
.faq-q::before {
    content:'Q'; display:inline-flex; align-items:center; justify-content:center;
    width:24px; height:24px; border-radius:6px;
    background:var(--primary); color:#fff;
    font-size:12px; font-weight:700; flex-shrink:0;
}
.faq-a {
    font-size:13px; color:var(--text-secondary); line-height:1.7;
    padding-top:12px; margin-top:12px;
    border-top:1px solid var(--gray-100);
    display:none;
}
.faq-item.active .faq-a { display:block; }
.faq-item.active { box-shadow:var(--shadow-md); border-color:var(--primary-light); }

/* ========== Hero enhancements ========== */
.hero {
    background:linear-gradient(135deg, #0f172a 0%, #1e3a5f 40%, #2563eb 100%);
    color:#fff; padding:72px 0 80px; position:relative; overflow:hidden;
}
.hero::before {
    content:''; position:absolute; top:-30%; right:-10%;
    width:600px; height:600px; border-radius:50%;
    background:rgba(37,99,235,.12);
}
.hero::after {
    content:''; position:absolute; bottom:-40%; left:-5%;
    width:500px; height:500px; border-radius:50%;
    background:rgba(249,115,22,.06);
}
.hero .container { position:relative; z-index:1; }
.hero h1 { font-size:36px; font-weight:800; margin-bottom:14px; line-height:1.2; }
.hero p { font-size:15px; opacity:.85; margin-bottom:28px; }
.hero-search {
    display:flex; max-width:540px; margin:0 auto 36px;
    background:rgba(255,255,255,.12); border-radius:var(--radius-md);
    padding:5px; backdrop-filter:blur(8px);
}
.hero-search input {
    flex:1; padding:14px 18px; border:none; border-radius:var(--radius-sm);
    font-size:15px; background:rgba(255,255,255,.95); color:var(--text);
    outline:none;
}
.hero-search input::placeholder { color:var(--text-muted); }
.hero-search button {
    padding:14px 28px; background:var(--orange); color:#fff;
    border:none; border-radius:var(--radius-sm); font-size:15px; font-weight:700;
    cursor:pointer; transition:background .2s; white-space:nowrap;
}
.hero-search button:hover { background:#ea580c; }
.hero-stats { display:flex; justify-content:center; gap:48px; flex-wrap:wrap; }
.hero-stat { text-align:center; }
.hero-stat .num { font-size:32px; font-weight:800; margin-bottom:4px; }
.hero-stat .lbl { font-size:13px; opacity:.7; }

/* ========== Car card enhancements ========== */
.car-card {
    background:var(--white); border-radius:var(--radius-lg);
    overflow:hidden; box-shadow:var(--shadow-sm);
    transition:all .3s; position:relative;
    border:1px solid var(--gray-200);
}
.car-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:var(--primary-light); }
.car-card .img {
    width:100%; height:200px; background:linear-gradient(135deg, var(--gray-100), var(--gray-50));
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    color:var(--text-muted); font-size:14px; position:relative; overflow:hidden;
    transition:background .3s;
}
.car-card:hover .img { background:linear-gradient(135deg, #eff6ff, #dbeafe); }
.car-card .img div:first-child { transition:transform .3s; }
.car-card:hover .img div:first-child { transform:scale(1.1); }
.car-tag {
    position:absolute; top:10px; left:10px;
    background:var(--primary); color:#fff;
    font-size:11px; font-weight:600; padding:4px 12px;
    border-radius:20px; z-index:2;
}
.car-hot {
    position:absolute; top:10px; right:10px;
    background:var(--orange); color:#fff;
    font-size:11px; font-weight:600; padding:4px 12px;
    border-radius:20px; z-index:2;
}
.car-card .body { padding:16px; }
.car-card .title { font-size:14px; font-weight:700; margin-bottom:8px; color:var(--text); line-height:1.4; }
.car-card .meta { font-size:12px; color:var(--text-muted); display:flex; gap:10px; margin-bottom:10px; flex-wrap:wrap; }
.car-card .price { font-size:20px; font-weight:800; color:var(--orange); }
.car-actions { display:flex; gap:8px; margin-top:14px; }
.btn-sm {
    padding:8px 16px; font-size:13px; border-radius:var(--radius-sm);
    font-weight:600; text-decoration:none; transition:all .2s; cursor:pointer; border:none;
}
.btn-primary { background:var(--primary); color:#fff; }
.btn-primary:hover { background:var(--primary-dark); }
.btn-outline { background:transparent; color:var(--primary); border:1.5px solid var(--primary); }
.btn-outline:hover { background:var(--primary); color:#fff; }

/* ========== Section header ========== */
.section-header { text-align:center; margin-bottom:40px; }
.section-header h2 { font-size:28px; font-weight:800; color:var(--text); margin-bottom:10px; }
.section-header p { font-size:14px; color:var(--text-secondary); }

/* ========== Responsive: Why/Reviews etc ========== */
@media (min-width:768px) {
    .why-grid { grid-template-columns:repeat(3,1fr); gap:24px; }
    .reviews-grid { grid-template-columns:repeat(3,1fr); gap:24px; }
    .flow-arrow { display:block; }
    .flow-steps { gap:8px; }
    .hero h1 { font-size:42px; }
    .hero { padding:88px 0 96px; }
    .cta-section h2 { font-size:32px; }
}
@media (min-width:480px) and (max-width:767px) {
    .why-grid { grid-template-columns:repeat(2,1fr); }
    .reviews-grid { grid-template-columns:repeat(2,1fr); }
    .hero-stats { gap:28px; }
    .hero-stat .num { font-size:26px; }
}
@media (max-width:479px) {
    .hero h1 { font-size:26px; }
    .hero { padding:48px 0 56px; }
    .hero-stats { gap:20px; }
    .hero-stat .num { font-size:22px; }
    .hero-stat .lbl { font-size:11px; }
    .section-header h2 { font-size:22px; }
    .cta-section h2 { font-size:22px; }
    .car-card .img { height:160px; }
}

/* ========== About Page ========== */
.about-wrap { max-width:800px; margin:0 auto; }
.about-wrap h1 { font-size:26px; font-weight:700; margin-bottom:14px; text-align:center; }
.about-wrap .subtitle { text-align:center; color:var(--text-secondary); margin-bottom:36px; font-size:15px; }
.content-card {
    background:var(--white); border-radius:var(--radius-md);
    padding:28px; box-shadow:var(--shadow-sm); margin-bottom:24px;
}
.content-card h2 { font-size:18px; font-weight:600; margin-bottom:14px; }

.stats-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    margin-bottom:28px;
}
.stat-card {
    background:var(--white); border-radius:var(--radius-md);
    padding:20px; box-shadow:var(--shadow-sm);
    text-align:center;
}
.stat-num { font-size:26px; font-weight:800; color:var(--primary); }
.stat-label { font-size:13px; color:var(--text-secondary); margin-top:4px; }

.about-contact-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px; font-size:14px; color:var(--text-secondary);
}
.about-contact-grid strong { color:var(--text); }

@media (min-width:768px) {
    .about-wrap h1 { font-size:28px; }
    .stats-grid { grid-template-columns:repeat(4,1fr); }
    .stat-num { font-size:32px; }
}
@media (max-width:599px) {
    .stats-grid { grid-template-columns:1fr 1fr; }
    .about-contact-grid { grid-template-columns:1fr; }
}

.btn-block { width:100%; display:block; text-align:center; }

/* ========== Fleet Page ========== */
/* Hero */
.hero-fleet {
    background:linear-gradient(135deg, #1e3a5f 0%, #2563eb 60%, #3b82f6 100%);
    color:#fff; padding:72px 0 80px; text-align:center;
    position:relative; overflow:hidden;
}
.hero-fleet::before {
    content:''; position:absolute; top:-40%; right:-15%;
    width:500px; height:500px; border-radius:50%;
    background:rgba(255,255,255,.06);
}
.hero-fleet::after {
    content:''; position:absolute; bottom:-30%; left:-10%;
    width:400px; height:400px; border-radius:50%;
    background:rgba(249,115,22,.08);
}
.hero-fleet .container { position:relative; z-index:1; }
.hero-fleet h1 { font-size:36px; font-weight:800; margin-bottom:14px; line-height:1.2; }
.hero-fleet p { font-size:15px; opacity:.85; max-width:600px; margin:0 auto 28px; line-height:1.6; }

/* Filter bar */
.filter-bar {
    background:var(--white); border-bottom:1px solid var(--gray-200);
    padding:16px 0; position:sticky; top:60px; z-index:99;
    box-shadow:var(--shadow-sm);
}
.filter-form { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.filter-select {
    padding:10px 36px 10px 14px;
    border:1.5px solid var(--gray-200); border-radius:var(--radius-sm);
    font-size:14px; color:var(--text); background:var(--white);
    appearance:none; -webkit-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2394a3b8' stroke-width='2' fill='none'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 12px center;
    cursor:pointer; transition:border-color .2s;
    min-width:140px;
}
.filter-select:focus { outline:none; border-color:var(--primary); box-shadow:0 0 0 3px rgba(37,99,235,.12); }
.filter-select option { padding:8px; }

/* Section gray bg */
.section-gray { background:var(--gray-100); }

/* Fleet grid */
.fleet-grid { display:grid; grid-template-columns:1fr; gap:24px; }

/* Fleet card */
.fleet-card {
    background:var(--white); border-radius:var(--radius-lg);
    overflow:hidden; box-shadow:var(--shadow-sm);
    border:1px solid var(--gray-200);
    transition:all .3s; position:relative;
    display:flex; flex-direction:column;
}
.fleet-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:var(--primary-light); }
.fleet-badge {
    position:absolute; top:16px; left:16px;
    padding:5px 14px; border-radius:20px;
    font-size:12px; font-weight:700; z-index:2;
    box-shadow:0 2px 8px rgba(0,0,0,.15);
}
.fleet-badge:not([class*=" "]) { background:var(--orange); color:#fff; }
.fleet-card .fleet-badge { background:var(--orange); color:#fff; }
.fleet-card:nth-child(2) .fleet-badge { background:#2563eb; color:#fff; }
.fleet-card:nth-child(3) .fleet-badge { background:#16a34a; color:#fff; }
.fleet-img {
    height:180px; background:linear-gradient(135deg, #eff6ff, #dbeafe);
    display:flex; align-items:center; justify-content:center;
    font-size:48px; gap:8px; color:var(--primary);
    position:relative; overflow:hidden;
}
.fleet-img::before {
    content:''; position:absolute; width:200px; height:200px;
    border-radius:50%; background:rgba(37,99,235,.06); right:-50px; bottom:-50px;
}
.fleet-body { padding:24px; flex:1; display:flex; flex-direction:column; }
.fleet-body h3 { font-size:17px; font-weight:700; color:var(--text); margin-bottom:10px; line-height:1.4; }
.fleet-cars { font-size:13px; color:var(--text-secondary); margin-bottom:14px; line-height:1.6; }
.fleet-price {
    font-size:24px; font-weight:800; color:var(--orange);
    margin-bottom:12px; display:flex; align-items:center; gap:8px;
}
.fleet-price span { font-size:13px; font-weight:400; color:var(--text-muted); }
.fleet-desc { font-size:13px; color:var(--text-secondary); line-height:1.6; margin-bottom:20px; flex:1; }
.fleet-body .btn { align-self:flex-start; padding:10px 24px; font-size:14px; }

/* Process steps */
.process-steps { display:grid; grid-template-columns:1fr; gap:20px; text-align:center; }
.step {
    background:var(--white); border-radius:var(--radius-lg);
    padding:32px 20px; box-shadow:var(--shadow-sm);
    border:1px solid var(--gray-200);
    transition:all .3s; position:relative;
}
.step:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:var(--primary-light); }
.step-num {
    width:48px; height:48px; border-radius:50%;
    background:linear-gradient(135deg, var(--primary), #3b82f6);
    color:#fff; display:inline-flex; align-items:center; justify-content:center;
    font-size:18px; font-weight:800; margin-bottom:16px;
    box-shadow:0 4px 12px rgba(37,99,235,.3);
    transition:transform .2s;
}
.step:hover .step-num { transform:scale(1.1); }
.step h3 { font-size:16px; font-weight:700; color:var(--text); margin-bottom:8px; }
.step p { font-size:13px; color:var(--text-secondary); line-height:1.6; }

/* Section blue (CTA) */
.section-blue {
    background:linear-gradient(135deg, var(--primary) 0%, #1e40af 50%, #1e3a5f 100%);
    color:#fff; padding:64px 0; text-align:center;
    position:relative; overflow:hidden;
}
.section-blue::before {
    content:''; position:absolute; top:-50%; right:-20%;
    width:500px; height:500px; border-radius:50%;
    background:rgba(255,255,255,.05);
}
.section-blue::after {
    content:''; position:absolute; bottom:-30%; left:-10%;
    width:400px; height:400px; border-radius:50%;
    background:rgba(255,255,255,.03);
}
.section-blue .container { position:relative; z-index:1; }
.section-blue h2 { font-size:28px; font-weight:800; margin-bottom:12px; }
.section-blue p { font-size:15px; opacity:.85; margin-bottom:28px; }
.btn-white {
    display:inline-flex; align-items:center; gap:8px;
    background:var(--white); color:var(--primary);
    padding:14px 36px; border-radius:var(--radius-sm);
    font-size:15px; font-weight:700; text-decoration:none;
    transition:all .2s; border:none; cursor:pointer;
}
.btn-white:hover { background:var(--gray-100); transform:translateY(-2px); box-shadow:0 4px 16px rgba(255,255,255,.25); }

/* ========== New Cars Page (new-cars.php) ========== */
.hero-inner__icon { display:flex; justify-content:center; margin-bottom:16px; }
.hero-inner__icon .xa-icon { width:56px; height:56px; color:rgba(255,255,255,.92); }
.hero-inner--photo::before, .hero-inner--photo::after { opacity:.35; }
.nc-hero-media-img { width:56px; height:56px; object-fit:contain; border-radius:12px; }
.nc-type-card__icon .nc-type-card__img,
.nc-type-card__img { width:40px; height:40px; object-fit:contain; border-radius:8px; }
.nc-adv-card__img { width:48px; height:48px; object-fit:contain; margin:0 auto; display:block; }
.section-blue--photo::before, .section-blue--photo::after { opacity:.25; }
.nc-filter-wrap { padding-top:0 !important; padding-bottom:0 !important; }
.nc-filter-wrap .filter-bar { position:sticky; top:60px; }
.filter-input {
    flex:1; min-width:200px;
    padding:10px 14px;
    border:1.5px solid var(--gray-200); border-radius:var(--radius-sm);
    font-size:14px; color:var(--text); background:var(--white);
    transition:border-color .2s;
}
.filter-input:focus { outline:none; border-color:var(--primary); box-shadow:0 0 0 3px rgba(37,99,235,.12); }
.nc-filter-clear { white-space:nowrap; }
.nc-search-hint { margin:10px 0 0; font-size:13px; color:var(--text-muted); }
.section-eyebrow {
    display:block; font-size:12px; color:var(--text-muted); font-weight:600;
    letter-spacing:.12em; text-transform:uppercase; margin-bottom:8px;
}
.nc-type-guide {
    display:grid; grid-template-columns:1fr; gap:20px;
}
.nc-type-card {
    background:var(--white); border-radius:var(--radius-lg);
    padding:24px 22px; border:1px solid var(--gray-200);
    box-shadow:var(--shadow-sm);
}
.nc-type-card__head { display:flex; align-items:flex-start; gap:14px; margin-bottom:12px; }
.nc-type-card__icon {
    flex-shrink:0; width:44px; height:44px; border-radius:12px;
    background:linear-gradient(135deg,#eff6ff,#dbeafe);
    display:flex; align-items:center; justify-content:center;
}
.nc-type-card__icon--mod { background:linear-gradient(135deg,#fff7ed,#ffedd5); }
.nc-type-card__icon .xa-icon { width:24px; height:24px; color:var(--primary); }
.nc-type-card__icon:has(.nc-type-card__img) { background:transparent; }
.nc-type-card__icon--mod .xa-icon { color:var(--orange); }
.nc-type-card h2 { font-size:17px; font-weight:700; color:var(--text); line-height:1.35; margin:0; }
.nc-type-card p { font-size:13px; color:var(--text-secondary); line-height:1.65; margin:0; }
.nc-empty, .nc-empty-inline {
    text-align:center; padding:48px 24px;
    background:var(--white); border-radius:var(--radius-lg);
    border:1px dashed var(--gray-200);
}
.nc-empty p, .nc-empty-inline p { color:var(--text-secondary); margin-bottom:20px; }
.nc-empty-inline { padding:32px 20px; margin-top:8px; }
.nc-adv-grid {
    display:grid; grid-template-columns:1fr; gap:16px;
}
.nc-adv-card {
    background:var(--white); border-radius:var(--radius-lg);
    padding:28px 22px; text-align:center;
    border:1px solid var(--gray-200); box-shadow:var(--shadow-sm);
    transition:transform .25s, box-shadow .25s, border-color .25s;
}
.nc-adv-card:hover {
    transform:translateY(-4px); box-shadow:var(--shadow-md);
    border-color:var(--primary-light);
}
.nc-adv-card__icon {
    display:flex; justify-content:center; margin-bottom:14px;
}
.nc-adv-card__icon .xa-icon { width:40px; height:40px; color:var(--primary); }
.nc-adv-card h3 { font-size:15px; font-weight:700; color:var(--text); margin-bottom:8px; }
.nc-adv-card p { font-size:13px; color:var(--text-secondary); line-height:1.6; margin:0; }
.nc-pager {
    display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
    gap:8px; margin-top:32px;
}
.nc-pager__btn, .nc-pager__num {
    display:inline-flex; align-items:center; justify-content:center;
    min-width:40px; height:40px; padding:0 12px;
    border-radius:var(--radius-sm); font-size:14px; font-weight:600;
    text-decoration:none; color:var(--text-secondary);
    background:var(--white); border:1px solid var(--gray-200);
    transition:all .2s;
}
.nc-pager__btn:hover, .nc-pager__num:hover { border-color:var(--primary); color:var(--primary); }
.nc-pager__num.is-active { background:var(--primary); border-color:var(--primary); color:#fff; }
.nc-pager__dots { color:var(--text-muted); padding:0 4px; }
/* car-img / car-body (new-cars.php card internals) */
.car-card { position:relative; }
.car-card__link {
    position:absolute; inset:0; z-index:1;
}
.car-card .btn, .car-card h3 a { position:relative; z-index:2; }
.car-tag--mod { background:var(--orange); }
.car-card .car-img {
    width:100%; height:200px;
    background:linear-gradient(135deg, var(--gray-100), var(--gray-50));
    display:flex; align-items:center; justify-content:center;
    font-size:48px; gap:8px; color:var(--primary);
    position:relative; overflow:hidden; transition:background .3s;
}
.car-card .car-img.has-photo { background:var(--gray-100); }
.car-card .car-img img {
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    transition:transform .35s;
}
.car-card:hover .car-img img { transform:scale(1.05); }
.car-card .car-img__ph { display:flex; align-items:center; justify-content:center; }
.car-card .car-img__ph .xa-icon { width:56px; height:56px; color:var(--primary); opacity:.65; }
.car-card:hover .car-img { background:linear-gradient(135deg, #eff6ff, #dbeafe); }
.car-card:hover .car-img.has-photo { background:var(--gray-100); }
.car-card .car-img::before {
    content:''; position:absolute; width:200px; height:200px;
    border-radius:50%; background:rgba(37,99,235,.06); right:-50px; bottom:-50px;
    pointer-events:none; z-index:0;
}
.car-card .car-body { padding:20px; position:relative; z-index:2; }
.car-card .car-body h3 { font-size:16px; font-weight:700; color:var(--text); margin-bottom:10px; line-height:1.4; }
.car-card .car-body h3 a { color:inherit; text-decoration:none; }
.car-card .car-body h3 a:hover { color:var(--primary); }
.car-card .car-meta { font-size:12px; color:var(--text-muted); display:flex; gap:12px; margin-bottom:10px; flex-wrap:wrap; }
.car-card .car-price { font-size:22px; font-weight:800; color:var(--orange); margin-bottom:12px; }
.car-card .car-price small { font-size:13px; font-weight:600; margin-left:4px; opacity:.85; }
.car-card .car-notes {
    font-size:12px; color:var(--text-muted); margin-bottom:14px; line-height:1.5;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.car-card .car-body .btn-sm { padding:9px 20px; font-size:13px; }
@media (min-width:768px) {
    .nc-type-guide { grid-template-columns:1fr 1fr; gap:24px; }
    .nc-adv-grid { grid-template-columns:repeat(2,1fr); gap:20px; }
}
@media (min-width:1024px) {
    .nc-adv-grid { grid-template-columns:repeat(4,1fr); }
}

/* ========== Market Page (market.php) ========== */
.market-card {
    background:var(--white); border-radius:var(--radius-lg);
    padding:28px 24px; box-shadow:var(--shadow-sm);
    border:1px solid var(--gray-200);
    transition:all .3s; position:relative; overflow:hidden;
}
.market-card::before {
    content:''; position:absolute; top:0; left:0; right:0; height:3px;
    background:linear-gradient(90deg, var(--primary), var(--orange));
    opacity:0; transition:opacity .3s;
}
.market-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:var(--primary-light); }
.market-card:hover::before { opacity:1; }
.market-card h3 { font-size:17px; font-weight:700; color:var(--text); margin-bottom:16px; display:flex; align-items:center; gap:8px; }

/* Data table */
.data-table { width:100%; border-collapse:collapse; font-size:13px; }
.data-table th {
    background:var(--gray-100); color:var(--text-secondary);
    font-weight:600; font-size:12px; text-transform:uppercase; letter-spacing:.5px;
    padding:12px 14px; text-align:left; border-bottom:2px solid var(--gray-200);
}
.data-table td {
    padding:11px 14px; border-bottom:1px solid var(--gray-100);
    color:var(--text-secondary); vertical-align:middle;
}
.data-table tr:last-child td { border-bottom:none; }
.data-table tr:hover td { background:rgba(37,99,235,.03); }
.data-table tr:nth-child(even) td { background:rgba(241,245,249,.5); }
.data-table tr:nth-child(even):hover td { background:rgba(37,99,235,.05); }

/* ========== Fleet Page Responsive ========== */
@media (min-width:768px) {
    .hero-fleet { padding:88px 0 96px; }
    .hero-fleet h1 { font-size:42px; }
    .filter-form { gap:16px; }
    .filter-select { min-width:160px; }
    .fleet-grid { grid-template-columns:repeat(2,1fr); gap:28px; }
    .fleet-img { height:200px; }
    .process-steps { grid-template-columns:repeat(5,1fr); gap:20px; }
    .step { padding:36px 20px; }
    .section-blue h2 { font-size:32px; }
}
@media (min-width:1024px) {
    .fleet-grid { grid-template-columns:repeat(2,1fr); gap:32px; }
    .fleet-img { height:220px; }
}
@media (max-width:767px) {
    .hero-fleet { padding:48px 0 56px; }
    .hero-fleet h1 { font-size:26px; }
    .hero-fleet p { font-size:13px; }
    .filter-form { flex-direction:column; }
    .filter-select { width:100%; }
    .fleet-img { height:150px; font-size:36px; }
    .fleet-body { padding:18px; }
    .fleet-body h3 { font-size:15px; }
    .fleet-price { font-size:20px; }
    .process-steps { gap:14px; }
    .step { padding:24px 16px; }
    .section-blue { padding:48px 0; }
    .section-blue h2 { font-size:22px; }
    .section-blue p { font-size:13px; }
    .hero-inner { padding:48px 0 56px; }
    .hero-inner h1 { font-size:26px; }
    .hero-inner p { font-size:13px; }
    .car-card .car-img { height:150px; font-size:36px; }
    .car-card .car-body { padding:16px; }
    .car-card .car-body h3 { font-size:15px; }
    .car-card .car-price { font-size:20px; }
    .market-card { padding:20px 16px; }
    .market-card h3 { font-size:15px; }
    .data-table { font-size:12px; }
    .data-table th, .data-table td { padding:9px 10px; }
}
@media (max-width:479px) {
    .hero-fleet h1 { font-size:22px; }
    .fleet-img { height:120px; font-size:28px; }
    .fleet-price { font-size:18px; }
}

/* ========== Utility ========== */
.text-center { text-align:center; }
.mt-16 { margin-top:16px; }
.mt-24 { margin-top:24px; }
.mt-32 { margin-top:32px; }
.mb-16 { margin-bottom:16px; }
.mb-24 { margin-bottom:24px; }
/* XIAO-AUTO inner pages (xa-* from export theme) */

.site-main.xa-inner-wrap { padding-bottom: 2.5rem; }

:root {
    --xa-navy: #0f2744;
    --xa-navy-dark: #0a1c30;
    --xa-navy-light: #1a3a5c;
    --xa-accent: #2563eb;
    --xa-accent-hover: #1d4ed8;
    --xa-accent-light: #60a5fa;
    --xa-bg: #ffffff;
    --xa-surface: #f4f6f9;
    --xa-surface-alt: #e8edf3;
    --xa-border: #d5dde8;
    --xa-text: #1a2b3c;
    --xa-muted: #5c6b7a;
    --xa-radius: 6px;
    --xa-radius-lg: 10px;
    --xa-shadow: 0 2px 8px rgba(15, 39, 68, 0.08);
    --xa-shadow-lg: 0 8px 28px rgba(15, 39, 68, 0.12);
    --xa-container: 1200px;
    --xa-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --xa-forest: #145c45;
    --xa-forest-mid: #1a6b52;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.xa-body {
    margin: 0;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

body.xa-body--inner {
    font-family: var(--xa-font);
    font-size: 16px;
    line-height: 1.6;
    color: var(--xa-text);
    background: var(--gray-50);
}

.site-main.xa-inner-wrap a {
    color: var(--xa-navy-light);
    text-decoration: none;
    transition: color 0.15s;
}
.site-main.xa-inner-wrap a:hover { color: var(--xa-accent); }

.site-main.xa-inner-wrap img { max-width: 100%; height: auto; display: block; }

.xa-container {
    width: min(100% - 2rem, var(--xa-container));
    margin-inline: auto;
}

/* Topbar */
.xa-topbar {
    background: var(--xa-navy-dark);
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.8rem;
    border-bottom: 2px solid var(--xa-accent);
}

.xa-topbar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 36px;
    flex-wrap: wrap;
    padding-block: 0.35rem;
}

.xa-topbar__contacts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
}

.xa-topbar__contacts a {
    color: rgba(255, 255, 255, 0.85);
}

.xa-topbar__contacts a:hover { color: var(--xa-accent-light); }

.xa-topbar__tools {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.xa-select {
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: var(--xa-radius);
    padding: 0.25rem 0.5rem;
    font-size: 0.8rem;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    cursor: pointer;
}

.xa-select option { color: var(--xa-text); background: #fff; }

.xa-inline-form { display: inline; margin: 0; }

/* Header */
.xa-header {
    position: sticky;
    top: 0;
    z-index: 200;
    background: var(--xa-bg);
    border-bottom: 1px solid var(--xa-border);
    box-shadow: var(--xa-shadow);
}

.xa-header__inner {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-height: 72px;
}

.xa-logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    color: var(--xa-navy);
    font-weight: 700;
    font-size: 1.2rem;
}

.xa-logo:hover { color: var(--xa-navy); }

.xa-logo img { height: 42px; width: auto; }

.xa-logo__text { letter-spacing: -0.02em; }

.xa-nav-toggle {
    display: none;
    margin-left: auto;
    width: 44px;
    height: 44px;
    border: 1px solid var(--xa-border);
    border-radius: var(--xa-radius);
    background: var(--xa-bg);
    cursor: pointer;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 0;
}

.xa-nav-toggle span {
    display: block;
    width: 20px;
    height: 2px;
    background: var(--xa-navy);
    border-radius: 1px;
    transition: transform 0.2s;
}

.xa-nav {
    display: flex;
    align-items: center;
    gap: 0.15rem;
    flex: 1;
    justify-content: center;
}

.xa-nav__link {
    padding: 0.45rem 0.75rem;
    color: var(--xa-muted);
    font-size: 0.9rem;
    font-weight: 600;
    border-radius: var(--xa-radius);
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.xa-nav__link:hover { color: var(--xa-navy); background: var(--xa-surface); }

.xa-nav__link.is-active {
    color: var(--xa-navy);
    background: var(--xa-surface);
    box-shadow: inset 0 -2px 0 var(--xa-accent);
}

.xa-header__cta { flex-shrink: 0; }

/* Buttons */
.xa-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.65rem 1.35rem;
    font-size: 0.9rem;
    font-weight: 600;
    border-radius: var(--xa-radius);
    border: 2px solid transparent;
    cursor: pointer;
    text-align: center;
    transition: background 0.15s, color 0.15s, border-color 0.15s, box-shadow 0.15s;
    line-height: 1.3;
}

.xa-btn--primary {
    background: var(--xa-accent);
    color: #fff;
    border-color: var(--xa-accent);
}

.xa-btn--primary:hover {
    background: var(--xa-accent-hover);
    border-color: var(--xa-accent-hover);
    color: #fff;
}

.xa-btn--outline {
    background: transparent;
    color: var(--xa-navy);
    border-color: var(--xa-navy);
}

.xa-btn--outline:hover {
    background: var(--xa-navy);
    color: #fff;
}

.xa-btn--ghost {
    background: transparent;
    color: var(--xa-muted);
    border-color: var(--xa-border);
}

.xa-btn--ghost:hover {
    background: var(--xa-surface);
    color: var(--xa-navy);
    border-color: var(--xa-border);
}

.xa-btn--light {
    background: #fff;
    color: var(--xa-navy);
    border-color: #fff;
}

.xa-btn--light:hover { background: var(--xa-surface); color: var(--xa-navy); }

.xa-btn--light-outline {
    background: transparent;
    color: #fff;
    border-color: rgba(255, 255, 255, 0.6);
}

.xa-btn--light-outline:hover { background: rgba(255, 255, 255, 0.12); color: #fff; }

.xa-btn--sm { padding: 0.4rem 0.9rem; font-size: 0.82rem; }

.xa-btn--block { display: flex; width: 100%; }

/* Main */
.xa-main { min-height: 50vh; }

/* Hero (home) */
.xa-hero {
    background: linear-gradient(135deg, var(--xa-navy) 0%, var(--xa-navy-light) 100%);
    color: #fff;
    padding: 3.5rem 0 4rem;
}

.xa-hero__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
    align-items: center;
}

.xa-hero__badge {
    display: inline-block;
    margin: 0 0 1rem;
    padding: 0.35rem 0.85rem;
    background: rgba(37, 99, 235, 0.15);
    border: 1px solid var(--xa-accent);
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--xa-accent-light);
}

.xa-hero h1 {
    margin: 0 0 1rem;
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.xa-hero__lead {
    margin: 0 0 1.75rem;
    font-size: 1.05rem;
    color: rgba(255, 255, 255, 0.82);
    max-width: 36em;
}

.xa-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

/* ?? Hero / ???outline?ghost ????????????????*/
.xa-hero .xa-btn--outline,
.xa-page-hero .xa-btn--outline {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.8);
    background: transparent;
}

.xa-hero .xa-btn--outline:hover,
.xa-page-hero .xa-btn--outline:hover {
    background: #fff;
    color: var(--xa-navy);
    border-color: #fff;
}

.xa-hero .xa-btn--ghost,
.xa-page-hero .xa-btn--ghost {
    color: rgba(255, 255, 255, 0.92);
    border-color: rgba(255, 255, 255, 0.4);
    background: rgba(255, 255, 255, 0.08);
}

.xa-hero .xa-btn--ghost:hover,
.xa-page-hero .xa-btn--ghost:hover {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.55);
}

.xa-hero__panel { position: relative; }

.xa-hero__img {
    width: 100%;
    border-radius: var(--xa-radius-lg);
    box-shadow: var(--xa-shadow-lg);
    border: 3px solid rgba(96, 165, 250, 0.45);
}

.xa-hero__stats {
    list-style: none;
    margin: 1.25rem 0 0;
    padding: 1rem 1.25rem;
    display: flex;
    gap: 1.5rem;
    background: rgba(0, 0, 0, 0.2);
    border-radius: var(--xa-radius-lg);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.xa-hero__stats li { text-align: center; flex: 1; }

.xa-hero__stats strong {
    display: block;
    font-size: 1.5rem;
    color: var(--xa-accent-light);
    line-height: 1.2;
}

.xa-hero__stats span {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.7);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Page hero */
.xa-page-hero {
    background: var(--xa-navy);
    color: #fff;
    padding: 2.5rem 0 2rem;
    margin-bottom: 2rem;
}

.xa-page-hero h1 {
    margin: 0.5rem 0 0.75rem;
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 800;
}

.xa-page-hero p {
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
    max-width: 40em;
}

.xa-page-hero__row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.xa-page-hero__count {
    margin: 0;
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.75);
}

.xa-page-hero__count strong {
    font-size: 1.75rem;
    color: var(--xa-accent-light);
    display: block;
    line-height: 1.2;
}

/* Breadcrumb */
.xa-breadcrumb {
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.65);
    margin-bottom: 0.5rem;
}

.xa-breadcrumb a { color: rgba(255, 255, 255, 0.8); }
.xa-breadcrumb a:hover { color: var(--xa-accent); }

.xa-detail .xa-breadcrumb,
.xa-article .xa-breadcrumb,
.xa-page-narrow .xa-breadcrumb,
.xa-legal .xa-breadcrumb {
    color: var(--xa-muted);
    padding-top: 1.5rem;
}

.xa-detail .xa-breadcrumb a,
.xa-article .xa-breadcrumb a,
.xa-page-narrow .xa-breadcrumb a,
.xa-legal .xa-breadcrumb a { color: var(--xa-muted); }

.xa-detail .xa-breadcrumb a:hover,
.xa-article .xa-breadcrumb a:hover,
.xa-page-narrow .xa-breadcrumb a:hover,
.xa-legal .xa-breadcrumb a:hover { color: var(--xa-navy); }

/* Sections */
.xa-section { padding: 3rem 0; }

.xa-section--alt { background: var(--xa-surface); }

.xa-section-title {
    margin: 0 0 1.25rem;
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--xa-navy);
    letter-spacing: -0.02em;
}

.xa-section-title--center { text-align: center; }

.xa-section-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}

.xa-section-head .xa-section-title { margin: 0; }

.xa-section-intro {
    margin: -0.5rem 0 1.5rem;
    color: var(--xa-muted);
    max-width: 42em;
}

.xa-link {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--xa-navy-light);
}

.xa-link:hover { color: var(--xa-accent); }

/* Trust grid */
.xa-trust { padding: 3.5rem 0; background: var(--xa-bg); }

.xa-trust__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
}

.xa-trust__item {
    padding: 1.5rem;
    background: var(--xa-surface);
    border: 1px solid var(--xa-border);
    border-radius: var(--xa-radius-lg);
    border-top: 3px solid var(--xa-accent);
}

.xa-trust__item h3 {
    margin: 0 0 0.5rem;
    font-size: 1rem;
    color: var(--xa-navy);
}

.xa-trust__item p { margin: 0; font-size: 0.88rem; color: var(--xa-muted); }

.xa-trust__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    margin-bottom: 0.75rem;
    background: var(--xa-navy);
    color: var(--xa-accent);
    font-weight: 800;
    font-size: 0.85rem;
    border-radius: var(--xa-radius);
}

/* Process */
.xa-process { padding: 3.5rem 0; }

.xa-process__steps {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.25rem;
}

.xa-process__steps > li {
    display: flex;
    gap: 1rem;
    padding: 1.25rem;
    background: var(--xa-bg);
    border: 1px solid var(--xa-border);
    border-radius: var(--xa-radius-lg);
    box-shadow: var(--xa-shadow);
}

.xa-process__num {
    flex-shrink: 0;
    width: 2.25rem;
    height: 2.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--xa-accent);
    color: #fff;
    font-weight: 800;
    font-size: 0.95rem;
    border-radius: 50%;
}

.xa-process__steps h3 {
    margin: 0 0 0.35rem;
    font-size: 0.95rem;
    color: var(--xa-navy);
}

.xa-process__steps p { margin: 0; font-size: 0.85rem; color: var(--xa-muted); }

/* Vehicle grid & cards */
.xa-vgrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}

.xa-vgrid--page { margin: 1.5rem 0 2.5rem; }

.xa-vgrid--related { grid-template-columns: repeat(2, 1fr); }

.xa-vcard {
    background: var(--xa-bg);
    border: 1px solid var(--xa-border);
    border-radius: var(--xa-radius-lg);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.2s, border-color 0.2s;
}

.xa-vcard:hover {
    box-shadow: var(--xa-shadow-lg);
    border-color: var(--xa-accent);
}

.xa-vcard__media {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    background: var(--xa-surface);
    overflow: hidden;
}

.xa-vcard__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.xa-vcard:hover .xa-vcard__media img { transform: scale(1.03); }

.xa-vcard__ph {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--xa-surface) 0%, var(--xa-surface-alt) 100%);
}

.xa-vcard__code {
    position: absolute;
    top: 0.65rem;
    left: 0.65rem;
    padding: 0.2rem 0.55rem;
    background: var(--xa-navy);
    color: var(--xa-accent);
    font-size: 0.72rem;
    font-weight: 700;
    border-radius: var(--xa-radius);
}

.xa-vcard__body {
    padding: 1rem 1.1rem 1.1rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.xa-vcard__brand {
    margin: 0 0 0.25rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--xa-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.xa-vcard__title {
    margin: 0 0 0.65rem;
    font-size: 1rem;
    line-height: 1.35;
}

.xa-vcard__title a { color: var(--xa-navy); }
.xa-vcard__title a:hover { color: var(--xa-accent); }

.xa-vcard__meta {
    list-style: none;
    margin: 0 0 0.85rem;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.65rem;
    font-size: 0.8rem;
    color: var(--xa-muted);
}

.xa-vcard__meta li::before { content: "\2022"; margin-right: 0.65rem; color: var(--xa-border); }
.xa-vcard__meta li:first-child::before { content: none; margin: 0; }

.xa-vcard__foot {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--xa-border);
}

.xa-vcard__price {
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--xa-navy);
}

/* Filter bar */
.xa-filter-bar {
    margin: 0 0 1.5rem;
    padding: 1.25rem;
    background: var(--xa-surface);
    border: 1px solid var(--xa-border);
    border-radius: var(--xa-radius-lg);
}

.xa-filter-bar__row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    align-items: flex-end;
}

.xa-filter-bar__actions {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.xa-field {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: 130px;
}

.xa-field--grow { flex: 1; min-width: 180px; }

.xa-field--span2 { grid-column: span 2; }

.xa-field span {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--xa-muted);
}

.xa-field input,
.xa-field select,
.xa-field textarea {
    padding: 0.55rem 0.75rem;
    border: 1px solid var(--xa-border);
    border-radius: var(--xa-radius);
    font-size: 0.9rem;
    font-family: inherit;
    background: var(--xa-bg);
    color: var(--xa-text);
    transition: border-color 0.15s, box-shadow 0.15s;
}

.xa-field input:focus,
.xa-field select:focus,
.xa-field textarea:focus {
    outline: none;
    border-color: var(--xa-navy-light);
    box-shadow: 0 0 0 3px rgba(15, 39, 68, 0.1);
}

/* Detail */
.xa-detail { padding-bottom: 3rem; }

.xa-detail__layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 2rem;
    align-items: start;
    padding-bottom: 2rem;
}

.xa-detail__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.xa-detail__head h1 {
    margin: 0;
    font-size: 1.65rem;
    color: var(--xa-navy);
}

.xa-detail__eyebrow {
    margin: 0.35rem 0 0;
    font-size: 0.88rem;
    color: var(--xa-muted);
    font-weight: 600;
}

.xa-detail__code {
    margin: 0.35rem 0 0;
    font-size: 0.82rem;
    color: var(--xa-muted);
}

.xa-detail__price {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--xa-navy);
    white-space: nowrap;
}

.xa-detail__msrp {
    margin: -0.5rem 0 1rem;
    font-size: 0.88rem;
    color: var(--xa-muted);
}

.xa-detail__chips {
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.xa-detail__chips li {
    padding: 0.3rem 0.75rem;
    background: var(--xa-surface);
    border: 1px solid var(--xa-border);
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--xa-navy);
}

.xa-detail__summary {
    margin: 0 0 1.5rem;
    color: var(--xa-muted);
    font-size: 1rem;
    line-height: 1.7;
}

.xa-contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin: 0 0 1.25rem;
}

.xa-contact-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.62rem 1.15rem;
    border: none;
    border-radius: var(--xa-radius);
    font-weight: 600;
    font-size: 0.88rem;
    line-height: 1.2;
    text-decoration: none;
    color: #fff;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(15, 39, 68, 0.12);
    transition: transform 0.15s ease, filter 0.15s ease, box-shadow 0.15s ease;
}

.xa-contact-btn:hover {
    color: #fff;
    filter: brightness(1.06);
    transform: translateY(-1px);
    box-shadow: 0 8px 22px rgba(15, 39, 68, 0.16);
}

.xa-contact-btn:focus-visible {
    outline: 2px solid var(--xa-accent);
    outline-offset: 2px;
}

.xa-contact-btn--phone {
    background: linear-gradient(165deg, #3b82f6 0%, #2563eb 50%, #1d4ed8 100%);
}

.xa-contact-btn--wechat {
    background: linear-gradient(165deg, #12d67e 0%, #07c160 45%, #059652 100%);
}

.xa-contact-btn--whatsapp {
    background: linear-gradient(165deg, #3fe67f 0%, #25d366 40%, #128c7e 100%);
}

.xa-contact-btn--telegram {
    background: linear-gradient(165deg, #4db8f5 0%, #229ed9 45%, #1577b5 100%);
}

.xa-contact-btn--email {
    background: linear-gradient(165deg, #64748b 0%, #475569 50%, #334155 100%);
}

/* Gallery */
.xa-gallery { margin-bottom: 1.5rem; }

.xa-gallery__main {
    border-radius: var(--xa-radius-lg);
    overflow: hidden;
    border: 1px solid var(--xa-border);
    background: var(--xa-surface);
    margin-bottom: 0.75rem;
}

.xa-gallery__main img {
    width: 100%;
    max-height: 480px;
    object-fit: contain;
    margin: 0 auto;
}

.xa-gallery__thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.xa-gallery__thumb {
    padding: 0;
    border: 2px solid var(--xa-border);
    border-radius: var(--xa-radius);
    overflow: hidden;
    cursor: pointer;
    background: none;
    width: 72px;
    height: 54px;
    opacity: 0.7;
    transition: border-color 0.15s, opacity 0.15s;
}

.xa-gallery__thumb.is-active,
.xa-gallery__thumb:hover {
    border-color: var(--xa-accent);
    opacity: 1;
}

.xa-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }

/* Inquiry sidebar */
.xa-inquiry { position: sticky; top: 96px; }

.xa-inquiry__card {
    padding: 1.5rem;
    background: var(--xa-navy);
    color: #fff;
    border-radius: var(--xa-radius-lg);
    box-shadow: var(--xa-shadow-lg);
}

.xa-inquiry__card h2 {
    margin: 0 0 0.65rem;
    font-size: 1.15rem;
    color: var(--xa-accent);
}

.xa-inquiry__card > p {
    margin: 0 0 1rem;
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.6;
}

.xa-inquiry__list {
    list-style: none;
    margin: 0 0 1.25rem;
    padding: 0;
}

.xa-inquiry__list li {
    padding: 0.55rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.75);
}

.xa-inquiry__list li strong {
    display: block;
    color: #fff;
    margin-bottom: 0.15rem;
}

.xa-inquiry__actions {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

/* ???????outline?ghost ??????*/
.xa-inquiry:not(.xa-inquiry--mini) .xa-inquiry__card .xa-btn--outline {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.8);
    background: transparent;
}

.xa-inquiry:not(.xa-inquiry--mini) .xa-inquiry__card .xa-btn--outline:hover {
    background: #fff;
    color: var(--xa-navy);
    border-color: #fff;
}

.xa-inquiry:not(.xa-inquiry--mini) .xa-inquiry__card .xa-btn--ghost {
    color: rgba(255, 255, 255, 0.92);
    border-color: rgba(255, 255, 255, 0.4);
    background: rgba(255, 255, 255, 0.08);
}

.xa-inquiry:not(.xa-inquiry--mini) .xa-inquiry__card .xa-btn--ghost:hover {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.55);
}

.xa-inquiry--mini .xa-inquiry__card {
    background: var(--xa-surface);
    color: var(--xa-text);
    border: 1px solid var(--xa-border);
    box-shadow: var(--xa-shadow);
}

.xa-inquiry--mini .xa-inquiry__card h2 { color: var(--xa-navy); }
.xa-inquiry--mini .xa-inquiry__card > p { color: var(--xa-muted); }

/* Tags */
.xa-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1.25rem;
}

.xa-tags span,
.xa-tag-chip {
    padding: 0.3rem 0.7rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #fff;
}

.xa-tags--cloud { padding: 1rem 0; }

.xa-tag-chip {
    background: var(--xa-surface);
    border: 1px solid var(--xa-border);
    color: var(--xa-navy);
}

.xa-tag-chip.is-active {
    background: var(--xa-navy);
    border-color: var(--xa-navy);
    color: #fff;
}

.xa-tag-chip span { color: var(--xa-muted); font-weight: 400; }
.xa-tag-chip.is-active span { color: rgba(255, 255, 255, 0.7); }

/* Blocks & prose */
.xa-block { margin-bottom: 2rem; }

.xa-block h2 {
    margin: 0 0 0.85rem;
    font-size: 1.15rem;
    color: var(--xa-navy);
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--xa-accent);
}

.xa-prose {
    line-height: 1.75;
    color: var(--xa-text);
}

.xa-prose p { margin: 0 0 1rem; }

.xa-prose h2, .xa-prose h3 {
    color: var(--xa-navy);
    margin: 1.5rem 0 0.75rem;
}

.xa-prose ul, .xa-prose ol {
    margin: 0 0 1rem;
    padding-left: 1.5rem;
}

.xa-prose a { color: var(--xa-navy-light); text-decoration: underline; }

.xa-spec-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.xa-spec-table th,
.xa-spec-table td {
    padding: 0.65rem 0.85rem;
    border: 1px solid var(--xa-border);
    text-align: left;
}

.xa-spec-table th {
    background: var(--xa-surface);
    font-weight: 700;
    color: var(--xa-navy);
    width: 38%;
}

/* News */
.xa-news-page { padding-bottom: 3rem; }

.xa-news-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 2rem;
    align-items: start;
}

.xa-news-filter {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
    margin: 0.75rem 0 0;
}

.xa-news-filter__badge {
    display: inline-block;
    padding: 0.28rem 0.65rem;
    border-radius: 999px;
    background: rgba(232, 93, 4, 0.2);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
}

.xa-news-topics {
    margin-bottom: 1.75rem;
    padding: 1.1rem 1.2rem;
    background: var(--xa-surface);
    border: 1px solid var(--xa-border);
    border-radius: var(--xa-radius-lg);
}

.xa-news-topics__title {
    margin: 0 0 0.75rem;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--xa-muted);
}

.xa-news-topics__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.xa-news-topic {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    border: 1px solid var(--xa-border);
    background: var(--xa-bg);
    color: var(--xa-text);
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none;
    transition: border-color 0.15s, background 0.15s, color 0.15s;
}

.xa-news-topic:hover {
    border-color: var(--xa-accent);
    color: var(--xa-accent);
}

.xa-news-topic.is-active {
    background: rgba(232, 93, 4, 0.1);
    border-color: var(--xa-accent);
    color: var(--xa-accent);
}

.xa-news-topic__count {
    font-size: 0.68rem;
    font-weight: 700;
    opacity: 0.65;
}

.xa-news-featured { margin-bottom: 1.5rem; }

.xa-news-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

.xa-news-card--rich {
    background: var(--xa-surface);
    border: 1px solid var(--xa-border);
    border-radius: var(--xa-radius-lg);
    overflow: hidden;
    transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s;
}

.xa-news-card--rich:hover {
    box-shadow: var(--xa-shadow-lg);
    border-color: rgba(232, 93, 4, 0.35);
    transform: translateY(-3px);
}

.xa-news-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.xa-news-card__media {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--xa-bg);
}

.xa-news-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.xa-news-card--rich:hover .xa-news-card__media img {
    transform: scale(1.04);
}

.xa-news-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 1.1rem 1.15rem 1.15rem;
}

.xa-news-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    margin-bottom: 0.5rem;
    font-size: 0.75rem;
    color: var(--xa-muted);
}

.xa-news-card__source {
    padding: 0.12rem 0.45rem;
    border-radius: 4px;
    background: var(--xa-bg);
    border: 1px solid var(--xa-border);
    font-weight: 600;
}

.xa-news-card__title {
    margin: 0 0 0.55rem;
    font-size: 1.05rem;
    line-height: 1.35;
    color: var(--xa-text);
}

.xa-news-card--featured .xa-news-card__title {
    font-size: clamp(1.2rem, 2.5vw, 1.55rem);
}

.xa-news-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 0.65rem;
}

.xa-news-card__tags span {
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    background: rgba(232, 93, 4, 0.1);
    color: var(--xa-accent);
}

.xa-news-card__excerpt {
    margin: 0 0 0.85rem;
    font-size: 0.88rem;
    line-height: 1.65;
    color: var(--xa-muted);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.xa-news-card--featured .xa-news-card__excerpt {
    -webkit-line-clamp: 4;
    font-size: 0.95rem;
}

.xa-news-card__more {
    margin-top: auto;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--xa-accent);
}

.xa-news-card--featured .xa-news-card__link {
    flex-direction: row;
}

.xa-news-card--featured .xa-news-card__media {
    flex: 0 0 48%;
    aspect-ratio: auto;
    min-height: 260px;
}

.xa-news-card--featured .xa-news-card__body {
    flex: 1;
    padding: 1.35rem 1.5rem;
    justify-content: center;
}

.xa-news-card--no-img .xa-news-card__body {
    border-top: 4px solid var(--xa-accent);
}

.xa-news-aside {
    position: sticky;
    top: 1rem;
}

.xa-news-aside-tags {
    margin-top: 1rem;
    padding: 1rem 1.1rem;
    background: var(--xa-surface);
    border: 1px solid var(--xa-border);
    border-radius: var(--xa-radius-lg);
}

.xa-news-aside-tags h3 {
    margin: 0 0 0.65rem;
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--xa-muted);
}

.xa-news-aside-tags ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.xa-news-aside-tags li { margin-bottom: 0.35rem; }

.xa-news-aside-tags a {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--xa-text);
    text-decoration: none;
}

.xa-news-aside-tags a:hover { color: var(--xa-accent); }

/* Legacy simple news card (home etc.) */
.xa-news-card:not(.xa-news-card--rich) {
    display: block;
    padding: 1.35rem;
    background: var(--xa-bg);
    border: 1px solid var(--xa-border);
    border-radius: var(--xa-radius-lg);
    border-left: 4px solid var(--xa-accent);
    transition: box-shadow 0.2s;
}

.xa-news-card:not(.xa-news-card--rich):hover {
    box-shadow: var(--xa-shadow-lg);
    color: inherit;
}

.xa-news-card:not(.xa-news-card--rich) h3 {
    margin: 0 0 0.5rem;
    font-size: 1rem;
    color: var(--xa-navy);
}

.xa-news-card:not(.xa-news-card--rich) p { margin: 0; font-size: 0.88rem; color: var(--xa-muted); }

/* CTA band */
.xa-cta-band {
    background: var(--xa-navy);
    color: #fff;
    padding: 2.5rem 0;
    margin-top: 2rem;
}

.xa-cta-band__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.xa-cta-band h2 {
    margin: 0 0 0.35rem;
    font-size: 1.35rem;
    color: var(--xa-accent-light);
}

.xa-cta-band p { margin: 0; color: rgba(255, 255, 255, 0.8); max-width: 36em; }

.xa-cta-band__actions { display: flex; gap: 0.65rem; flex-wrap: wrap; }

.xa-page-narrow .xa-cta-band {
    border-radius: var(--xa-radius-lg);
    padding: 2rem 1.5rem;
    margin: 2rem 0 3rem;
}

.xa-page-narrow .xa-cta-band__inner { padding: 0; }

/* Split layout */
.xa-split {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 2rem;
    align-items: start;
    padding: 0 0 3rem;
}

/* Article */
.xa-article { padding-bottom: 3rem; }

.xa-article h1 {
    margin: 0.5rem 0 0.75rem;
    font-size: clamp(1.5rem, 3vw, 2rem);
    color: var(--xa-navy);
}

.xa-article__meta {
    margin: 0 0 1.25rem;
    font-size: 0.85rem;
    color: var(--xa-muted);
}

.xa-article__cover {
    margin-bottom: 1.5rem;
    border-radius: var(--xa-radius-lg);
    overflow: hidden;
    border: 1px solid var(--xa-border);
}

.xa-article__lead {
    margin: 0 0 1.5rem;
    font-size: 1.05rem;
    color: var(--xa-muted);
    line-height: 1.7;
}

/* Contact page */
.xa-contact-hero .xa-contact-hero__row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.xa-contact-hero__badge {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: var(--xa-radius-lg);
    padding: 0.75rem 1.15rem;
    text-align: center;
    min-width: 6.5rem;
}

.xa-contact-hero__badge strong {
    display: block;
    font-size: 1.5rem;
    line-height: 1.1;
    color: var(--xa-accent-light);
}

.xa-contact-hero__badge span {
    display: block;
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.85);
    margin-top: 0.2rem;
}

.xa-contact-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 1.75rem;
    align-items: start;
    padding: 2.5rem 0 3.5rem;
}

.xa-contact-main {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    min-width: 0;
}

.xa-contact-panel {
    background: var(--xa-bg);
    border: 1px solid var(--xa-border);
    border-radius: var(--xa-radius-lg);
    padding: 1.5rem 1.6rem;
    box-shadow: var(--xa-shadow);
}

.xa-contact-panel--msg {
    background: linear-gradient(180deg, var(--xa-bg) 0%, var(--xa-surface) 100%);
}

.xa-contact-panel__head { margin-bottom: 1.15rem; }

.xa-contact-panel__head h2 {
    margin: 0 0 0.4rem;
    font-size: 1.2rem;
    color: var(--xa-navy);
}

.xa-contact-panel__head p {
    margin: 0;
    font-size: 0.9rem;
    color: var(--xa-muted);
    line-height: 1.6;
    max-width: 40rem;
}

.xa-contact-methods {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.85rem;
}

.xa-contact-method {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 1rem 1.05rem;
    border: 1px solid var(--xa-border);
    border-radius: var(--xa-radius);
    background: var(--xa-surface);
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s, background 0.15s, transform 0.15s, box-shadow 0.15s;
}

a.xa-contact-method:hover {
    border-color: var(--xa-accent);
    background: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(15, 39, 68, 0.08);
}

.xa-contact-method--static { cursor: default; }

.xa-contact-method__icon {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--xa-navy-light), var(--xa-navy));
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.xa-contact-method__body { min-width: 0; }

.xa-contact-method__label {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--xa-muted);
    margin-bottom: 0.2rem;
}

.xa-contact-method__value {
    display: block;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--xa-navy);
    line-height: 1.4;
    word-break: break-word;
}

a.xa-contact-method .xa-contact-method__value { color: var(--xa-navy-light); }

.xa-contact-msg-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.25rem;
    align-items: start;
}

.xa-contact-msg-actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.xa-contact-msg-btn {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.9rem 1rem;
    border: none;
    border-radius: var(--xa-radius);
    text-decoration: none;
    color: #fff;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
    transition: transform 0.15s, filter 0.15s, box-shadow 0.15s;
    box-shadow: 0 4px 16px rgba(15, 39, 68, 0.12);
}

.xa-contact-msg-btn:hover {
    color: #fff;
    filter: brightness(1.05);
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(15, 39, 68, 0.16);
}

.xa-contact-msg-btn strong {
    display: block;
    font-size: 0.95rem;
    margin-bottom: 0.15rem;
}

.xa-contact-msg-btn small {
    display: block;
    font-size: 0.78rem;
    opacity: 0.9;
    line-height: 1.4;
}

.xa-contact-msg-btn__icon {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    background: rgba(0, 0, 0, 0.15);
}

.xa-contact-msg-btn--wa {
    background: linear-gradient(165deg, #3fe67f 0%, #25d366 40%, #128c7e 100%);
}

.xa-contact-msg-btn--tg {
    background: linear-gradient(165deg, #4db8f5 0%, #229ed9 45%, #1577b5 100%);
}

.xa-contact-msg-btn--wc {
    background: linear-gradient(165deg, #12d67e 0%, #07c160 45%, #059652 100%);
}

.xa-contact-wechat {
    text-align: center;
    padding: 0.85rem;
    border: 1px dashed var(--xa-border);
    border-radius: var(--xa-radius);
    background: var(--xa-bg);
}

.xa-contact-wechat__btn {
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    border-radius: var(--xa-radius);
    transition: transform 0.15s;
}

.xa-contact-wechat__btn:hover { transform: scale(1.03); }

.xa-contact-wechat img {
    display: block;
    width: 140px;
    height: 140px;
    object-fit: contain;
    border-radius: var(--xa-radius);
    border: 1px solid var(--xa-border);
    margin: 0 auto;
}

.xa-contact-wechat span {
    display: block;
    margin-top: 0.55rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--xa-muted);
}

.xa-contact-demand-link {
    margin: 1.15rem 0 0;
    padding-top: 1rem;
    border-top: 1px solid var(--xa-border);
    font-size: 0.88rem;
}

.xa-contact-demand-link a {
    font-weight: 600;
    color: var(--xa-accent);
    text-decoration: none;
}

.xa-contact-demand-link a:hover { color: var(--xa-accent-hover); text-decoration: underline; }

.xa-contact-empty {
    padding: 2.5rem 1.5rem;
    text-align: center;
    background: var(--xa-surface);
    border: 1px dashed var(--xa-border);
    border-radius: var(--xa-radius-lg);
    color: var(--xa-muted);
}

.xa-contact-aside {
    position: sticky;
    top: 96px;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.xa-contact-aside__card {
    padding: 1.5rem;
    background: var(--xa-navy);
    color: #fff;
    border-radius: var(--xa-radius-lg);
    box-shadow: var(--xa-shadow-lg);
}

.xa-contact-aside__card h3 {
    margin: 0 0 1rem;
    font-size: 1.1rem;
    color: var(--xa-accent-light);
}

.xa-contact-aside__trust {
    list-style: none;
    margin: 0 0 1.25rem;
    padding: 0;
}

.xa-contact-aside__trust li {
    padding: 0.6rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.75);
}

.xa-contact-aside__trust li:last-child { border-bottom: none; }

.xa-contact-aside__trust strong {
    display: block;
    color: #fff;
    margin-bottom: 0.15rem;
    font-size: 0.9rem;
}

.xa-contact-aside__links {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.xa-contact-aside__card .xa-btn--outline {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.8);
    background: transparent;
}

.xa-contact-aside__card .xa-btn--outline:hover {
    background: #fff;
    color: var(--xa-navy);
    border-color: #fff;
}

.xa-contact-tip {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 1rem 1.1rem;
    background: var(--xa-surface);
    border: 1px solid var(--xa-border);
    border-left: 3px solid var(--xa-accent);
    border-radius: var(--xa-radius);
    font-size: 0.85rem;
    color: var(--xa-muted);
    line-height: 1.55;
}

.xa-contact-tip p { margin: 0; }

.xa-contact-tip__icon {
    flex-shrink: 0;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 999px;
    background: var(--xa-accent);
    color: #fff;
    font-size: 0.82rem;
    font-weight: 800;
    font-style: italic;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

/* Values */
.xa-values {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    margin: 2rem 0;
}

.xa-values__item {
    padding: 1.35rem;
    background: var(--xa-surface);
    border: 1px solid var(--xa-border);
    border-radius: var(--xa-radius-lg);
}

.xa-values__item h3 {
    margin: 0 0 0.5rem;
    font-size: 1rem;
    color: var(--xa-navy);
}

.xa-values__item p { margin: 0; font-size: 0.88rem; color: var(--xa-muted); }

.xa-body-text {
    margin: 0 0 1.25rem;
    color: var(--xa-muted);
    line-height: 1.75;
}

/* FAQ / Help */
.xa-help-layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 2rem;
    align-items: start;
    padding-bottom: 3rem;
}

.xa-help-aside {
    position: sticky;
    top: 1rem;
}

.xa-help-toc {
    margin-bottom: 1rem;
    padding: 1rem 1.1rem;
    background: var(--xa-surface);
    border: 1px solid var(--xa-border);
    border-radius: var(--xa-radius-lg);
}

.xa-help-toc h2 {
    margin: 0 0 0.65rem;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--xa-muted);
}

.xa-help-toc ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.xa-help-toc a {
    display: block;
    padding: 0.4rem 0;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--xa-text);
    text-decoration: none;
}

.xa-help-toc a:hover { color: var(--xa-accent); }

.xa-help-aside-card { margin-top: 0; }

.xa-help-lastmod {
    margin: 0.5rem 0 0;
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.72);
}

.xa-help-search {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1.25rem;
    padding: 0.75rem 1rem;
    background: var(--xa-surface);
    border: 1px solid var(--xa-border);
    border-radius: var(--xa-radius-lg);
}

.xa-help-search__label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.xa-help-search__input {
    flex: 1;
    min-width: 12rem;
    border: 1px solid var(--xa-border);
    border-radius: var(--xa-radius);
    padding: 0.55rem 0.75rem;
    font: inherit;
    font-size: 0.9rem;
}

.xa-help-search__clear {
    border: 1px solid var(--xa-border);
    background: var(--xa-bg);
    border-radius: var(--xa-radius);
    padding: 0.45rem 0.75rem;
    font: inherit;
    font-size: 0.82rem;
    cursor: pointer;
}

.xa-help-search__clear.is-hidden,
.xa-help-search-empty.is-hidden,
.xa-faq-item.is-hidden,
.xa-faq-group.is-hidden,
.xa-faq-copy-feedback.is-hidden { display: none !important; }

.xa-help-search-empty {
    margin: -0.5rem 0 1.25rem;
    padding: 1rem;
    text-align: center;
    font-size: 0.88rem;
    color: var(--xa-muted);
    background: var(--xa-surface);
    border: 1px dashed var(--xa-border);
    border-radius: var(--xa-radius);
}

.xa-faq-group {
    margin-bottom: 2rem;
    scroll-margin-top: 1rem;
}

.xa-faq-item {
    border: 1px solid var(--xa-border);
    border-radius: var(--xa-radius);
    margin-bottom: 0.5rem;
    background: var(--xa-bg);
    overflow: hidden;
    scroll-margin-top: 1rem;
}

.xa-faq-item summary,
.xa-faq-q {
    padding: 1rem 1.15rem;
    font-weight: 600;
    color: var(--xa-navy);
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.45;
}

.xa-faq-item summary::-webkit-details-marker { display: none; }

.xa-faq-item summary::after {
    content: "+";
    font-size: 1.2rem;
    color: var(--xa-accent);
    font-weight: 400;
}

.xa-faq-item[open] summary::after { content: "\2212"; }

.xa-faq-item[open] summary { background: var(--xa-surface); }

.xa-faq-a {
    padding: 0 1.15rem 1rem;
    font-size: 0.9rem;
    color: var(--xa-muted);
    line-height: 1.7;
    border-top: 1px solid var(--xa-border);
}

.xa-faq-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 0.85rem;
    padding-top: 0.75rem;
    border-top: 1px dashed var(--xa-border);
    font-size: 0.78rem;
}

.xa-faq-permalink {
    color: var(--xa-accent);
    font-weight: 700;
    text-decoration: none;
}

.xa-faq-permalink:hover { text-decoration: underline; }

.xa-faq-copy-feedback {
    color: var(--xa-muted);
    font-weight: 600;
}


/* Form */
.xa-form { margin-bottom: 2rem; }

.xa-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.xa-form--lookup {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: flex-end;
}

.xa-form--lookup .xa-field { flex: 1; min-width: 200px; }

.xa-honeypot {
    position: absolute;
    left: -9999px;
    opacity: 0;
    pointer-events: none;
}

/* Alerts & empty */
.xa-alert {
    padding: 0.85rem 1.15rem;
    border-radius: var(--xa-radius);
    margin-bottom: 1.25rem;
    font-size: 0.9rem;
}

.xa-alert--ok {
    background: #ecfdf5;
    border: 1px solid #6ee7b7;
    color: #065f46;
}

.xa-alert--err {
    background: #fef2f2;
    border: 1px solid #fca5a5;
    color: #991b1b;
}

.xa-empty {
    text-align: center;
    padding: 3rem 1.5rem;
    color: var(--xa-muted);
}

.xa-empty p { margin: 0 0 1.25rem; }

/* Pager */
.xa-pager {
    display: flex;
    justify-content: center;
    gap: 0.35rem;
    margin: 2rem 0 3rem;
}

.xa-pager a,
.xa-pager span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    height: 2.25rem;
    padding: 0 0.5rem;
    border: 1px solid var(--xa-border);
    border-radius: var(--xa-radius);
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--xa-navy);
}

.xa-pager a:hover { background: var(--xa-surface); border-color: var(--xa-navy); }

.xa-pager .is-current {
    background: var(--xa-navy);
    border-color: var(--xa-navy);
    color: #fff;
}

/* Me / settings */
.xa-me-card {
    border: 1px solid var(--xa-border);
    border-radius: var(--xa-radius-lg);
    overflow: hidden;
    margin-bottom: 1rem;
}

.xa-me-card__hd {
    padding: 0.75rem 1.15rem;
    background: var(--xa-navy);
    color: var(--xa-accent);
    font-weight: 700;
    font-size: 0.88rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.xa-me-card__bd { padding: 1rem 1.15rem; }

.xa-me-options { display: flex; flex-wrap: wrap; gap: 0.5rem; }

.xa-me-opt {
    padding: 0.5rem 1rem;
    border: 1px solid var(--xa-border);
    border-radius: var(--xa-radius);
    font-weight: 600;
    font-size: 0.88rem;
    color: var(--xa-muted);
}

.xa-me-opt:hover { border-color: var(--xa-navy); color: var(--xa-navy); }

.xa-me-opt.is-on {
    background: var(--xa-navy);
    border-color: var(--xa-navy);
    color: #fff;
}

.xa-dl { margin: 0; }

.xa-dl > div {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 0.5rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--xa-border);
}

.xa-dl dt {
    font-weight: 700;
    font-size: 0.82rem;
    color: var(--xa-muted);
    text-transform: uppercase;
}

.xa-dl dd { margin: 0; font-weight: 600; color: var(--xa-navy); }

/* Legal */
.xa-legal { padding-bottom: 3rem; }

.xa-legal-nav__list {
    list-style: none;
    margin: 0.75rem 0 0;
    padding: 0;
}

.xa-legal-nav__list a {
    display: block;
    padding: 0.4rem 0;
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--xa-muted);
}

.xa-legal-nav__list a.is-active { color: var(--xa-accent); font-weight: 700; }

.xa-legal-content h1 {
    margin: 0.5rem 0 1.25rem;
    font-size: 1.65rem;
    color: var(--xa-navy);
}

/* Bullets */
.xa-bullets {
    margin: 0 0 1.25rem;
    padding-left: 1.25rem;
    color: var(--xa-muted);
}

.xa-bullets li { margin-bottom: 0.5rem; }
.xa-bullets strong { color: var(--xa-navy); }

/* Back link */
.xa-back { margin: 1rem 0 0; font-size: 0.88rem; }
.xa-back a { color: var(--xa-muted); font-weight: 600; }
.xa-back a:hover { color: var(--xa-navy); }

.xa-page-narrow {
    max-width: 800px;
    padding-bottom: 2rem;
}

/* Footer */
.xa-footer {
    background: var(--xa-navy-dark);
    color: rgba(255, 255, 255, 0.75);
    margin-top: 3rem;
    padding-top: 3rem;
}

.xa-footer__grid {
    display: grid;
    grid-template-columns: 1.4fr repeat(3, 1fr);
    gap: 2rem;
    padding-bottom: 2.5rem;
}

.xa-footer h3,
.xa-footer h4 {
    margin: 0 0 0.85rem;
    font-size: 0.88rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--xa-accent-light);
}

.xa-footer p {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.65;
    max-width: 22em;
}

.xa-footer a {
    display: block;
    padding: 0.2rem 0;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.7);
}

.xa-footer a:hover { color: var(--xa-accent-light); }

.xa-footer__bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 1.15rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.55);
}

.xa-footer__bar a {
    display: inline;
    margin-left: 1rem;
    color: rgba(255, 255, 255, 0.65);
}

/* Responsive */
@media (max-width: 1024px) {
    .xa-hero__grid { grid-template-columns: 1fr; }
    .xa-hero__panel { order: -1; max-width: 480px; }
    .xa-trust__grid { grid-template-columns: repeat(2, 1fr); }
    .xa-vgrid { grid-template-columns: repeat(2, 1fr); }
    .xa-news-grid { grid-template-columns: repeat(2, 1fr); }
    .xa-detail__layout,
    .xa-split { grid-template-columns: 1fr; }
    .xa-inquiry { position: static; order: -1; }
    .xa-footer__grid { grid-template-columns: repeat(2, 1fr); }
    .xa-contact-layout { grid-template-columns: 1fr; }
    .xa-contact-aside { position: static; order: -1; }
    .xa-contact-msg-grid { grid-template-columns: 1fr; }
    .xa-contact-wechat { max-width: 200px; }
    .xa-values { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
    .xa-nav-toggle { display: flex; }

    .xa-nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        flex-direction: column;
        background: var(--xa-bg);
        border-bottom: 1px solid var(--xa-border);
        padding: 0.75rem 1rem 1rem;
        box-shadow: var(--xa-shadow-lg);
        align-items: stretch;
    }

    .xa-nav.is-open { display: flex; }

    .xa-header { position: relative; }
    .xa-header__inner { flex-wrap: wrap; position: relative; }

    .xa-header__cta { display: none; }

    .xa-nav__link { padding: 0.65rem 0.75rem; }

    .xa-trust__grid,
    .xa-vgrid,
    .xa-vgrid--related,
    .xa-news-grid,
    .xa-contact-methods { grid-template-columns: 1fr; }
    .xa-values,
    .xa-process__steps { grid-template-columns: 1fr; }

    .xa-hero__stats { flex-direction: column; gap: 0.75rem; }

    .xa-hero__actions .xa-btn { flex: 1; min-width: 140px; }

    .xa-filter-bar__row { flex-direction: column; }
    .xa-field { width: 100%; min-width: 0; }

    .xa-form-grid { grid-template-columns: 1fr; }
    .xa-field--span2 { grid-column: span 1; }

    .xa-cta-band__inner { flex-direction: column; align-items: flex-start; }

    .xa-footer__grid { grid-template-columns: 1fr; }

    .xa-detail__head { flex-direction: column; }
    .xa-detail__price { font-size: 1.4rem; }

    .xa-contact-actions { flex-direction: column; }
    .xa-contact-btn { width: 100%; }

    .xa-topbar__inner { justify-content: center; text-align: center; }
    .xa-topbar__contacts { justify-content: center; }
}

@media (max-width: 480px) {
    .xa-container { width: min(100% - 1.25rem, var(--xa-container)); }
    .xa-hero { padding: 2.5rem 0 3rem; }
    .xa-page-hero { padding: 2rem 0 1.5rem; }
}

/* WeChat QR modal */
.xa-wechat-modal {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.xa-wechat-modal[hidden] { display: none; }

.xa-wechat-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 39, 68, 0.55);
}

.xa-wechat-modal__dialog {
    position: relative;
    width: min(100%, 380px);
    background: var(--xa-bg);
    border-radius: var(--xa-radius-lg);
    box-shadow: var(--xa-shadow-lg);
    overflow: hidden;
}

.xa-wechat-modal__header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 1.25rem 1rem;
    background: linear-gradient(135deg, #059652, #07c160);
    color: #fff;
}

.xa-wechat-modal__header h2 {
    margin: 0;
    font-size: 1.15rem;
}

.xa-wechat-modal__header p {
    margin: 0.35rem 0 0;
    font-size: 0.85rem;
    opacity: 0.92;
}

.xa-wechat-modal__close {
    border: none;
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
    flex-shrink: 0;
}

.xa-wechat-modal__body {
    padding: 1.25rem;
    text-align: center;
}

.xa-wechat-modal__body > img {
    max-width: 220px;
    width: 100%;
    border-radius: var(--xa-radius);
    border: 1px solid var(--xa-border);
}

.xa-wechat-modal__copy {
    margin-top: 1rem;
    text-align: left;
}

.xa-wechat-modal__copy p {
    margin: 0 0 0.5rem;
    font-size: 0.85rem;
    color: var(--xa-muted);
}

.xa-wechat-modal__text {
    width: 100%;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--xa-border);
    border-radius: var(--xa-radius);
    font-size: 0.85rem;
    resize: vertical;
    font-family: inherit;
}

/* vehicles list + advanced filters */
/* vehicles list + advanced filters */
/* vehicles list */
.xa-veh-hero { padding: 1.75rem 1.5rem; }
.xa-veh-hero__inner {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.25rem;
    flex-wrap: wrap;
}
.xa-veh-hero__stat {
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 12px;
    padding: 0.65rem 1rem;
    text-align: center;
    min-width: 5.5rem;
}
.xa-veh-hero__stat strong {
    display: block;
    font-size: 1.5rem;
    line-height: 1.1;
    color: var(--xa-accent);
}
.xa-veh-hero__stat span { font-size: 0.78rem; opacity: 0.9; }
.xa-veh-layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
    margin: 1.5rem 0 2.5rem;
}
.xa-veh-layout--adv { grid-template-columns: 340px minmax(0, 1fr); }
.xa-veh-layout--wide { grid-template-columns: 1fr; }
.xa-veh-sidebar { position: sticky; top: 1rem;
    background: #fff;
    border: 1px solid #dde5e0;
    border-radius: 14px;
    padding: 1rem;
    box-shadow: 0 8px 28px rgba(15, 39, 68, 0.06);
    max-height: calc(100vh - 6.5rem);
    overflow-y: auto;
}
.xa-veh-sidebar__head {
    display: none;
    align-items: center;
    justify-content: space-between;
    font-weight: 800;
    color: var(--xa-forest);
    margin-bottom: 0.75rem;
}
.xa-veh-sidebar__close {
    border: 0;
    background: transparent;
    font-size: 1.5rem;
    line-height: 1;
    color: var(--xa-muted);
    cursor: pointer;
}
.xa-veh-field { margin-bottom: 0.85rem; }
.xa-veh-field label {
    display: block;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--xa-muted);
    margin-bottom: 0.3rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.xa-veh-field input,
.xa-veh-field select {
    width: 100%;
    border: 1px solid #c5d4ce;
    border-radius: 8px;
    padding: 0.45rem 0.6rem;
    font: inherit;
    font-size: 0.88rem;
    background: #fff;
}
.xa-veh-field--row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
}
.xa-veh-field--full { grid-column: 1 / -1; }
.xa-veh-search-box {
    margin-bottom: 0.85rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid #e8efeb;
}
.xa-veh-search-box label {
    display: block;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--xa-muted);
    margin-bottom: 0.35rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.xa-veh-search-box input {
    width: 100%;
    border: 1px solid #b8cfc4;
    border-radius: 10px;
    padding: 0.55rem 0.7rem;
    font: inherit;
    font-size: 0.9rem;
    background: #f8faf9;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.xa-veh-search-box input:focus {
    outline: none;
    border-color: var(--xa-forest);
    box-shadow: 0 0 0 3px rgba(20, 92, 69, 0.12);
    background: #fff;
}
.xa-veh-filter-group {
    border: 1px solid #e4ebe7;
    border-radius: 12px;
    margin-bottom: 0.75rem;
    overflow: hidden;
    background: #fafcfb;
}
.xa-veh-filter-group--adv {
    border-color: #c5d9cf;
    background: linear-gradient(180deg, #f4faf7 0%, #fff 100%);
}
.xa-veh-filter-group__hd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    border: 0;
    background: transparent;
    padding: 0.6rem 0.75rem;
    font: inherit;
    font-size: 0.82rem;
    font-weight: 800;
    color: var(--xa-forest);
    cursor: pointer;
    text-align: left;
}
.xa-veh-filter-group__hd em.xa-veh-filter-group__badge {
    display: inline-block;
    font-style: normal;
    font-size: 0.68rem;
    font-weight: 800;
    background: var(--xa-accent);
    color: var(--xa-forest);
    border-radius: 999px;
    padding: 0.1rem 0.45rem;
    margin-left: 0.35rem;
    vertical-align: middle;
}
.xa-veh-filter-group__icon::before {
    content: '';
    display: inline-block;
    width: 0.45rem;
    height: 0.45rem;
    border-right: 2px solid var(--xa-muted);
    border-bottom: 2px solid var(--xa-muted);
    transform: rotate(45deg);
    transition: transform 0.18s;
}
.xa-veh-filter-group.is-open .xa-veh-filter-group__icon::before {
    transform: rotate(-135deg);
    margin-top: 0.2rem;
}
.xa-veh-filter-group__bd {
    display: none;
    padding: 0 0.75rem 0.75rem;
}
.xa-veh-filter-group.is-open .xa-veh-filter-group__bd { display: block; }
.xa-veh-filter-group--adv .xa-veh-filter-group__bd { padding: 0 0.5rem 0.65rem; }
.xa-adv-intro {
    margin: 0 0 0.55rem;
    padding: 0 0.25rem;
    font-size: 0.74rem;
    color: var(--xa-muted);
    line-height: 1.45;
}
.xa-adv-empty,
.xa-adv-hint {
    margin: 0;
    font-size: 0.76rem;
    color: var(--xa-muted);
    line-height: 1.45;
}
.xa-adv-hint { margin-bottom: 0.5rem; }
.xa-adv-layout {
    display: grid;
    grid-template-columns: 5.5rem minmax(0, 1fr);
    gap: 0.45rem;
    min-height: 220px;
    max-height: 340px;
}
.xa-adv-nav {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    overflow-y: auto;
    padding-right: 0.15rem;
}
.xa-adv-nav__item {
    border: 0;
    background: transparent;
    text-align: left;
    font: inherit;
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--xa-muted);
    padding: 0.38rem 0.42rem;
    border-radius: 8px;
    cursor: pointer;
    line-height: 1.3;
    transition: background 0.12s, color 0.12s;
}
.xa-adv-nav__item:hover { background: #e8f2ec; color: var(--xa-forest); }
.xa-adv-nav__item.is-active {
    background: var(--xa-forest);
    color: #fff;
}
.xa-adv-body {
    min-width: 0;
    border: 1px solid #dde5e0;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
}
.xa-adv-scroll {
    max-height: 340px;
    overflow-y: auto;
    padding: 0.55rem 0.6rem 0.65rem;
}
.xa-adv-section { margin-bottom: 0.85rem; }
.xa-adv-section:last-child { margin-bottom: 0; }
.xa-adv-section__title {
    font-size: 0.76rem;
    font-weight: 800;
    color: var(--xa-forest);
    margin-bottom: 0.45rem;
    padding-bottom: 0.3rem;
    border-bottom: 1px dashed #e0e9e4;
}
.xa-adv-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}
.xa-adv-chip {
    border: 1px solid #c5d4ce;
    background: #f8faf9;
    color: var(--xa-text);
    font: inherit;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.28rem 0.55rem;
    border-radius: 999px;
    cursor: pointer;
    transition: border-color 0.12s, background 0.12s, color 0.12s;
}
.xa-adv-chip:hover {
    border-color: var(--xa-forest-mid);
    background: #eef6f1;
}
.xa-adv-chip.is-active {
    border-color: var(--xa-forest);
    background: #e8f5ef;
    color: var(--xa-forest);
    font-weight: 800;
}
.xa-adv-chip.is-hidden { display: none !important; }
.xa-adv-opt-filter {
    width: 100%;
    border: 1px solid #c5d4ce;
    border-radius: 8px;
    padding: 0.35rem 0.5rem;
    font: inherit;
    font-size: 0.78rem;
    margin-bottom: 0.45rem;
}
.xa-adv-section .xa-veh-field { margin-bottom: 0; }
.xa-veh-filter-actions {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.5rem;
    position: sticky;
    bottom: 0;
    background: #fff;
    padding-top: 0.5rem;
    border-top: 1px solid #e8efeb;
}
.xa-btn--block { display: block; width: 100%; text-align: center; }
.xa-veh-clear {
    text-align: center;
    font-size: 0.82rem;
    color: var(--xa-muted);
    text-decoration: none;
}
.xa-veh-clear:hover { color: var(--xa-forest); }
.xa-veh-main { min-width: 0; }
.xa-veh-active-chips {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.75rem;
    padding: 0.55rem 0.65rem;
    background: #f4f8f6;
    border: 1px solid #dde5e0;
    border-radius: 12px;
}
.xa-veh-active-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.74rem;
    font-weight: 600;
    color: var(--xa-forest);
    background: #fff;
    border: 1px solid #b8cfc4;
    border-radius: 999px;
    padding: 0.22rem 0.55rem 0.22rem 0.65rem;
    text-decoration: none;
    transition: border-color 0.12s, background 0.12s;
}
.xa-veh-active-chip:hover {
    border-color: var(--xa-forest);
    background: #e8f5ef;
}
.xa-veh-active-chip__x {
    font-size: 0.95rem;
    line-height: 1;
    opacity: 0.65;
}
.xa-veh-active-clear {
    font-size: 0.74rem;
    font-weight: 700;
    color: var(--xa-muted);
    text-decoration: none;
    margin-left: 0.15rem;
}
.xa-veh-active-clear:hover { color: var(--xa-forest); }
.xa-veh-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
    padding: 0.65rem 0.85rem;
    background: #fff;
    border: 1px solid #dde5e0;
    border-radius: 12px;
}
.xa-veh-filter-toggle,
.xa-veh-adv-jump {
    display: none;
    color: var(--xa-forest) !important;
    border-color: var(--xa-forest) !important;
}
.xa-veh-filter-toggle__badge {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 800;
    background: var(--xa-accent);
    color: var(--xa-forest);
    border-radius: 999px;
    padding: 0.05rem 0.4rem;
    margin-left: 0.2rem;
    vertical-align: middle;
}
.xa-veh-sort {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-left: auto;
}
.xa-veh-sort label { font-size: 0.8rem; color: var(--xa-muted); font-weight: 600; }
.xa-veh-sort select {
    border: 1px solid #c5d4ce;
    border-radius: 8px;
    padding: 0.3rem 0.5rem;
    font-size: 0.85rem;
    background: #fff;
}
.xa-veh-toolbar__count {
    font-size: 0.82rem;
    color: var(--xa-muted);
    font-weight: 600;
}
.xa-veh-empty {
    text-align: center;
    padding: 3rem 1.5rem;
    background: #fff;
    border: 1px dashed #c5d4ce;
    border-radius: 14px;
    color: var(--xa-muted);
}
.xa-veh-pager { justify-content: center; margin-top: 2rem; }
.xa-veh-sidebar-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(15, 39, 68, 0.45);
    z-index: 200;
}
body.xa-veh-filter-open { overflow: hidden; }
@media (max-width: 991px) {
    .xa-veh-layout,
    .xa-veh-layout--adv { grid-template-columns: 1fr; }
    .xa-veh-sidebar {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: min(360px, 94vw);
        max-height: none;
        z-index: 210;
        border-radius: 0;
        transform: translateX(-105%);
        transition: transform 0.22s ease;
        overflow-y: auto;
    }
    .xa-veh-sidebar.is-open { transform: translateX(0); }
    .xa-veh-sidebar__head { display: flex; }
    .xa-veh-sidebar-backdrop { display: block; }
    .xa-veh-sidebar-backdrop[hidden] { display: none; }
    .xa-veh-filter-toggle,
    .xa-veh-adv-jump { display: inline-block; }
    .xa-veh-sort { margin-left: 0; flex: 1; justify-content: flex-end; }
    .xa-veh-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .xa-adv-layout {
        grid-template-columns: 1fr;
        max-height: none;
    }
    .xa-adv-nav {
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 0.25rem;
    }
    .xa-adv-nav__item { white-space: nowrap; flex-shrink: 0; }
    .xa-adv-scroll { max-height: 280px; }
}
@media (max-width: 640px) {
    .xa-veh-list { grid-template-columns: 1fr; }
}
@media (min-width: 992px) {
    .xa-veh-filter-toggle { display: none !important; }
    .xa-veh-adv-jump { display: inline-block; }
}

/* Mobile polish ??unified nav breakpoint, help/news layout, touch targets */
@media (max-width: 991px) {
    .xa-nav-toggle { display: flex; }
    .xa-nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        flex-direction: column;
        background: var(--xa-bg);
        border-bottom: 1px solid var(--xa-border);
        padding: 0.75rem 1rem 1rem;
        box-shadow: var(--xa-shadow-lg);
        align-items: stretch;
        z-index: 50;
    }
    .xa-nav.is-open { display: flex; }
    .xa-header {
        position: sticky;
        top: 0;
        z-index: 100;
    }
    .xa-header__inner { flex-wrap: wrap; position: relative; }
    .xa-header__cta { display: none; }
    .xa-nav__link {
        padding: 0.75rem;
        min-height: 2.75rem;
        display: flex;
        align-items: center;
    }
    .xa-nav__link--cta {
        margin-top: 0.35rem;
        justify-content: center;
        background: var(--xa-accent);
        color: #fff !important;
        border-radius: var(--xa-radius);
        font-weight: 700;
    }
    .xa-help-layout,
    .xa-news-layout { grid-template-columns: 1fr; gap: 1.25rem; }
    .xa-help-aside { position: static; }
    .xa-help-toc { max-height: 14rem; overflow-y: auto; }
    .xa-news-card--featured { flex-direction: column; }
    .xa-news-card--featured .xa-news-card__media { width: 100%; max-height: 220px; }
    .xa-gallery__thumbs {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .xa-gallery__thumb { flex: 0 0 72px; min-height: 54px; }
    .xa-spec-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .xa-container { width: min(100% - 1.25rem, var(--xa-container)); }
}
@media (max-width: 768px) {
    .xa-header { position: sticky; top: 0; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}

/* ========== Inner pages: shared buttons ========== */
.xa-page-btn {
    display:inline-flex; align-items:center; justify-content:center; gap:6px;
    padding:10px 18px; border-radius:var(--radius-sm);
    font-size:14px; font-weight:600; text-decoration:none;
    transition:background .2s, color .2s, border-color .2s, transform .2s;
    border:1.5px solid transparent; cursor:pointer; line-height:1.3;
}
.xa-page-btn--primary { background:var(--primary); color:#fff; border-color:var(--primary); }
.xa-page-btn--primary:hover { background:var(--primary-dark); border-color:var(--primary-dark); transform:translateY(-1px); }
.xa-page-btn--outline { background:#fff; color:var(--primary); border-color:var(--primary); }
.xa-page-btn--outline:hover { background:var(--primary); color:#fff; }
.xa-page-btn--block { width:100%; display:flex; margin-top:8px; }
.xa-page-btn--block:first-of-type { margin-top:0; }

/* ========== Inner pages: News / About / Help ========== */
.section-eyebrow--light { color: rgba(255,255,255,.75); }
.visually-hidden {
    position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* --- News --- */
.nw-filter-wrap { padding-top:0 !important; padding-bottom:0 !important; background:#fff; border-bottom:1px solid var(--gray-200); }
.nw-filter-bar {
    padding:16px 0; position:sticky; top:60px; z-index:50;
    background:rgba(255,255,255,.96); backdrop-filter:blur(8px);
}
.nw-filter-bar__label {
    display:block; font-size:12px; font-weight:600; color:var(--text-muted);
    text-transform:uppercase; letter-spacing:.08em; margin-bottom:10px;
}
.nw-tag-bar { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.nw-tag-pill {
    display:inline-flex; align-items:center; gap:6px;
    padding:8px 14px; border-radius:999px; font-size:13px; font-weight:600;
    background:var(--gray-100); color:var(--text-secondary);
    border:1px solid var(--gray-200); text-decoration:none; transition:all .2s;
}
.nw-tag-pill:hover { border-color:var(--primary); color:var(--primary); background:#eff6ff; }
.nw-tag-pill.is-active { background:var(--primary); border-color:var(--primary); color:#fff; }
.nw-tag-pill__count { font-size:11px; opacity:.85; }
.nw-filter-hint { margin:12px 0 0; font-size:13px; color:var(--text-muted); }
.nw-filter-hint a { color:var(--primary); font-weight:600; }
.nw-page { padding:36px 0 48px; }
.nw-layout {
    display:grid; grid-template-columns:1fr; gap:28px; align-items:start;
}
.nw-featured { position:relative; margin-bottom:28px; }
.nw-featured__badge {
    position:absolute; top:16px; left:16px; z-index:2;
    background:var(--orange); color:#fff; font-size:11px; font-weight:700;
    padding:5px 12px; border-radius:999px; letter-spacing:.04em; text-transform:uppercase;
}
.nw-grid {
    display:grid; grid-template-columns:1fr; gap:20px;
}
.nw-page .xa-news-card--rich {
    background:var(--white); border:1px solid var(--gray-200);
    border-radius:var(--radius-lg); overflow:hidden;
    box-shadow:var(--shadow-sm);
    transition:transform .25s, box-shadow .25s, border-color .25s;
}
.nw-page .xa-news-card--rich:hover {
    transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:#bfdbfe;
}
.nw-page .xa-news-card__body { padding:18px 20px 20px; }
.nw-page .xa-news-card__title { font-size:16px; font-weight:700; line-height:1.4; color:var(--text); }
.nw-page .xa-news-card--featured .xa-news-card__link {
    display:grid; grid-template-columns:1fr;
}
.nw-page .xa-news-card--featured .xa-news-card__media { aspect-ratio:21/9; max-height:320px; }
.nw-page .xa-news-card--featured .xa-news-card__title { font-size:22px; }
.nw-page .xa-news-card--featured .xa-news-card__excerpt { font-size:14px; line-height:1.7; }
.nw-page .xa-news-card__tags span {
    background:#eff6ff; color:var(--primary); border:1px solid #dbeafe;
    font-size:11px; font-weight:600; padding:3px 8px; border-radius:999px;
}
.nw-page .xa-news-card__more { font-size:13px; font-weight:600; color:var(--primary); margin-top:auto; padding-top:10px; }
.nw-aside { display:flex; flex-direction:column; gap:16px; }
.nw-aside-card {
    background:var(--white); border-radius:var(--radius-lg);
    padding:22px; border:1px solid var(--gray-200); box-shadow:var(--shadow-sm);
}
.nw-aside-card--cta {
    background:linear-gradient(160deg,#eff6ff 0%,#fff 100%);
    border-color:#bfdbfe;
}
.nw-aside-card__icon { margin-bottom:12px; }
.nw-aside-card__icon .xa-icon { width:40px; height:40px; color:var(--primary); }
.nw-aside-card h2 { font-size:17px; font-weight:700; margin-bottom:10px; }
.nw-aside-card p { font-size:13px; color:var(--text-secondary); line-height:1.6; margin-bottom:14px; }
.nw-aside-tags h3 { font-size:14px; font-weight:700; margin-bottom:12px; }
.nw-aside-tags ul { list-style:none; padding:0; margin:0; }
.nw-aside-tags li { margin-bottom:4px; }
.nw-aside-tags a {
    display:flex; justify-content:space-between; align-items:center; gap:8px;
    padding:10px 12px; border-radius:var(--radius-sm);
    font-size:13px; color:var(--text-secondary); text-decoration:none;
    border:1px solid transparent; transition:background .15s, border-color .15s;
}
.nw-aside-tags a:hover { background:var(--gray-100); border-color:var(--gray-200); color:var(--primary); }
.nw-aside-tags em { font-style:normal; font-size:12px; color:var(--text-muted); font-weight:600; }
.nw-empty { text-align:center; padding:48px 24px; }
.nw-empty__icon { margin-bottom:16px; }
.nw-empty__icon .xa-icon { width:48px; height:48px; color:var(--text-muted); margin:0 auto; }
.nw-cta-actions { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.nw-cta { margin-top:0; }

/* ========== About Page ========== */
.hero-inner--about { padding-bottom:64px; }
.ab-hero-stats { margin-top:28px; }
.ab-hero-actions {
    display:flex; flex-wrap:wrap; gap:12px; justify-content:center;
    margin-top:28px;
}
.btn-outline-light {
    display:inline-flex; align-items:center; justify-content:center;
    padding:12px 24px; border-radius:var(--radius-sm);
    border:1.5px solid rgba(255,255,255,.55); color:#fff;
    font-size:14px; font-weight:600; text-decoration:none;
    transition:background .2s, border-color .2s, transform .2s;
}
.btn-outline-light:hover {
    background:rgba(255,255,255,.12); border-color:#fff; color:#fff;
    transform:translateY(-2px);
}

.ab-page { padding-top:40px; padding-bottom:48px; }
.ab-page--tight { padding-top:0; }
.ab-intro-row {
    display:grid; grid-template-columns:1fr; gap:24px; align-items:start;
}
.ab-intro-copy h2 {
    font-size:24px; font-weight:800; margin-bottom:16px; line-height:1.25;
}
.ab-intro-copy p {
    font-size:15px; color:var(--text-secondary); line-height:1.85; margin-bottom:14px;
}
.ab-intro-copy p:last-child { margin-bottom:0; }
.ab-intro-aside { display:flex; flex-direction:column; gap:16px; }
.ab-aside-card {
    background:var(--white); border:1px solid var(--gray-200);
    border-radius:var(--radius-lg); padding:24px 22px;
    box-shadow:var(--shadow-sm);
}
.ab-aside-card--accent {
    background:linear-gradient(145deg,#eff6ff 0%,#f8fafc 100%);
    border-color:#bfdbfe;
}
.ab-aside-card__icon { margin-bottom:14px; }
.ab-aside-card__icon .xa-icon { width:40px; height:40px; color:var(--primary); }
.ab-aside-card h3 { font-size:17px; font-weight:700; margin-bottom:8px; }
.ab-aside-card p {
    font-size:13px; color:var(--text-secondary); line-height:1.65; margin-bottom:0;
}
.ab-aside-card--accent p { margin-bottom:14px; }
.ab-aside-card .btn { margin-top:4px; }

.ab-band { padding:48px 0; }
.ab-band--light { background:linear-gradient(180deg,#f8fafc 0%,#fff 100%); }
.section-header--left { text-align:left; margin-bottom:24px; }
.section-header--left h2 { margin-bottom:0; }

.ab-cap-grid {
    display:grid; grid-template-columns:1fr; gap:18px;
}
.ab-cap-card {
    background:var(--white); border-radius:var(--radius-lg);
    padding:28px 22px; border:1px solid var(--gray-200);
    box-shadow:var(--shadow-sm); transition:transform .25s, box-shadow .25s, border-color .25s;
    text-align:center;
}
.ab-cap-card:hover {
    transform:translateY(-4px); box-shadow:var(--shadow-md);
    border-color:#bfdbfe;
}
.ab-cap-card__icon {
    width:64px; height:64px; margin:0 auto 16px;
    display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg,#eff6ff,#dbeafe);
    border-radius:16px;
}
.ab-cap-card__icon .xa-icon { width:36px; height:36px; color:var(--primary); }
.ab-cap-card h3 { font-size:16px; font-weight:700; margin-bottom:8px; }
.ab-cap-card p { font-size:13px; color:var(--text-secondary); line-height:1.65; margin:0; }

.ab-split {
    display:grid; grid-template-columns:1fr; gap:28px;
    margin-bottom:48px;
}
.ab-values { display:flex; flex-direction:column; gap:14px; }
.ab-value-card {
    display:flex; gap:16px; align-items:flex-start;
    background:var(--white); border:1px solid var(--gray-200);
    border-radius:var(--radius-lg); padding:20px 18px;
    box-shadow:var(--shadow-sm); transition:border-color .2s, box-shadow .2s;
}
.ab-value-card:hover { border-color:#bfdbfe; box-shadow:var(--shadow-md); }
.ab-value-card__num {
    flex-shrink:0; width:40px; height:40px;
    display:flex; align-items:center; justify-content:center;
    background:var(--primary); color:#fff;
    font-size:13px; font-weight:800; border-radius:10px;
}
.ab-value-card h3 { font-size:16px; font-weight:700; color:var(--text); margin-bottom:6px; }
.ab-value-card p { font-size:13px; color:var(--text-secondary); line-height:1.65; margin:0; }

.ab-markets-panel {
    background:linear-gradient(160deg,#1e3a5f 0%,#2563eb 100%);
    color:#fff; border-radius:var(--radius-lg);
    padding:28px 24px; position:relative; overflow:hidden;
    box-shadow:0 12px 32px rgba(37,99,235,.25);
}
.ab-markets-panel::after {
    content:''; position:absolute; top:-30%; right:-20%;
    width:220px; height:220px; border-radius:50%;
    background:rgba(255,255,255,.06);
}
.ab-markets-panel__globe {
    position:relative; z-index:1; margin-bottom:12px;
}
.ab-markets-panel__globe .xa-icon { width:44px; height:44px; color:rgba(255,255,255,.9); }
.ab-markets-panel .section-eyebrow { color:rgba(255,255,255,.7); position:relative; z-index:1; }
.ab-markets-panel h2 {
    font-size:22px; font-weight:800; margin-bottom:12px;
    position:relative; z-index:1;
}
.ab-markets-panel p {
    font-size:14px; line-height:1.75; opacity:.9; margin-bottom:18px;
    position:relative; z-index:1;
}
.ab-markets-list {
    list-style:none; padding:0; margin:0;
    display:flex; flex-wrap:wrap; gap:8px;
    position:relative; z-index:1;
}
.ab-markets-list li {
    font-size:12px; font-weight:600; padding:6px 12px;
    background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.22);
    border-radius:999px;
}

.ab-timeline {
    position:relative; margin-bottom:48px; padding-left:8px;
}
.ab-timeline::before {
    content:''; position:absolute; left:19px; top:8px; bottom:8px;
    width:2px; background:linear-gradient(180deg,var(--primary),#93c5fd);
    border-radius:2px;
}
.ab-timeline__item {
    display:grid; grid-template-columns:40px 80px 1fr; gap:12px 16px;
    padding:0 0 28px; position:relative;
}
.ab-timeline__item:last-child { padding-bottom:0; }
.ab-timeline__marker {
    width:14px; height:14px; border-radius:50%;
    background:var(--primary); border:3px solid #dbeafe;
    box-shadow:0 0 0 4px #fff; margin-top:6px; justify-self:center;
    position:relative; z-index:1;
}
.ab-timeline__year {
    font-size:20px; font-weight:800; color:var(--primary); line-height:1.2; padding-top:2px;
}
.ab-timeline__body {
    background:var(--white); border:1px solid var(--gray-200);
    border-radius:var(--radius-md); padding:16px 18px;
    box-shadow:var(--shadow-sm);
}
.ab-timeline__body h3 { font-size:16px; font-weight:700; margin-bottom:6px; }
.ab-timeline__body p { font-size:13px; color:var(--text-secondary); line-height:1.65; margin:0; }

.ab-process {
    display:grid; grid-template-columns:1fr; gap:16px;
    margin-bottom:48px; position:relative;
}
.ab-process__step {
    background:var(--white); border:1px solid var(--gray-200);
    border-radius:var(--radius-lg); padding:22px 18px;
    text-align:center; box-shadow:var(--shadow-sm);
    transition:transform .2s, border-color .2s, box-shadow .2s;
}
.ab-process__step:hover {
    transform:translateY(-3px); border-color:#bfdbfe; box-shadow:var(--shadow-md);
}
.ab-process__num {
    width:44px; height:44px; margin:0 auto 12px;
    display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg,var(--primary),#3b82f6);
    color:#fff; font-size:14px; font-weight:800; border-radius:12px;
}
.ab-process__step h3 { font-size:15px; font-weight:700; margin-bottom:6px; }
.ab-process__step p { font-size:13px; color:var(--text-secondary); line-height:1.6; margin:0; }

.ab-contact-wrap {
    background:linear-gradient(180deg,#f8fafc,#fff);
    border:1px solid var(--gray-200); border-radius:var(--radius-lg);
    padding:28px 24px; margin-top:8px;
}
.ab-contact-grid {
    display:grid; grid-template-columns:1fr; gap:16px;
}
.ab-contact-item {
    display:flex; gap:14px; align-items:flex-start;
    background:var(--white); border:1px solid var(--gray-200);
    border-radius:var(--radius-md); padding:16px 18px;
}
.ab-contact-item__icon {
    width:44px; height:44px; flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
    background:#eff6ff; border-radius:10px;
}
.ab-contact-item__icon .xa-icon { width:22px; height:22px; color:var(--primary); }
.ab-contact-item strong {
    display:block; font-size:12px; text-transform:uppercase;
    letter-spacing:.06em; color:var(--text-muted); margin-bottom:4px;
}
.ab-contact-item p { font-size:14px; color:var(--text-secondary); margin:0; line-height:1.5; }
.ab-contact-item a { color:var(--primary); text-decoration:none; font-weight:600; }
.ab-contact-item a:hover { text-decoration:underline; }

.ab-cta-actions {
    display:flex; flex-wrap:wrap; gap:12px; justify-content:center;
}
.ab-cta .btn-outline-light { border-color:rgba(255,255,255,.65); }

.hp-page { padding:36px 0 48px; background:var(--gray-50); }
.hp-intro { margin-bottom:24px; }
.hp-intro p { font-size:14px; color:var(--text-secondary); line-height:1.8; margin:0; }
.hp-hero-lastmod { margin-top:16px; font-size:13px; opacity:.8; }

.hp-search-bar {
    background:var(--white); border:1px solid var(--gray-200);
    border-radius:var(--radius-lg); padding:18px 20px; margin-bottom:16px;
    box-shadow:var(--shadow-sm);
}
.hp-search-bar__label {
    display:block; font-size:12px; font-weight:600; color:var(--text-muted);
    text-transform:uppercase; letter-spacing:.06em; margin-bottom:10px;
}
.hp-search-bar__row {
    display:flex; align-items:center; gap:10px; flex-wrap:wrap;
}
.hp-search-bar__icon .xa-icon { width:20px; height:20px; color:var(--text-muted); flex-shrink:0; }
.hp-search-bar__input {
    flex:1; min-width:180px; padding:11px 14px;
    border:1.5px solid var(--gray-200); border-radius:var(--radius-sm);
    font-size:14px; color:var(--text); background:var(--gray-50);
}
.hp-search-bar__input:focus { outline:none; border-color:var(--primary); background:#fff; box-shadow:0 0 0 3px rgba(37,99,235,.12); }
.hp-search-bar__clear {
    padding:9px 16px; border:1px solid var(--gray-200); border-radius:var(--radius-sm);
    background:var(--white); font-size:13px; font-weight:600; color:var(--text-secondary); cursor:pointer;
}
.hp-search-bar__clear:hover { border-color:var(--primary); color:var(--primary); }
.hp-search-empty { font-size:13px; color:var(--orange); margin:-4px 0 16px; font-weight:600; }

.hp-pills {
    display:flex; flex-wrap:nowrap; gap:8px; overflow-x:auto;
    padding-bottom:8px; margin-bottom:24px;
    -webkit-overflow-scrolling:touch; scrollbar-width:thin;
}
.hp-pill {
    display:inline-flex; align-items:center; gap:6px; flex-shrink:0;
    padding:8px 14px; border-radius:999px; font-size:13px; font-weight:600;
    background:var(--white); color:var(--text-secondary);
    border:1px solid var(--gray-200); text-decoration:none; transition:all .2s;
    box-shadow:var(--shadow-sm);
}
.hp-pill:hover { border-color:var(--primary); color:var(--primary); background:#eff6ff; }
.hp-pill .xa-icon { width:16px; height:16px; }
.hp-pill em { font-style:normal; font-size:11px; color:var(--text-muted); }

.hp-layout {
    display:grid; grid-template-columns:1fr; gap:28px; align-items:start;
}
.hp-main { min-width:0; }
.hp-aside { display:flex; flex-direction:column; gap:16px; }
.hp-toc {
    background:var(--white); border:1px solid var(--gray-200);
    border-radius:var(--radius-lg); padding:18px; box-shadow:var(--shadow-sm);
}
.hp-toc h2 { font-size:14px; font-weight:700; margin-bottom:12px; }
.hp-toc ul { list-style:none; padding:0; margin:0; }
.hp-toc li { margin-bottom:4px; }
.hp-toc a {
    display:flex; align-items:center; gap:8px;
    padding:8px 10px; border-radius:var(--radius-sm);
    font-size:13px; color:var(--text-secondary); text-decoration:none;
}
.hp-toc a:hover { background:var(--gray-100); color:var(--primary); }
.hp-toc a .xa-icon { width:18px; height:18px; flex-shrink:0; }
.hp-toc a span { flex:1; }
.hp-toc a em { font-style:normal; font-size:11px; color:var(--text-muted); font-weight:600; }
.hp-aside-card {
    background:var(--white); border:1px solid var(--gray-200);
    border-radius:var(--radius-lg); padding:20px; box-shadow:var(--shadow-sm);
}
.hp-aside-card h2 { font-size:16px; font-weight:700; margin-bottom:8px; }
.hp-aside-card p { font-size:13px; color:var(--text-secondary); line-height:1.6; margin-bottom:12px; }

.hp-faq-group { margin-bottom:36px; scroll-margin-top:96px; }
.hp-faq-group.is-hidden { display:none; }
.hp-faq-group__head {
    display:flex; align-items:flex-start; gap:14px;
    margin-bottom:16px; padding-bottom:14px;
    border-bottom:2px solid var(--gray-200);
}
.hp-faq-group__head h2 { font-size:20px; font-weight:800; margin:0 0 4px; line-height:1.25; }
.hp-faq-group__sub { font-size:12px; color:var(--text-muted); margin:0; font-weight:600; }
.hp-faq-group__icon {
    width:44px; height:44px; flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg,#eff6ff,#dbeafe); border-radius:12px;
}
.hp-faq-group__icon .xa-icon { width:24px; height:24px; color:var(--primary); }
.hp-faq-list { display:flex; flex-direction:column; gap:10px; }
.hp-faq-item {
    background:var(--white); border:1px solid var(--gray-200);
    border-radius:var(--radius-md); overflow:hidden;
    box-shadow:var(--shadow-sm); transition:border-color .2s, box-shadow .2s;
}
.hp-faq-item.is-hidden { display:none; }
.hp-faq-item[open] { border-color:var(--primary-light); box-shadow:var(--shadow-md); }
.hp-faq-q {
    padding:16px 44px 16px 18px; font-size:15px; font-weight:600;
    cursor:pointer; list-style:none; position:relative; line-height:1.45;
}
.hp-faq-q::-webkit-details-marker { display:none; }
.hp-faq-q::after {
    content:'+'; position:absolute; right:16px; top:50%; transform:translateY(-50%);
    font-size:20px; font-weight:400; color:var(--primary); line-height:1;
}
.hp-faq-item[open] .hp-faq-q::after { content:'\2212'; }
.hp-faq-a {
    padding:0 18px 16px; font-size:14px; color:var(--text-secondary); line-height:1.75;
    border-top:1px solid var(--gray-100);
}
.hp-faq-meta { margin-top:12px; padding-top:10px; border-top:1px dashed var(--gray-200); }
.hp-faq-permalink { font-size:12px; color:var(--primary); text-decoration:none; font-weight:600; }
.hp-faq-copy-feedback { font-size:12px; color:var(--orange); margin-left:8px; }
.hp-faq-copy-feedback.is-hidden,
.hp-search-bar__clear.is-hidden,
.hp-search-empty.is-hidden { display:none; }
.hp-cta { margin-top:0; }

@media (min-width:768px) {
    .ab-intro-row { grid-template-columns:1.2fr .8fr; gap:28px; }
    .ab-cap-grid { grid-template-columns:repeat(2,1fr); }
    .ab-split { grid-template-columns:1.15fr .85fr; gap:32px; align-items:start; }
    .ab-process { grid-template-columns:repeat(5,1fr); gap:14px; }
    .ab-contact-grid { grid-template-columns:repeat(2,1fr); }
    .ab-contact-item--wide { grid-column:1 / -1; }
    .nw-layout { grid-template-columns:1fr 300px; }
    .nw-grid { grid-template-columns:repeat(2,1fr); }
    .nw-page .xa-news-card--featured .xa-news-card__link { grid-template-columns:1.1fr 1fr; }
    .hp-layout { grid-template-columns:280px 1fr; }
    .hp-aside { position:sticky; top:76px; }
    .hp-pills { display:none; }
    .hp-toc--desktop { display:block; }
}
@media (min-width:1024px) {
    .ab-cap-grid { grid-template-columns:repeat(4,1fr); }
    .ab-timeline__item { grid-template-columns:40px 96px 1fr; gap:16px 24px; }
    .nw-layout { grid-template-columns:1fr 320px; }
    .nw-grid { grid-template-columns:repeat(2,1fr); gap:24px; }
    .hp-layout { grid-template-columns:300px 1fr; }
}
@media (max-width:767px) {
    .ab-timeline::before { left:15px; }
    .ab-timeline__item { grid-template-columns:32px 1fr; gap:0 12px; }
    .ab-timeline__marker { grid-row:1; grid-column:1; margin-top:4px; }
    .ab-timeline__year { grid-row:1; grid-column:2; font-size:18px; margin-bottom:8px; }
    .ab-timeline__body { grid-row:2; grid-column:1 / -1; }
    .hp-toc--desktop { display:none; }
    .hp-layout { display:flex; flex-direction:column; }
    .hp-main { order:1; }
    .hp-aside { order:2; }
}
