/* ============================================================
   HOME OVERRIDES — loaded LAST so it wins the cascade.
   Unifies the seams between the independently-built sections.
   ============================================================ */

/* — Page shell — */
html,body{margin:0;padding:0;}
body{background:#fff!important;}

.rf-home-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ── 1) ONE WIDTH (wide, Samsung-style) ──
   Replaces the 1340 / 1440 / 1500 mishmash AND kills the rogue
   `:root{--rf-container:1440px !important}` from the deals block. */
:root{
  --rf-container: 1600px;
  /* ── Kill pill radii — shop.html standard ── */
  --c-pill:         8px;
  --c-card-radius:  var(--card-r);
  --c-radius:       12px;
  --rf-pill:        8px;
  --v1f-pill:       8px;
}
.rfd-w{max-width:1600px !important;}
.rf-cat{max-width:1600px !important;}
.rf-trust{max-width:1600px !important;}
.rf-spare-banner{max-width:1600px !important;}
.rf-panel__inner{max-width:1600px !important;}
.rpf{max-width:1600px !important;}
.v1f-root{--v1f-w:1600px;}

/* ── 2) ALIGNED GUTTERS (24px everywhere) ── */
:root{--rf-px:24px;}      /* header + mega-menu */
.v1f-root{--v1f-px:24px;}            /* footer */
.rf-cat{padding-left:24px !important;padding-right:24px !important;}
.rf-trust{padding-left:24px !important;padding-right:24px !important;}

/* ── 3) ONE BLUE — the Discover-Deals add-to-cart hover blue (var(--brand-blue)) ──
   Header/booking previously used #1e8aff / #0a6cf1. */
.rf-header{--rf-primary:var(--brand-blue);--rf-primary-2:#005bb5;--rf-accent:var(--brand-blue);--rf-primary-bg:#eaf3ff;--rf-accent-bg:#eaf3ff;}

/* ── 4) CONTRAST — lift muted grey var(--t3) → #6e6e73 for real body text ── */
.rf-header{--rf-text-3:#6e6e73;}
.rfd{--rf-muted:#6e6e73;--c-text-4:#6e6e73;}
.rf-cat{--c-text-4:#6e6e73;}
.v1f-root{--v1f-text-3:#6e6e73;}

/* ── 5) Parts Finder vertical rhythm (it lost its standalone body padding) ── */
.rpf-section{padding:52px 24px;box-sizing:border-box;}

/* ── 6) Spare-parts band sits flush between white sections ── */
.rf-spare-banner-wrap{margin:0;}

/* ══════════════════════════════════════════════════════════════
   SHOP.HTML STYLE PARITY
   — Applies shop.html visual language to index.html sections:
     product tabs · filter bar · CTAs · category styles
   — Preserves the "View ›" / "See all ›" slide-underline animation
     already defined in unified.css (.rfd-bview, .rfd-foot-cta).
   ══════════════════════════════════════════════════════════════ */

/* ── A. DEALS TAB BAR → transparent layout only (NO grey bg) ── */
.rfd-dhead {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 10px 18px !important;
  border: none !important;
}
.rfd-deyebrow {
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #6e6e73 !important;
  line-height: 1 !important;
}
.rfd-dname {
  font-size: 17px !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
  color: #1d1d1f !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 7px !important;
  line-height: 1.1 !important;
}
.rfd-dcount {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--t3) !important;
  letter-spacing: 0 !important;
}

/* ── B. ACTIVE TAB PILL ──────────────────────────────────────── */
.rfd-dhead-pill {
  top: 0 !important;
  bottom: 0 !important;
  height: auto !important;
  border-radius: 8px !important;
  background: var(--brand-blue) !important;
  box-shadow: 0 2px 10px rgba(0,102,204,0.28) !important;
  transition: transform 360ms cubic-bezier(.34,1.56,.64,1), width 240ms ease !important;
}

/* ── C. TAB BUTTONS (ftab exact match) ──────────────────────── */
.rfd-dhead-tabs {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  padding: 0 !important;
  background: none !important;
  border-radius: 0 !important;
}
.rfd-dhead-tabs button {
  position: relative !important;
  z-index: 2 !important;
  height: 34px !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  border: none !important;
  background: transparent !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  color: #515154 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  font-family:'InterVariable','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,system-ui,sans-serif !important;
  transition: color 150ms, background 150ms !important;
}
.rfd-dhead-tabs button[aria-selected="true"] { color: #fff !important; }
.rfd-dhead-tabs button:not([aria-selected="true"]):hover {
  background: rgba(0,0,0,0.04) !important;
  color: #1d1d1f !important;
}

/* ── D. ADD TO CART (btn-cart exact match) ───────────────────── */
.rfd-bcart:not(.rfd-bcart--oos) {
  height: 32px !important;
  padding: 0 14px !important;
  border-radius: 6px !important;
  background: var(--brand-blue) !important;
  border: none !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  cursor: pointer !important;
  transition: background 150ms !important;
}
.rfd-bcart:not(.rfd-bcart--oos):hover {
  background: #005bb5 !important;
  box-shadow: 0 4px 14px rgba(0,102,204,0.32) !important;
}
.rfd-bcart.rfd-bcart--oos {
  height: 31px !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  background: var(--t3) !important;
  border: none !important;
  color: #fff !important;
  opacity: 0.55 !important;
  cursor: not-allowed !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
}

/* ── E. VIEW LINK (btn-view; slide animation kept in unified) ── */
.rfd-bview {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #515154 !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  margin-left: auto !important;
  transition: color 150ms !important;
}
.rfd-bview:hover { color: #1d1d1f !important; }

/* ── RFD CARD IMAGE CONTAINER — match shop card-img ── */
.rfd-card .rfd-ci,
section.rfd .rfd-card .rfd-ci {
  aspect-ratio: 1 !important;
  background: #f8f8fa !important;
  position: relative !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}
.rfd-card .rfd-ci img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 10px !important;
  transition: transform 320ms ease !important;
}
.rfd-card:hover .rfd-ci img { transform: scale(1.03) !important; }

/* ── RFD QUICK-ADD — match shop .card-qadd ── */
.rfd-qa {
  position: absolute !important;
  bottom: 8px !important;
  right: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  border-radius: 8px !important;
  background: var(--brand-blue) !important;
  border: none !important;
  color: #fff !important;
  cursor: pointer !important;
  opacity: 0 !important;
  transform: translateY(5px) !important;
  transition: opacity 200ms ease, transform 200ms ease !important;
  text-decoration: none !important;
  z-index: 2 !important;
}
.rfd-qa svg {
  width: 15px !important;
  height: 15px !important;
  stroke-width: 2.6px !important;
}
.rfd-card:hover .rfd-qa {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* ── RFD CARD OUTER — match shop .card ── */
.rfd-card {
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #fff !important;
  display: flex !important;
  flex-direction: column !important;
  cursor: pointer !important;
  transition: box-shadow 200ms, transform 180ms !important;
}
.rfd-card:hover {
  box-shadow: 0 12px 36px -6px rgba(0,0,0,0.14) !important;
  transform: translateY(-2px) !important;
}

/* ── F. SEE ALL CTA (slide underline animation kept) ────────── */
.rfd-foot-cta {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #1d1d1f !important;
  text-decoration: none !important;
  letter-spacing: -0.01em !important;
}

/* ── G. ADVERT CTA → solid blue pill ────────────────────────── */
.rfd-pcta {
  height: 34px !important;
  padding: 0 16px !important;
  border-radius: 8px !important;
  background: var(--brand-blue) !important;
  color: #fff !important;
  border: none !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 14px rgba(0,102,204,0.38) !important;
  display: inline-flex !important;
  align-items: center !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background 150ms, transform 150ms, box-shadow 150ms !important;
}
.rfd-pcta:hover {
  background: #005bb5 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(0,102,204,0.42) !important;
}

/* ══════════════════════════════════════════════════════════════
   H. CATEGORY RAIL (Rail 1) → cat-tile square blocks
   ══════════════════════════════════════════════════════════════ */
/* Container: grid — match shop.html cat-rail exactly */
#rf-cat-root .rf-cat-rail {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(72px, 1fr)) !important;
  gap: 8px !important;
  padding: 4px 2px !important;
  width: 100% !important;
  overflow: visible !important;
  position: relative !important;
}
/* Hide the sliding pill — not needed for tile grid */
#rf-cat-root .rf-cat-pill {
  display: none !important;
}
/* Tile: square card — cat-tile exact match */
#rf-cat-root .rf-cat-item {
  width: auto !important;
  height: auto !important;
  min-height: 90px !important;
  padding: 12px 8px !important;
  border-radius: 10px !important;
  border: 1.5px solid rgba(0,0,0,0.08) !important;
  background: #fff !important;
  color: #1d1d1f !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  flex: 1 1 0 !important;
  min-width: 72px !important;
  cursor: pointer !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-align: center !important;
  line-height: 1.2 !important;
  transition: border-color 200ms, box-shadow 200ms, transform 200ms !important;
}
#rf-cat-root .rf-cat-item:hover {
  border-color: rgba(0,0,0,0.22) !important;
  box-shadow: 0 4px 12px -4px rgba(0,0,0,0.10) !important;
  transform: translateY(-3px) scale(1.01) !important;
  transform: translateY(-1px) !important;
  background: #fff !important;
  color: #1d1d1f !important;
}
/* Active tile: dark border + inset shadow (cat-tile.on) */
#rf-cat-root .rf-cat-item[data-active="true"] {
  border: 2px solid #1d1d1f !important;
  box-shadow: 0 0 0 1.5px #1d1d1f inset !important;
  background: #fafafa !important;
  color: #1d1d1f !important;
  transform: none !important;
}
/* Keep item-name visible */
#rf-cat-root .rf-cat-item .rf-cat-item-name {
  color: inherit !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  white-space: normal !important;
  text-align: center !important;
  overflow: visible !important;
  text-overflow: unset !important;
  max-width: none !important;
  line-height: 1.25 !important;
}
/* New badge on tiles */
#rf-cat-root .rf-cat-item .rf-cat-item-new-badge {
  display: inline-flex !important;
  font-size: 8px !important;
  padding: 2px 5px !important;
  border-radius: 999px !important;
  background: #1f7a3a !important;
  color: #fff !important;
}

