:root {
      --ink:#111111;
      --muted:#62666d;
      --line:#dfe2e6;
      --panel:#ffffff;
      --soft:#f4f5f7;
      --red:#b5121b;
      --red-dark:#850b12;
      --charcoal:#202226;
      --shadow:0 8px 24px rgba(0,0,0,.10);
    }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body {
      margin:0;
      background:var(--soft);
      color:var(--ink);
      font-family:Arial,Helvetica,sans-serif;
    }
    a { color:inherit; }
    button,input,select { font:inherit; }
    .topbar {
      background:#090909;
      color:#fff;
      padding:9px 20px;
      font-size:13px;
    }
    .topbar-inner,.header-inner,.main-inner,.footer-inner {
      width:min(1440px,calc(100% - 32px));
      margin:0 auto;
    }
    .topbar-inner {
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:15px;
      flex-wrap:wrap;
    }
    .topbar a { text-decoration:none; font-weight:700; }
    header {
      background:#fff;
      border-bottom:1px solid var(--line);
    }
    .header-inner {
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:30px;
      padding:24px 0;
    }
    .brand-kicker {
      color:var(--red);
      font-size:14px;
      font-weight:900;
      letter-spacing:2.4px;
      text-transform:uppercase;
    }
    h1 {
      margin:3px 0 0;
      font-size:clamp(30px,4vw,54px);
      line-height:.98;
      letter-spacing:-1.6px;
      text-transform:uppercase;
    }
    .ram-mark {
      min-width:160px;
      padding:13px 20px;
      background:#111;
      color:#fff;
      border-left:7px solid var(--red);
      font-size:24px;
      font-weight:900;
      letter-spacing:3px;
      text-align:center;
    }
    .hero {
      background:
        linear-gradient(110deg,rgba(0,0,0,.94),rgba(0,0,0,.72)),
        radial-gradient(circle at 85% 30%,#7c0b10,transparent 42%);
      color:#fff;
    }
    .hero .main-inner {
      padding:34px 0 30px;
      display:flex;
      justify-content:space-between;
      align-items:end;
      gap:25px;
    }
    .hero h2 {
      margin:0;
      font-size:clamp(26px,3vw,43px);
      line-height:1.05;
      text-transform:uppercase;
    }
    .hero p {
      margin:9px 0 0;
      color:#d5d5d5;
      line-height:1.55;
      max-width:780px;
    }
    .total-box {
      background:#fff;
      color:#111;
      min-width:175px;
      padding:18px 22px;
      text-align:center;
      box-shadow:var(--shadow);
    }
    .total-number {
      color:var(--red);
      font-size:43px;
      line-height:1;
      font-weight:900;
    }
    .total-label {
      margin-top:5px;
      font-size:12px;
      font-weight:800;
      letter-spacing:1.5px;
      text-transform:uppercase;
    }
    main .main-inner { padding:25px 0 45px; }
    .toolbar {
      position:sticky;
      top:0;
      z-index:20;
      background:rgba(244,245,247,.96);
      backdrop-filter:blur(10px);
      padding:12px 0 15px;
    }
    .filters {
      display:flex;
      gap:9px;
      flex-wrap:wrap;
    }
    .filter-btn {
      border:1px solid #bfc3c8;
      background:#fff;
      color:#111;
      padding:11px 14px;
      border-radius:4px;
      cursor:pointer;
      font-weight:800;
    }
    .filter-btn:hover,.filter-btn.active {
      background:var(--red);
      border-color:var(--red);
      color:#fff;
    }
    .search-row {
      display:grid;
      grid-template-columns:minmax(220px,1fr) 210px;
      gap:10px;
      margin-top:10px;
    }
    .search-row input,.search-row select {
      width:100%;
      border:1px solid #bfc3c8;
      background:#fff;
      padding:12px 13px;
      border-radius:4px;
      color:#111;
    }
    .results-line {
      display:flex;
      justify-content:space-between;
      gap:15px;
      margin:15px 0;
      color:var(--muted);
      font-size:14px;
    }
    .results-line strong { color:#111; }
    .grid {
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:18px;
    }
    .card {
      background:var(--panel);
      border:1px solid var(--line);
      border-radius:6px;
      overflow:hidden;
      box-shadow:0 3px 14px rgba(0,0,0,.07);
      display:flex;
      flex-direction:column;
      min-width:0;
    }
    .card:hover { box-shadow:var(--shadow); transform:translateY(-1px); }
    .photo {
      position:relative;
      aspect-ratio:16/10;
      background:#eceef1;
      overflow:hidden;
    }
    .photo img {
      width:100%;
      height:100%;
      display:block;
      object-fit:contain;
      mix-blend-mode:multiply;
    }
    .badge {
      position:absolute;
      left:10px;
      top:10px;
      background:rgba(0,0,0,.86);
      color:#fff;
      padding:7px 9px;
      font-size:11px;
      font-weight:900;
      letter-spacing:1px;
      text-transform:uppercase;
    }
    .card-body {
      padding:18px;
      display:flex;
      flex-direction:column;
      flex:1;
    }
    .vehicle-title {
      font-size:22px;
      line-height:1.08;
      font-weight:900;
      margin:0;
    }
    .trim {
      min-height:20px;
      margin-top:5px;
      color:var(--muted);
      font-size:14px;
      font-weight:700;
    }
    .identifiers {
      margin-top:13px;
      padding-top:12px;
      border-top:1px solid var(--line);
      color:#4c5055;
      font-size:12px;
      line-height:1.65;
      word-break:break-word;
    }
    .color-line {
      margin-top:9px;
      color:#4c5055;
      font-size:13px;
      line-height:1.5;
    }
    .pricing {
      margin-top:15px;
      border-top:1px solid var(--line);
      padding-top:14px;
    }
    .msrp {
      color:#60646a;
      font-size:13px;
    }
    .price {
      margin-top:5px;
      color:var(--red);
      font-size:25px;
      line-height:1.05;
      font-weight:900;
    }
    .card-actions {
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:9px;
      margin-top:auto;
      padding-top:16px;
    }
    .btn {
      display:flex;
      justify-content:center;
      align-items:center;
      min-height:44px;
      border:0;
      border-radius:3px;
      padding:10px 12px;
      text-decoration:none;
      cursor:pointer;
      font-weight:900;
      text-transform:uppercase;
      font-size:12px;
      letter-spacing:.4px;
      text-align:center;
    }
    .btn-primary { background:var(--red); color:#fff; }
    .btn-primary:hover { background:var(--red-dark); }
    .btn-secondary { background:#222; color:#fff; }
    .empty {
      display:none;
      background:#fff;
      border:1px solid var(--line);
      padding:35px;
      text-align:center;
      font-weight:700;
    }
    footer {
      background:#111;
      color:#fff;
      padding:30px 0;
    }
    .footer-inner {
      display:flex;
      justify-content:space-between;
      gap:30px;
      flex-wrap:wrap;
      align-items:flex-start;
    }
    .footer-title {
      font-size:22px;
      font-weight:900;
      text-transform:uppercase;
    }
    .footer-copy {
      margin-top:6px;
      color:#c4c4c4;
      font-size:13px;
      line-height:1.55;
      max-width:820px;
    }
    .footer-contact {
      font-weight:800;
      line-height:1.8;
    }
    dialog {
      width:min(920px,calc(100% - 24px));
      max-height:90vh;
      border:0;
      border-radius:8px;
      padding:0;
      box-shadow:0 20px 70px rgba(0,0,0,.45);
    }
    dialog::backdrop { background:rgba(0,0,0,.72); }
    .modal-head {
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:20px;
      padding:16px 20px;
      background:#111;
      color:#fff;
    }
    .modal-title { font-size:21px; font-weight:900; }
    .close {
      border:0;
      background:transparent;
      color:#fff;
      font-size:31px;
      line-height:1;
      cursor:pointer;
    }
    .modal-content {
      padding:20px;
      overflow:auto;
      max-height:calc(90vh - 60px);
    }
    .modal-layout {
      display:grid;
      grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
      gap:22px;
    }
    .modal-image {
      width:100%;
      aspect-ratio:16/10;
      object-fit:contain;
      background:#f0f1f3;
    }
    .thumbs {
      display:flex;
      gap:7px;
      overflow:auto;
      padding-top:8px;
    }
    .thumb {
      width:82px;
      height:58px;
      object-fit:cover;
      border:2px solid transparent;
      cursor:pointer;
      background:#eee;
    }
    .thumb.active { border-color:var(--red); }
    .details {
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:0;
      border:1px solid var(--line);
      margin-top:12px;
    }
    .detail {
      padding:10px 11px;
      border-bottom:1px solid var(--line);
    }
    .detail:nth-child(odd) { border-right:1px solid var(--line); }
    .detail-label {
      color:#6a6d72;
      font-size:10px;
      letter-spacing:1px;
      font-weight:800;
      text-transform:uppercase;
    }
    .detail-value {
      margin-top:3px;
      font-size:13px;
      font-weight:700;
      word-break:break-word;
    }
    .modal-price {
      color:var(--red);
      font-size:29px;
      font-weight:900;
      margin:15px 0 3px;
    }
    .disclaimer {
      margin-top:15px;
      color:#666;
      font-size:11px;
      line-height:1.5;
    }
    @media (max-width:1050px) {
      .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    }
    @media (max-width:720px) {
      .header-inner,.hero .main-inner { align-items:flex-start; flex-direction:column; }
      .ram-mark { width:100%; }
      .total-box { width:100%; }
      .grid { grid-template-columns:1fr; }
      .search-row { grid-template-columns:1fr; }
      .modal-layout { grid-template-columns:1fr; }
      .topbar-inner { justify-content:center; text-align:center; }
      .card-actions { grid-template-columns:1fr; }
    }

/* Multi-store additions; these do not alter the approved single-store view. */
.store-switcher { min-width:230px; }
.store-switcher label { display:block; color:#62666d; font-size:10px; font-weight:800; letter-spacing:1px; text-transform:uppercase; margin-bottom:5px; }
.store-switcher select { width:100%; border:1px solid #bfc3c8; background:#fff; padding:10px 12px; border-radius:4px; font-weight:800; }
.vehicle-link { color:inherit; text-decoration:none; }
.vehicle-link:hover .vehicle-title { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:3px; }
.seo-copy { background:#fff; border:1px solid var(--line); margin-top:24px; padding:22px; color:#45494f; line-height:1.65; }
.seo-copy h2 { margin:0 0 8px; color:#111; font-size:24px; }
.direct-note { margin-top:7px; color:#6a6d72; font-size:10px; }
@media (max-width:720px) { .store-switcher { width:100%; } }
