/* ================================================================================
 * 39-v160-public.css — v160 PUBLIC MARKETPLACE SURFACE
 * --------------------------------------------------------------------------------
 * Loads after 38-v160-foundation.css, so it wins over all 37 legacy layers.
 * Scope: site header, home search hub, listing grid/row, filter rail, toolbar,
 *        car detail, dealer directory, compare, auth, public forms, footer.
 *
 * Contract:
 *   - Consumes --v160-* / --gab-* tokens only. No new raw colors.
 *   - Never redefines a PART B primitive; composes or scopes instead.
 *   - New classes use the .v160-pub-* prefix.
 *   - Logical properties only (RTL-safe). [dir="rtl"] only for mirroring.
 *   - !important is used ONLY to defeat a legacy !important; each one is commented.
 * ============================================================================== */


/* ================================================================================
 * 1. PUBLIC SHELL
 * ============================================================================== */

.gab-container {
    inline-size: 100%;
    max-inline-size: var(--v160-container);
    margin-inline: auto;
    padding-inline: var(--v160-container-pad);
}

.gab-content,
.gab-detail {
    background: var(--v160-surface-2);
}

.gab-content-narrow {
    inline-size: 100%;
    max-inline-size: 880px;
    margin-inline: auto;
}

.gab-section {
    padding-block: var(--v160-space-9);
    background: var(--v160-surface);
}

.gab-section-tight {
    padding-block: var(--v160-space-7);
}

.gab-section + .gab-section {
    border-block-start: 1px solid var(--v160-border-subtle);
}

/* Section head: hairline rule + tight type, Encar style. */
.gab-section-header,
.gab-sec-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--v160-space-4);
    margin-block-end: var(--v160-space-5);
    padding-block-end: var(--v160-space-3);
    border-block-end: 1px solid var(--v160-border);
}

.gab-section-header h2,
.gab-section-title,
.gab-sec-head__title {
    font-family: var(--v160-font-sans);
    font-size: var(--v160-fs-2xl);
    font-weight: 700;
    line-height: var(--v160-lh-tight);
    letter-spacing: var(--v160-track-tight);
    color: var(--v160-text);
    margin: 0;
}

.gab-section-header p,
.gab-sec-head__sub {
    margin: var(--v160-space-1) 0 0;
    font-size: var(--v160-fs-md);
    line-height: var(--v160-lh-snug);
    color: var(--v160-text-muted);
}

.gab-title-mark {
    color: var(--v160-accent);
}

/* Legacy pill "more" link becomes a quiet text link with a chevron. */
.gab-section-link,
.gab-sec-head__link {
    display: inline-flex;
    align-items: center;
    gap: var(--v160-space-1);
    min-block-size: var(--v160-control-h-sm);
    padding: 0 var(--v160-space-2);
    border-radius: var(--v160-r-md);
    background: transparent;
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-md);
    font-weight: 600;
    text-decoration: none;
    transition: color var(--v160-dur) var(--v160-ease), background var(--v160-dur) var(--v160-ease);
}

.gab-section-link:hover,
.gab-sec-head__link:hover {
    background: var(--v160-surface-3);
    color: var(--v160-accent);
}

.gab-section-link i {
    font-size: var(--v160-fs-xs);
    transition: transform var(--v160-dur) var(--v160-ease);
}

.gab-section-link:hover i {
    transform: translateX(2px);
}

[dir="rtl"] .gab-section-link i {
    transform: scaleX(-1);
}

[dir="rtl"] .gab-section-link:hover i {
    transform: scaleX(-1) translateX(2px);
}

/* Breadcrumb */
.gab-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--v160-space-1);
    padding-block: var(--v160-space-3);
    font-size: var(--v160-fs-xs);
    color: var(--v160-text-subtle);
}

.gab-breadcrumb a {
    color: var(--v160-text-muted);
    text-decoration: none;
}

.gab-breadcrumb a:hover {
    color: var(--v160-accent);
    text-decoration: underline;
}

.gab-breadcrumb-sep {
    color: var(--v160-border-strong);
}

.gab-breadcrumb-current {
    color: var(--v160-text);
    font-weight: 600;
}


/* ================================================================================
 * 2. DE-STICKER SWEEP — PUBLIC SURFACES
 * --------------------------------------------------------------------------------
 * Layer 38 neutralised the token-driven cartoon outlines. What remains are literal
 * `!important` declarations inside 25-hicm-skin.css that layer 38 deliberately left
 * at single-class specificity. Each override below names the legacy source.
 * ============================================================================== */

/* 25-hicm-skin.css:181 `.gab-hx-brand { border: 2px solid var(--hicm-ink) !important }` */
.gab-hx-brand {
    border: 1px solid var(--v160-border) !important;
    box-shadow: var(--v160-elev-1);
    transition: box-shadow var(--v160-dur) var(--v160-ease), border-color var(--v160-dur) var(--v160-ease);
}

.gab-hx-brand:hover {
    transform: none;
    border-color: var(--v160-border-strong) !important; /* defeats 25-hicm-skin.css:181 */
    box-shadow: var(--v160-elev-3);
}

/* 25-hicm-skin.css:240 `.gab-car-card { border: var(--hicm-border-bold) !important }` */
.gab-car-card {
    border: 1px solid var(--v160-border) !important;
    border-radius: var(--v160-r-xl);
    box-shadow: var(--v160-elev-1);
    background: var(--v160-surface);
    transition: box-shadow var(--v160-dur) var(--v160-ease), border-color var(--v160-dur) var(--v160-ease);
}

/* 25-hicm-skin.css:249 `.gab-car-card:hover { border-color: var(--hicm-ink) !important }` */
.gab-car-card:hover {
    transform: none;
    border-color: var(--v160-border-strong) !important;
    box-shadow: var(--v160-elev-3);
}

/* 25-hicm-skin.css:276 `.gab-car-card-fav { border: 2px solid var(--hicm-ink) !important }` */
.gab-car-card-fav {
    border: 1px solid var(--v160-border) !important;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: var(--v160-elev-1);
}

/* 25-hicm-skin.css:346-347 `.gab-fchip,.gab-qchip { border: 2px solid ink !important; border-radius: 999px !important }` */
.gab-fchip,
.gab-qchip {
    border: 1px solid var(--v160-border-strong) !important;
    border-radius: var(--v160-r-pill) !important;
    background: var(--v160-surface);
    font-weight: 600;
    box-shadow: none;
}

/* 25-hicm-skin.css:352-354 active chip forced solid red + ink border */
.gab-fchip.is-on,
.gab-qchip.is-on {
    background: var(--v160-accent-soft) !important;
    color: var(--v160-accent-hover) !important;
    border-color: var(--v160-accent-border) !important;
}

/* 25-hicm-skin.css:977 `.gab-aw-stat { border: 2px solid var(--hicm-ink) !important }` */
.gab-aw-stat {
    border: 1px solid var(--v160-border) !important;
    border-radius: var(--v160-r-xl);
    box-shadow: var(--v160-elev-1);
    background: var(--v160-surface);
}

/* 25-hicm-skin.css:1008-1009 `.gab-btn-outline-white { color: ink !important; border: 2px solid ink !important }` */
.gab-btn-outline-white {
    color: var(--v160-text) !important;
    border: 1px solid var(--v160-border-strong) !important;
    background: var(--v160-surface);
    box-shadow: var(--v160-elev-1);
}

.gab-btn-outline-white:hover {
    background: var(--v160-surface-3);
}

/* The red sticker stat band and the ink "how it works" band become neutral surfaces. */
.gab-aw-stats {
    background: var(--v160-surface-2);
    border-block: 1px solid var(--v160-border);
}

.gab-how-section {
    background: var(--v160-surface-2);
    border-block: 1px solid var(--v160-border);
}

.gab-how-section .gab-how-title,
.gab-how-section .gab-how-node-desc {
    color: var(--v160-text);
}

.gab-how-section .gab-how-sub {
    color: var(--v160-text-muted);
}

.gab-how-node-circle {
    border: 1px solid var(--v160-border);
    background: var(--v160-surface);
    color: var(--v160-accent);
    box-shadow: var(--v160-elev-1);
}

.gab-how-node:hover .gab-how-node-circle {
    border-color: var(--v160-accent-border);
    box-shadow: var(--v160-elev-3);
}

/* Big brand-red gradient washes (foundation concern (c)) are retired on public chrome. */
.gab-cta,
.gab-hx-bg,
.gab-page-hero,
.gab-buyreq-hero,
.gab-auth-visual {
    background-image: none;
}

.gab-cta {
    background: var(--v160-surface-dark);
    border-block: 1px solid var(--v160-border-inverse);
}

.gab-cta-title {
    color: var(--v160-text-inverse);
}

.gab-cta-desc {
    color: rgba(255, 255, 255, 0.72);
}

/* No cartoon face on global chrome — art survives only inside empty states. */
.gab-footer-mascot,
.gab-aw-stats-mascot,
.gab-safety-mascot,
.gab-shipmini-mascot,
.hicm-hx-character,
.hicm-dealer-hero-character,
.hicm-auth-character,
.hicm-auth-mobile-character,
.gab-proof-character,
.hicm-form-companion {
    display: none;
}

/* Empty-state art is the ONE approved home for the mascot — re-assert it here so
   the blanket hide above can never reach it. (.v160-empty__art is owned by layer 38
   and is deliberately not touched.) */
.gab-empty-illust,
.hicm-empty-mascot {
    display: block;
}

/* Font: no display/cartoon face anywhere on public chrome. */
.gab-site-header,
.gab-footer,
.gab-section,
.gab-detail,
.gab-content,
.gab-auth,
.gab-hx,
.gab-list-layout,
.gab-compare-table,
.gab-page-hero {
    font-family: var(--v160-font-sans);
}

[dir="rtl"] .gab-site-header,
[dir="rtl"] .gab-footer,
[dir="rtl"] .gab-section,
[dir="rtl"] .gab-detail,
[dir="rtl"] .gab-content,
[dir="rtl"] .gab-auth,
[dir="rtl"] .gab-hx {
    font-family: var(--v160-font-ar);
}


/* ================================================================================
 * 3. SITE HEADER
 * ============================================================================== */

.gab-site-header {
    position: sticky;
    inset-block-start: 0;
    z-index: var(--v160-z-sticky);
    background: var(--v160-surface);
    border-block-end: 1px solid var(--v160-border);
    box-shadow: none;
    transition: box-shadow var(--v160-dur) var(--v160-ease);
}

.gab-site-header.is-stuck,
.gab-site-header.is-scrolled {
    box-shadow: var(--v160-elev-2);
}

/* --- 3.1 Utility strip --------------------------------------------------- */

.gab-top-bar {
    background: var(--v160-surface-2);
    border-block-end: 1px solid var(--v160-border-subtle);
    font-size: var(--v160-fs-xs);
}

.gab-top-bar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--v160-space-4);
    min-block-size: 34px;
}

.gab-top-bar-left,
.gab-top-bar-right {
    display: flex;
    align-items: center;
    gap: var(--v160-space-2);
    min-inline-size: 0;
}

.gab-top-bar a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--v160-text-muted);
    text-decoration: none;
    white-space: nowrap;
    transition: color var(--v160-dur) var(--v160-ease);
}

.gab-top-bar a:hover {
    color: var(--v160-text);
}

.gab-top-bar i {
    font-size: var(--v160-fs-sm);
    color: var(--v160-text-subtle);
}

.gab-top-bar-divider {
    inline-size: 1px;
    block-size: 11px;
    background: var(--v160-border-strong);
}

/* Language switcher */
.gab-lang-switcher {
    position: relative;
}

.gab-lang-trigger {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-block-size: 26px;
    padding-inline: var(--v160-space-2);
    border: 1px solid transparent;
    border-radius: var(--v160-r-sm);
    background: transparent;
    color: var(--v160-text-muted);
    font-family: inherit;
    font-size: var(--v160-fs-xs);
    font-weight: 600;
    cursor: pointer;
    transition: background var(--v160-dur) var(--v160-ease), border-color var(--v160-dur) var(--v160-ease);
}

.gab-lang-trigger:hover {
    background: var(--v160-surface);
    border-color: var(--v160-border);
    color: var(--v160-text);
}

.gab-lang-flag {
    font-size: 13px;
    line-height: 1;
}

.gab-lang-dropdown {
    position: absolute;
    inset-block-start: calc(100% + 6px);
    inset-inline-end: 0;
    z-index: var(--v160-z-dropdown);
    min-inline-size: 176px;
    padding: var(--v160-space-1);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-lg);
    background: var(--v160-surface);
    box-shadow: var(--v160-elev-4);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity var(--v160-dur) var(--v160-ease), transform var(--v160-dur) var(--v160-ease), visibility var(--v160-dur);
}

.gab-lang-switcher.is-open .gab-lang-dropdown,
.gab-lang-dropdown.is-open {
    opacity: 1;
    visibility: visible;
    transform: none;
}

.gab-lang-option {
    display: flex;
    align-items: center;
    gap: var(--v160-space-2);
    min-block-size: 38px;
    padding-inline: var(--v160-space-2);
    border-radius: var(--v160-r-sm);
    color: var(--v160-text);
    font-size: var(--v160-fs-md);
    text-decoration: none;
}

.gab-lang-option:hover {
    background: var(--v160-surface-3);
}

.gab-lang-option.is-active {
    background: var(--v160-accent-soft);
    color: var(--v160-accent-hover);
    font-weight: 600;
}

/* --- 3.2 Main row: logo | search | actions -------------------------------- */

.gab-main-header {
    background: var(--v160-surface);
}

.gab-main-header-inner {
    display: flex;
    align-items: center;
    gap: var(--v160-space-5);
    min-block-size: 72px;
}

.gab-burger {
    display: none;
    align-items: center;
    justify-content: center;
    inline-size: var(--v160-tap);
    block-size: var(--v160-tap);
    margin-inline-start: calc(var(--v160-space-2) * -1);
    border: 0;
    border-radius: var(--v160-r-md);
    background: transparent;
    color: var(--v160-text);
    font-size: 22px;
    cursor: pointer;
}

.gab-burger:hover {
    background: var(--v160-surface-3);
}

/* Logo — never restyled, only positioned. */
.gab-logo {
    display: inline-flex;
    align-items: center;
    gap: var(--v160-space-2);
    flex: 0 0 auto;
    text-decoration: none;
}

.gab-logo-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.gab-logo-text {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-inline-size: 0;
}

.gab-logo-name {
    font-family: var(--v160-font-sans);
    font-size: var(--v160-fs-xl);
    font-weight: 800;
    letter-spacing: var(--v160-track-tight);
    color: var(--v160-text);
    line-height: 1.1;
    white-space: nowrap;
}

.gab-logo-name .accent {
    color: var(--v160-accent);
}

.gab-logo-tagline {
    font-size: var(--v160-fs-2xs);
    font-weight: 500;
    color: var(--v160-text-subtle);
    letter-spacing: 0;
    white-space: nowrap;
}

/* Large search — the second-most important element on every page. */
.gab-header-search {
    position: relative;
    flex: 1 1 auto;
    min-inline-size: 0;
    max-inline-size: 620px;
}

.gab-header-search-form {
    display: flex;
    align-items: stretch;
    block-size: var(--v160-control-h-lg);
    border: 1px solid var(--v160-border-strong);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
    overflow: hidden;
    transition: border-color var(--v160-dur) var(--v160-ease), box-shadow var(--v160-dur) var(--v160-ease);
}

.gab-header-search-form:focus-within {
    border-color: var(--v160-accent);
    box-shadow: var(--v160-ring);
}

.gab-header-search-input {
    flex: 1 1 auto;
    min-inline-size: 0;
    padding-inline: var(--v160-space-4);
    border: 0;
    background: transparent;
    color: var(--v160-text);
    font-family: inherit;
    font-size: var(--v160-fs-lg);
    outline: none;
}

.gab-header-search-input::placeholder {
    color: var(--v160-text-subtle);
    font-size: var(--v160-fs-md);
}

.gab-header-search-btn {
    flex: 0 0 auto;
    inline-size: 58px;
    border: 0;
    background: var(--v160-accent);
    color: var(--v160-accent-contrast);
    font-size: var(--v160-fs-xl);
    cursor: pointer;
    transition: background var(--v160-dur) var(--v160-ease);
}

.gab-header-search-btn:hover {
    background: var(--v160-accent-hover);
}

.gab-header-search-btn:active {
    background: var(--v160-accent-active);
}

/* Autocomplete panel */
.gab-suggest {
    position: absolute;
    inset-block-start: calc(100% + 6px);
    inset-inline: 0;
    z-index: var(--v160-z-dropdown);
    max-block-size: 420px;
    overflow-y: auto;
    padding: var(--v160-space-1);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-lg);
    background: var(--v160-surface);
    box-shadow: var(--v160-elev-4);
    display: none;
}

.gab-suggest.is-open {
    display: block;
}

.gab-suggest-item {
    display: flex;
    align-items: center;
    gap: var(--v160-space-3);
    min-block-size: 52px;
    padding: var(--v160-space-2);
    border-radius: var(--v160-r-md);
    color: var(--v160-text);
    text-decoration: none;
}

.gab-suggest-item:hover,
.gab-suggest-item.is-active {
    background: var(--v160-surface-3);
}

.gab-suggest-thumb {
    flex: 0 0 auto;
    inline-size: 56px;
    block-size: 42px;
    border-radius: var(--v160-r-sm);
    border: 1px solid var(--v160-border);
    object-fit: cover;
    background: var(--v160-surface-3);
}

.gab-suggest-thumb--ph {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--v160-text-subtle);
}

.gab-suggest-title {
    flex: 1 1 auto;
    min-inline-size: 0;
    font-size: var(--v160-fs-md);
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gab-suggest-kind {
    flex: 0 0 auto;
    padding: 2px var(--v160-space-2);
    border-radius: var(--v160-r-pill);
    background: var(--v160-neutral-soft);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-2xs);
    font-weight: 600;
}

.gab-suggest-price {
    flex: 0 0 auto;
    font-size: var(--v160-fs-md);
    font-weight: 700;
    color: var(--v160-accent);
    font-variant-numeric: tabular-nums;
}

.gab-suggest-all {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-block-size: 44px;
    margin-block-start: var(--v160-space-1);
    border-block-start: 1px solid var(--v160-border-subtle);
    color: var(--v160-text-link);
    font-size: var(--v160-fs-md);
    font-weight: 600;
    text-decoration: none;
}

/* Header actions */
.gab-header-cta {
    display: flex;
    align-items: center;
    gap: var(--v160-space-2);
    flex: 0 0 auto;
}

.gab-btn-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: var(--v160-control-h);
    block-size: var(--v160-control-h);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-xl);
    text-decoration: none;
    transition: border-color var(--v160-dur) var(--v160-ease), color var(--v160-dur) var(--v160-ease), background var(--v160-dur) var(--v160-ease);
}

.gab-btn-icon:hover {
    border-color: var(--v160-border-strong);
    background: var(--v160-surface-2);
    color: var(--v160-text);
}

.gab-btn-icon-badge {
    position: absolute;
    inset-block-start: -5px;
    inset-inline-end: -5px;
    min-inline-size: 17px;
    block-size: 17px;
    padding-inline: 4px;
    border-radius: var(--v160-r-pill);
    background: var(--v160-accent);
    color: var(--v160-accent-contrast);
    font-size: var(--v160-fs-2xs);
    font-weight: 700;
    line-height: 17px;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.gab-header-cta .gab-btn-primary,
.gab-header-cta .v160-btn {
    block-size: var(--v160-control-h);
    white-space: nowrap;
}

.gab-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-block-size: var(--v160-control-h);
    padding-inline: var(--v160-space-4);
    border: 1px solid var(--v160-accent);
    border-radius: var(--v160-r-md);
    background: var(--v160-accent);
    color: var(--v160-accent-contrast);
    font-family: inherit;
    font-size: var(--v160-fs-md);
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    box-shadow: var(--v160-elev-1);
    transition: background var(--v160-dur) var(--v160-ease), box-shadow var(--v160-dur) var(--v160-ease);
}

.gab-btn-primary:hover {
    background: var(--v160-accent-hover);
    border-color: var(--v160-accent-hover);
    box-shadow: var(--v160-elev-2);
    color: var(--v160-accent-contrast);
}

/* --- 3.3 Category nav ----------------------------------------------------- */

