/* ============================================================
   RELX 美国华人电子烟商城 — Design Tokens "Crimson Tech"
   美国华人受众 — Premium Pod Tech + Chinese Editorial
   Brand: relx.vapesonlineshop.com

   ⚠️ Class names retain rz- prefix (legacy from razvapeshops scaffold)
   only because changing them everywhere is mechanical churn.
   Treat rz- as "RELX" not "RAZ" in this codebase.
   ============================================================ */

:root {
  /* ═══ Core Brand — RELX Crimson ═══ */
  --rz-rojo:        #E50012;   /* RELX brand red */
  --rz-rojo-light:  #FF1F32;
  --rz-rojo-soft:   rgba(229, 0, 18, 0.07);
  --rz-rojo-deep:   #B30010;

  /* ═══ Cool Neutrals (Tech Pod Palette — different from RAZ warm sand) ═══ */
  --rz-cream:       #FFFFFF;
  --rz-sand:        #F7F8FA;
  --rz-stone:       #E5E7EB;
  --rz-clay:        #9CA3AF;

  /* ═══ Text ═══ */
  --rz-ink:         #0F172A;
  --rz-charcoal:    #475569;

  /* ═══ Accent (premium gold — RELX official styling cue) ═══ */
  --rz-gold:        #C8A24A;
  --rz-gold-soft:   rgba(200, 162, 74, 0.10);
  --rz-verde:       #16A34A;
  --rz-azul:        #2563EB;

  /* ═══ State ═══ */
  --rz-agotado:     #94A3B8;
  --rz-error:       #DC2626;
  --rz-success:     #16A34A;

  /* ═══ Fonts — 中文 + 拉丁混排 ═══ */
  --rz-font-display: 'Outfit', 'PingFang SC', 'Microsoft YaHei', system-ui, sans-serif;
  --rz-font-body:    'DM Sans', 'PingFang SC', 'Microsoft YaHei', -apple-system, system-ui, sans-serif;
  --rz-font-zh:      'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;

  /* ═══ Radii — 12px / 16px (less curvy than RAZ 24px) ═══ */
  --rz-radius-btn:  12px;
  --rz-radius-card: 16px;
  --rz-radius-sm:   10px;

  /* ═══ Spacing ═══ */
  --rz-xs:  8px;
  --rz-sm:  16px;
  --rz-md:  24px;
  --rz-lg:  40px;
  --rz-xl:  64px;
  --rz-2xl: 96px;

  /* ═══ Layout ═══ */
  --rz-max-w: 1200px;
}

/* ═══ Reset ═══ */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
img, svg { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }

/* ═══ Base ═══ */
body {
  background: var(--rz-cream);
  color: var(--rz-ink);
  font-family: var(--rz-font-body);
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
}

/* ═══ Typography (中文优化字号 + 字重) ═══ */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--rz-font-display);
  font-weight: 700;
  line-height: 1.3;
  color: var(--rz-ink);
  letter-spacing: 0;  /* 中文不加 letter-spacing */
}
h1 { font-size: clamp(1.75rem, 4.5vw, 2.75rem); font-weight: 800; }
h2 {
  font-size: clamp(1.375rem, 3vw, 1.875rem);
  margin-top: 2rem;
  margin-bottom: 1rem;
  padding-left: 14px;
  border-left: 4px solid var(--rz-rojo);
}
h3 { font-size: clamp(1.125rem, 2.2vw, 1.375rem); margin-top: 1.5rem; margin-bottom: 0.75rem; }
p { margin-block: 1rem; color: var(--rz-ink); }

/* ═══ Layout ═══ */
.rz-wrap { max-width: var(--rz-max-w); margin-inline: auto; padding-inline: 24px; }
main { min-height: calc(100vh - 200px); }

/* ════════════════════════════════════════════════════
   ANNOUNCEMENT BAR
   ════════════════════════════════════════════════════ */
.rz-announce {
  background: var(--rz-ink);
  color: #fff;
  text-align: center;
  font-size: 0.8125rem;
  font-weight: 500;
  padding: 8px 16px;
}
.rz-announce strong { color: var(--rz-gold); }

/* ════════════════════════════════════════════════════
   HEADER
   ════════════════════════════════════════════════════ */
