:root {
    --navy: #0b1f3a;
    --navy-2: #14345f;
    --orange: #f27a1a;
    --orange-2: #ff9d3d;
    --ink: #172033;
    --muted: #667085;
    --line: #d9e1ea;
    --soft: #f3f7fb;
    --white: #ffffff;
    --green: #14845d;
    --red: #b42318;
    --shadow: 0 16px 40px rgba(16, 24, 40, .12);
    --radius: 8px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
    margin: 0;
    color: var(--ink);
    background: var(--white);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0;
    padding-bottom: env(safe-area-inset-bottom);
}
body.admin-body { background: #eef3f8; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; letter-spacing: 0; }
button { cursor: pointer; }
svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.container { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.app-shell { min-height: 100vh; overflow-x: clip; }

.top-strip { background: var(--navy); color: #dce8f6; font-size: 13px; }
.top-strip__inner { min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.top-strip a { color: #fff; font-weight: 700; }
.b4b-strip { background: #111827; color: #e5eaf2; font-size: 13px; }
.b4b-strip__inner { min-height: 44px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; }
.b4b-strip strong { display: grid; place-items: center; width: 54px; height: 28px; border-radius: 6px; color: #111827; background: var(--orange); font-weight: 900; }
.b4b-strip span { display: flex; align-items: center; gap: 10px; min-width: 0; }
.b4b-strip b { color: #fff; white-space: nowrap; }
.b4b-strip small { color: #b9c4d3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.b4b-strip a { justify-self: end; min-height: 30px; display: inline-flex; align-items: center; border-radius: 6px; padding: 0 12px; color: #fff; background: #273449; font-weight: 800; }
.site-header { position: sticky; top: 0; z-index: 30; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(10px); }
.header-main { min-height: 78px; display: grid; grid-template-columns: auto minmax(260px, 1fr) auto; align-items: center; gap: 20px; }
.header-main--oyp { min-height: 84px; grid-template-columns: auto minmax(320px, 1fr) auto; gap: 18px; }
.brand { display: inline-flex; align-items: center; gap: 10px; min-width: max-content; }
.brand__mark { display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--radius); color: #fff; background: linear-gradient(135deg, var(--navy), var(--orange)); font-weight: 900; }
.brand__text { display: grid; line-height: 1.1; }
.brand__text strong { font-size: 20px; }
.brand__text small { color: var(--muted); font-size: 12px; }
.brand--footer .brand__text small, .brand--admin .brand__text small { color: currentColor; opacity: .72; }
.brand--oyp .brand__mark { width: 52px; height: 52px; border-radius: 6px; font-size: 18px; }
.brand--oyp .brand__text strong { font-size: 23px; color: var(--navy); }

.search-bar { position: relative; display: grid; grid-template-columns: 1fr 54px; border: 2px solid var(--navy); border-radius: var(--radius); overflow: visible; background: #fff; }
.search-bar input { min-width: 0; height: 52px; border: 0; padding: 0 18px; outline: 0; border-radius: var(--radius) 0 0 var(--radius); }
.search-bar button { display: grid; place-items: center; border: 0; color: #fff; background: var(--orange); border-radius: 0 6px 6px 0; }
.search-bar--oyp { grid-template-columns: 1fr 92px; border: 1px solid #cfd8e3; border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(11,31,58,.03); }
.search-bar--oyp input { height: 50px; font-size: 15px; }
.search-bar--oyp button { display: inline-flex; gap: 7px; font-weight: 900; border-radius: 0 5px 5px 0; background: #ef6c16; }
.search-bar--oyp button span { display: inline; }
.autocomplete-panel { position: absolute; top: calc(100% + 8px); left: 0; right: 54px; display: none; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); border-radius: var(--radius); padding: 8px; }
.autocomplete-panel.is-open { display: grid; gap: 4px; }
.autocomplete-panel a { padding: 10px 12px; border-radius: 6px; color: var(--ink); }
.autocomplete-panel a:hover { background: var(--soft); }

.header-actions { display: flex; align-items: center; gap: 8px; }
.header-action { position: relative; min-width: 74px; min-height: 54px; display: grid; place-items: center; gap: 2px; color: var(--navy); border: 1px solid transparent; border-radius: var(--radius); font-size: 12px; font-weight: 700; }
.header-action:hover { border-color: var(--line); background: var(--soft); }
.header-action b { position: absolute; top: 5px; right: 11px; display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; color: #fff; background: var(--orange); font-size: 11px; }
.header-actions--oyp { gap: 4px; }
.header-actions--oyp .header-action { min-width: 92px; min-height: 58px; grid-template-columns: 24px 1fr; align-items: center; justify-items: start; gap: 8px; padding: 8px 9px; border: 1px solid #e5ebf2; border-radius: 6px; background: #fff; font-size: 12px; }
.header-actions--oyp .header-action--wide { min-width: 142px; }
.header-actions--oyp .header-action span { display: grid; line-height: 1.12; }
.header-actions--oyp .header-action small { color: var(--muted); font-weight: 700; white-space: nowrap; }
.header-actions--oyp .header-action strong { color: var(--navy); font-size: 13px; white-space: nowrap; }
.header-actions--oyp .header-action b { position: static; display: inline; min-width: 0; height: auto; padding: 0; border-radius: 0; color: var(--orange); background: transparent; font-size: inherit; }
.location-action { font: inherit; text-align: left; }
.icon-button { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--line); background: #fff; border-radius: var(--radius); color: var(--navy); }
.mobile-menu-toggle { display: none; }
.mobile-menu-toggle span { width: 18px; height: 2px; background: currentColor; }

.nav-row { display: flex; align-items: center; gap: 8px; min-height: 48px; }
.nav-link { border: 0; background: transparent; color: var(--navy); padding: 12px 14px; border-radius: var(--radius); font-weight: 800; }
.nav-link:hover, .nav-link.is-active { background: var(--soft); }
.nav-link--accent { color: var(--orange); }
.nav-row--oyp { min-height: 48px; display: block; background: var(--navy); border-top: 1px solid #e5ebf2; }
.nav-row__inner { display: flex; align-items: center; gap: 0; min-height: 48px; overflow-x: auto; scrollbar-width: thin; }
.nav-row--oyp .nav-link { flex: 0 0 auto; min-height: 48px; border-radius: 0; color: #fff; padding: 0 13px; font-size: 13px; font-weight: 900; }
.nav-row--oyp .nav-link:hover, .nav-row--oyp .nav-link.is-active { background: #17345b; color: #fff; box-shadow: inset 0 -3px 0 var(--orange); }
.nav-row--oyp .nav-link--more { margin-left: auto; background: var(--orange); }
.mega-panel { display: none; position: absolute; left: 0; right: 0; top: 132px; z-index: 35; background: #fff; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); box-shadow: var(--shadow); }
.mega-panel.is-open { display: block; }
.mega-grid { padding: 24px 0; display: grid; gap: 18px; }
.mega-grid--vehicles { grid-template-columns: repeat(5, 1fr); }
.mega-grid h3 { margin: 0 0 10px; color: var(--navy); font-size: 16px; }
.mega-grid--vehicles a { display: block; color: var(--muted); padding: 5px 0; }
.mega-grid--parts { grid-template-columns: repeat(6, 1fr) 1.4fr; align-items: stretch; }
.mega-category { display: grid; gap: 8px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.mega-category img { width: 52px; height: 52px; object-fit: contain; }
.mega-category span { font-weight: 800; color: var(--navy); }
.mega-category small { color: var(--muted); }
.mega-brands { padding: 14px; background: var(--soft); border-radius: var(--radius); }
.mega-brands div { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.mega-brands a { display: grid; place-items: center; min-height: 42px; background: #fff; border: 1px solid var(--line); border-radius: 6px; font-weight: 900; color: var(--navy); }
.vehicle-mega { min-height: 420px; display: grid; grid-template-columns: 218px minmax(0, 1fr) 230px; gap: 18px; padding: 18px 0; }
.vehicle-mega__brands { max-height: 392px; overflow: auto; display: grid; align-content: start; gap: 4px; padding: 10px; border: 1px solid var(--line); border-radius: var(--radius); background: #f8fbff; }
.vehicle-mega__brands button, .vehicle-mega__brands a { min-height: 34px; display: flex; align-items: center; justify-content: space-between; border: 0; border-radius: 6px; padding: 0 10px; color: var(--navy); background: transparent; font-weight: 900; text-align: left; }
.vehicle-mega__brands button::after { content: "›"; color: #98a2b3; font-size: 20px; line-height: 1; }
.vehicle-mega__brands button:hover, .vehicle-mega__brands button.is-active, .vehicle-mega__brands a:hover { color: #fff; background: var(--orange); }
.vehicle-mega__brands strong { padding: 8px 10px; color: var(--navy); }
.vehicle-mega__content { min-width: 0; }
.vehicle-model-panel { display: none; }
.vehicle-model-panel.is-active { display: block; }
.vehicle-mega__head { display: flex; justify-content: space-between; align-items: end; gap: 16px; margin-bottom: 14px; }
.vehicle-mega__head h3 { margin: 2px 0 0; color: var(--navy); font-size: 22px; }
.vehicle-mega__head a { color: var(--orange); font-weight: 900; }
.vehicle-model-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.vehicle-model-card { min-height: 120px; display: grid; place-items: center; gap: 8px; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; text-align: center; font-weight: 900; color: var(--navy); }
.vehicle-model-card:hover { border-color: var(--orange); box-shadow: 0 10px 26px rgba(16,24,40,.10); transform: translateY(-1px); }
.vehicle-model-card img { width: 88px; height: 52px; object-fit: contain; }
.vehicle-mega__promo { display: grid; align-content: start; gap: 10px; padding: 16px; border-radius: var(--radius); color: #fff; background: linear-gradient(145deg, #0b1f3a, #1f4f7b); }
.vehicle-mega__promo strong { font-size: 18px; }
.vehicle-mega__promo p { margin: 0 0 8px; color: #d9e6f5; }
.vehicle-mega__promo .button--ghost { background: rgba(255,255,255,.12); color: #fff; border-color: rgba(255,255,255,.25); }
.vehicle-mega--parts { grid-template-columns: 220px minmax(0, 1fr) 220px; }
.vehicle-mega--parts .mega-grid--parts { padding: 0; grid-template-columns: repeat(3, 1fr); }
.mega-brand-pills { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.mega-brand-pills a, .all-brand-grid a { display: grid; place-items: center; min-height: 38px; border-radius: 6px; background: #fff; color: var(--navy); font-weight: 900; }
.all-brand-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.mini-cart { display: none; position: fixed; right: 24px; top: 132px; z-index: 45; width: 320px; padding: 14px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.mini-cart.is-open { display: grid; gap: 12px; }
.mini-cart__item { display: grid; grid-template-columns: 54px 1fr; gap: 10px; align-items: center; }
.mini-cart__item img { width: 54px; height: 54px; object-fit: contain; background: var(--soft); border-radius: 6px; }
.mini-cart__item span { display: grid; font-weight: 800; }
.mini-cart__item small { color: var(--muted); font-weight: 400; }

.mobile-drawer { position: fixed; inset: 0 auto 0 0; z-index: 60; width: min(86vw, 360px); display: none; padding: 20px; background: #fff; box-shadow: var(--shadow); overflow: auto; }
.mobile-drawer.is-open { display: grid; align-content: start; gap: 8px; }
.mobile-drawer a { padding: 12px 0; border-bottom: 1px solid var(--line); font-weight: 800; }
.mobile-drawer__title { margin-top: 12px; color: var(--orange); font-size: 12px; text-transform: uppercase; }
.mobile-drawer__close { margin-left: auto; }
.flash-stack { margin-top: 16px; display: grid; gap: 10px; }
.flash { padding: 12px 14px; border-radius: var(--radius); border: 1px solid var(--line); background: var(--soft); }
.flash--success { color: #075e43; background: #e8f7f1; border-color: #b7e4d1; }
.flash--error { color: var(--red); background: #fff1f0; border-color: #ffccc7; }

.button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid transparent; border-radius: var(--radius); padding: 0 16px; font-weight: 900; text-align: center; }
.button--primary { color: #fff; background: var(--orange); }
.button--primary:hover { background: #df680f; }
.button--dark { color: #fff; background: var(--navy); }
.button--ghost { color: var(--navy); background: #fff; border-color: var(--line); }
.button--block { width: 100%; }
.button--icon { width: 44px; padding: 0; }

.hero { background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%); border-bottom: 1px solid var(--line); }
.hero__grid { min-height: 540px; display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 36px; padding: 38px 0; }
.hero__copy h1 { margin: 12px 0 16px; max-width: 680px; color: var(--navy); font-size: 48px; line-height: 1.05; }
.hero__copy p { margin: 0 0 26px; max-width: 620px; color: var(--muted); font-size: 18px; }
.eyebrow { display: inline-flex; color: var(--orange); font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: 0; }
.hero__visual { position: relative; min-height: 420px; display: grid; place-items: center; }
.hero__visual img { width: 100%; max-height: 480px; object-fit: contain; filter: drop-shadow(0 28px 40px rgba(11,31,58,.18)); }
.vin-search { max-width: 640px; display: grid; gap: 8px; }
.vin-search label { color: var(--navy); font-weight: 900; }
.vin-search > div { display: grid; grid-template-columns: 1fr 48px auto; gap: 8px; }
.vin-search input, .vehicle-select select, .filter-sidebar input, .filter-sidebar select, .auth-panel input, .garage-form input, .checkout-form input, .checkout-form textarea, .contact-form input, .contact-form textarea, .product-form input, .product-form textarea, .admin-search input {
    width: 100%;
    min-height: 46px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 0 12px;
    background: #fff;
    outline: 0;
}
.vin-search input:focus, input:focus, select:focus, textarea:focus { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(242,122,26,.12); }
.vin-search small { color: var(--muted); }
.vin-search small.is-valid { color: var(--green); }
.vin-search small.is-invalid { color: var(--red); }
.camera-button { display: grid; place-items: center; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; color: var(--navy); }

.vehicle-finder { margin-top: -28px; position: relative; z-index: 3; }
.vehicle-finder__inner { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 24px; padding: 22px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.vehicle-finder h2, .section h2, .page-hero h1 { margin: 4px 0 0; color: var(--navy); }
.vehicle-select { display: grid; grid-template-columns: repeat(3, 1fr) auto; gap: 10px; }

.section { padding: 64px 0; }
.section--soft { background: var(--soft); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.section__head { display: flex; justify-content: space-between; align-items: end; gap: 18px; margin-bottom: 22px; }
.section__head a { color: var(--orange); font-weight: 900; }
.category-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.category-tile { display: grid; gap: 9px; padding: 18px; min-height: 168px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); }
.category-tile:hover, .product-card:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(16,24,40,.10); }
.category-tile img { width: 72px; height: 72px; object-fit: contain; }
.category-tile strong { color: var(--navy); }
.category-tile span { color: var(--muted); }

.product-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(240px, 1fr); gap: 16px; overflow-x: auto; padding-bottom: 12px; scroll-snap-type: x mandatory; }
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.product-grid--compact { grid-template-columns: repeat(2, 1fr); }
.product-card { min-width: 0; display: grid; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; transition: transform .18s ease, box-shadow .18s ease; scroll-snap-align: start; }
.product-card__media { position: relative; display: grid; place-items: center; aspect-ratio: 1.24; background: linear-gradient(180deg, #fff, #edf4fb); }
.product-card__media img { width: 78%; height: 78%; object-fit: contain; }
.badge { position: absolute; top: 10px; left: 10px; padding: 5px 8px; border-radius: 6px; color: #fff; background: var(--red); font-size: 12px; font-weight: 900; }
.product-card__body { display: grid; gap: 9px; padding: 14px; }
.product-card__meta { display: flex; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 12px; }
.product-card__title { min-height: 48px; color: var(--navy); font-weight: 900; }
.product-card p { margin: 0; color: var(--muted); font-size: 13px; }
.rating { color: #b45309; font-weight: 900; }
.rating small { color: var(--muted); font-weight: 400; }
.product-card__footer { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-top: 4px; }
.price { display: grid; }
.price del, .detail-price del { color: var(--muted); font-size: 13px; }
.price strong, .detail-price strong { color: var(--navy); font-size: 22px; }

.split-panel { display: grid; grid-template-columns: .9fr 1.1fr; gap: 26px; align-items: center; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(135deg, #0b1f3a, #153b6f); color: #fff; }
.split-panel h2 { color: #fff; font-size: 32px; }
.split-panel p { color: #d8e4f1; }
.mini-products { display: grid; gap: 10px; }
.mini-products a { display: grid; grid-template-columns: 72px 1fr; gap: 12px; align-items: center; padding: 12px; background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.18); border-radius: var(--radius); }
.mini-products img { width: 72px; height: 72px; object-fit: contain; background: #fff; border-radius: 6px; }
.mini-products span { display: grid; }
.mini-products strong { color: var(--orange-2); }
.brand-grid { display: grid; grid-template-columns: repeat(8, 1fr); gap: 12px; }
.brand-grid a { min-height: 74px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; color: var(--navy); font-weight: 900; }

.page-hero { background: linear-gradient(135deg, var(--navy), #20507f); color: #fff; }
.page-hero--compact { padding: 46px 0; }
.page-hero h1 { color: #fff; font-size: 38px; }
.page-hero p { max-width: 720px; color: #dce8f6; }
.catalog-layout { display: grid; grid-template-columns: 280px 1fr; gap: 24px; padding: 34px 0 68px; align-items: start; }
.filter-sidebar { position: sticky; top: 190px; display: grid; gap: 16px; }
.filter-sidebar form, .filter-cats, .summary-box, .auth-panel, .garage-form, .admin-panel, .content-page, .contact-form { padding: 18px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); }
.filter-sidebar h2, .filter-sidebar h3, .summary-box h2, .auth-panel h1, .garage-form h2 { margin: 0 0 14px; color: var(--navy); }
.filter-sidebar label, .auth-panel label, .garage-form label, .checkout-form label, .contact-form label, .product-form label { display: grid; gap: 6px; margin-bottom: 12px; color: var(--navy); font-weight: 800; }
.filter-row, .form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.span-2 { grid-column: 1 / -1; }
.filter-cats { display: grid; gap: 8px; }
.filter-cats a { color: var(--muted); }
.catalog-toolbar { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 16px; color: var(--muted); }
.catalog-toolbar strong { color: var(--navy); }
.empty-state, .error-page { padding: 36px; text-align: center; background: var(--soft); border: 1px solid var(--line); border-radius: var(--radius); }

.breadcrumb { display: flex; gap: 8px; align-items: center; margin: 28px 0 18px; color: var(--muted); font-size: 14px; }
.product-detail { padding-bottom: 64px; }
.product-detail__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; align-items: start; }
.product-gallery__main { width: 100%; aspect-ratio: 1.05; object-fit: contain; background: linear-gradient(180deg, #fff, #edf4fb); border: 1px solid var(--line); border-radius: var(--radius); padding: 32px; }
.product-gallery__thumbs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 10px; }
.product-gallery__thumbs img { aspect-ratio: 1.3; object-fit: contain; background: var(--soft); border: 1px solid var(--line); border-radius: var(--radius); padding: 12px; }
.product-info h1 { margin: 8px 0 10px; color: var(--navy); font-size: 36px; line-height: 1.15; }
.spec-list { display: grid; gap: 8px; }
.spec-list div { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.spec-list dt { color: var(--muted); }
.spec-list dd { margin: 0; font-weight: 900; color: var(--navy); }
.spec-list--inline { grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 20px 0; }
.spec-list--inline div { display: grid; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius); }
.detail-price { margin: 20px 0; display: grid; }
.detail-price strong { font-size: 34px; }
.buy-box { display: flex; gap: 10px; align-items: end; flex-wrap: wrap; }
.buy-box label { width: 96px; margin: 0; }
.buy-box input { min-height: 44px; border: 1px solid var(--line); border-radius: var(--radius); padding: 0 10px; }
.detail-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 34px; }
.detail-tabs section { padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); }
.detail-tabs h2 { margin: 0 0 12px; color: var(--navy); }
.fitment-list { display: flex; flex-wrap: wrap; gap: 8px; }
.fitment-list span { padding: 8px 10px; background: var(--soft); border-radius: 6px; color: var(--navy); font-weight: 700; }

.cart-layout, .checkout-grid, .garage-grid, .account-grid, .contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 24px; padding: 34px 0 68px; align-items: start; }
.cart-lines { display: grid; gap: 12px; }
.cart-line { display: grid; grid-template-columns: 88px 1fr 100px 120px 42px; gap: 14px; align-items: center; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.cart-line img { width: 88px; height: 88px; object-fit: contain; background: var(--soft); border-radius: 6px; }
.cart-line a { color: var(--navy); font-weight: 900; }
.cart-line small { display: block; color: var(--muted); }
.cart-line input { width: 86px; min-height: 40px; border: 1px solid var(--line); border-radius: var(--radius); padding: 0 8px; }
.summary-box { display: grid; gap: 12px; position: sticky; top: 190px; }
.summary-box div { display: flex; justify-content: space-between; gap: 12px; }
.summary-box__total { padding-top: 12px; border-top: 1px solid var(--line); font-size: 20px; color: var(--navy); }
.checkout-form, .contact-form { display: grid; gap: 14px; }
.radio-card, .payment-methods label { padding: 12px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.payment-methods { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }

.auth-page { min-height: 640px; display: grid; place-items: center; padding: 44px 0; }
.auth-page--admin { min-height: 100vh; }
.auth-panel { width: min(100%, 430px); box-shadow: var(--shadow); }
.auth-panel p { color: var(--muted); }
.form-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.check { display: flex !important; grid-template-columns: auto 1fr; align-items: center; margin: 0 !important; font-weight: 400 !important; }
.check input { width: auto; min-height: auto; }

.account-nav { display: grid; gap: 8px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.account-nav a { padding: 12px; border-radius: 6px; font-weight: 800; color: var(--navy); }
.account-nav a:hover { background: var(--soft); }
.account-grid { grid-template-columns: 240px 1fr; }
.account-content { display: grid; gap: 22px; }
.info-grid, .admin-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.info-grid div, .admin-stats div { display: grid; gap: 5px; padding: 18px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); }
.info-grid span, .admin-stats span { color: var(--muted); }
.info-grid strong, .admin-stats strong { color: var(--navy); font-size: 22px; }
.vehicle-list { display: grid; gap: 12px; margin-bottom: 26px; }
.vehicle-card { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.vehicle-card.is-selected { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(242,122,26,.12); }
.vehicle-card div { display: grid; }
.vehicle-card strong { color: var(--navy); }
.vehicle-card span, .vehicle-card small { color: var(--muted); }

.site-footer { padding: 46px 0 92px; background: var(--navy); color: #dce8f6; }
.footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 28px; }
.footer-grid h3 { margin: 0 0 10px; color: #fff; }
.footer-grid a { display: block; margin: 7px 0; }
.payment-icons { display: flex; flex-wrap: wrap; gap: 8px; }
.payment-icons span { display: grid; place-items: center; min-width: 52px; min-height: 34px; border-radius: 6px; background: #fff; color: var(--navy); font-weight: 900; }
.bottom-nav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; display: none; grid-template-columns: repeat(4, 1fr); padding-bottom: env(safe-area-inset-bottom); background: #fff; border-top: 1px solid var(--line); }
.bottom-nav a { min-height: 62px; display: grid; place-items: center; align-content: center; gap: 2px; color: var(--navy); font-size: 11px; font-weight: 800; }
.toast { position: fixed; left: 50%; bottom: 28px; z-index: 70; display: none; transform: translateX(-50%); max-width: min(520px, calc(100% - 32px)); padding: 12px 16px; border-radius: var(--radius); color: #fff; background: var(--navy); box-shadow: var(--shadow); }
.toast.is-open { display: block; }

.admin-body { min-height: 100vh; display: grid; grid-template-columns: 280px 1fr; background: #eef3f8; color: #162033; }
.admin-body--login { display: block; background: radial-gradient(circle at 20% 20%, rgba(242,122,26,.18), transparent 26%), linear-gradient(135deg, #081a31, #123a66); }
.admin-sidebar { position: sticky; top: 0; height: 100vh; display: grid; grid-template-rows: auto 1fr auto; gap: 24px; padding: 22px; background: #081a31; color: #fff; box-shadow: 8px 0 30px rgba(8,26,49,.16); }
.admin-brand { display: flex; align-items: center; gap: 12px; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.10); }
.admin-brand span { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 8px; background: var(--orange); color: #fff; font-weight: 900; }
.admin-brand strong { font-size: 17px; }
.admin-nav { display: grid; align-content: start; gap: 8px; }
.admin-nav a { min-height: 46px; display: grid; grid-template-columns: 22px 1fr; align-items: center; gap: 10px; padding: 0 12px; border-radius: 8px; color: #c8d7ea; font-weight: 800; }
.admin-nav a:hover, .admin-nav a.is-active { color: #fff; background: rgba(255,255,255,.10); box-shadow: inset 3px 0 0 var(--orange); }
.admin-nav svg { width: 19px; height: 19px; }
.admin-sidebar__footer { display: grid; gap: 10px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.10); }
.admin-sidebar__footer a, .admin-sidebar__footer button { min-height: 42px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 8px; color: #fff; background: rgba(255,255,255,.08); font-weight: 800; }
.admin-sidebar__footer button { width: 100%; }
.admin-main { min-width: 0; padding: 24px; }
.admin-topbar { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 22px; padding: 16px 18px; border: 1px solid #dde6f0; border-radius: 10px; background: rgba(255,255,255,.86); box-shadow: 0 10px 28px rgba(16,24,40,.06); }
.admin-topbar div:first-child { display: grid; }
.admin-topbar span { color: var(--muted); font-size: 13px; font-weight: 700; }
.admin-topbar strong { color: var(--navy); font-size: 20px; }
.admin-user { display: grid; justify-items: end; }
.admin-user span { color: var(--navy); font-weight: 900; }
.admin-user small { color: var(--muted); }
.admin-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.admin-head h1 { margin: 0; color: var(--navy); }
.admin-head p { margin: 6px 0 0; color: var(--muted); }
.admin-head--hero { padding: 22px; border-radius: 12px; color: #fff; background: linear-gradient(135deg, #0b1f3a, #1c5484); box-shadow: 0 16px 36px rgba(11,31,58,.16); }
.admin-head--hero h1 { color: #fff; font-size: 34px; }
.admin-head--hero p { color: #d8e6f5; }
.admin-stats { margin-bottom: 18px; }
.admin-stats--pro div { min-height: 132px; border: 0; border-radius: 12px; box-shadow: 0 10px 28px rgba(16,24,40,.08); }
.admin-stats--pro span { font-weight: 800; }
.admin-stats--pro strong { font-size: 30px; }
.admin-stats--pro small { color: var(--muted); }
.admin-dashboard-grid, .admin-db-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); gap: 18px; align-items: start; }
.admin-panel--pro { border: 0; border-radius: 12px; box-shadow: 0 10px 28px rgba(16,24,40,.08); }
.admin-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.admin-panel__head h2 { margin: 0; color: var(--navy); }
.admin-panel__head span { color: var(--muted); font-size: 13px; font-weight: 800; }
.quick-actions--grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.quick-actions--grid a { min-height: 92px; display: grid; align-content: center; gap: 4px; padding: 16px; border: 1px solid #dfe8f2; border-radius: 10px; color: var(--navy); background: #f8fbff; font-weight: 900; }
.quick-actions--grid a:hover { border-color: var(--orange); background: #fff8f1; }
.quick-actions--grid small { color: var(--muted); font-weight: 700; }
.admin-health-list { display: grid; gap: 10px; }
.admin-health-list div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; border: 1px solid #dfe8f2; border-radius: 8px; background: #f8fbff; }
.admin-health-list span { color: var(--muted); }
.admin-health-list strong { color: var(--navy); }
.admin-login-main { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.admin-login-card { width: min(960px, 100%); display: grid; grid-template-columns: .95fr 1.05fr; overflow: hidden; border-radius: 16px; background: #fff; box-shadow: 0 28px 80px rgba(0,0,0,.28); }
.admin-login-card__visual { display: grid; align-content: center; gap: 16px; padding: 42px; color: #fff; background: linear-gradient(145deg, #0b1f3a, #1c5484); }
.admin-login-card__visual span { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 10px; background: var(--orange); font-weight: 900; font-size: 20px; }
.admin-login-card__visual h1 { margin: 0; font-size: 34px; line-height: 1.08; }
.admin-login-card__visual p { margin: 0; color: #d8e6f5; }
.admin-login-card__form { padding: 42px; }
.admin-login-card__form h2 { margin: 4px 0 18px; color: var(--navy); font-size: 30px; }
.admin-login-card__form p { color: var(--muted); }
.admin-flash { width: 100%; margin: 0 0 16px; }
.db-status { padding: 16px; border-radius: 10px; border: 1px solid #dfe8f2; background: #f8fbff; }
.db-status strong { display: block; color: var(--navy); margin-bottom: 6px; }
.db-status p { margin: 0; color: var(--muted); }
.db-status.is-ok { border-color: #b7e4d1; background: #e8f7f1; }
.db-status.is-error { border-color: #ffccc7; background: #fff1f0; }
.admin-table code { padding: 4px 6px; border-radius: 6px; background: #eef3f8; color: var(--navy); }
.status-pill--ok { background: #e8f7f1; color: #075e43; }
.status-pill--warn { background: #fff7e6; color: #ad5b00; }
.admin-panel--note { margin-top: 18px; border-color: #f7c08a; background: #fff8f1; }
.admin-panel--note p { margin: 6px 0 0; color: var(--muted); }
.button:disabled { opacity: .55; cursor: not-allowed; }
.admin-search { display: grid; grid-template-columns: 1fr auto; gap: 10px; margin-bottom: 14px; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; background: #fff; }
th, td { padding: 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
th { color: var(--navy); background: var(--soft); }
td small { display: block; color: var(--muted); }
.table-actions { display: flex; align-items: center; gap: 12px; }
.table-actions a, .table-actions button { color: var(--orange); border: 0; background: transparent; font-weight: 900; }
.quick-actions { display: flex; gap: 10px; }
.status-pill { display: inline-flex; padding: 5px 9px; border-radius: 6px; background: #e8f7f1; color: #075e43; font-weight: 800; }

/* Premium rebuild */
body { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; background: #fbfcfe; }
.b4b-strip__inner { grid-template-columns: minmax(120px, auto) 1fr auto; }
.b4b-strip strong { width: auto; min-width: 112px; padding: 0 12px; }
.nav-row--oyp .nav-link--managed { background: rgba(255,255,255,.08); }
.nav-row--oyp .nav-link--managed:hover { background: #0f766e; box-shadow: inset 0 -3px 0 #7dd3fc; }
.premium-hero { overflow: hidden; background: #f6f9fc; border-bottom: 1px solid #dde6ef; }
.premium-hero__grid { min-height: 610px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .88fr); align-items: center; gap: 44px; padding: 54px 0 72px; }
.premium-hero__copy h1 { margin: 12px 0 16px; max-width: 760px; color: #0b1f3a; font-size: 54px; line-height: 1.02; letter-spacing: 0; }
.premium-hero__copy p { margin: 0 0 24px; max-width: 680px; color: #526071; font-size: 18px; }
.premium-search { display: grid; gap: 10px; max-width: 820px; padding: 12px; border: 1px solid #d6e0ea; border-radius: 8px; background: #fff; box-shadow: 0 18px 44px rgba(11,31,58,.10); }
.premium-search__tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.premium-search__tabs span { display: inline-flex; align-items: center; min-height: 30px; padding: 0 10px; border-radius: 6px; color: #0b1f3a; background: #edf3f8; font-size: 12px; font-weight: 900; }
.premium-search__line { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(160px, .75fr) auto; gap: 8px; }
.premium-search input, .catalog-quick-search input, .admin-editor input, .admin-editor textarea, .admin-editor select, .product-form--premium input, .product-form--premium textarea, .product-form--premium select {
    width: 100%; min-height: 46px; border: 1px solid #d6e0ea; border-radius: 8px; padding: 0 12px; background: #fff; outline: 0;
}
.premium-search textarea, .admin-editor textarea, .product-form--premium textarea { padding-top: 10px; resize: vertical; }
.premium-search small { color: #667085; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.premium-hero__visual { position: relative; min-height: 470px; display: grid; place-items: center; }
.premium-hero__visual img { width: 100%; max-height: 520px; object-fit: contain; filter: drop-shadow(0 28px 44px rgba(11,31,58,.20)); }
.hero-stock-card { position: absolute; right: 0; bottom: 24px; width: min(280px, 70%); display: grid; gap: 4px; padding: 16px; border: 1px solid #d9e4ee; border-radius: 8px; background: rgba(255,255,255,.94); box-shadow: 0 18px 40px rgba(11,31,58,.13); }
.hero-stock-card span { color: #0f766e; font-size: 12px; font-weight: 900; text-transform: uppercase; }
.hero-stock-card strong { color: #0b1f3a; font-size: 18px; }
.hero-stock-card small { color: #667085; }
.fitment-band { margin-top: -34px; position: relative; z-index: 4; }
.fitment-band__inner { display: grid; grid-template-columns: .82fr 1.18fr; gap: 18px; align-items: center; padding: 20px; border: 1px solid #d9e4ee; border-radius: 8px; background: #fff; box-shadow: 0 18px 44px rgba(11,31,58,.10); }
.fitment-band h2 { margin: 4px 0 0; color: #0b1f3a; font-size: 26px; line-height: 1.15; }
.fitment-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 10px; }
.fitment-form select { min-height: 46px; border: 1px solid #d6e0ea; border-radius: 8px; padding: 0 12px; background: #fff; }
.section--tight { padding-top: 22px; }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.trust-card { min-height: 136px; display: grid; gap: 8px; align-content: start; padding: 18px; border: 1px solid #dce6ef; border-radius: 8px; background: #fff; }
.trust-card span { width: 34px; height: 4px; border-radius: 999px; background: #0f766e; }
.trust-card strong { color: #0b1f3a; font-size: 17px; }
.trust-card p { margin: 0; color: #667085; }
.promo-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.promo-card { min-height: 188px; display: grid; align-content: center; gap: 8px; padding: 24px; border-radius: 8px; color: #fff; background: linear-gradient(135deg, #10243d, #155e75); }
.promo-card:nth-child(2n) { background: linear-gradient(135deg, #182230, #166534); }
.promo-card span { width: max-content; padding: 6px 9px; border-radius: 6px; background: rgba(255,255,255,.14); font-size: 12px; font-weight: 900; }
.promo-card strong { font-size: 26px; line-height: 1.12; }
.promo-card p { margin: 0; max-width: 560px; color: #dce8f3; }
.category-grid--premium .category-tile--premium { min-height: 178px; border-color: #dce6ef; box-shadow: 0 8px 24px rgba(11,31,58,.05); }
.category-tile--premium:hover { border-color: #0f766e; }
.product-rail--premium { grid-auto-columns: minmax(258px, 1fr); }
.product-card--premium { border-color: #dce6ef; border-radius: 8px; box-shadow: 0 8px 22px rgba(11,31,58,.04); }
.product-card--premium .product-card__media { background: linear-gradient(180deg, #fff, #eef4f8); }
.stock-badge { position: absolute; right: 10px; top: 10px; padding: 5px 8px; border-radius: 6px; color: #075e43; background: #e8f7f1; font-size: 12px; font-weight: 900; }
.stock-badge--warn { color: #ad5b00; background: #fff7e6; }
.product-card__signals { display: flex; flex-wrap: wrap; gap: 6px; }
.product-card__signals span { padding: 5px 7px; border-radius: 6px; color: #344054; background: #eef3f8; font-size: 12px; font-weight: 800; }
.fitment-result-panel { display: grid; grid-template-columns: .88fr 1.12fr; gap: 24px; align-items: center; padding: 28px; border-radius: 8px; color: #fff; background: linear-gradient(135deg, #0b1f3a, #115e59); }
.fitment-result-panel h2 { margin: 4px 0 8px; color: #fff; font-size: 32px; }
.fitment-result-panel p { color: #d7e5ee; }
.mini-products--light a { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.22); }
.brand-grid--premium a { min-height: 78px; border-color: #dce6ef; box-shadow: 0 8px 22px rgba(11,31,58,.04); }
.catalog-hero { color: #fff; background: linear-gradient(135deg, #0b1f3a, #115e59); }
.catalog-hero__inner { min-height: 230px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 420px); align-items: center; gap: 24px; padding: 34px 0; }
.catalog-hero h1 { margin: 4px 0 8px; color: #fff; font-size: 42px; }
.catalog-hero p { margin: 0; color: #dce8f3; }
.catalog-quick-search { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 10px; border: 1px solid rgba(255,255,255,.18); border-radius: 8px; background: rgba(255,255,255,.10); }
.catalog-layout--premium { position: relative; }
.filter-open { display: none; margin-top: 18px; }
.filter-sidebar--premium form, .filter-sidebar--premium .filter-cats { border: 0; box-shadow: 0 10px 28px rgba(11,31,58,.07); }
.filter-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.filter-head button { display: none; border: 0; background: transparent; color: #0b1f3a; font-size: 28px; }
.filter-cats a { display: flex; justify-content: space-between; gap: 10px; padding: 9px 0; border-bottom: 1px solid #edf2f7; }
.filter-cats small { color: #667085; }
.catalog-toolbar--premium { padding: 16px; border: 1px solid #dce6ef; border-radius: 8px; background: #fff; }
.catalog-toolbar--premium div { display: grid; }
.product-grid--premium { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.empty-state--premium { background: #fff; box-shadow: 0 10px 28px rgba(11,31,58,.07); }
.product-detail--premium { padding-top: 8px; }
.product-detail__grid--premium { gap: 42px; }
.product-gallery--premium .product-gallery__main, .product-gallery--premium .product-gallery__thumbs img { border-color: #dce6ef; box-shadow: 0 10px 28px rgba(11,31,58,.06); }
.product-info--premium { padding: 22px; border: 1px solid #dce6ef; border-radius: 8px; background: #fff; box-shadow: 0 10px 28px rgba(11,31,58,.06); }
.spec-list--premium div { background: #f8fbfd; }
.fitment-check { display: grid; gap: 6px; padding: 14px; border: 1px solid #b7e4d1; border-radius: 8px; background: #e8f7f1; }
.fitment-check strong { color: #075e43; }
.fitment-check p { margin: 0; color: #344054; }
.fitment-check a { color: #0b1f3a; font-weight: 900; }
.detail-price small { color: #667085; }
.buy-box--premium .button { min-width: 150px; }
.detail-tabs--premium section { background: #fff; box-shadow: 0 8px 22px rgba(11,31,58,.04); }
.clean-list { margin: 0; padding-left: 18px; color: #526071; }
.cart-layout--premium, .checkout-grid--premium { align-items: start; }
.cart-line--premium, .summary-box--premium, .checkout-form--premium { border: 0; box-shadow: 0 10px 28px rgba(11,31,58,.07); }
.summary-box--premium p { margin: 0; color: #667085; font-size: 14px; }
.checkout-form--premium { padding: 20px; border-radius: 8px; background: #fff; }
.checkout-step { display: flex; align-items: center; gap: 10px; }
.checkout-step span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 999px; color: #fff; background: #0f766e; font-weight: 900; }
.checkout-step h2 { margin: 0; color: #0b1f3a; }
.payment-methods--premium label { border-color: #dce6ef; box-shadow: 0 8px 20px rgba(11,31,58,.04); }
.site-popup { position: fixed; right: 22px; bottom: 22px; z-index: 80; width: min(360px, calc(100% - 32px)); display: none; gap: 8px; padding: 18px; border: 1px solid #dce6ef; border-radius: 8px; background: #fff; box-shadow: 0 24px 70px rgba(11,31,58,.24); }
.site-popup.is-open { display: grid; }
.site-popup button { position: absolute; right: 10px; top: 8px; border: 0; background: transparent; color: #667085; font-size: 24px; }
.site-popup strong { padding-right: 26px; color: #0b1f3a; font-size: 18px; }
.site-popup p { margin: 0; color: #667085; }
.admin-head__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.admin-dashboard-grid--premium { margin-bottom: 18px; }
.campaign-list, .taxonomy-list, .vehicle-admin-grid { display: grid; gap: 10px; }
.campaign-list div, .taxonomy-list div, .vehicle-admin-grid div { display: grid; gap: 4px; padding: 12px; border: 1px solid #dfe8f2; border-radius: 8px; background: #f8fbff; }
.campaign-list strong, .taxonomy-list strong, .vehicle-admin-grid strong { color: #0b1f3a; }
.campaign-list span { width: max-content; padding: 4px 7px; border-radius: 6px; color: #075e43; background: #e8f7f1; font-size: 12px; font-weight: 900; }
.campaign-list small, .taxonomy-list small, .vehicle-admin-grid small { color: #667085; }
.bulk-toolbar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.bulk-toolbar button { min-height: 36px; border: 1px solid #d6e0ea; border-radius: 8px; padding: 0 12px; color: #0b1f3a; background: #fff; font-weight: 800; }
.admin-form-section { display: grid; gap: 14px; padding: 18px 0; border-bottom: 1px solid #e5ecf3; }
.admin-form-section:first-child { padding-top: 0; }
.admin-form-section h2 { margin: 0; color: #0b1f3a; }
.admin-editor label, .product-form--premium label { display: grid; gap: 6px; color: #0b1f3a; font-weight: 800; }
.repeat-grid { display: grid; gap: 10px; }
.repeat-row { display: grid; grid-template-columns: minmax(160px, .45fr) minmax(0, 1fr); gap: 10px; }
.repeat-row--four { grid-template-columns: minmax(150px, .75fr) minmax(220px, 1fr) minmax(100px, .45fr) minmax(120px, .45fr); }
.form-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.role-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.role-grid article { display: grid; gap: 10px; padding: 16px; border: 1px solid #dfe8f2; border-radius: 8px; background: #f8fbff; }
.role-grid strong { color: #0b1f3a; font-size: 18px; }
.role-grid p { margin: 0; color: #667085; }
.role-grid div { display: flex; flex-wrap: wrap; gap: 6px; }
.role-grid span { padding: 5px 7px; border-radius: 6px; background: #e8f7f1; color: #075e43; font-size: 12px; font-weight: 900; }
.order-kanban { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 16px; }
.order-kanban div { display: grid; gap: 3px; padding: 14px; border: 1px solid #dfe8f2; border-radius: 8px; background: #f8fbff; }
.order-kanban span { color: #667085; }
.order-kanban strong { color: #0b1f3a; font-size: 24px; }

@media (max-width: 1080px) {
    .header-main { grid-template-columns: auto 1fr auto; gap: 12px; }
    .header-main--oyp { grid-template-columns: auto minmax(260px, 1fr) auto; }
    .location-action { display: none !important; }
    .brand__text { display: none; }
    .header-action span { display: none; }
    .header-actions--oyp .header-action { min-width: 54px; grid-template-columns: 1fr; justify-items: center; }
    .header-actions--oyp .header-action span { display: none; }
    .vehicle-mega { grid-template-columns: 190px minmax(0, 1fr); }
    .vehicle-mega__promo { display: none; }
    .vehicle-model-grid { grid-template-columns: repeat(3, 1fr); }
    .mega-grid--parts, .category-grid, .brand-grid { grid-template-columns: repeat(3, 1fr); }
    .mega-grid--vehicles { grid-template-columns: repeat(3, 1fr); }
    .hero__grid, .vehicle-finder__inner, .split-panel, .product-detail__grid { grid-template-columns: 1fr; }
    .hero__grid { min-height: auto; }
    .hero__copy h1 { font-size: 40px; }
    .vehicle-select { grid-template-columns: repeat(2, 1fr); }
    .catalog-layout, .cart-layout, .checkout-grid, .garage-grid, .contact-grid { grid-template-columns: 1fr; }
    .filter-sidebar, .summary-box { position: static; }
    .product-grid { grid-template-columns: repeat(2, 1fr); }
    .detail-tabs, .footer-grid { grid-template-columns: repeat(2, 1fr); }
    .admin-dashboard-grid, .admin-db-grid, .admin-login-card { grid-template-columns: 1fr; }
    .admin-login-card__visual { min-height: 260px; }
    .premium-hero__grid, .fitment-band__inner, .catalog-hero__inner, .fitment-result-panel, .product-detail__grid--premium { grid-template-columns: 1fr; }
    .premium-hero__grid { min-height: auto; }
    .premium-hero__copy h1 { font-size: 44px; }
    .fitment-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .trust-grid, .order-kanban { grid-template-columns: repeat(2, 1fr); }
    .product-grid--premium, .role-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .repeat-row--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    body { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
    .container { width: min(100% - 24px, 1180px); }
    .top-strip, .b4b-strip { display: none; }
    .site-header { top: 0; }
    .header-main, .header-main--oyp { min-height: 66px; grid-template-columns: auto 1fr auto; }
    .mobile-menu-toggle { display: grid; }
    .brand--oyp .brand__mark { width: 44px; height: 44px; }
    .search-bar { grid-column: 1 / -1; order: 4; margin-bottom: 12px; }
    .search-bar--oyp { grid-template-columns: 1fr 76px; }
    .search-bar--oyp input { height: 46px; padding: 0 12px; }
    .search-bar--oyp button { font-size: 12px; }
    .header-actions { gap: 2px; }
    .header-action, .header-actions--oyp .header-action { min-width: 44px; min-height: 44px; padding: 0; }
    .nav-row { display: none; }
    .mega-panel, .mini-cart { display: none !important; }
    .hero__grid { padding: 26px 0 46px; gap: 18px; }
    .hero__copy h1 { font-size: 34px; }
    .hero__copy p { font-size: 16px; }
    .hero__visual { min-height: 260px; }
    .vin-search > div { grid-template-columns: 1fr 46px; }
    .vin-search .button { grid-column: 1 / -1; }
    .vehicle-finder { margin-top: -18px; }
    .vehicle-finder__inner { padding: 16px; }
    .vehicle-select, .category-grid, .brand-grid, .product-grid, .product-grid--compact, .detail-tabs, .filter-row, .form-grid, .payment-methods, .footer-grid, .info-grid, .admin-stats { grid-template-columns: 1fr; }
    .product-rail { grid-auto-columns: minmax(230px, 82vw); }
    .section { padding: 42px 0; }
    .section__head { align-items: start; }
    .page-hero--compact { padding: 34px 0; }
    .page-hero h1, .product-info h1 { font-size: 30px; }
    .spec-list--inline { grid-template-columns: 1fr; }
    .buy-box { display: grid; }
    .buy-box label { width: 100%; }
    .cart-line { grid-template-columns: 70px 1fr 70px 36px; }
    .cart-line img { width: 70px; height: 70px; }
    .cart-line strong { grid-column: 2 / 4; }
    .account-grid { grid-template-columns: 1fr; }
    .bottom-nav { display: grid; }
    .site-footer { padding-bottom: 96px; }
    .admin-body { grid-template-columns: 1fr; }
    .admin-sidebar { position: static; height: auto; }
    .admin-nav { grid-template-columns: repeat(2, 1fr); }
    .admin-topbar, .admin-head { align-items: stretch; flex-direction: column; }
    .admin-user { justify-items: start; }
    .admin-main { padding: 18px; }
    .admin-head--hero h1 { font-size: 28px; }
    .quick-actions--grid { grid-template-columns: 1fr; }
    .admin-login-main { padding: 14px; }
    .admin-login-card__visual, .admin-login-card__form { padding: 24px; }
    .premium-hero__grid { padding: 28px 0 52px; }
    .premium-hero__copy h1 { font-size: 34px; }
    .premium-search__line, .fitment-form, .promo-grid, .trust-grid, .product-grid--premium, .fitment-result-panel, .catalog-hero__inner, .role-grid, .order-kanban, .repeat-row, .repeat-row--four { grid-template-columns: 1fr; }
    .premium-hero__visual { min-height: 280px; }
    .hero-stock-card { position: static; width: 100%; margin-top: 10px; }
    .fitment-band { margin-top: -22px; }
    .fitment-band__inner { padding: 16px; }
    .fitment-band h2, .promo-card strong, .fitment-result-panel h2 { font-size: 24px; }
    .catalog-hero h1 { font-size: 32px; }
    .catalog-quick-search { grid-template-columns: 1fr; }
    .filter-open { display: inline-flex; }
    .filter-sidebar--premium { position: fixed; inset: 0 0 0 auto; z-index: 75; width: min(92vw, 380px); display: none; overflow: auto; padding: 14px; background: #f6f9fc; box-shadow: -18px 0 48px rgba(11,31,58,.18); }
    .filter-sidebar--premium.is-open { display: grid; align-content: start; }
    .filter-head button { display: block; }
    .product-info--premium { padding: 16px; }
    .site-popup { right: 12px; bottom: calc(84px + env(safe-area-inset-bottom)); }
}

/* Frontend visual refresh */
:root {
    --premium-ink: #101828;
    --premium-muted: #667085;
    --premium-line: #e4e7ec;
    --premium-bg: #f7f9fc;
    --premium-accent: #e8590c;
    --premium-green: #0f766e;
    --premium-blue: #123c69;
}

body:not(.admin-body) {
    color: var(--premium-ink);
    background: var(--premium-bg);
}

.b4b-strip {
    background: #0b1220;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.b4b-strip strong {
    color: #fff;
    background: #1f2937;
}

.b4b-strip a {
    background: var(--premium-accent);
}

.site-header {
    background: rgba(255,255,255,.98);
    border-bottom: 1px solid var(--premium-line);
    box-shadow: 0 10px 30px rgba(16, 24, 40, .07);
}

.header-main--oyp {
    min-height: 78px;
    grid-template-columns: auto minmax(320px, 1fr) auto;
}

.brand--oyp .brand__mark {
    background: #111827;
    box-shadow: inset 0 -4px 0 var(--premium-accent);
}

.brand--oyp .brand__text strong {
    color: #111827;
}

.search-bar--oyp {
    overflow: visible;
    border: 1px solid #d0d5dd;
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(16,24,40,.05);
}

.search-bar--oyp input {
    height: 48px;
}

.search-bar--oyp button {
    background: var(--premium-accent);
    border-radius: 0 7px 7px 0;
}

.header-actions--oyp .header-action {
    border-color: #eaecf0;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(16,24,40,.04);
}

.header-actions--oyp .header-action:hover {
    border-color: #f2a56c;
    background: #fff7ed;
}

.nav-row--visual {
    min-height: 52px;
    background: #fff;
    border-top: 1px solid #f0f2f5;
    border-bottom: 1px solid #eaecf0;
}

.nav-row--visual .nav-row__inner {
    min-height: 52px;
    gap: 8px;
    overflow: visible;
}

.nav-row--visual .nav-link {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    border-radius: 8px;
    padding: 0 12px;
    color: #1d2939;
    background: transparent;
    font-size: 14px;
    font-weight: 900;
    white-space: nowrap;
}

.nav-row--visual .nav-link:hover,
.nav-row--visual .nav-link.is-active {
    color: #111827;
    background: #fff4eb;
    box-shadow: inset 0 -2px 0 var(--premium-accent);
}

.nav-row--visual .nav-link--managed {
    color: #475467;
    background: transparent;
}

.nav-row--visual .nav-link--quote {
    margin-left: auto;
    color: #fff;
    background: #111827;
}

.nav-row--visual .nav-link--quote:hover {
    color: #fff;
    background: var(--premium-accent);
}

.mega-panel--visual {
    top: 100%;
    padding: 18px 0;
    background: rgba(247,249,252,.94);
    border: 0;
    box-shadow: 0 28px 70px rgba(16,24,40,.18);
    backdrop-filter: blur(12px);
}

.image-mega {
    min-height: 410px;
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr) 230px;
    gap: 16px;
    padding: 16px;
    border: 1px solid #e4e7ec;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 16px 36px rgba(16,24,40,.08);
}

.image-mega--vehicles {
    grid-template-columns: 220px minmax(0, 1fr) 270px;
}

.image-mega--brands {
    grid-template-columns: 280px minmax(0, 1fr) 250px;
}

.image-mega__feature {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: 12px;
    padding: 18px;
    border-radius: 10px;
    color: #fff;
    background: linear-gradient(145deg, #111827, #123c69);
}

.image-mega__feature--dark {
    background: linear-gradient(145deg, #102a43, #0f766e);
}

.image-mega__feature img {
    width: 100%;
    height: 150px;
    object-fit: contain;
    border-radius: 8px;
    background: rgba(255,255,255,.10);
}

.image-mega__feature span {
    color: #fed7aa;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.image-mega__feature strong {
    font-size: 22px;
    line-height: 1.12;
}

.image-mega__feature a {
    width: max-content;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    border-radius: 8px;
    padding: 0 12px;
    color: #111827;
    background: #fff;
    font-weight: 900;
}

.image-mega__main {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: 14px;
}

.image-mega__head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 16px;
}

.image-mega__head h3 {
    margin: 3px 0 0;
    color: #111827;
    font-size: 24px;
    line-height: 1.12;
}

.image-mega__head a {
    color: var(--premium-accent);
    font-weight: 900;
}

.image-mega__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.image-mega-card {
    min-height: 142px;
    display: grid;
    align-content: center;
    justify-items: start;
    gap: 8px;
    padding: 14px;
    border: 1px solid #e4e7ec;
    border-radius: 10px;
    background: linear-gradient(180deg, #fff, #f8fafc);
}

.image-mega-card:hover,
.vehicle-model-card--visual:hover,
.image-mega__brand-grid a:hover {
    border-color: #fb923c;
    box-shadow: 0 14px 30px rgba(16,24,40,.10);
    transform: translateY(-1px);
}

.image-mega-card img {
    width: 76px;
    height: 58px;
    object-fit: contain;
}

.image-mega-card span {
    color: #111827;
    font-weight: 900;
}

.image-mega-card small {
    color: var(--premium-muted);
}

.image-mega__side {
    display: grid;
    align-content: start;
    gap: 8px;
    padding: 16px;
    border: 1px solid #e4e7ec;
    border-radius: 10px;
    background: #f8fafc;
}

.image-mega__side strong {
    margin-bottom: 4px;
    color: #111827;
}

.image-mega__side a {
    min-height: 38px;
    display: flex;
    align-items: center;
    border-radius: 8px;
    padding: 0 10px;
    color: #344054;
    background: #fff;
    font-weight: 800;
}

.image-mega__side a:hover {
    color: #fff;
    background: var(--premium-green);
}

.image-mega__brand-list {
    max-height: 380px;
    border: 1px solid #e4e7ec;
    border-radius: 10px;
    background: #f8fafc;
}

.image-mega__brand-list button {
    min-height: 36px;
    border-radius: 8px;
}

.image-mega__brand-list button:hover,
.image-mega__brand-list button.is-active {
    background: #111827;
}

.image-mega__vehicle-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.vehicle-model-card--visual {
    min-height: 142px;
    align-content: center;
    border-color: #e4e7ec;
    border-radius: 10px;
    background: #fff;
}

.vehicle-model-card--visual img {
    width: 102px;
    height: 58px;
}

.vehicle-model-card--visual small {
    color: var(--premium-muted);
    font-weight: 700;
}

.image-mega__brand-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.image-mega__brand-grid a {
    min-height: 104px;
    display: grid;
    place-items: center;
    gap: 4px;
    padding: 12px;
    border: 1px solid #e4e7ec;
    border-radius: 10px;
    background: #fff;
    text-align: center;
}

.image-mega__brand-grid strong {
    color: #111827;
    font-size: 20px;
}

.image-mega__brand-grid span {
    color: var(--premium-muted);
    font-size: 13px;
    font-weight: 800;
}

.premium-hero {
    background:
        linear-gradient(120deg, rgba(17,24,39,.96), rgba(18,60,105,.88) 54%, rgba(15,118,110,.82)),
        #111827;
}

.premium-hero__copy h1,
.premium-hero__copy p {
    color: #fff;
}

.premium-hero__copy p {
    color: #dbe5ef;
}

.premium-hero .eyebrow {
    color: #fed7aa;
}

.premium-search {
    border-color: rgba(255,255,255,.20);
    background: rgba(255,255,255,.96);
}

.premium-hero__visual {
    min-height: 500px;
}

.premium-hero__visual::before {
    content: "";
    position: absolute;
    inset: 10% 2% 8%;
    border-radius: 10px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.18);
}

.premium-hero__visual img {
    position: relative;
    z-index: 1;
}

.hero-stock-card {
    z-index: 2;
    border-radius: 10px;
}

.section {
    background: #fff;
}

.section--soft {
    background: #f6f8fb;
}

.category-tile--premium,
.product-card--premium,
.trust-card,
.brand-grid--premium a {
    border-radius: 10px;
}

@media (max-width: 1080px) {
    .image-mega,
    .image-mega--vehicles,
    .image-mega--brands {
        grid-template-columns: 210px minmax(0, 1fr);
    }

    .image-mega__feature,
    .image-mega__side {
        display: none;
    }

    .image-mega__grid,
    .image-mega__brand-grid,
    .image-mega__vehicle-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .site-header {
        box-shadow: 0 8px 22px rgba(16,24,40,.08);
    }

    .nav-row--visual,
    .mega-panel--visual {
        display: none !important;
    }

    .premium-hero {
        background: linear-gradient(145deg, #111827, #123c69);
    }
}