.gab-nav-bar {
    position: relative;
    background: var(--v160-surface);
    border-block-end: 1px solid var(--v160-border);
}

.gab-nav-bar .gab-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--v160-space-4);
}

.gab-nav-list {
    display: flex;
    align-items: stretch;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    min-inline-size: 0;
    overflow-x: auto;
    scrollbar-width: none;
}

.gab-nav-list::-webkit-scrollbar {
    display: none;
}

.gab-nav-item {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    block-size: 50px;
    padding-inline: var(--v160-space-4);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-lg);
    font-weight: 600;
    letter-spacing: var(--v160-track-snug);
    white-space: nowrap;
    text-decoration: none;
    transition: color var(--v160-dur) var(--v160-ease);
}

.gab-nav-item i {
    font-size: var(--v160-fs-md);
    color: var(--v160-text-subtle);
    transition: color var(--v160-dur) var(--v160-ease);
}

/* Hairline underline-on-active — the Encar/KCar signature. */
.gab-nav-item::after {
    content: "";
    position: absolute;
    inset-block-end: 0;
    inset-inline: var(--v160-space-3);
    block-size: 2px;
    border-radius: 2px 2px 0 0;
    background: var(--v160-accent);
    opacity: 0;
    transform: scaleX(0);
    transform-origin: center;
    transition: opacity var(--v160-dur) var(--v160-ease), transform var(--v160-dur) var(--v160-ease);
}

.gab-nav-item:hover {
    color: var(--v160-text);
}

.gab-nav-item:hover i {
    color: var(--v160-text-muted);
}

.gab-nav-item.is-active,
.gab-nav-item[aria-current="page"] {
    color: var(--v160-accent);
    font-weight: 700;
}

.gab-nav-item.is-active i,
.gab-nav-item[aria-current="page"] i {
    color: var(--v160-accent);
}

.gab-nav-item.is-active::after,
.gab-nav-item[aria-current="page"]::after,
.gab-nav-item:hover::after {
    opacity: 1;
    transform: scaleX(1);
}

.gab-nav-item:hover::after {
    background: var(--v160-border-strong);
}

.gab-nav-item.is-active:hover::after {
    background: var(--v160-accent);
}

.gab-nav-badge {
    margin-inline-start: 4px;
    padding: 1px 5px;
    border: 1px solid var(--v160-accent-border);
    border-radius: var(--v160-r-pill);
    background: var(--v160-accent-soft);
    color: var(--v160-accent-hover);
    font-size: var(--v160-fs-2xs);
    font-weight: 700;
}

.gab-mega-trigger {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
    min-block-size: var(--v160-control-h-sm);
    padding-inline: var(--v160-space-3);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
    color: var(--v160-text-muted);
    font-family: inherit;
    font-size: var(--v160-fs-sm);
    font-weight: 600;
    cursor: pointer;
    transition: background var(--v160-dur) var(--v160-ease), border-color var(--v160-dur) var(--v160-ease);
}

.gab-mega-trigger:hover,
.gab-mega-trigger.is-on {
    background: var(--v160-surface-3);
    border-color: var(--v160-border-strong);
    color: var(--v160-text);
}

.gab-mega-caret {
    font-size: 10px;
    transition: transform var(--v160-dur) var(--v160-ease);
}

.gab-mega-trigger.is-on .gab-mega-caret {
    transform: rotate(180deg);
}


/* ================================================================================
 * 4. DROPDOWN PANELS — MEGA MENU + FIND PANEL
 * ============================================================================== */

.gab-mega,
.gab-findmega {
    position: absolute;
    inset-inline: 0;
    inset-block-start: 100%;
    z-index: var(--v160-z-dropdown);
    background: var(--v160-surface);
    border-block-start: 1px solid var(--v160-border);
    border-block-end: 1px solid var(--v160-border);
    box-shadow: var(--v160-elev-4);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity var(--v160-dur) var(--v160-ease), transform var(--v160-dur) var(--v160-ease), visibility var(--v160-dur);
}

.gab-mega.is-open,
.gab-nav-has-mega:hover .gab-findmega,
.gab-nav-has-mega:focus-within .gab-findmega {
    opacity: 1;
    visibility: visible;
    transform: none;
}

.gab-mega-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: var(--v160-space-1);
    padding-block: var(--v160-space-5);
}

.gab-mega-item {
    display: flex;
    align-items: center;
    gap: var(--v160-space-2);
    min-block-size: var(--v160-tap);
    padding-inline: var(--v160-space-2);
    border-radius: var(--v160-r-md);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-md);
    text-decoration: none;
    transition: background var(--v160-dur) var(--v160-ease), color var(--v160-dur) var(--v160-ease);
}

.gab-mega-item:hover {
    background: var(--v160-surface-3);
    color: var(--v160-accent);
}

.gab-mega-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 28px;
    block-size: 28px;
    border-radius: var(--v160-r-sm);
    background: var(--v160-surface-3);
    color: var(--v160-text-subtle);
    font-size: var(--v160-fs-md);
    flex: 0 0 auto;
}

.gab-mega-item:hover .gab-mega-ic {
    background: var(--v160-accent-soft);
    color: var(--v160-accent);
}

.gab-mega-name {
    min-inline-size: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Find panel: three clean columns. */
.gab-fm-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.4fr) minmax(0, 0.9fr);
    gap: var(--v160-space-7);
    padding-block: var(--v160-space-6);
}

.gab-fm-title {
    margin-block-end: var(--v160-space-3);
    padding-block-end: var(--v160-space-2);
    border-block-end: 1px solid var(--v160-border-subtle);
    font-size: var(--v160-fs-sm);
    font-weight: 700;
    letter-spacing: var(--v160-track-snug);
    color: var(--v160-text);
    text-transform: none;
}

.gab-fm-makes {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
    gap: 2px;
}

.gab-fm-make {
    display: flex;
    align-items: center;
    min-block-size: 32px;
    padding-inline: var(--v160-space-2);
    border-radius: var(--v160-r-sm);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-md);
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gab-fm-make:hover {
    background: var(--v160-surface-3);
    color: var(--v160-accent);
    font-weight: 600;
}

.gab-fm-types {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(84px, 1fr));
    gap: var(--v160-space-1);
}

.gab-fm-type {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-block-size: 66px;
    padding: var(--v160-space-2);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-xs);
    text-align: center;
    text-decoration: none;
    transition: border-color var(--v160-dur) var(--v160-ease), color var(--v160-dur) var(--v160-ease), background var(--v160-dur) var(--v160-ease);
}

.gab-fm-type i {
    font-size: 20px;
    color: var(--v160-text-subtle);
}

.gab-fm-type:hover {
    border-color: var(--v160-accent-border);
    background: var(--v160-accent-soft);
    color: var(--v160-accent-hover);
}

.gab-fm-type:hover i {
    color: var(--v160-accent);
}

.gab-fm-fuels {
    display: flex;
    flex-wrap: wrap;
    gap: var(--v160-space-1);
}

.gab-fm-fuel {
    display: inline-flex;
    align-items: center;
    min-block-size: 32px;
    padding-inline: var(--v160-space-3);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-pill);
    background: var(--v160-surface);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-sm);
    font-weight: 600;
    text-decoration: none;
}

.gab-fm-fuel:hover {
    border-color: var(--v160-accent-border);
    background: var(--v160-accent-soft);
    color: var(--v160-accent-hover);
}

.gab-fm-col--cta {
    display: flex;
}

.gab-fm-cta-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--v160-space-2);
    inline-size: 100%;
    padding: var(--v160-space-5);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-xl);
    background: var(--v160-surface-2);
    box-shadow: none;
}

.gab-fm-cta-card:hover {
    box-shadow: var(--v160-elev-2);
}

.gab-fm-cta-card > i {
    font-size: 24px;
    color: var(--v160-accent);
}

.gab-fm-cta-t {
    font-size: var(--v160-fs-lg);
    font-weight: 700;
    color: var(--v160-text);
}

.gab-fm-cta-d {
    font-size: var(--v160-fs-sm);
    line-height: var(--v160-lh-snug);
    color: var(--v160-text-muted);
}

.gab-fm-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-block-start: auto;
    min-block-size: var(--v160-control-h-sm);
    padding-inline: var(--v160-space-3);
    border: 1px solid var(--v160-accent);
    border-radius: var(--v160-r-md);
    background: var(--v160-accent);
    color: var(--v160-accent-contrast);
    font-size: var(--v160-fs-sm);
    font-weight: 700;
    text-decoration: none;
}

.gab-fm-cta-btn:hover {
    background: var(--v160-accent-hover);
    border-color: var(--v160-accent-hover);
    color: var(--v160-accent-contrast);
}

[dir="rtl"] .gab-fm-cta-btn i,
[dir="rtl"] .gab-mega-item i {
    transform: scaleX(-1);
}


/* ================================================================================
 * 5. HOME SEARCH HUB  (the dominant element — Encar's front door)
 * --------------------------------------------------------------------------------
 * Styles both the legacy .gab-hx / .gab-mkpick markup and the new .v160-pub-hub
 * markup so either home.php revision renders correctly.
 * ============================================================================== */

.gab-hx {
    position: relative;
    padding-block: var(--v160-space-8) var(--v160-space-7);
    background: var(--v160-surface-2);
    border-block-end: 1px solid var(--v160-border);
    overflow: hidden;
}

.gab-hx-bg {
    display: none;
}

.gab-hx-inner,
.gab-hx-layout {
    position: relative;
    z-index: var(--v160-z-raised);
}

.gab-hx-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--v160-space-6);
}

.gab-hx-copy {
    max-inline-size: 760px;
}

.gab-hx-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-block-size: 26px;
    padding-inline: var(--v160-space-3);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-pill);
    background: var(--v160-surface);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-xs);
    font-weight: 600;
    box-shadow: none;
}

.gab-hx-badge-mark {
    color: var(--v160-accent);
}

.gab-hx-title {
    margin: var(--v160-space-3) 0 0;
    font-family: var(--v160-font-sans);
    font-size: var(--v160-fs-4xl);
    font-weight: 800;
    line-height: var(--v160-lh-tight);
    letter-spacing: var(--v160-track-tight);
    color: var(--v160-text);
}

.gab-hx-accent {
    color: var(--v160-accent);
}

.gab-hx-sub {
    margin: var(--v160-space-2) 0 0;
    font-size: var(--v160-fs-lg);
    line-height: var(--v160-lh-snug);
    color: var(--v160-text-muted);
}

/* --- 5.1 The search panel ------------------------------------------------- */

.gab-hx-find,
.v160-pub-hub {
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-2xl);
    background: var(--v160-surface);
    box-shadow: var(--v160-elev-3);
    overflow: hidden;
}

.gab-hx-find-head,
.v160-pub-hub__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--v160-space-3);
    padding: var(--v160-space-4) var(--v160-space-5);
    border-block-end: 1px solid var(--v160-border-subtle);
    background: var(--v160-surface-2);
    font-size: var(--v160-fs-lg);
    font-weight: 700;
    color: var(--v160-text);
}

.v160-pub-hub__body {
    padding: var(--v160-space-5);
}

.v160-pub-hub__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--v160-space-3);
    flex-wrap: wrap;
    padding: var(--v160-space-4) var(--v160-space-5);
    border-block-start: 1px solid var(--v160-border-subtle);
    background: var(--v160-surface-2);
}

/* Tab strip: 브랜드별 / 차종별 / 가격별 */
.gab-hx-makes-tabs,
.v160-pub-hub__tabs {
    display: flex;
    align-items: stretch;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    border: 0;
    border-block-end: 1px solid var(--v160-border);
    background: var(--v160-surface);
    overflow-x: auto;
    scrollbar-width: none;
}

.gab-hx-makes-tabs::-webkit-scrollbar,
.v160-pub-hub__tabs::-webkit-scrollbar {
    display: none;
}

.gab-hx-mtab,
.v160-pub-hub__tab {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 1 1 auto;
    min-block-size: 48px;
    padding-inline: var(--v160-space-4);
    border: 0;
    background: transparent;
    color: var(--v160-text-muted);
    font-family: inherit;
    font-size: var(--v160-fs-lg);
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    transition: color var(--v160-dur) var(--v160-ease), background var(--v160-dur) var(--v160-ease);
}

.gab-hx-mtab::after,
.v160-pub-hub__tab::after {
    content: "";
    position: absolute;
    inset-block-end: -1px;
    inset-inline: 0;
    block-size: 2px;
    background: var(--v160-accent);
    opacity: 0;
    transition: opacity var(--v160-dur) var(--v160-ease);
}

.gab-hx-mtab:hover,
.v160-pub-hub__tab:hover {
    color: var(--v160-text);
    background: var(--v160-surface-2);
}

.gab-hx-mtab.is-on,
.gab-hx-mtab.is-active,
.gab-hx-mtab[aria-selected="true"],
.v160-pub-hub__tab.is-active,
.v160-pub-hub__tab[aria-selected="true"] {
    color: var(--v160-accent);
    font-weight: 700;
    background: var(--v160-surface);
}

.gab-hx-mtab.is-on::after,
.gab-hx-mtab.is-active::after,
.gab-hx-mtab[aria-selected="true"]::after,
.v160-pub-hub__tab.is-active::after,
.v160-pub-hub__tab[aria-selected="true"]::after {
    opacity: 1;
}

/* Brand tile grid — hairline tiles: logo + name + count. */
.gab-hx-makes,
.v160-pub-brand-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
    gap: var(--v160-space-2);
    padding: var(--v160-space-5);
}

.gab-hx-make,
.v160-pub-brand-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-block-size: 96px;
    padding: var(--v160-space-3) var(--v160-space-2);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-lg);
    background: var(--v160-surface);
    color: var(--v160-text);
    text-align: center;
    text-decoration: none;
    transition: border-color var(--v160-dur) var(--v160-ease), box-shadow var(--v160-dur) var(--v160-ease);
}

.gab-hx-make:hover,
.v160-pub-brand-tile:hover {
    border-color: var(--v160-accent-border);
    box-shadow: var(--v160-elev-2);
    transform: none;
}

.gab-hx-make.is-active,
.v160-pub-brand-tile.is-active,
.v160-pub-brand-tile[aria-pressed="true"] {
    border-color: var(--v160-accent);
    background: var(--v160-accent-soft);
}

.gab-hx-make-logo,
.v160-pub-brand-tile__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    inline-size: 40px;
    block-size: 28px;
}

.gab-hx-make-logo img,
.v160-pub-brand-tile__logo img {
    max-inline-size: 100%;
    max-block-size: 100%;
    object-fit: contain;
}

.gab-hx-make-name,
.v160-pub-brand-tile__name {
    max-inline-size: 100%;
    font-size: var(--v160-fs-sm);
    font-weight: 600;
    line-height: var(--v160-lh-tight);
    color: var(--v160-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gab-hx-make-cnt,
.v160-pub-brand-tile__count {
    font-size: var(--v160-fs-2xs);
    font-weight: 600;
    color: var(--v160-text-subtle);
    font-variant-numeric: tabular-nums;
}

.gab-hx-make:hover .gab-hx-make-cnt,
.v160-pub-brand-tile:hover .v160-pub-brand-tile__count {
    color: var(--v160-accent);
}

/* Body-type icon row */
.gab-hx-body-links,
.v160-pub-body-row {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(92px, 1fr));
    gap: var(--v160-space-2);
    padding: var(--v160-space-5);
}

.v160-pub-body-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-block-size: 84px;
    padding: var(--v160-space-2);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-lg);
    background: var(--v160-surface);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-sm);
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    transition: border-color var(--v160-dur) var(--v160-ease), color var(--v160-dur) var(--v160-ease), box-shadow var(--v160-dur) var(--v160-ease);
}

.v160-pub-body-tile i,
.v160-pub-body-tile svg {
    font-size: 26px;
    color: var(--v160-text-subtle);
    transition: color var(--v160-dur) var(--v160-ease);
}

.v160-pub-body-tile:hover {
    border-color: var(--v160-accent-border);
    color: var(--v160-accent-hover);
    box-shadow: var(--v160-elev-2);
}

.v160-pub-body-tile:hover i {
    color: var(--v160-accent);
}

.v160-pub-body-tile.is-active,
.v160-pub-body-tile[aria-pressed="true"] {
    border-color: var(--v160-accent);
    background: var(--v160-accent-soft);
    color: var(--v160-accent-hover);
}

.v160-pub-body-tile__count {
    font-size: var(--v160-fs-2xs);
    font-weight: 600;
    color: var(--v160-text-subtle);
    font-variant-numeric: tabular-nums;
}

/* Quick range chips (price / year / mileage) */
.v160-pub-range-chips {
    display: flex;
    flex-wrap: wrap;
    gap: var(--v160-space-2);
    padding: var(--v160-space-5);
}

.v160-pub-hub-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: var(--v160-space-3);
    padding: var(--v160-space-5);
    border-block-end: 1px solid var(--v160-border-subtle);
}

.v160-pub-hub-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-inline-size: 0;
}

.v160-pub-hub-field__label {
    font-size: var(--v160-fs-xs);
    font-weight: 600;
    color: var(--v160-text-muted);
}

/* The prominent "N대 검색" submit */
.gab-hx-search-primary,
.v160-pub-hub__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--v160-space-2);
    min-block-size: var(--v160-control-h-lg);
    padding-inline: var(--v160-space-7);
    border: 1px solid var(--v160-accent);
    border-radius: var(--v160-r-md);
    background: var(--v160-accent);
    color: var(--v160-accent-contrast);
    font-family: inherit;
    font-size: var(--v160-fs-lg);
    font-weight: 700;
    letter-spacing: var(--v160-track-snug);
    text-decoration: none;
    cursor: pointer;
    box-shadow: var(--v160-elev-1);
    transition: background var(--v160-dur) var(--v160-ease), box-shadow var(--v160-dur) var(--v160-ease);
}

.gab-hx-search-primary:hover,
.v160-pub-hub__submit:hover {
    background: var(--v160-accent-hover);
    border-color: var(--v160-accent-hover);
    box-shadow: var(--v160-elev-3);
    color: var(--v160-accent-contrast);
}

.v160-pub-hub__submit-count {
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    direction: ltr;
    unicode-bidi: isolate;
}

.v160-pub-hub__reset {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-block-size: var(--v160-control-h);
    padding-inline: var(--v160-space-3);
    border: 0;
    background: transparent;
    color: var(--v160-text-muted);
    font-family: inherit;
    font-size: var(--v160-fs-md);
    font-weight: 600;
    cursor: pointer;
}

.v160-pub-hub__reset:hover {
    color: var(--v160-accent);
}

/* Legacy "all makes" affordances */
.gab-aw-makes-section {
    padding-block: var(--v160-space-7);
    background: var(--v160-surface);
}

.gab-aw-makes-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--v160-space-3);
    margin-block-end: var(--v160-space-4);
}

.gab-aw-makes-title {
    font-size: var(--v160-fs-xl);
    font-weight: 700;
    color: var(--v160-text);
}

.gab-aw-makes-all,
.gab-mkpick-allbtn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-block-size: var(--v160-control-h-sm);
    padding-inline: var(--v160-space-3);
    border: 1px solid var(--v160-border-strong);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-sm);
    font-weight: 600;
    text-decoration: none;
    box-shadow: none;
}

.gab-aw-makes-all:hover,
.gab-mkpick-allbtn:hover {
    background: var(--v160-surface-3);
    color: var(--v160-text);
}

/* --- 5.2 Brand / model picker -------------------------------------------- */

.gab-mkpick {
    display: grid;
    grid-template-columns: minmax(0, 240px) minmax(0, 1fr);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-xl);
    background: var(--v160-surface);
    box-shadow: var(--v160-elev-1);
    overflow: hidden;
}

/* defeats the 25-hicm-skin.css sticker outline on this rail */
.gab-mkpick-brands {
    border: 0 !important;
    border-inline-end: 1px solid var(--v160-border) !important;
    background: var(--v160-surface-2);
    max-block-size: 420px;
    overflow-y: auto;
}

.gab-mkpick-bcar {
    display: flex;
    align-items: center;
    gap: var(--v160-space-2);
    inline-size: 100%;
    min-block-size: var(--v160-tap);
    padding-inline: var(--v160-space-4);
    border: 0;
    border-block-end: 1px solid var(--v160-border-subtle);
    background: transparent;
    color: var(--v160-text-muted);
    font-family: inherit;
    font-size: var(--v160-fs-md);
    font-weight: 600;
    text-align: start;
    cursor: pointer;
    transition: background var(--v160-dur) var(--v160-ease), color var(--v160-dur) var(--v160-ease);
}

