/**
 * GTR Auto - Complete Shortcode Collection Stylesheet
 *
 * Scoped, production-grade styles for:
 * - [gtr_vehicles] (Layouts 1, 2, 3)
 * - [gtr_spare_parts] (Layouts 1, 2, 3)
 * - Themes: Light & Dark
 * - Breakpoint Hardening: 1440px, 1280px, 1024px, 768px, 390px
 * - Zero vertical dead space on Layout 1 & P2
 * - Standardized Fact Chips and Spec Lines
 *
 * @package GTR_Auto
 */

/* ==========================================================================
   1. Theme Tokens & Scoped Root Variables
   ========================================================================== */

.gtr-vehicle-collection,
.gtr-part-collection {
    width: 100%;
    margin: 0 0 2rem 0;
    box-sizing: border-box;
    font-family: inherit;
}

.gtr-vehicle-collection *,
.gtr-vehicle-collection *::before,
.gtr-vehicle-collection *::after,
.gtr-part-collection *,
.gtr-part-collection *::before,
.gtr-part-collection *::after {
    box-sizing: border-box;
}

/* Light Theme Tokens */
.gtr-vehicle-collection.gtr-theme-light,
.gtr-part-collection.gtr-theme-light,
.gtr-vehicle-collection .gtr-theme-light,
.gtr-part-collection .gtr-theme-light {
    --gtr-col-bg: transparent;
    --gtr-card-bg: #FFFFFF;
    --gtr-card-bg-subtle: #F8FAFC;
    --gtr-card-border: #E2E8F0;
    --gtr-card-hover-border: #CBD5E1;
    --gtr-card-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05);
    --gtr-card-shadow-hover: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.04);
    --gtr-text-primary: #0F172A;
    --gtr-text-secondary: #475569;
    --gtr-text-muted: #64748B;
    --gtr-accent: #D32F2F;
    --gtr-accent-hover: #B71C1C;
    --gtr-price: #0F172A;
    --gtr-divider: #E2E8F0;
    --gtr-chip-bg: #F1F5F9;
    --gtr-chip-border: #CBD5E1;
    --gtr-chip-text: #334155;
    --gtr-btn-primary-bg: #D32F2F;
    --gtr-btn-primary-text: #FFFFFF;
    --gtr-btn-primary-hover: #B71C1C;
    --gtr-btn-dark-bg: #0F172A;
    --gtr-btn-dark-text: #FFFFFF;
    --gtr-btn-dark-hover: #1E293B;
    --gtr-btn-outline-bg: #FFFFFF;
    --gtr-btn-outline-border: #CBD5E1;
    --gtr-btn-outline-text: #0F172A;
    --gtr-btn-outline-hover-bg: #F8FAFC;
    --gtr-btn-outline-hover-border: #94A3B8;
}

/* Dark Theme Tokens (Target Luxury Dark Surface) */
.gtr-vehicle-collection.gtr-theme-dark,
.gtr-part-collection.gtr-theme-dark,
.gtr-vehicle-collection .gtr-theme-dark,
.gtr-part-collection .gtr-theme-dark {
    --gtr-col-bg: #080C14;
    --gtr-card-bg: #0D121C;
    --gtr-card-bg-subtle: #131924;
    --gtr-card-border: #1E2638;
    --gtr-card-hover-border: #2E3A54;
    --gtr-card-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
    --gtr-card-shadow-hover: 0 12px 28px rgba(0, 0, 0, 0.55);
    --gtr-text-primary: #FFFFFF;
    --gtr-text-secondary: #94A3B8;
    --gtr-text-muted: #64748B;
    --gtr-accent: #E53935;
    --gtr-accent-hover: #D32F2F;
    --gtr-price: #FFFFFF;
    --gtr-divider: #1E2638;
    --gtr-chip-bg: #151B27;
    --gtr-chip-border: #253046;
    --gtr-chip-text: #C5D1E0;
    --gtr-btn-primary-bg: #E53935;
    --gtr-btn-primary-text: #FFFFFF;
    --gtr-btn-primary-hover: #D32F2F;
    --gtr-btn-dark-bg: #1E2638;
    --gtr-btn-dark-text: #F8FAFC;
    --gtr-btn-dark-hover: #2E3A54;
    --gtr-btn-outline-bg: rgba(255, 255, 255, 0.05);
    --gtr-btn-outline-border: #253046;
    --gtr-btn-outline-text: #F1F5F9;
    --gtr-btn-outline-hover-bg: rgba(255, 255, 255, 0.1);
    --gtr-btn-outline-hover-border: #475569;
}

/* Scoped Background Application */
.gtr-theme-dark.gtr-vehicle-collection,
.gtr-theme-dark.gtr-part-collection {
    background: var(--gtr-col-bg);
    border-radius: 12px;
    padding: 16px;
}

.gtr-vehicle-collection img.gtr-is-placeholder,
.gtr-part-collection img.gtr-is-placeholder {
    object-fit: cover !important;
    background-color: #14171a;
}

/* ==========================================================================
   2. Shared Base Elements (Buttons, Badges, Chips, Media)
   ========================================================================== */

/* Shared Buttons */
.gtr-vehicle-collection .gtr-btn,
.gtr-part-collection .gtr-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 18px;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none !important;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
    border: 1px solid transparent;
    text-align: center;
    white-space: nowrap;
}

.gtr-vehicle-collection .gtr-btn:focus-visible,
.gtr-part-collection .gtr-btn:focus-visible {
    outline: 2px solid var(--gtr-accent);
    outline-offset: 2px;
}

.gtr-vehicle-collection .gtr-btn-primary,
.gtr-part-collection .gtr-btn-primary {
    background-color: var(--gtr-btn-primary-bg);
    color: var(--gtr-btn-primary-text) !important;
}
.gtr-vehicle-collection .gtr-btn-primary:hover,
.gtr-part-collection .gtr-btn-primary:hover {
    background-color: var(--gtr-btn-primary-hover);
    color: var(--gtr-btn-primary-text) !important;
    transform: translateY(-1px);
}

.gtr-vehicle-collection .gtr-btn-dark,
.gtr-part-collection .gtr-btn-dark {
    background-color: var(--gtr-btn-dark-bg);
    color: var(--gtr-btn-dark-text) !important;
}
.gtr-vehicle-collection .gtr-btn-dark:hover,
.gtr-part-collection .gtr-btn-dark:hover {
    background-color: var(--gtr-btn-dark-hover);
    color: var(--gtr-btn-dark-text) !important;
}

.gtr-vehicle-collection .gtr-btn-outline,
.gtr-part-collection .gtr-btn-outline {
    background-color: var(--gtr-btn-outline-bg);
    border-color: var(--gtr-btn-outline-border);
    color: var(--gtr-btn-outline-text) !important;
}
.gtr-vehicle-collection .gtr-btn-outline:hover,
.gtr-part-collection .gtr-btn-outline:hover {
    background-color: var(--gtr-btn-outline-hover-bg);
    border-color: var(--gtr-btn-outline-hover-border);
    color: var(--gtr-btn-outline-text) !important;
}

.gtr-vehicle-collection .gtr-cta-arrow,
.gtr-part-collection .gtr-cta-arrow {
    display: inline-block;
    transition: transform 0.2s ease;
    font-size: 1rem;
    line-height: 1;
}
.gtr-btn:hover .gtr-vehicle-collection .gtr-cta-arrow,
.gtr-part-collection .gtr-cta-arrow {
    transform: translateX(3px);
}

/* Status Badges */
.gtr-vehicle-collection .gtr-vehicle-card__badge,
.gtr-part-collection .gtr-part-card__badge {
    position: absolute;
    top: 10px;
    right: 10px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 8px;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-radius: 4px;
    line-height: 1.3;
    z-index: 2;
    box-shadow: 0 2px 6px rgba(0,0,0,0.35);
}

.gtr-vehicle-collection .gtr-badge-dot,
.gtr-part-collection .gtr-badge-dot {
    font-size: 8px;
    line-height: 1;
}

.gtr-vehicle-collection .is-in-stock,
.gtr-vehicle-collection .is-available-to-source,
.gtr-part-collection .is-in-stock,
.gtr-part-collection .is-available-to-source {
    background-color: #059669;
    color: #FFFFFF;
}

.gtr-vehicle-collection .is-in-transit,
.gtr-part-collection .is-in-transit {
    background-color: #0284C7;
    color: #FFFFFF;
}

.gtr-vehicle-collection .is-under-offer,
.gtr-vehicle-collection .is-reserved,
.gtr-part-collection .is-under-offer,
.gtr-part-collection .is-reserved {
    background-color: #D97706;
    color: #FFFFFF;
}

.gtr-vehicle-collection .is-sold,
.gtr-vehicle-collection .is-out-of-stock,
.gtr-part-collection .is-sold,
.gtr-part-collection .is-out-of-stock {
    background-color: #DC2626;
    color: #FFFFFF;
}

.gtr-vehicle-collection .is-contact-to-confirm,
.gtr-part-collection .is-contact-to-confirm {
    background-color: #059669;
    color: #FFFFFF;
}

.gtr-part-collection .is-low-stock {
    background-color: #D97706;
    color: #FFFFFF;
}

.gtr-part-collection .is-made-to-order {
    background-color: #4F46E5;
    color: #FFFFFF;
}

.gtr-part-collection .is-on-order {
    background-color: #0284C7;
    color: #FFFFFF;
}

.gtr-part-collection .is-mixed {
    background-color: #334155;
    color: #FFFFFF;
}

/* Multi-Badge Overlay Container */
.gtr-part-collection .gtr-part-card__badges {
    position: absolute;
    top: 8px;
    left: 8px;
    right: 8px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 6px;
    z-index: 3;
    pointer-events: none;
}

.gtr-part-collection .gtr-badges-left,
.gtr-part-collection .gtr-badges-right {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    pointer-events: auto;
}

.gtr-part-collection .gtr-part-card__badges .gtr-part-card__badge {
    position: static;
}

/* Individual Condition Badges: NEW / USED */
.gtr-part-collection .gtr-badge-cond {
    font-size: 0.625rem;
    font-weight: 800;
    padding: 3px 7px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-radius: 4px;
    line-height: 1.2;
    box-shadow: 0 1px 4px rgba(0,0,0,0.3);
}

.gtr-part-collection .gtr-badge-cond.is-new {
    background-color: #0F172A;
    color: #FFFFFF;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.gtr-part-collection .gtr-badge-cond.is-used {
    background-color: #475569;
    color: #FFFFFF;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.gtr-part-collection.gtr-theme-dark .gtr-badge-cond.is-new,
.gtr-theme-dark .gtr-part-collection .gtr-badge-cond.is-new {
    background-color: #1E293B;
    border-color: rgba(255, 255, 255, 0.3);
}

.gtr-part-collection.gtr-theme-dark .gtr-badge-cond.is-used,
.gtr-theme-dark .gtr-part-collection .gtr-badge-cond.is-used {
    background-color: #334155;
    border-color: rgba(255, 255, 255, 0.25);
}

/* Split Availability Pills */
.gtr-part-collection .gtr-part-card__split-avail {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 10px;
}

.gtr-part-collection .gtr-part-avail-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 7px;
    font-size: 0.6875rem;
    font-weight: 600;
    border-radius: 3px;
    color: #FFFFFF;
    line-height: 1.3;
}

.gtr-part-collection .gtr-part-avail-pill .gtr-cond-name {
    font-weight: 800;
    text-transform: uppercase;
    font-size: 0.625rem;
    opacity: 0.9;
}

/* Quality Classification Pill */
.gtr-part-collection .gtr-chip-quality {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    background: rgba(211, 47, 47, 0.08);
    color: var(--gtr-accent);
    border: 1px solid rgba(211, 47, 47, 0.25);
}

.gtr-part-collection.gtr-theme-dark .gtr-chip-quality,
.gtr-theme-dark .gtr-part-collection .gtr-chip-quality {
    background: rgba(229, 57, 53, 0.15);
    color: #FF6B6B;
    border-color: rgba(229, 57, 53, 0.35);
}

/* Price Quote Typography */
.gtr-part-collection .gtr-part-card__price-quote {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--gtr-text-primary);
    line-height: 1.25;
}

/* Fact Chips (Vehicles & Parts) */
.gtr-vehicle-collection .gtr-vehicle-card__chips,
.gtr-part-collection .gtr-part-card__chips {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 8px 0;
}

.gtr-vehicle-collection .gtr-fact-chip,
.gtr-part-collection .gtr-part-fact-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 9px;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    background: var(--gtr-chip-bg);
    color: var(--gtr-chip-text);
    border-radius: 5px;
    line-height: 1.2;
    white-space: nowrap;
    border: 1px solid var(--gtr-chip-border);
}

.gtr-vehicle-collection .gtr-chip-icon,
.gtr-part-collection .gtr-chip-icon {
    display: inline-block;
    color: var(--gtr-text-muted);
    flex-shrink: 0;
}