/* ══════════════════════════════════════════════════════════════
   I. PARTS FINDER TABS (Rail 2) → cat-tile square blocks
   ══════════════════════════════════════════════════════════════ */
/* Container: grid — match shop.html cat-rail */
#rpf-tabs {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(72px, 1fr)) !important;
  gap: 8px !important;
  background: none !important;
  border-radius: 0 !important;
  padding: 4px 2px !important;
  width: 100% !important;
  overflow: visible !important;
}
/* Hide the sliding pill */
.rpf-tab-pill { display: none !important; }
/* Tile style — cat-tile exact match */
.rpf-tab {
  width: auto !important;
  height: auto !important;
  min-height: 90px !important;
  padding: 12px 8px !important;
  gap: 6px !important;
  border-radius: 10px !important;
  border: 1.5px solid rgba(0,0,0,0.08) !important;
  background: #fff !important;
  color: #1d1d1f !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 1 !important;
  cursor: pointer !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-align: center !important;
  line-height: 1.2 !important;
  transition: border-color 200ms, box-shadow 200ms, transform 150ms !important;
  letter-spacing: -0.005em !important;
}
.rpf-tab:hover {
  border-color: rgba(0,0,0,0.22) !important;
  box-shadow: 0 4px 12px -4px rgba(0,0,0,0.10) !important;
  transform: translateY(-1px) !important;
  background: #fff !important;
  color: #1d1d1f !important;
}
.rpf-tab.active {
  border: 2px solid #1d1d1f !important;
  box-shadow: 0 0 0 1.5px #1d1d1f inset !important;
  background: #fafafa !important;
  color: #1d1d1f !important;
  transform: none !important;
}

/* ══════════════════════════════════════════════════════════════
   J. PRODUCT CARD — exact shop.html card-foot layout:
   CSS grid on rfd-cb: name/desc full-width, then
   [price-wrap col] [actions right] on the same foot row
   ══════════════════════════════════════════════════════════════ */
.rfd-card .rfd-cb {
  display: flex !important;
  flex-direction: column !important;
  padding: 12px 14px 6px !important;
  gap: 3px !important;
  flex: 1 !important;
}
.rfd-card .rfd-cn {
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: #1d1d1f !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}
.rfd-card .rfd-cdesc {
  font-size: 12.5px !important;
  color: #515154 !important;
  line-height: 1.4 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  margin: 0 !important;
}
/* Price column: big price + was-row below it */
.rfd-card .rfd-cpr-wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-width: 0 !important;
  margin-top: auto !important;
  padding-top: 10px !important;
  border-top: 1px solid rgba(0,0,0,0.07) !important;
  margin-bottom: 4px !important;
}
.rfd-card .rfd-cpr {
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
  color: #1d1d1f !important;
  line-height: 1 !important;
}
/* was-row: [strikethrough] [Save red] side by side — created by JS */
.rfd-card .rfd-was-row {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
}
.rfd-card .rfd-cwas {
  font-size: 12px !important;
  color: #6b6b6e !important;
  text-decoration: line-through !important;
  font-weight: 400 !important;
  white-space: nowrap !important;
}
.rfd-card .rfd-csave {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #d0312d !important;
  white-space: nowrap !important;
}
/* Actions: right column, aligned to bottom of foot row */
.rfd-card .rfd-cact {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding-bottom: 4px !important;
}

/* ── K. CATEGORY HEADING ─────────────────────────────────────── */
.rf-cat-h {
  font-size: clamp(18px, 2vw, 22px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
  line-height: 1.18 !important;
  color: #1d1d1f !important;
}
.rf-cat-sub {
  font-size: 12px !important;
  color: #6e6e73 !important;
  line-height: 1.45 !important;
  max-width: 260px !important;
}

/* ══════════════════════════════════════════════════════════════
   K2. PARTS FINDER RAILROW → display:flex (parts-finder.css
   doesn't set this; unified only sets it for rf-cat-railrow)
   ══════════════════════════════════════════════════════════════ */
.rpf-railrow {
  display: flex !important;
  align-items: stretch !important;
}

/* ══════════════════════════════════════════════════════════════
   L. RAIL LEFT PANEL — matches shop.html cat-sec-l exactly
   ══════════════════════════════════════════════════════════════ */
.rf-sec-left {
  flex-shrink: 0 !important;
  width: 300px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  justify-content: flex-start !important;
  padding: 28px 0 28px !important;
}
.rf-sec-hd {
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
  line-height: 1.18 !important;
  color: #1d1d1f !important;
  margin: 0 !important;
  white-space: nowrap !important;
}
.rf-sec-sub {
  font-size: 12px !important;
  color: #6e6e73 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  font-weight: 400 !important;
  white-space: normal !important;
}

/* CTA link below description — matches fbar active pill look */
.rf-sec-cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  height: 32px !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  background: var(--brand-blue) !important;
  color: #fff !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  width: fit-content !important;
  transition: background 150ms !important;
}
.rf-sec-cta:hover { background: #005bb5 !important; }

/* Pill tabs (Shop Parts | Equipment | Pre-Owned) — cat-tabs style */
.rf-sec-tabs {
  display: flex !important;
  gap: 0 !important;
  background: rgba(0,0,0,0.04) !important;
  border-radius: 11px !important;
  padding: 3px !important;
  width: fit-content !important;
  max-width: 100% !important;
}
.rf-sec-tab {
  height: 34px !important;
  padding: 0 13px !important;
  border-radius: 8px !important;
  border: none !important;
  background: transparent !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  color: #515154 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  font-family: -apple-system, BlinkMacSystemFont, 'InterVariable', 'Inter', system-ui, sans-serif !important;
  transition: color 200ms, background 200ms !important;
}
.rf-sec-tab.on {
  background: var(--brand-blue) !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(0,102,204,0.28) !important;
}
.rf-sec-tab:not(.on):hover {
  background: rgba(0,0,0,0.06) !important;
  color: #1d1d1f !important;
}

/* Search input inside left panel */
.rf-sec-left .rpf-search-wrap {
  border-radius: 8px !important;
  background: rgba(0,0,0,0.04) !important;
  border: 1.5px solid rgba(0,0,0,0.08) !important;
  height: 34px !important;
  padding: 0 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  transition: border-color 150ms, background 150ms !important;
  margin-top: 0 !important;
}
.rf-sec-left .rpf-search-wrap:focus-within {
  border-color: var(--brand-blue) !important;
  background: #fff !important;
}
.rf-sec-left .rpf-search-ico svg {
  width: 13px !important; height: 13px !important; stroke: var(--t3) !important;
}
.rf-sec-left .rpf-search-in {
  border: none !important; background: none !important;
  font-size: 12.5px !important; color: #1d1d1f !important;
  outline: none !important; width: 100% !important;
}
.rf-sec-left .rpf-search-in::placeholder { color: #ababab !important; }

/* Vertical separator */
.cat-sep {
  width: 1px !important;
  background: rgba(0,0,0,0.08) !important;
  flex-shrink: 0 !important;
  margin: 0 28px !important;
  align-self: stretch !important;
}

/* Rail / tabs wrap fill remaining space */
.rf-cat-rail-wrap {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: visible !important;
  display: flex !important;
  align-items: center !important;
}
.rpf-tabs-wrap {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: visible !important;
  display: flex !important;
  align-items: center !important;
}
/* rpf-tabs: full-width grid inside wrap */
#rpf-tabs {
  width: 100% !important;
}
/* rf-cat-rail: full-width grid inside wrap */
#rf-cat-root .rf-cat-rail {
  width: 100% !important;
}

/* ══ TILE ICONS + COUNTS ═══════════════════════════════════════════════════════ */
/* rpf-tab label span */
.rpf-tab-lbl {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #1d1d1f !important;
  text-align: center !important;
  line-height: 1.2 !important;
}
.rpf-tab.active .rpf-tab-lbl { color: #1d1d1f !important; }

/* Icon inside tiles */
#rf-cat-root .rf-cat-item svg,
.rpf-tab svg {
  width: 28px !important;
  height: 28px !important;
  flex-shrink: 0 !important;
  color: #1d1d1f !important;
  stroke-width: 1.8 !important;
}
#rf-cat-root .rf-cat-item[data-active="true"] svg,
.rpf-tab.active svg { color: var(--brand-blue) !important; }

/* Count badge on tile label */
.rf-cat-item-ct {
  font-size: 10px !important;
  font-weight: 700 !important;
  color: var(--brand-blue) !important;
  letter-spacing: -0.01em !important;
  display: inline !important;
  margin-left: 3px !important;
}
/* New badge */
#rf-cat-root .rf-cat-item .rf-cat-item-new-badge {
  display: inline-flex !important;
  font-size: 8px !important;
  font-weight: 700 !important;
  padding: 2px 5px !important;
  border-radius: 999px !important;
  background: #1f7a3a !important;
  color: #fff !important;
  letter-spacing: 0.04em !important;
  margin-top: 2px !important;
}