.gab-mkpick-bcar:hover {
    background: var(--v160-surface-3);
    color: var(--v160-text);
}

.gab-mkpick-bcar.is-on,
.gab-mkpick-bcar[aria-selected="true"] {
    background: var(--v160-surface);
    color: var(--v160-accent);
    box-shadow: inset 3px 0 0 var(--v160-accent);
}

[dir="rtl"] .gab-mkpick-bcar.is-on,
[dir="rtl"] .gab-mkpick-bcar[aria-selected="true"] {
    box-shadow: inset -3px 0 0 var(--v160-accent);
}

.gab-mkpick-bname {
    flex: 1 1 auto;
    min-inline-size: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gab-mkpick-bcnt {
    flex: 0 0 auto;
    color: var(--v160-text-subtle);
    font-size: var(--v160-fs-xs);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.gab-mkpick-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--v160-space-3);
    padding: var(--v160-space-3) var(--v160-space-4);
    border-block-end: 1px solid var(--v160-border-subtle);
    background: var(--v160-surface-2);
    font-size: var(--v160-fs-md);
    font-weight: 700;
    color: var(--v160-text);
}

/* defeats 25-hicm-skin.css sticker outline on the model panel */
.gab-mkpick-models,
.gab-mkpick-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
    gap: var(--v160-space-2);
    padding: var(--v160-space-4);
    border: 0 !important;
    max-block-size: 372px;
    overflow-y: auto;
}

/* defeats 25-hicm-skin.css sticker outline on model chips */
.gab-mkpick-model {
    display: flex;
    align-items: center;
    gap: var(--v160-space-2);
    min-block-size: var(--v160-tap);
    padding-inline: var(--v160-space-3);
    border: 1px solid var(--v160-border) !important;
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-md);
    text-decoration: none;
    box-shadow: none;
    transition: border-color var(--v160-dur) var(--v160-ease), color var(--v160-dur) var(--v160-ease), box-shadow var(--v160-dur) var(--v160-ease);
}

.gab-mkpick-model:hover {
    border-color: var(--v160-accent-border) !important;
    color: var(--v160-accent-hover);
    box-shadow: var(--v160-elev-2);
    transform: none;
}

.gab-mkpick-mico {
    flex: 0 0 auto;
    color: var(--v160-text-subtle);
}

/* --- 5.3 Trust / stat strip ---------------------------------------------- */

.gab-aw-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: var(--v160-space-3);
}

.gab-aw-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: var(--v160-space-5) var(--v160-space-3);
    text-align: center;
}

.gab-aw-stat i {
    font-size: 22px;
    color: var(--v160-text-subtle);
}

.gab-aw-stat b {
    font-size: var(--v160-fs-3xl);
    font-weight: 800;
    letter-spacing: var(--v160-track-tight);
    color: var(--v160-text);
    font-variant-numeric: tabular-nums;
}

.gab-aw-stat span {
    font-size: var(--v160-fs-sm);
    color: var(--v160-text-muted);
}

/* --- 5.4 Proof / discovery / intent blocks -------------------------------- */

.gab-proof-grid,
.gab-marketplace-discovery-grid,
.hicm-type-market-grid,
.hicm-intent-rail {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: var(--v160-space-4);
}

.gab-proof-card,
.hicm-type-market-card,
.hicm-intent {
    display: flex;
    flex-direction: column;
    gap: var(--v160-space-2);
    padding: var(--v160-space-5);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-xl);
    background: var(--v160-surface);
    box-shadow: var(--v160-elev-1);
    text-decoration: none;
    transition: box-shadow var(--v160-dur) var(--v160-ease), border-color var(--v160-dur) var(--v160-ease);
}

.gab-proof-card:hover,
.hicm-type-market-card:hover,
.hicm-intent:hover {
    border-color: var(--v160-border-strong);
    box-shadow: var(--v160-elev-3);
    transform: none;
}

.gab-proof-icon,
.hicm-type-market-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 40px;
    block-size: 40px;
    border-radius: var(--v160-r-md);
    background: var(--v160-accent-soft);
    color: var(--v160-accent);
    font-size: var(--v160-fs-xl);
}

.gab-proof-kicker {
    font-size: var(--v160-fs-xs);
    font-weight: 700;
    letter-spacing: var(--v160-track-snug);
    color: var(--v160-accent);
}

.gab-proof-num {
    font-size: var(--v160-fs-3xl);
    font-weight: 800;
    color: var(--v160-text);
    font-variant-numeric: tabular-nums;
}

.gab-proof-body,
.hicm-type-market-copy,
.hicm-intent-copy {
    font-size: var(--v160-fs-md);
    line-height: var(--v160-lh-base);
    color: var(--v160-text-muted);
}

.gab-proof-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-block-start: auto;
    padding-block-start: var(--v160-space-2);
    color: var(--v160-text-link);
    font-size: var(--v160-fs-md);
    font-weight: 600;
    text-decoration: none;
}

.gab-proof-media,
.hicm-type-market-media,
.hicm-intent-media {
    border-radius: var(--v160-r-lg);
    background: var(--v160-surface-3);
    overflow: hidden;
}

/* Model showcase rail */
.hicm-model-showcase-scroll {
    display: flex;
    gap: var(--v160-space-3);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-block-end: var(--v160-space-2);
}

.hicm-model-tile {
    flex: 0 0 auto;
    inline-size: 220px;
    scroll-snap-align: start;
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-xl);
    background: var(--v160-surface);
    box-shadow: var(--v160-elev-1);
    text-decoration: none;
    overflow: hidden;
}

.hicm-model-tile:hover {
    box-shadow: var(--v160-elev-3);
}

.hicm-model-tile-media {
    aspect-ratio: 4 / 3;
    background: var(--v160-surface-3);
}

.hicm-model-tile-media img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
}

.hicm-model-tile-copy {
    padding: var(--v160-space-3);
    font-size: var(--v160-fs-md);
    font-weight: 600;
    color: var(--v160-text);
}

/* Broker quick strip */
.gab-broker-quick {
    padding-block: var(--v160-space-6);
    background: var(--v160-surface-2);
    border-block: 1px solid var(--v160-border);
}

.gab-broker-quick-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--v160-space-5);
    flex-wrap: wrap;
}

.gab-broker-quick-links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--v160-space-2);
}

.gab-broker-quick-links a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-block-size: var(--v160-control-h);
    padding-inline: var(--v160-space-4);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
    color: var(--v160-text);
    font-size: var(--v160-fs-md);
    font-weight: 600;
    text-decoration: none;
}

.gab-broker-quick-links a:hover {
    border-color: var(--v160-accent-border);
    color: var(--v160-accent-hover);
}

/* --- 5.5 Closing CTA band ------------------------------------------------- */

.gab-cta-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--v160-space-3);
    padding-block: var(--v160-space-9);
    text-align: center;
}

.gab-cta-title {
    font-size: var(--v160-fs-3xl);
    font-weight: 800;
    letter-spacing: var(--v160-track-tight);
}

.gab-cta-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--v160-space-3);
}

.gab-btn-accent {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-block-size: var(--v160-control-h-lg);
    padding-inline: var(--v160-space-6);
    border: 1px solid var(--v160-accent);
    border-radius: var(--v160-r-md);
    background: var(--v160-accent);
    color: var(--v160-accent-contrast);
    font-size: var(--v160-fs-lg);
    font-weight: 700;
    text-decoration: none;
}

.gab-btn-accent:hover {
    background: var(--v160-accent-hover);
    border-color: var(--v160-accent-hover);
    color: var(--v160-accent-contrast);
}

/* defeats 25-hicm-skin.css:1008-1009 on the dark band */
.gab-cta .gab-btn-outline-white {
    min-block-size: var(--v160-control-h-lg);
    padding-inline: var(--v160-space-6);
    border-radius: var(--v160-r-md);
    background: transparent;
    color: var(--v160-text-inverse) !important;
    border: 1px solid var(--v160-border-inverse) !important;
    box-shadow: none;
}

.gab-cta .gab-btn-outline-white:hover {
    background: rgba(255, 255, 255, 0.08);
}


/* ================================================================================
 * 6. LISTING CARD — GRID PRESENTATION
 * ============================================================================== */

.gab-cars-grid,
.gab-cars-grid-3,
.gab-reco-grid,
.gab-dealer-directory-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(258px, 1fr));
    gap: var(--v160-space-4);
}

.gab-car-card {
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

/* --- media --- */

.gab-car-card-gallery {
    position: relative;
    background: var(--v160-surface-3);
}

.gab-ccg-main {
    position: relative;
    aspect-ratio: 4 / 3;
    background: var(--v160-surface-3);
    overflow: hidden;
}

.gab-ccg-main-img,
.gab-car-card-image {
    display: block;
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    transition: transform var(--v160-dur-slow) var(--v160-ease);
}

.gab-car-card:hover .gab-ccg-main-img {
    transform: scale(1.03);
}

.gab-car-card-image-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    inline-size: 100%;
    block-size: 100%;
    background: var(--v160-surface-3);
}

.gab-ph-mascot {
    inline-size: 44px;
    block-size: 44px;
    opacity: 0.26;
    filter: grayscale(1);
}

.gab-ccg-thumbs {
    display: flex;
    gap: 4px;
    padding: 4px;
    background: var(--v160-surface);
}

.gab-ccg-thumb {
    flex: 1 1 0;
    aspect-ratio: 4 / 3;
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-xs);
    background: var(--v160-surface-3);
    object-fit: cover;
    overflow: hidden;
}

.gab-ccg-thumb:hover {
    border-color: var(--v160-border-strong);
}

.gab-ccg-count,
.gab-ccg-video {
    position: absolute;
    inset-block-end: var(--v160-space-2);
    inset-inline-end: var(--v160-space-2);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px var(--v160-space-2);
    border-radius: var(--v160-r-sm);
    background: rgba(15, 23, 42, 0.72);
    color: var(--v160-text-inverse);
    font-size: var(--v160-fs-2xs);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.gab-ccg-video {
    inset-inline-end: auto;
    inset-inline-start: var(--v160-space-2);
}

/* --- overlay badges --- */

.gab-car-card-badges {
    position: absolute;
    inset-block-start: var(--v160-space-2);
    inset-inline-start: var(--v160-space-2);
    z-index: var(--v160-z-raised);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    pointer-events: none;
}

.gab-car-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-block-size: 20px;
    padding-inline: var(--v160-space-2);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-sm);
    background: var(--v160-surface);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-2xs);
    font-weight: 700;
    line-height: 1;
    box-shadow: var(--v160-elev-1);
}

.gab-car-badge-hot,
.gab-car-badge-new {
    border-color: var(--v160-accent-border);
    background: var(--v160-accent-soft);
    color: var(--v160-accent-hover);
}

.gab-car-badge-inspected,
.gab-car-badge-verified,
.gab-car-badge-certified {
    border-color: var(--v160-success-border);
    background: var(--v160-success-soft);
    color: var(--v160-success);
}

.gab-car-badge-lease,
.gab-car-badge-rent {
    border-color: var(--v160-info-border);
    background: var(--v160-info-soft);
    color: var(--v160-info);
}

.gab-ccg-ribbon {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-block-size: 22px;
    padding-inline: var(--v160-space-2);
    border: 0;
    border-radius: var(--v160-r-sm);
    background: var(--v160-accent);
    color: var(--v160-accent-contrast);
    font-size: var(--v160-fs-2xs);
    font-weight: 700;
    box-shadow: var(--v160-elev-1);
}

.gab-ccg-ribbon-ico {
    font-size: var(--v160-fs-xs);
}

/* --- favourite / compare --- */

.gab-car-card-fav,
.gab-car-card-compare {
    position: absolute;
    inset-block-start: var(--v160-space-2);
    inset-inline-end: var(--v160-space-2);
    z-index: var(--v160-z-raised);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 34px;
    block-size: 34px;
    border-radius: var(--v160-r-pill);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-lg);
    cursor: pointer;
    transition: color var(--v160-dur) var(--v160-ease), border-color var(--v160-dur) var(--v160-ease);
}

.gab-car-card-compare {
    inset-block-start: calc(var(--v160-space-2) + 40px);
    border: 1px solid var(--v160-border);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: var(--v160-elev-1);
}

/* both defeat 25-hicm-skin.css:276 */
.gab-car-card-fav:hover,
.gab-car-card-compare:hover {
    border-color: var(--v160-accent-border) !important;
    color: var(--v160-accent);
}

.gab-car-card-fav.is-active {
    border-color: var(--v160-accent-border) !important;
    color: var(--v160-accent);
}

/* --- body --- */

.gab-car-card-body {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1 1 auto;
    padding: var(--v160-space-3) var(--v160-space-4) var(--v160-space-4);
}

.gab-car-card-topline {
    display: flex;
    align-items: center;
    gap: var(--v160-space-2);
    min-block-size: 20px;
    padding: 0;
    border: 0;
    background: none;
}

.gab-car-card-brand {
    font-size: var(--v160-fs-2xs);
    font-weight: 700;
    letter-spacing: var(--v160-track-snug);
    color: var(--v160-text-subtle);
    text-transform: uppercase;
}

.gab-seller-type {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    min-block-size: 19px;
    padding-inline: 6px;
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-sm);
    background: var(--v160-surface-2);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-2xs);
    font-weight: 700;
    line-height: 1;
}

.gab-seller-type.is-verified,
.gab-seller-type--platform,
.gab-seller-type--dealer {
    border-color: var(--v160-info-border);
    background: var(--v160-info-soft);
    color: var(--v160-info);
}

.gab-vehicle-country {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    margin-inline-start: auto;
    font-size: var(--v160-fs-2xs);
    color: var(--v160-text-subtle);
}

.gab-car-card-title {
    margin: 0;
    font-size: var(--v160-fs-lg);
    font-weight: 700;
    line-height: var(--v160-lh-tight);
    letter-spacing: var(--v160-track-snug);
    color: var(--v160-text);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.gab-car-card-title a {
    color: inherit;
    text-decoration: none;
}

.gab-car-card:hover .gab-car-card-title a {
    color: var(--v160-accent);
}

/* spec line: 연식 · 주행 · 연료 */
.gab-car-card-specs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    padding: 0;
    border: 0;
    font-size: var(--v160-fs-sm);
    color: var(--v160-text-muted);
    font-variant-numeric: tabular-nums;
}

.gab-car-card-spec {
    white-space: nowrap;
}

.gab-car-card-spec-divider {
    display: inline-block;
    inline-size: 1px;
    block-size: 10px;
    background: var(--v160-border-strong);
}

.gab-car-card-meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--v160-space-2);
    font-size: var(--v160-fs-xs);
    color: var(--v160-text-subtle);
}

.gab-car-card-location {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    min-inline-size: 0;
    padding: 0;
    border: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gab-car-card-number {
    flex: 0 0 auto;
    font-variant-numeric: tabular-nums;
}

/* price block pinned to the bottom, emphasised */
.gab-car-card-price-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--v160-space-2);
    margin-block-start: auto;
    padding-block-start: var(--v160-space-3);
    border-block-start: 1px solid var(--v160-border-subtle);
}

.gab-car-card-price-main {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1px;
    min-inline-size: 0;
}

.gab-car-card-price-label {
    font-size: var(--v160-fs-2xs);
    color: var(--v160-text-subtle);
}

.gab-car-card-price-original {
    font-size: var(--v160-fs-xs);
    color: var(--v160-text-subtle);
    text-decoration: line-through;
    font-variant-numeric: tabular-nums;
}

.gab-car-card-price-value {
    font-size: var(--v160-fs-2xl);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: var(--v160-track-tight);
    color: var(--v160-accent);
    font-variant-numeric: tabular-nums;
    direction: ltr;
    unicode-bidi: isolate;
}

.gab-car-card-price-tag {
    display: inline-flex;
    align-items: center;
    min-block-size: 20px;
    padding-inline: 6px;
    border-radius: var(--v160-r-sm);
    background: var(--v160-danger-soft);
    color: var(--v160-danger);
    font-size: var(--v160-fs-2xs);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.gab-car-card-inquiry {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex: 0 0 auto;
    min-block-size: var(--v160-control-h-sm);
    padding-inline: var(--v160-space-3);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-xs);
    font-weight: 600;
    white-space: nowrap;
    text-decoration: none;
}

.gab-car-card-inquiry:hover {
    border-color: var(--v160-accent-border);
    background: var(--v160-accent-soft);
    color: var(--v160-accent-hover);
}


/* ================================================================================
 * 7. LISTING CARD — HORIZONTAL ROW (Encar's default result presentation)
 * --------------------------------------------------------------------------------
 * `.is-list` is toggled onto the grid container by gabViewMode() in footer.php.
 * `.v160-pub-row` is the standalone primitive for rewritten templates.
 * ============================================================================== */

.is-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    border-block-start: 1px solid var(--v160-border);
}

/* defeats 25-hicm-skin.css:240 */
.is-list .gab-car-card {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    border: 0 !important;
    border-block-end: 1px solid var(--v160-border) !important;
    border-radius: 0;
    box-shadow: none;
    background: var(--v160-surface);
}

.is-list .gab-car-card:hover {
    background: var(--v160-surface-2);
    box-shadow: none;
}

.is-list .gab-car-card-gallery {
    flex: 0 0 auto;
    inline-size: 232px;
    align-self: center;
    padding: var(--v160-space-3);
    background: transparent;
}

.is-list .gab-ccg-main {
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-md);
}

.is-list .gab-ccg-thumbs {
    display: none;
}

.is-list .gab-car-card-body {
    justify-content: center;
    padding-block: var(--v160-space-4);
    padding-inline: var(--v160-space-2) var(--v160-space-5);
}

.is-list .gab-car-card-title {
    font-size: var(--v160-fs-xl);
    -webkit-line-clamp: 1;
}

.is-list .gab-car-card-price-row {
    border-block-start: 0;
    padding-block-start: var(--v160-space-2);
}

.v160-pub-row {
    display: grid;
    grid-template-columns: 232px minmax(0, 1fr) minmax(160px, auto);
    align-items: stretch;
    gap: var(--v160-space-4);
    padding: var(--v160-space-4);
    border-block-end: 1px solid var(--v160-border);
    background: var(--v160-surface);
    text-decoration: none;
    transition: background var(--v160-dur) var(--v160-ease);
}

.v160-pub-row:hover {
    background: var(--v160-surface-2);
}

.v160-pub-row__media {
    position: relative;
    aspect-ratio: 4 / 3;
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface-3);
    overflow: hidden;
}

.v160-pub-row__media img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
}

.v160-pub-row__main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    min-inline-size: 0;
}

.v160-pub-row__title {
    margin: 0;
    font-size: var(--v160-fs-xl);
    font-weight: 700;
    line-height: var(--v160-lh-tight);
    letter-spacing: var(--v160-track-snug);
    color: var(--v160-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.v160-pub-row__specs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    font-size: var(--v160-fs-md);
    color: var(--v160-text-muted);
    font-variant-numeric: tabular-nums;
}

.v160-pub-row__specs span + span::before {
    content: "";
    display: inline-block;
    inline-size: 1px;
    block-size: 10px;
    margin-inline-end: 6px;
    vertical-align: -1px;
    background: var(--v160-border-strong);
}

.v160-pub-row__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--v160-space-2);
    font-size: var(--v160-fs-xs);
    color: var(--v160-text-subtle);
}

.v160-pub-row__price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 4px;
    padding-inline-start: var(--v160-space-4);
    border-inline-start: 1px solid var(--v160-border-subtle);
    text-align: end;
}

.v160-pub-row__price-label {
    font-size: var(--v160-fs-2xs);
    color: var(--v160-text-subtle);
}

.v160-pub-row__price-value {
    font-size: var(--v160-fs-3xl);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: var(--v160-track-tight);
    color: var(--v160-accent);
    font-variant-numeric: tabular-nums;
    direction: ltr;
    unicode-bidi: isolate;
}


/* ================================================================================
 * 8. LISTING PAGE — LAYOUT, FILTER RAIL, TOOLBAR, PAGINATION
 * ============================================================================== */

