/* ===================================================================
   Jamaica Auto Parts — Direction B: CLEAN BRIGHT
   White + electric blue + sunset orange. Marketplace catalog feel.
   =================================================================== */

:root{
  --bg: #FFFFFF;
  --panel: #F5F7FA;
  --panel-2: #EEF2F7;
  --line: #E5E9F0;
  --line-2: #D1D5E0;
  --text: #0F172A;
  --muted: #64748B;
  --muted-2: #94A3B8;
  --blue: #0B5FFF;
  --blue-dim: #094AE0;
  --orange: #FF5A1F;
  --ok: #059669;
  --warn: #DC2626;

  --f-display: 'Inter Display', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --f-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  --shadow: 0 1px 2px rgba(15,23,42,.04), 0 8px 24px rgba(15,23,42,.06);
  --shadow-blue: 0 0 0 1px rgba(11,95,255,.2), 0 12px 32px -8px rgba(11,95,255,.15);
  --radius: 10px;
  --radius-sm: 8px;
  --transition: .18s cubic-bezier(.4,0,.2,1);
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ background:var(--bg); }
body{ font-family:var(--f-body); font-size:15px; line-height:1.55; color:var(--text); background:
  radial-gradient(circle at 10% 20%, rgba(11,95,255,.04), transparent 35%),
  radial-gradient(circle at 95% 80%, rgba(255,90,31,.02), transparent 40%),
  var(--bg);
  min-height:100vh; overflow-x:hidden;
}
img, svg{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
input, select, textarea{ font:inherit; color:inherit; }

.wrap{ max-width:1240px; margin:0 auto; padding:0 24px; }
.eyebrow{ font-family:var(--f-body); font-weight:600; font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; color:var(--blue); display:inline-flex; align-items:center; gap:8px; }
.eyebrow::before{ content:''; width:20px; height:2px; background:var(--blue); display:inline-block; }
.h-xl{ font-family:var(--f-display); font-weight:700; font-size:clamp(2.8rem, 5.5vw, 4.6rem); line-height:.95; letter-spacing:-0.02em; color:var(--text); text-transform:none; }
.h-lg{ font-family:var(--f-display); font-weight:700; font-size:clamp(2rem, 3.4vw, 2.8rem); line-height:1; letter-spacing:-0.01em; text-transform:none; }
.h-md{ font-family:var(--f-body); font-weight:700; font-size:1.35rem; line-height:1.15; text-transform:none; letter-spacing:-0.005em; }
.h-sm{ font-family:var(--f-body); font-weight:600; font-size:1.05rem; line-height:1.2; text-transform:none; letter-spacing:normal; }
.lead{ color:var(--muted); font-size:1.05rem; max-width:60ch; }
.muted{ color:var(--muted); }
.text-blue{ color:var(--blue); }
.mt-1{ margin-top:8px; } .mt-2{ margin-top:16px; } .mt-3{ margin-top:24px; } .mt-4{ margin-top:36px; } .mt-5{ margin-top:52px; }

/* ===== NAV ===== */
.nav{ position:sticky; top:0; z-index:80; background:#FFFFFF; border-bottom:1px solid var(--line); }
.nav .wrap{ display:grid; grid-template-columns:auto 1fr auto; gap:24px; align-items:center; padding-top:12px; padding-bottom:12px; }
.nav-logo{ display:flex; align-items:center; gap:10px; }
.nav-logo svg{ width:36px; height:36px; }
.nav-logo b{ font-family:var(--f-display); font-size:1.4rem; letter-spacing:-0.01em; line-height:1; text-transform:none; color:var(--text); font-weight:700; }
.nav-logo span{ display:block; font-family:var(--f-body); font-size:.68rem; letter-spacing:.12em; color:var(--muted); text-transform:uppercase; margin-top:2px; font-weight:600; }
.nav-mid{ display:flex; justify-content:center; }
.veh-chip{ display:inline-flex; align-items:center; gap:10px; padding:8px 14px 8px 12px; border:1px solid var(--line); background:#FFFFFF; border-radius:999px; font-family:var(--f-body); font-weight:600; letter-spacing:.04em; text-transform:uppercase; font-size:.82rem; color:var(--muted); }
.veh-chip svg{ width:20px; height:20px; color:var(--blue); }
.veh-chip button{ font:inherit; color:var(--blue); border-bottom:1px solid var(--blue); padding:0; }
.veh-chip.set{ border-color:var(--blue); background:rgba(11,95,255,.05); color:var(--text); }
.veh-chip.set svg{ color:var(--blue); }
.veh-chip.set > span{ color:var(--text); }
.veh-chip.set [data-clear-veh]{ display:inline-flex; align-items:center; opacity:.6; margin-left:2px; }
.veh-chip.set [data-clear-veh] svg{ width:14px; height:14px; }
.nav-links{ display:flex; align-items:center; gap:18px; }
.nav-links a{ font-family:var(--f-body); font-weight:600; letter-spacing:.04em; text-transform:uppercase; font-size:.86rem; color:var(--muted); }
.nav-links a:hover{ color:var(--text); }
.cur-toggle{ display:inline-flex; border:1px solid var(--line); border-radius:999px; overflow:hidden; }
.cur-toggle button{ padding:6px 12px; font-family:var(--f-body); font-weight:700; font-size:.75rem; letter-spacing:.08em; color:var(--muted); text-transform:uppercase; }
.cur-toggle button.on{ background:var(--blue); color:#FFFFFF; }
.cart-btn{ position:relative; display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border:1px solid var(--line); border-radius:999px; }
.cart-btn svg{ width:18px; height:18px; }
.cart-btn [data-cart-count]{ font-family:var(--f-body); font-weight:700; font-size:.85rem; min-width:1.2em; text-align:center; }
.cart-btn [data-cart-count].has{ color:var(--blue); }

@media (max-width:960px){
  .nav .wrap{ grid-template-columns:auto 1fr; }
  .nav-mid{ order:3; grid-column:1/-1; justify-content:flex-start; padding-top:8px; border-top:1px solid var(--line); margin-top:6px; }
  .nav-links{ display:none; }
}

/* ===== BUTTONS ===== */
.btn{ display:inline-flex; align-items:center; gap:10px; padding:12px 22px; border-radius:var(--radius-sm); font-family:var(--f-body); font-weight:700; letter-spacing:.04em; text-transform:none; font-size:.88rem; transition:var(--transition); border:1px solid transparent; cursor:pointer; white-space:nowrap; }
.btn svg{ width:16px; height:16px; }
.btn-primary{ background:var(--blue); color:#FFFFFF; border-color:var(--blue); box-shadow:0 4px 12px -4px rgba(11,95,255,.3); }
.btn-primary:hover{ background:var(--blue-dim); transform:translateY(-1px); }
.btn-ghost{ background:transparent; color:var(--text); border-color:var(--line-2); }
.btn-ghost:hover{ border-color:var(--blue); color:var(--blue); }
.btn-lg{ padding:16px 28px; font-size:.94rem; }
.btn-sm{ padding:8px 14px; font-size:.78rem; }
.btn-block{ width:100%; justify-content:center; }

/* ===== HERO ===== */
.hero{ position:relative; padding:44px 0 30px; overflow:hidden; border-bottom:1px solid var(--line); }
.hero::before{ content:''; position:absolute; inset:0; background:
  linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(11,95,255,.02) 100%),
  radial-gradient(circle at 50% 0%, rgba(11,95,255,.08), transparent 50%);
  pointer-events:none; z-index:0;
}
.hero .wrap{ position:relative; z-index:1; }
.hero-grid{ display:grid; grid-template-columns:1.1fr .9fr; grid-template-areas:"head vsel" "stock stock"; gap:26px 56px; align-items:center; }
.hero-head{ grid-area:head; }
.hero-head .eyebrow{ margin-bottom:20px; }
.hero-head h1{ margin-bottom:22px; }
.hero-head h1 .accent{ color:var(--blue); position:relative; display:inline-block; }
.hero-head h1 .accent::after{ content:''; position:absolute; left:0; right:0; bottom:.08em; height:.12em; background:var(--blue); opacity:.16; z-index:-1; }
.hero-head p{ font-size:1.1rem; color:var(--muted); max-width:52ch; margin-bottom:34px; }
.hero-cta{ display:flex; gap:14px; flex-wrap:wrap; }
.hero-vsel{ grid-area:vsel; position:relative; padding:28px; border:1px solid var(--line); background:#FFFFFF; border-radius:var(--radius); box-shadow:var(--shadow); }
.hero-vsel::before{ content:'STEP 1'; position:absolute; top:-11px; left:22px; background:var(--blue); color:#FFFFFF; font-family:var(--f-body); font-weight:700; font-size:.72rem; letter-spacing:.14em; padding:4px 10px; border-radius:4px; }
.hero-vsel .h-md{ margin-bottom:14px; }
.vsel-row{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:14px; }
.vsel-row label{ display:block; font-family:var(--f-body); font-weight:600; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:6px; }
.vsel-row select, .vsel-row input{ width:100%; padding:12px 12px; background:#F5F7FA; border:1px solid var(--line); border-radius:var(--radius-sm); color:var(--text); appearance:none; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230B5FFF' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>"); background-repeat:no-repeat; background-position:right 12px center; padding-right:36px; }
.vsel-row select:focus, .vsel-row input:focus{ outline:0; border-color:var(--blue); }
.hero-vsel .btn{ margin-top:18px; width:100%; justify-content:center; }
.hero-stats{ display:flex; gap:36px; margin-top:26px; padding-top:18px; border-top:1px solid var(--line); }
.hero-stats strong{ display:block; font-family:var(--f-display); font-size:2.2rem; color:var(--blue); line-height:1; margin-bottom:4px; }
.hero-stats span{ font-family:var(--f-body); font-weight:600; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }

.hero-products{ grid-area:stock; padding-top:22px; border-top:1px solid var(--line); }
.hero-products-head{ display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:12px; }
.hero-products-head > div{ display:flex; align-items:baseline; gap:12px; }
.hero-products-head .eyebrow{ margin:0; }
.hero-products-head strong{ font-family:var(--f-body); font-size:1.05rem; }
.hero-products-head > a{ color:var(--blue); font-weight:700; font-size:.78rem; }
.mini-parts{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.mini-part{ display:grid; grid-template-columns:92px 1fr; min-width:0; background:#FFFFFF; border:1px solid var(--line); border-radius:var(--radius-sm); overflow:hidden; transition:var(--transition); color:var(--text); box-shadow:var(--shadow); }
.mini-part:hover{ border-color:var(--blue); transform:translateY(-2px); box-shadow:var(--shadow-blue); }
.mini-thumb{ display:flex; align-items:center; justify-content:center; min-height:120px; color:#334155; background:linear-gradient(135deg,#F5F7FA,#EEF2F7); border-right:1px solid var(--line); }
.mini-thumb .pi-svg{ width:86%; height:auto; }
.mini-body{ min-width:0; padding:10px; display:flex; flex-direction:column; }
.mini-condition{ color:var(--muted); font-size:.62rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mini-name{ margin-top:3px; font-size:.86rem; font-weight:700; line-height:1.08; }
.mini-desc{ color:var(--muted); font-size:.68rem; line-height:1.25; margin-top:4px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.mini-foot{ display:flex; align-items:end; justify-content:space-between; gap:6px; margin-top:auto; padding-top:6px; }
.mini-price{ color:var(--blue); font-family:var(--f-display); font-size:.95rem; font-weight:700; line-height:1; }
.mini-add{ display:inline-flex; align-items:center; gap:3px; color:var(--text); background:#FFFFFF; border:1px solid var(--line); border-radius:4px; padding:5px 7px; font-size:.62rem; font-weight:700; text-transform:uppercase; }
.mini-add svg{ width:11px; height:11px; }
.mini-add:hover{ background:var(--blue); border-color:var(--blue); color:#FFFFFF; }
@media (max-width:1100px){ .mini-parts{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:960px){ .hero-grid{ grid-template-columns:1fr; grid-template-areas:"head" "stock" "vsel"; gap:30px; } }
@media (max-width:560px){ .hero{ padding-top:34px; } .hero-grid,.hero-head,.hero-products,.hero-vsel{ min-width:0; } .hero-head p{ font-size:1rem; overflow-wrap:anywhere; } .hero-cta{ display:grid; grid-template-columns:1fr 1fr; gap:8px; } .hero-cta .btn{ justify-content:center; min-width:0; padding:13px 7px; font-size:.72rem; } .hero-stats{ display:none; } .hero-products-head{ align-items:flex-start; } .hero-products-head > div{ display:block; } .hero-products-head strong{ display:block; margin-top:5px; } .hero-products-head > a{ display:none; } .mini-parts{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px; } .mini-part{ flex:0 0 86%; scroll-snap-align:start; } }

/* ===== SECTIONS ===== */
.section{ padding:80px 0; border-bottom:1px solid var(--line); }
.section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:36px; }
.section-head p{ color:var(--muted); margin-top:8px; }

.grid{ display:grid; gap:16px; }
.grid-2{ grid-template-columns:repeat(2, 1fr); }
.grid-3{ grid-template-columns:repeat(3, 1fr); }
.grid-4{ grid-template-columns:repeat(4, 1fr); }
.grid-5{ grid-template-columns:repeat(5, 1fr); }
@media (max-width:900px){ .grid-3, .grid-4, .grid-5{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width:560px){ .grid-2, .grid-3, .grid-4, .grid-5{ grid-template-columns:1fr; } }
@media (max-width:560px){ .section-head{ align-items:flex-start; flex-direction:column; } }

.panel{ background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:28px; }

/* ===== CATEGORY CARDS ===== */
.cat-card{ display:flex; align-items:center; gap:16px; padding:20px; background:#FFFFFF; border:1px solid var(--line); border-radius:var(--radius); transition:var(--transition); position:relative; }
.cat-card:hover{ border-color:var(--blue); transform:translateY(-3px); box-shadow:var(--shadow-blue); }
.cat-icon{ width:56px; height:56px; flex:0 0 56px; border-radius:var(--radius-sm); background:rgba(11,95,255,.08); border:1px solid rgba(11,95,255,.16); display:flex; align-items:center; justify-content:center; color:var(--blue); }
.cat-icon svg{ width:26px; height:26px; }
.cat-body{ flex:1; min-width:0; }
.cat-name{ font-family:var(--f-body); font-weight:700; font-size:1.05rem; text-transform:none; letter-spacing:normal; line-height:1.1; }
.cat-subs{ font-size:.82rem; color:var(--muted); margin-top:6px; }
.cat-count{ display:inline-block; margin-top:8px; font-family:var(--f-body); font-weight:700; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--blue); padding:2px 8px; background:rgba(11,95,255,.08); border:1px solid rgba(11,95,255,.16); border-radius:4px; }
.cat-go{ display:inline-flex; color:var(--muted); }
.cat-go svg{ width:18px; height:18px; }
.cat-card:hover .cat-go{ color:var(--blue); transform:translateX(2px); }

/* ===== PART CARDS ===== */
.part-card{ display:flex; flex-direction:column; background:#FFFFFF; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; transition:var(--transition); position:relative; box-shadow:var(--shadow); text-decoration:none; color:inherit; }
.part-card:hover{ border-color:var(--blue); transform:translateY(-2px); box-shadow:var(--shadow-blue); }
.part-thumb{ aspect-ratio:4/3; position:relative; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg, #F5F7FA 0%, #EEF2F7 100%); border-bottom:1px solid var(--line); overflow:hidden; color:#334155; }
.part-thumb::before{ content:''; position:absolute; inset:0; background-image:
  linear-gradient(90deg, rgba(11,95,255,.03) 1px, transparent 1px),
  linear-gradient(rgba(11,95,255,.03) 1px, transparent 1px);
  background-size:20px 20px; opacity:.6; z-index:0;
}
.part-thumb .pi-svg{ position:relative; z-index:1; width:78%; height:78%; opacity:.9; }
.part-card:hover .part-thumb .pi-svg{ color:var(--blue); opacity:1; }
.thumb-sku{ position:absolute; z-index:2; bottom:8px; right:8px; font-family:var(--f-body); font-weight:700; font-size:.7rem; color:var(--muted); letter-spacing:.06em; padding:3px 8px; border:1px solid var(--line); background:#FFFFFF; border-radius:4px; }
.ribbon{ position:absolute; z-index:3; top:10px; left:10px; padding:4px 10px; font-family:var(--f-body); font-weight:800; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; border-radius:6px; }
.ribbon.hot{ background:var(--warn); color:#fff; }
.ribbon.warm{ background:var(--orange); color:#fff; }
.ribbon.cool{ background:var(--blue); color:#fff; }
.part-rating{ display:flex; align-items:center; gap:8px; font-size:.82rem; }
.stars-glyphs{ color:var(--orange); font-size:.95rem; letter-spacing:2px; line-height:1; }
.stars-count{ color:var(--muted); font-family:var(--f-body); font-size:.78rem; }
.part-body{ padding:16px 18px 18px; display:flex; flex-direction:column; gap:10px; flex:1; }
.fit-badge{ display:inline-flex; align-items:center; gap:6px; font-family:var(--f-body); font-weight:700; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); padding:4px 8px; border-radius:4px; background:var(--panel); border:1px solid var(--line); align-self:flex-start; }
.fit-badge svg{ width:12px; height:12px; }
.fit-badge.ok{ color:var(--ok); border-color:rgba(5,150,105,.2); background:rgba(5,150,105,.08); }
.fit-badge.warn{ color:var(--warn); border-color:rgba(220,38,38,.2); background:rgba(220,38,38,.08); }
.fit-badge.universal{ color:var(--muted); border-color:var(--line); }
.fit-badge.spec{ color:var(--blue); border-color:rgba(11,95,255,.2); background:rgba(11,95,255,.06); }
.part-name{ font-family:var(--f-body); font-weight:700; font-size:1.05rem; text-transform:none; letter-spacing:normal; line-height:1.2; color:var(--text); }
.part-desc{ color:var(--muted); font-size:.82rem; line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.part-meta{ display:flex; gap:6px; flex-wrap:wrap; }
.chip{ font-family:var(--f-body); font-weight:600; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); padding:3px 8px; border-radius:4px; background:var(--panel); border:1px solid var(--line); }
.part-foot{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:8px; }
.part-price{ display:flex; flex-direction:column; }
.p-primary{ font-family:var(--f-display); font-size:1.4rem; color:var(--blue); line-height:1; font-weight:700; }
.p-secondary{ font-family:var(--f-body); font-size:.75rem; color:var(--muted); margin-top:2px; }
.btn-add{ display:inline-flex; align-items:center; gap:6px; padding:8px 12px; border:1px solid var(--line); border-radius:var(--radius-sm); color:var(--text); font-family:var(--f-body); font-weight:700; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; transition:var(--transition); background:#FFFFFF; }
.btn-add svg{ width:14px; height:14px; }
.btn-add:hover{ background:var(--blue); color:#FFFFFF; border-color:var(--blue); }
.part-stock{ font-family:var(--f-body); font-weight:600; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); border-top:1px dashed var(--line); padding-top:8px; margin-top:2px; }
.part-stock.ok{ color:var(--ok); }
.part-stock.low{ color:var(--warn); }

/* ===== TRUST STRIP ===== */
.trust{ padding:20px 0; border-top:1px solid var(--line); background:#F5F7FA; }
.trust .wrap{ display:flex; align-items:center; justify-content:center; gap:26px; flex-wrap:wrap; font-family:var(--f-body); font-weight:600; letter-spacing:.08em; text-transform:uppercase; font-size:.8rem; color:var(--muted); }
.trust i{ width:5px; height:5px; border-radius:50%; background:var(--blue); display:inline-block; }

/* ===== FOOTER ===== */
.footer{ background:#F5F7FA; padding:56px 0 24px; border-top:1px solid var(--line); }
.footer-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:36px; }
.f-brand p{ color:var(--muted); margin-top:14px; max-width:32ch; font-size:.94rem; }
.footer h4{ font-family:var(--f-body); font-weight:700; font-size:.85rem; letter-spacing:.1em; text-transform:uppercase; color:var(--blue); margin-bottom:16px; }
.footer ul{ list-style:none; display:flex; flex-direction:column; gap:10px; }
.footer ul li a, .footer ul li{ color:var(--muted); font-size:.94rem; }
.footer ul li a:hover{ color:var(--blue); }
.socials{ display:flex; gap:10px; margin-top:16px; }
.socials a{ width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:50%; color:var(--muted); }
.socials a:hover{ color:var(--blue); border-color:var(--blue); }
.socials svg{ width:16px; height:16px; }
.f-contact li{ display:flex; align-items:flex-start; gap:10px; }
.f-contact li svg{ width:16px; height:16px; flex:0 0 16px; color:var(--blue); margin-top:4px; }
.footer-bar{ display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:44px; padding-top:20px; border-top:1px solid var(--line); font-size:.82rem; color:var(--muted-2); }
.footer-bar a{ color:var(--blue); }
@media (max-width:800px){ .footer-top{ grid-template-columns:1fr 1fr; } .f-brand{ grid-column:1/-1; } }

/* ===== VEHICLE PICKER MODAL ===== */
.veh-modal{ position:fixed; inset:0; z-index:12000; display:flex; align-items:safe center; justify-content:center; overflow-y:auto; overscroll-behavior:contain; padding:24px; animation:fadein .2s ease; }
@keyframes fadein{ from{ opacity:0 } to{ opacity:1 } }
.veh-backdrop{ position:absolute; inset:0; background:rgba(15,23,42,.5); backdrop-filter:blur(4px); }
.veh-panel{ position:relative; flex:0 0 auto; background:#FFFFFF; border:1px solid var(--line); border-radius:var(--radius); padding:36px; max-width:560px; width:100%; max-height:calc(100dvh - 48px); overflow-y:auto; box-shadow:var(--shadow-blue); }
.veh-close{ position:absolute; top:14px; right:14px; width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--muted); }
.veh-close:hover{ color:var(--blue); }
.veh-close svg{ width:20px; height:20px; }
.veh-eyebrow{ font-family:var(--f-body); font-weight:700; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:var(--blue); margin-bottom:8px; }
.veh-title{ font-family:var(--f-display); font-size:2rem; letter-spacing:-0.01em; text-transform:none; line-height:1; margin-bottom:8px; font-weight:700; }
.veh-lead{ color:var(--muted); margin-bottom:22px; }
.veh-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:20px; }
.veh-grid label{ display:block; font-family:var(--f-body); font-weight:600; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:6px; }
.veh-grid .opt{ color:var(--muted-2); text-transform:none; font-weight:400; letter-spacing:normal; font-size:.7rem; }
.veh-grid select{ width:100%; padding:12px; background:var(--panel); border:1px solid var(--line); border-radius:var(--radius-sm); color:var(--text); appearance:none; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230B5FFF' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>"); background-repeat:no-repeat; background-position:right 12px center; padding-right:36px; }
.veh-grid select:disabled{ opacity:.4; cursor:not-allowed; }
.veh-actions{ display:flex; gap:12px; justify-content:flex-end; align-items:center; margin-bottom:14px; }
.veh-fine{ font-size:.8rem; color:var(--muted-2); text-align:center; border-top:1px dashed var(--line); padding-top:14px; }
@media (max-width:520px){ .veh-grid{ grid-template-columns:1fr; } .veh-actions{ flex-direction:column-reverse; } .veh-actions .btn{ width:100%; } }

/* ===== FIND MY PARTS PAGE ===== */
.hero-plain{ padding:52px 0 32px; border-bottom:1px solid var(--line); }
.hero-plain .eyebrow{ margin-bottom:14px; }
.hero-plain h1{ margin-bottom:12px; }
.hero-plain p{ color:var(--muted); max-width:60ch; }

.find-form{ display:grid; grid-template-columns:repeat(4, 1fr) auto; gap:14px; padding:22px; background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); align-items:end; }
.find-form label{ display:block; font-family:var(--f-body); font-weight:600; font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:6px; }
.find-form select{ width:100%; padding:12px; background:#FFFFFF; border:1px solid var(--line); border-radius:var(--radius-sm); color:var(--text); appearance:none; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230B5FFF' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>"); background-repeat:no-repeat; background-position:right 12px center; padding-right:36px; }
@media (max-width:800px){ .find-form{ grid-template-columns:1fr 1fr; } .find-form .btn{ grid-column:1/-1; width:100%; } }

/* ===== CATEGORY / SEARCH LAYOUT ===== */
.catalog{ display:grid; grid-template-columns:280px 1fr; gap:36px; margin-top:36px; }
.filters{ background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:22px; position:sticky; top:104px; align-self:start; }
.filter-group{ padding-bottom:18px; margin-bottom:18px; border-bottom:1px solid var(--line); }
.filter-group:last-child{ border-bottom:0; padding-bottom:0; margin-bottom:0; }
.filter-group h4{ font-family:var(--f-body); font-weight:700; font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; color:var(--blue); margin-bottom:12px; }
.filter-opt{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:6px 0; font-size:.9rem; color:var(--muted); cursor:pointer; }
.filter-opt label{ display:flex; align-items:center; gap:9px; cursor:pointer; flex:1; }
.filter-opt input[type=checkbox]{ appearance:none; width:16px; height:16px; border:1px solid var(--line-2); border-radius:3px; background:#FFFFFF; cursor:pointer; position:relative; flex-shrink:0; }
.filter-opt input[type=checkbox]:checked{ background:var(--blue); border-color:var(--blue); }
.filter-opt input[type=checkbox]:checked::after{ content:'✓'; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#FFFFFF; font-size:12px; font-weight:700; }
.filter-opt .count{ font-family:var(--f-body); font-size:.72rem; color:var(--muted-2); }
.price-range{ display:flex; gap:10px; }
.price-range input{ width:100%; padding:10px; background:#FFFFFF; border:1px solid var(--line); border-radius:var(--radius-sm); color:var(--text); font-size:.9rem; }

.catalog-main .cat-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:14px; margin-bottom:22px; flex-wrap:wrap; }
.cat-head-l h1{ margin-bottom:6px; }
.crumbs{ display:flex; gap:8px; align-items:center; font-family:var(--f-body); font-weight:600; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:12px; }
.crumbs a{ color:var(--muted); }
.crumbs a:hover{ color:var(--blue); }
.crumbs .sep{ color:var(--muted-2); }
.results-count{ color:var(--muted); font-size:.9rem; margin-top:4px; }
.sort{ padding:10px 14px; background:var(--panel); border:1px solid var(--line); border-radius:var(--radius-sm); color:var(--text); }

.sub-chips{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px; }
.sub-chip{ padding:8px 14px; background:var(--panel); border:1px solid var(--line); border-radius:999px; font-family:var(--f-body); font-weight:600; font-size:.78rem; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); cursor:pointer; }
.sub-chip:hover, .sub-chip.on{ background:var(--blue); color:#FFFFFF; border-color:var(--blue); }

@media (max-width:960px){ .catalog{ grid-template-columns:1fr; } .filters{ position:relative; top:0; } }

/* ===== PART DETAIL ===== */
.pdp{ display:grid; grid-template-columns:1.2fr 1fr; gap:44px; margin-top:36px; }
.pdp-gallery{ }
.pdp-main-img{ aspect-ratio:4/3; background:linear-gradient(135deg, #FFFFFF 0%, #F5F7FA 100%); border:1px solid var(--line); border-radius:var(--radius); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; margin-bottom:12px; color:var(--blue); }
.pdp-main-img::before{ content:''; position:absolute; inset:0; background-image: linear-gradient(90deg, rgba(11,95,255,.03) 1px, transparent 1px), linear-gradient(rgba(11,95,255,.03) 1px, transparent 1px); background-size:20px 20px; opacity:.6; z-index:0; }
.pdp-main-img .pi-svg{ position:relative; z-index:1; width:70%; height:70%; }
.pdp-main-img .thumb-sku{ font-size:.86rem; padding:6px 12px; }
.pdp-thumbs{ display:grid; grid-template-columns:repeat(4, 1fr); gap:10px; }
.pdp-thumbs .t{ aspect-ratio:1; background:var(--panel); border:1px solid var(--line); border-radius:var(--radius-sm); cursor:pointer; display:flex; align-items:center; justify-content:center; color:var(--muted); overflow:hidden; }
.pdp-thumbs .t.on{ border-color:var(--blue); color:var(--blue); }
.pdp-thumbs .t .pi-svg{ width:70%; height:70%; opacity:.7; }
.pdp-body h1{ font-family:var(--f-body); font-weight:700; font-size:2rem; text-transform:none; line-height:1.05; letter-spacing:normal; }
.pdp-brand{ display:flex; align-items:center; gap:10px; margin-top:8px; color:var(--muted); font-family:var(--f-body); font-weight:600; letter-spacing:.08em; text-transform:uppercase; font-size:.82rem; }
.pdp-sku{ padding:2px 8px; border:1px solid var(--line); border-radius:4px; font-size:.72rem; }
.pdp-price{ display:flex; align-items:baseline; gap:12px; margin-top:22px; padding-top:22px; border-top:1px solid var(--line); }
.pdp-price .p-primary{ font-size:2.6rem; }
.pdp-price .p-secondary{ font-size:.95rem; }
.pdp-stock{ margin-top:8px; }
.pdp-stock.ok::before{ content:'●'; color:var(--ok); margin-right:6px; }
.pdp-stock.low::before{ content:'●'; color:var(--warn); margin-right:6px; }
.pdp-qty{ display:flex; align-items:center; gap:14px; margin-top:24px; }
.qty-step{ display:flex; align-items:center; border:1px solid var(--line); border-radius:var(--radius-sm); overflow:hidden; }
.qty-step button{ width:38px; height:44px; font-family:var(--f-body); font-weight:700; font-size:1.2rem; color:var(--muted); }
.qty-step button:hover{ background:var(--blue); color:#FFFFFF; }
.qty-step input{ width:52px; height:44px; text-align:center; background:var(--panel); border:0; color:var(--text); font-family:var(--f-body); font-weight:700; font-size:1.1rem; }
.pdp-fitment{ margin-top:32px; padding:22px; background:rgba(11,95,255,.04); border:1px solid rgba(11,95,255,.1); border-radius:var(--radius); }
.pdp-fitment h3{ margin-bottom:12px; }
.fitment-table{ width:100%; border-collapse:collapse; font-size:.9rem; }
.fitment-table th, .fitment-table td{ padding:10px 12px; text-align:left; border-bottom:1px solid var(--line); }
.fitment-table th{ font-family:var(--f-body); font-weight:700; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--blue); }
.fitment-table td{ color:var(--muted); }
.pdp-tabs{ margin-top:44px; }
.pdp-tabs-nav{ display:flex; gap:2px; border-bottom:1px solid var(--line); }
.pdp-tabs-nav button{ padding:14px 22px; font-family:var(--f-body); font-weight:700; font-size:.86rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); border-bottom:2px solid transparent; margin-bottom:-1px; }
.pdp-tabs-nav button.on{ color:var(--blue); border-color:var(--blue); }
.pdp-tab-body{ padding:22px 0; color:var(--muted); }
.pdp-tab-body p{ margin-bottom:12px; line-height:1.7; }
.spec-table{ display:grid; grid-template-columns:200px 1fr; gap:0; }
.spec-table > div{ padding:10px 0; border-bottom:1px solid var(--line); font-size:.92rem; }
.spec-table > div:nth-child(odd){ color:var(--muted); font-family:var(--f-body); font-weight:600; text-transform:uppercase; letter-spacing:.08em; font-size:.82rem; }
.spec-table > div:nth-child(even){ color:var(--text); }
@media (max-width:800px){ .pdp{ grid-template-columns:1fr; } .spec-table{ grid-template-columns:1fr; } .spec-table > div:nth-child(odd){ padding-bottom:2px; border-bottom:0; } }

/* ===== CART ===== */
.cart-layout{ display:grid; grid-template-columns:1.4fr .8fr; gap:36px; margin-top:36px; align-items:flex-start; }
.cart-lines{ background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.cart-line{ display:grid; grid-template-columns:100px 1fr auto; gap:18px; padding:18px; border-bottom:1px solid var(--line); align-items:center; }
.cart-line:last-child{ border-bottom:0; }
.cart-thumb{ aspect-ratio:1; background:linear-gradient(135deg, #FFFFFF 0%, #F5F7FA 100%); border:1px solid var(--line); border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; color:var(--blue); overflow:hidden; position:relative; }
.cart-thumb .pi-svg{ width:76%; height:76%; opacity:.9; }
.cart-thumb .thumb-sku{ font-size:.62rem; padding:2px 5px; bottom:3px; right:3px; }
.co-thumb{ width:50px; height:50px; background:linear-gradient(135deg, #FFFFFF 0%, #F5F7FA 100%); border:1px solid var(--line); border-radius:6px; flex-shrink:0; display:flex; align-items:center; justify-content:center; color:var(--blue); overflow:hidden; }
.co-thumb .pi-svg{ width:74%; height:74%; opacity:.85; }
.cart-info h4{ font-family:var(--f-body); font-weight:700; font-size:1.02rem; text-transform:none; margin-bottom:4px; }
.cart-info .fit-badge{ margin-top:6px; }
.cart-actions{ display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
.cart-remove{ font-family:var(--f-body); font-weight:600; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.cart-remove:hover{ color:var(--warn); }
.cart-summary{ background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:26px; position:sticky; top:104px; }
.cart-summary h3{ margin-bottom:20px; }
.sum-row{ display:flex; justify-content:space-between; align-items:center; padding:8px 0; color:var(--muted); font-size:.94rem; }
.sum-row.total{ font-family:var(--f-display); font-size:1.8rem; color:var(--text); border-top:1px solid var(--line); padding-top:18px; margin-top:14px; font-weight:700; }
.sum-row.total .blue{ color:var(--blue); }
.fulfill-picker{ margin:22px 0; }
.fulfill-picker .fp-opts{ display:grid; gap:10px; }
.fp-opt{ display:flex; gap:12px; padding:14px; border:1px solid var(--line); border-radius:var(--radius-sm); cursor:pointer; background:#FFFFFF; }
.fp-opt input{ display:none; }
.fp-opt .fp-check{ width:18px; height:18px; border:2px solid var(--line-2); border-radius:50%; flex-shrink:0; margin-top:2px; position:relative; }
.fp-opt input:checked + .fp-check{ border-color:var(--blue); }
.fp-opt input:checked + .fp-check::after{ content:''; position:absolute; inset:3px; border-radius:50%; background:var(--blue); }
.fp-opt:has(input:checked){ border-color:var(--blue); background:rgba(11,95,255,.04); }
.fp-body{ flex:1; }
.fp-title{ font-family:var(--f-body); font-weight:700; font-size:.94rem; text-transform:none; letter-spacing:normal; margin-bottom:2px; }
.fp-desc{ color:var(--muted); font-size:.84rem; }
.fp-price{ font-family:var(--f-display); font-size:1.1rem; color:var(--blue); font-weight:700; }
.parish-picker{ margin-top:12px; padding:12px; background:var(--panel); border-radius:var(--radius-sm); display:none; }
.fp-opt:has(input[value=delivery]:checked) ~ .parish-picker{ display:block; }
.parish-picker label{ display:block; font-family:var(--f-body); font-weight:600; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:6px; }
.parish-picker select{ width:100%; padding:10px; background:#FFFFFF; border:1px solid var(--line); border-radius:var(--radius-sm); color:var(--text); }
@media (max-width:960px){ .cart-layout{ grid-template-columns:1fr; } .cart-summary{ position:relative; top:0; } .cart-line{ grid-template-columns:70px 1fr; } .cart-actions{ grid-column:1/-1; flex-direction:row; justify-content:space-between; align-items:center; } }

/* ===== CHECKOUT ===== */
.checkout{ display:grid; grid-template-columns:1.4fr .8fr; gap:36px; margin-top:36px; align-items:flex-start; }
.co-step{ background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:28px; margin-bottom:20px; }
.co-step-head{ display:flex; align-items:center; gap:14px; margin-bottom:20px; }
.co-num{ width:32px; height:32px; border-radius:50%; background:var(--blue); color:#FFFFFF; font-family:var(--f-display); font-size:1.1rem; display:flex; align-items:center; justify-content:center; font-weight:700; }
.field{ display:block; }
.field label{ display:block; font-family:var(--f-body); font-weight:600; font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:6px; }
.field input, .field select, .field textarea{ width:100%; padding:12px; background:#FFFFFF; border:1px solid var(--line); border-radius:var(--radius-sm); color:var(--text); }
.field input:focus, .field select:focus, .field textarea:focus{ outline:0; border-color:var(--blue); }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.pay-tabs{ display:flex; gap:8px; margin-bottom:20px; flex-wrap:wrap; }
.pay-tab{ padding:12px 18px; border:1px solid var(--line); border-radius:var(--radius-sm); font-family:var(--f-body); font-weight:700; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); cursor:pointer; }
.pay-tab.on{ background:var(--blue); color:#FFFFFF; border-color:var(--blue); }
.pay-panel{ padding:20px; background:rgba(11,95,255,.02); border-radius:var(--radius-sm); font-size:.9rem; color:var(--muted); }
.pay-panel img.brand{ height:24px; margin-right:12px; opacity:.9; }
.pay-panel .badges{ display:flex; gap:12px; align-items:center; margin-bottom:12px; }
.pay-brand{ display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border:1px solid var(--line); border-radius:4px; font-family:var(--f-body); font-weight:700; font-size:.74rem; letter-spacing:.06em; text-transform:uppercase; color:var(--text); }
.pay-brand.ncb{ color:#059669; border-color:#059669; }
.pay-brand.lynk{ color:#5F00F5; border-color:#5F00F5; }
.pay-brand.visa{ color:#1A1F71; border-color:#1A1F71; background:#fff; }
.pay-brand.mc{ color:#EB001B; border-color:#EB001B; background:#fff; }

/* ===== CONFIRMATION ===== */
.confirm{ text-align:center; padding:60px 0; }
.confirm-mark{ width:88px; height:88px; margin:0 auto 24px; border-radius:50%; background:rgba(5,150,105,.14); border:2px solid var(--ok); display:flex; align-items:center; justify-content:center; color:var(--ok); }
.confirm-mark svg{ width:44px; height:44px; }
.confirm h1{ margin-bottom:12px; }
.confirm-order{ font-family:var(--f-body); font-weight:700; color:var(--blue); letter-spacing:.12em; text-transform:uppercase; }
.confirm-lead{ color:var(--muted); max-width:52ch; margin:14px auto 32px; }
.confirm-details{ display:grid; grid-template-columns:1fr 1fr; gap:16px; max-width:800px; margin:0 auto; text-align:left; }
@media (max-width:720px){ .confirm-details{ grid-template-columns:1fr; } }

/* ===== ABOUT / GENERIC CONTENT ===== */
.two-col{ display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center; }
@media (max-width:800px){ .two-col{ grid-template-columns:1fr; } }
.stat-row{ display:grid; grid-template-columns:repeat(4, 1fr); gap:24px; }
.stat-item{ }
.stat-item strong{ display:block; font-family:var(--f-display); font-size:3rem; color:var(--blue); line-height:1; margin-bottom:6px; font-weight:700; }
.stat-item span{ font-family:var(--f-body); font-weight:600; font-size:.86rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
@media (max-width:800px){ .stat-row{ grid-template-columns:1fr 1fr; } }

/* ===== FAQ / HOW IT WORKS ===== */
.steps{ display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; }
.step{ padding:26px; background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); position:relative; }
.step-num{ font-family:var(--f-display); font-size:3rem; color:var(--blue); line-height:1; margin-bottom:10px; opacity:.3; font-weight:700; }
.step h3{ margin-bottom:8px; }
.step p{ color:var(--muted); font-size:.94rem; }
@media (max-width:800px){ .steps{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .steps{ grid-template-columns:1fr; } }

.faq-item{ padding:22px 0; border-bottom:1px solid var(--line); }
.faq-item summary{ cursor:pointer; font-family:var(--f-body); font-weight:700; font-size:1.05rem; text-transform:none; letter-spacing:normal; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:14px; }
.faq-item summary::after{ content:'+'; font-family:var(--f-display); font-size:1.6rem; color:var(--blue); font-weight:700; }
.faq-item[open] summary::after{ content:'−'; }
.faq-item p{ color:var(--muted); margin-top:14px; }

/* ===== CONTACT ===== */
.contact-grid{ display:grid; grid-template-columns:1.2fr 1fr; gap:44px; }
.contact-info li{ display:flex; align-items:flex-start; gap:14px; padding:14px 0; border-bottom:1px solid var(--line); }
.contact-info li:last-child{ border-bottom:0; }
.contact-info li svg{ width:22px; height:22px; color:var(--blue); flex-shrink:0; margin-top:2px; }
.contact-info li b{ display:block; font-family:var(--f-body); font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:.86rem; margin-bottom:2px; }
.contact-info li span{ color:var(--muted); }
@media (max-width:800px){ .contact-grid{ grid-template-columns:1fr; } }

/* ===== CTA BAND ===== */
.cta-band{ margin:20px 0; }
.cta-inner{ display:flex; align-items:center; justify-content:space-between; gap:36px; flex-wrap:wrap; padding:48px; background:linear-gradient(120deg, rgba(11,95,255,.05), rgba(255,90,31,.03)); border:1px solid var(--line); border-radius:var(--radius); position:relative; overflow:hidden; }
.cta-inner::before{ content:''; position:absolute; inset:0; background:radial-gradient(circle at 85% 20%, rgba(11,95,255,.08), transparent 60%); }
.cta-inner > *{ position:relative; z-index:1; }
.cta-inner p{ color:var(--muted); margin-top:8px; max-width:44ch; }
.cta-actions{ display:flex; gap:12px; flex-wrap:wrap; }

/* ===== CATALOG-FIRST HEADER + HOME ===== */
.nav{ position:sticky; top:0; z-index:1000; height:auto; padding:0; background:#fff; border-bottom:1px solid #d9dde4; color:#111827; }
.store-head-main{ background:#fff; }
.store-head-inner{ max-width:1320px; margin:auto; min-height:78px; padding:10px 22px; display:grid; grid-template-columns:38px 190px minmax(260px,1fr) auto auto 34px 54px; gap:12px; align-items:center; }
.menu-toggle{ width:36px; height:36px; display:grid; place-content:center; gap:4px; border-radius:4px; color:#111827; }
.menu-toggle span{ display:block; width:22px; height:2px; background:currentColor; }
.store-logo{ display:flex; align-items:center; gap:9px; color:#111827; min-width:0; }
.store-logo img{ width:40px; height:40px; }
.store-logo b{ display:block; font-size:1.05rem; line-height:1; }
.store-logo small{ display:block; margin-top:4px; color:#64748b; font-size:.6rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.catalog-search{ height:44px; display:flex; border:2px solid #cfd5dd; border-radius:4px; overflow:hidden; background:#fff; }
.catalog-search:focus-within{ border-color:var(--blue); box-shadow:0 0 0 3px rgba(11,95,255,.12); }
.catalog-search input{ min-width:0; flex:1; padding:0 14px; border:0; color:#111827; background:#fff; font-size:.88rem; }
.catalog-search button{ width:48px; display:grid; place-content:center; color:#111827; background:#eef2f7; border-left:1px solid #d5dae1; }
.catalog-search svg{ width:21px; height:21px; }
.header-vehicle{ min-height:44px; display:flex; align-items:center; gap:8px; padding:0 13px; border-radius:4px; background:#eaf1ff; border:1px solid #b7cdfa; color:#172033; white-space:nowrap; }
.header-vehicle svg{ width:20px; height:20px; color:var(--blue); }
.header-vehicle button{ color:#172033; font-weight:800; font-size:.74rem; text-transform:uppercase; }
.header-vehicle.set span{ font-weight:700; font-size:.76rem; }
.header-vehicle.set button{ font-size:.62rem; }
.header-phone{ color:#111827; text-align:right; white-space:nowrap; }
.header-phone small{ display:block; color:#6b7280; font-size:.62rem; }
.header-phone b{ font-size:.88rem; }
.header-help{ width:32px; height:32px; display:grid; place-content:center; color:var(--blue); border:2px solid var(--blue); border-radius:50%; font-weight:800; }
.store-head-inner .cart-btn{ width:50px; height:40px; display:flex; align-items:center; justify-content:center; gap:5px; color:#111827; border:1px solid #d5dae1; border-radius:4px; }
.store-head-inner .cart-btn svg{ width:21px; height:21px; flex:0 0 21px; }
.store-category-nav{ background:#fff; border-top:1px solid #edf0f4; box-shadow:0 2px 5px rgba(15,23,42,.08); }
.store-category-inner{ width:100%; max-width:1320px; margin:auto; padding:0 22px; display:flex; justify-content:space-between; overflow:visible; }
.store-category-inner a{ padding:12px 10px; color:#202938; font-size:.75rem; font-weight:800; white-space:nowrap; border-bottom:3px solid transparent; }
.store-category-inner a:hover{ color:var(--blue); border-color:var(--blue); }
.category-more{ position:relative; }
.category-more-toggle{ height:100%; min-height:43px; display:flex; align-items:center; gap:6px; padding:0 10px; color:#202938; font-size:.75rem; font-weight:800; }
.category-more-toggle svg{ width:13px; height:13px; transition:transform .2s ease; }
.category-more.open .category-more-toggle,.category-more-toggle:hover{ color:var(--blue); }
.category-more.open .category-more-toggle svg{ transform:rotate(180deg); }
.category-more-menu{ position:absolute; top:calc(100% + 1px); right:0; width:285px; display:none; padding:8px; background:#fff; border:1px solid #d9dde4; border-radius:0 0 6px 6px; box-shadow:0 16px 35px rgba(15,23,42,.18); }
.category-more.open .category-more-menu{ display:grid; }
.more-wide,.more-compact{ display:grid; }
.more-compact{ display:none; }
.category-more-menu a{ padding:7px 10px; border:0; border-radius:4px; }
.category-more-menu a:hover{ background:#eef4ff; border:0; }
.menu-scrim{ position:fixed; inset:0; z-index:10000; visibility:hidden; opacity:0; background:rgba(10,15,24,.5); transition:opacity .22s ease,visibility .22s; }
.store-menu-drawer{ position:fixed; inset:0 auto 0 0; z-index:10001; width:min(390px,calc(100vw - 34px)); height:100dvh; overflow-y:auto; overscroll-behavior:contain; transform:translateX(-102%); background:#fff; color:#172033; box-shadow:18px 0 46px rgba(15,23,42,.24); transition:transform .25s ease; }
body.store-menu-open .menu-scrim{ visibility:visible; opacity:1; }
body.store-menu-open .store-menu-drawer{ transform:translateX(0); }
body.store-menu-open{ overflow:hidden; }
.drawer-head{ position:sticky; top:0; z-index:1; min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 18px; background:#fff; border-bottom:1px solid #d9dde4; }
.drawer-head a{ display:flex; align-items:center; gap:10px; color:#172033; }
.drawer-head img{ width:40px; height:40px; }.drawer-head b{ font-size:1rem; }
.drawer-head button{ width:38px; height:38px; display:grid; place-content:center; border:1px solid #d9dde4; border-radius:50%; }.drawer-head button svg{ width:18px; height:18px; }
.drawer-section{ display:grid; padding:20px 18px; border-bottom:1px solid #e6e9ee; }
.drawer-label{ margin-bottom:9px; color:#697386; font-size:.68rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.drawer-section a{ padding:6px 10px; color:#172033; font-size:.9rem; font-weight:700; border-radius:4px; }
.drawer-section a:hover{ color:var(--blue); background:#eef4ff; }
.drawer-secondary{ grid-template-columns:1fr 1fr; column-gap:8px; }.drawer-secondary .drawer-label{ grid-column:1/-1; }
.drawer-phone{ display:block; margin:18px; padding:15px 16px; color:#172033; background:#eaf1ff; border:1px solid #b7cdfa; border-radius:5px; }
.drawer-phone small,.drawer-phone b{ display:block; }.drawer-phone small{ color:#64748b; font-size:.68rem; }.drawer-phone b{ margin-top:3px; font-size:1.08rem; }
.home-hero{ padding:0 0 30px; background:#f5f7fa; overflow:visible; }
.home-hero::before{ display:none; }
.home-hero-banner{ min-height:255px; display:flex; align-items:center; text-align:center; color:#fff; background:linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.5)),url('../images/hero-suv.jpg') center 52%/cover; }
.home-hero-banner .wrap{ width:100%; }
.home-hero-banner h1{ margin-top:8px; font-size:3.25rem; line-height:1; letter-spacing:-.02em; }
.home-hero-banner p{ margin-top:10px; color:#e2e8f0; font-size:1.05rem; }
.home-commerce{ margin-top:-1px; }
.home-fitment{ position:relative; z-index:2; display:grid; grid-template-columns:1.25fr repeat(4,1fr) 72px; gap:8px; align-items:end; padding:20px; background:#e9f0ff; border:1px solid #a9c3fb; box-shadow:0 10px 28px rgba(15,23,42,.14); color:#111827; }
.fitment-intro{ align-self:center; }.fitment-intro strong,.fitment-intro span{ display:block; }.fitment-intro strong{ font-size:1.2rem; }.fitment-intro span{ margin-top:3px; color:#64748b; font-size:.74rem; }
.home-fitment label{ display:grid; grid-template-columns:28px 1fr; grid-template-rows:16px 40px; border:1px solid #abb2bd; background:#fff; }
.home-fitment label b{ grid-row:1/3; display:grid; place-content:center; border-right:1px solid #d6dbe2; color:#111827; font-size:.78rem; }
.home-fitment label span{ padding:5px 10px 0; color:#667085; font-size:.6rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.home-fitment select{ width:100%; min-width:0; padding:0 10px; border:0; background:#fff; color:#111827; font-size:.84rem; }
.fitment-go{ height:58px; background:#12338d; color:#fff; font-weight:800; text-transform:uppercase; border-radius:3px; }
.home-fitment.has-vehicle{ background:#e6f5e9; border-color:#66a874; }.home-fitment.has-vehicle .fitment-intro strong{ color:#146c2e; }
.home-hero .hero-products{ padding-top:18px; border-top:0; }.home-hero .mini-part{ background:#fff; color:#111827; }.home-hero .mini-thumb{ background:#fff; }
.product-photo{ position:relative; z-index:1; width:100%; height:100%; object-fit:contain; background:#fff; }.product-photo + .pi-svg{ display:none; }
.part-thumb{ background:#fff; color:#334155; }.part-thumb .product-photo{ width:88%; height:88%; }.mini-thumb .product-photo{ width:92%; height:92%; }
.pdp-main-img,.pdp-thumbs .t,.cart-thumb{ background:#fff; }
.pdp-main-img .product-photo{ width:88%;height:88%;object-fit:contain;z-index:1 }.pdp-thumbs .product-photo{ width:90%;height:90%;object-fit:contain;z-index:1 }.cart-thumb .product-photo{ width:92%;height:92%;object-fit:contain;z-index:1 }
.pdp-main-img .product-photo + .pi-svg,.pdp-thumbs .product-photo + .pi-svg,.cart-thumb .product-photo + .pi-svg{ display:none }
.cart-empty{ padding:52px 24px;text-align:center }.cart-empty > div svg{ width:48px;height:48px;color:var(--blue) }.cart-empty h3{ margin:12px 0 6px;font-size:1.35rem }.cart-empty p{ color:var(--muted);margin-bottom:20px }
.subcategory-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:20px; }
.category-tabs{ display:flex; gap:0; overflow-x:auto; border:1px solid var(--line); background:#fff; }
.category-tab{ flex:1 0 120px; min-height:82px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; padding:10px; color:var(--muted); border-right:1px solid var(--line); border-bottom:3px solid transparent; }
.category-tab svg{ width:24px; height:24px; }.category-tab span{ font-size:.68rem; font-weight:700; }
.category-tab:hover,.category-tab.on{ color:var(--blue); background:rgba(11,95,255,.04); border-bottom-color:var(--blue); }
.subcategory-card{ min-width:0; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:var(--radius-sm); box-shadow:var(--shadow); transition:var(--transition); }
.subcategory-card:hover{ transform:translateY(-3px); border-color:var(--blue); box-shadow:var(--shadow-blue); }
.subcategory-photo{ display:block; aspect-ratio:16/10; padding:8px; background:#fff; border-bottom:1px solid var(--line); }.subcategory-photo img{ width:100%; height:100%; object-fit:contain; }
.subcategory-name{ display:block; padding:12px 14px 3px; color:var(--text); font-size:.96rem; font-weight:800; }.subcategory-shop{ display:flex; align-items:center; gap:5px; padding:0 14px 13px; color:var(--blue); font-size:.68rem; font-weight:700; }.subcategory-shop svg{ width:12px; height:12px; }
@media(max-width:1080px){ .store-head-inner{ grid-template-columns:38px 175px 1fr auto 50px; }.header-phone,.header-help{ display:none; }.home-fitment{ grid-template-columns:1fr 1fr 1fr; }.fitment-intro{ grid-column:1/-1; }.fitment-go{ height:58px; } }
@media(max-width:1200px){ .store-category-inner > a:nth-child(n+7){ display:none; } .more-wide{ display:none; } .more-compact{ display:grid; } }
@media(max-width:720px){ .store-head-inner{ min-height:70px; padding:8px 14px; grid-template-columns:34px 1fr 50px; }.store-logo{ display:none; }.catalog-search{ grid-column:1/-1;grid-row:2;}.header-vehicle{ grid-column:2;grid-row:1;justify-self:end;min-height:36px;padding:0 9px;}.header-vehicle span,.header-vehicle.set button:first-of-type{display:none}.store-head-inner .cart-btn{grid-column:3;grid-row:1}.store-category-nav{display:none}.home-hero-banner{min-height:190px}.home-hero-banner h1{font-size:2.15rem}.home-fitment{grid-template-columns:1fr 1fr;padding:14px}.fitment-intro{grid-column:1/-1}.fitment-trim{display:none!important}.fitment-go{height:58px}.subcategory-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:460px){ .home-fitment{grid-template-columns:1fr}.home-fitment label,.fitment-go{min-height:52px}.subcategory-grid{gap:10px}.subcategory-name{font-size:.86rem} }
@media(max-width:520px){ .veh-modal{ padding:12px; align-items:flex-start; } .veh-panel{ max-height:calc(100dvh - 24px); padding:28px 20px 22px; } }

/* Streamlined search results */
.search-page .search-hero{ padding:28px 0 22px; }
.search-page .search-hero .crumbs{ margin-bottom:8px; }
.search-page .search-hero .cat-head{ align-items:center; }
.search-page .search-hero .h-lg{ font-size:clamp(1.9rem,3vw,2.55rem); }
.search-page .search-results-section{ padding:18px 0 64px; }
.search-toolbar{ scroll-margin-top:138px; min-height:62px; display:grid; grid-template-columns:auto minmax(230px,1fr) minmax(210px,auto); gap:12px; align-items:end; padding:10px 12px; background:#fff; border:1px solid var(--line); border-radius:var(--radius-sm); box-shadow:var(--shadow); }
.filter-toggle{ height:42px; display:flex; align-items:center; justify-content:center; gap:8px; padding:0 16px; color:var(--text); border:1px solid var(--line); border-radius:var(--radius-sm); font-weight:700; }
.filter-toggle svg{ width:18px; height:18px; }.filter-toggle:hover,.filter-toggle.on{ color:#fff; background:var(--blue); border-color:var(--blue); }
.catalog-control{ display:grid; gap:3px; min-width:0; }.catalog-control > span{ color:var(--muted); font-size:.63rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.catalog-control select{ width:100%; min-width:0; height:42px; padding:0 36px 0 12px; color:var(--text); background:var(--panel); border:1px solid var(--line); border-radius:var(--radius-sm); }
.search-page .catalog-notice{ margin-top:12px; padding:11px 14px; color:#334155; background:#EEF4FF; border-left:3px solid var(--blue); border-radius:4px; font-size:.84rem; }
.search-page .catalog{ grid-template-columns:1fr; gap:24px; margin-top:16px; }
.search-page .filters{ display:none; position:relative; top:auto; padding:18px; }
.search-page .catalog.filters-open{ grid-template-columns:270px 1fr; }
.search-page .catalog.filters-open .filters{ display:block; }
.search-page #results{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.search-page .part-rating,.search-page .part-meta,.search-page .thumb-sku{ display:none; }
.search-page .part-body{ gap:8px; padding:14px 15px 16px; }
.search-page .part-stock{ font-size:.68rem; }
@media(max-width:1120px){ .search-page #results{ grid-template-columns:repeat(3,minmax(0,1fr)); }.search-page .catalog.filters-open #results{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(max-width:960px){ .search-toolbar{ scroll-margin-top:118px; grid-template-columns:auto 1fr 1fr; }.search-page .catalog.filters-open{grid-template-columns:1fr}.search-page .filters{position:relative}.search-page #results,.search-page .catalog.filters-open #results{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(max-width:620px){ .search-page .search-hero{padding:20px 0 14px}.search-page .search-hero .crumbs{display:none}.search-page .search-results-section{padding-top:10px}.search-toolbar{grid-template-columns:1fr 1fr;gap:8px;padding:9px}.filter-toggle{grid-column:1/2;grid-row:1}.sort-control{grid-column:2/3;grid-row:1}.catalog-control:not(.sort-control){grid-column:1/-1;grid-row:2}.catalog-control > span{display:none}.catalog-control select,.filter-toggle{height:40px}.search-page #results,.search-page .catalog.filters-open #results{grid-template-columns:1fr;gap:12px}.search-page .part-card{display:grid;grid-template-columns:128px minmax(0,1fr)}.search-page .part-thumb{aspect-ratio:auto;min-height:178px;border-bottom:0;border-right:1px solid var(--line)}.search-page .part-thumb .product-photo{width:94%;height:94%}.search-page .ribbon{font-size:.58rem;padding:3px 6px;top:7px;left:7px}.search-page .part-body{padding:12px;gap:7px}.search-page .fit-badge{font-size:.59rem;letter-spacing:.04em;padding:3px 5px}.search-page .part-name{font-size:.93rem}.search-page .part-desc{font-size:.74rem;line-height:1.35}.search-page .part-stock{display:none}.search-page .p-primary{font-size:1.15rem}.search-page .p-secondary{font-size:.72rem}.search-page .btn-add{padding:7px 8px;font-size:.68rem}.search-page .catalog-notice{font-size:.78rem}.search-page .filters{padding:15px}.search-page .filter-group{padding-bottom:12px;margin-bottom:12px} }
.vehicle-context{ margin-top:24px; display:flex; align-items:center; justify-content:space-between; gap:20px; max-width:860px; padding:16px 18px; background:rgba(11,95,255,.05); border:1px solid rgba(11,95,255,.22); border-radius:var(--radius-sm); }.vehicle-context div b,.vehicle-context div span{display:block}.vehicle-context div b{color:var(--text);font-size:1rem}.vehicle-context div span{margin-top:3px;color:var(--muted);font-size:.82rem}.vehicle-context.set{background:rgba(5,150,105,.06);border-color:rgba(5,150,105,.3)}.vehicle-context.set div b{color:var(--ok)}
@media(max-width:600px){.vehicle-context{align-items:flex-start;flex-direction:column}.vehicle-context .btn{width:100%;justify-content:center}}

/* Authentic payments and rebuilt footer */
.payment-logo-strip{ display:flex;align-items:center;gap:8px;flex-wrap:wrap }.payment-logo-card{ width:76px;height:38px;padding:7px 8px;display:grid;place-items:center;background:#fff;border:1px solid #dbe0e7;border-radius:6px }.payment-logo-card img{ width:100%;height:100%;object-fit:contain }.payment-logo-card.ncb-logo{width:94px}.payment-logo-card.powertranz-logo{width:100px}.payment-logo-card.lynk-logo{width:70px}.payment-logo-card.mastercard-logo{width:58px}
.cart-payment-logos{justify-content:center;padding-top:20px;margin-top:20px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.cart-payment-logos .payment-logo-card{width:100%;min-width:0}.pay-tabs{display:grid;grid-template-columns:1.45fr .75fr 1fr}.pay-tabs .pay-tab{min-height:54px;display:flex;align-items:center;justify-content:center;gap:9px;padding:9px 14px;background:#fff}.pay-tabs .pay-tab.on{box-shadow:0 0 0 2px rgba(11,95,255,.12)}.pay-tabs .pay-tab span{font-size:.68rem;color:#64748b}.pay-tabs .pay-tab img{max-width:82px;max-height:28px;object-fit:contain}.pay-tabs .pay-tab img[alt="Mastercard"]{max-width:40px}.checkout-payment-logos{margin-bottom:14px}.payment-confirmed-brand{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;background:#fff;border-radius:6px}.payment-confirmed-brand img{max-width:86px;max-height:24px}
.footer{margin-top:0;padding:0;background:#0F172A;border-top:3px solid var(--blue);color:#E8EDF5}.footer .wrap{max-width:1320px}.footer-main{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:54px;padding:52px 0 38px}.footer-logo{display:flex;align-items:center;gap:12px;margin-bottom:18px}.footer-logo img{width:48px;height:48px}.footer-logo b{display:block;font-size:1.08rem}.footer-logo small{display:block;margin-top:3px;color:#70A0FF;font-size:.7rem;font-weight:700;letter-spacing:.04em}.footer-brand p{max-width:34ch;color:#A8B2C4;line-height:1.65}.footer-contact-link{display:inline-block;margin-top:16px;color:#70A0FF;font-weight:700}.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.footer-column h3{margin-bottom:7px;color:#fff;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}.footer-column a,.footer-column span,.footer-column p{color:#A8B2C4;font-size:.87rem}.footer-column a:hover{color:#70A0FF}.footer-location p{line-height:1.65}
.footer-commerce{display:grid;grid-template-columns:1fr 2fr auto;gap:24px;align-items:center;padding:22px 0;border-top:1px solid #2A344A;border-bottom:1px solid #2A344A}.footer-commerce strong,.footer-commerce > div > span{display:block}.footer-commerce strong{font-size:.9rem}.footer-commerce > div > span{margin-top:3px;color:#8290A7;font-size:.75rem}.footer-payment-logos{justify-content:center}.footer-currency{display:flex;align-items:center;gap:12px}.footer-currency > span{margin:0!important;white-space:nowrap;text-transform:uppercase;letter-spacing:.08em}.footer-currency .cur-toggle{border-color:#455069}.footer-currency .cur-toggle button{color:#B6C0D0}.footer-currency .cur-toggle button.on{color:#fff}.footer-bar{padding:20px 0 24px;border-top:0;color:#7F8BA0;font-size:.76rem}.footer-bar a{color:#C6D0E0}
@media(max-width:900px){.footer-main{grid-template-columns:1fr 1fr;gap:34px}.footer-commerce{grid-template-columns:1fr}.footer-payment-logos{justify-content:flex-start}.footer-currency{justify-content:flex-start}}
@media(max-width:540px){.footer-main{grid-template-columns:1fr;padding:38px 0 28px}.payment-logo-card{width:64px;height:34px}.payment-logo-card.ncb-logo,.payment-logo-card.powertranz-logo{width:84px}.footer-bar{display:block}.footer-bar p+p{margin-top:6px}}