.rz-topbar {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255,255,255,0.94);
  backdrop-filter: saturate(180%) blur(12px);
  -webkit-backdrop-filter: saturate(180%) blur(12px);
  border-bottom: 1px solid var(--rz-stone);
}
.rz-nav-bar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 0; gap: 24px; flex-wrap: wrap;
}
.rz-brand {
  font-family: var(--rz-font-display);
  font-weight: 800;
  font-size: 1.375rem;
  color: var(--rz-ink);
}
.rz-brand em { color: var(--rz-rojo); font-style: normal; }
.rz-brand-zh { font-size: 0.8125rem; color: var(--rz-clay); margin-left: 8px; font-weight: 500; }

.rz-nav-menu { display: flex; gap: 24px; font-size: 0.9375rem; font-weight: 500; flex-wrap: wrap; }
.rz-nav-menu a { color: var(--rz-charcoal); transition: color 150ms; position: relative; }
.rz-nav-menu a:hover, .rz-nav-menu a.active { color: var(--rz-rojo); }
.rz-nav-menu a.active::after {
  content: ""; position: absolute; bottom: -8px; left: 50%;
  transform: translateX(-50%); width: 6px; height: 6px;
  border-radius: 50%; background: var(--rz-rojo);
}

.rz-cart-toggle { position: relative; padding: 4px; margin-left: 8px; color: var(--rz-ink); }
.rz-cart-toggle:hover { color: var(--rz-rojo); }
.rz-cart-badge {
  position: absolute; top: -6px; right: -8px;
  background: var(--rz-rojo); color: #fff;
  font-size: 0.7rem; font-weight: 700;
  min-width: 18px; height: 18px; border-radius: 9px;
  display: flex; align-items: center; justify-content: center; line-height: 1;
}

.rz-menu-toggle { display: none; width: 32px; height: 32px; flex-direction: column; justify-content: center; gap: 5px; }
.rz-menu-toggle span { display: block; height: 2px; width: 100%; background: var(--rz-ink); border-radius: 2px; }

@media (max-width: 768px) {
  .rz-menu-toggle { display: flex; }
  .rz-nav-menu { display: none; width: 100%; flex-direction: column; gap: 16px; padding: 16px 0; border-top: 1px solid var(--rz-stone); }
  .rz-nav-menu.open { display: flex; }
}

/* ════════════════════════════════════════════════════
   HERO
   ════════════════════════════════════════════════════ */
.rz-hero {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 48px; align-items: center; padding: var(--rz-xl) 0;
}
@media (max-width: 768px) { .rz-hero { grid-template-columns: 1fr; text-align: center; } }
.rz-hero h1 { margin-bottom: 20px; }
.rz-hero .rz-lead { color: var(--rz-charcoal); font-size: 1.125rem; line-height: 1.7; margin-bottom: 28px; }
.rz-hero-ctas { display: flex; gap: 12px; flex-wrap: wrap; }
@media (max-width: 768px) { .rz-hero-ctas { justify-content: center; } }

