/* FINAL VISUAL SYSTEM — 2 fonts only: Libre Bodoni for major editorial headlines, DM Sans for everything functional. */

/* Editorial display type */
.rfn-hero h1,
.rfn-section-head h2,
.rfn-restock-wrap h2,
.rfn-final-cta h2,
.rfn-result h3 {
  font-family: "Libre Bodoni", Georgia, serif !important;
  font-weight: 700 !important;
  letter-spacing: -.035em !important;
}

/* Everything users scan, click or compare */
body,
.rfn-site-header,
.rfn-nav,
.rfn-footer,
.rfn-hero-copy,
.rfn-btn,
.rfn-eyebrow,
.rfn-kicker,
.rfn-step-number,
.rfn-step h3,
.rfn-choice,
.rfn-segmented button,
.rfn-result-label,
.rfn-result-note,
.rfn-result-price,
.rfn-tag,
.rfn-product-summary h3,
.rfn-product-summary p,
.rfn-compare-trigger,
.rfn-retailer-name,
.rfn-retailer-card strong,
.rfn-stock,
.rfn-product-foot,
.rfn-price-card h3,
.rfn-big-price,
.rfn-total,
.rfn-edition-card,
.rfn-pick-badge,
.rfn-edition-name,
.rfn-timeline-item > span,
.rfn-timeline-item strong,
.rfn-timeline-item p,
.rfn-first-gta,
.rfn-first-gta-buttons button,
.rfn-first-gta-result,
.rfn-generation-strip span,
.rfn-timeline-gap,
.rfn-fact-list,
.rfn-alert-card,
.rfn-form-status {
  font-family: "DM Sans", Arial, sans-serif !important;
}

/* Consistent numeric treatment */
.rfn-countdown strong,
.rfn-big-price,
.rfn-result-price strong,
.rfn-price-card strong,
.rfn-timeline-item > span,
.rfn-money-input span {
  font-family: "DM Sans", Arial, sans-serif !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.025em !important;
}

.rfn-hero h1 {
  max-width: 100%;
  line-height: .88 !important;
  letter-spacing: -.04em !important;
}
.rfn-hero h1 span { display:block; }
.rfn-section-head h2 { line-height:.98 !important; }
.rfn-restock-wrap h2,
.rfn-final-cta h2 { line-height:.96 !important; }
.rfn-hero-copy { max-width:650px; }

