/* Homepage-only Partdo-inspired merchandising layout. */
.partdo-home-top {
  padding: 18px 0 0;
  background: #f7f7f6;
}

.home-top-grid {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
}

.home-category-rail {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: white;
  box-shadow: 0 5px 22px rgba(20, 24, 27, .05);
}

.category-rail-title {
  min-height: 53px;
  padding: 0 18px;
  display: flex;
  align-items: center;
  gap: 11px;
  color: white;
  background: var(--orange);
  font-size: 12px;
  text-transform: uppercase;
}

.home-category-rail nav { padding: 5px 0; }

.home-category-rail nav a {
  min-height: 55px;
  padding: 7px 15px;
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid #eff0f1;
  color: #343a3f;
  transition: background .18s, color .18s;
}

.home-category-rail nav a:last-child { border: 0; }
.home-category-rail nav a:hover { color: var(--orange-dark); background: var(--orange-soft); }
.home-category-rail nav a > i { color: var(--orange); font-size: 16px; text-align: center; }
.home-category-rail nav a > b { color: #a2a7ab; font-size: 17px; }
.home-category-rail nav strong { display: block; font-size: 11px; }
.home-category-rail nav small { display: block; margin-top: 2px; color: var(--muted); font-size: 8px; }

.category-rail-footer {
  min-height: 44px;
  padding: 0 17px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--line);
  color: var(--orange-dark);
  font-size: 10px;
  font-weight: 800;
}

.home-hero-panel {
  min-height: 492px;
  position: relative;
  overflow: hidden;
  border-radius: 11px;
  color: white;
  background:
    linear-gradient(90deg, rgba(8, 10, 11, .94) 0%, rgba(8, 10, 11, .78) 43%, rgba(8, 10, 11, .15) 77%, rgba(8, 10, 11, .22) 100%),
    url('../images/hero-rider.png') 65% center / cover no-repeat;
}

.home-hero-panel::after {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  left: -230px;
  bottom: -270px;
  border: 62px solid rgba(200, 91, 22, .28);
  border-radius: 50%;
}

.home-hero-copy {
  max-width: 640px;
  position: relative;
  z-index: 2;
  padding: 56px 48px 130px;
}