.gab-list-layout {
    display: grid;
    grid-template-columns: 268px minmax(0, 1fr);
    align-items: start;
    gap: var(--v160-space-6);
    padding-block: var(--v160-space-5) var(--v160-space-9);
}

.gab-list-results {
    min-inline-size: 0;
}

/* --- 8.1 Results intro --------------------------------------------------- */

.gab-results-intro {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--v160-space-4);
    flex-wrap: wrap;
    margin-block-end: var(--v160-space-4);
}

.gab-results-eyebrow {
    font-size: var(--v160-fs-xs);
    font-weight: 700;
    letter-spacing: var(--v160-track-snug);
    color: var(--v160-accent);
}

.gab-results-heading {
    margin: 2px 0 0;
    font-size: var(--v160-fs-2xl);
    font-weight: 700;
    line-height: var(--v160-lh-tight);
    letter-spacing: var(--v160-track-tight);
    color: var(--v160-text);
}

.gab-results-description {
    margin: var(--v160-space-1) 0 0;
    font-size: var(--v160-fs-md);
    line-height: var(--v160-lh-snug);
    color: var(--v160-text-muted);
}

.gab-results-assurance {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: var(--v160-space-2) var(--v160-space-3);
    border: 1px solid var(--v160-success-border);
    border-radius: var(--v160-r-md);
    background: var(--v160-success-soft);
    color: var(--v160-success);
    font-size: var(--v160-fs-xs);
    font-weight: 600;
}

/* --- 8.2 Filter rail ----------------------------------------------------- */

.gab-filter-sidebar,
.v160-pub-filters {
    position: sticky;
    inset-block-start: 96px;
    max-block-size: calc(100vh - 116px);
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-xl);
    background: var(--v160-surface);
    box-shadow: var(--v160-elev-1);
    scrollbar-width: thin;
}

.gab-filter-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--v160-space-2);
    position: sticky;
    inset-block-start: 0;
    z-index: var(--v160-z-raised);
    padding: var(--v160-space-3) var(--v160-space-4);
    border-block-end: 1px solid var(--v160-border);
    background: var(--v160-surface-2);
}

.gab-filter-header-title {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: var(--v160-fs-md);
    font-weight: 700;
    color: var(--v160-text);
}

.gab-filter-reset {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-block-size: var(--v160-control-h-sm);
    padding-inline: var(--v160-space-2);
    border: 0;
    border-radius: var(--v160-r-sm);
    background: transparent;
    color: var(--v160-text-muted);
    font-family: inherit;
    font-size: var(--v160-fs-xs);
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}

.gab-filter-reset:hover {
    background: var(--v160-surface-3);
    color: var(--v160-accent);
}

/* Accordion section */
.gab-filter-group,
.v160-pub-facet {
    border-block-end: 1px solid var(--v160-border-subtle);
}

.gab-filter-group:last-child,
.v160-pub-facet:last-child {
    border-block-end: 0;
}

.gab-filter-group-title,
.v160-pub-facet__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--v160-space-2);
    inline-size: 100%;
    min-block-size: var(--v160-tap);
    padding-inline: var(--v160-space-4);
    border: 0;
    background: transparent;
    color: var(--v160-text);
    font-family: inherit;
    font-size: var(--v160-fs-md);
    font-weight: 700;
    text-align: start;
    cursor: pointer;
    user-select: none;
    transition: background var(--v160-dur) var(--v160-ease);
}

.gab-filter-group-title:hover,
.v160-pub-facet__head:hover {
    background: var(--v160-surface-2);
}

.gab-filter-group-title i,
.v160-pub-facet__head i {
    flex: 0 0 auto;
    font-size: var(--v160-fs-xs);
    color: var(--v160-text-subtle);
    transition: transform var(--v160-dur) var(--v160-ease);
}

.gab-filter-group.is-collapsed .gab-filter-group-title i,
.v160-pub-facet__head[aria-expanded="false"] i {
    transform: rotate(180deg);
}

.gab-filter-gbody,
.v160-pub-facet__body {
    padding: 0 var(--v160-space-4) var(--v160-space-3);
}

.gab-filter-group.is-collapsed .gab-filter-gbody,
.v160-pub-facet__body[hidden] {
    display: none;
}

.gab-filter-options,
.v160-pub-facet__list {
    display: flex;
    flex-direction: column;
    gap: 0;
    max-block-size: 268px;
    overflow-y: auto;
    scrollbar-width: thin;
}

.gab-filter-options label,
.v160-pub-facet__list label {
    display: flex;
    align-items: center;
    gap: var(--v160-space-2);
    min-block-size: 36px;
    padding-inline: 2px;
    border-radius: var(--v160-r-sm);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-md);
    cursor: pointer;
    transition: color var(--v160-dur) var(--v160-ease), background var(--v160-dur) var(--v160-ease);
}

.gab-filter-options label:hover,
.v160-pub-facet__list label:hover {
    background: var(--v160-surface-3);
    color: var(--v160-text);
}

.gab-filter-options input[type="checkbox"],
.gab-filter-options input[type="radio"] {
    position: absolute;
    opacity: 0;
    inline-size: 1px;
    block-size: 1px;
}

/* Legacy custom checkbox mark */
.gab-filter-checkbox {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    inline-size: 18px;
    block-size: 18px;
    border: 1px solid var(--v160-border-strong);
    border-radius: var(--v160-r-xs);
    background: var(--v160-surface);
    color: transparent;
    font-size: 12px;
    transition: background var(--v160-dur) var(--v160-ease), border-color var(--v160-dur) var(--v160-ease), color var(--v160-dur) var(--v160-ease);
}

.gab-filter-options input:checked + .gab-filter-checkbox {
    border-color: var(--v160-accent);
    background: var(--v160-accent);
    color: var(--v160-accent-contrast);
}

.gab-filter-options input:focus-visible + .gab-filter-checkbox {
    box-shadow: var(--v160-ring);
}

.gab-filter-options input:checked ~ span {
    color: var(--v160-text);
    font-weight: 600;
}

.gab-filter-count,
.v160-pub-facet__count {
    margin-inline-start: auto;
    color: var(--v160-text-subtle);
    font-size: var(--v160-fs-xs);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

/* Facet search box */
.gab-fb-search {
    display: flex;
    align-items: center;
    gap: 6px;
    min-block-size: var(--v160-control-h-sm);
    margin-block-end: var(--v160-space-2);
    padding-inline: var(--v160-space-2);
    border: 1px solid var(--v160-border-strong);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
}

.gab-fb-search:focus-within {
    border-color: var(--v160-accent);
    box-shadow: var(--v160-ring);
}

.gab-fb-search input {
    flex: 1 1 auto;
    min-inline-size: 0;
    border: 0;
    background: transparent;
    color: var(--v160-text);
    font-family: inherit;
    font-size: var(--v160-fs-sm);
    outline: none;
}

/* Origin tabs inside the brand facet */
.gab-fb-otab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 0;
    min-block-size: var(--v160-control-h-sm);
    border: 1px solid var(--v160-border-strong) !important; /* defeats 25-hicm-skin.css sticker outline */
    background: var(--v160-surface);
    color: var(--v160-text-muted);
    font-family: inherit;
    font-size: var(--v160-fs-sm);
    font-weight: 600;
    cursor: pointer;
}

.gab-fb-otab:first-child {
    border-start-start-radius: var(--v160-r-md);
    border-end-start-radius: var(--v160-r-md);
}

.gab-fb-otab:last-child {
    border-start-end-radius: var(--v160-r-md);
    border-end-end-radius: var(--v160-r-md);
}

.gab-fb-otab + .gab-fb-otab {
    border-inline-start: 0 !important; /* defeats 25-hicm-skin.css sticker outline */
}

/* defeats the same 25-hicm-skin.css sticker outline on the active state */
.gab-fb-otab.is-on,
.gab-fb-otab[aria-selected="true"] {
    background: var(--v160-accent-soft);
    border-color: var(--v160-accent-border) !important;
    color: var(--v160-accent-hover);
}

.gab-fb-origin {
    display: flex;
    margin-block-end: var(--v160-space-2);
}

.gab-fb-row {
    display: flex;
    align-items: center;
    gap: var(--v160-space-2);
    min-block-size: 36px;
    padding-inline: 2px;
    border-radius: var(--v160-r-sm);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-md);
    text-decoration: none;
    cursor: pointer;
}

.gab-fb-row:hover {
    background: var(--v160-surface-3);
    color: var(--v160-text);
}

.gab-fb-name {
    flex: 1 1 auto;
    min-inline-size: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gab-fb-cnt {
    flex: 0 0 auto;
    color: var(--v160-text-subtle);
    font-size: var(--v160-fs-xs);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

/* defeats 25-hicm-skin.css sticker outline on the model sublist */
.gab-fb-models {
    border: 0 !important;
    border-inline-start: 1px solid var(--v160-border) !important;
    margin-inline-start: var(--v160-space-3);
    padding-inline-start: var(--v160-space-3);
}

.gab-fb-scroll {
    max-block-size: 268px;
    overflow-y: auto;
    scrollbar-width: thin;
}

/* --- 8.3 Dual-range slider (price / year / mileage) ----------------------- */

.gab-filter-range,
.v160-pub-range {
    display: flex;
    flex-direction: column;
    gap: var(--v160-space-2);
}

.gab-rslider {
    position: relative;
    block-size: 26px;
    margin-inline: 8px;
}

.gab-rslider-rail {
    position: absolute;
    inset-block-start: 11px;
    inset-inline: 0;
    block-size: 4px;
    border-radius: var(--v160-r-pill);
    background: var(--v160-surface-3);
    border: 1px solid var(--v160-border);
}

.gab-rslider-fill {
    position: absolute;
    inset-block-start: 11px;
    block-size: 4px;
    border-radius: var(--v160-r-pill);
    background: var(--v160-accent);
}

.gab-rslider-h {
    position: absolute;
    inset-block-start: 0;
    inline-size: 100%;
    block-size: 26px;
    margin: 0;
    padding: 0;
    border: 0 !important; /* defeats the 25-hicm-skin.css sticker outline on range thumbs */
    background: transparent;
    pointer-events: none;
    appearance: none;
    -webkit-appearance: none;
}

.gab-rslider-h::-webkit-slider-thumb {
    pointer-events: auto;
    appearance: none;
    -webkit-appearance: none;
    inline-size: 18px;
    block-size: 18px;
    border: 1px solid var(--v160-border-strong);
    border-radius: var(--v160-r-pill);
    background: var(--v160-surface);
    box-shadow: var(--v160-elev-2);
    cursor: grab;
}

.gab-rslider-h::-moz-range-thumb {
    pointer-events: auto;
    inline-size: 18px;
    block-size: 18px;
    border: 1px solid var(--v160-border-strong);
    border-radius: var(--v160-r-pill);
    background: var(--v160-surface);
    box-shadow: var(--v160-elev-2);
    cursor: grab;
}

.gab-rslider-h:focus-visible::-webkit-slider-thumb {
    border-color: var(--v160-accent);
    box-shadow: var(--v160-ring);
}

.gab-rslider-vals {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--v160-space-2);
    font-size: var(--v160-fs-sm);
    font-weight: 600;
    color: var(--v160-text);
    font-variant-numeric: tabular-nums;
}

.gab-rslider-vmin,
.gab-rslider-vmax {
    direction: ltr;
    unicode-bidi: isolate;
}

/* Colour swatches */
.gab-filter-colors {
    display: flex;
    flex-wrap: wrap;
    gap: var(--v160-space-2);
}

.gab-filter-colors label {
    inline-size: 28px;
    block-size: 28px;
    min-block-size: 0;
    border: 1px solid var(--v160-border-strong);
    border-radius: var(--v160-r-pill);
    padding: 0;
}

.gab-filter-colors input:checked + span {
    box-shadow: 0 0 0 2px var(--v160-accent);
    border-radius: var(--v160-r-pill);
}

/* Chip-style filter values */
.gab-filter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: var(--v160-space-2);
}

.gab-filter-chip {
    display: inline-flex;
    align-items: center;
    min-block-size: var(--v160-control-h-sm);
    padding-inline: var(--v160-space-3);
    border: 1px solid var(--v160-border-strong);
    border-radius: var(--v160-r-pill);
    background: var(--v160-surface);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-sm);
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}

.gab-filter-chip:hover {
    border-color: var(--v160-accent-border);
    color: var(--v160-accent-hover);
}

.gab-filter-chip.is-on,
.gab-filter-chip[aria-pressed="true"] {
    border-color: var(--v160-accent);
    background: var(--v160-accent-soft);
    color: var(--v160-accent-hover);
}

.gab-filter-apply,
.gab-filter-sheet-apply {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    inline-size: 100%;
    min-block-size: var(--v160-control-h);
    border: 1px solid var(--v160-accent);
    border-radius: var(--v160-r-md);
    background: var(--v160-accent);
    color: var(--v160-accent-contrast);
    font-family: inherit;
    font-size: var(--v160-fs-md);
    font-weight: 700;
    cursor: pointer;
    box-shadow: var(--v160-elev-1);
}

.gab-filter-apply:hover,
.gab-filter-sheet-apply:hover {
    background: var(--v160-accent-hover);
    border-color: var(--v160-accent-hover);
}

.gab-filter-sheet-foot {
    position: sticky;
    inset-block-end: 0;
    padding: var(--v160-space-3) var(--v160-space-4);
    border-block-start: 1px solid var(--v160-border);
    background: var(--v160-surface);
}

.gab-filter-sheet-close,
.gab-filter-mtoggle {
    display: none;
}

/* --- 8.4 Sort / view toolbar --------------------------------------------- */

.gab-list-toolbar,
.v160-pub-sortbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--v160-space-3);
    flex-wrap: wrap;
    min-block-size: 52px;
    margin-block-end: var(--v160-space-4);
    padding: var(--v160-space-2) var(--v160-space-3);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-lg);
    background: var(--v160-surface);
    box-shadow: none;
}

.gab-list-count,
.gab-list-result-summary {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    font-size: var(--v160-fs-md);
    color: var(--v160-text-muted);
    font-variant-numeric: tabular-nums;
}

.gab-list-count b,
.gab-list-count strong,
.gab-list-result-summary b {
    font-size: var(--v160-fs-lg);
    font-weight: 800;
    color: var(--v160-accent);
}

.gab-list-range {
    color: var(--v160-text-subtle);
    font-size: var(--v160-fs-xs);
    font-variant-numeric: tabular-nums;
}

.gab-list-controls {
    display: flex;
    align-items: center;
    gap: var(--v160-space-2);
    flex-wrap: wrap;
}

.gab-sort-tabs {
    display: inline-flex;
    align-items: stretch;
    border: 1px solid var(--v160-border-strong);
    border-radius: var(--v160-r-md);
    overflow: hidden;
}

.gab-sort-tabs a,
.gab-sort-tabs button {
    display: inline-flex;
    align-items: center;
    min-block-size: var(--v160-control-h-sm);
    padding-inline: var(--v160-space-3);
    border: 0;
    background: var(--v160-surface);
    color: var(--v160-text-muted);
    font-family: inherit;
    font-size: var(--v160-fs-sm);
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}

.gab-sort-tabs a + a,
.gab-sort-tabs button + button {
    border-inline-start: 1px solid var(--v160-border);
}

.gab-sort-tabs .is-on,
.gab-sort-tabs [aria-current="true"],
.gab-sort-tabs [aria-selected="true"] {
    background: var(--v160-accent-soft);
    color: var(--v160-accent-hover);
}

.gab-perpage-select,
.gab-sort-select {
    min-block-size: var(--v160-control-h-sm);
    padding-inline: var(--v160-space-3) var(--v160-space-6);
    border: 1px solid var(--v160-border-strong);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
    color: var(--v160-text);
    font-family: inherit;
    font-size: var(--v160-fs-sm);
    font-weight: 600;
    cursor: pointer;
}

.gab-perpage-select:focus-visible,
.gab-sort-select:focus-visible {
    border-color: var(--v160-accent);
    box-shadow: var(--v160-ring);
    outline: none;
}

.gab-list-view-toggle,
.gab-qbar-view {
    display: inline-flex;
    align-items: stretch;
    border: 1px solid var(--v160-border-strong);
    border-radius: var(--v160-r-md);
    overflow: hidden;
}

.gab-list-view-btn,
.gab-qbar-view-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 36px;
    min-block-size: var(--v160-control-h-sm);
    border: 0;
    background: var(--v160-surface);
    color: var(--v160-text-subtle);
    font-size: var(--v160-fs-lg);
    cursor: pointer;
    transition: background var(--v160-dur) var(--v160-ease), color var(--v160-dur) var(--v160-ease);
}

.gab-list-view-btn + .gab-list-view-btn,
.gab-qbar-view-btn + .gab-qbar-view-btn {
    border-inline-start: 1px solid var(--v160-border);
}

.gab-list-view-btn:hover,
.gab-qbar-view-btn:hover {
    background: var(--v160-surface-3);
    color: var(--v160-text);
}

.gab-list-view-btn.is-active,
.gab-qbar-view-btn.is-active {
    background: var(--v160-accent-soft);
    color: var(--v160-accent);
}

/* --- 8.5 Quick filter bar (sticky above results) -------------------------- */

.gab-qbar {
    display: flex;
    align-items: center;
    gap: var(--v160-space-2);
    margin-block-end: var(--v160-space-3);
    padding: var(--v160-space-2);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-lg);
    background: var(--v160-surface);
}

.gab-qbar-filter,
.gab-qbar-sort {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
    min-block-size: var(--v160-control-h-sm);
    padding-inline: var(--v160-space-3);
    border: 1px solid var(--v160-border-strong) !important; /* defeats 25-hicm-skin.css sticker outline */
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
    color: var(--v160-text);
    font-family: inherit;
    font-size: var(--v160-fs-sm);
    font-weight: 600;
    cursor: pointer;
    box-shadow: none;
}

.gab-qbar-filter:hover,
.gab-qbar-sort:hover {
    background: var(--v160-surface-3);
}

.gab-qbar-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-inline-size: 17px;
    block-size: 17px;
    padding-inline: 4px;
    border-radius: var(--v160-r-pill);
    background: var(--v160-accent);
    color: var(--v160-accent-contrast);
    font-size: var(--v160-fs-2xs);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.gab-qbar-reset {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: var(--v160-control-h-sm);
    block-size: var(--v160-control-h-sm);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
    color: var(--v160-text-muted);
    cursor: pointer;
}

.gab-qbar-reset:hover {
    color: var(--v160-accent);
    border-color: var(--v160-accent-border);
}

.gab-qbar-divider {
    inline-size: 1px;
    block-size: 20px;
    background: var(--v160-border);
    flex: 0 0 auto;
}

.gab-qbar-chips {
    display: flex;
    align-items: center;
    gap: var(--v160-space-2);
    flex: 1 1 auto;
    min-inline-size: 0;
    overflow-x: auto;
    scrollbar-width: none;
}

.gab-qbar-chips::-webkit-scrollbar {
    display: none;
}

.gab-qbar-sort-caret {
    font-size: 10px;
    color: var(--v160-text-subtle);
}

/* --- 8.6 Applied filter chips -------------------------------------------- */

.gab-active-filters,
.v160-pub-applied {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--v160-space-2);
    margin-block-end: var(--v160-space-4);
    padding: var(--v160-space-3);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-lg);
    background: var(--v160-surface-2);
}

.gab-active-filters-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
    font-size: var(--v160-fs-xs);
    font-weight: 700;
    color: var(--v160-text-muted);
}

.gab-active-filters .gab-filter-chip,
.v160-pub-applied .v160-chip {
    background: var(--v160-surface);
}

.gab-active-filters-clear {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-inline-start: auto;
    min-block-size: var(--v160-control-h-sm);
    padding-inline: var(--v160-space-3);
    border: 1px solid var(--v160-border-strong);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-xs);
    font-weight: 600;
    text-decoration: none;
}

.gab-active-filters-clear:hover {
    border-color: var(--v160-danger-border);
    background: var(--v160-danger-soft);
    color: var(--v160-danger);
}

.gab-af-actions {
    display: inline-flex;
    align-items: center;
    gap: var(--v160-space-2);
}

.gab-af-save,
.gab-af-share {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-block-size: var(--v160-control-h-sm);
    padding-inline: var(--v160-space-3);
    border: 1px solid var(--v160-border-strong);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
    color: var(--v160-text-muted);
    font-family: inherit;
    font-size: var(--v160-fs-xs);
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
}