/* Product filters */
.rfn-gear-filters {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 24px;
}
.rfn-gear-filter {
  border:1px solid #d8cfdc;
  background:#fff;
  color:#17131d;
  padding:11px 16px;
  border-radius:999px;
  font:800 .82rem/1 "DM Sans", sans-serif;
  cursor:pointer;
  transition:.18s ease;
}
.rfn-gear-filter:hover { transform:translateY(-1px); border-color:#ff4f8b; }
.rfn-gear-filter.is-active {
  background:#17131d;
  color:#fff;
  border-color:#17131d;
  box-shadow:4px 4px 0 #ff4f8b;
}
.rfn-product-item[hidden] { display:none !important; }

/* Real product imagery */
.rfn-product-item .rfn-controller-art {
  background:#fff !important;
  border:1px solid rgba(23,19,29,.07);
}
.rfn-product-item .rfn-controller-art img {
  display:block;
  width:100%;
  height:100%;
  min-height:96px;
  max-height:118px;
  object-fit:contain;
  padding:8px;
  background:#fff;
}
.rfn-product-item.is-open .rfn-controller-art img { max-height:138px; }
.rfn-product-item .rfn-product-summary { background:#fff !important; }
.rfn-product-item .rfn-product-summary h3 {
  font-weight:800 !important;
  letter-spacing:-.02em !important;
}
.rfn-product-item .rfn-tag { letter-spacing:.08em !important; }
.rfn-compare-trigger { font-weight:800 !important; }

/* Timeline — brighter, more legible, still cinematic */
.rfn-timeline-section {
  background:linear-gradient(180deg,#1b1025 0%,#24132f 52%,#17101f 100%) !important;
}
.rfn-timeline-section .rfn-section-head h2 { color:#fff !important; }
.rfn-timeline-section .rfn-section-head p:last-child { color:rgba(255,255,255,.78) !important; }
.rfn-first-gta {
  background:rgba(255,255,255,.065) !important;
  border-color:rgba(255,255,255,.18) !important;
}
.rfn-first-gta-label { color:#fff1a8 !important; }
.rfn-first-gta-copy { color:rgba(255,255,255,.76) !important; }
.rfn-first-gta-buttons button {
  color:#fff !important;
  background:rgba(255,255,255,.07) !important;
  border-color:rgba(255,255,255,.22) !important;
}
.rfn-first-gta-buttons button:hover,
.rfn-first-gta-buttons button.is-active {
  background:#fff1a8 !important;
  color:#17131d !important;
  border-color:#fff1a8 !important;
}
.rfn-timeline:before {
  background:linear-gradient(#55e5ff,#ff4f8b,#fff1a8) !important;
  opacity:.9;
}
.rfn-timeline-item > span {
  color:#fff1a8 !important;
  font-weight:800 !important;
  font-size:.82rem !important;
}
.rfn-timeline-item > div {
  padding-top:1px;
}
.rfn-timeline-item strong {
  display:block;
  color:#fff !important;
  font-size:1.22rem !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
}
.rfn-timeline-item p {
  color:rgba(255,255,255,.76) !important;
  line-height:1.55 !important;
}
.rfn-timeline-item > div:before {
  background:#42dcff !important;
  border-color:#24132f !important;
  box-shadow:0 0 18px rgba(66,220,255,.68) !important;
}
.rfn-generation-strip span {
  color:rgba(255,255,255,.82) !important;
  border-color:rgba(255,255,255,.22) !important;
  background:rgba(255,255,255,.04);
}
.rfn-timeline-gap {
  background:linear-gradient(110deg,rgba(255,241,168,.13),rgba(255,79,139,.10)) !important;
  border-color:rgba(255,241,168,.42) !important;
}
.rfn-timeline-gap strong {
  font-family:"DM Sans",sans-serif !important;
  color:#fff1a8 !important;
  font-weight:900 !important;
  letter-spacing:-.025em !important;
}
.rfn-timeline-gap span { color:rgba(255,255,255,.76) !important; }
.rfn-timeline-final > div {
  background:linear-gradient(135deg,rgba(255,79,139,.24),rgba(33,212,253,.12)) !important;
  border-color:rgba(255,241,168,.38) !important;
}

/* Pricing cards — remove the serif/sans mismatch */
.rfn-price-card h3 {
  font-weight:800 !important;
  font-size:1.28rem !important;
  letter-spacing:-.025em !important;
}
.rfn-big-price {
  font-weight:800 !important;
  line-height:1 !important;
}
.rfn-total { font-weight:800 !important; }

/* Edition cards */
.rfn-edition-card h3 {
  font-family:"DM Sans",sans-serif !important;
  font-weight:800 !important;
  letter-spacing:-.025em !important;
}

@media(max-width:620px) {
  .rfn-hero-inner { padding-top:64px !important; padding-bottom:40px !important; }
  .rfn-kicker { font-size:.68rem !important; letter-spacing:.12em !important; margin-bottom:18px !important; }
  .rfn-hero h1 { font-size:clamp(3rem,14vw,4.5rem) !important; line-height:.92 !important; letter-spacing:-.03em !important; }
  .rfn-hero-copy { font-size:1rem !important; margin:20px 0 22px !important; }
  .rfn-countdown { gap:6px !important; margin:20px 0 !important; }
  .rfn-countdown>div { padding:10px 5px !important; }
  .rfn-countdown strong { font-size:1.28rem !important; font-weight:800 !important; }
  .rfn-countdown span { font-family:"DM Sans",sans-serif !important; font-size:.56rem !important; letter-spacing:.08em !important; }

  .rfn-gear-filters { flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; padding:2px 2px 8px; margin-bottom:18px; }
  .rfn-gear-filter { flex:0 0 auto; white-space:nowrap; padding:10px 14px; }
  .rfn-gear-grid { grid-template-columns:1fr !important; gap:12px !important; }
  .rfn-product-item .rfn-product-summary { display:grid !important; grid-template-columns:96px minmax(0,1fr) !important; gap:13px !important; padding:14px !important; min-height:116px !important; }
  .rfn-product-item .rfn-controller-art { min-height:84px !important; margin:0 !important; }
  .rfn-product-item .rfn-controller-art img { min-height:82px !important; max-height:96px !important; padding:5px; }
  .rfn-product-item .rfn-product-summary h3 { font-size:1.04rem !important; line-height:1.12 !important; }
  .rfn-product-item .rfn-product-summary p { font-size:.76rem !important; }
  .rfn-compare-trigger { font-size:.58rem !important; }

  .rfn-restock-wrap h2 { font-size:clamp(2.5rem,11vw,3.8rem) !important; }
  .rfn-section-head h2 { font-size:clamp(2.2rem,10vw,3.4rem) !important; }
  .rfn-final-cta h2 { font-size:clamp(2.6rem,11vw,4.1rem) !important; }

  .rfn-timeline-item { grid-template-columns:50px 1fr !important; gap:22px !important; padding-bottom:38px !important; }
  .rfn-timeline:before { left:61px !important; }
  .rfn-timeline-item > div { padding-left:22px !important; }
  .rfn-timeline-item > div:before { left:-17px !important; }
  .rfn-timeline-item strong { font-size:1.08rem !important; }
  .rfn-timeline-item p { font-size:.9rem !important; }
  .rfn-timeline-gap { margin-left:72px !important; }
}

/* Accessibility contrast + focus pass */
.rfn-section-light .rfn-section-head p:last-child,
.rfn-source-note,
.rfn-product-summary p,
.rfn-edition-card p,
.rfn-fact-list p,
.rfn-restock-wrap > div > p,
.rfn-micro { color:#514a57 !important; }
.rfn-section-dark .rfn-section-head p:last-child,
.rfn-price-card p,
.rfn-timeline-item p,
.rfn-first-gta-copy { color:rgba(255,255,255,.82) !important; }
.rfn-product-foot { color:rgba(255,255,255,.82) !important; }
.rfn-hero .rfn-micro { color:rgba(255,255,255,.86) !important; }
.rfn-disclosure-inline,
.rfn-result-note,
.rfn-result-price span,
.rfn-result > p:not(.rfn-result-label):not(.rfn-result-note) { color:rgba(255,255,255,.82) !important; }
.rfn-alert-card input::placeholder { color:#667085 !important; opacity:1; }
.rfn-stock,.rfn-coming-note { color:#57505c !important; }
.rfn-alert-card label,.rfn-form-status { color:rgba(255,255,255,.82) !important; }
.rfn-countdown span { color:rgba(255,255,255,.88) !important; }
.rfn-section-light .rfn-eyebrow,
.rfn-gear-section .rfn-eyebrow,
.rfn-step-number,
.rfn-edition-name,
.rfn-product-item .rfn-tag,
.rfn-fact-list span { color:#b01452 !important; }
.rfn-pick-badge { background:#b01452 !important; color:#fff !important; }
.rfn-choice:focus-visible,
.rfn-segmented button:focus-visible,
.rfn-gear-filter:focus-visible,
.rfn-btn:focus-visible,
.rfn-product-summary:focus-visible,
.rfn-retailer-card:focus-visible,
.rfn-first-gta-buttons button:focus-visible { outline:3px solid #21d4fd !important; outline-offset:3px !important; }


/* HARD FONT LOCK: exactly two families site-wide. */
body, body * {
  font-family: "DM Sans", Arial, sans-serif !important;
}

.rfn-hero h1,
.rfn-section-head h2,
.rfn-restock-wrap h2,
.rfn-final-cta h2,
.rfn-result h3 {
  font-family: "Libre Bodoni", Georgia, serif !important;
  font-weight: 700 !important;
}

.rfn-countdown strong,
.rfn-big-price,
.rfn-result-price strong,
.rfn-price-card strong,
.rfn-price-card h3,
.rfn-edition-card strong,
.rfn-edition-card h3,
.rfn-timeline-item > span,
.rfn-timeline-item strong,
.rfn-money-input span,
.rfn-alert-card input,
.rfn-alert-card select,
.rfn-choice,
.rfn-segmented button {
  font-family: "DM Sans", Arial, sans-serif !important;
  font-variant-numeric: tabular-nums;
}