.rz-hero-showcase {
  background: linear-gradient(135deg, var(--rz-sand) 0%, #fff 100%);
  border: 1px solid var(--rz-stone);
  border-radius: var(--rz-radius-card);
  padding: 40px 32px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.rz-hero-showcase::before {
  content: ''; position: absolute; top: -40px; right: -40px;
  width: 160px; height: 160px; border-radius: 50%;
  background: var(--rz-rojo-soft);
}
.rz-hero-showcase img { max-height: 280px; margin: 0 auto 20px; object-fit: contain; position: relative; z-index: 1; }

/* ════════════════════════════════════════════════════
   TRUST STRIP
   ════════════════════════════════════════════════════ */
.rz-trust-strip {
  background: var(--rz-sand);
  border-top: 1px solid var(--rz-stone);
  border-bottom: 1px solid var(--rz-stone);
  padding: 18px 0;
}
.rz-trust-strip-inner {
  display: flex; justify-content: center; gap: 32px; flex-wrap: wrap;
  font-size: 0.875rem; font-weight: 500; color: var(--rz-charcoal);
}
.rz-trust-strip-inner span { display: flex; align-items: center; gap: 8px; }
.rz-trust-icon { width: 18px; height: 18px; color: var(--rz-rojo); }

/* ════════════════════════════════════════════════════
   SECTIONS
   ════════════════════════════════════════════════════ */
.rz-section { padding: var(--rz-xl) 0; }
.rz-section h2 { margin-bottom: 12px; }
.rz-section .rz-sub { color: var(--rz-charcoal); max-width: 680px; margin: 0 0 var(--rz-lg); }

.rz-tag {
  color: var(--rz-rojo);
  font-family: var(--rz-font-display);
  font-weight: 700; font-size: 0.8125rem;
  letter-spacing: 0.05em; text-transform: uppercase;
}

/* ════════════════════════════════════════════════════
   PRODUCT GRIDS
   ════════════════════════════════════════════════════ */
.rz-section-title {
  display: flex; align-items: baseline; justify-content: space-between;
  margin-bottom: 24px; flex-wrap: wrap; gap: 16px;
}
.rz-section-title h2 { margin: 0; padding: 0; border: none; }
.rz-section-title .rz-section-zh { color: var(--rz-clay); font-size: 0.875rem; font-weight: 500; }

.rz-grid-pods {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 20px; margin-bottom: 24px;
}
.rz-grid-disposables {
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media (max-width: 768px) {
  .rz-grid-pods, .rz-grid-disposables { grid-template-columns: 1fr; }
}

/* Pair card — for pod systems showing device + pod together */
.rz-pair-card {
  background: #fff;
  border: 1px solid var(--rz-stone);
  border-radius: var(--rz-radius-card);
  padding: 24px;
  display: flex; flex-direction: column;
  transition: all 200ms;
}
.rz-pair-card:hover {
  border-color: var(--rz-rojo);
  box-shadow: 0 6px 24px rgba(229,0,18,0.06);
  transform: translateY(-2px);
}
.rz-pair-card-header {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--rz-stone);
}
.rz-pair-card-name {
  font-family: var(--rz-font-display);
  font-weight: 700; font-size: 1.125rem; color: var(--rz-ink);
}
.rz-pair-card-zh { font-size: 0.8125rem; color: var(--rz-clay); margin-top: 2px; }
.rz-pair-card-imgs { display: flex; gap: 12px; margin-bottom: 16px; min-height: 140px; align-items: center; justify-content: center; }
.rz-pair-card-imgs img { max-height: 130px; max-width: 45%; object-fit: contain; }
.rz-pair-card-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 0; font-size: 0.875rem;
}
.rz-pair-card-row + .rz-pair-card-row { border-top: 1px dashed var(--rz-stone); }
.rz-pair-card-row .rz-precio { font-size: 1rem; }

/* Disposable card — single unit */
.rz-producto {
  background: #fff;
  border: 1px solid var(--rz-stone);
  border-radius: var(--rz-radius-card);
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: all 200ms;
  text-decoration: none;
}
.rz-producto:hover {
  border-color: var(--rz-rojo);
  box-shadow: 0 6px 24px rgba(229,0,18,0.06);
  transform: translateY(-2px);
}
.rz-producto img {
  aspect-ratio: 1; object-fit: contain;
  background: var(--rz-sand);
  padding: 24px;
}
.rz-producto-body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.rz-producto-name {
  font-family: var(--rz-font-display);
  font-weight: 700; font-size: 1.0625rem; color: var(--rz-ink);
  margin-bottom: 4px;
}
.rz-producto-zh { color: var(--rz-clay); font-size: 0.8125rem; margin-bottom: 12px; }
.rz-producto-meta { color: var(--rz-clay); font-size: 0.875rem; margin-bottom: 12px; }
.rz-producto-foot {
  display: flex; align-items: baseline; justify-content: space-between;
  margin-top: auto; padding-top: 14px; border-top: 1px solid var(--rz-stone);
}

/* ════════════════════════════════════════════════════
   PRICE
   ════════════════════════════════════════════════════ */
.rz-precio {
  color: var(--rz-rojo);
  font-family: var(--rz-font-display);
  font-weight: 700; font-size: 1.375rem;
  font-variant-numeric: tabular-nums;
}
.rz-precio-old {
  color: var(--rz-clay);
  font-size: 0.875rem;
  text-decoration: line-through;
  margin-left: 8px;
  font-weight: 400;
}
.rz-precio-off {
  display: inline-block;
  background: var(--rz-rojo);
  color: #fff;
  font-size: 0.6875rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
  margin-left: 8px;
  vertical-align: middle;
}
.rz-ver-mas {
  font-size: 0.75rem; text-transform: uppercase;
  letter-spacing: 0.05em; color: var(--rz-rojo); font-weight: 700;
}

/* ════════════════════════════════════════════════════
   BUTTONS
   ════════════════════════════════════════════════════ */
.rz-btn {
  display: inline-block;
  font-family: var(--rz-font-display);
  font-weight: 700; font-size: 0.9375rem;
  padding: 12px 28px;
  border-radius: var(--rz-radius-btn);
  transition: all 180ms;
  text-align: center;
  border: 2px solid transparent;
}
.rz-btn-primary { background: var(--rz-rojo); color: #fff; }
.rz-btn-primary:hover { background: var(--rz-rojo-deep); transform: translateY(-1px); box-shadow: 0 6px 20px rgba(229,0,18,0.20); }
.rz-btn-line { border-color: var(--rz-rojo); color: var(--rz-rojo); }
.rz-btn-line:hover { background: var(--rz-rojo); color: #fff; }
.rz-btn-ghost { color: var(--rz-charcoal); padding: 8px 16px; }
.rz-btn-ghost:hover { color: var(--rz-rojo); }

.rz-btn-add {
  width: 100%;
  background: var(--rz-rojo); color: #fff;
  padding: 14px 24px;
  font-family: var(--rz-font-display);
  font-weight: 700;
  border-radius: var(--rz-radius-btn);
  transition: all 180ms;
}
.rz-btn-add:hover { background: var(--rz-rojo-deep); }
.rz-btn-add:disabled { opacity: 0.5; cursor: not-allowed; }

/* ════════════════════════════════════════════════════
   STOCK BADGE
   ════════════════════════════════════════════════════ */
.rz-stock-in { color: var(--rz-verde); font-weight: 500; font-size: 0.875rem; }
.rz-stock-in::before {
  content: ""; display: inline-block; width: 8px; height: 8px;
  border-radius: 50%; background: var(--rz-verde);
  margin-right: 8px; vertical-align: middle;
}
.rz-stock-out { color: var(--rz-clay); font-weight: 500; font-size: 0.875rem; }

/* ════════════════════════════════════════════════════
   PRODUCT DETAIL PAGE
   ════════════════════════════════════════════════════ */
.rz-product-page { padding: 32px 0; }
.rz-product-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 48px; align-items: start;
}
@media (max-width: 768px) { .rz-product-grid { grid-template-columns: 1fr; gap: 24px; } }

.rz-product-gallery { position: sticky; top: 80px; }
.rz-product-img-wrap {
  background: linear-gradient(135deg, var(--rz-sand) 0%, #fff 100%);
  border: 1px solid var(--rz-stone);
  border-radius: var(--rz-radius-card);
  padding: 40px;
  text-align: center;
}
.rz-product-img-wrap img { max-height: 380px; margin: 0 auto; object-fit: contain; }

.rz-product-h1 {
  font-family: var(--rz-font-display);
  font-weight: 800; font-size: clamp(1.5rem, 3.5vw, 2rem);
  margin: 0 0 6px; color: var(--rz-ink);
}
.rz-product-zh { color: var(--rz-clay); font-size: 1rem; margin-bottom: 16px; }

.rz-product-price { margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--rz-stone); }
.rz-price-main { font-size: 2rem; font-family: var(--rz-font-display); font-weight: 800; color: var(--rz-rojo); }

.rz-product-desc { color: var(--rz-charcoal); font-size: 0.9375rem; line-height: 1.75; margin: 16px 0 24px; }
.rz-product-desc strong { color: var(--rz-ink); }

/* ════════════════════════════════════════════════════
   FLAVOR SELECTOR
   ════════════════════════════════════════════════════ */
.rz-flavor-section { margin-bottom: 24px; }
.rz-flavor-label { font-weight: 600; font-size: 0.9375rem; margin-bottom: 12px; }
.rz-flavor-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.rz-flavor-btn {
  background: #fff;
  border: 1.5px solid var(--rz-stone);
  border-radius: var(--rz-radius-sm);
  padding: 8px 14px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--rz-ink);
  cursor: pointer;
  transition: all 150ms;
}
.rz-flavor-btn:hover { border-color: var(--rz-rojo); background: var(--rz-rojo-soft); }
.rz-flavor-btn.active { background: var(--rz-rojo); color: #fff; border-color: var(--rz-rojo); }
.rz-flavor-btn.oos { opacity: 0.4; cursor: not-allowed; text-decoration: line-through; }

/* ════════════════════════════════════════════════════
   SPEC TABLE
   ════════════════════════════════════════════════════ */
.rz-specs { width: 100%; border-collapse: collapse; margin: 24px 0; font-size: 0.9375rem; }
.rz-specs th {
  background: var(--rz-ink); color: #fff;
  font-family: var(--rz-font-display);
  font-weight: 700; font-size: 0.8125rem;
  letter-spacing: 0.04em;
  padding: 12px 16px; text-align: left;
}
.rz-specs td { padding: 12px 16px; border-bottom: 1px solid var(--rz-stone); }
.rz-specs tr:last-child td { border-bottom: none; }
.rz-specs td:first-child { font-weight: 600; color: var(--rz-ink); width: 40%; }
.rz-specs td:last-child { color: var(--rz-charcoal); }

/* ════════════════════════════════════════════════════
   FAQ
   ════════════════════════════════════════════════════ */
.rz-faq {
  border: 1px solid var(--rz-stone);
  border-radius: var(--rz-radius-sm);
  margin-bottom: 8px; overflow: hidden;
}
.rz-faq summary {
  padding: 16px 20px; font-family: var(--rz-font-display);
  font-weight: 700; font-size: 1rem; cursor: pointer; list-style: none;
  display: flex; align-items: center; justify-content: space-between;
  transition: background 150ms;
}
.rz-faq summary:hover { background: var(--rz-sand); }
.rz-faq summary::after { content: "+"; font-size: 1.25rem; color: var(--rz-rojo); font-weight: 700; }
.rz-faq[open] summary::after { content: "−"; }
.rz-faq-body { padding: 0 20px 16px; color: var(--rz-charcoal); font-size: 0.9375rem; line-height: 1.75; }

/* ════════════════════════════════════════════════════
   VALUE PROPS (4 icon columns)
   ════════════════════════════════════════════════════ */
.rz-values { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; text-align: center; padding: var(--rz-lg) 0; }
@media (max-width: 768px) { .rz-values { grid-template-columns: repeat(2, 1fr); } }
.rz-value-item h3 { font-size: 1rem; margin-top: 12px; margin-bottom: 4px; }
.rz-value-item p { font-size: 0.875rem; color: var(--rz-charcoal); margin: 0; }
.rz-value-icon {
  width: 56px; height: 56px; margin: 0 auto;
  background: var(--rz-rojo-soft); border-radius: 50%;
  display: grid; place-items: center;
}
.rz-value-icon svg { width: 26px; height: 26px; color: var(--rz-rojo); }

/* ════════════════════════════════════════════════════
   CHINESE COMMUNITY BADGE / WeChat Banner
   ════════════════════════════════════════════════════ */
.rz-wechat-banner {
  background: linear-gradient(135deg, #07C160 0%, #00B050 100%);
  border-radius: var(--rz-radius-card);
  padding: 28px 32px; color: #fff;
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 20px;
  margin: var(--rz-lg) 0;
}
.rz-wechat-banner h3 { color: #fff; font-size: 1.25rem; margin: 0 0 6px; }
.rz-wechat-banner p { color: rgba(255,255,255,0.9); margin: 0; font-size: 0.9375rem; }
.rz-wechat-cta {
  background: #fff; color: #07C160;
  padding: 12px 24px; border-radius: var(--rz-radius-btn);
  font-weight: 700; font-family: var(--rz-font-display);
  white-space: nowrap;
}
.rz-wechat-cta:hover { background: var(--rz-sand); }

/* ════════════════════════════════════════════════════
   CART DRAWER (slide-out from right)
   ════════════════════════════════════════════════════ */
.rz-cart-drawer {
  position: fixed; top: 0; right: 0;
  width: min(380px, 90vw); height: 100vh;
  background: #fff; border-left: 1px solid var(--rz-stone);
  z-index: 1000; display: flex; flex-direction: column;
  transform: translateX(100%); transition: transform 250ms ease;
}
.rz-cart-drawer.open { transform: translateX(0); }
.rz-cart-drawer-header {
  display: flex; justify-content: space-between; align-items: center;
  padding: 20px; border-bottom: 1px solid var(--rz-stone);
}
.rz-cart-drawer-header h3 { margin: 0; font-family: var(--rz-font-display); font-size: 1.1rem; }
.rz-cart-close { color: var(--rz-clay); font-size: 1.5rem; padding: 4px 8px; }
.rz-cart-close:hover { color: var(--rz-ink); }
.rz-cart-drawer-body { flex: 1; overflow-y: auto; padding: 16px 20px; }
.rz-cart-item { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--rz-stone); }
.rz-cart-item-info { flex: 1; }
.rz-cart-item-name { font-size: 0.9rem; font-weight: 500; margin: 0 0 4px; line-height: 1.3; }
.rz-cart-item-controls { display: flex; align-items: center; gap: 8px; margin-top: 8px; }
.rz-qty-btn {
  background: var(--rz-sand); border: 1px solid var(--rz-stone);
  color: var(--rz-ink); width: 28px; height: 28px;
  border-radius: 8px; font-size: 1rem;
  display: flex; align-items: center; justify-content: center;
}
.rz-qty-btn:hover { background: var(--rz-stone); }
.rz-qty-num { font-variant-numeric: tabular-nums; min-width: 20px; text-align: center; }
.rz-cart-drawer-footer { padding: 20px; border-top: 1px solid var(--rz-stone); }
.rz-cart-total { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; font-weight: 500; }
.rz-cart-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.3); z-index: 999; }

/* ════════════════════════════════════════════════════
   FOOTER
   ════════════════════════════════════════════════════ */
.rz-footer {
  background: var(--rz-ink); border-top: 1px solid var(--rz-stone);
  padding: 56px 0 24px; margin-top: 80px;
}
.rz-footer-cols { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 32px; margin-bottom: 40px; }
@media (max-width: 768px) { .rz-footer-cols { grid-template-columns: 1fr 1fr; } }
.rz-footer-brand { color: var(--rz-clay); font-size: 0.9375rem; line-height: 1.7; }
.rz-footer-brand strong {
  display: block; font-family: var(--rz-font-display);
  font-weight: 800; font-size: 1.25rem; color: #fff; margin-bottom: 12px;
}
.rz-footer-brand strong em { color: var(--rz-rojo); font-style: normal; }

.rz-footer-group h4 {
  font-family: var(--rz-font-display); font-size: 0.875rem;
  text-transform: uppercase; letter-spacing: 0.06em;
  color: var(--rz-gold); margin-bottom: 16px;
}
.rz-footer-group ul { list-style: none; display: grid; gap: 10px; }
.rz-footer-group a { color: var(--rz-clay); font-size: 0.9375rem; transition: color 150ms; }
.rz-footer-group a:hover { color: #fff; }
.rz-footer-legal { text-align: center; color: var(--rz-clay); font-size: 0.8125rem; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.08); }

/* ════════════════════════════════════════════════════
   LEGAL WARNING
   ════════════════════════════════════════════════════ */
.rz-legal {
  background: var(--rz-ink); color: var(--rz-clay);
  font-size: 0.75rem; line-height: 1.5;
  padding: 16px 24px; text-align: center;
}
.rz-legal strong { color: var(--rz-rojo); font-weight: 700; }

/* ════════════════════════════════════════════════════
   UTILITIES
   ════════════════════════════════════════════════════ */
[x-cloak] { display: none !important; }
.rz-text-center { text-align: center; }
.rz-mt-lg { margin-top: var(--rz-lg); }
.rz-mb-lg { margin-bottom: var(--rz-lg); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