/* ══ PARTS FINDER SEARCH ROW ═══════════════════════════════════════════════ */
/* Force-hide parts count — parts-finder.js overrides display:none via JS */
#rpf-pcount { display: none !important; }
.rpf-search-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px 18px !important;
  border-bottom: 1px solid rgba(0,0,0,0.07) !important;
}
.rpf-search-row .rpf-search-wrap {
  flex: 1 !important;
  max-width: 520px !important;
  border-radius: 8px !important;
  background: #f0f0f2 !important;
  border: 1px solid rgba(0,0,0,0.07) !important;
  height: 44px !important;
  padding: 0 18px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: background 150ms, border-color 150ms, box-shadow 150ms !important;
  box-shadow: none !important;
}
.rpf-search-row .rpf-search-wrap:hover {
  background: #f8f8f8 !important;
  border-color: rgba(0,0,0,0.12) !important;
}
.rpf-search-row .rpf-search-wrap:focus-within {
  background: #fff !important;
  border-color: var(--brand-blue) !important;
  box-shadow: 0 0 0 3px rgba(0,102,204,0.12) !important;
}
.rpf-search-row .rpf-search-ico svg {
  width: 15px !important;
  height: 15px !important;
  stroke: var(--t3) !important;
  flex-shrink: 0 !important;
}
.rpf-search-row .rpf-search-in {
  border: none !important;
  background: none !important;
  font-size: 13.5px !important;
  color: #1d1d1f !important;
  outline: none !important;
  width: 100% !important;
}
.rpf-search-row .rpf-search-in::placeholder { color: #ababab !important; }

/* ══ REMOVE old rfd-cpr-act rules (RF_CARD now outputs correct structure) ══ */
.rfd-card .rfd-cb > .rfd-cpr-act { display: none !important; }

/* ══════════════════════════════════════════════════════════════
   N. PROMO PANELS — richer dark gradient fallback (for when
   product images don't load — intentional dark design matches
   shop.html adv-block aesthetic)
   ══════════════════════════════════════════════════════════════ */
.rfd-promo {
  background: linear-gradient(145deg, #0f1923 0%, #0a1420 60%, #061018 100%) !important;
}


/* ═══════════════════════════════════════════════════════════════
   BORDER-RADIUS STANDARDISATION — shop.html values site-wide
   ═══════════════════════════════════════════════════════════════ */

/* Search bars → 8px */
.rpf-search-wrap,
.rf-sec-left .rpf-search-wrap,
.rpf-search-row .rpf-search-wrap,
.rf-bar__search,
.rpf-head .rpf-search-in { border-radius: 8px !important; }

/* Spare parts / empty state CTAs */
.rf-spare-btn-primary,
.rf-spare-btn-outline,
.rf-cat-empty-cta,
.rf-drawer-empty-cta,
.rf-cat-head-link,
.rf-drawer-link { border-radius: 8px !important; }

/* Parts finder tabs */
.rpf-tab,
.rpf-tab-pill,
.rpf-sel-pill,
.rpf-dhead .rpf-tabs,
#rpf-tabs { border-radius: 8px !important; }

/* Panel cards / thumbnails */
.rf-panel__card { border-radius: 10px !important; }
.rf-panel__thumb { border-radius: 8px !important; }
.rf-panel__foot-cta { border-radius: 8px !important; }

/* Trust blocks */
.rf-trust-item { border-radius: 10px !important; }
.rf-trust-icon { border-radius: 8px !important; }

/* Footer newsletter / region */
.v1f-news-form input,
.v1f-news-form button,
.v1f-region { border-radius: 8px !important; }
.v1f-pay-logo,
.v1f-pay-chip { border-radius: 6px !important; }

/* Booking wizard fields */
.rfb__mm-inp,
.rfb__mm-sel,
.rfb__seg,
.rfb__mach,
.rfb__sel,
.rfb__fault-ta,
.rfb__q-note,
.rfb__add-mach,
.rfbs__empty,
.rfbs__slot,
.rfb__err,
.rfb__auth,
.rfb__photo-add,
.rfb__photo-thumb { border-radius: 8px !important; }
.rfb__cta-btn { border-radius: 8px !important; }
.rfb__seg-thumb,
.rfb__seg-btn { border-radius: 6px !important; }
.rfbc__day { border-radius: 6px !important; }
.rfbs__slot { border-radius: 8px !important; }
.rfb__q-lines { border-radius: 8px !important; }

/* rfd lightbox */
.rfd-lb-box { border-radius: 14px !important; }
.rfd-lb-buy { border-radius: 8px !important; }
.rfd-lb-pg { border-radius: 8px !important; }

/* rfd discover (shell) */
.rfd-shell { border-radius: 12px !important; }
.rf-cat-shell { border-radius: 12px !important; }

/* cat-item image cutout */
.rf-cat .rf-cat-item .rf-cat-item-img,
.rf-cat .rf-cat-item .rf-cat-item-cutout { border-radius: 8px !important; }
.rf-cat .rf-cat-item .rf-cat-item-cutout img { border-radius: 4px !important; }

/* pcard (product card in panels) */
.rf-pcard { border-radius: 12px !important; }
.rf-pcard-tag { border-radius: 6px !important; }
.rf-pcard-add { border-radius: 8px !important; }

.rf-spare-banner-wrap,.rf-spare-banner{background:#fff!important;}

/* ══ PARTS FINDER — fbar-style search + filter bar ══════════════ */
.rpf-search-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  padding: 12px 0 8px !important;
}
.rpf .rpf-search-wrap,
.rpf-search-row .rpf-search-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  height: 34px !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  border: 1.5px solid rgba(0,0,0,0.12) !important;
  background: #fff !important;
  min-width: 200px !important;
  flex: 1 !important;
  max-width: 360px !important;
  box-shadow: none !important;
}
.rpf-search-ico {
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  color: #6b6b6e !important;
}
.rpf-search-ico svg { width: 14px !important; height: 14px !important; }
.rpf-search-in {
  border: none !important;
  outline: none !important;
  font: 400 13px -apple-system,BlinkMacSystemFont,system-ui,sans-serif !important;
  color: #1d1d1f !important;
  width: 100% !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  height: auto !important;
  box-shadow: none !important;
}
.rpf-search-count { font-size: 12px !important; color: #6b6b6e !important; white-space: nowrap !important; }

/* Parts Finder selector bar — match fd dropdown style */
.rpf-sel-row, .rpf-selector-bar {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}


/* ═══════════════════════════════════════════════════════════════
   HOMEPAGE MAKEOVER — Apple/Samsung-grade rhythm & typography
   ═══════════════════════════════════════════════════════════════ */

/* ── Section vertical rhythm ── */
.rfd { padding: 72px 0 64px !important; background: #fafafa !important; }
.rf-trust { padding: 80px 24px !important; background: #fff !important; max-width: none !important; }
.rf-trust-inner, .rf-trust-head { max-width: 1600px; margin-left: auto !important; margin-right: auto !important; }
.shop-home-sec { background: #fafafa !important; padding: 72px 0 56px !important; }
.rf-spare-banner-wrap { padding: 0 24px !important; background: #fff !important; }
.rpf-section { padding: 80px 24px !important; background: #fff !important; }

/* ── ONE heading scale for every section ── */
.rfd-heading,
.rf-trust-heading,
.rpf-h,
.rpf-head .rpf-h,
.rf-spare-heading {
  font-family:'InterVariable','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,system-ui,sans-serif !important;
  font-size: clamp(28px, 3.2vw, 44px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
  line-height: 1.1 !important;
  color: #1d1d1f !important;
}
.rfd-sub,
.rf-trust-subheading,
.rpf-sub,
.rpf-head .rpf-sub {
  font-family: -apple-system, BlinkMacSystemFont, system-ui, sans-serif !important;
  font-size: clamp(15px, 1.4vw, 18px) !important;
  font-weight: 400 !important;
  color: #515154 !important;
  line-height: 1.5 !important;
}

/* ── Section heading spacing ── */
.rfd-head { margin-bottom: 28px !important; }
.rf-trust-head { margin-bottom: 36px !important; }
.rpf-head { margin-bottom: 28px !important; }

/* ── Trust cards — elevated, Samsung-style ── */
.rf-trust-item {
  background: #fafafa !important;
  border: none !important;
  border-radius: 16px !important;
  padding: 28px 24px !important;
  transition: transform 200ms, box-shadow 200ms !important;
}
.rf-trust-item:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 40px -12px rgba(0,0,0,0.12) !important;
}

/* ── Spare banner — premium dark accent (true dark, not grey) ── */
.rf-spare-banner {
  background: linear-gradient(145deg, #0f1923 0%, #0a1420 60%, #061018 100%) !important;
  border-radius: 20px !important;
  padding: 56px 48px !important;
  max-width: 1600px !important;
  margin: 0 auto !important;
}
.rf-spare-heading { color: #fff !important; }
.rf-spare-text { color: rgba(255,255,255,0.6) !important; }

/* ── Footer separation ── */
.v1f-root { margin-top: 0 !important; }

/* ── Kill stray inline font-family hacks ── */
[style*="font-family: system-ui"],
[style*="font-family: sans-serif"] {
  font-family: -apple-system, BlinkMacSystemFont, system-ui, sans-serif !important;
}

/* ── Kill horizontal overflow ── */
html, body { overflow-x: clip !important; }


/* ═══════════════════════════════════════════════════════════════
   DEALS & OFFERS — match shop section design
   ═══════════════════════════════════════════════════════════════ */

/* 1. Remove left promo banner — cards fill the shell like shop page */
.rfd-promo { display: none !important; }
.rfd-track { grid-template-columns: 1fr !important; display: block !important; }

/* 2. Tabs on the LEFT, "now showing" info on the right */
.rfd-dhead {
  flex-direction: row-reverse !important;
  justify-content: space-between !important;
}
.rfd-dhead-left { text-align: right !important; }

/* 3. Header bar: card pop like shop filter row */
.rfd-dhead {
  background: #fff !important;
  border: 1.5px solid rgba(0,0,0,0.07) !important;
  border-radius: 14px !important;
  padding: 10px 14px !important;
  box-shadow: 0 2px 12px -4px rgba(0,0,0,0.06) !important;
  margin-bottom: 14px !important;
}

/* 4. Shell: lighten — let cards breathe like shop page */
.rfd-shell {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}


/* ═══════════════════════════════════════════════════════════════
   ROUND 2 POLISH — segmented tabs, flat deals, footer, parts finder
   ═══════════════════════════════════════════════════════════════ */

/* ── 1. SEGMENTED WHITE TABS — shop section ── */
.shop-embed .cat-tabs {
  display: inline-flex !important;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  gap: 0 !important;
  margin: 0 !important;
  position: relative !important;
}
.shop-embed .cat-pill { display: none !important; }
.shop-embed .cat-tab {
  flex: none !important;
  height: 34px !important;
  padding: 0 16px !important;
  background: #fff !important;
  border: 1.5px solid rgba(0,0,0,0.14) !important;
  color: #1d1d1f !important;
  font-weight: 600 !important;
  font-size: 12.5px !important;
  border-radius: 0 !important;
  transition: background 150ms, color 150ms, border-color 150ms !important;
}
.shop-embed .cat-tab:first-of-type { border-radius: 8px 0 0 8px !important; }
.shop-embed .cat-tab:last-of-type { border-radius: 0 8px 8px 0 !important; border-left-width: 0 !important; }
.shop-embed .cat-tab.on {
  background: var(--brand-blue) !important;
  border-color: var(--brand-blue) !important;
  color: #fff !important;
}
.shop-embed .cat-tab:not(.on):hover { background: #f5f5f7 !important; }

/* search sits mid-row */
.shop-embed .fbar-search--mid { max-width: 260px !important; flex: 1 1 200px !important; }

/* ── 2. SAME SEGMENTED STYLE — deals tabs ── */
.rfd-dhead-tabs {
  background: transparent !important;
  padding: 0 !important;
  gap: 0 !important;
}
.rfd-dhead-pill { display: none !important; }
.rfd-dhead-tabs button {
  height: 34px !important;
  padding: 0 16px !important;
  background: #fff !important;
  border: 1.5px solid rgba(0,0,0,0.14) !important;
  color: #1d1d1f !important;
  font-weight: 600 !important;
  font-size: 12.5px !important;
  border-radius: 0 !important;
  transition: background 150ms, color 150ms, border-color 150ms !important;
}
.rfd-dhead-tabs button:first-of-type { border-radius: 8px 0 0 8px !important; }
.rfd-dhead-tabs button:last-of-type { border-radius: 0 8px 8px 0 !important; }
.rfd-dhead-tabs button:not(:first-of-type) { border-left-width: 0 !important; }
.rfd-dhead-tabs button[aria-selected="true"] {
  background: var(--brand-blue) !important;
  border-color: var(--brand-blue) !important;
  color: #fff !important;
}
.rfd-dhead-tabs button:not([aria-selected="true"]):hover { background: #f5f5f7 !important; }

/* ── 3. Remove "on offer" count ── */
.rfd-dcount { display: none !important; }

/* ── 4. DEALS: flat on background — kill container look ── */
.rfd-stage, .rfd-pane, .rfd-track {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.rfd-dhead { margin-bottom: 10px !important; }

/* ── 5. "Showing X of Y" — top-left like shop's grid-meta; arrows top-right ── */
.rfd-pane { display: flex !important; flex-direction: column !important; }
.rfd-foot {
  order: -1 !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.rfd-foot-label {
  font: 400 12.5px -apple-system, system-ui, sans-serif !important;
  color: #6b6b6e !important;
}
.rfd-foot-left { display: flex !important; align-items: center !important; gap: 12px !important; flex: 1 !important; justify-content: space-between !important; }

/* ── 6. FOOTER newsletter — clear active input ── */
.v1f-news-form {
  display: flex !important;
  gap: 8px !important;
}
.v1f-news-form input {
  flex: 1 !important;
  height: 44px !important;
  padding: 0 16px !important;
  border-radius: 8px !important;
  border: 1.5px solid rgba(255,255,255,0.25) !important;
  background: rgba(255,255,255,0.07) !important;
  color: #fff !important;
  font-size: 14px !important;
  transition: border-color 150ms, background 150ms, box-shadow 150ms !important;
}
.v1f-news-form input::placeholder { color: rgba(255,255,255,0.45) !important; }
.v1f-news-form input:hover { border-color: rgba(255,255,255,0.4) !important; }
.v1f-news-form input:focus {
  border-color: #0a84ff !important;
  background: rgba(255,255,255,0.10) !important;
  box-shadow: 0 0 0 3.5px rgba(10,132,255,0.25) !important;
  outline: none !important;
}
.v1f-news-form button {
  height: 44px !important;
  padding: 0 22px !important;
  border-radius: 8px !important;
  background: var(--brand-blue) !important;
  color: #fff !important;
  font: 600 14px -apple-system, system-ui, sans-serif !important;
  border: none !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  transition: background 150ms !important;
}
.v1f-news-form button:hover { background: #005bb5 !important; }
/* headline rhythm */
.v1f-news-headline {
  font-size: clamp(20px, 2vw, 26px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.15 !important;
}
.v1f-news-lead { font-size: 13px !important; line-height: 1.5 !important; margin: 8px 0 16px !important; }

/* ── 7. PARTS FINDER: 5 across ── */
.rpf-grid { grid-template-columns: repeat(5, 1fr) !important; }
@media (max-width: 1100px) { .rpf-grid { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 820px) { .rpf-grid { grid-template-columns: repeat(2, 1fr) !important; } }

/* ── 8. PARTS FINDER search bar repair ── */
.rpf .rpf-search-wrap, .rpf-search-row .rpf-search-wrap {
  height: 36px !important;
  flex: 1 1 240px !important;
  max-width: 320px !important;
  align-items: center !important;
}
.rpf-search-in { line-height: normal !important; }


/* ═══════════════════════════════════════════════════════════════
   TRUST BLOCKS — modern card treatment matching new design
   ═══════════════════════════════════════════════════════════════ */
.rf-trust {
  background: #fafafa !important;
  padding: 64px clamp(20px, 4vw, 48px) 72px !important;
}
.rf-trust-head { margin-bottom: 32px !important; }
.rf-trust-heading {
  font-size: clamp(24px, 2.6vw, 34px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
  line-height: 1.12 !important;
  color: #1d1d1f !important;
}
.rf-trust-subheading {
  font-size: 15px !important;
  color: #515154 !important;
  margin-top: 8px !important;
}

/* Grid of 4 white cards */
.rf-trust-inner {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 14px !important;
  max-width: 1600px !important;
  margin: 0 auto !important;
  border: none !important;
}
@media (max-width: 1000px) { .rf-trust-inner { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 560px)  { .rf-trust-inner { grid-template-columns: 1fr !important; } }

.rf-trust-item {
  background: #fff !important;
  border: 1.5px solid rgba(0,0,0,0.07) !important;
  border-radius: 14px !important;
  padding: 26px 24px 22px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 14px !important;
  transition: transform 220ms cubic-bezier(0.2,0,0,1), box-shadow 220ms, border-color 220ms !important;
  box-shadow: none !important;
}
.rf-trust-item:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(0,0,0,0.13) !important;
  box-shadow: 0 14px 36px -10px rgba(0,0,0,0.12) !important;
}

/* Icon: blue tinted square */
.rf-trust-icon {
  width: 46px !important;
  height: 46px !important;
  border-radius: 12px !important;
  background: rgba(0,102,204,0.08) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  transition: background 200ms !important;
}
.rf-trust-item:hover .rf-trust-icon { background: rgba(0,102,204,0.13) !important; }
.rf-trust-icon svg {
  width: 22px !important;
  height: 22px !important;
  stroke: var(--brand-blue) !important;
  stroke-width: 1.8 !important;
  fill: none !important;
}
.rf-trust-icon svg * { stroke: var(--brand-blue) !important; }

.rf-trust-body { display: flex !important; flex-direction: column !important; gap: 5px !important; flex: 1 !important; }
.rf-trust-label {
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: #1d1d1f !important;
}
.rf-trust-sub {
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #515154 !important;
}

/* Learn more link */
.rf-trust-link {
  margin-top: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font: 600 13px -apple-system, system-ui, sans-serif !important;
  color: var(--brand-blue) !important;
  text-decoration: none !important;
}
.rf-trust-link .link-arrow { display: inline-flex !important; transition: transform 200ms !important; }
.rf-trust-link:hover .link-arrow { transform: translateX(3px) !important; }
.rf-trust-link:hover .link-text { text-decoration: underline !important; text-underline-offset: 3px !important; }


/* ═══════════════════════════════════════════════════════════════
   MACHINE FINDER BREAKER BANNER
   ═══════════════════════════════════════════════════════════════ */
.mf-break{
  background:linear-gradient(160deg,#0f1923 0%,#0a1420 55%,#06283f 100%);
  color:#fff;padding:56px clamp(20px,4vw,48px);position:relative;overflow:hidden;
}
.mf-break::after{content:'';position:absolute;inset:auto -10% -70% 40%;height:120%;background:radial-gradient(ellipse at center,rgba(0,102,204,0.22),transparent 70%);pointer-events:none;}
.mf-break-inner{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:40px;align-items:center;position:relative;z-index:2;}
@media(max-width:860px){.mf-break-inner{grid-template-columns:1fr;}}
.mf-break-ey{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#4da3ff;margin:0 0 12px;}
.mf-break-h{font-size:clamp(24px,3.2vw,40px);font-weight:700;letter-spacing:-.04em;line-height:1.1;margin:0 0 12px;}
.mf-break-sub{font-size:15px;color:rgba(255,255,255,0.6);line-height:1.55;max-width:560px;margin:0 0 24px;}
.mf-break-ctas{display:flex;gap:10px;flex-wrap:wrap;}
.mf-break-cta{display:inline-flex;align-items:center;height:44px;padding:0 24px;border-radius:9px;background:var(--brand-blue);color:#fff;font:600 14.5px -apple-system,system-ui,sans-serif;text-decoration:none;transition:background 150ms,transform 150ms;}
.mf-break-cta:hover{background:#0a84ff;transform:translateY(-1px);}
.mf-break-ghost{display:inline-flex;align-items:center;height:44px;padding:0 24px;border-radius:9px;border:1.5px solid rgba(255,255,255,0.3);color:#fff;font:600 14.5px -apple-system,system-ui,sans-serif;text-decoration:none;transition:border-color 150ms,background 150ms;}
.mf-break-ghost:hover{border-color:rgba(255,255,255,0.6);background:rgba(255,255,255,0.06);}
.mf-break-r{display:flex;flex-direction:column;gap:18px;padding-right:clamp(0px,2vw,40px);}
@media(max-width:860px){.mf-break-r{flex-direction:row;gap:32px;padding:0;}}
.mf-break-stat{display:flex;flex-direction:column;gap:2px;}
.mf-break-stat b{font-size:clamp(22px,2.6vw,32px);font-weight:700;letter-spacing:-.04em;color:#4da3ff;}
.mf-break-stat span{font-size:12px;color:rgba(255,255,255,0.5);}


/* ═══ DEALS: header simplify + new pagination design ═══ */
/* 2. upper section: hide redundant 'Now showing' block — tabs speak for themselves */
.rfd-dhead-left { display: none !important; }
.rfd-dhead { justify-content: center !important; padding: 14px 18px !important; }

/* 3. pagination: Apple-style — big ghost arrows + pill dots, spaced */
.rfd-foot { padding: 18px 6px 6px !important; }
.rfd-foot-pgwrap {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-left: 22px !important;
}
.rfd-nav-pg {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  border: 1.5px solid rgba(0,0,0,0.14) !important;
  background: #fff !important;
  color: #1d1d1f !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: background 150ms, border-color 150ms, transform 150ms !important;
}
.rfd-nav-pg svg { width: 16px !important; height: 16px !important; }
.rfd-nav-pg:hover:not(.is-dis) {
  background: #1d1d1f !important;
  border-color: #1d1d1f !important;
  color: #fff !important;
  transform: scale(1.05) !important;
}
.rfd-nav-pg.is-dis { opacity: 0.3 !important; cursor: default !important; }
.rfd-foot-dots { display: flex !important; align-items: center !important; gap: 8px !important; }
.rfd-foot-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 4px !important;
  background: rgba(0,0,0,0.18) !important;
  transition: width 250ms cubic-bezier(0.2,0,0,1), background 250ms !important;
}
.rfd-foot-dot.active {
  width: 26px !important;
  background: var(--brand-blue) !important;
}


/* ═══ 7. TRUST → 'Why the right machine matters' theme ═══ */
.rf-trust { background: #fafafa !important; padding: 64px clamp(20px,4vw,48px) 72px !important; }
.rf-trust-head { text-align: center !important; margin-bottom: 30px !important; }
.rf-trust-heading {
  font-size: clamp(22px,2.8vw,32px) !important;
  letter-spacing: -.04em !important;
}
.rf-trust-subheading {
  font-size: 14.5px !important;
  max-width: 620px !important;
  margin: 8px auto 0 !important;
}
.rf-trust-item {
  background: #fff !important;
  border: 1.5px solid rgba(0,0,0,0.07) !important;
  border-radius: 14px !important;
  padding: 24px !important;
  gap: 8px !important;
  box-shadow: none !important;
  transform: none !important;
}
.rf-trust-item:hover { transform: none !important; box-shadow: none !important; border-color: rgba(0,0,0,0.07) !important; }
.rf-trust-icon {
  width: 40px !important; height: 40px !important;
  border-radius: 10px !important;
  background: transparent !important;
  margin-bottom: 2px !important;
  justify-content: flex-start !important;
}
.rf-trust-icon svg { width: 26px !important; height: 26px !important; stroke: var(--brand-blue) !important; }
.rf-trust-label { font-size: 15px !important; }
.rf-trust-sub { font-size: 13px !important; line-height: 1.55 !important; }
.rf-trust-link { margin-top: 6px !important; font-size: 12.5px !important; }

/* ═══ 8. MACHINE FINDER BANNER — more focus ═══ */
.mf-break { padding: 72px clamp(20px,4vw,48px) !important; }
.mf-break-h { font-size: clamp(28px,3.8vw,48px) !important; }
.mf-break-sub { font-size: 16px !important; max-width: 620px !important; }
.mf-break-cta {
  height: 50px !important;
  padding: 0 30px !important;
  font-size: 15.5px !important;
  border-radius: 11px !important;
  box-shadow: 0 10px 28px -8px rgba(0,102,204,0.55) !important;
}
.mf-break-ghost { height: 50px !important; padding: 0 30px !important; font-size: 15.5px !important; border-radius: 11px !important; }


/* ═══ 10. PARTS FINDER — clean step flow ═══ */
.rpf-step-ey {
  display: flex; align-items: center; gap: 10px;
  font: 700 12px -apple-system, system-ui, sans-serif;
  letter-spacing: .06em; text-transform: uppercase;
  color: #6b6b6e;
  padding: 18px 4px 10px;
}
.rpf-step-n {
  width: 24px; height: 24px; border-radius: 50%;
  background: rgba(0,102,204,0.10); color: var(--brand-blue);
  font: 700 12px -apple-system, system-ui, sans-serif;
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.rpf-railrow { padding: 0 !important; border: none !important; }
.rpf-tabs-wrap { width: 100%; }

/* search row repair */
.rpf-search-row {
  display: flex !important; align-items: center !important; gap: 14px !important;
  padding: 0 4px 6px !important;
}
.rpf-search-wrap {
  display: flex !important; align-items: center !important; gap: 10px !important;
  flex: 1 !important; max-width: 460px !important; height: 40px !important;
  padding: 0 16px !important;
  border: 1.5px solid rgba(0,0,0,0.12) !important;
  border-radius: 10px !important;
  background: #fff !important;
  transition: border-color 150ms, box-shadow 150ms !important;
}
.rpf-search-wrap:focus-within {
  border-color: var(--brand-blue) !important;
  box-shadow: 0 0 0 3.5px rgba(0,102,204,0.13) !important;
}
.rpf-search-ico { display: flex; color: #6b6b6e; position: static !important; }
.rpf-search-ico svg { width: 15px; height: 15px; }
.rpf-search-in {
  border: none !important; outline: none !important; background: transparent !important;
  font: 400 13.5px -apple-system, system-ui, sans-serif !important;
  color: #1d1d1f !important; width: 100% !important;
}
.rpf-search-count { font: 500 12px -apple-system, system-ui, sans-serif; color: #6b6b6e; white-space: nowrap; }

/* selector bar — hidden until a machine type is chosen (.show) */
.rpf-sel-bar { display: none !important; }
.rpf-sel-bar.show {
  display: flex !important; flex-direction: column !important; gap: 12px !important;
  background: #fafafa !important;
  border: 1.5px solid rgba(0,0,0,0.06) !important;
  border-radius: 14px !important;
  padding: 16px 18px !important;
  margin: 4px 4px 12px !important;
  transform: none !important;
}
.rpf-sel-section {
  display: flex !important; align-items: center !important; gap: 12px !important;
  flex-wrap: wrap !important;
}
.rpf-model-section { display: none !important; }
.rpf-model-section.show {
  display: flex !important; align-items: center !important; gap: 12px !important;
  flex-wrap: wrap !important;
  transform: none !important;
}
.rpf-sel-lbl {
  font: 700 10.5px -apple-system, system-ui, sans-serif !important;
  letter-spacing: .1em !important; text-transform: uppercase !important;
  color: #6b6b6e !important; min-width: 46px !important;
}
.rpf-sel-lbl::before { content: none !important; }
.rpf-sel-divider { display: none !important; }
.rpf-sel-pills { display: flex !important; flex-wrap: wrap !important; gap: 7px !important; }
.rpf-sel-pill {
  height: 32px !important; padding: 0 14px !important;
  border-radius: 8px !important;
  border: 1.5px solid rgba(0,0,0,0.12) !important;
  background: #fff !important;
  font: 600 12.5px -apple-system, system-ui, sans-serif !important;
  color: #1d1d1f !important; cursor: pointer !important;
  transition: border-color 150ms, background 150ms, color 150ms !important;
}
.rpf-sel-pill:hover { border-color: rgba(0,0,0,0.26) !important; }
.rpf-sel-pill.on, .rpf-sel-pill.active {
  background: var(--brand-blue) !important; border-color: var(--brand-blue) !important; color: #fff !important;
}
.rpf-bc-strip { display: none !important; }
.rpf-bc-strip.show { display: flex !important; padding: 0 8px 10px !important; }

/* step rows: label above tiles, full width */
.rpf-railrow {
  display: flex !important; flex-direction: column !important;
  align-items: stretch !important; gap: 4px !important;
  padding: 0 !important; border: none !important;
}
.rpf-step-ey { padding: 16px 4px 10px !important; }
.rpf-tabs-wrap { width: 100% !important; }

/* ═══ 11. FOOTER SOCIAL ICONS — visible + correct shape ═══ */
.v1f-root .v1f-social { display: flex !important; gap: 10px !important; }
.v1f-root .v1f-social a {
  width: 40px !important; height: 40px !important; border-radius: 10px !important;
  border: 2px solid var(--brand-blue) !important; background: #EDEDED !important; color: var(--brand-blue) !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  transition: background 150ms, color 150ms, transform 150ms !important;
}
.v1f-root .v1f-social a:hover {
  background: var(--brand-blue) !important; border-color: var(--brand-blue) !important;
  color: #fff !important; transform: translateY(-2px) !important;
}
.v1f-root .v1f-social svg { stroke: currentColor !important; width: 21px !important; height: 21px !important; stroke-width: 2 !important; display: block !important; opacity: 1 !important; visibility: visible !important; }
.v1f-root .v1f-social svg [fill]:not([fill="none"]) { fill: currentColor !important; }


/* ═══ FIX: inactive deals panes must overlay, not stack ═══ */
/* NOTE: opacity is owned by additional.css (.rfd-pane / .rfd-pane.in fade flow) — do not declare it here */
.rfd-stage { position: relative !important; }
.rfd-pane:not(.on) {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  overflow: hidden !important;
}
.rfd-pane.on {
  position: static !important;
  height: auto !important;
  overflow: visible !important;
  pointer-events: auto !important;
}


/* ══════════════════════════════════════════════════════════════
   DISCOVER DEALS — flat layout (match Shop Equipment / Pre-Owned)
   No shell, no stage chrome. Cards sit on the page background.
   ══════════════════════════════════════════════════════════════ */
.rfd .rfd-shell {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
.rfd .rfd-stage {
  padding: 0 !important;
  background: transparent !important;
}
.rfd .rfd-pane {
  padding: 0 !important;
  background: transparent !important;
}
.rfd .rfd-grid-shell {
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
}
/* Deals section padding/width — match shop-home-sec */
.rfd { padding: 56px 0 64px !important; background: #fff !important; }
.rfd-w { max-width: 1680px !important; padding: 0 40px !important; margin: 0 auto !important; }
/* Card grid: column rhythm handled by the 5-across rule below */
.rfd .pgrid {
  display: grid !important;
  gap: 16px !important;
  background: transparent !important;
  padding: 0 !important;
}
/* Inherit card styles — already same .card class */
.rfd .pag {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 20px 0 0 !important;
  border-top: 1px solid rgba(0,0,0,0.08) !important;
  margin-top: 24px !important;
}
.rfd .pag-info { font-size: 12.5px !important; color: #6e6e73 !important; }
.rfd .pag-controls { display: flex !important; align-items: center !important; gap: 8px !important; }
.rfd .pag-btn { width: 30px !important; height: 30px !important; border-radius: 7px !important; border: 1.5px solid rgba(0,0,0,0.08) !important; background: #fff !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #515154 !important; }
.rfd .pag-btn:disabled { opacity: .4 !important; cursor: not-allowed !important; }
.rfd .pag-btn svg { width: 11px !important; height: 11px !important; stroke-width: 2.5 !important; }
.rfd .pag-dots { display: flex !important; gap: 4px !important; align-items: center !important; }
.rfd .pag-dot { width: 6px !important; height: 6px !important; border-radius: 50% !important; background: rgba(0,0,0,.15) !important; }
.rfd .pag-dot.on { background: var(--brand-blue) !important; width: 18px !important; border-radius: 3px !important; }
.rfd .btn-browse { height: 30px !important; padding: 0 14px !important; border-radius: 7px !important; border: 1.5px solid rgba(0,0,0,0.08) !important; background: #fff !important; font: 500 12.5px var(--font) !important; color: #515154 !important; cursor: pointer !important; text-decoration: none !important; display: inline-flex !important; align-items: center !important; }
.rfd .btn-browse:hover { border-color: var(--brand-blue) !important; color: var(--brand-blue) !important; }


/* ══════════════════════════════════════════════════════════════
   PRODUCT CARD SYSTEM — .card / .pgrid / .btn-cart / .btn-view
   Used by shop-logic.js (shop & deals sections). All SVG icons
   get explicit sizes here so they never stretch.
   ══════════════════════════════════════════════════════════════ */

/* ── grid ── */
.pgrid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
  background:transparent;
}
@media(max-width:1400px){.pgrid{grid-template-columns:repeat(4,1fr);}}
@media(max-width:1060px){.pgrid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:720px){.pgrid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.pgrid{grid-template-columns:1fr;}}

/* deals section — 5 across */
.rfd .pgrid{grid-template-columns:repeat(5,1fr) !important;}
@media(max-width:1400px){.rfd .pgrid{grid-template-columns:repeat(4,1fr) !important;}}
@media(max-width:1060px){.rfd .pgrid{grid-template-columns:repeat(3,1fr) !important;}}
@media(max-width:720px){.rfd .pgrid{grid-template-columns:repeat(2,1fr) !important;}}
@media(max-width:480px){.rfd .pgrid{grid-template-columns:1fr !important;}}

/* ── card shell ── */
.card{
  background:#fff;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:14px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  position:relative;
  transition:box-shadow 220ms cubic-bezier(.2,.9,.2,1),transform 220ms cubic-bezier(.2,.9,.2,1),border-color 220ms;
  cursor:pointer;
}
.card:hover{
  box-shadow:0 16px 44px -18px rgba(0,0,0,0.22),0 4px 12px -4px rgba(0,0,0,0.08);
  transform:translateY(-3px);
  border-color:rgba(0,0,0,0.12);
  z-index:2;
}

/* ── image area ── */
.card-img{
  position:relative;
  background:#f5f5f7;
  aspect-ratio:4/3;
  overflow:hidden;
  flex-shrink:0;
}
.card-img img{
  width:100%;height:100%;
  object-fit:contain;
  padding:12px;
  display:block;
  transition:transform 360ms cubic-bezier(.2,.9,.2,1);
}
.card:hover .card-img img{transform:scale(1.05);}

/* badge strip */
.card-bdg{
  position:absolute;top:10px;left:10px;
  display:flex;gap:5px;z-index:2;flex-wrap:wrap;
}
.bdg{
  display:inline-flex;align-items:center;
  height:20px;padding:0 8px;border-radius:5px;
  font:700 9.5px/1 -apple-system,system-ui,sans-serif;
  letter-spacing:.06em;text-transform:uppercase;
}
.bdg-sale{background:#c0392b;color:#fff;}
.bdg-new{background:var(--brand-blue);color:#fff;}

/* quick-add overlay */
.card-qadd{
  position:absolute;bottom:10px;right:10px;z-index:2;
  width:34px;height:34px;border-radius:10px;
  border:none;cursor:pointer;
  background:rgba(255,255,255,0.92);
  display:flex;align-items:center;justify-content:center;
  color:#1d1d1f;
  box-shadow:0 2px 8px rgba(0,0,0,0.12);
  opacity:0;transform:translateY(4px);
  transition:opacity 180ms,transform 180ms,background 150ms;
}
.card:hover .card-qadd{opacity:1;transform:translateY(0);}
.card-qadd:hover{background:var(--brand-blue);color:#fff;}
.card-qadd svg{width:15px;height:15px;stroke-width:2;flex-shrink:0;}

/* ── body ── */
.card-body{
  padding:10px 13px 4px;
  display:flex;flex-direction:column;gap:3px;
  flex:1;
}
.card-brand{
  font:700 9.5px/1 -apple-system,system-ui,sans-serif;
  letter-spacing:.1em;text-transform:uppercase;color:#6e6e73;
}
.card-name{
  font:700 14px/1.25 -apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  letter-spacing:-.02em;color:#1d1d1f;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.card-desc{
  font:400 12px/1.5 -apple-system,system-ui,sans-serif;
  color:#6e6e73;margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

/* ── foot: price + actions ── */
.card-foot{
  padding:10px 13px 13px;
  display:flex;flex-direction:column;gap:8px;
  border-top:1px solid rgba(0,0,0,0.06);
  margin-top:6px;
}
.card-price-wrap{display:flex;flex-direction:column;gap:2px;}
.card-price{
  font:700 17px/1 -apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  letter-spacing:-.03em;color:#1d1d1f;
}
.card-was-row{display:flex;align-items:center;gap:8px;}
.card-was{font:400 12px -apple-system,system-ui,sans-serif;color:var(--t3);text-decoration:line-through;}
.card-save{font:700 11px -apple-system,system-ui,sans-serif;color:#c0392b;}

/* actions row */
.card-actions{display:flex;align-items:center;gap:6px;}
.btn-cart{
  flex:1;height:34px;border-radius:9px;
  background:var(--brand-blue);border:none;cursor:pointer;
  font:700 12.5px -apple-system,system-ui,sans-serif;
  color:#fff;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  transition:background 150ms,transform 120ms;
  white-space:nowrap;
}
.btn-cart:hover{background:#005bb5;transform:translateY(-1px);}
.btn-cart svg{width:14px;height:14px;stroke-width:2;flex-shrink:0;}

.btn-notify{
  flex:1;height:34px;border-radius:9px;
  background:#f5f5f7;border:1px solid rgba(0,0,0,0.1);cursor:pointer;
  font:600 12px -apple-system,system-ui,sans-serif;color:#515154;
  transition:background 150ms;
}
.btn-notify:hover{background:#e8e8ea;}

.btn-view{
  height:34px;padding:0 12px;border-radius:9px;
  background:transparent;
  border:1.5px solid rgba(0,0,0,0.1);cursor:pointer;
  font:600 12.5px -apple-system,system-ui,sans-serif;color:#515154;
  display:inline-flex;align-items:center;gap:4px;
  white-space:nowrap;
  transition:border-color 150ms,color 150ms,background 150ms;
}
.btn-view:hover{border-color:var(--brand-blue);color:var(--brand-blue);}
.btn-view svg{width:12px;height:12px;stroke-width:2.5;flex-shrink:0;}

/* card expand */
.card-expand{display:none;border-top:1px solid rgba(0,0,0,0.07);}
.card-expand.on{display:block;}
.exp-inner{padding:16px 14px;display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.exp-section{display:flex;flex-direction:column;gap:8px;}
.exp-h{font:700 11px -apple-system,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--t3);}
.exp-spec{display:flex;justify-content:space-between;align-items:center;padding:5px 10px;background:#f5f5f7;border-radius:6px;font-size:12px;}
.exp-spec-k{color:#6e6e73;}
.exp-spec-v{font-weight:700;color:#1d1d1f;}

/* po score bar */
.po-score-row{display:flex;align-items:center;gap:8px;padding:8px 13px 0;font-size:11px;}
.po-score-lbl{color:var(--t3);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:9.5px;}
.po-track{flex:1;height:4px;background:rgba(0,0,0,0.08);border-radius:2px;overflow:hidden;}
.po-fill{height:100%;border-radius:2px;transition:width 600ms ease;}
.po-val{font-weight:700;font-size:11px;color:#1d1d1f;}

/* po warranty line */
.po-war{display:flex;align-items:center;gap:5px;padding:5px 13px 0;font:500 11px -apple-system,system-ui,sans-serif;color:#10a37f;}
.po-war svg{flex-shrink:0;}

/* grade badges */
.po-gbdg{font:700 9.5px/1 -apple-system,system-ui,sans-serif;letter-spacing:.05em;text-transform:uppercase;}
.po-gbdg-a{background:rgba(22,163,74,0.12);color:#166534;}
.po-gbdg-b{background:rgba(180,83,9,0.12);color:#92400e;}
.po-gbdg-c{background:rgba(192,57,43,0.12);color:#7f1d1d;}

/* cat-tile (category rail in shop section) */
.cat-tile{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;padding:12px 8px;border-radius:10px;cursor:pointer;
  border:1.5px solid transparent;background:#fff;
  transition:background 160ms,border-color 160ms,transform 160ms;
  font:600 11px -apple-system,system-ui,sans-serif;color:#515154;text-align:center;
}
.cat-tile:hover{background:#f5f5f7;transform:translateY(-1px);}
.cat-tile.on{background:#e9f1ff;border-color:var(--brand-blue);color:var(--brand-blue);}
.cat-tile svg{color:inherit;stroke:currentColor;}
.cat-tile-lbl{font-size:10.5px;line-height:1.3;}
.cat-tile-ct{font-weight:400;color:inherit;opacity:.6;}

/* empty state */
.empty-state{
  grid-column:1/-1;padding:48px 24px;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:12px;
  color:var(--t3);
}
.empty-state p{font-size:13.5px;color:#515154;}

/* grid-meta */
.grid-meta{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 0 10px;
  font:400 12.5px -apple-system,system-ui,sans-serif;color:#6e6e73;
  border-bottom:1px solid rgba(0,0,0,0.07);
  margin-bottom:16px;
}
.grid-meta-clear{
  height:24px;padding:0 10px;border-radius:6px;
  border:1.5px solid rgba(0,0,0,0.1);background:#fff;
  font:500 12px -apple-system,system-ui,sans-serif;color:#515154;
  cursor:pointer;transition:border-color 150ms,color 150ms;
}
.grid-meta-clear:hover{border-color:#c0392b;color:#c0392b;}

/* pag */
.pag{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 0 0;border-top:1px solid rgba(0,0,0,0.08);margin-top:24px;
}
.pag-info{font:400 12.5px -apple-system,system-ui,sans-serif;color:#6e6e73;}
.pag-controls{display:flex;align-items:center;gap:8px;}
.pag-btn{
  width:30px;height:30px;border-radius:7px;
  border:1.5px solid rgba(0,0,0,0.08);background:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;color:#515154;
  transition:border-color 150ms,color 150ms;
}
.pag-btn:hover:not(:disabled){border-color:var(--brand-blue);color:var(--brand-blue);}
.pag-btn:disabled{opacity:.4;cursor:not-allowed;}
.pag-btn svg{width:11px;height:11px;stroke-width:2.5;}
.pag-dots{display:flex;gap:4px;align-items:center;}
.pag-dot{width:6px;height:6px;border-radius:50%;background:rgba(0,0,0,.15);}
.pag-dot.on{background:var(--brand-blue);width:18px;border-radius:3px;}
.btn-browse{
  height:30px;padding:0 14px;border-radius:7px;
  border:1.5px solid rgba(0,0,0,0.08);background:#fff;
  font:500 12.5px -apple-system,system-ui,sans-serif;color:#515154;
  cursor:pointer;text-decoration:none;
  display:inline-flex;align-items:center;
  transition:border-color 150ms,color 150ms;
}
.btn-browse:hover{border-color:var(--brand-blue);color:var(--brand-blue);}


/* ══════════════════════════════════════════════════════════════
   SHOP SECTION COMPONENTS — scoped under .shop-home-sec
   (type-row, cat-sec, fbar — restored after inline dump removed)
   ══════════════════════════════════════════════════════════════ */

/* ── type-row (New Equipment / Pre-Owned selector blocks) ── */
.shop-home-sec .type-row{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:32px;align-items:stretch;}
.shop-home-sec .type-blocks{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.shop-home-sec .type-block{
  border:1.5px solid rgba(0,0,0,0.08);border-radius:14px;overflow:hidden;
  cursor:pointer;position:relative;background:#fff;min-height:130px;
  transition:border-color 220ms,box-shadow 220ms,transform 180ms;
}
.shop-home-sec .type-block:hover{border-color:rgba(0,0,0,0.16);box-shadow:0 6px 22px -4px rgba(0,0,0,0.10);transform:translateY(-2px);}
.shop-home-sec .type-block.on{border-color:var(--brand-blue);box-shadow:0 0 0 3.5px rgba(0,102,204,0.13),0 6px 22px -4px rgba(0,102,204,0.15);transform:translateY(-2px);}
.shop-home-sec .type-block-inner{padding:18px 20px 16px;display:flex;flex-direction:column;gap:5px;height:100%;}
.shop-home-sec .type-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.11em;color:#6e6e73;}
.shop-home-sec .type-name{font-size:19px;font-weight:700;letter-spacing:-.03em;line-height:1.18;color:#1d1d1f;}
.shop-home-sec .type-block.on .type-name{color:var(--brand-blue);}
.shop-home-sec .type-desc{font-size:11.5px;color:#6e6e73;line-height:1.4;margin-top:2px;}
.shop-home-sec .type-active-chip{
  display:inline-flex;align-items:center;gap:4px;margin-top:auto;padding:0 8px;
  height:20px;border-radius:5px;background:var(--brand-blue);color:#fff;
  font-size:9.5px;font-weight:700;letter-spacing:.03em;
  opacity:0;transform:translateY(4px);transition:opacity 200ms,transform 200ms;align-self:flex-start;
}
.shop-home-sec .type-block.on .type-active-chip{opacity:1;transform:translateY(0);}
.shop-home-sec .type-img{
  position:absolute;right:0;bottom:0;width:55%;height:100%;
  object-fit:cover;object-position:center;
  opacity:.14;pointer-events:none;
}

/* ── advert block ── */
.shop-home-sec .adv-block{
  background:linear-gradient(135deg,var(--brand-blue) 0%,#005bb5 100%);
  border-radius:14px;color:#fff;padding:22px 20px;
  display:flex;flex-direction:column;justify-content:space-between;
  position:relative;overflow:hidden;min-height:130px;
}
.shop-home-sec .adv-l{display:flex;flex-direction:column;gap:8px;position:relative;z-index:2;}
.shop-home-sec .adv-tag{font:700 9px/1 -apple-system,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);}
.shop-home-sec .adv-ttl{font:700 18px/1.1 -apple-system,system-ui,sans-serif;letter-spacing:-.03em;color:#fff;}
.shop-home-sec .adv-sub{font:400 12px/1.4 -apple-system,system-ui,sans-serif;color:rgba(255,255,255,.7);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.shop-home-sec .adv-cta{
  align-self:flex-start;margin-top:12px;
  height:32px;padding:0 16px;border-radius:999px;border:none;cursor:pointer;
  background:rgba(255,255,255,.18);color:#fff;
  font:600 12.5px -apple-system,system-ui,sans-serif;
  transition:background 150ms;
}
.shop-home-sec .adv-cta:hover{background:rgba(255,255,255,.28);}
.shop-home-sec .adv-img-overlay{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.shop-home-sec .adv-img-overlay img{width:100%;height:100%;object-fit:cover;opacity:.2;}

/* ── category section ── */
.shop-home-sec .cat-sec{
  display:flex;align-items:stretch;padding:16px 0;
  border-bottom:1px solid rgba(0,0,0,0.07);margin-bottom:0;gap:0;
}
.shop-home-sec .cat-sec-l{
  flex-shrink:0;width:280px;padding-right:22px;
  display:flex;flex-direction:column;gap:12px;justify-content:center;
}
.shop-home-sec .cat-sec-hd{font:700 16px/1.18 -apple-system,BlinkMacSystemFont,system-ui,sans-serif;letter-spacing:-.03em;color:#1d1d1f;}
.shop-home-sec .cat-sec-sub{font:400 12px/1.45 -apple-system,system-ui,sans-serif;color:#6e6e73;margin:0;}
.shop-home-sec .cat-sec-cta{font:600 12.5px -apple-system,system-ui,sans-serif;color:var(--brand-blue);text-decoration:none;width:fit-content;}
.shop-home-sec .cat-sec-cta:hover{text-decoration:underline;}
.shop-home-sec .cat-sep{width:1px;background:rgba(0,0,0,0.07);flex-shrink:0;margin:0 24px;}
.shop-home-sec .cat-rail-wrap{flex:1;overflow:hidden;display:flex;align-items:center;}
.shop-home-sec .cat-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(68px,1fr));gap:8px;padding:4px 2px;width:100%;}

/* ── cat tabs (Shop Equipment / Pre-Owned switcher) ── */
.shop-home-sec .cat-tabs{
  display:flex;gap:3px;position:relative;
  background:rgba(0,0,0,0.04);border-radius:11px;padding:3px;width:fit-content;
}
.shop-home-sec .cat-pill{
  position:absolute;z-index:1;top:3px;left:3px;height:calc(100% - 6px);border-radius:8px;
  background:var(--brand-blue);box-shadow:0 2px 8px rgba(0,102,204,.28);
  transition:transform 360ms cubic-bezier(.34,1.56,.64,1),width 240ms ease;
  pointer-events:none;
}
.shop-home-sec .cat-tab{
  position:relative;z-index:2;height:32px;padding:0 13px;border-radius:8px;
  border:none;background:transparent;
  font:500 12.5px -apple-system,system-ui,sans-serif;color:#515154;
  cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;
  transition:color 200ms;
}
.shop-home-sec .cat-tab.on{color:#fff;}
.shop-home-sec .cat-tab:not(.on):hover{color:#1d1d1f;}

/* ── filter bar ── */
.shop-home-sec .fbar{position:relative;padding:10px 0 6px;background:transparent;border-bottom:none;}
.shop-home-sec .fbar-inner{
  display:flex;align-items:center;gap:8px;flex-wrap:nowrap;
  border-radius:10px;background:rgba(0,0,0,0.04);
  border:1px solid rgba(0,0,0,0.08);padding:8px 16px;
}
.shop-home-sec .fbar-filters{display:flex;align-items:center;gap:7px;flex:1;flex-wrap:nowrap;min-width:0;overflow-x:auto;scrollbar-width:none;}
.shop-home-sec .fbar-filters::-webkit-scrollbar{display:none;}
.shop-home-sec .fbar-r{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.shop-home-sec .fbar-sep{width:1px;height:20px;background:rgba(0,0,0,0.1);flex-shrink:0;}
.shop-home-sec .fbar-vt{display:flex;gap:4px;}
.shop-home-sec .fd{
  display:inline-flex;align-items:center;gap:5px;
  height:34px;padding:0 12px;border-radius:8px;
  border:1.5px solid rgba(0,0,0,0.12);background:#fff;
  font:500 12.5px -apple-system,system-ui,sans-serif;color:#1d1d1f;
  cursor:pointer;white-space:nowrap;
  transition:border-color 150ms,background 150ms;position:relative;
}
.shop-home-sec .fd:hover{border-color:rgba(0,0,0,0.24);}
.shop-home-sec .fd.on{border-color:var(--brand-blue);color:var(--brand-blue);}
.shop-home-sec .fd svg{width:13px;height:13px;stroke-width:2.2;flex-shrink:0;}
.shop-home-sec .fbar-search{
  display:flex;align-items:center;gap:8px;
  height:34px;padding:0 14px;border-radius:8px;
  border:1.5px solid rgba(0,0,0,0.12);background:#fff;
  flex-shrink:0;min-width:160px;
  transition:border-color 150ms,box-shadow 150ms;
}
.shop-home-sec .fbar-search:focus-within{border-color:var(--brand-blue);box-shadow:0 0 0 3px rgba(0,102,204,.10);}
.shop-home-sec .fbar-search input{border:none;outline:none;font:400 12.5px -apple-system,system-ui,sans-serif;color:#1d1d1f;background:transparent;flex:1;min-width:0;}
.shop-home-sec .fbar-search svg{width:13px;height:13px;stroke-width:2.2;color:#6e6e73;flex-shrink:0;}

/* dropdown */
.shop-home-sec .dd-wrap{position:relative;}
.shop-home-sec .dd-menu{
  position:absolute;top:calc(100% + 6px);left:0;min-width:190px;z-index:300;
  background:#fff;border:1.5px solid rgba(0,0,0,0.08);border-radius:10px;
  box-shadow:0 12px 40px -8px rgba(0,0,0,.14);padding:6px;display:none;
}
.shop-home-sec .dd-menu.open{display:block;}
.shop-home-sec .dd-item{
  display:flex;align-items:center;gap:8px;
  padding:7px 10px;border-radius:7px;font:400 12.5px -apple-system,system-ui,sans-serif;
  color:#1d1d1f;cursor:pointer;transition:background 120ms;
}
.shop-home-sec .dd-item:hover{background:rgba(0,0,0,.04);}

/* view toggle buttons */
.shop-home-sec .vbtn{
  width:30px;height:30px;border-radius:7px;border:1.5px solid rgba(0,0,0,0.08);
  background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;
  color:#6e6e73;transition:border-color 150ms,color 150ms;
}
.shop-home-sec .vbtn.on{border-color:var(--brand-blue);color:var(--brand-blue);}
.shop-home-sec .vbtn svg{width:13px;height:13px;stroke-width:2.2;}

/* filter chips */
.shop-home-sec .fbar-chips{display:flex;flex-wrap:wrap;gap:6px;padding:6px 0 0;}
.shop-home-sec .fbar-chip{
  display:inline-flex;align-items:center;gap:6px;
  height:26px;padding:0 10px;border-radius:999px;
  background:#f0f0f2;border:1.5px solid rgba(0,0,0,0.08);
  font:500 11.5px -apple-system,system-ui,sans-serif;color:#1d1d1f;cursor:pointer;
  transition:background 120ms,border-color 120ms;
}
.shop-home-sec .fbar-chip:hover{background:#e0e0e4;border-color:rgba(0,0,0,0.16);}

/* open-in-new-tab toggle */
.shop-home-sec .fbar-toggle{display:inline-flex;align-items:center;gap:7px;cursor:pointer;font:500 12px -apple-system,system-ui,sans-serif;color:#515154;}
.shop-home-sec .fbar-switch{
  width:34px;height:18px;border-radius:9px;border:none;
  background:rgba(0,0,0,0.14);cursor:pointer;position:relative;
  transition:background 200ms;
}
.shop-home-sec .fbar-switch.on{background:var(--brand-blue);}
.shop-home-sec .fbar-switch::after{
  content:'';position:absolute;width:14px;height:14px;border-radius:50%;
  background:#fff;top:2px;left:2px;
  transition:transform 200ms;box-shadow:0 1px 3px rgba(0,0,0,0.2);
}
.shop-home-sec .fbar-switch.on::after{transform:translateX(16px);}

/* sec (grid sections for eq / parts / po) — scoped ONLY to shop section */
.shop-home-sec .sec{display:none;}
.shop-home-sec .sec.on{display:block !important;}