.gab-af-save:hover,
.gab-af-share:hover {
    border-color: var(--v160-accent-border);
    color: var(--v160-accent-hover);
}

/* Quick filter chip rail */
.gab-quickfilters {
    display: flex;
    gap: var(--v160-space-2);
    margin-block-end: var(--v160-space-3);
    overflow-x: auto;
    scrollbar-width: none;
}

.gab-quickfilters::-webkit-scrollbar {
    display: none;
}

.gab-qf-check {
    color: var(--v160-accent);
}

/* --- 8.7 Sort bottom sheet (shared shell; layer 41 owns mobile behaviour) -- */

.gab-sort-sheet {
    border-start-start-radius: var(--v160-r-2xl);
    border-start-end-radius: var(--v160-r-2xl);
    border: 1px solid var(--v160-border);
    background: var(--v160-surface);
    box-shadow: var(--v160-elev-5);
}

.gab-sort-sheet-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--v160-space-2);
    padding: var(--v160-space-4);
    border-block-end: 1px solid var(--v160-border-subtle);
}

.gab-sort-sheet-title {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: var(--v160-fs-lg);
    font-weight: 700;
    color: var(--v160-text);
}

.gab-sort-sheet-x {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: var(--v160-tap);
    block-size: var(--v160-tap);
    border: 0;
    border-radius: var(--v160-r-md);
    background: transparent;
    color: var(--v160-text-muted);
    cursor: pointer;
}

.gab-sort-sheet-x:hover {
    background: var(--v160-surface-3);
}

.gab-sort-sheet-list {
    display: flex;
    flex-direction: column;
    padding: var(--v160-space-2);
}

.gab-sort-opt {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--v160-space-2);
    min-block-size: var(--v160-tap);
    padding-inline: var(--v160-space-3);
    border: 0;
    border-radius: var(--v160-r-md);
    background: transparent;
    color: var(--v160-text);
    font-family: inherit;
    font-size: var(--v160-fs-lg);
    text-align: start;
    cursor: pointer;
}

.gab-sort-opt:hover {
    background: var(--v160-surface-3);
}

.gab-sort-opt.is-on {
    background: var(--v160-accent-soft);
    color: var(--v160-accent-hover);
    font-weight: 700;
}

.gab-sort-opt-check {
    color: var(--v160-accent);
}

.gab-sheet-count {
    font-size: var(--v160-fs-sm);
    color: var(--v160-text-subtle);
    font-variant-numeric: tabular-nums;
}

/* --- 8.8 Pagination ------------------------------------------------------ */

.gab-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px;
    margin-block-start: var(--v160-space-7);
}

.gab-page-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-inline-size: var(--v160-control-h);
    block-size: var(--v160-control-h);
    padding-inline: var(--v160-space-2);
    border: 1px solid var(--v160-border) !important; /* defeats 25-hicm-skin.css sticker outline */
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
    color: var(--v160-text-muted);
    font-family: inherit;
    font-size: var(--v160-fs-md);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    text-decoration: none;
    box-shadow: none;
    transition: border-color var(--v160-dur) var(--v160-ease), background var(--v160-dur) var(--v160-ease), color var(--v160-dur) var(--v160-ease);
}

/* both defeat the 25-hicm-skin.css sticker outline on .gab-page-btn */
.gab-page-btn:hover {
    border-color: var(--v160-border-strong) !important;
    background: var(--v160-surface-3);
    color: var(--v160-text);
}

.gab-page-btn.is-active,
.gab-page-btn[aria-current="page"] {
    border-color: var(--v160-accent) !important;
    background: var(--v160-accent);
    color: var(--v160-accent-contrast);
}

.gab-page-btn.is-disabled,
.gab-page-btn[aria-disabled="true"] {
    opacity: 0.45;
    pointer-events: none;
}

.gab-page-ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-inline-size: 28px;
    block-size: var(--v160-control-h);
    color: var(--v160-text-subtle);
}

[dir="rtl"] .gab-page-btn i {
    transform: scaleX(-1);
}

.gab-infinite {
    display: flex;
    justify-content: center;
    padding-block: var(--v160-space-6);
}

/* --- 8.9 Recommendation rail --------------------------------------------- */

.gab-reco-section {
    padding-block: var(--v160-space-7);
    border-block-start: 1px solid var(--v160-border);
}

.gab-reco-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--v160-space-3);
    margin-block-end: var(--v160-space-4);
}

.gab-reco-title {
    font-size: var(--v160-fs-xl);
    font-weight: 700;
    color: var(--v160-text);
}

.gab-reco-sub {
    font-size: var(--v160-fs-sm);
    color: var(--v160-text-muted);
}


/* ================================================================================
 * 9. CAR DETAIL
 * ============================================================================== */

.gab-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 372px;
    align-items: start;
    gap: var(--v160-space-6);
    padding-block: var(--v160-space-4) var(--v160-space-9);
}

.gab-detail-main {
    min-inline-size: 0;
    display: flex;
    flex-direction: column;
    gap: var(--v160-space-4);
}

.gab-detail-sidebar {
    display: flex;
    flex-direction: column;
    gap: var(--v160-space-3);
    position: sticky;
    inset-block-start: 96px;
}

/* --- 9.1 Gallery --------------------------------------------------------- */

.gab-gallery,
.v160-pub-gallery {
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-xl);
    background: var(--v160-surface);
    box-shadow: var(--v160-elev-1);
    overflow: hidden;
}

.gab-gallery-main {
    position: relative;
    aspect-ratio: 4 / 3;
    background: var(--v160-surface-3);
    overflow: hidden;
}

.gab-gallery-main img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    display: block;
}

.gab-gallery-badges {
    position: absolute;
    inset-block-start: var(--v160-space-3);
    inset-inline-start: var(--v160-space-3);
    display: flex;
    flex-wrap: wrap;
    gap: var(--v160-space-1);
    z-index: var(--v160-z-raised);
}

.gab-gallery-nav {
    position: absolute;
    inset-block-start: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 40px;
    block-size: 40px;
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-pill);
    background: rgba(255, 255, 255, 0.92);
    color: var(--v160-text);
    font-size: var(--v160-fs-lg);
    cursor: pointer;
    box-shadow: var(--v160-elev-2);
    transition: background var(--v160-dur) var(--v160-ease);
}

.gab-gallery-nav:hover {
    background: var(--v160-surface);
}

.gab-gallery-nav-prev {
    inset-inline-start: var(--v160-space-3);
}

.gab-gallery-nav-next {
    inset-inline-end: var(--v160-space-3);
}

[dir="rtl"] .gab-gallery-nav i,
[dir="rtl"] .gab-lb-nav i {
    transform: scaleX(-1);
}

.gab-gallery-expand {
    position: absolute;
    inset-block-end: var(--v160-space-3);
    inset-inline-end: var(--v160-space-3);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 36px;
    block-size: 36px;
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-md);
    background: rgba(255, 255, 255, 0.92);
    color: var(--v160-text);
    cursor: pointer;
    box-shadow: var(--v160-elev-1);
}

.gab-gallery-counter {
    position: absolute;
    inset-block-end: var(--v160-space-3);
    inset-inline-start: var(--v160-space-3);
    padding: 3px var(--v160-space-2);
    border-radius: var(--v160-r-sm);
    background: rgba(15, 23, 42, 0.72);
    color: var(--v160-text-inverse);
    font-size: var(--v160-fs-xs);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    direction: ltr;
    unicode-bidi: isolate;
}

.gab-gallery-thumbs {
    display: flex;
    gap: var(--v160-space-2);
    padding: var(--v160-space-3);
    border-block-start: 1px solid var(--v160-border-subtle);
    background: var(--v160-surface-2);
    overflow-x: auto;
    scrollbar-width: thin;
}

.gab-gallery-thumb {
    flex: 0 0 auto;
    inline-size: 84px;
    aspect-ratio: 4 / 3;
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-sm);
    background: var(--v160-surface-3);
    overflow: hidden;
    cursor: pointer;
    transition: border-color var(--v160-dur) var(--v160-ease), opacity var(--v160-dur) var(--v160-ease);
    opacity: 0.72;
}

.gab-gallery-thumb img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
}

.gab-gallery-thumb:hover {
    opacity: 1;
}

.gab-gallery-thumb.is-active {
    border-color: var(--v160-accent);
    opacity: 1;
    box-shadow: 0 0 0 1px var(--v160-accent);
}

/* Lightbox */
.gab-lb {
    background: rgba(15, 23, 42, 0.94);
}

.gab-lb-stage {
    display: flex;
    align-items: center;
    justify-content: center;
}

.gab-lb-x,
.gab-lb-nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: var(--v160-tap);
    block-size: var(--v160-tap);
    border: 1px solid var(--v160-border-inverse);
    border-radius: var(--v160-r-pill);
    background: rgba(255, 255, 255, 0.10);
    color: var(--v160-text-inverse);
    font-size: var(--v160-fs-xl);
    cursor: pointer;
}

.gab-lb-x:hover,
.gab-lb-nav:hover {
    background: rgba(255, 255, 255, 0.20);
}

.gab-lb-counter {
    color: rgba(255, 255, 255, 0.8);
    font-size: var(--v160-fs-md);
    font-variant-numeric: tabular-nums;
}

.gab-lb-thumbs {
    display: flex;
    gap: var(--v160-space-2);
    overflow-x: auto;
    padding: var(--v160-space-3);
}

.gab-lb-thumbs img {
    inline-size: 72px;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border: 1px solid var(--v160-border-inverse);
    border-radius: var(--v160-r-sm);
    opacity: 0.6;
    cursor: pointer;
}

.gab-lb-thumbs img.is-active {
    opacity: 1;
    border-color: var(--v160-accent);
}

/* --- 9.2 Detail tabs + panels -------------------------------------------- */

.gab-detail-tabs {
    display: flex;
    align-items: stretch;
    gap: 0;
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-xl) var(--v160-r-xl) 0 0;
    border-block-end: 0;
    background: var(--v160-surface);
    overflow-x: auto;
    scrollbar-width: none;
}

.gab-detail-tabs::-webkit-scrollbar {
    display: none;
}

.gab-detail-tab {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 1 1 auto;
    min-block-size: 48px;
    padding-inline: var(--v160-space-4);
    border: 0;
    background: transparent;
    color: var(--v160-text-muted);
    font-family: inherit;
    font-size: var(--v160-fs-md);
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
}

.gab-detail-tab::after {
    content: "";
    position: absolute;
    inset-block-end: 0;
    inset-inline: 0;
    block-size: 2px;
    background: var(--v160-accent);
    opacity: 0;
    transition: opacity var(--v160-dur) var(--v160-ease);
}

.gab-detail-tab:hover {
    background: var(--v160-surface-2);
    color: var(--v160-text);
}

.gab-detail-tab.is-active,
.gab-detail-tab[aria-selected="true"] {
    color: var(--v160-accent);
    font-weight: 700;
}

.gab-detail-tab.is-active::after,
.gab-detail-tab[aria-selected="true"]::after {
    opacity: 1;
}

.gab-detail-panel {
    display: none;
    padding: var(--v160-space-5);
    border: 1px solid var(--v160-border);
    border-radius: 0 0 var(--v160-r-xl) var(--v160-r-xl);
    background: var(--v160-surface);
    box-shadow: var(--v160-elev-1);
}

.gab-detail-panel.is-active {
    display: block;
}

.gab-detail-info {
    display: flex;
    flex-direction: column;
    gap: var(--v160-space-5);
}

.gab-detail-description {
    font-size: var(--v160-fs-lg);
    line-height: var(--v160-lh-base);
    color: var(--v160-text-muted);
    white-space: pre-line;
}

/* --- 9.3 Key spec strip -------------------------------------------------- */

.gab-keyspecs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 0;
    margin-block: var(--v160-space-4);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-xl);
    background: var(--v160-surface);
    overflow: hidden;
}

.gab-keyspec {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: var(--v160-space-4) var(--v160-space-2);
    border-inline-end: 1px solid var(--v160-border-subtle);
    text-align: center;
}

.gab-keyspec:last-child {
    border-inline-end: 0;
}

.gab-keyspec-l {
    font-size: var(--v160-fs-2xs);
    font-weight: 600;
    color: var(--v160-text-subtle);
}

.gab-keyspec-v {
    font-size: var(--v160-fs-lg);
    font-weight: 700;
    color: var(--v160-text);
    font-variant-numeric: tabular-nums;
    direction: ltr;
    unicode-bidi: isolate;
}

/* --- 9.4 Spec definition grid (2-column) --------------------------------- */

.gab-spec-grid,
.v160-pub-spec {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-xl);
    background: var(--v160-surface);
    overflow: hidden;
}

.gab-spec-item,
.v160-pub-spec__row {
    display: grid;
    grid-template-columns: 116px minmax(0, 1fr);
    align-items: center;
    gap: var(--v160-space-3);
    min-block-size: 46px;
    padding: var(--v160-space-2) var(--v160-space-4);
    border-block-end: 1px solid var(--v160-border-subtle);
}

.gab-spec-item:nth-child(odd),
.v160-pub-spec__row:nth-child(odd) {
    border-inline-end: 1px solid var(--v160-border-subtle);
}

.gab-spec-item--wide {
    grid-column: 1 / -1;
    border-inline-end: 0;
}

.gab-spec-item-label,
.v160-pub-spec__label {
    font-size: var(--v160-fs-sm);
    font-weight: 600;
    color: var(--v160-text-subtle);
}

.gab-spec-item-value,
.v160-pub-spec__value {
    font-size: var(--v160-fs-md);
    font-weight: 600;
    color: var(--v160-text);
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
}

.gab-spec-vin {
    font-family: var(--v160-font-mono);
    font-size: var(--v160-fs-sm);
    letter-spacing: 0.04em;
    direction: ltr;
    unicode-bidi: isolate;
}

.gab-options-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: var(--v160-space-2);
}

.gab-option-item {
    display: flex;
    align-items: center;
    gap: 6px;
    min-block-size: 36px;
    padding-inline: var(--v160-space-3);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface-2);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-sm);
}

.gab-option-item.is-on {
    border-color: var(--v160-success-border);
    background: var(--v160-success-soft);
    color: var(--v160-success);
}

/* --- 9.5 Sticky price / CTA panel ---------------------------------------- */

.gab-price-card,
.v160-pub-buybox {
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-xl);
    background: var(--v160-surface);
    box-shadow: var(--v160-elev-2);
    overflow: hidden;
}

.gab-price-card-brand {
    padding: var(--v160-space-4) var(--v160-space-5) 0;
    font-size: var(--v160-fs-xs);
    font-weight: 700;
    letter-spacing: var(--v160-track-snug);
    color: var(--v160-text-subtle);
    text-transform: uppercase;
}

.gab-price-card-title {
    margin: 4px 0 0;
    padding-inline: var(--v160-space-5);
    font-size: var(--v160-fs-2xl);
    font-weight: 800;
    line-height: var(--v160-lh-tight);
    letter-spacing: var(--v160-track-tight);
    color: var(--v160-text);
}

.gab-detail-identity-badges {
    display: flex;
    flex-wrap: wrap;
    gap: var(--v160-space-1);
    padding: var(--v160-space-3) var(--v160-space-5) 0;
}

.gab-price-card-main {
    margin-block-start: var(--v160-space-4);
    padding: var(--v160-space-4) var(--v160-space-5);
    border-block-start: 1px solid var(--v160-border-subtle);
    background: var(--v160-surface-2);
}

.gab-price-card-label {
    font-size: var(--v160-fs-xs);
    font-weight: 600;
    color: var(--v160-text-subtle);
}

.gab-price-card-value {
    display: flex;
    align-items: baseline;
    gap: 4px;
    margin-block-start: 2px;
    font-size: var(--v160-fs-4xl);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: var(--v160-track-tight);
    color: var(--v160-accent);
    font-variant-numeric: tabular-nums;
    direction: ltr;
    unicode-bidi: isolate;
}

.gab-price-card-sub {
    margin-block-start: var(--v160-space-2);
    font-size: var(--v160-fs-sm);
    color: var(--v160-text-muted);
    font-variant-numeric: tabular-nums;
}

.gab-price-card-listing {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-block-start: var(--v160-space-2);
    font-size: var(--v160-fs-xs);
    color: var(--v160-text-subtle);
    font-variant-numeric: tabular-nums;
}

/* CTA stack */
.gab-contact-buttons,
.v160-pub-buybox__actions {
    display: flex;
    flex-direction: column;
    gap: var(--v160-space-2);
    padding: var(--v160-space-4) var(--v160-space-5);
}

.gab-contact-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--v160-space-2);
}

.gab-contact-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-block-size: var(--v160-control-h);
    padding-inline: var(--v160-space-4);
    border: 1px solid var(--v160-border-strong);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
    color: var(--v160-text);
    font-family: inherit;
    font-size: var(--v160-fs-md);
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: border-color var(--v160-dur) var(--v160-ease), background var(--v160-dur) var(--v160-ease), color var(--v160-dur) var(--v160-ease);
}

.gab-contact-btn:hover {
    border-color: var(--v160-accent-border);
    background: var(--v160-accent-soft);
    color: var(--v160-accent-hover);
}

.gab-contact-btn-primary {
    min-block-size: var(--v160-control-h-lg);
    border-color: var(--v160-accent);
    background: var(--v160-accent);
    color: var(--v160-accent-contrast);
    font-size: var(--v160-fs-lg);
    font-weight: 700;
    box-shadow: var(--v160-elev-1);
}

.gab-contact-btn-primary:hover {
    border-color: var(--v160-accent-hover);
    background: var(--v160-accent-hover);
    color: var(--v160-accent-contrast);
    box-shadow: var(--v160-elev-3);
}

.gab-contact-btn-save.is-active,
.hicm-contact-action-save.is-active {
    border-color: var(--v160-accent-border);
    background: var(--v160-accent-soft);
    color: var(--v160-accent);
}

.gab-contact-service-note {
    padding: var(--v160-space-3) var(--v160-space-5) var(--v160-space-4);
    border-block-start: 1px solid var(--v160-border-subtle);
    font-size: var(--v160-fs-xs);
    line-height: var(--v160-lh-snug);
    color: var(--v160-text-subtle);
}

/* --- 9.6 Seller card ------------------------------------------------------ */

.gab-seller-card,
.v160-pub-seller {
    display: flex;
    flex-direction: column;
    gap: var(--v160-space-3);
    padding: var(--v160-space-5);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-xl);
    background: var(--v160-surface);
    box-shadow: var(--v160-elev-1);
    text-decoration: none;
}

.gab-seller-card-title {
    font-size: var(--v160-fs-sm);
    font-weight: 700;
    color: var(--v160-text-subtle);
}

.gab-seller-header {
    display: flex;
    align-items: center;
    gap: var(--v160-space-3);
}

.gab-seller-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    inline-size: 48px;
    block-size: 48px;
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-pill);
    background: var(--v160-surface-3);
    color: var(--v160-text-subtle);
    font-size: var(--v160-fs-xl);
    font-weight: 700;
    overflow: hidden;
}

.gab-seller-avatar img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
}

.gab-seller-info {
    min-inline-size: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.gab-seller-name {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: var(--v160-fs-lg);
    font-weight: 700;
    color: var(--v160-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gab-seller-verified {
    color: var(--v160-info);
}

.gab-seller-meta {
    font-size: var(--v160-fs-xs);
    color: var(--v160-text-subtle);
}

.gab-seller-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-lg);
    background: var(--v160-surface-2);
    overflow: hidden;
}

.gab-seller-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1px;
    padding: var(--v160-space-3) var(--v160-space-2);
    border-inline-end: 1px solid var(--v160-border-subtle);
    text-align: center;
}

.gab-seller-stat:last-child {
    border-inline-end: 0;
}

.gab-seller-stat-value {
    font-size: var(--v160-fs-lg);
    font-weight: 700;
    color: var(--v160-text);
    font-variant-numeric: tabular-nums;
}

.gab-seller-stat-label {
    font-size: var(--v160-fs-2xs);
    color: var(--v160-text-subtle);
}

.gab-seller-privacy {
    font-size: var(--v160-fs-2xs);
    line-height: var(--v160-lh-snug);
    color: var(--v160-text-subtle);
}

/* --- 9.7 Inspection / verification / report ------------------------------ */