.sale-pill {
  min-height: 27px;
  padding: 5px 10px;
  display: inline-flex;
  align-items: center;
  border-radius: 5px;
  color: white;
  background: var(--sale);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.home-hero-copy h1 {
  max-width: 640px;
  margin: 17px 0 13px;
  font: 800 clamp(50px, 5.3vw, 80px) / .88 var(--display);
  letter-spacing: -.02em;
  text-transform: uppercase;
}

.home-hero-copy > p {
  max-width: 510px;
  margin-bottom: 18px;
  color: #d6dadd;
  font-size: 14px;
}

.home-price-line {
  margin-bottom: 21px;
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.home-price-line small { color: #afb5b8; }
.home-price-line strong { color: #ff8a42; font: 800 29px / 1 var(--display); }
.home-hero-panel .btn-light { color: white; border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.09); }

.home-hero-cards {
  position: absolute;
  z-index: 3;
  left: 48px;
  right: 34px;
  bottom: 23px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 9px;
  background: rgba(10, 12, 13, .8);
  backdrop-filter: blur(8px);
}

.home-hero-cards > div {
  min-height: 72px;
  padding: 12px 15px;
  display: flex;
  align-items: center;
  gap: 11px;
  border-right: 1px solid rgba(255,255,255,.13);
}

.home-hero-cards > div:last-child { border-right: 0; }
.home-hero-cards i { color: #ff8c45; font-size: 20px; }
.home-hero-cards strong { display: block; font-size: 10px; }
.home-hero-cards small { display: block; margin-top: 2px; color: #aeb4b7; font-size: 8px; }

.partdo-products .product-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.partdo-products .product-card { border-radius: 9px; }
.partdo-products .product-media { aspect-ratio: 1 / .92; }
.partdo-products .product-media img { object-fit: contain; padding: 8px; }

.promo-card--product { background: linear-gradient(135deg, #191c1f, #3a3e42); }
.promo-card--product img { object-fit: contain; object-position: 76% 18%; padding: 5px 0 80px 24%; opacity: .82; }
.promo-card--product::after { background: linear-gradient(90deg, rgba(7,8,9,.95), rgba(7,8,9,.18)), linear-gradient(0deg, rgba(7,8,9,.82), transparent 65%); }

.deal-showcase {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
}

.deal-showcase .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.deal-poster {
  min-height: 100%;
  position: relative;
  overflow: hidden;
  padding: 29px 25px 220px;
  border-radius: 10px;
  color: white;
  background: linear-gradient(145deg, #0e1113, #22282c);
}

.deal-poster::before {
  content: "";
  position: absolute;
  width: 230px;
  height: 230px;
  left: -115px;
  top: 80px;
  border: 34px solid rgba(200,91,22,.18);
  border-radius: 50%;
}

.deal-poster > * { position: relative; z-index: 2; }
.deal-poster > span { color: #b9bdc0; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.deal-poster > strong { display: block; margin: 2px 0 16px; color: #ff7e2d; font: 800 48px / .85 var(--display); text-transform: uppercase; }
.deal-poster h3 { margin: 0 0 10px; font: 800 33px / .92 var(--display); text-transform: uppercase; }
.deal-poster p { color: #b9bdc0; font-size: 10px; }
.deal-poster > img { width: 112%; max-width: none; position: absolute; z-index: 1; left: -5%; bottom: -28px; }

.deal-timer {
  margin: 17px 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
}

.deal-timer > div { padding: 7px 3px; border-radius: 5px; background: rgba(255,255,255,.08); text-align: center; }
.deal-timer b { display: block; font-size: 13px; }
.deal-timer small { color: #aeb4b7; font-size: 7px; text-transform: uppercase; }

.first-order-band { padding: 17px 0; background: #fff0e6; border-block: 1px solid #f3c5a6; }
.first-order-inner { display: grid; grid-template-columns: 1fr auto auto auto; align-items: center; gap: 18px; }
.first-order-inner div small { display: block; color: var(--orange-dark); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.first-order-inner div strong { display: block; font: 700 21px / 1.1 var(--display); text-transform: uppercase; }
.first-order-inner > span { color: var(--muted); font-size: 10px; }
.first-order-inner > b { padding: 7px 11px; border-radius: 5px; color: white; background: var(--orange); font-size: 10px; letter-spacing: .08em; }
.first-order-inner > a { color: var(--orange-dark); font-size: 11px; font-weight: 800; }

.style-card--product {
  background-color: #292d30;
  background-position: center 35%;
  background-size: contain;
  background-repeat: no-repeat;
}

.style-card--product::before { background: linear-gradient(0deg, rgba(0,0,0,.9), rgba(0,0,0,.02) 75%); }

.home-newsletter {
  padding: 44px 0;
  border-top: 1px solid var(--line);
  background: white;
}

.home-newsletter-inner {
  display: grid;
  grid-template-columns: 70px minmax(270px, .9fr) minmax(360px, 1fr);
  align-items: center;
  gap: 24px;
}

.newsletter-mark {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--orange);
  font-size: 26px;
}

.home-newsletter h2 { margin: 4px 0 6px; font: 700 29px / 1 var(--display); text-transform: uppercase; }
.home-newsletter p { margin: 0; color: var(--muted); font-size: 11px; }
.home-newsletter .newsletter-form { display: grid; grid-template-columns: 1fr auto; }
.home-newsletter .newsletter-form input { border-radius: 8px 0 0 8px; }
.home-newsletter .newsletter-form button { border-radius: 0 8px 8px 0; }
.home-newsletter .newsletter-form small { grid-column: 1 / -1; margin-top: 7px; color: var(--muted); font-size: 8px; }
.home-newsletter .newsletter-form a { color: var(--orange-dark); text-decoration: underline; }

.journal-card:nth-child(n+2) img { object-fit: contain; padding: 12px; background: #f3f4f4; }

@media (max-width: 1220px) {
  .home-top-grid { grid-template-columns: 245px minmax(0, 1fr); }
  .home-category-rail nav a { min-height: 52px; }
  .home-hero-panel { min-height: 470px; }
  .home-hero-copy { padding-left: 38px; }
  .home-hero-cards { left: 38px; }
  .partdo-products .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .deal-showcase .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
  .partdo-home-top { padding-top: 12px; }
  .home-top-grid { grid-template-columns: 1fr; }
  .home-hero-panel { grid-row: 1; min-height: 540px; }
  .home-category-rail { grid-row: 2; }
  .home-category-rail nav { display: grid; grid-template-columns: repeat(2, 1fr); }
  .home-category-rail nav a:nth-child(odd) { border-right: 1px solid #eff0f1; }
  .deal-showcase { grid-template-columns: 220px minmax(0, 1fr); }
  .deal-showcase .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-newsletter-inner { grid-template-columns: 60px 1fr; }
  .home-newsletter .newsletter-form { grid-column: 1 / -1; }
  .first-order-inner { grid-template-columns: 1fr auto auto; }
  .first-order-inner > a { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  .partdo-home-top { padding: 0; }
  .partdo-home-top .container { width: 100%; }
  .home-hero-panel { min-height: 590px; border-radius: 0; background-position: 58% center; }
  .home-hero-copy { padding: 55px 22px 190px; }
  .home-hero-copy h1 { font-size: clamp(43px, 11vw, 56px); }
  .home-hero-copy > p { font-size: 12px; }
  .home-hero-cards { left: 14px; right: 14px; bottom: 15px; grid-template-columns: 1fr; }
  .home-hero-cards > div { min-height: 52px; padding: 8px 12px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .home-hero-cards > div:last-child { border-bottom: 0; }
  .home-category-rail { margin: 0 11px; border-radius: 0 0 10px 10px; }
  .home-category-rail nav { grid-template-columns: 1fr; }
  .home-category-rail nav a:nth-child(odd) { border-right: 0; }
  .home-category-rail nav small { display: none; }
  .partdo-products .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .deal-showcase { grid-template-columns: 1fr; }
  .deal-poster { min-height: 390px; padding-bottom: 130px; }
  .deal-poster > img { width: 260px; left: auto; right: 0; bottom: -34px; }
  .first-order-inner { grid-template-columns: 1fr auto; gap: 10px; }
  .first-order-inner > span { display: none; }
  .first-order-inner > a { grid-column: 1 / -1; }
  .home-newsletter-inner { grid-template-columns: 1fr; text-align: center; }
  .newsletter-mark { margin: 0 auto; }
}

@media (max-width: 420px) {
  .partdo-products .product-grid { gap: 7px; }
  .home-hero-copy .hero-buttons { grid-template-columns: 1fr; }
  .home-newsletter .newsletter-form { grid-template-columns: 1fr; gap: 7px; }
  .home-newsletter .newsletter-form input,
  .home-newsletter .newsletter-form button { border-radius: 8px; }
}

/* Lovable Helmet Hub homepage sync — commit 3dea7c0 */
body[data-page="home"] main { overflow: hidden; }
body[data-page="home"] .section-alt { background: #fffaf5; }

.home-hero {
  min-height: 560px;
  position: relative;
  color: white;
  background-color: #151719;
  background-image:
    linear-gradient(90deg, rgba(21, 23, 25, .94) 0%, rgba(21, 23, 25, .82) 31%, rgba(21, 23, 25, .54) 48%, rgba(21, 23, 25, .05) 75%),
    url('../images/hero-rider.png');
  background-position: center, center 52%;
  background-size: cover;
  background-repeat: no-repeat;
}

.home-hero-inner { min-height: 560px; display: flex; align-items: center; }
.home-hero-copy { width: min(520px, 48%); padding: 36px 0 52px; position: relative; z-index: 1; }
.home-hero .hero-kicker { margin: 0 0 19px; display: block; color: #e87528; font-size: 12px; font-weight: 600; letter-spacing: .25em; text-transform: uppercase; }
.home-hero .hero-kicker::before { display: none; }
.home-hero h1 { margin: 0 0 18px; color: white; font: 800 96px/.9 var(--display); letter-spacing: .01em; text-transform: uppercase; }
.home-hero p { max-width: 500px; margin: 0 0 26px; color: rgba(255,255,255,.78); font-size: 16px; line-height: 1.5; }
.home-hero .btn { min-height: 48px; padding-inline: 28px; font-size: 16px; font-weight: 600; }
.home-hero .btn-light { color: white; border-color: rgba(255,255,255,.35); background: rgba(21,23,25,.35); }
.home-hero .btn-light:hover { color: white; border-color: white; background: rgba(21,23,25,.68); }

body[data-page="home"] .proof-strip { margin-top: -32px; position: relative; z-index: 3; border: 0; background: transparent; }
body[data-page="home"] .proof-grid { min-height: 72px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: white; box-shadow: var(--shadow); }
body[data-page="home"] .proof-item { min-height: 72px; padding: 0 20px; gap: 13px; }
body[data-page="home"] .proof-item:first-child { padding-left: 20px; }
body[data-page="home"] .proof-icon { width: 30px; height: 34px; border-radius: 0; color: var(--orange); background: transparent; font-size: 23px; }
body[data-page="home"] .proof-item strong { font-size: 14px; font-weight: 600; }
body[data-page="home"] .proof-item small { display: block; margin-top: 1px; font-size: 12px; }

body[data-page="home"] .finder { margin: 0; padding: 48px 0 0; color: var(--carbon); background: white; }
body[data-page="home"] .finder-inner { min-height: 304px; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); align-items: stretch; gap: 0; border: 1px solid var(--line); border-radius: 10px; background: white; }
body[data-page="home"] .finder-title { padding: 33px 34px; color: white; background: var(--carbon); }
body[data-page="home"] .finder-title .eyebrow { color: #ed7829; }
body[data-page="home"] .finder-title h2 { max-width: 420px; margin: 6px 0 23px; font: 700 36px/1 var(--display); letter-spacing: .01em; text-transform: uppercase; }
.finder-progress { margin: 0; padding: 0; display: grid; gap: 15px; list-style: none; }
.finder-progress li { display: flex; align-items: center; gap: 12px; color: #8d9397; }
.finder-progress li > span:first-child { width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; border: 1px solid #3b3f42; border-radius: 50%; font-size: 12px; }
.finder-progress li strong { font-size: 16px; font-weight: 600; }
.finder-progress li.is-active { color: white; }
.finder-progress li.is-active > span:first-child { border-color: var(--orange); background: var(--orange); }
.finder-progress li.is-complete { color: #d3d6d8; }
.finder-progress li.is-complete > span:first-child { border-color: #66554b; color: #ff9452; }
.finder-panel { min-width: 0; padding: 32px; display: flex; flex-direction: column; }
.finder-step[hidden] { display: none; }
.finder-step.is-active { animation: finder-in .2s ease; }
@keyframes finder-in { from { opacity: 0; transform: translateX(6px); } }
.finder-question { margin-bottom: 15px; display: flex; align-items: baseline; gap: 12px; }
.finder-question span { display: none; color: var(--orange); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.finder-question h3 { margin: 0; font-size: 16px; font-weight: 600; }
.finder-question a { margin-left: auto; color: var(--orange-dark); font-size: 11px; font-weight: 700; }
.finder-options { display: grid; gap: 10px; }
.finder-options--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.finder-options--sizes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.finder-options button { min-height: 82px; padding: 15px 16px; border: 1px solid var(--line); border-radius: 9px; color: var(--carbon); background: white; text-align: left; transition: .18s; }
.finder-options button:hover { border-color: #dc9b72; background: var(--orange-soft); transform: translateY(-1px); }
.finder-options button.is-selected { border-color: var(--orange); box-shadow: inset 0 0 0 1px var(--orange); background: var(--orange-soft); }
.finder-options button strong, .finder-options button small { display: block; }
.finder-options button strong { font-size: 16px; font-weight: 600; }
.finder-options button small { margin-top: 3px; color: var(--muted); font-size: 14px; }
.finder-options--sizes button { min-height: 76px; text-align: center; }
.finder-options--sizes button strong { font: 800 20px/1 var(--display); }
.finder-actions { min-height: 44px; margin-top: auto; padding-top: 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.finder-back { min-height: 40px; padding: 0 4px; border: 0; display: inline-flex; align-items: center; gap: 8px; color: var(--muted); background: transparent; font-size: 12px; font-weight: 700; }
.finder-result { margin-top: 12px; padding: 16px 20px; border: 1px solid #f0c7aa; border-radius: 9px; color: #67330f; background: var(--orange-soft); }
.finder-result a { color: var(--orange-dark); font-weight: 800; }

/* Universal catalogue finder */
body[data-page="home"] .finder-inner[data-catalog-finder] { min-height: 430px; }
body[data-page="home"] .finder-title > p { max-width: 410px; margin: -10px 0 25px; color: #aeb3b6; font-size: 13px; line-height: 1.55; }
.finder-progress li > span:last-child { min-width: 0; display: block; }
.finder-progress li strong, .finder-progress li small { display: block; }
.finder-progress li small { max-width: 240px; margin-top: 2px; overflow: hidden; color: #777e83; font-size: 11px; font-weight: 500; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.finder-progress li.is-active small { color: #c5c9cb; }
.finder-progress li.is-complete small { color: #969da1; }
.finder-panel[data-catalog-form] { min-height: 430px; }
.finder-question { align-items: flex-start; }
.finder-question > div { min-width: 0; }
.finder-question span { margin-bottom: 4px; display: block; letter-spacing: .14em; }
.finder-question h3 { font-size: 19px; font-weight: 700; line-height: 1.25; }
.finder-question p { margin: 5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.finder-reset { margin-left: auto; padding: 5px 0; border: 0; flex: 0 0 auto; color: var(--orange-dark); background: transparent; font-size: 11px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.finder-reset:hover { color: var(--carbon); }
.finder-reset:focus-visible, .finder-back:focus-visible { border-radius: 4px; outline: 2px solid var(--orange); outline-offset: 3px; }
.catalog-finder-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.catalog-finder-fieldset[hidden], .catalog-fitment[hidden], .finder-selection-summary[hidden], .finder-message[hidden] { display: none; }
.finder-options { max-width: 100%; }
.finder-options--departments { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.finder-options--categories { max-height: 306px; padding: 1px 7px 1px 1px; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow-x: hidden; overflow-y: auto; scrollbar-color: #c8cbcd transparent; scrollbar-width: thin; }
.finder-options--uses { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.finder-choice { min-width: 0; cursor: pointer; }
.finder-choice input { width: 1px; height: 1px; position: absolute; opacity: 0; pointer-events: none; }
.finder-choice__body { min-height: 82px; padding: 14px 15px; position: relative; border: 1px solid var(--line); border-radius: 9px; display: flex; align-items: center; gap: 12px; color: var(--carbon); background: white; transition: border-color .18s, background .18s, box-shadow .18s, transform .18s; }
.finder-choice__body > i { width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; border-radius: 8px; color: var(--orange-dark); background: var(--orange-soft); font-size: 17px; }
.finder-choice__copy { min-width: 0; }
.finder-choice strong, .finder-choice small { display: block; }
.finder-choice strong { font-size: 14px; font-weight: 700; line-height: 1.25; }
.finder-choice small { margin-top: 4px; color: var(--muted); font-size: 11px; line-height: 1.35; }
.finder-choice:hover .finder-choice__body { border-color: #dc9b72; background: #fffaf6; transform: translateY(-1px); }
.finder-choice input:checked + .finder-choice__body { border-color: var(--orange); box-shadow: inset 0 0 0 1px var(--orange); background: var(--orange-soft); }
.finder-choice input:checked + .finder-choice__body::after { width: 18px; height: 18px; margin-left: auto; flex: 0 0 18px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--orange); content: "✓"; font-size: 11px; font-weight: 900; }
.finder-choice input:focus-visible + .finder-choice__body { outline: 3px solid rgba(216, 91, 10, .28); outline-offset: 2px; }
.finder-options--categories .finder-choice__body { min-height: 76px; padding: 12px; }
.finder-options--categories .finder-choice small { font-size: 10px; }
.finder-options--sizes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.finder-options--sizes .finder-choice__body { min-height: 66px; padding: 11px 9px; justify-content: center; text-align: center; }
.finder-options--sizes .finder-choice__copy { width: 100%; }
.finder-options--sizes .finder-choice strong { font: 700 18px/1 var(--body); }
.finder-options--sizes .finder-choice input:checked + .finder-choice__body::after { position: absolute; top: 6px; right: 6px; }
.finder-empty { grid-column: 1 / -1; min-height: 170px; padding: 28px; border: 1px dashed #cfd2d4; border-radius: 9px; display: grid; place-content: center; text-align: center; background: #fafafa; }
.finder-empty strong, .finder-empty small { display: block; }
.finder-empty small { margin-top: 5px; color: var(--muted); }
.finder-selection-summary { margin: 13px 0 0; padding: 10px 12px; border-left: 3px solid var(--orange); border-radius: 0 6px 6px 0; background: #faf8f5; }
.finder-selection-summary span, .finder-selection-summary strong, .finder-selection-summary small { display: block; }
.finder-selection-summary span { color: var(--orange-dark); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.finder-selection-summary strong { margin-top: 2px; font-size: 12px; }
.finder-selection-summary small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.finder-message { margin: 11px 0 0; padding: 9px 11px; border: 1px solid #efb4a8; border-radius: 6px; color: #8b2719; background: #fff3f0; font-size: 11px; font-weight: 600; }
.finder-actions__spacer { flex: 1; }
.finder-actions .btn { min-height: 42px; }
.finder-actions [hidden] { display: none !important; }
.finder-actions button:disabled { cursor: not-allowed; opacity: .48; }
.catalog-fitment { display: grid; gap: 14px; }
.catalog-fitment fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.catalog-fitment legend { margin-bottom: 8px; font-size: 12px; font-weight: 700; }
.catalog-fitment__mode { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.catalog-fitment__mode legend { grid-column: 1 / -1; }
.catalog-fitment__mode label { min-width: 0; padding: 11px 12px; border: 1px solid var(--line); border-radius: 8px; display: flex; align-items: flex-start; gap: 8px; cursor: pointer; }
.catalog-fitment__mode label:has(input:checked) { border-color: var(--orange); box-shadow: inset 0 0 0 1px var(--orange); background: var(--orange-soft); }
.catalog-fitment__mode input { margin: 3px 0 0; accent-color: var(--orange); }
.catalog-fitment__mode strong, .catalog-fitment__mode small { display: block; }
.catalog-fitment__mode strong { font-size: 12px; }
.catalog-fitment__mode small { margin-top: 2px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.catalog-fitment__fields { display: grid; grid-template-columns: 1fr 1.25fr .7fr; gap: 10px; transition: opacity .18s; }
.catalog-fitment__fields.is-disabled { opacity: .42; }
.catalog-fitment__fields label { min-width: 0; color: #4d5256; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.catalog-fitment__fields select { width: 100%; height: 42px; margin-top: 5px; padding: 0 34px 0 10px; border: 1px solid var(--line); border-radius: 7px; color: var(--carbon); background: white; font-size: 12px; text-transform: none; }
.catalog-fitment__fields select:focus-visible { border-color: var(--orange); outline: 2px solid rgba(216, 91, 10, .2); outline-offset: 1px; }

body[data-page="home"] .section { padding: 48px 0; }
body[data-page="home"] .section-heading { margin-bottom: 22px; }
body[data-page="home"] .section-heading h2 { font-size: clamp(30px, 2.3vw, 36px); font-weight: 700; }
body[data-page="home"] .section-heading p { font-size: 14px; }
body[data-page="home"] .tabs { padding-bottom: 2px; gap: 4px; }
body[data-page="home"] .tab-btn { min-height: 44px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; font-size: 14px; font-weight: 600; }
body[data-page="home"] .tab-btn.is-active { color: var(--orange-dark); border-color: var(--orange); background: transparent; }
body[data-page="home"] .featured-tabs { max-width: 100%; scrollbar-width: none; }
body[data-page="home"] .featured-tabs::-webkit-scrollbar { display: none; }
body[data-page="home"] .featured-tabs .tab-btn { padding-inline: 12px; }
body[data-page="home"] .partdo-products .product-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
body[data-page="home"] .partdo-products .product-card { border-radius: 10px; }
body[data-page="home"] .partdo-products .product-media { aspect-ratio: 1; }
body[data-page="home"] .partdo-products .product-media img { padding: 13px; }

body[data-page="home"] .type-grid { gap: 10px; }
body[data-page="home"] .type-card { min-height: 226px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 10px; color: var(--carbon); background: white; }
body[data-page="home"] .type-card::after { display: none; }
body[data-page="home"] .type-card img { width: 100%; height: 170px; position: static; padding: 10px; object-fit: contain; background: #fff; }
body[data-page="home"] .type-copy { padding: 13px 14px; position: static; }
body[data-page="home"] .type-copy h3 { color: var(--carbon); font-size: 18px; font-weight: 700; }
body[data-page="home"] .type-copy p { margin-top: 4px; color: var(--muted); font-size: 12px; }
body[data-page="home"] .type-card:hover img { transform: scale(1.025); }

.home-departments { background: white; }
.department-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.department-card { min-height: 128px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; display: grid; grid-template-columns: 80px minmax(0, 1fr) auto; align-items: center; gap: 10px; background: white; transition: border-color .18s, box-shadow .18s, transform .18s; }
.department-card:hover { border-color: #dda57f; box-shadow: var(--shadow); transform: translateY(-2px); }
.department-icon { width: 80px; height: 80px; display: grid; place-items: center; border-radius: 9px; color: var(--orange); background: #fff; font-size: 20px; }
.department-icon img { width: 100%; height: 100%; padding: 0; border-radius: inherit; object-fit: contain; background: #fff; }
.department-card > span:nth-child(2) { min-width: 0; }
.department-card strong, .department-card small { display: block; }
.department-card strong { font-size: 16px; font-weight: 600; line-height: 1.25; }
.department-card small { margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.35; }
.department-card > i { color: var(--orange); font-size: 12px; transition: transform .18s; }
.department-card:hover > i { transform: translateX(3px); }

body[data-page="home"] .promo-grid { gap: 14px; }
body[data-page="home"] .promo-card { min-height: 286px; border-radius: 10px; }
body[data-page="home"] .promo-copy h3 { font-size: 30px; font-weight: 700; }
body[data-page="home"] .deal-showcase { grid-template-columns: 250px minmax(0, 1fr); gap: 12px; }
body[data-page="home"] .deal-showcase .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body[data-page="home"] .deal-poster { border-radius: 10px; }

body[data-page="home"] .ride-style-section { padding-block: 48px; background: #fbf9f6; }
body[data-page="home"] .ride-style-section .section-heading { margin-bottom: 18px; }
body[data-page="home"] .ride-style-section .eyebrow { letter-spacing: .2em; }
body[data-page="home"] .ride-style-section .section-heading h2 { margin-top: 6px; font-size: 36px; }
body[data-page="home"] .style-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
body[data-page="home"] .style-card { min-height: 0; aspect-ratio: 3 / 4; padding: 14px; border-radius: 10px; background-position: center; background-size: cover; transition: transform .2s ease, box-shadow .2s ease; }
body[data-page="home"] .style-card::before,
body[data-page="home"] .style-card--product::before { background: linear-gradient(0deg, rgba(8, 9, 10, .88) 0%, rgba(8, 9, 10, .24) 34%, rgba(8, 9, 10, .02) 66%); }
body[data-page="home"] .style-card--product { background-size: cover; background-position: center; }
body[data-page="home"] .style-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
body[data-page="home"] .style-card strong { font-size: 24px; font-weight: 700; letter-spacing: .01em; }
body[data-page="home"] .style-card small { display: none; }
body[data-page="home"] .education-grid { gap: 10px; border: 0; overflow: visible; }
body[data-page="home"] .education-card { min-height: 188px; border: 1px solid var(--line); border-radius: 10px; }
body[data-page="home"] .education-card:last-child { border: 1px solid var(--line); }
body[data-page="home"] .education-card h3 { font: 600 16px/1.35 var(--body); text-transform: none; }
body[data-page="home"] .education-card p { font-size: 14px; }
body[data-page="home"] .education-card a { font-size: 14px; font-weight: 600; }
body[data-page="home"] .brand-strip { background: white; }
body[data-page="home"] .brand-list { gap: 12px; }
body[data-page="home"] .brand-list a { font-size: 17px; }
body[data-page="home"] .reviews-section { padding-block: 44px 48px; background: #fbfaf8; }
body[data-page="home"] .reviews-heading { margin-bottom: 18px; }
body[data-page="home"] .reviews-heading .eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .22em; }
body[data-page="home"] .reviews-heading h2 { margin-top: 4px; font-size: 36px; font-weight: 800; }
body[data-page="home"] .testimonial-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
body[data-page="home"] .testimonial { min-height: 206px; padding: 20px; border-color: #dedfe1; border-radius: 10px; display: flex; flex-direction: column; box-shadow: none; }
body[data-page="home"] .testimonial-quote-mark { height: 23px; color: var(--orange); font: 700 36px/.75 Georgia, serif; }
body[data-page="home"] .testimonial .rating { margin-top: 1px; color: #f5aa00; font-size: 15px; line-height: 1; letter-spacing: -.04em; }
body[data-page="home"] .testimonial .rating strong { margin-left: 4px; color: var(--carbon); font-size: 12px; letter-spacing: 0; }
body[data-page="home"] .testimonial .rating .is-muted { color: #d9dcde; }
body[data-page="home"] .testimonial h3 { margin: 12px 0 6px; font: 700 16px/1.25 var(--body); text-transform: none; }
body[data-page="home"] .testimonial .quote { margin: 0 0 13px; color: #5d6267; font-size: 14px; line-height: 1.45; }
body[data-page="home"] .testimonial-meta { margin: auto 0 0; color: var(--carbon); font-size: 11px; line-height: 1.4; }
body[data-page="home"] .testimonial-meta strong { font-weight: 700; }
body[data-page="home"] .testimonial-meta a { color: inherit; font-weight: 600; text-decoration: none; }
body[data-page="home"] .testimonial-meta a:hover { color: var(--orange-dark); text-decoration: underline; }
body[data-page="home"] .journal-section { padding-block: 44px 48px; border-bottom: 2px solid var(--orange); background: #fbfaf8; }
body[data-page="home"] .journal-section .section-heading { margin-bottom: 18px; align-items: end; }
body[data-page="home"] .journal-section .section-heading h2 { margin-top: 4px; font-size: 36px; font-weight: 800; }
body[data-page="home"] .journal-section .section-link { margin-bottom: 5px; }
body[data-page="home"] .journal-grid { gap: 16px; }
body[data-page="home"] .journal-card { display: flex; flex-direction: column; overflow: hidden; border-color: #dedfe1; border-radius: 10px; box-shadow: none; }
body[data-page="home"] .journal-card > a { display: block; overflow: hidden; background: #eef0f1; }
body[data-page="home"] .journal-card img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; transition: transform .25s ease; }
body[data-page="home"] .journal-card:first-child img { object-position: 62% center; }
body[data-page="home"] .journal-card:hover img { transform: scale(1.015); }
body[data-page="home"] .journal-copy { flex: 1; padding: 16px; display: flex; flex-direction: column; align-items: flex-start; }
body[data-page="home"] .journal-copy small { color: var(--orange-dark); font-size: 12px; font-weight: 700; text-transform: uppercase; }
body[data-page="home"] .journal-copy h3 { margin: 7px 0 5px; font: 700 17px/1.35 var(--body); text-transform: none; }
body[data-page="home"] .journal-copy h3 a { color: inherit; text-decoration: none; }
body[data-page="home"] .journal-copy h3 a:hover { color: var(--orange-dark); }
body[data-page="home"] .journal-copy p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.45; }

.home-newsletter { padding: 36px 0; border: 0; color: white; background: var(--orange); }
.home-newsletter-inner { grid-template-columns: 64px minmax(300px, 1fr) minmax(380px, .9fr); gap: 22px; }
.home-newsletter .newsletter-mark { width: 58px; height: 58px; border-color: rgba(255,255,255,.4); color: white; }
.home-newsletter .eyebrow, .home-newsletter p { color: rgba(255,255,255,.82); }
.home-newsletter h2 { color: white; font-size: 36px; font-weight: 700; }
.home-newsletter p { font-size: 14px; }
.home-newsletter .newsletter-form input { border-color: white; }
.home-newsletter .newsletter-form button { color: white; background: var(--carbon); }
.home-newsletter .newsletter-form small, .home-newsletter .newsletter-form a { color: rgba(255,255,255,.8); }

@media (max-width: 1220px) {
  body[data-page="home"] .partdo-products .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  body[data-page="home"] .testimonial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .department-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1023px) {
  .home-hero, .home-hero-inner { min-height: 520px; }
  .home-hero { background-image: linear-gradient(0deg, rgba(21,23,25,.92), rgba(21,23,25,.25) 72%), url('../images/hero-rider.png'); background-position: center, 61% center; }
  .home-hero-inner { align-items: end; }
  .home-hero-copy { width: min(620px, 100%); padding: 70px 0 92px; }
  .home-hero h1 { font-size: 96px; }
  body[data-page="home"] .proof-grid { grid-template-columns: repeat(2, 1fr); }
  body[data-page="home"] .proof-item { border-bottom: 1px solid var(--line); }
  body[data-page="home"] .proof-item:nth-child(2) { border-right: 0; }
  body[data-page="home"] .proof-item:nth-child(n+3) { border-bottom: 0; }
  body[data-page="home"] .finder-inner { grid-template-columns: 1fr; }
  body[data-page="home"] .finder-inner[data-catalog-finder] { min-height: 0; }
  body[data-page="home"] .finder-title { padding: 28px 30px; }
  body[data-page="home"] .finder-title h2 { max-width: none; }
  .finder-progress { grid-template-columns: repeat(3, 1fr); }
  .finder-progress li { gap: 8px; }
  .finder-progress li small { display: none; }
  .finder-panel[data-catalog-form] { min-height: 430px; }
  body[data-page="home"] .partdo-products .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-page="home"] .deal-showcase { grid-template-columns: 1fr; }
  body[data-page="home"] .deal-poster { min-height: 380px; }
  body[data-page="home"] .deal-showcase .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-page="home"] .style-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .department-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-newsletter-inner { grid-template-columns: 60px 1fr; }
  .home-newsletter .newsletter-form { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
  .home-hero, .home-hero-inner { min-height: 500px; }
  .home-hero { background-position: center, 64% center; }
  .home-hero-copy { padding: 68px 0 84px; }
  .home-hero h1 { font-size: 60px; }
  .home-hero p { max-width: 410px; font-size: 13px; }
  .home-hero .hero-buttons { display: flex; grid-template-columns: none; }
  body[data-page="home"] .proof-strip { margin-top: -24px; }
  body[data-page="home"] .proof-grid {
    width: calc(100% - 22px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-block: 0;
    align-items: stretch;
    box-shadow: none;
  }
  body[data-page="home"] .proof-item,
  body[data-page="home"] .proof-item:first-child {
    min-height: 66px;
    padding: 12px 10px;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: start;
    gap: 8px;
  }
  body[data-page="home"] .proof-item:nth-child(odd) { border-right: 1px solid var(--line); }
  body[data-page="home"] .proof-icon { width: 22px; height: 18px; font-size: 15px; }
  body[data-page="home"] .proof-item strong { font-size: 12px; line-height: 1.35; }
  body[data-page="home"] .proof-item small { margin-top: 3px; font-size: 11px; line-height: 1.35; }
  body[data-page="home"] .finder { padding-top: 38px; }
  body[data-page="home"] .finder-title, .finder-panel { padding: 24px 20px; }
  body[data-page="home"] .finder-title h2 { font-size: 31px; }
  .finder-progress strong { display: none; }
  .finder-progress li { justify-content: center; }
  .finder-options--categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finder-options--sizes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-fitment__mode { grid-template-columns: 1fr; }
  .catalog-fitment__fields { grid-template-columns: 1fr 1fr; }
  .catalog-fitment__fields label:last-child { grid-column: 1 / -1; }
  body[data-page="home"] .type-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-page="home"] .promo-grid { grid-template-columns: 1fr; }
  body[data-page="home"] .style-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-page="home"] .testimonial-grid { grid-template-columns: 1fr; }
  .department-card { min-height: 208px; padding: 12px; grid-template-columns: minmax(0, 1fr); align-content: start; justify-items: center; gap: 10px; text-align: center; }
  .department-icon { width: 96px; height: 96px; }
  .department-card > span:nth-child(2) { width: 100%; }
  .department-card strong { font-size: 14px; }
  .department-card small { font-size: 12px; }
  .department-card > i { display: none; }
  .home-newsletter-inner { grid-template-columns: 1fr; text-align: center; }
  .home-newsletter .newsletter-mark { margin: auto; }
  .home-newsletter h2 { font-size: 30px; }
}

@media (max-width: 420px) {
  .home-hero .hero-buttons { display: grid; }
  .finder-progress { gap: 0; }
  .finder-progress li { min-width: 0; gap: 5px; justify-content: center; }
  .finder-progress li > span:first-child { width: 30px; height: 30px; flex-basis: 30px; }
  .finder-progress li > span:last-child { min-width: 0; }
  .finder-progress li strong { display: block; font-size: 13px; line-height: 1.15; white-space: nowrap; }
  .finder-options--two { grid-template-columns: 1fr; }
  .finder-options--departments, .finder-options--categories, .finder-options--uses { grid-template-columns: 1fr; }
  .finder-options--categories { max-height: 336px; }
  .finder-choice__body { min-height: 72px; }
  .finder-question { display: grid; }
  .finder-reset { margin-left: 0; justify-self: start; }
  .catalog-fitment__fields { grid-template-columns: 1fr; }
  .catalog-fitment__fields label:last-child { grid-column: auto; }
  .finder-actions .btn { padding-inline: 15px; }
  body[data-page="home"] .partdo-products .product-grid { gap: 8px; }
}

/* Optional assistance stays compact until a rider asks for it. */
.home-optional-finder{margin:18px 0 4px;border-block:1px solid #e8e9eb}.home-optional-finder>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;cursor:pointer;list-style:none;font:600 14px/1.5 var(--body,Arial,sans-serif)}.home-optional-finder>summary::-webkit-details-marker{display:none}.home-optional-finder>summary strong{display:block;font-weight:600}.home-optional-finder>summary small{display:block;color:#6d7580;font-size:12px;font-weight:400}.home-optional-finder>summary>span:last-child{font-size:22px;color:#bd4e08}.home-optional-finder>summary:focus-visible{outline:2px solid #c5530b;outline-offset:4px}.home-optional-finder .finder{margin:0 0 20px}.home-optional-finder .finder>.container{width:100%;max-width:none;padding-inline:0}