.gtr-vehicle-collection .gtr-vehicle-card__ref-chip {
    position: absolute;
    bottom: 10px;
    left: 10px;
    background: rgba(13, 18, 28, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #FFFFFF;
    font-size: 0.6875rem;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 4px;
    letter-spacing: 0.02em;
    z-index: 2;
    backdrop-filter: blur(4px);
}

/* Media Containers */
.gtr-vehicle-collection .gtr-vehicle-card__media,
.gtr-part-collection .gtr-part-card__media {
    position: relative;
    overflow: hidden;
    background-color: var(--gtr-card-bg-subtle);
}

.gtr-vehicle-collection .gtr-vehicle-card__media-link,
.gtr-part-collection .gtr-part-card__media-link {
    display: block;
    width: 100%;
    height: 100%;
}

.gtr-vehicle-collection .gtr-vehicle-card__img,
.gtr-part-collection .gtr-part-card__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.gtr-vehicle-collection .gtr-vehicle-card.has-demo-illustration .gtr-vehicle-card__img,
.gtr-part-collection .gtr-part-card .gtr-part-card__img {
    object-fit: contain;
    padding: 12px;
}

.gtr-vehicle-collection .gtr-vehicle-card:hover .gtr-vehicle-card__img,
.gtr-part-collection .gtr-part-card:hover .gtr-part-card__img {
    transform: scale(1.03);
}

/* Empty Collection Notice */
.gtr-vehicle-collection .gtr-collection-empty,
.gtr-part-collection .gtr-collection-empty {
    padding: 40px 20px;
    text-align: center;
    background: var(--gtr-card-bg);
    border: 1px dashed var(--gtr-card-border);
    border-radius: 8px;
    color: var(--gtr-text-muted);
}


/* ==========================================================================
   3. VEHICLE LAYOUT 1: Featured Horizontal Executive Row (Reference V1)
   ========================================================================== */

.gtr-vehicle-collection.gtr-layout-1 .gtr-vehicle-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.gtr-vehicle-collection .gtr-v-card-layout-1 {
    display: grid;
    grid-template-columns: minmax(300px, 34%) minmax(0, 1fr) minmax(220px, 250px);
    align-items: stretch;
    background: var(--gtr-card-bg);
    border: 1px solid var(--gtr-card-border);
    border-radius: 12px;
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: var(--gtr-card-shadow);
    min-height: 220px;
}

.gtr-vehicle-collection .gtr-v-card-layout-1:hover {
    border-color: var(--gtr-card-hover-border);
    box-shadow: var(--gtr-card-shadow-hover);
}

.gtr-vehicle-collection .gtr-v-card-layout-1 .gtr-vehicle-card__media {
    width: 100%;
    height: 100%;
    min-height: 220px;
    aspect-ratio: 16 / 10;
}

.gtr-vehicle-collection .gtr-v-card-layout-1 .gtr-vehicle-card__info {
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.gtr-vehicle-collection .gtr-v-card-layout-1 .gtr-vehicle-card__eyebrow {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--gtr-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 2px;
}

.gtr-vehicle-collection .gtr-v-card-layout-1 .gtr-vehicle-card__title {
    font-size: clamp(1.2rem, 1.45vw, 1.4rem);
    font-weight: 700;
    color: var(--gtr-text-primary);
    margin: 0 0 4px 0;
    line-height: 1.25;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.gtr-vehicle-collection .gtr-v-card-layout-1 .gtr-vehicle-card__title-link {
    color: var(--gtr-text-primary) !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
}
.gtr-vehicle-collection .gtr-v-card-layout-1 .gtr-vehicle-card__title-link:hover {
    color: var(--gtr-accent) !important;
}

.gtr-vehicle-collection .gtr-v-card-layout-1 .gtr-vehicle-card__specs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    font-size: 0.8125rem;
    color: var(--gtr-text-secondary);
    line-height: 1.4;
    margin-top: 4px;
}

.gtr-vehicle-collection .gtr-spec-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.gtr-vehicle-collection .gtr-spec-icon {
    color: var(--gtr-text-muted);
    flex-shrink: 0;
}

.gtr-vehicle-collection .gtr-vehicle-card__micro-line {
    font-size: 0.75rem;
    color: var(--gtr-text-muted);
    line-height: 1.4;
    margin-top: 8px;
}

.gtr-vehicle-collection .gtr-v-card-layout-1 .gtr-vehicle-card__action-zone {
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 14px;
    text-align: right;
    border-left: 1px solid var(--gtr-divider);
    height: 100%;
}

.gtr-vehicle-collection .gtr-v-card-layout-1 .gtr-vehicle-card__price-box {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.gtr-vehicle-collection .gtr-v-card-layout-1 .gtr-vehicle-card__price-label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--gtr-text-muted);
    margin-bottom: 2px;
}

.gtr-vehicle-collection .gtr-v-card-layout-1 .gtr-vehicle-card__price-amount {
    display: block;
    font-size: 1.45rem;
    font-weight: 800;
    color: var(--gtr-price);
    letter-spacing: -0.02em;
    line-height: 1.1;
}

.gtr-vehicle-collection .gtr-v-card-layout-1 .gtr-vehicle-card__price-fob {
    font-size: 0.75rem;
    color: var(--gtr-text-muted);
    margin-top: 3px;
    font-weight: 500;
}

.gtr-vehicle-collection .gtr-v-card-layout-1 .gtr-vehicle-card__btn-box {
    width: 100%;
}

.gtr-vehicle-collection .gtr-v-card-layout-1 .gtr-vehicle-card__cta {
    width: 100%;
    min-width: 150px;
}


/* ==========================================================================
   4. VEHICLE LAYOUT 2: Premium Showroom Card Grid (Reference V2)
   ========================================================================== */

.gtr-vehicle-collection.gtr-layout-2 .gtr-vehicle-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.gtr-vehicle-collection .gtr-v-card-layout-2 {
    display: flex;
    flex-direction: column;
    background: var(--gtr-card-bg);
    border: 1px solid var(--gtr-card-border);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: var(--gtr-card-shadow);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.gtr-vehicle-collection .gtr-v-card-layout-2:hover {
    border-color: var(--gtr-card-hover-border);
    box-shadow: var(--gtr-card-shadow-hover);
}

.gtr-vehicle-collection .gtr-v-card-layout-2 .gtr-vehicle-card__media {
    width: 100%;
    aspect-ratio: 16 / 10;
}

.gtr-vehicle-collection .gtr-v-card-layout-2 .gtr-vehicle-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 18px 20px 20px;
}

.gtr-vehicle-collection .gtr-v-card-layout-2 .gtr-vehicle-card__meta-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.6875rem;
    font-weight: 700;
    color: var(--gtr-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 8px;
}

.gtr-vehicle-collection .gtr-v-card-layout-2 .gtr-vehicle-card__title {
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0 0 6px 0;
    line-height: 1.3;
    min-height: 2.6em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.gtr-vehicle-collection .gtr-v-card-layout-2 .gtr-vehicle-card__title-link {
    color: var(--gtr-text-primary) !important;
    text-decoration: none !important;
}
.gtr-vehicle-collection .gtr-v-card-layout-2 .gtr-vehicle-card__title-link:hover {
    color: var(--gtr-accent) !important;
}

.gtr-vehicle-collection .gtr-v-card-layout-2 .gtr-vehicle-card__specs {
    font-size: 0.8125rem;
    color: var(--gtr-text-secondary);
    line-height: 1.4;
    margin-bottom: 14px;
}

.gtr-vehicle-collection .gtr-v-card-layout-2 .gtr-vehicle-card__divider {
    border: none;
    border-top: 1px solid var(--gtr-divider);
    margin: auto 0 16px 0;
}

.gtr-vehicle-collection .gtr-v-card-layout-2 .gtr-vehicle-card__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.gtr-vehicle-collection .gtr-v-card-layout-2 .gtr-vehicle-card__price-label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 600;
    color: var(--gtr-text-muted);
    margin-bottom: 2px;
}

.gtr-vehicle-collection .gtr-v-card-layout-2 .gtr-vehicle-card__price-amount {
    display: block;
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--gtr-price);
    letter-spacing: -0.02em;
    line-height: 1.1;
}

.gtr-vehicle-collection .gtr-v-card-layout-2 .gtr-vehicle-card__cta {
    padding: 8px 16px;
}


/* ==========================================================================
   5. VEHICLE LAYOUT 3: Compact Marketplace Grid (Reference V3)
   ========================================================================== */

.gtr-vehicle-collection.gtr-layout-3 .gtr-vehicle-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.gtr-vehicle-collection .gtr-v-card-layout-3 {
    display: flex;
    flex-direction: column;
    background: var(--gtr-card-bg);
    border: 1px solid var(--gtr-card-border);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: var(--gtr-card-shadow);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.gtr-vehicle-collection .gtr-v-card-layout-3:hover {
    border-color: var(--gtr-card-hover-border);
    box-shadow: var(--gtr-card-shadow-hover);
}

.gtr-vehicle-collection .gtr-v-card-layout-3 .gtr-vehicle-card__media {
    width: 100%;
    aspect-ratio: 16 / 10;
}

.gtr-vehicle-collection .gtr-v-card-layout-3 .gtr-vehicle-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 16px 18px 18px;
}

.gtr-vehicle-collection .gtr-v-card-layout-3 .gtr-vehicle-card__eyebrow {
    font-size: 0.6875rem;
    font-weight: 600;
    color: var(--gtr-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 4px;
}

.gtr-vehicle-collection .gtr-v-card-layout-3 .gtr-vehicle-card__title {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0 0 4px 0;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.gtr-vehicle-collection .gtr-v-card-layout-3 .gtr-vehicle-card__title-link {
    color: var(--gtr-text-primary) !important;
    text-decoration: none !important;
}
.gtr-vehicle-collection .gtr-v-card-layout-3 .gtr-vehicle-card__title-link:hover {
    color: var(--gtr-accent) !important;
}

.gtr-vehicle-collection .gtr-v-card-layout-3 .gtr-vehicle-card__micro-specs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--gtr-divider);
}

.gtr-vehicle-collection .gtr-v-card-layout-3 .gtr-micro-spec-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.6875rem;
    font-weight: 500;
    color: var(--gtr-text-secondary);
}

.gtr-vehicle-collection .gtr-v-card-layout-3 .gtr-micro-icon {
    color: var(--gtr-text-muted);
    flex-shrink: 0;
}

.gtr-vehicle-collection .gtr-v-card-layout-3 .gtr-vehicle-card__price-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-top: auto;
    margin-bottom: 12px;
}

.gtr-vehicle-collection .gtr-v-card-layout-3 .gtr-vehicle-card__price-label {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--gtr-text-muted);
}

.gtr-vehicle-collection .gtr-v-card-layout-3 .gtr-vehicle-card__price-amount {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--gtr-price);
    letter-spacing: -0.02em;
}

.gtr-vehicle-collection .gtr-v-card-layout-3 .gtr-vehicle-card__actions--dual {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 8px;
}


/* ==========================================================================
   6. SPARE PARTS SHARED COMMERCIAL & OFFER BOX STYLES (PHASE 4.2)
   ========================================================================== */

.gtr-part-collection .gtr-part-offers-stage {
    width: 100%;
}

.gtr-part-collection .gtr-part-offers-grid {
    display: grid;
    gap: 8px;
    width: 100%;
}

.gtr-part-collection .gtr-part-offers-grid.gtr-offers-count-1 {
    grid-template-columns: 1fr;
}

.gtr-part-collection .gtr-part-offers-grid.gtr-offers-count-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gtr-part-collection .gtr-part-offer-box {
    background: #ffffff;
    border: 1px solid var(--gtr-card-border, #e2e8f0);
    border-radius: 6px;
    padding: 8px 10px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 68px;
    box-sizing: border-box;
    transition: border-color 0.2s ease;
}

.gtr-part-collection .gtr-part-offer-box__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4px;
    margin-bottom: 6px;
}

.gtr-part-collection .gtr-offer-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    padding: 3px 6px;
    border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.gtr-part-collection .gtr-offer-badge.is-new {
    background: #ef4444;
    color: #ffffff;
}

.gtr-part-collection .gtr-offer-badge.is-used {
    background: #1e293b;
    color: #ffffff;
}

.gtr-part-collection .gtr-offer-avail-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 10.5px;
    font-weight: 600;
    line-height: 1;
    padding: 2px 6px;
    border-radius: 10px;
    background: #f1f5f9;
    color: #475569;
}

.gtr-part-collection .gtr-avail-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    flex-shrink: 0;
}

.gtr-part-collection .gtr-offer-avail-pill.is-in-stock {
    background: #ecfdf5;
    color: #059669;
}
.gtr-part-collection .gtr-offer-avail-pill.is-in-stock .gtr-avail-dot {
    background: #10b981;
}

.gtr-part-collection .gtr-offer-avail-pill.is-low-stock {
    background: #fffbeb;
    color: #d97706;
}
.gtr-part-collection .gtr-offer-avail-pill.is-low-stock .gtr-avail-dot {
    background: #f59e0b;
}

.gtr-part-collection .gtr-offer-avail-pill.is-out-of-stock {
    background: #f1f5f9;
    color: #64748b;
}
.gtr-part-collection .gtr-offer-avail-pill.is-out-of-stock .gtr-avail-dot {
    background: #94a3b8;
}