.gab-insp-head,
.gab-report-grade,
.gab-exprofile-head,
.gab-export-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--v160-space-3);
    flex-wrap: wrap;
    padding-block-end: var(--v160-space-3);
    border-block-end: 1px solid var(--v160-border-subtle);
    margin-block-end: var(--v160-space-3);
}

.gab-insp-items {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: var(--v160-space-2);
}

.gab-insp-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--v160-space-2);
    min-block-size: 42px;
    padding-inline: var(--v160-space-3);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
    font-size: var(--v160-fs-md);
    color: var(--v160-text-muted);
}

.gab-insp-item.is-ok {
    border-color: var(--v160-success-border);
    background: var(--v160-success-soft);
    color: var(--v160-success);
}

.gab-insp-item.is-warn {
    border-color: var(--v160-warning-border);
    background: var(--v160-warning-soft);
    color: var(--v160-warning);
}

.gab-insp-form-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px var(--v160-space-2);
    border: 1px solid var(--v160-info-border);
    border-radius: var(--v160-r-pill);
    background: var(--v160-info-soft);
    color: var(--v160-info);
    font-size: var(--v160-fs-2xs);
    font-weight: 700;
}

.gab-insp-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--v160-space-2);
    margin-block-start: var(--v160-space-3);
}

.gab-insp-view {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-block-size: var(--v160-control-h);
    padding-inline: var(--v160-space-4);
    border: 1px solid var(--v160-border-strong);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
    color: var(--v160-text);
    font-size: var(--v160-fs-md);
    font-weight: 600;
    text-decoration: none;
}

.gab-insp-view:hover {
    border-color: var(--v160-accent-border);
    color: var(--v160-accent-hover);
}

.gab-insp-view--req {
    border-color: var(--v160-accent);
    background: var(--v160-accent);
    color: var(--v160-accent-contrast);
}

.gab-insp-view--req:hover {
    background: var(--v160-accent-hover);
    border-color: var(--v160-accent-hover);
    color: var(--v160-accent-contrast);
}

.gab-report-grade-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 56px;
    block-size: 56px;
    border: 1px solid var(--v160-border-strong);
    border-radius: var(--v160-r-pill);
    background: var(--v160-surface-2);
    color: var(--v160-text);
}

.gab-report-grade-circle--a {
    border-color: var(--v160-success-border);
    background: var(--v160-success-soft);
    color: var(--v160-success);
}

.gab-report-grade-letter {
    font-size: var(--v160-fs-2xl);
    font-weight: 800;
}

.gab-report-grade-label {
    font-size: var(--v160-fs-sm);
    font-weight: 600;
    color: var(--v160-text-muted);
}

.gab-report-grade-checks {
    display: flex;
    flex-wrap: wrap;
    gap: var(--v160-space-2);
}

.gab-report-check {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px var(--v160-space-2);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-pill);
    background: var(--v160-surface-2);
    font-size: var(--v160-fs-xs);
    color: var(--v160-text-muted);
}

.gab-report-grade-pdf {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-block-size: var(--v160-control-h-sm);
    padding-inline: var(--v160-space-3);
    border: 1px solid var(--v160-border-strong);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-sm);
    font-weight: 600;
    text-decoration: none;
}

.gab-report-grade-pdf--soft {
    border-style: dashed;
    color: var(--v160-text-subtle);
}

.gab-verification-empty,
.gab-detail-data-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--v160-space-2);
    padding: var(--v160-space-8) var(--v160-space-4);
    border: 1px dashed var(--v160-border-strong);
    border-radius: var(--v160-r-xl);
    background: var(--v160-surface-2);
    text-align: center;
}

.gab-verification-empty-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 48px;
    block-size: 48px;
    border-radius: var(--v160-r-pill);
    background: var(--v160-surface-3);
    color: var(--v160-text-subtle);
    font-size: var(--v160-fs-2xl);
}

.gab-verification-empty-copy {
    font-size: var(--v160-fs-md);
    line-height: var(--v160-lh-snug);
    color: var(--v160-text-muted);
    max-inline-size: 44ch;
}

/* Export / international profile blocks */
.gab-export-card,
.gab-international-profile,
.gab-exprofile,
.gab-broker-card {
    padding: var(--v160-space-5);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-xl);
    background: var(--v160-surface);
    box-shadow: var(--v160-elev-1);
}

.gab-export-rows,
.gab-exprofile-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0;
}

.gab-export-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--v160-space-3);
    min-block-size: 42px;
    border-block-end: 1px solid var(--v160-border-subtle);
}

.gab-export-k,
.gab-exprofile-label {
    font-size: var(--v160-fs-sm);
    color: var(--v160-text-subtle);
}

.gab-export-v {
    font-size: var(--v160-fs-md);
    font-weight: 600;
    color: var(--v160-text);
    font-variant-numeric: tabular-nums;
}

.gab-exprofile-flags,
.gab-exprofile-docs {
    display: flex;
    flex-wrap: wrap;
    gap: var(--v160-space-2);
}

.gab-exprofile-flag,
.gab-exprofile-doc {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px var(--v160-space-2);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-pill);
    background: var(--v160-surface-2);
    font-size: var(--v160-fs-xs);
    color: var(--v160-text-muted);
}

.gab-exprofile-steps {
    display: flex;
    flex-wrap: wrap;
    gap: var(--v160-space-4);
}

.gab-exprofile-step-dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 24px;
    block-size: 24px;
    border: 1px solid var(--v160-border-strong);
    border-radius: var(--v160-r-pill);
    background: var(--v160-surface);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-2xs);
    font-weight: 700;
}

.gab-exprofile-step-label {
    font-size: var(--v160-fs-sm);
    color: var(--v160-text-muted);
}

.gab-exprofile-status {
    font-size: var(--v160-fs-xs);
    font-weight: 700;
    color: var(--v160-info);
}

.gab-safety-notice {
    display: flex;
    align-items: flex-start;
    gap: var(--v160-space-3);
    padding: var(--v160-space-4);
    border: 1px solid var(--v160-warning-border);
    border-radius: var(--v160-r-lg);
    background: var(--v160-warning-soft);
    color: var(--v160-warning);
}

.gab-safety-notice-text {
    font-size: var(--v160-fs-sm);
    line-height: var(--v160-lh-snug);
}

/* --- 9.8 Mobile action bar shell (layer 41 owns placement) ---------------- */

.gab-mbar {
    border-block-start: 1px solid var(--v160-border);
    background: var(--v160-surface);
    box-shadow: var(--v160-elev-4);
}

.gab-mbar-price {
    font-size: var(--v160-fs-xl);
    font-weight: 800;
    color: var(--v160-accent);
    font-variant-numeric: tabular-nums;
    direction: ltr;
    unicode-bidi: isolate;
}

.gab-mbar-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-block-size: var(--v160-tap);
    padding-inline: var(--v160-space-4);
    border: 1px solid var(--v160-border-strong);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
    color: var(--v160-text);
    font-family: inherit;
    font-size: var(--v160-fs-md);
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}

.gab-mbar-btn--inq {
    border-color: var(--v160-accent);
    background: var(--v160-accent);
    color: var(--v160-accent-contrast);
    font-weight: 700;
}

/* --- 9.9 Inquiry modal ---------------------------------------------------- */

.gab-modal {
    background: var(--v160-surface-overlay);
    z-index: var(--v160-z-modal);
}

.gab-modal-box {
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-2xl);
    background: var(--v160-surface);
    box-shadow: var(--v160-elev-5);
    overflow: hidden;
}

.gab-modal-in {
    padding: var(--v160-space-6);
}

.gab-modal-title {
    font-size: var(--v160-fs-2xl);
    font-weight: 800;
    letter-spacing: var(--v160-track-tight);
    color: var(--v160-text);
}

.gab-modal-sub {
    margin-block-start: var(--v160-space-1);
    font-size: var(--v160-fs-md);
    color: var(--v160-text-muted);
}

.gab-modal-x {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: var(--v160-tap);
    block-size: var(--v160-tap);
    border: 0;
    border-radius: var(--v160-r-md);
    background: transparent;
    color: var(--v160-text-muted);
    cursor: pointer;
}

.gab-modal-x:hover {
    background: var(--v160-surface-3);
}

.gab-modal-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--v160-space-3);
    margin-block: var(--v160-space-4);
}

.gab-modal-note {
    font-size: var(--v160-fs-xs);
    line-height: var(--v160-lh-snug);
    color: var(--v160-text-subtle);
}

.gab-modal-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    inline-size: 100%;
    min-block-size: var(--v160-control-h-lg);
    border: 1px solid var(--v160-accent);
    border-radius: var(--v160-r-md);
    background: var(--v160-accent);
    color: var(--v160-accent-contrast);
    font-family: inherit;
    font-size: var(--v160-fs-lg);
    font-weight: 700;
    cursor: pointer;
}

.gab-modal-submit:hover {
    background: var(--v160-accent-hover);
    border-color: var(--v160-accent-hover);
}

.gab-modal-done {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--v160-space-2);
    padding: var(--v160-space-8) var(--v160-space-5);
    text-align: center;
}

.gab-modal-done-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 56px;
    block-size: 56px;
    border-radius: var(--v160-r-pill);
    background: var(--v160-success-soft);
    color: var(--v160-success);
    font-size: 26px;
}

.gab-modal-done-t {
    font-size: var(--v160-fs-xl);
    font-weight: 700;
    color: var(--v160-text);
}

.gab-modal-done-s {
    font-size: var(--v160-fs-md);
    color: var(--v160-text-muted);
}

/* --- 9.10 Mobile summary block on detail --------------------------------- */

.gab-detail-mobile-summary {
    display: flex;
    flex-direction: column;
    gap: var(--v160-space-2);
    padding: var(--v160-space-4);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-xl);
    background: var(--v160-surface);
}

.gab-detail-mobile-price {
    font-size: var(--v160-fs-3xl);
    font-weight: 800;
    color: var(--v160-accent);
    font-variant-numeric: tabular-nums;
    direction: ltr;
    unicode-bidi: isolate;
}

.gab-detail-mobile-specs,
.gab-detail-mobile-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    font-size: var(--v160-fs-sm);
    color: var(--v160-text-muted);
    font-variant-numeric: tabular-nums;
}

.gab-detail-mobile-badges {
    display: flex;
    flex-wrap: wrap;
    gap: var(--v160-space-1);
}

/* Demo/notice ribbons on detail */
.hicm-demo-detail-notice {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: var(--v160-space-2) var(--v160-space-3);
    border: 1px solid var(--v160-warning-border);
    border-radius: var(--v160-r-md);
    background: var(--v160-warning-soft);
    color: var(--v160-warning);
    font-size: var(--v160-fs-xs);
    font-weight: 600;
}


/* ================================================================================
 * 10. PAGE HERO (interior pages)
 * ============================================================================== */

.gab-page-hero {
    padding-block: var(--v160-space-8);
    background: var(--v160-surface-2);
    border-block-end: 1px solid var(--v160-border);
}

.gab-page-hero-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--v160-space-6);
    flex-wrap: wrap;
}

.gab-page-hero-copy {
    min-inline-size: 0;
    max-inline-size: 720px;
}

.gab-page-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-block-size: 26px;
    padding-inline: var(--v160-space-3);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-pill);
    background: var(--v160-surface);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-xs);
    font-weight: 600;
}

.gab-page-hero-title {
    margin: var(--v160-space-3) 0 0;
    font-size: var(--v160-fs-3xl);
    font-weight: 800;
    line-height: var(--v160-lh-tight);
    letter-spacing: var(--v160-track-tight);
    color: var(--v160-text);
}

.gab-page-hero-desc {
    margin: var(--v160-space-2) 0 0;
    font-size: var(--v160-fs-lg);
    line-height: var(--v160-lh-snug);
    color: var(--v160-text-muted);
}

.gab-page-hero-media {
    flex: 0 0 auto;
}

/* --- 10.1 Sitemap columns -------------------------------------------------
 * 13-pages.css defines .gab-sitemap (the grid), .gab-sitemap-col-title and
 * .gab-sitemap-links, but never the column container itself. Without a rule
 * the column cannot constrain long link labels, so a single wide entry blows
 * the grid track out. Give it a real flow and let it shrink below content. */

.gab-sitemap-col {
    display: flex;
    flex-direction: column;
    gap: var(--v160-space-2);
    min-inline-size: 0;
}


/* ================================================================================
 * 11. DEALER DIRECTORY
 * ============================================================================== */

.gab-dealer-directory-grid {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.gab-dealer-directory-grid .gab-seller-card {
    transition: box-shadow var(--v160-dur) var(--v160-ease), border-color var(--v160-dur) var(--v160-ease);
}

.gab-dealer-directory-grid .gab-seller-card:hover {
    border-color: var(--v160-border-strong);
    box-shadow: var(--v160-elev-3);
}

.v160-pub-dealer-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--v160-space-2);
    margin-block-start: auto;
    padding-block-start: var(--v160-space-3);
    border-block-start: 1px solid var(--v160-border-subtle);
    font-size: var(--v160-fs-xs);
    color: var(--v160-text-subtle);
}

.v160-pub-dealer-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-block-size: var(--v160-control-h-sm);
    padding-inline: var(--v160-space-3);
    border: 1px solid var(--v160-border-strong);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
    color: var(--v160-text);
    font-size: var(--v160-fs-sm);
    font-weight: 600;
    text-decoration: none;
}

.v160-pub-dealer-card__cta:hover {
    border-color: var(--v160-accent-border);
    background: var(--v160-accent-soft);
    color: var(--v160-accent-hover);
}


/* ================================================================================
 * 12. COMPARE
 * ============================================================================== */

.gab-compare-title {
    font-size: var(--v160-fs-3xl);
    font-weight: 800;
    letter-spacing: var(--v160-track-tight);
    color: var(--v160-text);
}

.gab-compare-scroll {
    overflow-x: auto;
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-xl);
    background: var(--v160-surface);
    box-shadow: var(--v160-elev-1);
    scrollbar-width: thin;
}

.gab-compare-table {
    inline-size: 100%;
    border-collapse: collapse;
    font-size: var(--v160-fs-md);
}

.gab-compare-table th,
.gab-compare-table td {
    padding: var(--v160-space-3) var(--v160-space-4);
    border-block-end: 1px solid var(--v160-border-subtle);
    border-inline-end: 1px solid var(--v160-border-subtle);
    text-align: start;
    vertical-align: middle;
}

.gab-compare-table tr:last-child th,
.gab-compare-table tr:last-child td {
    border-block-end: 0;
}

.gab-compare-table th:last-child,
.gab-compare-table td:last-child {
    border-inline-end: 0;
}

.gab-compare-rowlabel {
    position: sticky;
    inset-inline-start: 0;
    z-index: var(--v160-z-raised);
    inline-size: 148px;
    min-inline-size: 148px;
    background: var(--v160-surface-2);
    color: var(--v160-text-subtle);
    font-size: var(--v160-fs-sm);
    font-weight: 600;
}

.gab-compare-head {
    background: var(--v160-surface-2);
}

.gab-compare-col {
    min-inline-size: 220px;
    vertical-align: top;
}

.gab-compare-col--empty {
    background: var(--v160-surface-2);
}

.gab-compare-card {
    display: flex;
    flex-direction: column;
    gap: var(--v160-space-2);
    padding-block: var(--v160-space-2);
}

.gab-compare-img {
    aspect-ratio: 4 / 3;
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface-3);
    object-fit: cover;
    overflow: hidden;
}

.gab-compare-brand {
    font-size: var(--v160-fs-2xs);
    font-weight: 700;
    color: var(--v160-text-subtle);
    text-transform: uppercase;
}

.gab-compare-name {
    font-size: var(--v160-fs-lg);
    font-weight: 700;
    line-height: var(--v160-lh-tight);
    color: var(--v160-text);
}

.gab-compare-sub {
    font-size: var(--v160-fs-xs);
    color: var(--v160-text-subtle);
}

.gab-compare-val {
    font-weight: 600;
    color: var(--v160-text);
    font-variant-numeric: tabular-nums;
}

.gab-compare-val--empty {
    color: var(--v160-text-subtle);
    font-weight: 400;
}

.gab-compare-insp {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px var(--v160-space-2);
    border: 1px solid var(--v160-success-border);
    border-radius: var(--v160-r-pill);
    background: var(--v160-success-soft);
    color: var(--v160-success);
    font-size: var(--v160-fs-2xs);
    font-weight: 700;
}

.gab-compare-rm {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 28px;
    block-size: 28px;
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-pill);
    background: var(--v160-surface);
    color: var(--v160-text-subtle);
    cursor: pointer;
}

.gab-compare-rm:hover {
    border-color: var(--v160-danger-border);
    background: var(--v160-danger-soft);
    color: var(--v160-danger);
}

.gab-compare-add {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-block-size: 180px;
    border: 1px dashed var(--v160-border-strong);
    border-radius: var(--v160-r-lg);
    background: var(--v160-surface);
    color: var(--v160-text-subtle);
    font-size: var(--v160-fs-md);
    font-weight: 600;
    text-decoration: none;
}

.gab-compare-add:hover {
    border-color: var(--v160-accent-border);
    color: var(--v160-accent-hover);
}

.gab-compare-clear,
.gab-compare-view {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-block-size: var(--v160-control-h);
    padding-inline: var(--v160-space-4);
    border: 1px solid var(--v160-border-strong);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
    color: var(--v160-text);
    font-family: inherit;
    font-size: var(--v160-fs-md);
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}

.gab-compare-view {
    border-color: var(--v160-accent);
    background: var(--v160-accent);
    color: var(--v160-accent-contrast);
}

.gab-compare-clear:hover {
    border-color: var(--v160-danger-border);
    color: var(--v160-danger);
}


/* ================================================================================
 * 13. AUTH (login / register / password)
 * ============================================================================== */

.gab-auth {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 480px);
    min-block-size: calc(100vh - 120px);
    background: var(--v160-surface-2);
}

.gab-auth-visual,
.gab-auth-brand {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--v160-space-4);
    padding: var(--v160-space-10) var(--v160-space-9);
    background: var(--v160-surface-dark);
    color: var(--v160-text-inverse);
}

.gab-auth-brand-inner {
    max-inline-size: 480px;
}

.gab-auth-logo {
    display: inline-flex;
    align-items: center;
    gap: var(--v160-space-2);
    text-decoration: none;
}

.gab-auth-logo-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    box-shadow: none;
}

.gab-auth-logo-text {
    display: flex;
    flex-direction: column;
}

.gab-auth-logo-name {
    font-size: var(--v160-fs-xl);
    font-weight: 800;
    color: var(--v160-text-inverse);
    letter-spacing: var(--v160-track-tight);
}

.gab-auth-logo-tagline {
    font-size: var(--v160-fs-2xs);
    color: rgba(255, 255, 255, 0.62);
}

.gab-auth-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    align-self: flex-start;
    min-block-size: 26px;
    padding-inline: var(--v160-space-3);
    border: 1px solid var(--v160-border-inverse);
    border-radius: var(--v160-r-pill);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.86);
    font-size: var(--v160-fs-xs);
    font-weight: 600;
}

.gab-auth-headline {
    font-size: var(--v160-fs-3xl);
    font-weight: 800;
    line-height: var(--v160-lh-tight);
    letter-spacing: var(--v160-track-tight);
    color: var(--v160-text-inverse);
}

.gab-auth-subtitle {
    font-size: var(--v160-fs-lg);
    line-height: var(--v160-lh-snug);
    color: rgba(255, 255, 255, 0.72);
}

.gab-auth-form-side {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--v160-space-8) var(--v160-space-6);
}

.gab-auth-form-box {
    inline-size: 100%;
    max-inline-size: 400px;
    padding: var(--v160-space-7);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-2xl);
    background: var(--v160-surface);
    box-shadow: var(--v160-elev-3);
}

.gab-auth-title {
    margin: 0;
    font-size: var(--v160-fs-2xl);
    font-weight: 800;
    letter-spacing: var(--v160-track-tight);
    color: var(--v160-text);
}

/* forgot-password / reset-password: inner form stack + footer link row */
.gab-auth-form {
    display: flex;
    flex-direction: column;
    gap: var(--v160-space-4);
    margin-block-start: var(--v160-space-5);
}

.gab-auth-footer {
    margin-block-start: var(--v160-space-5);
    padding-block-start: var(--v160-space-4);
    border-block-start: 1px solid var(--v160-border);
    text-align: center;
    font-size: var(--v160-fs-sm);
    color: var(--v160-text-muted);
}

.gab-auth-footer a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--v160-text-muted);
    font-weight: 600;
    text-decoration: none;
    transition: color var(--v160-dur-fast) var(--v160-ease);
}

.gab-auth-footer a:hover,
.gab-auth-footer a:focus-visible {
    color: var(--v160-accent);
}

[dir="rtl"] .gab-auth-footer a .bi-arrow-left {
    transform: scaleX(-1);
}

.gab-auth-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-block-start: var(--v160-space-4);
}

.gab-auth-label {
    font-size: var(--v160-fs-sm);
    font-weight: 600;
    color: var(--v160-text-muted);
}

.gab-auth-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.gab-auth-input {
    inline-size: 100%;
    min-block-size: var(--v160-control-h-lg);
    padding-inline: var(--v160-space-10) var(--v160-space-4);
    border: 1px solid var(--v160-border-strong);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
    color: var(--v160-text);
    font-family: inherit;
    font-size: var(--v160-fs-lg);
    outline: none;
    transition: border-color var(--v160-dur) var(--v160-ease), box-shadow var(--v160-dur) var(--v160-ease);
}

.gab-auth-input::placeholder {
    color: var(--v160-text-subtle);
}

.gab-auth-input:focus {
    border-color: var(--v160-accent);
    box-shadow: var(--v160-ring);
}

.gab-auth-input.is-error {
    border-color: var(--v160-danger);
}

.gab-auth-input-icon {
    position: absolute;
    inset-inline-start: var(--v160-space-4);
    color: var(--v160-text-subtle);
    font-size: var(--v160-fs-lg);
    pointer-events: none;
}

.gab-auth-input-toggle,
.hicm-password-toggle {
    position: absolute;
    inset-inline-end: var(--v160-space-2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: var(--v160-tap);
    block-size: var(--v160-tap);
    border: 0;
    border-radius: var(--v160-r-md);
    background: transparent;
    color: var(--v160-text-subtle);
    cursor: pointer;
}

.gab-auth-input-toggle:hover {
    background: var(--v160-surface-3);
    color: var(--v160-text);
}

.gab-auth-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--v160-space-3);
    flex-wrap: wrap;
    margin-block-start: var(--v160-space-3);
}

.gab-auth-remember,
.gab-auth-forgot {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-block-size: var(--v160-tap);
    font-size: var(--v160-fs-md);
    color: var(--v160-text-muted);
    text-decoration: none;
}

.gab-auth-forgot:hover {
    color: var(--v160-accent);
    text-decoration: underline;
}

.gab-auth-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    inline-size: 100%;
    min-block-size: var(--v160-control-h-lg);
    margin-block-start: var(--v160-space-4);
    border: 1px solid var(--v160-accent);
    border-radius: var(--v160-r-md);
    background: var(--v160-accent);
    color: var(--v160-accent-contrast);
    font-family: inherit;
    font-size: var(--v160-fs-lg);
    font-weight: 700;
    cursor: pointer;
    box-shadow: var(--v160-elev-1);
}

.gab-auth-submit:hover {
    background: var(--v160-accent-hover);
    border-color: var(--v160-accent-hover);
    box-shadow: var(--v160-elev-3);
}

.gab-auth-signup {
    margin-block-start: var(--v160-space-4);
    padding-block-start: var(--v160-space-4);
    border-block-start: 1px solid var(--v160-border-subtle);
    font-size: var(--v160-fs-md);
    color: var(--v160-text-muted);
    text-align: center;
}

.gab-auth-signup a {
    color: var(--v160-accent);
    font-weight: 700;
    text-decoration: none;
}

.gab-auth-ssl {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-block-start: var(--v160-space-3);
    font-size: var(--v160-fs-xs);
    color: var(--v160-text-subtle);
}

.gab-auth-langs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--v160-space-1);
    margin-block-start: var(--v160-space-4);
}

.gab-auth-langs a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-block-size: var(--v160-control-h-sm);
    padding-inline: var(--v160-space-2);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-pill);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-xs);
    text-decoration: none;
}

.gab-auth-langs a.is-active {
    border-color: var(--v160-accent-border);
    background: var(--v160-accent-soft);
    color: var(--v160-accent-hover);
}

.gab-auth-copyright {
    margin-block-start: var(--v160-space-4);
    font-size: var(--v160-fs-2xs);
    color: var(--v160-text-subtle);
    text-align: center;
}

/* Login method tabs */
.hicm-login-tabs {
    display: flex;
    margin-block-end: var(--v160-space-4);
    border: 1px solid var(--v160-border-strong);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface-2);
    padding: 3px;
    gap: 3px;
}

.hicm-login-tabs button,
.hicm-login-tabs a {
    flex: 1 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-block-size: 34px;
    border: 0;
    border-radius: var(--v160-r-sm);
    background: transparent;
    color: var(--v160-text-muted);
    font-family: inherit;
    font-size: var(--v160-fs-md);
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}

.hicm-login-tabs .is-active,
.hicm-login-tabs [aria-selected="true"] {
    background: var(--v160-surface);
    color: var(--v160-accent);
    box-shadow: var(--v160-elev-1);
}

.hicm-login-phone-status {
    margin-block-start: 6px;
    font-size: var(--v160-fs-xs);
    color: var(--v160-text-muted);
}

.hicm-login-code {
    font-family: var(--v160-font-mono);
    letter-spacing: 0.25em;
    text-align: center;
    direction: ltr;
    unicode-bidi: isolate;
}

.hicm-phone-send {
    flex: 0 0 auto;
    min-block-size: var(--v160-control-h-lg);
    padding-inline: var(--v160-space-4);
    border: 1px solid var(--v160-border-strong);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface-2);
    color: var(--v160-text);
    font-family: inherit;
    font-size: var(--v160-fs-md);
    font-weight: 600;
    cursor: pointer;
}

.hicm-phone-send:hover {
    background: var(--v160-surface-3);
}


/* ================================================================================
 * 14. PUBLIC FORMS (buy request, quote, contact)
 * ============================================================================== */

.gab-form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--v160-space-4);
}

.gab-field,
.gab-parts-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-inline-size: 0;
}

.gab-field__label {
    font-size: var(--v160-fs-sm);
    font-weight: 600;
    color: var(--v160-text-muted);
}

.gab-field__req {
    color: var(--v160-accent);
    margin-inline-start: 2px;
}

.gab-field__input,
.gab-select {
    inline-size: 100%;
    min-block-size: var(--v160-control-h);
    padding-inline: var(--v160-control-pad-x);
    border: 1px solid var(--v160-border-strong);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
    color: var(--v160-text);
    font-family: inherit;
    font-size: var(--v160-fs-lg);
    outline: none;
    transition: border-color var(--v160-dur) var(--v160-ease), box-shadow var(--v160-dur) var(--v160-ease);
}

.gab-field__input:focus,
.gab-select:focus {
    border-color: var(--v160-accent);
    box-shadow: var(--v160-ring);
}

.gab-field__input::placeholder {
    color: var(--v160-text-subtle);
}

textarea.gab-field__input {
    min-block-size: 120px;
    padding-block: var(--v160-space-3);
    line-height: var(--v160-lh-base);
    resize: vertical;
}

.gab-select-wrap {
    position: relative;
}

.gab-select {
    padding-inline-end: var(--v160-space-9);
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}

.gab-select-arrow {
    position: absolute;
    inset-inline-end: var(--v160-space-3);
    inset-block-start: 50%;
    transform: translateY(-50%);
    color: var(--v160-text-subtle);
    pointer-events: none;
}

.gab-parts-form-wrap {
    padding: var(--v160-space-6);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-2xl);
    background: var(--v160-surface);
    box-shadow: var(--v160-elev-2);
}

.gab-parts-form-title {
    font-size: var(--v160-fs-2xl);
    font-weight: 800;
    letter-spacing: var(--v160-track-tight);
    color: var(--v160-text);
}

.gab-parts-form-sub {
    margin-block-start: var(--v160-space-1);
    font-size: var(--v160-fs-md);
    color: var(--v160-text-muted);
}

.gab-parts-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--v160-space-3);
    margin-block: var(--v160-space-5);
}

.gab-parts-step {
    display: flex;
    align-items: center;
    gap: var(--v160-space-3);
    padding: var(--v160-space-3);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-lg);
    background: var(--v160-surface-2);
}

.gab-parts-step-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 36px;
    block-size: 36px;
    border-radius: var(--v160-r-md);
    background: var(--v160-accent-soft);
    color: var(--v160-accent);
    font-size: var(--v160-fs-lg);
}

.gab-parts-step-no {
    font-size: var(--v160-fs-2xs);
    font-weight: 700;
    color: var(--v160-text-subtle);
}

.gab-parts-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    inline-size: 100%;
    min-block-size: var(--v160-control-h-lg);
    margin-block-start: var(--v160-space-5);
    border: 1px solid var(--v160-accent);
    border-radius: var(--v160-r-md);
    background: var(--v160-accent);
    color: var(--v160-accent-contrast);
    font-family: inherit;
    font-size: var(--v160-fs-lg);
    font-weight: 700;
    cursor: pointer;
}

.gab-parts-submit:hover {
    background: var(--v160-accent-hover);
    border-color: var(--v160-accent-hover);
}

.gab-parts-note {
    margin-block-start: var(--v160-space-3);
    font-size: var(--v160-fs-xs);
    line-height: var(--v160-lh-snug);
    color: var(--v160-text-subtle);
}

/* My buy-requests list */
.gab-buyreq-mine {
    margin-block-start: var(--v160-space-7);
}

.gab-buyreq-mine-list {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-xl);
    background: var(--v160-surface);
    overflow: hidden;
}

.gab-buyreq-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--v160-space-3);
    padding: var(--v160-space-3) var(--v160-space-4);
    border-block-end: 1px solid var(--v160-border-subtle);
}

.gab-buyreq-item:last-child {
    border-block-end: 0;
}

.gab-buyreq-item-main {
    min-inline-size: 0;
    font-size: var(--v160-fs-md);
    font-weight: 600;
    color: var(--v160-text);
}

.gab-buyreq-item-meta {
    font-size: var(--v160-fs-xs);
    color: var(--v160-text-subtle);
    font-variant-numeric: tabular-nums;
}

.gab-buyreq-status {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px var(--v160-space-2);
    border: 1px solid var(--v160-neutral-border);
    border-radius: var(--v160-r-pill);
    background: var(--v160-neutral-soft);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-2xs);
    font-weight: 700;
    white-space: nowrap;
}

.gab-buyreq-status--pending,
.gab-buyreq-status--waiting {
    border-color: var(--v160-warning-border);
    background: var(--v160-warning-soft);
    color: var(--v160-warning);
}

.gab-buyreq-status--matched,
.gab-buyreq-status--done,
.gab-buyreq-status--completed {
    border-color: var(--v160-success-border);
    background: var(--v160-success-soft);
    color: var(--v160-success);
}

.gab-buyreq-status--cancelled,
.gab-buyreq-status--rejected {
    border-color: var(--v160-danger-border);
    background: var(--v160-danger-soft);
    color: var(--v160-danger);
}

.gab-buyreq-mine-empty {
    padding: var(--v160-space-7) var(--v160-space-4);
    text-align: center;
    font-size: var(--v160-fs-md);
    color: var(--v160-text-subtle);
}

.hicm-my-inquiry-reply {
    margin-block-start: var(--v160-space-2);
    padding: var(--v160-space-3);
    border: 1px solid var(--v160-info-border);
    border-radius: var(--v160-r-md);
    background: var(--v160-info-soft);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-sm);
    line-height: var(--v160-lh-snug);
}


/* ================================================================================
 * 15. EMPTY STATES + SKELETONS
 * ============================================================================== */

.gab-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--v160-space-3);
    padding: var(--v160-space-10) var(--v160-space-5);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-xl);
    background: var(--v160-surface);
    text-align: center;
}

.gab-empty-illust,
.hicm-empty-mascot {
    inline-size: clamp(120px, 22vw, 168px);
    block-size: auto;
    margin-block-end: var(--v160-space-2);
}

.gab-empty-icon,
.gab-empty__icon,
.hicm-empty-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 56px;
    block-size: 56px;
    border-radius: var(--v160-r-pill);
    background: var(--v160-surface-3);
    color: var(--v160-text-subtle);
    font-size: 26px;
}

.gab-empty-title {
    font-size: var(--v160-fs-xl);
    font-weight: 700;
    letter-spacing: var(--v160-track-snug);
    color: var(--v160-text);
}

.gab-empty-desc {
    max-inline-size: 52ch;
    font-size: var(--v160-fs-md);
    line-height: var(--v160-lh-base);
    color: var(--v160-text-muted);
}

.gab-empty-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--v160-space-2);
    margin-block-start: var(--v160-space-2);
}

.gab-empty-filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--v160-space-2);
    margin-block-start: var(--v160-space-2);
}

.gab-skeleton-box,
.gab-skeleton-line {
    background: var(--v160-surface-3);
    border-radius: var(--v160-r-sm);
}

.gab-skeleton-box {
    aspect-ratio: 4 / 3;
    inline-size: 100%;
}

.gab-skeleton-line {
    block-size: 12px;
    margin-block-end: var(--v160-space-2);
}

.gab-car-card-skeleton {
    pointer-events: none;
}

.gab-car-card-skeleton:hover {
    box-shadow: var(--v160-elev-1);
}


/* ================================================================================
 * 16. FOOTER
 * ============================================================================== */

.gab-footer {
    padding-block: var(--v160-space-9) var(--v160-space-5);
    border-block-start: 1px solid var(--v160-border);
    background: var(--v160-surface-2);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-md);
}

.gab-footer-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) repeat(4, minmax(0, 1fr));
    gap: var(--v160-space-6);
    padding-block-end: var(--v160-space-7);
    border-block-end: 1px solid var(--v160-border);
}

.gab-footer-brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--v160-space-3);
    min-inline-size: 0;
}

.gab-footer-brand-desc {
    margin: 0;
    max-inline-size: 46ch;
    font-size: var(--v160-fs-sm);
    line-height: var(--v160-lh-base);
    color: var(--v160-text-muted);
}

.gab-footer-social {
    display: flex;
    gap: var(--v160-space-2);
}

.gab-footer-social-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: var(--v160-control-h);
    block-size: var(--v160-control-h);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-lg);
    text-decoration: none;
    transition: border-color var(--v160-dur) var(--v160-ease), color var(--v160-dur) var(--v160-ease);
}

.gab-footer-social-btn:hover {
    border-color: var(--v160-accent-border);
    color: var(--v160-accent);
}

.gab-footer-col {
    min-inline-size: 0;
}

.gab-footer-col-title {
    margin: 0 0 var(--v160-space-3);
    font-size: var(--v160-fs-sm);
    font-weight: 700;
    letter-spacing: var(--v160-track-snug);
    color: var(--v160-text);
}

.gab-footer-col-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gab-footer-col-list a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-block-size: 28px;
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-sm);
    text-decoration: none;
    transition: color var(--v160-dur) var(--v160-ease);
}

.gab-footer-col-list a:hover {
    color: var(--v160-accent);
}

.gab-footer-col-list i {
    color: var(--v160-text-subtle);
    font-size: var(--v160-fs-xs);
}

.gab-footer-news {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--v160-space-5);
    flex-wrap: wrap;
    padding-block: var(--v160-space-5);
    border-block-end: 1px solid var(--v160-border);
}

.gab-footer-news-title {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: var(--v160-fs-lg);
    font-weight: 700;
    color: var(--v160-text);
}

.gab-footer-news-desc {
    margin-block-start: 2px;
    font-size: var(--v160-fs-sm);
    color: var(--v160-text-muted);
}

.gab-footer-global {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--v160-space-4);
    flex-wrap: wrap;
    padding-block: var(--v160-space-4);
    border-block-end: 1px solid var(--v160-border);
}

.gab-footer-flags {
    display: flex;
    align-items: center;
    gap: var(--v160-space-3);
    flex-wrap: wrap;
}

.gab-footer-flags-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: var(--v160-fs-2xs);
    font-weight: 700;
    letter-spacing: var(--v160-track-snug);
    color: var(--v160-text-subtle);
}

.gab-footer-flags-row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--v160-space-1);
}

.gab-cc-chip {
    display: inline-flex;
    align-items: center;
    min-block-size: 24px;
    padding-inline: var(--v160-space-2);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-pill);
    background: var(--v160-surface);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-2xs);
    font-weight: 600;
}

.gab-footer-payment {
    display: flex;
    gap: var(--v160-space-2);
}

.gab-footer-payment-item {
    display: inline-flex;
    align-items: center;
    min-block-size: var(--v160-control-h-sm);
    padding-inline: var(--v160-space-3);
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-md);
    background: var(--v160-surface);
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-xs);
    font-weight: 600;
    text-decoration: none;
}

.gab-footer-payment-item:hover {
    color: var(--v160-accent);
    border-color: var(--v160-accent-border);
}

.gab-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--v160-space-3);
    flex-wrap: wrap;
    padding-block-start: var(--v160-space-4);
}

.gab-footer-copyright,
.gab-footer-made {
    font-size: var(--v160-fs-xs);
    color: var(--v160-text-subtle);
}

.gab-footer-legal {
    display: flex;
    gap: var(--v160-space-3);
}

.gab-footer-legal a {
    color: var(--v160-text-muted);
    font-size: var(--v160-fs-xs);
    text-decoration: none;
}

.gab-footer-legal a:hover {
    color: var(--v160-accent);
    text-decoration: underline;
}


/* ================================================================================
 * 17. PRIMITIVE SCOPING — how PART B primitives behave inside public surfaces
 * --------------------------------------------------------------------------------
 * Composition only. Nothing here redefines a primitive's own selector.
 * ============================================================================== */

.gab-detail-sidebar .v160-btn,
.gab-auth-form-box .v160-btn,
.v160-pub-buybox .v160-btn {
    inline-size: 100%;
}

.gab-list-toolbar .v160-select,
.gab-list-toolbar .v160-btn {
    inline-size: auto;
    flex: 0 0 auto;
}

.gab-filter-sidebar .v160-card,
.v160-pub-filters .v160-card {
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.gab-section .v160-empty,
.gab-list-results .v160-empty {
    border: 1px solid var(--v160-border);
    border-radius: var(--v160-r-xl);
    background: var(--v160-surface);
}

.gab-hx .v160-input,
.gab-hx .v160-select,
.v160-pub-hub .v160-input,
.v160-pub-hub .v160-select {
    block-size: var(--v160-control-h-lg);
    font-size: var(--v160-fs-lg);
}

.gab-price-card .v160-badge,
.gab-detail-identity-badges .v160-badge {
    font-size: var(--v160-fs-2xs);
}


/* ================================================================================
 * 18. RESPONSIVE — TABLET AND BELOW  (max-width: 1024px)
 * ============================================================================== */

@media (max-width: 1024px) {

    .gab-main-header-inner {
        gap: var(--v160-space-3);
        min-block-size: 64px;
    }

    .gab-logo-tagline {
        display: none;
    }

    .gab-header-search {
        max-inline-size: none;
    }

    .gab-nav-item {
        block-size: 46px;
        padding-inline: var(--v160-space-3);
        font-size: var(--v160-fs-md);
    }

    .gab-fm-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--v160-space-5);
    }

    .gab-fm-col--cta {
        grid-column: 1 / -1;
    }

    .gab-list-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--v160-space-4);
    }

    /* On tablet the rail is a sheet owned by layer 41; it stops being sticky here. */
    .gab-filter-sidebar {
        position: fixed;
        inset-block: 0;
        inset-inline-start: 0;
        z-index: var(--v160-z-modal);
        inline-size: min(360px, 92vw);
        max-block-size: none;
        border-radius: 0;
        box-shadow: var(--v160-elev-5);
        transform: translateX(-102%);
        transition: transform var(--v160-dur-slow) var(--v160-ease-out);
    }

    [dir="rtl"] .gab-filter-sidebar {
        transform: translateX(102%);
    }

    .gab-filter-sidebar.is-open {
        transform: none;
    }

    .gab-filter-sheet-close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        inset-block-start: var(--v160-space-2);
        inset-inline-end: var(--v160-space-2);
        z-index: var(--v160-z-raised);
        inline-size: var(--v160-tap);
        block-size: var(--v160-tap);
        border: 0;
        border-radius: var(--v160-r-md);
        background: transparent;
        color: var(--v160-text-muted);
        cursor: pointer;
    }

    .gab-filter-mtoggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        min-block-size: var(--v160-control-h);
        padding-inline: var(--v160-space-4);
        border: 1px solid var(--v160-border-strong);
        border-radius: var(--v160-r-md);
        background: var(--v160-surface);
        color: var(--v160-text);
        font-family: inherit;
        font-size: var(--v160-fs-md);
        font-weight: 600;
        cursor: pointer;
    }

    .gab-detail-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .gab-detail-sidebar {
        position: static;
    }

    .gab-auth {
        grid-template-columns: minmax(0, 1fr);
        min-block-size: 0;
    }

    .gab-auth-visual,
    .gab-auth-brand {
        padding: var(--v160-space-7) var(--v160-space-5);
    }

    .gab-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--v160-space-5);
    }

    .gab-footer-brand {
        grid-column: 1 / -1;
    }

    .gab-mkpick {
        grid-template-columns: minmax(0, 1fr);
    }

    .gab-mkpick-brands {
        border-inline-end: 0 !important; /* defeats 25-hicm-skin.css sticker outline */
        border-block-end: 1px solid var(--v160-border) !important;
        max-block-size: 220px;
    }

    .v160-pub-row {
        grid-template-columns: 180px minmax(0, 1fr);
    }

    .v160-pub-row__price {
        grid-column: 2;
        align-items: flex-start;
        padding-inline-start: 0;
        border-inline-start: 0;
        text-align: start;
    }
}