.gtr-part-collection .gtr-offer-avail-pill.is-made-to-order {
    background: #eff6ff;
    color: #2563eb;
}
.gtr-part-collection .gtr-offer-avail-pill.is-made-to-order .gtr-avail-dot {
    background: #3b82f6;
}

.gtr-part-collection .gtr-offer-avail-pill.is-available-to-source {
    background: #f0fdf4;
    color: #15803d;
}
.gtr-part-collection .gtr-offer-avail-pill.is-available-to-source .gtr-avail-dot {
    background: #22c55e;
}

.gtr-part-collection .gtr-offer-avail-pill.is-on-order {
    background: #faf5ff;
    color: #7e22ce;
}
.gtr-part-collection .gtr-offer-avail-pill.is-on-order .gtr-avail-dot {
    background: #a855f7;
}

.gtr-part-collection .gtr-part-offer-box__body {
    display: flex;
    flex-direction: column;
}

.gtr-part-collection .gtr-offer-price-label {
    font-size: 10px;
    font-weight: 500;
    color: #64748b;
    margin-bottom: 2px;
}

.gtr-part-collection .gtr-offer-price-val {
    font-size: 15px;
    font-weight: 800;
    color: var(--gtr-text-primary, #0f172a);
    line-height: 1.2;
}

.gtr-part-collection .gtr-offer-price-val.is-quote {
    font-size: 12px;
    font-weight: 700;
    color: var(--gtr-accent, #b8001d);
}

.gtr-part-collection .gtr-offer-price-approx {
    font-size: 10.5px;
    font-weight: 500;
    color: #64748b;
    margin-top: 1px;
}

.gtr-part-collection .gtr-btn-view-details {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--gtr-accent, #b8001d);
    color: #ffffff !important;
    font-weight: 700;
    text-decoration: none !important;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
}

.gtr-part-collection .gtr-btn-view-details:hover {
    background: #960018;
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(184, 0, 29, 0.25);
}

/* ==========================================================================
   7. SPARE PART LAYOUT 1: Horizontal Executive Row (Reference A)
   ========================================================================== */

/* ===== GTR AUTO / SPARE PARTS LAYOUT 1 — SCOPED CSS ===== */
.gtr-part-collection.gtr-layout-1 { --l1-red:#e52b32; --l1-ink:#101b31; --l1-muted:#51637d; --l1-line:#dae1e9; --l1-soft:#f6f8fb; font-family:Inter,Arial,sans-serif; color:var(--l1-ink); }
.gtr-part-collection.gtr-layout-1 .gtr-part-grid { display:flex; flex-direction:column; gap:16px; width:100%; min-width:0; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-card { display:grid; grid-template-areas:"media identity offers cta"; grid-template-columns:minmax(220px,24%) minmax(210px,1fr) minmax(286px,27%) minmax(154px,16%); align-items:center; gap:18px; padding:14px 16px; min-width:0; min-height:195px; background:#fff; border:1px solid var(--l1-line); border-radius:10px; box-shadow:0 2px 8px rgba(15,23,42,.045); box-sizing:border-box; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-media { grid-area:media; position:relative; align-self:stretch; display:grid; place-items:center; height:174px; min-width:0; overflow:hidden; background:var(--l1-soft); border-radius:7px; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-image,
.gtr-part-collection.gtr-layout-1 .gtr-l1-media img { display:block; width:100%; height:100%; object-fit:contain; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-image-tags { position:absolute; z-index:1; top:9px; left:9px; display:flex; flex-wrap:wrap; gap:6px; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-badge { display:inline-flex; align-items:center; padding:5px 9px; border-radius:4px; font-size:11px; line-height:1; font-weight:800; text-transform:uppercase; letter-spacing:.02em; white-space:nowrap; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-badge--new { background:#e52b32; color:#fff; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-badge--used { background:#202b3c; color:#fff; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-badge--stock { background:#058d60; color:#fff; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-badge--out { background:#edf0f4; color:#657287; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-identity { grid-area:identity; min-width:0; display:flex; flex-direction:column; gap:9px; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-brandrow { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-brand { color:#142039; font-weight:800; font-size:19px; line-height:1; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-quality { font-size:10px; font-weight:800; line-height:1.2; color:#52627c; border:1px solid #d4deea; padding:4px 8px; border-radius:4px; background:#f4f7fb; text-transform:uppercase; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-title { margin:0; color:#101c33; font-size:19px; line-height:1.27; font-weight:800; letter-spacing:-.02em; overflow-wrap:anywhere; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-meta { display:flex; flex-wrap:wrap; align-items:center; column-gap:12px; row-gap:5px; font-size:12px; line-height:1.45; color:var(--l1-muted); }
.gtr-part-collection.gtr-layout-1 .gtr-l1-meta strong { color:#20314c; font-weight:650; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-separator { height:15px; border-left:1px solid #cfd7e2; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-fitment { display:flex; align-items:center; gap:9px; font-size:13px; color:#52627d; line-height:1.4; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-fitment svg { width:20px; height:20px; flex:none; stroke:#485a74; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-offers { grid-area:offers; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:9px; min-width:0; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-offers--single { grid-template-columns:minmax(0,1fr); }
.gtr-part-collection.gtr-layout-1 .gtr-l1-offer { min-width:0; min-height:112px; box-sizing:border-box; display:flex; flex-direction:column; justify-content:center; gap:8px; padding:10px 11px; background:#fff; border:1px solid #d5dfea; border-radius:6px; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-offer-head { display:flex; justify-content:space-between; align-items:center; gap:4px; flex-wrap:wrap; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-offer-label { font-size:11px; line-height:1; font-weight:800; border-radius:3px; padding:5px 7px; color:#fff; background:#e52b32; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-offer-label--used { background:#202b3c; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-availability { display:inline-flex; align-items:center; gap:4px; padding:4px 6px; max-width:100%; border-radius:4px; background:#e2f8e8; color:#086f42; font-size:10px; line-height:1.2; font-weight:650; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-availability::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; flex:none; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-availability--out { background:#edf0f4; color:#657287; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-price-label { font-size:11px; color:#64748b; line-height:1.2; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-price { font-size:18px; color:#0b1830; font-weight:850; letter-spacing:-.025em; line-height:1.06; white-space:nowrap; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-price-alt { font-size:11px; color:#526480; line-height:1.2; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-quote { font-size:13px; line-height:1.3; color:#142039; font-weight:750; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-action { grid-area:cta; display:flex; align-items:center; min-width:0; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-details { display:inline-flex; align-items:center; justify-content:center; gap:8px; box-sizing:border-box; width:100%; min-height:52px; padding:12px; text-align:center; text-decoration:none; border-radius:5px; background:var(--l1-red); color:#fff; font-size:14px; font-weight:800; line-height:1.2; white-space:nowrap; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-details:hover { background:#bd1d29; color:#fff; }
.gtr-part-collection.gtr-layout-1 .gtr-l1-details:focus-visible { outline:3px solid #101b31; outline-offset:3px; }
@media(max-width:1199px) {
 .gtr-part-collection.gtr-layout-1 .gtr-l1-card { grid-template-areas:"media identity offers" "media identity cta"; grid-template-columns:minmax(210px,27%) minmax(190px,1fr) minmax(220px,30%); gap:10px 16px; }
 .gtr-part-collection.gtr-layout-1 .gtr-l1-media { height:185px; }
 .gtr-part-collection.gtr-layout-1 .gtr-l1-offer { min-height:92px; padding:8px; }
 .gtr-part-collection.gtr-layout-1 .gtr-l1-details { min-height:43px; }
}
@media(max-width:820px) {
 .gtr-part-collection.gtr-layout-1 .gtr-l1-card { grid-template-areas:"media identity" "offers offers" "cta cta"; grid-template-columns:minmax(200px,38%) minmax(0,1fr); gap:12px 16px; }
 .gtr-part-collection.gtr-layout-1 .gtr-l1-media { height:190px; }
 .gtr-part-collection.gtr-layout-1 .gtr-l1-offers { width:100%; }
 .gtr-part-collection.gtr-layout-1 .gtr-l1-details { width:100%; }
}
@media(max-width:600px) {
 .gtr-part-collection.gtr-layout-1 .gtr-l1-card { grid-template-areas:"media" "identity" "offers" "cta"; grid-template-columns:minmax(0,1fr); padding:12px; gap:13px; }
 .gtr-part-collection.gtr-layout-1 .gtr-l1-media { height:auto; aspect-ratio:1.85/1; }
 .gtr-part-collection.gtr-layout-1 .gtr-l1-identity { gap:8px; }
 .gtr-part-collection.gtr-layout-1 .gtr-l1-title { font-size:18px; }
 .gtr-part-collection.gtr-layout-1 .gtr-l1-offer { min-height:112px; }
 .gtr-part-collection.gtr-layout-1 .gtr-l1-details { min-height:47px; }
}
/* Dark theme is scoped to the same component, never to Vehicle cards. */
.gtr-part-collection.gtr-layout-1.gtr-theme-dark .gtr-l1-card { background:#101722; border-color:#293345; }
.gtr-part-collection.gtr-layout-1.gtr-theme-dark .gtr-l1-title,
.gtr-part-collection.gtr-layout-1.gtr-theme-dark .gtr-l1-brand { color:#fff; }
.gtr-part-collection.gtr-layout-1.gtr-theme-dark .gtr-l1-meta strong { color:#e9edf6; }
.gtr-part-collection.gtr-layout-1.gtr-theme-dark .gtr-l1-meta,
.gtr-part-collection.gtr-layout-1.gtr-theme-dark .gtr-l1-fitment { color:#adbbcd; }
.gtr-part-collection.gtr-layout-1.gtr-theme-dark .gtr-l1-offer { background:#172132; border-color:#354258; }
.gtr-part-collection.gtr-layout-1.gtr-theme-dark .gtr-l1-price,
.gtr-part-collection.gtr-layout-1.gtr-theme-dark .gtr-l1-quote { color:#fff; }

/* ==========================================================================
   8. SPARE PART LAYOUT 2: Showroom Grid (Reference B & Main Catalog)
   ========================================================================== */

.gtr-part-collection.gtr-layout-2 {
    container-type: inline-size;
}

.gtr-part-collection.gtr-layout-2 .gtr-part-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.gtr-part-collection .gtr-p-card-showroom {
    display: flex;
    flex-direction: column;
    background: var(--gtr-card-bg, #ffffff);
    border: 1px solid var(--gtr-card-border, #e2e8f0);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
    box-sizing: border-box;
    height: 100%;
}

.gtr-part-collection .gtr-p-card-showroom:hover {
    border-color: #cbd5e1;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

.gtr-part-collection .gtr-p-card-showroom .gtr-part-card__media {
    position: relative;
    width: 100%;
    height: 205px;
    background: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-part-card__media-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-part-card__img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    padding: 14px;
    box-sizing: border-box;
    transition: transform 0.25s ease;
}

.gtr-part-collection .gtr-p-card-showroom:hover .gtr-part-card__img {
    transform: scale(1.02);
}

.gtr-part-collection .gtr-p-card-showroom .gtr-part-card__badges {
    position: absolute;
    top: 14px !important;
    left: 14px !important;
    display: flex;
    gap: 6px;
    z-index: 2;
    pointer-events: none;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-badges-left {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    pointer-events: auto;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-part-card__badge {
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    padding: 4px 8px;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.gtr-part-collection .gtr-p-card-showroom .gtr-badge-cond.is-new {
    background-color: #e21b2d !important;
    color: #ffffff !important;
    border: none !important;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-badge-cond.is-used {
    background-color: #1e293b !important;
    color: #ffffff !important;
    border: none !important;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-badge-avail.is-in-stock,
.gtr-part-collection .gtr-p-card-showroom .gtr-badge-avail.is-available-to-source {
    background-color: #10b981 !important;
    color: #ffffff !important;
    border: none !important;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-badge-avail.is-low-stock {
    background-color: #f59e0b !important;
    color: #ffffff !important;
    border: none !important;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-badge-avail.is-out-of-stock {
    background-color: #64748b !important;
    color: #ffffff !important;
    border: none !important;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-part-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 16px 18px 18px;
    gap: 10px;
    box-sizing: border-box;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-part-card__brand-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-part-card__brand {
    font-size: 16px;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
    text-transform: uppercase;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-chip-quality {
    font-size: 10.5px;
    font-weight: 700;
    color: #475569;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    padding: 3px 8px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    line-height: 1.2;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-part-card__title {
    font-size: 17px;
    font-weight: 800;
    color: #0f172a;
    margin: 0;
    line-height: 1.35;
    min-height: 2.7em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-part-card__title-link {
    color: #0f172a !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-part-card__title-link:hover {
    color: #b8001d !important;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-part-card__specs-table {
    display: flex;
    flex-direction: column;
    border-top: 1px solid #f1f5f9;
    border-bottom: 1px solid #f1f5f9;
    padding: 8px 0;
    gap: 5px;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-specs-row {
    display: flex;
    align-items: baseline;
    font-size: 13px;
    gap: 12px;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-specs-label {
    color: #64748b;
    font-weight: 500;
    min-width: 80px;
    flex-shrink: 0;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-specs-val {
    color: #0f172a;
    font-weight: 600;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-part-card__fitment {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 13px;
    color: #334155;
    padding: 2px 0;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-fitment-icon {
    flex-shrink: 0;
    color: #64748b;
    margin-top: 2px;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-fitment-details {
    display: flex;
    flex-direction: column;
    line-height: 1.35;
    overflow: hidden;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-fitment-val {
    font-weight: 500;
    color: #334155;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-fitment-more {
    font-size: 12px;
    color: #64748b;
    font-weight: 500;
    margin-top: 1px;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-part-card__offers-stage {
    margin-top: auto;
    padding-top: 4px;
    width: 100%;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-part-offers-grid {
    display: grid;
    gap: 8px;
    width: 100%;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-part-offers-grid.gtr-offers-count-1 {
    grid-template-columns: 1fr;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-part-offers-grid.gtr-offers-count-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gtr-part-collection .gtr-p-card-showroom .gtr-part-offer-box {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 8px 10px 8px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 68px;
    box-sizing: border-box;
    transition: border-color 0.2s ease;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-part-offer-box__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4px;
    margin-bottom: 6px;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-offer-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    padding: 2.5px 6px;
    border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-offer-badge.is-new {
    background: #ef4444;
    color: #ffffff;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-offer-badge.is-used {
    background: #1e293b;
    color: #ffffff;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-offer-avail-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 10px;
    font-weight: 600;
    line-height: 1;
    padding: 2px 6px;
    border-radius: 10px;
    white-space: nowrap;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-part-offer-box__body {
    display: flex;
    flex-direction: column;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-offer-price-label {
    font-size: 10.5px;
    font-weight: 500;
    color: #64748b;
    margin-bottom: 2px;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-offer-price-val {
    font-size: 16px;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-offer-price-val.is-quote {
    font-size: 12px;
    font-weight: 700;
    color: #b8001d;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-offer-price-approx {
    font-size: 10.5px;
    font-weight: 500;
    color: #64748b;
    margin-top: 2px;
    line-height: 1.2;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-part-card__action {
    margin-top: 6px;
    width: 100%;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-btn-view-details {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    padding: 0 16px;
    background: #e21b2d;
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 700;
    border-radius: 6px;
    text-align: center;
    text-decoration: none !important;
    box-sizing: border-box;
    transition: background 0.2s ease, transform 0.1s ease;
}

.gtr-part-collection .gtr-p-card-showroom .gtr-btn-view-details:hover {
    background: #b8001d;
}

/* Backward-compatibility alias for retired Layout 3 container */
.gtr-part-collection.gtr-layout-3 .gtr-part-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

/* Dark Theme for Spare Part Collections */
.gtr-part-collection.gtr-theme-dark .gtr-p-card-layout-1,
.gtr-part-collection.gtr-theme-dark .gtr-p-card-showroom {
    background: #111827;
    border-color: #1f2937;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.gtr-part-collection.gtr-theme-dark .gtr-p-card-layout-1:hover,
.gtr-part-collection.gtr-theme-dark .gtr-p-card-showroom:hover {
    border-color: #374151;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
}

.gtr-part-collection.gtr-theme-dark .gtr-part-card__media {
    background: #0b0f19;
}

.gtr-part-collection.gtr-theme-dark .gtr-part-card__brand,
.gtr-part-collection.gtr-theme-dark .gtr-part-card__title,
.gtr-part-collection.gtr-theme-dark .gtr-part-card__title-link,
.gtr-part-collection.gtr-theme-dark .gtr-specs-val,
.gtr-part-collection.gtr-theme-dark .gtr-tech-val,
.gtr-part-collection.gtr-theme-dark .gtr-offer-price-val {
    color: #f9fafb !important;
}

.gtr-part-collection.gtr-theme-dark .gtr-chip-quality {
    background: #1f2937;
    border-color: #374151;
    color: #9ca3af;
}

.gtr-part-collection.gtr-theme-dark .gtr-part-card__specs-table {
    border-color: #1f2937;
}

.gtr-part-collection.gtr-theme-dark .gtr-part-offer-box {
    background: #0b0f19;
    border-color: #1f2937;
}

.gtr-part-collection.gtr-theme-dark .gtr-offer-price-label,
.gtr-part-collection.gtr-theme-dark .gtr-offer-price-approx,
.gtr-part-collection.gtr-theme-dark .gtr-specs-label,
.gtr-part-collection.gtr-theme-dark .gtr-tech-label {
    color: #9ca3af;
}

.gtr-part-collection.gtr-theme-dark .gtr-part-card__fitment {
    color: #cbd5e1;
}

.gtr-part-collection.gtr-theme-dark .gtr-offer-avail-pill.is-in-stock {
    background: rgba(16, 185, 129, 0.15);
    color: #34d399;
}

.gtr-part-collection.gtr-theme-dark .gtr-offer-avail-pill.is-low-stock {
    background: rgba(245, 158, 11, 0.15);
    color: #fbbf24;
}

.gtr-part-collection.gtr-theme-dark .gtr-offer-avail-pill.is-out-of-stock {
    background: rgba(148, 163, 184, 0.15);
    color: #94a3b8;
}


/* ==========================================================================
   9. Responsive Breakpoints & Hardening
   ========================================================================== */

/* 1280px Screen Hardening */
@media screen and (max-width: 1280px) {
    .gtr-part-collection.gtr-layout-2 .gtr-part-grid,
    .gtr-part-collection.gtr-layout-3 .gtr-part-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* 1024px Tablet Landscape */
@media screen and (max-width: 1024px) {
    .gtr-vehicle-collection.gtr-layout-2 .gtr-vehicle-grid,
    .gtr-vehicle-collection.gtr-layout-3 .gtr-vehicle-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .gtr-vehicle-collection .gtr-v-card-layout-1 {
        grid-template-columns: 240px minmax(0, 1fr) 190px;
    }

    .gtr-part-collection.gtr-layout-2 .gtr-part-grid,
    .gtr-part-collection.gtr-layout-3 .gtr-part-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
}

/* 768px Tablet Portrait */
@media screen and (max-width: 768px) {
    .gtr-vehicle-collection.gtr-layout-2 .gtr-vehicle-grid,
    .gtr-vehicle-collection.gtr-layout-3 .gtr-vehicle-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .gtr-vehicle-collection .gtr-v-card-layout-1 {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .gtr-vehicle-collection .gtr-v-card-layout-1 .gtr-vehicle-card__media {
        aspect-ratio: 16 / 10;
        min-height: auto;
        max-height: 260px;
    }

    .gtr-vehicle-collection .gtr-v-card-layout-1 .gtr-vehicle-card__action-zone {
        border-left: none;
        border-top: 1px solid var(--gtr-divider);
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding: 14px 20px;
    }

    .gtr-vehicle-collection .gtr-v-card-layout-1 .gtr-vehicle-card__price-box {
        align-items: flex-start;
        text-align: left;
    }

    .gtr-part-collection.gtr-layout-2 .gtr-part-grid,
    .gtr-part-collection.gtr-layout-3 .gtr-part-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }
}

/* 640px Mobile Stacking */
@media screen and (max-width: 640px) {
    .gtr-vehicle-collection.gtr-layout-2 .gtr-vehicle-grid,
    .gtr-vehicle-collection.gtr-layout-3 .gtr-vehicle-grid {
        grid-template-columns: 1fr;
    }

    .gtr-vehicle-collection .gtr-v-card-layout-1 .gtr-vehicle-card__action-zone {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .gtr-vehicle-collection .gtr-v-card-layout-1 .gtr-vehicle-card__btn-box .gtr-btn {
        width: 100%;
        min-height: 44px;
    }

    .gtr-part-collection.gtr-layout-2 .gtr-part-grid,
    .gtr-part-collection.gtr-layout-3 .gtr-part-grid {
        grid-template-columns: 1fr;
    }
}

/* 390px Ultra Mobile Hardening */
@media screen and (max-width: 390px) {
    .gtr-vehicle-collection .gtr-vehicle-card__title {
        font-size: 1.05rem !important;
    }

    .gtr-vehicle-collection .gtr-v-card-layout-1 .gtr-vehicle-card__price-amount {
        font-size: 1.25rem !important;
    }

    .gtr-vehicle-collection .gtr-vehicle-card__actions--dual {
        grid-template-columns: 1fr;
    }

    .gtr-part-collection .gtr-p-card-showroom .gtr-part-card__body {
        padding: 12px;
    }

    .gtr-part-collection .gtr-part-card__title {
        font-size: 15px !important;
    }

    .gtr-part-collection .gtr-part-offers-grid.gtr-offers-count-2 {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   10. DEDICATED MAIN VEHICLE CATALOG: [gtr_vehicle_catalog]
   ========================================================================== */

.gtr-vehicle-catalog-wrapper,
.gtr-vehicle-catalog {
    width: 100%;
    margin: 0 0 3rem 0;
    box-sizing: border-box;
}

.gtr-vehicle-catalog-wrapper.gtr-theme-light,
.gtr-vehicle-catalog.gtr-theme-light {
    --gtr-cat-bg: #FFFFFF;
    --gtr-cat-panel-border: #E5E7EB;
    --gtr-cat-border: #E2E8F0;
    --gtr-cat-focus: #B8001D;
    --gtr-cat-input-bg: #FFFFFF;
    --gtr-cat-input-border: #CBD5E1;
    --gtr-cat-text: #0F172A;
    --gtr-cat-label: #475569;
    --gtr-cat-muted: #64748B;
    --gtr-cat-panel-bg: #F8FAFC;
    --gtr-cat-chip-bg: #F1F5F9;
    --gtr-cat-chip-border: #CBD5E1;
    --gtr-cat-chip-text: #1E293B;
}

.gtr-vehicle-catalog-wrapper.gtr-theme-dark,
.gtr-vehicle-catalog.gtr-theme-dark {
    --gtr-cat-bg: #0D121C;
    --gtr-cat-panel-border: #1E2638;
    --gtr-cat-border: #1E2638;
    --gtr-cat-focus: #E53935;
    --gtr-cat-input-bg: #131924;
    --gtr-cat-input-border: #253046;
    --gtr-cat-text: #FFFFFF;
    --gtr-cat-label: #94A3B8;
    --gtr-cat-muted: #94A3B8;
    --gtr-cat-panel-bg: #101622;
    --gtr-cat-chip-bg: #1A2234;
    --gtr-cat-chip-border: #2A3650;
    --gtr-cat-chip-text: #E2E8F0;
}

/* --------------------------------------------------------------------------
   Desktop & Shared Filter Panel
   -------------------------------------------------------------------------- */
.gtr-vehicle-catalog .gtr-catalog-filter-panel {
    background: var(--gtr-cat-bg) !important;
    border: 1px solid var(--gtr-cat-panel-border) !important;
    border-radius: 8px !important;
    padding: 24px 28px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
    margin-bottom: 24px !important;
    box-sizing: border-box !important;
}

/* Search Header Row */
.gtr-vehicle-catalog .gtr-search-group {
    margin-bottom: 20px;
}

.gtr-vehicle-catalog .gtr-catalog-search-wrap {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
}

.gtr-vehicle-catalog .gtr-catalog-search-wrap .gtr-search-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--gtr-cat-muted);
    pointer-events: none;
    z-index: 2;
}

.gtr-vehicle-catalog input.gtr-catalog-search-input {
    width: 100% !important;
    height: 46px !important;
    line-height: 46px !important;
    padding: 0 42px 0 44px !important;
    font-size: 0.9375rem !important;
    color: var(--gtr-cat-text) !important;
    background: var(--gtr-cat-input-bg) !important;
    border: 1px solid var(--gtr-cat-input-border) !important;
    border-radius: 6px !important;
    outline: none !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
    box-sizing: border-box !important;
}

.gtr-vehicle-catalog input.gtr-catalog-search-input:focus {
    border-color: var(--gtr-cat-focus) !important;
    box-shadow: 0 0 0 3px rgba(184, 0, 29, 0.12) !important;
}

.gtr-vehicle-catalog .gtr-clear-keyword-btn {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    font-size: 1.25rem;
    line-height: 1;
    color: var(--gtr-cat-muted);
    cursor: pointer;
    padding: 0;
    z-index: 2;
}
.gtr-vehicle-catalog .gtr-clear-keyword-btn:hover {
    color: var(--gtr-cat-focus);
}

/* Filter Controls & Responsive Grids */
.gtr-vehicle-catalog .gtr-catalog-primary-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px 14px !important;
}

.gtr-vehicle-catalog .gtr-catalog-secondary-panel {
    display: none;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px dashed var(--gtr-cat-border);
}

.gtr-vehicle-catalog .gtr-catalog-secondary-panel.is-open {
    display: block !important;
    animation: gtrFadeIn 0.2s ease-out;
}

.gtr-vehicle-catalog .gtr-catalog-secondary-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px 14px !important;
}

.gtr-vehicle-catalog .gtr-filter-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.gtr-vehicle-catalog .gtr-filter-label {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--gtr-cat-label) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}

.gtr-vehicle-catalog select.gtr-filter-select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    width: 100% !important;
    height: 42px !important;
    line-height: 42px !important;
    padding: 0 34px 0 12px !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    color: var(--gtr-cat-text) !important;
    background-color: var(--gtr-cat-input-bg) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 12px !important;
    border: 1px solid var(--gtr-cat-input-border) !important;
    border-radius: 6px !important;
    outline: none !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
}

.gtr-vehicle-catalog select.gtr-filter-select:focus {
    border-color: var(--gtr-cat-focus) !important;
    box-shadow: 0 0 0 2px rgba(184, 0, 29, 0.12) !important;
}

/* Panel Actions Row */
.gtr-vehicle-catalog .gtr-catalog-filter-actions {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-top: 20px !important;
    padding-top: 18px !important;
    border-top: 1px solid var(--gtr-cat-border) !important;
}

.gtr-vehicle-catalog .gtr-btn-toggle-advanced {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: transparent !important;
    border: 1px solid var(--gtr-cat-input-border) !important;
    border-radius: 6px !important;
    padding: 8px 14px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--gtr-cat-text) !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
}

.gtr-vehicle-catalog .gtr-btn-toggle-advanced:hover {
    border-color: var(--gtr-cat-focus) !important;
    color: var(--gtr-cat-focus) !important;
    background: rgba(184, 0, 29, 0.04) !important;
}

.gtr-vehicle-catalog .gtr-toggle-icon {
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

.gtr-vehicle-catalog .gtr-subcount {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--gtr-cat-focus);
    color: #FFFFFF;
    font-size: 10px;
    font-weight: 700;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    margin-left: 4px;
}

.gtr-vehicle-catalog .gtr-catalog-filter-actions-right {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.gtr-vehicle-catalog .gtr-btn-reset-filters {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--gtr-cat-muted) !important;
    text-decoration: none !important;
    padding: 8px 12px !important;
    transition: color 0.15s ease !important;
}

.gtr-vehicle-catalog .gtr-btn-reset-filters:hover {
    color: var(--gtr-cat-focus) !important;
    text-decoration: underline !important;
}

.gtr-vehicle-catalog .gtr-btn-search-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: #B8001D !important;
    border: 1px solid #B8001D !important;
    border-radius: 6px !important;
    padding: 10px 24px !important;
    height: 42px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    box-shadow: 0 1px 3px rgba(184, 0, 29, 0.25) !important;
}

.gtr-vehicle-catalog .gtr-btn-search-submit:hover {
    background: #9E0018 !important;
    border-color: #9E0018 !important;
}

/* --------------------------------------------------------------------------
   Active Filter Chips Strip
   -------------------------------------------------------------------------- */
.gtr-vehicle-catalog .gtr-active-filter-chips-strip {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 20px !important;
    padding: 12px 18px !important;
    background: var(--gtr-cat-panel-bg) !important;
    border: 1px solid var(--gtr-cat-border) !important;
    border-radius: 6px !important;
}

.gtr-vehicle-catalog .gtr-chips-heading {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: var(--gtr-cat-muted) !important;
    letter-spacing: 0.05em !important;
    margin-right: 4px !important;
}

.gtr-vehicle-catalog .gtr-chips-list {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
}

.gtr-vehicle-catalog .gtr-filter-chip {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 4px 10px !important;
    background: var(--gtr-cat-chip-bg) !important;
    border: 1px solid var(--gtr-cat-chip-border) !important;
    border-radius: 16px !important;
    font-size: 12px !important;
    color: var(--gtr-cat-chip-text) !important;
    text-decoration: none !important;
    transition: all 0.15s ease !important;
}

.gtr-vehicle-catalog .gtr-filter-chip:hover {
    background: #B8001D !important;
    border-color: #B8001D !important;
    color: #FFFFFF !important;
}

.gtr-vehicle-catalog .gtr-chip-remove {
    font-weight: 700;
    font-size: 14px;
    line-height: 1;
}

.gtr-vehicle-catalog .gtr-clear-all-chips-link {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #B8001D !important;
    text-decoration: underline !important;
    margin-left: 8px !important;
}

/* --------------------------------------------------------------------------
   Result Meta Toolbar (Count & Sort) - Elevated Professional Bar
   -------------------------------------------------------------------------- */
.gtr-vehicle-catalog .gtr-catalog-meta-bar {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    padding: 12px 18px !important;
    margin-bottom: 24px !important;
    background: #F8FAFC !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 10px !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.03) !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
}

.gtr-vehicle-catalog.gtr-theme-dark .gtr-catalog-meta-bar {
    background: #111827 !important;
    border-color: #1F293D !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) !important;
}

.gtr-vehicle-catalog .gtr-catalog-count-disp {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #64748B !important;
    letter-spacing: -0.01em !important;
    margin: 0 !important;
}

.gtr-vehicle-catalog .gtr-catalog-count-disp .gtr-count-num,
.gtr-vehicle-catalog .gtr-catalog-count-disp .gtr-count-total {
    color: #0F172A !important;
    font-weight: 700 !important;
}

.gtr-vehicle-catalog.gtr-theme-dark .gtr-catalog-count-disp {
    color: #94A3B8 !important;
}

.gtr-vehicle-catalog.gtr-theme-dark .gtr-catalog-count-disp .gtr-count-num,
.gtr-vehicle-catalog.gtr-theme-dark .gtr-catalog-count-disp .gtr-count-total {
    color: #F1F5F9 !important;
}

.gtr-vehicle-catalog .gtr-catalog-sort-box {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-left: auto !important;
}

.gtr-vehicle-catalog .gtr-sort-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #475569 !important;
    white-space: nowrap !important;
    margin: 0 !important;
    cursor: pointer !important;
}

.gtr-vehicle-catalog .gtr-sort-icon {
    color: #94A3B8 !important;
    flex-shrink: 0 !important;
}

.gtr-vehicle-catalog.gtr-theme-dark .gtr-sort-label {
    color: #94A3B8 !important;
}

.gtr-vehicle-catalog.gtr-theme-dark .gtr-sort-icon {
    color: #64748B !important;
}

.gtr-vehicle-catalog .gtr-sort-select-wrap {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
}

.gtr-vehicle-catalog select.gtr-sort-select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    min-width: 190px !important;
    max-width: 250px !important;
    height: 38px !important;
    line-height: 38px !important;
    padding: 0 34px 0 14px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    font-family: inherit !important;
    color: #0F172A !important;
    background-color: #FFFFFF !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 13px !important;
    border: 1px solid #CBD5E1 !important;
    border-radius: 8px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    outline: none !important;
    cursor: pointer !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
}

.gtr-vehicle-catalog select.gtr-sort-select:hover {
    border-color: #94A3B8 !important;
}

.gtr-vehicle-catalog select.gtr-sort-select:focus {
    border-color: #E21B2D !important;
    box-shadow: 0 0 0 3px rgba(226, 27, 45, 0.12) !important;
}

.gtr-vehicle-catalog.gtr-theme-dark select.gtr-sort-select {
    background-color: #0F172A !important;
    border-color: #334155 !important;
    color: #F1F5F9 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
}

@media (max-width: 640px) {
    .gtr-vehicle-catalog .gtr-catalog-meta-bar {
        padding: 10px 14px !important;
        gap: 12px !important;
        margin-bottom: 18px !important;
    }
    .gtr-vehicle-catalog .gtr-catalog-sort-box {
        width: 100% !important;
        justify-content: space-between !important;
        margin-left: 0 !important;
    }
    .gtr-vehicle-catalog .gtr-sort-select-wrap {
        flex: 1 !important;
    }
    .gtr-vehicle-catalog select.gtr-sort-select {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }
}

/* --------------------------------------------------------------------------
   Vehicle Results Grid (Fixed Layout 2)
   -------------------------------------------------------------------------- */
.gtr-vehicle-catalog-wrapper .gtr-vehicle-collection.gtr-layout-2 .gtr-vehicle-grid,
.gtr-vehicle-catalog .gtr-vehicle-collection.gtr-layout-2 .gtr-vehicle-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
}

/* ==========================================================================
   UNIFIED CATALOG PAGINATION (Vehicle Catalog & Spare Parts Catalog)
   ========================================================================== */
.gtr-vehicle-catalog .gtr-catalog-pagination,
.gtr-vehicle-catalog .gtr-vehicle-catalog-pagination,
.gtr-spare-parts-catalog .gtr-catalog-pagination,
.gtr-spare-parts-catalog .gtr-part-catalog-pagination,
.gtr-catalog-pagination {
    margin: 40px auto 20px !important;
    padding: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    clear: both !important;
}

.gtr-vehicle-catalog .gtr-catalog-pagination .page-numbers,
.gtr-vehicle-catalog .gtr-vehicle-catalog-pagination .page-numbers,
.gtr-spare-parts-catalog .gtr-catalog-pagination .page-numbers,
.gtr-spare-parts-catalog .gtr-part-catalog-pagination .page-numbers,
.gtr-catalog-pagination ul.page-numbers,
.gtr-catalog-pagination .page-numbers {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    list-style: none !important;
    list-style-type: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.gtr-vehicle-catalog .gtr-catalog-pagination .page-numbers li,
.gtr-vehicle-catalog .gtr-vehicle-catalog-pagination .page-numbers li,
.gtr-spare-parts-catalog .gtr-catalog-pagination .page-numbers li,
.gtr-spare-parts-catalog .gtr-part-catalog-pagination .page-numbers li,
.gtr-catalog-pagination ul.page-numbers li,
.gtr-catalog-pagination .page-numbers li {
    display: inline-flex !important;
    list-style: none !important;
    list-style-type: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.gtr-vehicle-catalog .gtr-catalog-pagination a.page-numbers,
.gtr-vehicle-catalog .gtr-catalog-pagination span.page-numbers,
.gtr-vehicle-catalog .gtr-vehicle-catalog-pagination a.page-numbers,
.gtr-vehicle-catalog .gtr-vehicle-catalog-pagination span.page-numbers,
.gtr-spare-parts-catalog .gtr-catalog-pagination a.page-numbers,
.gtr-spare-parts-catalog .gtr-catalog-pagination span.page-numbers,
.gtr-spare-parts-catalog .gtr-part-catalog-pagination a.page-numbers,
.gtr-spare-parts-catalog .gtr-part-catalog-pagination span.page-numbers,
.gtr-catalog-pagination a.page-numbers,
.gtr-catalog-pagination span.page-numbers {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 40px !important;
    height: 40px !important;
    padding: 0 12px !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    border-radius: 8px !important;
    border: 1px solid #CBD5E1 !important;
    color: #1E293B !important;
    background: #FFFFFF !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
    box-sizing: border-box !important;
    transition: all 0.15s ease !important;
    user-select: none !important;
    cursor: pointer !important;
}

/* Hover & Focus */
.gtr-vehicle-catalog .gtr-catalog-pagination a.page-numbers:hover,
.gtr-vehicle-catalog .gtr-vehicle-catalog-pagination a.page-numbers:hover,
.gtr-spare-parts-catalog .gtr-catalog-pagination a.page-numbers:hover,
.gtr-spare-parts-catalog .gtr-part-catalog-pagination a.page-numbers:hover,
.gtr-catalog-pagination a.page-numbers:hover {
    border-color: #E21B2D !important;
    color: #E21B2D !important;
    background: #FFF5F5 !important;
    box-shadow: 0 2px 4px rgba(226, 27, 45, 0.12) !important;
    transform: translateY(-1px) !important;
}

.gtr-vehicle-catalog .gtr-catalog-pagination a.page-numbers:focus-visible,
.gtr-spare-parts-catalog .gtr-catalog-pagination a.page-numbers:focus-visible,
.gtr-catalog-pagination a.page-numbers:focus-visible {
    outline: 2px solid #E21B2D !important;
    outline-offset: 2px !important;
}

/* Active / Current Page */
.gtr-vehicle-catalog .gtr-catalog-pagination span.current,
.gtr-vehicle-catalog .gtr-vehicle-catalog-pagination span.current,
.gtr-spare-parts-catalog .gtr-catalog-pagination span.current,
.gtr-spare-parts-catalog .gtr-part-catalog-pagination span.current,
.gtr-catalog-pagination span.page-numbers.current,
.gtr-catalog-pagination span.current {
    background: #E21B2D !important;
    border-color: #E21B2D !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
    box-shadow: 0 2px 6px rgba(226, 27, 45, 0.25) !important;
    cursor: default !important;
    pointer-events: none !important;
}

/* Prev / Next Navigation Buttons */
.gtr-vehicle-catalog .gtr-catalog-pagination a.prev.page-numbers,
.gtr-vehicle-catalog .gtr-catalog-pagination a.next.page-numbers,
.gtr-vehicle-catalog .gtr-vehicle-catalog-pagination a.prev.page-numbers,
.gtr-vehicle-catalog .gtr-vehicle-catalog-pagination a.next.page-numbers,
.gtr-spare-parts-catalog .gtr-catalog-pagination a.prev.page-numbers,
.gtr-spare-parts-catalog .gtr-catalog-pagination a.next.page-numbers,
.gtr-spare-parts-catalog .gtr-part-catalog-pagination a.prev.page-numbers,
.gtr-spare-parts-catalog .gtr-part-catalog-pagination a.next.page-numbers,
.gtr-catalog-pagination a.prev.page-numbers,
.gtr-catalog-pagination a.next.page-numbers {
    padding: 0 16px !important;
    gap: 6px !important;
    font-weight: 600 !important;
}

.gtr-catalog-pagination .gtr-pag-arrow {
    font-size: 14px !important;
    line-height: 1 !important;
}

/* Dots / Ellipsis */
.gtr-vehicle-catalog .gtr-catalog-pagination span.dots,
.gtr-spare-parts-catalog .gtr-catalog-pagination span.dots,
.gtr-catalog-pagination span.page-numbers.dots {
    border: none !important;
    background: transparent !important;
    color: #94A3B8 !important;
    box-shadow: none !important;
    min-width: 24px !important;
    cursor: default !important;
    pointer-events: none !important;
}

/* Dark Theme Support */
.gtr-vehicle-catalog.gtr-theme-dark .gtr-catalog-pagination a.page-numbers,
.gtr-spare-parts-catalog.gtr-theme-dark .gtr-catalog-pagination a.page-numbers,
.gtr-spare-parts-catalog.gtr-theme-dark .gtr-part-catalog-pagination a.page-numbers {
    background: #1E293B !important;
    border-color: #334155 !important;
    color: #F1F5F9 !important;
}

.gtr-vehicle-catalog.gtr-theme-dark .gtr-catalog-pagination a.page-numbers:hover,
.gtr-spare-parts-catalog.gtr-theme-dark .gtr-catalog-pagination a.page-numbers:hover {
    background: #0F172A !important;
    border-color: #E21B2D !important;
    color: #E21B2D !important;
}

.gtr-vehicle-catalog.gtr-theme-dark .gtr-catalog-pagination span.current,
.gtr-spare-parts-catalog.gtr-theme-dark .gtr-catalog-pagination span.current {
    background: #E21B2D !important;
    border-color: #E21B2D !important;
    color: #FFFFFF !important;
}

/* Mobile Responsive */
@media (max-width: 480px) {
    .gtr-catalog-pagination .page-numbers {
        gap: 4px !important;
    }
    .gtr-catalog-pagination a.page-numbers,
    .gtr-catalog-pagination span.page-numbers {
        min-width: 34px !important;
        height: 34px !important;
        padding: 0 8px !important;
        font-size: 13px !important;
        border-radius: 6px !important;
    }
    .gtr-catalog-pagination a.prev.page-numbers,
    .gtr-catalog-pagination a.next.page-numbers {
        padding: 0 10px !important;
        font-size: 12px !important;
    }
}


/* Empty Results State */
.gtr-vehicle-catalog .gtr-catalog-empty {
    text-align: center !important;
    padding: 60px 20px !important;
    background: var(--gtr-cat-panel-bg) !important;
    border: 1px solid var(--gtr-cat-border) !important;
    border-radius: 8px !important;
}

.gtr-vehicle-catalog .gtr-empty-icon {
    color: #B8001D;
    margin-bottom: 16px;
}

.gtr-vehicle-catalog .gtr-empty-title {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: var(--gtr-cat-text) !important;
    margin: 0 0 8px 0 !important;
}

.gtr-vehicle-catalog .gtr-empty-desc {
    font-size: 0.9375rem !important;
    color: var(--gtr-cat-muted) !important;
    max-width: 480px !important;
    margin: 0 auto 20px auto !important;
    line-height: 1.5 !important;
}

.gtr-vehicle-catalog .gtr-empty-reset-btn {
    display: inline-flex !important;
    padding: 10px 24px !important;
}

/* --------------------------------------------------------------------------
   Desktop-Only Defaults (Min-Width 769px)
   -------------------------------------------------------------------------- */
@media screen and (min-width: 769px) {
    .gtr-vehicle-catalog .gtr-catalog-mobile-quickbar {
        display: none !important;
    }
    .gtr-vehicle-catalog .gtr-catalog-drawer-header {
        display: none !important;
    }
    .gtr-vehicle-catalog .gtr-catalog-drawer-actions {
        display: none !important;
    }
    .gtr-vehicle-catalog .gtr-catalog-drawer-backdrop {
        display: none !important;
    }
}

/* --------------------------------------------------------------------------
   Responsive Breakpoints: Tablets (768px - 1024px)
   -------------------------------------------------------------------------- */
@media screen and (max-width: 1024px) and (min-width: 769px) {
    .gtr-vehicle-catalog .gtr-catalog-primary-grid,
    .gtr-vehicle-catalog .gtr-catalog-secondary-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .gtr-vehicle-catalog-wrapper .gtr-vehicle-collection.gtr-layout-2 .gtr-vehicle-grid,
    .gtr-vehicle-catalog .gtr-vehicle-collection.gtr-layout-2 .gtr-vehicle-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
}

/* --------------------------------------------------------------------------
   Responsive Breakpoints: Mobile Drawer (< 768px)
   -------------------------------------------------------------------------- */
@media screen and (max-width: 768px) {
    /* Mobile Quickbar on Page */
    .gtr-vehicle-catalog .gtr-catalog-mobile-quickbar {
        display: block !important;
        margin-bottom: 20px !important;
    }

    .gtr-vehicle-catalog .gtr-catalog-mobile-actions {
        display: flex !important;
        gap: 10px !important;
        margin-top: 10px !important;
    }

    .gtr-vehicle-catalog .gtr-btn-mobile-filter {
        flex: 1 1 auto !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        height: 42px !important;
        background: #FFFFFF !important;
        border: 1px solid var(--gtr-cat-input-border) !important;
        border-radius: 6px !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        color: var(--gtr-cat-text) !important;
        cursor: pointer !important;
    }

    .gtr-vehicle-catalog .gtr-filter-count-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: #B8001D;
        color: #FFFFFF;
        font-size: 11px;
        font-weight: 700;
        width: 20px;
        height: 20px;
        border-radius: 50%;
    }

    .gtr-vehicle-catalog .gtr-mobile-search-btn {
        flex: 0 0 100px !important;
        height: 42px !important;
        background: #B8001D !important;
        border: 1px solid #B8001D !important;
        border-radius: 6px !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        color: #FFFFFF !important;
        cursor: pointer !important;
    }

    /* Transform Filter Panel into Drawer */
    .gtr-vehicle-catalog .gtr-catalog-filter-panel {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 88% !important;
        max-width: 380px !important;
        z-index: 999999 !important;
        background: var(--gtr-cat-bg) !important;
        box-shadow: -4px 0 24px rgba(0, 0, 0, 0.25) !important;
        transform: translateX(100%) !important;
        transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
        display: flex !important;
        flex-direction: column !important;
        padding: 0 !important;
        border-radius: 0 !important;
        border: none !important;
        margin: 0 !important;
    }

    .gtr-vehicle-catalog .gtr-catalog-filter-panel.is-drawer-open {
        transform: translateX(0) !important;
    }

    .gtr-vehicle-catalog .gtr-catalog-drawer-header {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 16px 20px !important;
        border-bottom: 1px solid var(--gtr-cat-border) !important;
        background: var(--gtr-cat-panel-bg) !important;
    }

    .gtr-vehicle-catalog .gtr-drawer-title-wrap {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .gtr-vehicle-catalog .gtr-drawer-title {
        font-size: 16px !important;
        font-weight: 800 !important;
        color: var(--gtr-cat-text) !important;
        margin: 0 !important;
    }

    .gtr-vehicle-catalog .gtr-drawer-close {
        background: none !important;
        border: none !important;
        font-size: 26px !important;
        line-height: 1 !important;
        color: var(--gtr-cat-muted) !important;
        cursor: pointer !important;
        padding: 0 !important;
    }

    .gtr-vehicle-catalog .gtr-catalog-drawer-scrollable {
        flex: 1 1 auto !important;
        overflow-y: auto !important;
        padding: 20px !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .gtr-vehicle-catalog .gtr-catalog-primary-grid,
    .gtr-vehicle-catalog .gtr-catalog-secondary-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .gtr-vehicle-catalog .gtr-catalog-secondary-panel {
        display: block !important;
        border-top: 1px solid var(--gtr-cat-border) !important;
        padding-top: 14px !important;
        margin-top: 14px !important;
    }

    .gtr-vehicle-catalog .gtr-catalog-filter-actions {
        display: none !important;
    }

    .gtr-vehicle-catalog .gtr-catalog-drawer-actions {
        display: flex !important;
        gap: 10px !important;
        padding: 14px 20px !important;
        border-top: 1px solid var(--gtr-cat-border) !important;
        background: var(--gtr-cat-bg) !important;
        position: sticky !important;
        bottom: 0 !important;
        z-index: 10 !important;
    }

    .gtr-vehicle-catalog .gtr-btn-drawer-reset {
        flex: 1 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 44px !important;
        border: 1px solid var(--gtr-cat-input-border) !important;
        border-radius: 6px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        color: var(--gtr-cat-text) !important;
        text-decoration: none !important;
    }

    .gtr-vehicle-catalog .gtr-btn-drawer-apply {
        flex: 2 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 44px !important;
        background: #B8001D !important;
        border: 1px solid #B8001D !important;
        border-radius: 6px !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        color: #FFFFFF !important;
        cursor: pointer !important;
    }

    /* Backdrop */
    .gtr-vehicle-catalog .gtr-catalog-drawer-backdrop {
        position: fixed !important;
        inset: 0 !important;
        background: rgba(15, 23, 42, 0.6) !important;
        z-index: 999998 !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transition: opacity 0.3s ease !important;
    }

    .gtr-vehicle-catalog .gtr-catalog-drawer-backdrop.is-open {
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    /* Results Grid on Mobile: 1 Column */
    .gtr-vehicle-catalog-wrapper .gtr-vehicle-collection.gtr-layout-2 .gtr-vehicle-grid,
    .gtr-vehicle-catalog .gtr-vehicle-collection.gtr-layout-2 .gtr-vehicle-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}

/* Lock Body Scroll when Drawer is Open */
body.gtr-drawer-active {
    overflow: hidden !important;
}

@keyframes gtrFadeIn {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ==========================================================================
   8. SPARE PARTS CATALOG SYSTEM (Mirrors Vehicle Catalog System)
   ========================================================================== */

.gtr-spare-parts-catalog-wrapper,
.gtr-spare-parts-catalog {
    width: 100%;
    margin: 0 0 3rem 0;
    box-sizing: border-box;
}

.gtr-spare-parts-catalog-wrapper.gtr-theme-light,
.gtr-spare-parts-catalog.gtr-theme-light {
    --gtr-cat-bg: #FFFFFF;
    --gtr-cat-panel-border: #E5E7EB;
    --gtr-cat-border: #E2E8F0;
    --gtr-cat-focus: #B8001D;
    --gtr-cat-input-bg: #FFFFFF;
    --gtr-cat-input-border: #CBD5E1;
    --gtr-cat-text: #0F172A;
    --gtr-cat-label: #475569;
    --gtr-cat-muted: #64748B;
    --gtr-cat-panel-bg: #F8FAFC;
    --gtr-cat-chip-bg: #F1F5F9;
    --gtr-cat-chip-border: #CBD5E1;
    --gtr-cat-chip-text: #1E293B;
}

.gtr-spare-parts-catalog-wrapper.gtr-theme-dark,
.gtr-spare-parts-catalog.gtr-theme-dark {
    --gtr-cat-bg: #0D121C;
    --gtr-cat-panel-border: #1E2638;
    --gtr-cat-border: #1E2638;
    --gtr-cat-focus: #E53935;
    --gtr-cat-input-bg: #131924;
    --gtr-cat-input-border: #253046;
    --gtr-cat-text: #FFFFFF;
    --gtr-cat-label: #94A3B8;
    --gtr-cat-muted: #94A3B8;
    --gtr-cat-panel-bg: #101622;
    --gtr-cat-chip-bg: #1A2234;
    --gtr-cat-chip-border: #2A3650;
    --gtr-cat-chip-text: #E2E8F0;
}

/* Filter Panel Container */
.gtr-spare-parts-catalog .gtr-part-catalog-filter-panel {
    background: var(--gtr-cat-bg) !important;
    border: 1px solid var(--gtr-cat-panel-border) !important;
    border-radius: 8px !important;
    padding: 24px 28px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
    margin-bottom: 24px !important;
    box-sizing: border-box !important;
}

/* Search Row */
.gtr-spare-parts-catalog .gtr-part-search-row {
    margin-bottom: 20px;
}
.gtr-spare-parts-catalog .gtr-part-search-wrap {
    position: relative;
    width: 100%;
}
.gtr-spare-parts-catalog .gtr-part-search-wrap .gtr-search-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--gtr-cat-muted);
    pointer-events: none;
}
.gtr-spare-parts-catalog .gtr-part-search-input {
    width: 100% !important;
    height: 46px !important;
    padding: 0 42px 0 42px !important;
    border: 1px solid var(--gtr-cat-input-border) !important;
    background: var(--gtr-cat-input-bg) !important;
    color: var(--gtr-cat-text) !important;
    font-size: 0.9375rem !important;
    border-radius: 6px !important;
    outline: none !important;
    box-sizing: border-box !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
.gtr-spare-parts-catalog .gtr-part-search-input:focus {
    border-color: var(--gtr-cat-focus) !important;
    box-shadow: 0 0 0 3px rgba(184, 0, 29, 0.12) !important;
}
.gtr-spare-parts-catalog .gtr-part-clear-keyword-btn {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: var(--gtr-cat-muted);
    font-size: 1rem;
    cursor: pointer;
    padding: 4px;
    line-height: 1;
}

/* Primary Selects Grid (5 cols on desktop) */
.gtr-spare-parts-catalog .gtr-part-primary-grid {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 16px !important;
    margin-bottom: 20px !important;
}

/* Secondary Selects Grid (4 cols on desktop) */
.gtr-spare-parts-catalog .gtr-part-secondary-panel {
    display: none;
    border-top: 1px solid var(--gtr-cat-border);
    padding-top: 20px;
    margin-top: 4px;
    margin-bottom: 20px;
}
.gtr-spare-parts-catalog .gtr-part-secondary-panel.is-open {
    display: block !important;
}
.gtr-spare-parts-catalog .gtr-part-secondary-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px !important;
}

/* Filter Groups, Labels & Selects */
.gtr-spare-parts-catalog .gtr-part-filter-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}
.gtr-spare-parts-catalog .gtr-part-filter-label {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: var(--gtr-cat-label) !important;
}
.gtr-spare-parts-catalog .gtr-part-filter-select {
    width: 100% !important;
    height: 42px !important;
    padding: 0 32px 0 12px !important;
    border: 1px solid var(--gtr-cat-input-border) !important;
    background-color: var(--gtr-cat-input-bg) !important;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: 16px !important;
    color: var(--gtr-cat-text) !important;
    font-size: 0.875rem !important;
    border-radius: 6px !important;
    outline: none !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer !important;
    transition: border-color 0.15s ease !important;
}
.gtr-spare-parts-catalog .gtr-part-filter-select:focus {
    border-color: var(--gtr-cat-focus) !important;
}

/* Actions Row */
.gtr-spare-parts-catalog .gtr-part-filter-actions {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-top: 20px !important;
    padding-top: 18px !important;
    border-top: 1px solid var(--gtr-cat-border, #E2E8F0) !important;
}

.gtr-spare-parts-catalog .gtr-btn-toggle-advanced {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: transparent !important;
    border: 1px solid var(--gtr-cat-input-border, #CBD5E1) !important;
    border-radius: 6px !important;
    padding: 8px 16px !important;
    height: 42px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--gtr-cat-text, #0F172A) !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    line-height: 1 !important;
}

.gtr-spare-parts-catalog .gtr-btn-toggle-advanced:hover {
    border-color: var(--gtr-cat-focus, #B8001D) !important;
    color: var(--gtr-cat-focus, #B8001D) !important;
    background: rgba(184, 0, 29, 0.04) !important;
}

.gtr-spare-parts-catalog .gtr-toggle-icon {
    display: inline-block !important;
    vertical-align: middle !important;
    transition: transform 0.2s ease !important;
    flex-shrink: 0 !important;
    color: currentColor !important;
}

.gtr-spare-parts-catalog .gtr-btn-toggle-advanced[aria-expanded="true"] .gtr-toggle-icon {
    transform: rotate(180deg) !important;
}

.gtr-spare-parts-catalog .gtr-subcount {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--gtr-cat-focus, #B8001D) !important;
    color: #FFFFFF !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    margin-left: 4px !important;
    line-height: 1 !important;
}

.gtr-spare-parts-catalog .gtr-part-filter-actions-right {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.gtr-spare-parts-catalog .gtr-btn-reset-filters {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--gtr-cat-muted, #64748B) !important;
    text-decoration: none !important;
    padding: 0 16px !important;
    height: 42px !important;
    border: 1px solid var(--gtr-cat-input-border, #CBD5E1) !important;
    border-radius: 6px !important;
    background: #FFFFFF !important;
    transition: all 0.15s ease !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}

.gtr-spare-parts-catalog.gtr-theme-dark .gtr-btn-reset-filters {
    background: var(--gtr-cat-input-bg, #131924) !important;
    border-color: var(--gtr-cat-input-border, #253046) !important;
    color: var(--gtr-cat-muted, #94A3B8) !important;
}

.gtr-spare-parts-catalog .gtr-btn-reset-filters:hover {
    color: #E21B2D !important;
    border-color: #E21B2D !important;
    background: rgba(226, 27, 45, 0.04) !important;
    text-decoration: none !important;
}

.gtr-spare-parts-catalog .gtr-btn-search-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: #E21B2D !important;
    border: 1px solid #E21B2D !important;
    border-radius: 6px !important;
    padding: 0 24px !important;
    height: 42px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    box-shadow: 0 2px 4px rgba(226, 27, 45, 0.25) !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    text-decoration: none !important;
}

.gtr-spare-parts-catalog .gtr-btn-search-submit:hover {
    background: #C41222 !important;
    border-color: #C41222 !important;
    color: #FFFFFF !important;
    box-shadow: 0 3px 8px rgba(226, 27, 45, 0.35) !important;
}

/* Active Filter Chips Strip */
.gtr-spare-parts-catalog .gtr-active-filter-chips-strip,
.gtr-spare-parts-catalog .gtr-part-chips-strip {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 20px !important;
    padding: 12px 18px !important;
    background: var(--gtr-cat-panel-bg, #F8FAFC) !important;
    border: 1px solid var(--gtr-cat-border, #E2E8F0) !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
}

.gtr-spare-parts-catalog.gtr-theme-dark .gtr-active-filter-chips-strip,
.gtr-spare-parts-catalog.gtr-theme-dark .gtr-part-chips-strip {
    background: #111827 !important;
    border-color: #1F293D !important;
}

.gtr-spare-parts-catalog .gtr-chips-heading,
.gtr-spare-parts-catalog .gtr-part-chips-label {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: var(--gtr-cat-muted, #64748B) !important;
    margin-right: 4px !important;
}

.gtr-spare-parts-catalog .gtr-chips-list {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
}

.gtr-spare-parts-catalog .gtr-filter-chip,
.gtr-spare-parts-catalog .gtr-part-chip {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 4px 12px !important;
    background: var(--gtr-cat-chip-bg, #FFFFFF) !important;
    border: 1px solid var(--gtr-cat-chip-border, #CBD5E1) !important;
    border-radius: 16px !important;
    font-size: 12px !important;
    color: var(--gtr-cat-chip-text, #1E293B) !important;
    text-decoration: none !important;
    transition: all 0.15s ease !important;
    line-height: 1.4 !important;
}

.gtr-spare-parts-catalog.gtr-theme-dark .gtr-filter-chip,
.gtr-spare-parts-catalog.gtr-theme-dark .gtr-part-chip {
    background: #1E293B !important;
    border-color: #334155 !important;
    color: #F1F5F9 !important;
}

.gtr-spare-parts-catalog .gtr-chip-label {
    color: var(--gtr-cat-muted, #64748B) !important;
    font-weight: 600 !important;
}

.gtr-spare-parts-catalog .gtr-chip-val {
    font-weight: 700 !important;
    color: var(--gtr-cat-text, #0F172A) !important;
}

.gtr-spare-parts-catalog.gtr-theme-dark .gtr-chip-val {
    color: #F8FAFC !important;
}

.gtr-spare-parts-catalog .gtr-chip-remove,
.gtr-spare-parts-catalog .gtr-part-chip-remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--gtr-cat-muted, #94A3B8) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    margin-left: 2px !important;
    transition: color 0.15s ease !important;
}

.gtr-spare-parts-catalog .gtr-filter-chip:hover,
.gtr-spare-parts-catalog .gtr-part-chip:hover {
    background: #E21B2D !important;
    border-color: #E21B2D !important;
    color: #FFFFFF !important;
}

.gtr-spare-parts-catalog .gtr-filter-chip:hover .gtr-chip-label,
.gtr-spare-parts-catalog .gtr-filter-chip:hover .gtr-chip-val,
.gtr-spare-parts-catalog .gtr-filter-chip:hover .gtr-chip-remove {
    color: #FFFFFF !important;
}

.gtr-spare-parts-catalog .gtr-clear-all-chips-link,
.gtr-spare-parts-catalog .gtr-part-clear-all-chips {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #E21B2D !important;
    text-decoration: underline !important;
    margin-left: 8px !important;
    cursor: pointer !important;
    transition: color 0.15s ease !important;
}

.gtr-spare-parts-catalog .gtr-clear-all-chips-link:hover {
    color: #B8001D !important;
}

/* Results Toolbar (Meta Bar: Count Left & Sort Right) - Elevated Professional Bar */
.gtr-spare-parts-catalog .gtr-part-catalog-meta-bar,
.gtr-spare-parts-catalog .gtr-part-meta-bar {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    padding: 12px 18px !important;
    margin-bottom: 24px !important;
    background: #F8FAFC !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 10px !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.03) !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
}

.gtr-spare-parts-catalog.gtr-theme-dark .gtr-part-catalog-meta-bar,
.gtr-spare-parts-catalog.gtr-theme-dark .gtr-part-meta-bar {
    background: #111827 !important;
    border-color: #1F293D !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) !important;
}

.gtr-spare-parts-catalog .gtr-part-catalog-count-disp,
.gtr-spare-parts-catalog .gtr-part-count-disp {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #64748B !important;
    letter-spacing: -0.01em !important;
    margin: 0 !important;
}

.gtr-spare-parts-catalog .gtr-part-catalog-count-disp .gtr-count-num,
.gtr-spare-parts-catalog .gtr-part-catalog-count-disp .gtr-count-total,
.gtr-spare-parts-catalog .gtr-part-count-disp .gtr-count-num,
.gtr-spare-parts-catalog .gtr-part-count-disp .gtr-count-total {
    color: #0F172A !important;
    font-weight: 700 !important;
}

.gtr-spare-parts-catalog.gtr-theme-dark .gtr-part-catalog-count-disp,
.gtr-spare-parts-catalog.gtr-theme-dark .gtr-part-count-disp {
    color: #94A3B8 !important;
}

.gtr-spare-parts-catalog.gtr-theme-dark .gtr-part-catalog-count-disp .gtr-count-num,
.gtr-spare-parts-catalog.gtr-theme-dark .gtr-part-catalog-count-disp .gtr-count-total,
.gtr-spare-parts-catalog.gtr-theme-dark .gtr-part-count-disp .gtr-count-num,
.gtr-spare-parts-catalog.gtr-theme-dark .gtr-part-count-disp .gtr-count-total {
    color: #F1F5F9 !important;
}

.gtr-spare-parts-catalog .gtr-part-catalog-sort-box,
.gtr-spare-parts-catalog .gtr-part-sort-box {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-left: auto !important;
}

.gtr-spare-parts-catalog .gtr-sort-label,
.gtr-spare-parts-catalog .gtr-part-sort-box label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #475569 !important;
    white-space: nowrap !important;
    margin: 0 !important;
    cursor: pointer !important;
}

.gtr-spare-parts-catalog .gtr-sort-icon {
    color: #94A3B8 !important;
    flex-shrink: 0 !important;
}

.gtr-spare-parts-catalog.gtr-theme-dark .gtr-sort-label,
.gtr-spare-parts-catalog.gtr-theme-dark .gtr-part-sort-box label {
    color: #94A3B8 !important;
}

.gtr-spare-parts-catalog.gtr-theme-dark .gtr-sort-icon {
    color: #64748B !important;
}

.gtr-spare-parts-catalog .gtr-sort-select-wrap {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
}

.gtr-spare-parts-catalog select.gtr-sort-select,
.gtr-spare-parts-catalog select.gtr-part-sort-select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    min-width: 190px !important;
    max-width: 250px !important;
    height: 38px !important;
    line-height: 38px !important;
    padding: 0 34px 0 14px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    font-family: inherit !important;
    color: #0F172A !important;
    background-color: #FFFFFF !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 13px !important;
    border: 1px solid #CBD5E1 !important;
    border-radius: 8px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    outline: none !important;
    cursor: pointer !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
}

.gtr-spare-parts-catalog select.gtr-sort-select:hover,
.gtr-spare-parts-catalog select.gtr-part-sort-select:hover {
    border-color: #94A3B8 !important;
}

.gtr-spare-parts-catalog select.gtr-sort-select:focus,
.gtr-spare-parts-catalog select.gtr-part-sort-select:focus {
    border-color: #E21B2D !important;
    box-shadow: 0 0 0 3px rgba(226, 27, 45, 0.12) !important;
}

.gtr-spare-parts-catalog.gtr-theme-dark select.gtr-sort-select,
.gtr-spare-parts-catalog.gtr-theme-dark select.gtr-part-sort-select {
    background-color: #0F172A !important;
    border-color: #334155 !important;
    color: #F1F5F9 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
}

@media (max-width: 640px) {
    .gtr-spare-parts-catalog .gtr-part-catalog-meta-bar,
    .gtr-spare-parts-catalog .gtr-part-meta-bar {
        padding: 10px 14px !important;
        gap: 12px !important;
        margin-bottom: 18px !important;
    }
    .gtr-spare-parts-catalog .gtr-part-catalog-sort-box,
    .gtr-spare-parts-catalog .gtr-part-sort-box {
        width: 100% !important;
        justify-content: space-between !important;
        margin-left: 0 !important;
    }
    .gtr-spare-parts-catalog .gtr-sort-select-wrap {
        flex: 1 !important;
    }
    .gtr-spare-parts-catalog select.gtr-sort-select,
    .gtr-spare-parts-catalog select.gtr-part-sort-select {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }
}

/* Indicative Pricing Disclaimer */
.gtr-spare-parts-catalog .gtr-catalog-pricing-notice {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 16px !important;
    margin-bottom: 24px !important;
    background: #F8FAFC !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 6px !important;
    font-size: 0.8125rem !important;
    color: #64748B !important;
    line-height: 1.4 !important;
    box-sizing: border-box !important;
}

.gtr-spare-parts-catalog.gtr-theme-dark .gtr-catalog-pricing-notice {
    background: #111827 !important;
    border-color: #1F293D !important;
    color: #94A3B8 !important;
}

.gtr-spare-parts-catalog .gtr-pricing-notice-icon {
    flex-shrink: 0 !important;
    color: #94A3B8 !important;
}

/* Results Grid Stage (Shared Showroom Grid Layout 2) */
.gtr-spare-parts-catalog .gtr-part-collection.gtr-layout-2 .gtr-part-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
}

/* Empty State */
.gtr-spare-parts-catalog .gtr-part-catalog-empty {
    text-align: center !important;
    padding: 60px 20px !important;
    background: var(--gtr-cat-panel-bg, #F8FAFC) !important;
    border: 1px solid var(--gtr-cat-border, #E2E8F0) !important;
    border-radius: 8px !important;
}

.gtr-spare-parts-catalog .gtr-part-catalog-empty .gtr-empty-icon-wrap {
    color: var(--gtr-cat-muted, #64748B);
    margin-bottom: 16px;
}

.gtr-spare-parts-catalog .gtr-part-catalog-empty .gtr-empty-title {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: var(--gtr-cat-text, #0F172A) !important;
    margin: 0 0 8px 0 !important;
}

.gtr-spare-parts-catalog .gtr-part-catalog-empty .gtr-empty-desc {
    font-size: 0.9375rem !important;
    color: var(--gtr-cat-muted, #64748B) !important;
    max-width: 500px !important;
    margin: 0 auto 20px auto !important;
    line-height: 1.5 !important;
}

/* Mobile Quickbar */
.gtr-spare-parts-catalog .gtr-part-catalog-mobile-quickbar,
.gtr-spare-parts-catalog .gtr-part-mobile-bar {
    display: none;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    width: 100%;
    box-sizing: border-box;
}

.gtr-spare-parts-catalog .gtr-part-catalog-search-wrap,
.gtr-spare-parts-catalog .gtr-part-mobile-search-wrap {
    position: relative;
    flex: 1;
}

.gtr-spare-parts-catalog .gtr-part-catalog-search-wrap .gtr-search-icon,
.gtr-spare-parts-catalog .gtr-part-mobile-search-wrap .gtr-search-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--gtr-cat-muted, #64748B);
    pointer-events: none;
}

.gtr-spare-parts-catalog .gtr-part-catalog-mobile-quickbar .gtr-part-search-input,
.gtr-spare-parts-catalog .gtr-part-mobile-search-input {
    width: 100% !important;
    height: 42px !important;
    padding: 0 12px 0 38px !important;
    border: 1px solid var(--gtr-cat-input-border, #CBD5E1) !important;
    background: var(--gtr-cat-input-bg, #FFFFFF) !important;
    color: var(--gtr-cat-text, #0F172A) !important;
    border-radius: 6px !important;
    font-size: 0.875rem !important;
    outline: none !important;
    box-sizing: border-box !important;
}

.gtr-spare-parts-catalog .gtr-part-catalog-mobile-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.gtr-spare-parts-catalog .gtr-btn-mobile-filter,
.gtr-spare-parts-catalog .gtr-part-mobile-filter-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    height: 42px !important;
    padding: 0 14px !important;
    border: 1px solid var(--gtr-cat-input-border, #CBD5E1) !important;
    background: var(--gtr-cat-input-bg, #FFFFFF) !important;
    color: var(--gtr-cat-text, #0F172A) !important;
    border-radius: 6px !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}

.gtr-spare-parts-catalog .gtr-filter-count-badge,
.gtr-spare-parts-catalog .gtr-part-badge-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: #E21B2D;
    color: #FFFFFF;
    font-size: 0.6875rem;
    font-weight: 700;
    border-radius: 9999px;
    line-height: 1;
}

.gtr-spare-parts-catalog .gtr-part-mobile-search-btn {
    height: 42px !important;
    padding: 0 16px !important;
    border-radius: 6px !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    background: #E21B2D !important;
    color: #FFFFFF !important;
    border: none !important;
    cursor: pointer !important;
}

/* ==========================================================================
   OFF-CANVAS MOBILE DRAWER SYSTEM
   ========================================================================== */
.gtr-part-mobile-drawer {
    display: none !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 10000005 !important; /* Higher than floating chat widget */
    overflow: hidden !important;
}

.gtr-part-mobile-drawer.is-active {
    display: flex !important;
    justify-content: flex-end !important;
}

.gtr-part-mobile-drawer .gtr-drawer-backdrop {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(15, 23, 42, 0.65) !important;
    backdrop-filter: blur(2px) !important;
    -webkit-backdrop-filter: blur(2px) !important;
    z-index: 1 !important;
}

.gtr-part-mobile-drawer .gtr-drawer-content {
    position: relative !important;
    width: min(380px, 86vw) !important;
    max-width: 400px !important;
    height: 100% !important;
    max-height: 100vh !important;
    background: var(--gtr-cat-bg, #FFFFFF) !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: -6px 0 24px rgba(0, 0, 0, 0.25) !important;
    z-index: 2 !important;
    overflow: hidden !important; /* NO scrollbar on content wrapper */
    box-sizing: border-box !important;
}

.gtr-part-mobile-drawer .gtr-drawer-header {
    flex-shrink: 0 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 16px 20px !important;
    border-bottom: 1px solid var(--gtr-cat-border, #E2E8F0) !important;
    background: var(--gtr-cat-bg, #FFFFFF) !important;
    box-sizing: border-box !important;
}

.gtr-part-mobile-drawer .gtr-drawer-title {
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    color: var(--gtr-cat-text, #0F172A) !important;
    margin: 0 !important;
}

.gtr-part-mobile-drawer .gtr-drawer-close {
    background: transparent !important;
    border: none !important;
    font-size: 1.375rem !important;
    cursor: pointer !important;
    color: var(--gtr-cat-muted, #64748B) !important;
    padding: 4px 8px !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 4px !important;
    transition: color 0.15s ease !important;
}

.gtr-part-mobile-drawer .gtr-drawer-close:hover {
    color: #E21B2D !important;
    background: rgba(226, 27, 45, 0.08) !important;
}

.gtr-part-mobile-drawer .gtr-drawer-body {
    flex: 1 1 auto !important;
    min-height: 0 !important; /* CRITICAL for flex child overflow */
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 18px 20px !important;
    box-sizing: border-box !important;
}

/* Cloned panel inside mobile drawer */
.gtr-spare-parts-catalog .gtr-part-mobile-drawer .gtr-part-catalog-filter-panel,
.gtr-part-mobile-drawer .gtr-part-catalog-filter-panel {
    display: block !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    margin-bottom: 0 !important;
}

.gtr-spare-parts-catalog .gtr-part-mobile-drawer .gtr-part-primary-grid,
.gtr-spare-parts-catalog .gtr-part-mobile-drawer .gtr-part-secondary-grid,
.gtr-part-mobile-drawer .gtr-part-primary-grid,
.gtr-part-mobile-drawer .gtr-part-secondary-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
}

.gtr-spare-parts-catalog .gtr-part-mobile-drawer .gtr-part-search-row,
.gtr-part-mobile-drawer .gtr-part-search-row {
    margin-bottom: 14px !important;
}

.gtr-spare-parts-catalog .gtr-part-mobile-drawer .gtr-part-secondary-panel,
.gtr-part-mobile-drawer .gtr-part-secondary-panel {
    display: block !important;
    border-top: 1px dashed var(--gtr-cat-border, #E2E8F0) !important;
    padding-top: 16px !important;
    margin-top: 14px !important;
}

#gtr-part-mobile-drawer .gtr-part-filter-actions,
.gtr-part-mobile-drawer .gtr-part-filter-actions,
.gtr-spare-parts-catalog .gtr-part-mobile-drawer .gtr-part-filter-actions {
    display: none !important;
}

.gtr-part-mobile-drawer .gtr-drawer-footer {
    flex-shrink: 0 !important;
    display: flex !important;
    gap: 12px !important;
    padding: 14px 20px !important;
    padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important;
    border-top: 1px solid var(--gtr-cat-border, #E2E8F0) !important;
    background: var(--gtr-cat-bg, #FFFFFF) !important;
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.05) !important;
    z-index: 5 !important;
    box-sizing: border-box !important;
}

.gtr-part-mobile-drawer .gtr-drawer-btn-reset {
    flex: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 44px !important;
    border: 1px solid #CBD5E1 !important;
    background: #FFFFFF !important;
    color: #475569 !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    text-decoration: none !important;
    transition: all 0.15s ease !important;
}

.gtr-part-mobile-drawer .gtr-drawer-btn-reset:hover {
    border-color: #E21B2D !important;
    color: #E21B2D !important;
}

.gtr-part-mobile-drawer .gtr-drawer-btn-apply {
    flex: 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 44px !important;
    border: none !important;
    background: #E21B2D !important;
    color: #FFFFFF !important;
    border-radius: 6px !important;
    font-weight: 700 !important;
    font-size: 0.875rem !important;
    cursor: pointer !important;
    transition: background 0.15s ease !important;
    box-shadow: 0 1px 3px rgba(226, 27, 45, 0.25) !important;
}

.gtr-part-mobile-drawer .gtr-drawer-btn-apply:hover {
    background: #C41222 !important;
}

/* Eliminate chat widget obstruction while drawer is active */
body.gtr-scroll-locked #gtr-floating-contact-widget,
.gtr-part-mobile-drawer.is-active ~ #gtr-floating-contact-widget {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
}

body.gtr-scroll-locked {
    overflow: hidden !important;
    touch-action: none !important;
}

/* ==========================================================================
   RESPONSIVE BREAKPOINTS
   ========================================================================== */
@media (min-width: 769px) {
    .gtr-spare-parts-catalog .gtr-part-catalog-mobile-quickbar,
    .gtr-spare-parts-catalog .gtr-part-mobile-bar,
    .gtr-part-mobile-drawer {
        display: none !important;
    }
}

@media (max-width: 1200px) {
    .gtr-spare-parts-catalog .gtr-part-primary-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
    .gtr-spare-parts-catalog .gtr-part-secondary-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 1024px) {
    .gtr-spare-parts-catalog .gtr-part-primary-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
    .gtr-spare-parts-catalog .gtr-part-secondary-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .gtr-spare-parts-catalog .gtr-part-collection.gtr-layout-2 .gtr-part-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 900px) {
    .gtr-spare-parts-catalog .gtr-part-primary-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .gtr-spare-parts-catalog .gtr-part-secondary-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .gtr-spare-parts-catalog .gtr-part-catalog-filter-panel {
        display: none !important;
    }
    .gtr-spare-parts-catalog .gtr-part-catalog-mobile-quickbar,
    .gtr-spare-parts-catalog .gtr-part-mobile-bar {
        display: flex !important;
    }
    .gtr-spare-parts-catalog .gtr-part-collection.gtr-layout-2 .gtr-part-grid {
        grid-template-columns: 1fr !important;
    }
    .gtr-spare-parts-catalog .gtr-part-catalog-meta-bar {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
    }
    .gtr-spare-parts-catalog .gtr-part-catalog-sort-box {
        margin-left: 0 !important;
        width: 100% !important;
        justify-content: space-between !important;
    }
    .gtr-spare-parts-catalog select.gtr-sort-select {
        flex: 1 !important;
        max-width: none !important;
    }
    .gtr-spare-parts-catalog .gtr-catalog-pricing-notice {
        font-size: 0.75rem !important;
        padding: 8px 12px !important;
    }
}

@media (max-width: 480px) {
    .gtr-part-mobile-drawer .gtr-drawer-content {
        width: 92vw !important;
    }
    .gtr-spare-parts-catalog .gtr-part-catalog-mobile-actions {
        gap: 6px;
    }
    .gtr-spare-parts-catalog .gtr-btn-mobile-filter {
        padding: 0 10px !important;
    }
}