/* ================================================================================
 * 19. RESPONSIVE — MOBILE  (max-width: 640px)
 * --------------------------------------------------------------------------------
 * Component reflow only. Bottom nav, drawers and filter sheets belong to layer 41.
 * ============================================================================== */

@media (max-width: 640px) {

    .gab-container {
        padding-inline: var(--v160-space-3);
    }

    .gab-section {
        padding-block: var(--v160-space-6);
    }

    .gab-section-header,
    .gab-sec-head {
        margin-block-end: var(--v160-space-4);
    }

    .gab-section-header h2,
    .gab-section-title,
    .gab-sec-head__title {
        font-size: var(--v160-fs-xl);
    }

    /* --- header --- */

    .gab-top-bar {
        display: none;
    }

    .gab-burger {
        display: inline-flex;
    }

    .gab-main-header-inner {
        gap: var(--v160-space-2);
        min-block-size: 56px;
    }

    .gab-logo-name {
        font-size: var(--v160-fs-lg);
    }

    .gab-header-search {
        order: 3;
        flex: 1 0 100%;
        padding-block-end: var(--v160-space-2);
    }

    .gab-header-search-form {
        block-size: var(--v160-control-h);
    }

    .gab-header-search-input {
        font-size: var(--v160-fs-lg);
    }

    .gab-header-search-btn {
        inline-size: 48px;
    }

    .gab-header-cta .gab-btn-primary span,
    .gab-header-cta .gab-btn-primary {
        font-size: var(--v160-fs-sm);
    }

    .gab-btn-icon {
        inline-size: var(--v160-tap);
        block-size: var(--v160-tap);
    }

    .gab-nav-bar .gab-container {
        padding-inline: 0;
    }

    .gab-nav-list {
        padding-inline: var(--v160-space-3);
    }

    .gab-nav-item {
        block-size: 44px;
        padding-inline: var(--v160-space-3);
        font-size: var(--v160-fs-md);
    }

    .gab-mega-trigger {
        display: none;
    }

    .gab-findmega {
        display: none;
    }

    /* --- home hub --- */

    .gab-hx {
        padding-block: var(--v160-space-6);
    }

    .gab-hx-title {
        font-size: var(--v160-fs-3xl);
    }

    .gab-hx-sub {
        font-size: var(--v160-fs-md);
    }

    .gab-hx-makes,
    .v160-pub-brand-grid {
        grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
        gap: var(--v160-space-1);
        padding: var(--v160-space-3);
    }

    .gab-hx-make,
    .v160-pub-brand-tile {
        min-block-size: 80px;
    }

    .gab-hx-body-links,
    .v160-pub-body-row,
    .v160-pub-range-chips,
    .v160-pub-hub-row {
        padding: var(--v160-space-3);
    }

    .gab-hx-mtab,
    .v160-pub-hub__tab {
        min-block-size: var(--v160-tap);
        padding-inline: var(--v160-space-3);
        font-size: var(--v160-fs-md);
    }

    .v160-pub-hub__foot {
        padding: var(--v160-space-3);
    }

    .v160-pub-hub__submit,
    .gab-hx-search-primary {
        inline-size: 100%;
    }

    .gab-aw-stat b {
        font-size: var(--v160-fs-2xl);
    }

    /* --- cards: Encar-style horizontal rows on mobile --- */

    .gab-cars-grid,
    .gab-cars-grid-3,
    .gab-reco-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        border-block-start: 1px solid var(--v160-border);
    }

    /* defeats 25-hicm-skin.css:1023-1025 (radius 14 / 2px ink / sticker shadow) */
    .gab-cars-grid .gab-car-card,
    .gab-cars-grid-3 .gab-car-card {
        flex-direction: row;
        align-items: stretch;
        border: 0 !important;
        border-block-end: 1px solid var(--v160-border) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: var(--v160-surface);
    }

    .gab-car-card-gallery {
        inline-size: 132px;
        flex: 0 0 auto;
        align-self: center;
        padding: var(--v160-space-3) 0 var(--v160-space-3) var(--v160-space-3);
        background: none;
    }

    [dir="rtl"] .gab-car-card-gallery {
        padding: var(--v160-space-3) var(--v160-space-3) var(--v160-space-3) 0;
    }

    .gab-ccg-main {
        aspect-ratio: 4 / 3;
        border: 1px solid var(--v160-border);
        border-radius: var(--v160-r-md);
        overflow: hidden;
    }

    /* defeats 25-hicm-skin.css:1031 padding !important */
    .gab-car-card-body {
        flex: 1 1 auto;
        min-inline-size: 0;
        gap: 4px;
        padding: var(--v160-space-3) !important;
    }

    .gab-car-card-title {
        font-size: var(--v160-fs-lg);
        -webkit-line-clamp: 2;
    }

    /* defeats 25-hicm-skin.css:1041 / :1303 */
    .gab-car-card-specs {
        font-size: var(--v160-fs-xs) !important;
        gap: 5px !important;
        margin: 0 !important;
    }

    /* defeats 25-hicm-skin.css:1042 / :1304 */
    .gab-car-card-location {
        font-size: var(--v160-fs-2xs) !important;
        margin: 0 !important;
    }

    /* defeats 25-hicm-skin.css:1043 */
    .gab-car-card-price-value {
        font-size: var(--v160-fs-xl) !important;
    }

    /* defeats 25-hicm-skin.css:1044 */
    .gab-car-card-price-label,
    .gab-car-card-price-original {
        font-size: var(--v160-fs-2xs) !important;
    }

    .gab-car-card-price-row {
        padding-block-start: var(--v160-space-2);
    }

    .gab-car-card-inquiry {
        display: none;
    }

    .gab-car-card-number {
        display: none;
    }

    /* defeats 25-hicm-skin.css:1049 */
    .gab-car-card-fav {
        inline-size: 32px !important;
        block-size: 32px !important;
        inset-block-start: var(--v160-space-2) !important;
        inset-inline-end: var(--v160-space-2) !important;
        font-size: var(--v160-fs-md) !important;
    }

    .gab-car-card-compare {
        display: none;
    }

    /* defeats 25-hicm-skin.css:1194 */
    .gab-seller-type {
        font-size: var(--v160-fs-2xs) !important;
        padding-inline: 5px !important;
        border-width: 1px !important;
    }

    .v160-pub-row {
        grid-template-columns: 132px minmax(0, 1fr);
        gap: var(--v160-space-3);
        padding: var(--v160-space-3);
    }

    .v160-pub-row__title {
        font-size: var(--v160-fs-lg);
        white-space: normal;
    }

    .v160-pub-row__price-value {
        font-size: var(--v160-fs-2xl);
    }

    /* --- listing chrome --- */

    .gab-results-intro {
        margin-block-end: var(--v160-space-3);
    }

    .gab-results-heading {
        font-size: var(--v160-fs-xl);
    }

    .gab-list-toolbar {
        display: none;
    }

    .gab-qbar {
        position: sticky;
        inset-block-start: 56px;
        z-index: var(--v160-z-sticky);
        margin-inline: calc(var(--v160-space-3) * -1);
        border-inline: 0;
        border-radius: 0;
    }

    .gab-active-filters {
        padding: var(--v160-space-2);
    }

    .gab-active-filters-clear {
        margin-inline-start: 0;
    }

    .gab-pagination {
        margin-block-start: var(--v160-space-5);
    }

    .gab-page-btn {
        min-inline-size: var(--v160-tap);
        block-size: var(--v160-tap);
    }

    /* --- detail --- */

    .gab-detail-layout {
        padding-block-end: calc(var(--v160-space-12) + env(safe-area-inset-bottom, 0px));
    }

    .gab-gallery {
        margin-inline: calc(var(--v160-space-3) * -1);
        border-inline: 0;
        border-radius: 0;
    }

    .gab-gallery-nav {
        inline-size: 36px;
        block-size: 36px;
    }

    .gab-keyspecs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gab-keyspec:nth-child(2n) {
        border-inline-end: 0;
    }

    .gab-keyspec {
        border-block-end: 1px solid var(--v160-border-subtle);
    }

    .gab-spec-grid,
    .v160-pub-spec {
        grid-template-columns: minmax(0, 1fr);
    }

    .gab-spec-item,
    .v160-pub-spec__row {
        border-inline-end: 0;
    }

    .gab-detail-panel {
        padding: var(--v160-space-4);
    }

    .gab-detail-tab {
        min-block-size: var(--v160-tap);
        font-size: var(--v160-fs-sm);
    }

    .gab-price-card-title {
        font-size: var(--v160-fs-xl);
    }

    .gab-price-card-value {
        font-size: var(--v160-fs-3xl);
    }

    .gab-contact-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gab-seller-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    /* --- compare / auth / forms --- */

    .gab-compare-rowlabel {
        inline-size: 108px;
        min-inline-size: 108px;
        font-size: var(--v160-fs-xs);
    }

    .gab-compare-col {
        min-inline-size: 180px;
    }

    .gab-auth-form-side {
        padding: var(--v160-space-5) var(--v160-space-3);
    }

    .gab-auth-form-box {
        padding: var(--v160-space-5);
        border-radius: var(--v160-r-xl);
    }

    .gab-auth-headline {
        font-size: var(--v160-fs-2xl);
    }

    .gab-form-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--v160-space-3);
    }

    .gab-parts-form-wrap {
        padding: var(--v160-space-4);
        border-radius: var(--v160-r-xl);
    }

    .gab-page-hero {
        padding-block: var(--v160-space-6);
    }

    .gab-page-hero-title {
        font-size: var(--v160-fs-2xl);
    }

    /* --- footer --- */

    .gab-footer {
        padding-block: var(--v160-space-7) var(--v160-space-5);
    }

    .gab-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--v160-space-4);
    }

    .gab-footer-news,
    .gab-footer-global,
    .gab-footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--v160-space-3);
    }

    .gab-empty {
        padding: var(--v160-space-8) var(--v160-space-4);
    }

    .gab-empty-title {
        font-size: var(--v160-fs-lg);
    }

    /* 44px minimum touch target for every public control at this width. */
    .gab-nav-item,
    .gab-fm-fuel,
    .gab-fm-make,
    .gab-mega-item,
    .gab-lang-option,
    .gab-filter-chip,
    .gab-fchip,
    .gab-qchip,
    .gab-footer-social-btn,
    .gab-footer-payment-item,
    .gab-contact-btn,
    .gab-insp-view,
    .gab-compare-clear,
    .gab-compare-view,
    .gab-af-save,
    .gab-af-share,
    .gab-active-filters-clear,
    .gab-qbar-filter,
    .gab-qbar-sort,
    .gab-qbar-reset,
    .gab-list-view-btn,
    .gab-qbar-view-btn,
    .v160-pub-body-tile,
    .v160-pub-dealer-card__cta {
        min-block-size: var(--v160-tap);
    }
}


/* ================================================================================
 * 20. WIDE  (min-width: 1441px)
 * ============================================================================== */

@media (min-width: 1441px) {

    .gab-list-layout {
        grid-template-columns: 300px minmax(0, 1fr);
        gap: var(--v160-space-7);
    }

    .gab-detail-layout {
        grid-template-columns: minmax(0, 1fr) 400px;
    }

    .gab-cars-grid,
    .gab-cars-grid-3 {
        grid-template-columns: repeat(auto-fill, minmax(276px, 1fr));
    }

    .gab-header-search {
        max-inline-size: 720px;
    }
}


/* ================================================================================
 * 21. RTL — only what logical properties cannot express
 * ============================================================================== */

[dir="rtl"] .gab-breadcrumb i,
[dir="rtl"] .gab-proof-link i,
[dir="rtl"] .gab-fm-type i,
[dir="rtl"] .gab-footer-col-list i,
[dir="rtl"] .gab-compare-add i,
[dir="rtl"] .gab-empty-actions i,
[dir="rtl"] .v160-pub-hub__submit i {
    transform: scaleX(-1);
}

[dir="rtl"] .gab-select,
[dir="rtl"] .gab-perpage-select,
[dir="rtl"] .gab-sort-select {
    background-position: left var(--v160-space-3) center;
}

[dir="rtl"] .gab-mkpick-model:hover,
[dir="rtl"] .gab-hx-make:hover {
    transform: none;
}

/* Latin-numeric content stays LTR inside Arabic paragraphs. */
[dir="rtl"] .gab-car-card-specs,
[dir="rtl"] .gab-car-card-number,
[dir="rtl"] .gab-list-range,
[dir="rtl"] .gab-list-count,
[dir="rtl"] .gab-seller-stat-value,
[dir="rtl"] .gab-keyspec-v,
[dir="rtl"] .gab-export-v,
[dir="rtl"] .gab-buyreq-item-meta,
[dir="rtl"] .gab-hx-make-cnt,
[dir="rtl"] .gab-mkpick-bcnt,
[dir="rtl"] .gab-fb-cnt {
    direction: ltr;
    unicode-bidi: isolate;
    text-align: end;
}

[dir="rtl"] .gab-nav-item::after,
[dir="rtl"] .gab-hx-mtab::after,
[dir="rtl"] .gab-detail-tab::after {
    transform-origin: center;
}


/* ================================================================================
 * 22. PRINT — public detail pages should print as a clean spec sheet
 * ============================================================================== */

@media print {

    .gab-site-header,
    .gab-nav-bar,
    .gab-footer,
    .gab-mbar,
    .gab-qbar,
    .gab-list-toolbar,
    .gab-filter-sidebar,
    .gab-contact-buttons,
    .gab-gallery-nav,
    .gab-gallery-expand {
        display: none;
    }

    .gab-detail-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .gab-detail-panel,
    .gab-price-card,
    .gab-spec-grid,
    .gab-keyspecs {
        border-color: var(--v160-border-strong);
        box-shadow: none;
    }
}


/* ================================================================================
 * 23. LEGACY MOBILE-ROW RECONCILIATION  (<= 1024px)
 * --------------------------------------------------------------------------------
 * 25-hicm-skin.css:1297 switches cards to a compact row at <=768px and hides the
 * thumbnail ribbon in favour of an inline `.gab-cert-mini` badge. That behaviour is
 * correct for the Encar row idiom, so it is kept — only the cartoon styling of the
 * pieces it reveals is corrected here.
 * ============================================================================== */

.gab-cert-mini {
    align-items: center;
    gap: 3px;
    padding: 2px 6px;
    border: 1px solid var(--v160-success-border);
    border-radius: var(--v160-r-sm);
    background: var(--v160-success-soft);
    color: var(--v160-success);
    font-size: var(--v160-fs-2xs);
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
    flex-shrink: 0;
}

.gab-cert-mini img {
    inline-size: 11px;
    block-size: 11px;
}

@media (max-width: 1024px) {

    .gab-car-card-topline {
        justify-content: flex-start;
        gap: 6px;
    }

    .gab-car-card-topline .gab-seller-type {
        margin-inline-start: auto;
    }

    /* Legacy strips the internal divider on compact rows; keep the price block
       separated by spacing instead so nothing looks broken. */
    .gab-car-card-price-row {
        align-items: baseline;
        gap: var(--v160-space-2);
    }

    /* defeats 25-hicm-skin.css:1328 sticker padding/size on quick-filter chips */
    .gab-quickfilters .gab-qf {
        font-size: var(--v160-fs-xs) !important;
        padding: 0 var(--v160-space-3) !important;
        min-block-size: var(--v160-tap);
        display: inline-flex;
        align-items: center;
        border: 1px solid var(--v160-border-strong);
        border-radius: var(--v160-r-pill);
        background: var(--v160-surface);
        color: var(--v160-text-muted);
        box-shadow: none !important;
        white-space: nowrap;
    }

    .gab-quickfilters .gab-qf.is-on {
        border-color: var(--v160-accent);
        background: var(--v160-accent-soft);
        color: var(--v160-accent-hover);
    }
}


/* ================================================================================
 * 24. FOCUS VISIBILITY FOR PUBLIC CONTROLS
 * --------------------------------------------------------------------------------
 * Layer 38 owns the global :focus-visible ring. These rules only make sure the ring
 * is not clipped by an ancestor with overflow:hidden on public surfaces.
 * ============================================================================== */

.gab-nav-item:focus-visible,
.gab-mkpick-bcar:focus-visible,
.gab-hx-mtab:focus-visible,
.gab-detail-tab:focus-visible,
.gab-gallery-thumb:focus-visible,
.gab-filter-group-title:focus-visible,
.v160-pub-hub__tab:focus-visible,
.v160-pub-facet__head:focus-visible {
    outline: 2px solid var(--v160-accent);
    outline-offset: -2px;
    border-radius: var(--v160-r-sm);
}

.gab-car-card:focus-within {
    border-color: var(--v160-accent-border) !important; /* defeats 25-hicm-skin.css:240 */
    box-shadow: var(--v160-elev-3);
}

/* ================================================================================
 * 25. SHARED COMPONENT — AVATAR INITIAL FALLBACK
 * --------------------------------------------------------------------------------
 * views/components/avatar.php renders <span class="gab-avatar__initial"> when no
 * photo src is supplied. 10-components.css styles .gab-avatar / .gab-avatar--sm|md|lg
 * / .gab-avatar img / .gab-avatar__verified but never the initial span itself, so the
 * fallback letter relied entirely on the parent's inline-flex centering and had no
 * box of its own. This makes it fill and center inside the circle on every surface
 * that renders an avatar (header, dealer cards, reviews, chat, console).
 * ============================================================================== */

.gab-avatar__initial {
    display: flex;
    align-items: center;
    justify-content: center;
    inline-size: 100%;
    block-size: 100%;
    line-height: 1;
    color: var(--v160-text-inverse);
    text-transform: uppercase;
    user-select: none;
}


/* ================================================================================
 * 26. PUBLIC PAGE — MEMBER REVIEWS (views/pages/blog.php)
 * --------------------------------------------------------------------------------
 * `.gab-rv-reviews` is the top-level <section> shell for the reviews listing. Layer
 * 19 styles every child (.gab-rv-tabs / .gab-rv-list / .gab-rv-card / .gab-rv-empty)
 * but never the wrapper, so the section had no box of its own on any breakpoint.
 * This gives it the standard public section shell and modernises the card grid to
 * auto-fill so it degrades to one column on narrow viewports without a media query.
 * ============================================================================== */

.gab-rv-reviews {
    display: block;
    inline-size: 100%;
    max-inline-size: var(--v160-container);
    margin-inline: auto;
    padding-block: var(--v160-space-5) var(--v160-space-9);
}

.gab-rv-reviews .gab-rv-list {
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: var(--v160-space-4);
    margin-block-end: var(--v160-space-8);
}

.gab-rv-reviews .gab-rv-empty {
    margin-block-start: var(--v160-space-4);
    border: 1px solid var(--v160-border-subtle);
    border-radius: var(--v160-r-lg);
    background: var(--v160-surface);
}
