/* RTRiga storefront — dark drift / motorsport theme */

:root {
  --rtr-bg: #0A0A0A;
  --rtr-surface: #181818;
  --rtr-surface-2: #232323;
  --rtr-border: #2E2E2E;
  --rtr-text: #FFFFFF;
  --rtr-muted: #A0A0A0;
  --rtr-primary: #FF0033;
  --rtr-primary-hover: #cc0029;
  --rtr-accent: #00E5FF;
  --rtr-accent-hover: #00b8cc;
  --rtr-radius: 0;
  --rtr-font-display: 'Oswald', system-ui, -apple-system, sans-serif;
  --rtr-font-body: 'Inter', system-ui, -apple-system, sans-serif;
  --rtr-container-max: 1280px;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--rtr-bg);
  color: var(--rtr-text);
  font-family: var(--rtr-font-body);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img { max-width: 100%; display: block; height: auto; }
a { color: var(--rtr-text); text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--rtr-primary); }

h1, h2, h3, h4, h5 {
  font-family: var(--rtr-font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: -0.025em;
  margin: 0 0 .5em;
  line-height: 1.05;
}
h1 { font-size: clamp(2.5rem, 6vw, 5rem); }
h2 { font-size: clamp(2rem, 4vw, 3rem); }
h3 { font-size: 1.5rem; }

.rtr-container { width: 100%; max-width: var(--rtr-container-max); margin: 0 auto; padding: 0 1.5rem; }
.rtr-section { padding: 5rem 0; border-top: 1px solid var(--rtr-border); }
.rtr-section:first-of-type { border-top: 0; }
.rtr-section-head { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 3rem; }
.rtr-section-head h2 { margin: 0; }
.rtr-section-lead { color: var(--rtr-muted); font-size: 1.1rem; max-width: 36rem; margin: 1rem auto 0; }
.rtr-text-center { text-align: center; }
.rtr-muted { color: var(--rtr-muted); }
.rtr-display-title { font-size: clamp(3rem, 8vw, 6rem); }

/* Eyebrow / overline */
.rtr-eyebrow {
  font-family: var(--rtr-font-display);
  text-transform: uppercase;
  font-size: .8rem;
  letter-spacing: .2em;
  color: var(--rtr-primary);
  margin: 0 0 .75rem;
}
.rtr-accent { color: var(--rtr-primary); }
.rtr-eyebrow-cyan { color: var(--rtr-accent); }

/* Coming-soon pill — small announcement marker on category pages tagged 'coming-soon' */
.rtr-coming-soon-pill {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .55rem 1.25rem;
  border: 2px solid var(--rtr-primary);
  border-radius: 999px;
  font-family: var(--rtr-font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .15em;
  font-size: .85rem;
  color: var(--rtr-primary);
}
.rtr-coming-soon-pill-pulse { animation: rtr-coming-soon-pulse 2.4s ease-in-out infinite; }
@keyframes rtr-coming-soon-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255, 0, 51, .35); transform: scale(1); }
  50%      { box-shadow: 0 0 0 12px rgba(255, 0, 51, 0);  transform: scale(1.04); }
}

/* Centered hero for coming-soon categories — keeps the hero title visually aligned
   with the centered announcement card below. Without this the title sits at the left
   of the 1280px container while the card is centered, which reads as broken layout. */
.rtr-category-hero-coming-soon .rtr-category-hero-content { text-align: center; }
.rtr-category-hero-coming-soon .rtr-category-hero-lead { margin-left: auto; margin-right: auto; max-width: 50rem; }

/* Coming-soon richer card — large icon + animated pill + optional lead + teasers + CTAs.
   Used on category pages tagged 'coming-soon' (e.g. /shop/sim while sim gear isn't selling
   yet). The hero above already shows the eyebrow + title + optional banner; this card lives
   below the hero and gives the page presence even when the CMS body is empty. */
.rtr-coming-soon-section { padding: 2rem 0 5rem; }
.rtr-coming-soon-card {
  position: relative;
  max-width: 56rem;
  margin: 0 auto;
  padding: 3.5rem 2rem 3rem;
  text-align: center;
  border: 1px solid var(--rtr-border);
  background: linear-gradient(180deg, rgba(0,212,255,.04) 0%, rgba(255,255,255,0) 60%);
}
.rtr-coming-soon-card::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(circle at 20% 10%, rgba(0,212,255,.12), transparent 35%),
    radial-gradient(circle at 80% 90%, rgba(255,0,51,.10), transparent 40%);
}
.rtr-coming-soon-card > * { position: relative; }
.rtr-coming-soon-icon {
  display: flex; align-items: center; justify-content: center;
  width: 5rem; height: 5rem;
  border-radius: 50%;
  border: 2px solid var(--rtr-accent);
  color: var(--rtr-accent);
  font-size: 2.5rem;
  margin: 0 auto 1.5rem;
  box-shadow: 0 0 30px rgba(0, 212, 255, .25);
}
.rtr-coming-soon-card .rtr-coming-soon-pill { margin-bottom: 2rem; font-size: 1rem; padding: .7rem 1.5rem; }
.rtr-coming-soon-lead { margin: 0 auto 2.5rem; }
.rtr-coming-soon-fallback { margin: 0 auto 2.5rem; max-width: 36rem; color: var(--rtr-muted); font-size: 1.05rem; line-height: 1.6; }
.rtr-coming-soon-teasers {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem; margin: 0 auto 2.5rem; max-width: 48rem;
}
.rtr-coming-soon-teaser {
  padding: 1.25rem 1rem;
  border: 1px solid var(--rtr-border);
  background: rgba(255,255,255,.02);
  text-align: center;
}
.rtr-coming-soon-teaser-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2.5rem; height: 2.5rem; margin-bottom: .75rem;
  color: var(--rtr-accent);
  font-size: 1.25rem;
}
.rtr-coming-soon-teaser h3 {
  font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .06em;
  font-size: .95rem; margin: 0 0 .35rem; color: #fff;
}
.rtr-coming-soon-teaser p { margin: 0; color: var(--rtr-muted); font-size: .85rem; line-height: 1.5; }
.rtr-coming-soon-ctas {
  display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center;
}
@media (max-width: 640px) {
  .rtr-coming-soon-card { padding: 2.5rem 1.25rem 2rem; }
  .rtr-coming-soon-icon { width: 4rem; height: 4rem; font-size: 2rem; }
  .rtr-coming-soon-teasers { grid-template-columns: 1fr; }
}

/* Buttons */
.rtr-btn {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .9rem 1.75rem;
  font-family: var(--rtr-font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .075em;
  font-size: .9rem;
  border: 2px solid transparent;
  border-radius: var(--rtr-radius);
  cursor: pointer;
  transition: transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
  text-decoration: none;
}
.rtr-btn-sm { padding: .55rem 1.1rem; font-size: .8rem; }
.rtr-btn-block { display: flex; justify-content: center; width: 100%; }
.rtr-btn-primary { background: var(--rtr-primary); color: #fff; }
.rtr-btn-primary:hover { background: var(--rtr-primary-hover); color: #fff; transform: translateY(-1px); }
.rtr-btn-accent { background: var(--rtr-accent); color: #000; }
.rtr-btn-accent:hover { background: var(--rtr-accent-hover); color: #000; transform: translateY(-1px); }
.rtr-btn-outline { background: transparent; color: var(--rtr-text); border-color: var(--rtr-text); }
.rtr-btn-outline:hover { background: var(--rtr-text); color: #000; }

.rtr-link { color: var(--rtr-muted); font-size: .9rem; text-align: center; display: block; margin-top: 1rem; }
.rtr-link:hover { color: var(--rtr-text); }
.rtr-link-btn { background: none; border: 0; color: var(--rtr-muted); cursor: pointer; padding: .25rem; }
.rtr-link-btn:hover { color: var(--rtr-primary); }

/* ========== NAV ========== */
.rtr-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  background: rgba(10,10,10,.95);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--rtr-border);
  transition: box-shadow .25s ease;
}
.rtr-nav.is-scrolled { box-shadow: 0 1px 24px rgba(0,0,0,.4); }
body { padding-top: 4.5rem; } /* offset for fixed nav */
.rtr-nav-inner {
  display: flex; align-items: center; justify-content: space-between;
  height: 4.5rem;
}
.rtr-brand { display: inline-flex; align-items: center; }
.rtr-brand-logo { height: 2.5rem; width: auto; display: block; }
.rtr-footer-logo { height: 3rem; width: auto; display: block; margin-bottom: .75rem; }
@media (min-width: 768px) { .rtr-brand-logo { height: 2.75rem; } }
.rtr-nav-links { display: none; gap: 2rem; }
@media (min-width: 768px) { .rtr-nav-links { display: flex; } }
.rtr-nav-link {
  font-family: var(--rtr-font-display);
  font-weight: 700;
  font-size: .85rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--rtr-text);
}
.rtr-nav-link.active { color: var(--rtr-primary); }
.rtr-nav-link-toggle { display: inline-flex; align-items: center; gap: .35rem; cursor: pointer; }
.rtr-nav-link-toggle .bi-chevron-down { font-size: .65rem; transition: transform .2s ease; }

/* Desktop dropdown */
.rtr-nav-dropdown { position: relative; }
.rtr-nav-dropdown-menu {
  position: absolute; top: 100%; left: 50%; transform: translateX(-50%) translateY(-4px);
  min-width: 220px;
  background: rgba(15,15,15,.98);
  border: 1px solid var(--rtr-border);
  padding: .5rem 0;
  display: flex; flex-direction: column;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .15s ease, transform .15s ease, visibility .15s linear .15s;
  z-index: 110;
  box-shadow: 0 12px 28px rgba(0,0,0,.45);
}
.rtr-nav-dropdown-menu a {
  display: block;
  padding: .55rem 1.25rem;
  font-family: var(--rtr-font-display);
  font-weight: 700;
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--rtr-text);
  white-space: nowrap;
}
.rtr-nav-dropdown-menu a:hover { background: var(--rtr-surface); color: var(--rtr-primary); }
.rtr-nav-dropdown:hover .rtr-nav-dropdown-menu,
.rtr-nav-dropdown:focus-within .rtr-nav-dropdown-menu {
  opacity: 1; visibility: visible; pointer-events: auto;
  transform: translateX(-50%) translateY(0);
  transition: opacity .15s ease, transform .15s ease, visibility 0s linear 0s;
}
.rtr-nav-dropdown:hover .rtr-nav-link-toggle .bi-chevron-down,
.rtr-nav-dropdown:focus-within .rtr-nav-link-toggle .bi-chevron-down { transform: rotate(180deg); }

/* Mobile toggle button */
.rtr-nav-toggle {
  display: inline-flex; align-items: center; justify-content: center;
  background: none; border: 1px solid var(--rtr-border); color: var(--rtr-text);
  font-size: 1.1rem; padding: .35rem .55rem; cursor: pointer;
  margin-left: .25rem;
}
.rtr-nav-toggle .rtr-nav-toggle-close { display: none; }
.rtr-nav-toggle.is-open .rtr-nav-toggle-open { display: none; }
.rtr-nav-toggle.is-open .rtr-nav-toggle-close { display: inline; }
@media (min-width: 768px) { .rtr-nav-toggle { display: none; } }

/* Mobile menu drawer */
.rtr-nav-mobile {
  border-top: 1px solid var(--rtr-border);
  background: rgba(10,10,10,.98);
  backdrop-filter: blur(8px);
}
.rtr-nav-mobile[hidden] { display: none; }
.rtr-nav-mobile .rtr-container { padding: 1rem 1.5rem 1.5rem; display: flex; flex-direction: column; gap: .35rem; }
.rtr-nav-mobile a {
  display: block; padding: .65rem 0;
  font-family: var(--rtr-font-display); font-weight: 700; font-size: .9rem;
  text-transform: uppercase; letter-spacing: .12em;
  color: var(--rtr-text);
  border-bottom: 1px solid rgba(255,255,255,.05);
}
.rtr-nav-mobile a:hover { color: var(--rtr-primary); }
.rtr-nav-mobile details summary {
  padding: .65rem 0;
  font-family: var(--rtr-font-display); font-weight: 700; font-size: .9rem;
  text-transform: uppercase; letter-spacing: .12em;
  color: var(--rtr-text);
  cursor: pointer;
  list-style: none;
  display: flex; justify-content: space-between; align-items: center;
  border-bottom: 1px solid rgba(255,255,255,.05);
}
.rtr-nav-mobile details summary::after { content: "\f282"; font-family: "bootstrap-icons"; font-weight: 400; font-size: .7rem; transition: transform .2s ease; }
.rtr-nav-mobile details[open] summary::after { transform: rotate(180deg); }
.rtr-nav-mobile details summary::-webkit-details-marker { display: none; }
.rtr-nav-mobile details a { padding-left: 1rem; font-size: .8rem; opacity: .85; }

/* Sponsor footer logo */
.rtr-sponsor-logo { display: inline-flex; align-items: center; }
.rtr-sponsor-logo img { max-height: 40px; width: auto; opacity: .8; transition: opacity .15s ease; filter: grayscale(100%); }
.rtr-sponsor-logo:hover img { opacity: 1; filter: grayscale(0); }

.rtr-nav-right { display: flex; align-items: center; gap: 1rem; }
.rtr-lang { display: flex; gap: .25rem; }
.rtr-lang-link {
  display: inline-block; padding: .25rem .5rem;
  font-family: var(--rtr-font-display); font-size: .75rem; font-weight: 700;
  letter-spacing: .1em; color: var(--rtr-muted);
  border: 1px solid transparent;
}
.rtr-lang-link:hover, .rtr-lang-link.active { color: var(--rtr-text); border-color: var(--rtr-border); }
.rtr-nav-cart { position: relative; display: inline-flex; align-items: center; justify-content: center; font-size: 1.1rem; padding: .45rem .65rem; color: var(--rtr-text); border: 1px solid var(--rtr-border); transition: border-color .15s ease, color .15s ease, transform .15s ease; }
.rtr-nav-cart:hover { color: var(--rtr-primary); border-color: var(--rtr-primary); transform: translateY(-1px); }
.rtr-nav-cart__badge { position: absolute; top: -6px; right: -6px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--rtr-primary); color: #fff; font-size: .65rem; font-weight: 700; line-height: 18px; text-align: center; box-shadow: 0 0 0 2px var(--rtr-bg, #fff); pointer-events: none; }

/* ========== HERO ========== */
.rtr-hero {
  position: relative;
  min-height: 80vh;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
  text-align: center;
}
.rtr-hero-bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  opacity: .5;
}
.rtr-hero-overlay {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at center, transparent 0%, rgba(10,10,10,.85) 80%);
}
.rtr-hero-content { position: relative; z-index: 1; padding: 5rem 1.5rem; max-width: 56rem; }
.rtr-hero-content-left { text-align: left; max-width: 48rem; }
.rtr-hero-title { font-size: clamp(3rem, 9vw, 8rem); margin-bottom: 1rem; }
.rtr-hero-subtitle {
  font-family: var(--rtr-font-display);
  text-transform: uppercase;
  font-size: 1rem;
  letter-spacing: .35em;
  color: var(--rtr-muted);
  margin: 0 0 1.5rem;
}
.rtr-hero-body { color: var(--rtr-muted); font-size: 1.1rem; max-width: 36rem; margin: 0 auto 2rem; }
.rtr-hero-content-left .rtr-hero-body { margin-left: 0; }
.rtr-hero-ctas { display: flex; gap: 1rem; flex-wrap: wrap; justify-content: center; }
.rtr-hero-content-left .rtr-hero-ctas,
.rtr-next-round-info .rtr-hero-ctas { justify-content: flex-start; }

/* ========== NEXT ROUND ========== */
.rtr-next-round { background: var(--rtr-surface); border-top: 1px solid var(--rtr-border); }
.rtr-next-round-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: center;
}
@media (min-width: 768px) { .rtr-next-round-grid { grid-template-columns: 1fr 1fr; } }
.rtr-meta-row { list-style: none; padding: 0; margin: 1rem 0; display: flex; flex-wrap: wrap; gap: 1.25rem; color: var(--rtr-muted); }
.rtr-meta-row i { color: var(--rtr-primary); margin-right: .5rem; }

/* ========== FEATURED + PRODUCT GRID ========== */
.rtr-featured { background: var(--rtr-bg); }
.rtr-product-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.rtr-product-card {
  display: block; background: var(--rtr-surface); border: 1px solid var(--rtr-border);
  overflow: hidden;
  transition: border-color .2s ease, transform .2s ease;
}
.rtr-product-card:hover { border-color: var(--rtr-primary); transform: translateY(-4px); }
.rtr-product-img { position: relative; aspect-ratio: 4/3; overflow: hidden; background: var(--rtr-surface-2); }
.rtr-product-img-empty { background: linear-gradient(135deg, var(--rtr-surface-2) 0%, var(--rtr-surface) 100%); }
.rtr-product-img img { width: 100%; height: 100%; object-fit: cover; }
.rtr-product-body { padding: 1rem 1.25rem 1.25rem; }
.rtr-product-cat { font-family: var(--rtr-font-display); font-size: .75rem; text-transform: uppercase; letter-spacing: .1em; color: var(--rtr-accent); margin: 0 0 .25rem; }
.rtr-product-name { margin: 0 0 .25rem; font-size: 1.05rem; }
.rtr-product-desc { color: var(--rtr-muted); font-size: .85rem; margin: 0 0 1rem; }
.rtr-product-foot { display: flex; justify-content: space-between; align-items: center; gap: .75rem; }
.rtr-product-price-wrap { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.rtr-product-price { font-family: var(--rtr-font-display); font-weight: 700; font-size: 1.15rem; color: var(--rtr-primary); line-height: 1.1; }
.rtr-vat-badge-wrap { display: inline-block; }
.rtr-price-vat-badge { font-size: .72rem; letter-spacing: .02em; white-space: nowrap; opacity: .75; }
.rtr-price-vat-note { font-size: .72rem; opacity: .65; }

/* ========== EXPLAINER ========== */
.rtr-explainer { background: var(--rtr-surface); border-top: 1px solid var(--rtr-border); border-bottom: 1px solid var(--rtr-border); text-align: center; }
.rtr-explainer-content { max-width: 48rem; margin: 0 auto; }
.rtr-stats { display: flex; justify-content: center; gap: 2.5rem; margin: 2rem 0; flex-wrap: wrap; }
.rtr-stat-value { font-family: var(--rtr-font-display); font-weight: 700; font-size: 2.5rem; color: var(--rtr-primary); margin: 0; }
.rtr-stat-label { font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .15em; font-size: .8rem; color: var(--rtr-muted); margin: 0; }

/* ========== MEDIA GRID ========== */
.rtr-media { background: var(--rtr-bg); }
.rtr-media-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.rtr-media-item { aspect-ratio: 4/3; overflow: hidden; background: var(--rtr-surface); border: 1px solid var(--rtr-border); }
.rtr-media-item-empty { background: linear-gradient(135deg, var(--rtr-surface-2) 0%, var(--rtr-surface) 100%); }
.rtr-media-item img { width: 100%; height: 100%; object-fit: cover; }

/* ========== CTA BAND ========== */
.rtr-cta-band {
  background: linear-gradient(135deg, #1a1a1a 0%, #0A0A0A 100%);
  text-align: center;
  border-top: 1px solid var(--rtr-border);
}
.rtr-cta-content { max-width: 48rem; margin: 0 auto; }

/* ========== SHOP CATEGORY CARDS ========== */
.rtr-shop-intro { padding: 5rem 0 2rem; }
.rtr-category-grid { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; }
@media (min-width: 640px) { .rtr-category-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .rtr-category-grid { grid-template-columns: repeat(4, 1fr); } }
.rtr-category-card {
  position: relative;
  display: block;
  min-height: 220px;
  overflow: hidden;
  border: 1px solid var(--rtr-border);
  text-decoration: none;
  color: var(--rtr-text);
  transition: border-color .2s ease, transform .2s ease;
}
.rtr-category-card:hover { transform: translateY(-2px); }
.rtr-category-sim:hover { border-color: var(--rtr-accent); }
.rtr-category-body:hover { border-color: var(--rtr-primary); }
.rtr-category-bg-wrap { position: absolute; inset: 0; overflow: hidden; }
.rtr-category-bg { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .55; }
.rtr-category-bg-pattern { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.rtr-category-bg-pattern i { font-size: 6rem; line-height: 1; color: var(--rtr-text); opacity: .07; }
.rtr-category-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,10,10,.4) 0%, rgba(10,10,10,.95) 100%); }
.rtr-category-body { position: relative; z-index: 1; padding: 1.1rem 1.1rem 0; }
.rtr-category-card .rtr-category-body { display: flex; flex-direction: column; justify-content: end; height: 100%; gap: .35rem; }
.rtr-category-card h2 { font-size: 1.05rem; margin: 0; line-height: 1.15; letter-spacing: .02em; text-transform: uppercase; }
.rtr-category-card .rtr-eyebrow { font-size: .7rem; margin: 0; letter-spacing: .12em; }
.rtr-category-card__cta { justify-content: center; margin-bottom: 1.5rem; }
.rtr-category-card__meta { color: rgba(255,255,255,.7); font-size: .75rem; margin: 0 0 1.1rem; letter-spacing: .02em; text-transform: uppercase; }
.rtr-category-hero { position: relative; min-height: 40vh; display: flex; align-items: end; padding: 4rem 0; }
.rtr-category-hero-content { position: relative; z-index: 1; }

/* ========== SHOP CHOOSER (hero tiles on /shop) ==========
   Used ONLY on /shop. Brand/model drill-down tiles on /shop/body and below
   keep using .rtr-category-card above — DO NOT merge these two systems. */
.rtr-shop-chooser-section { padding: 0 0 5rem; }
.rtr-shop-chooser {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .rtr-shop-chooser { grid-template-columns: 1fr 1fr; gap: 2rem; }
}
/* Heights are deliberately landscape (width > height) on desktop. The two tiles
   sit in a 2-col grid (~600px wide each at 1440), so a tall min-height makes them
   read as oversized near-square blocks. Keep these proportionate to the tile width:
   the brand/category cards above are 220px tall — these are the larger hero tiles but
   must stay landscape. Pinned by ShopFlowTests.Shop_ChooserTiles_AreLandscape_NotOversized. */
.rtr-shop-chooser-card {
  position: relative;
  display: block;
  min-height: 300px;
  overflow: hidden;
  border: 1px solid var(--rtr-border);
  text-decoration: none;
  color: var(--rtr-text);
  transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
  isolation: isolate;
}
@media (min-width: 768px) { .rtr-shop-chooser-card { min-height: 340px; } }
@media (min-width: 1280px) { .rtr-shop-chooser-card { min-height: 360px; } }
.rtr-shop-chooser-card:hover { transform: translateY(-4px); box-shadow: 0 1rem 2.5rem rgba(0,0,0,.45); }
.rtr-shop-chooser-card-sim:hover { border-color: var(--rtr-accent); }
.rtr-shop-chooser-card-body:hover { border-color: var(--rtr-primary); }
.rtr-shop-chooser-card__bg-wrap { position: absolute; inset: 0; overflow: hidden; z-index: 0; }
.rtr-shop-chooser-card__bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  opacity: .6;
  transition: transform .5s ease, opacity .35s ease;
}
.rtr-shop-chooser-card:hover .rtr-shop-chooser-card__bg { transform: scale(1.04); opacity: .7; }
.rtr-shop-chooser-card__bg-pattern {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  background: radial-gradient(circle at 50% 35%, rgba(255,255,255,.06) 0%, rgba(10,10,10,0) 60%);
}
.rtr-shop-chooser-card__bg-pattern i { font-size: 9rem; line-height: 1; color: var(--rtr-text); opacity: .08; }
.rtr-shop-chooser-card-sim .rtr-shop-chooser-card__bg-pattern i { color: var(--rtr-accent); opacity: .12; }
.rtr-shop-chooser-card-body .rtr-shop-chooser-card__bg-pattern i { color: var(--rtr-primary); opacity: .12; }
.rtr-shop-chooser-card__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10,10,10,.15) 0%, rgba(10,10,10,.65) 55%, rgba(10,10,10,.95) 100%);
}
.rtr-shop-chooser-card__body {
  position: relative; z-index: 1;
  height: 100%;
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: 1.75rem 1.75rem 1.75rem;
  gap: .65rem;
}
@media (min-width: 768px) { .rtr-shop-chooser-card__body { padding: 2.25rem 2.25rem 2.25rem; gap: .85rem; } }
.rtr-shop-chooser-card__body .rtr-eyebrow { margin: 0; font-size: .8rem; letter-spacing: .14em; }
.rtr-shop-chooser-card__title {
  margin: 0;
  font-family: var(--rtr-font-display);
  font-size: 1.85rem; line-height: 1.05;
  letter-spacing: .03em; text-transform: uppercase;
  color: var(--rtr-text);
}
@media (min-width: 768px) { .rtr-shop-chooser-card__title { font-size: 2.4rem; } }
@media (min-width: 1280px) { .rtr-shop-chooser-card__title { font-size: 2.85rem; } }
.rtr-shop-chooser-card__desc {
  margin: 0;
  max-width: 32rem;
  color: rgba(255,255,255,.82);
  font-size: 1rem; line-height: 1.5;
}
.rtr-shop-chooser-card__cta {
  align-self: flex-start;
  margin-top: .5rem;
  padding: .85rem 1.5rem;
  font-size: .95rem; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  display: inline-flex; align-items: center; gap: .55rem;
  min-height: 2.75rem;
}
.rtr-shop-chooser-card__cta i { transition: transform .25s ease; }
.rtr-shop-chooser-card:hover .rtr-shop-chooser-card__cta i { transform: translateX(.25rem); }

/* ========== DKRTR ========== */
.rtr-dkrtr-hero { position: relative; min-height: 60vh; display: flex; align-items: end; }
.rtr-series-grid { display: grid; gap: 1.5rem; grid-template-columns: 1fr; max-width: 48rem; margin: 2rem auto 0; }
@media (min-width: 640px) { .rtr-series-grid { grid-template-columns: 1fr 1fr; } }
.rtr-series-card { display: flex; align-items: center; justify-content: center; min-height: 180px; background: var(--rtr-surface); border: 1px solid var(--rtr-border); padding: 2rem; transition: border-color .2s ease, transform .2s ease; }
.rtr-series-card:hover { transform: translateY(-2px); }
.rtr-series-street:hover { border-color: var(--rtr-accent); }
.rtr-series-pro:hover { border-color: var(--rtr-primary); }
.rtr-series-name { font-family: var(--rtr-font-display); font-weight: 700; font-size: 1.5rem; text-transform: uppercase; letter-spacing: .1em; color: var(--rtr-text); }

.rtr-link-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.rtr-link-tile { display: flex; align-items: center; gap: 1rem; padding: 1.25rem 1.5rem; background: var(--rtr-surface); border: 1px solid var(--rtr-border); transition: border-color .2s ease, transform .2s ease; color: var(--rtr-text); }
.rtr-link-tile:hover { border-color: var(--rtr-primary); transform: translateY(-2px); }
.rtr-link-tile i { font-size: 1.5rem; color: var(--rtr-primary); }
.rtr-link-tile span { font-family: var(--rtr-font-display); font-weight: 700; text-transform: uppercase; letter-spacing: .075em; font-size: .9rem; }

/* ========== WALL OF FAME ========== */
.rtr-wall-title { display: inline-flex; align-items: center; gap: .75rem; margin-bottom: 2rem; }
.rtr-wall-title .bi-trophy-fill { color: var(--rtr-primary); font-size: 1.5rem; }
.rtr-wall-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.rtr-wall-card { background: var(--rtr-surface); border: 1px solid var(--rtr-border); padding: 1.5rem; transition: border-color .2s ease, transform .2s ease; }
.rtr-wall-card:hover { border-color: var(--rtr-primary); transform: translateY(-2px); }
.rtr-wall-img { aspect-ratio: 4/3; overflow: hidden; margin: 1rem 0; background: var(--rtr-surface-2); }
.rtr-wall-img img { width: 100%; height: 100%; object-fit: cover; }

/* ========== EVENTS / CALENDAR ========== */
.rtr-calendar-section { padding: 4rem 0 5rem; }
.rtr-calendar-subtitle { max-width: 720px; margin-bottom: 2rem; color: var(--rtr-muted); }

/* Series filter bar above the event list. Each chip can carry its own --rtr-event-accent
   (set inline from the series's AccentColorCss) which tints the dot and active state. */
.rtr-event-filter-bar { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.25rem 0 1.75rem; }
.rtr-event-filter-chip {
    --rtr-event-accent: var(--rtr-primary);
    display: inline-flex; align-items: center; gap: .55rem;
    padding: .55rem 1rem;
    background: var(--rtr-surface);
    border: 1px solid var(--rtr-border);
    color: var(--rtr-text, #fff);
    text-decoration: none;
    font-family: var(--rtr-font-display); font-weight: 700;
    text-transform: uppercase; letter-spacing: .1em; font-size: .78rem;
    transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}
.rtr-event-filter-chip:hover { border-color: var(--rtr-event-accent); color: #fff; }
.rtr-event-filter-chip i { font-size: .85em; }
.rtr-event-filter-chip-dot {
    width: .55rem; height: .55rem; border-radius: 50%;
    background: var(--rtr-event-accent);
    box-shadow: 0 0 0 2px rgba(255,255,255,.06);
}
.rtr-event-filter-chip-active {
    background: var(--rtr-event-accent);
    border-color: var(--rtr-event-accent);
    color: #fff;
}
.rtr-event-filter-chip-active .rtr-event-filter-chip-dot {
    background: #fff;
    box-shadow: 0 0 0 2px rgba(0,0,0,.18);
}

.rtr-event-list { list-style: none; padding: 0; margin: 2rem 0 3rem; display: grid; gap: .85rem; counter-reset: rtr-event; }
.rtr-event-row { --rtr-event-accent: var(--rtr-primary); display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 1rem; background: var(--rtr-surface); border: 1px solid var(--rtr-border); padding: 1rem 1.25rem; transition: border-color .15s ease; position: relative; }
.rtr-event-row:hover { border-color: rgba(255,255,255,.18); }
.rtr-event-row-active { border-color: var(--rtr-primary); }
/* Series-tagged rows get a vertical accent stripe on the left edge, in the series color. */
.rtr-event-row-series { border-left: 4px solid var(--rtr-event-accent); padding-left: 1.1rem; }
/* Prominent series pill above the event title — replaces the prior small chip in the meta line. */
.rtr-event-series-badge {
    display: inline-block;
    padding: .2rem .6rem;
    margin: 0 0 .35rem;
    background: var(--rtr-event-accent);
    color: #fff;
    font-family: var(--rtr-font-display); font-weight: 700;
    text-transform: uppercase; letter-spacing: .14em; font-size: .68rem;
    border-radius: 2px;
    position: relative;
    z-index: 2; /* sit above the row's stretched click overlay */
}
.rtr-event-num { font-family: var(--rtr-font-display); font-weight: 700; font-size: 1rem; color: var(--rtr-primary); width: 2.25rem; height: 2.25rem; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255,0,51,.35); }
.rtr-event-info { min-width: 0; }
.rtr-event-title { margin: 0 0 .15rem; font-family: var(--rtr-font-display); font-size: 1rem; text-transform: uppercase; letter-spacing: .08em; color: #fff; font-weight: 700; }
.rtr-event-meta { margin: 0; color: var(--rtr-muted); font-size: .85rem; display: flex; align-items: center; flex-wrap: wrap; gap: .35rem; }
.rtr-event-meta i { color: var(--rtr-primary); font-size: .9rem; }
.rtr-event-meta-sep { opacity: .5; }
.rtr-event-status { display: inline-block; padding: .35rem .85rem; font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .12em; font-size: .7rem; font-weight: 700; border: 1px solid transparent; }
.rtr-event-status-scheduled { background: transparent; color: var(--rtr-muted); border-color: rgba(255,255,255,.18); }
.rtr-event-status-upcoming { background: var(--rtr-primary); color: #fff; border-color: var(--rtr-primary); }
.rtr-event-status-finished { background: transparent; color: var(--rtr-accent); border-color: var(--rtr-accent); }
@media (max-width: 640px) {
    .rtr-event-row { grid-template-columns: 1fr; padding: .85rem; }
    .rtr-event-status { justify-self: start; margin-top: .35rem; }
}
.rtr-event-row-linked { position: relative; cursor: pointer; }
.rtr-event-row-linked:hover { border-color: var(--rtr-accent); }
.rtr-event-row-actions { display: inline-flex; align-items: center; gap: .85rem; }
.rtr-event-row-chevron { color: var(--rtr-muted); font-size: 1.05rem; transition: transform .2s ease, color .2s ease; }
.rtr-event-row-linked:hover .rtr-event-row-chevron { color: var(--rtr-accent); transform: translateX(4px); }
.rtr-event-title-link { color: inherit; text-decoration: none; background-image: linear-gradient(currentColor, currentColor); background-position: 0 100%; background-repeat: no-repeat; background-size: 0 1px; transition: background-size .2s ease; }
.rtr-event-row-linked:hover .rtr-event-title-link { background-size: 100% 1px; }
.rtr-event-row-stretched::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.rtr-event-row-actions { position: relative; z-index: 2; }

/* Register CTA — shared between event rows (small variant) and event detail (full variant). */
.rtr-register-btn { gap: .45rem; }
.rtr-register-btn i { font-size: .85em; opacity: .85; }
.rtr-event-detail-register { margin: 0 0 2.5rem; }
@media (max-width: 640px) {
    .rtr-event-row-actions { flex-wrap: wrap; gap: .55rem; }
    .rtr-event-row-actions .rtr-register-btn { order: 3; flex: 1 1 100%; justify-content: center; }
}

/* Event detail page */
.rtr-event-detail-section { padding: 3rem 0 5rem; }
.rtr-event-detail-back { color: var(--rtr-muted); text-decoration: none; display: inline-flex; align-items: center; gap: .4rem; font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .12em; font-size: .8rem; }
.rtr-event-detail-back:hover { color: var(--rtr-accent); }
.rtr-event-detail-meta { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin: 1rem 0 2rem; color: var(--rtr-muted); font-size: .95rem; }
.rtr-event-detail-meta-item { display: inline-flex; align-items: center; gap: .4rem; }
.rtr-event-detail-meta-item i { color: var(--rtr-primary); }
.rtr-event-detail-description { max-width: 50rem; color: var(--rtr-text); line-height: 1.7; margin-bottom: 3rem; }
.rtr-event-detail-description h2, .rtr-event-detail-description h3 { font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .08em; margin: 2rem 0 .75rem; color: #fff; }
.rtr-event-detail-description p { margin: 0 0 1.25rem; }
.rtr-event-detail-description a { color: var(--rtr-accent); }
.rtr-event-detail-description img { max-width: 100%; height: auto; }
.rtr-event-detail-block { margin: 2.5rem 0; }
.rtr-event-detail-heading { font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .12em; font-size: 1.1rem; margin: 0 0 1rem; color: var(--rtr-primary); }
.rtr-event-detail-video { position: relative; padding-top: 56.25%; background: #000; border: 1px solid var(--rtr-border); }
.rtr-event-detail-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Event detail page — render the whole page (back link, title, meta,
   description, and content sections) in one centered 60rem reading column
   so a Quill ql-align-center heading is visually centered on the page and
   the header doesn't drift left of the body. */
.rtr-event-detail-section .rtr-container { max-width: calc(60rem + 48px); }

/* Event content sections (admin-managed blocks below the header fields) */
.rtr-event-sections { display: grid; gap: 2rem; margin: 3rem auto 2rem; max-width: 60rem; }
.rtr-event-section { width: 100%; }
.rtr-event-section-richtext { color: var(--rtr-text); line-height: 1.7; }
.rtr-event-section-richtext h2, .rtr-event-section-richtext h3 { font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .08em; margin: 1.5rem 0 .75rem; color: #fff; }
.rtr-event-section-richtext p { margin: 0 0 1rem; }
.rtr-event-section-richtext a { color: var(--rtr-accent); }
.rtr-event-section-richtext ul, .rtr-event-section-richtext ol { padding-left: 1.5rem; margin: 0 0 1rem; }
.rtr-event-section-image img { width: 100%; height: auto; display: block; border: 1px solid var(--rtr-border); }
.rtr-event-section-pdf iframe { width: 100%; height: 75vh; border: 1px solid var(--rtr-border); background: #fff; display: block; }
.rtr-event-section-pdf-fallback { margin: .5rem 0 0; font-size: .9rem; }
.rtr-event-section-pdf-fallback a { color: var(--rtr-accent); display: inline-flex; align-items: center; gap: .35rem; text-decoration: none; }
.rtr-event-section-pdf-fallback a:hover { text-decoration: underline; }
.rtr-event-section-video video { width: 100%; height: auto; max-height: 75vh; background: #000; border: 1px solid var(--rtr-border); display: block; }

/* ========== PAGE HERO (generic) ========== */
.rtr-page-hero { position: relative; padding: 4rem 0 3rem; }
.rtr-page-hero .rtr-hero-bg { opacity: .35; }

/* ========== FAQ ========== */
/* Lovable-prototype style — centered red title, four grouped sections each with an
   uppercase red header underlined in primary, accordion rows separated only by a
   thin divider (no per-row card chrome). Match: rtrigacom.lovable.app/faq. */
.rtr-faq-hero { padding: 4rem 0 0; }
.rtr-faq-hero-content { max-width: 48rem; margin: 0 auto; text-align: center; }
.rtr-faq-hero-content .rtr-eyebrow { justify-content: center; }
.rtr-faq-hero-content .rtr-display-title { font-style: italic; }
.rtr-faq-hero-content .rtr-hero-subtitle { color: var(--rtr-text-muted, #9CA3AF); margin: .75rem auto 0; max-width: 36rem; }

.rtr-faq-section { padding: 3rem 0 5rem; border-top: 0; }
.rtr-faq-container { max-width: 48rem; margin: 0 auto; display: grid; gap: 3rem; }

.rtr-faq-group-title {
  font-family: var(--rtr-font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .075em;
  color: var(--rtr-primary);
  font-size: 1.125rem;
  margin: 0 0 .25rem;
  padding-bottom: .75rem;
  border-bottom: 1px solid var(--rtr-primary);
}

.rtr-faq-list { display: grid; gap: 1rem; max-width: 48rem; margin: 0 auto; } /* legacy — kept for any other page still using flat list */

.rtr-faq-item {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--rtr-border);
  padding: 0;
}
.rtr-faq-item:last-child { border-bottom: 0; }

.rtr-faq-item summary {
  font-family: var(--rtr-font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .075em;
  cursor: pointer;
  padding: 1rem .25rem;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: inherit;
}
.rtr-faq-item summary::-webkit-details-marker { display: none; }
.rtr-faq-item summary::marker { content: ''; }

.rtr-faq-question { flex: 1; }

.rtr-faq-chevron { color: var(--rtr-text-muted, #9CA3AF); transition: transform .2s ease; flex-shrink: 0; }
.rtr-faq-item[open] .rtr-faq-chevron { transform: rotate(180deg); }
.rtr-faq-item[open] summary { color: var(--rtr-primary); }

.rtr-faq-answer { padding: 0 .25rem 1rem; color: var(--rtr-text-muted, #9CA3AF); }
.rtr-faq-answer p { margin: 0 0 .5rem; }
.rtr-faq-answer p:last-child { margin-bottom: 0; }

/* ========== CONTACT ========== */
/* Constrain the contact section to a compact reading column — the default
   1280px container leaves a 3-field form swimming in whitespace. */
.rtr-contact-section .rtr-container { max-width: calc(52rem + 48px); }
.rtr-contact-grid { display: grid; gap: 2rem; grid-template-columns: 1fr; }
@media (min-width: 768px) { .rtr-contact-grid { grid-template-columns: minmax(14rem, 1fr) 1.6fr; align-items: start; } }
.rtr-contact-info p { margin: 0 0 1rem; color: var(--rtr-muted); }
.rtr-contact-info i { color: var(--rtr-primary); margin-right: .5rem; }
.rtr-contact-form h2 { margin-top: 0; }
.rtr-form { display: grid; gap: 1.25rem; }
.rtr-form label { display: grid; gap: .35rem; }
.rtr-form span { font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .1em; font-size: .8rem; color: var(--rtr-muted); }
.rtr-form input, .rtr-form textarea { background: var(--rtr-surface); border: 1px solid var(--rtr-border); color: var(--rtr-text); padding: .75rem 1rem; font-family: var(--rtr-font-body); font-size: 1rem; border-radius: var(--rtr-radius); }
.rtr-form input:focus, .rtr-form textarea:focus { outline: 2px solid var(--rtr-primary); outline-offset: 2px; }
.rtr-alert { padding: 1rem 1.25rem; margin-bottom: 1rem; border: 1px solid var(--rtr-border); }
.rtr-alert-success { background: rgba(0,229,255,.1); border-color: var(--rtr-accent); color: var(--rtr-accent); }
.rtr-alert-error { background: rgba(255,0,51,.1); border-color: var(--rtr-primary); color: var(--rtr-primary); }
.rtr-alert-warning { background: rgba(255,193,7,.1); border-color: #ffc107; color: #ffc107; }
.rtr-form-check { display: flex; align-items: flex-start; gap: .6rem; margin-bottom: 1rem; font-size: .9rem; color: var(--rtr-muted); }
.rtr-form-check input[type="checkbox"] { margin-top: .2rem; width: 1.1rem; height: 1.1rem; flex-shrink: 0; accent-color: var(--rtr-primary); cursor: pointer; }
.rtr-form-check label { cursor: pointer; line-height: 1.4; }
.rtr-form-check label a { color: var(--rtr-primary); text-decoration: underline; }
.rtr-form-check label a:hover { color: var(--rtr-primary-hover); }

/* ========== CART ========== */
.rtr-cart { display: grid; gap: 2rem; grid-template-columns: 1fr; }
@media (min-width: 1024px) { .rtr-cart { grid-template-columns: 2fr 1fr; align-items: start; } }
.rtr-cart-empty { text-align: center; padding: 4rem 2rem; }
.rtr-cart-table { width: 100%; border-collapse: collapse; }
.rtr-cart-table th, .rtr-cart-table td { padding: 1rem; border-bottom: 1px solid var(--rtr-border); text-align: left; }
.rtr-cart-table th { font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .1em; font-size: .75rem; color: var(--rtr-muted); }
.rtr-cart-product { display: flex; align-items: center; gap: 1rem; }
.rtr-cart-product img { width: 60px; height: 60px; object-fit: cover; }
.rtr-qty { display: inline-flex; align-items: center; gap: .25rem; }
.rtr-qty-btn { width: 32px; height: 32px; background: var(--rtr-surface); border: 1px solid var(--rtr-border); color: var(--rtr-text); cursor: pointer; }
.rtr-qty-value { min-width: 30px; text-align: center; }
.rtr-inline-form { display: inline; }
.rtr-cart-summary { background: var(--rtr-surface); border: 1px solid var(--rtr-border); padding: 1.5rem; }
.rtr-cart-subtotal { display: flex; justify-content: space-between; align-items: center; padding-bottom: 1rem; margin-bottom: 1rem; border-bottom: 1px solid var(--rtr-border); font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .1em; }
.rtr-cart-subtotal strong { font-size: 1.5rem; color: var(--rtr-primary); }

/* ========== CHECKOUT ========== */
.rtr-checkout-grid { display: grid; gap: 2rem; grid-template-columns: 1fr; align-items: start; }
@media (min-width: 1024px) { .rtr-checkout-grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); } }
.rtr-checkout-form { display: grid; gap: 1.5rem; }
.rtr-checkout-card { background: var(--rtr-surface); border: 1px solid var(--rtr-border); padding: 1.5rem; }
.rtr-checkout-card--conditional > * + * { margin-top: 1rem; }
.rtr-checkout-heading { font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .1em; font-size: 1rem; color: var(--rtr-text); margin: 0 0 1.25rem; display: flex; align-items: center; gap: .5rem; }
.rtr-checkout-heading i { color: var(--rtr-primary); }
.rtr-grid-2col { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .rtr-grid-2col { grid-template-columns: 1fr 1fr; } }
.rtr-checkout-form label { display: grid; gap: .35rem; margin: 0; }
.rtr-checkout-form label > span { font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .1em; font-size: .8rem; color: var(--rtr-muted); }
.rtr-checkout-form input, .rtr-checkout-form select, .rtr-checkout-form textarea { background: var(--rtr-surface-2); border: 1px solid var(--rtr-border); color: var(--rtr-text); padding: .75rem 1rem; font-family: var(--rtr-font-body); font-size: 1rem; border-radius: var(--rtr-radius); }
.rtr-checkout-form input:focus, .rtr-checkout-form select:focus, .rtr-checkout-form textarea:focus { outline: 2px solid var(--rtr-primary); outline-offset: 2px; }
.rtr-input-invalid { border-color: var(--rtr-primary) !important; }
.rtr-text-error { color: var(--rtr-primary); font-size: .8rem; }
.rtr-muted { color: var(--rtr-muted); margin: 0; }
.rtr-alert-success { background: rgba(0,229,255,.08); border-color: var(--rtr-accent); color: var(--rtr-accent); display: flex; align-items: center; gap: .6rem; }
.rtr-checkout-success { margin-bottom: 1.5rem; }

@media (min-width: 1024px) { .rtr-checkout-summary { position: sticky; top: 1rem; } }
.rtr-checkout-summary .rtr-checkout-heading { padding-bottom: 1rem; margin-bottom: 1rem; border-bottom: 1px solid var(--rtr-border); }
.rtr-checkout-summary-items { display: grid; gap: .75rem; max-height: 320px; overflow: auto; padding-right: .25rem; }
.rtr-checkout-summary-item { display: flex; gap: .75rem; align-items: center; }
.rtr-checkout-summary-item img { width: 56px; height: 56px; object-fit: cover; border-radius: 6px; flex-shrink: 0; }
.rtr-checkout-summary-item-info { flex-grow: 1; display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.rtr-checkout-summary-item-info strong { font-size: .9rem; line-height: 1.3; }
.rtr-checkout-summary-item-info small { font-size: .8rem; }
.rtr-checkout-summary-item-price { font-weight: 700; white-space: nowrap; }
.rtr-checkout-summary-totals { display: grid; gap: .5rem; padding-top: 1rem; margin-top: 1rem; border-top: 1px solid var(--rtr-border); }
.rtr-checkout-summary-row { display: flex; justify-content: space-between; align-items: center; }
.rtr-checkout-summary-total { padding-top: .75rem; margin-top: .25rem; border-top: 1px solid var(--rtr-border); font-size: 1.1rem; }
.rtr-checkout-summary-total strong:last-child { color: var(--rtr-primary); }

.rtr-delivery-method-group { display: grid; gap: .75rem; }
.rtr-delivery-method { display: flex; align-items: flex-start; gap: .75rem; padding: 1rem; border: 1px solid var(--rtr-border); border-radius: var(--rtr-radius); cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.rtr-delivery-method:hover { border-color: var(--rtr-primary); }
.rtr-delivery-method input[type="radio"] { margin-top: .15rem; flex-shrink: 0; accent-color: var(--rtr-primary); cursor: pointer; }
/* Suppress the browser's default focus outline on the radio — it stacked on top of the
   card's selected-state border and read as a double red ring after click. Keyboard users
   still get a focus indicator via the :focus-within / :focus-visible glow on the card. */
.rtr-delivery-method input[type="radio"]:focus { outline: none; }
.rtr-delivery-method:has(input[type="radio"]:focus-visible) { box-shadow: 0 0 0 3px rgba(255, 0, 51, .25); }
.rtr-delivery-method--selected { border-color: var(--rtr-primary); background: rgba(255,0,51,.05); }
.rtr-delivery-method__body { display: flex; flex-direction: column; gap: .25rem; }
.rtr-delivery-method__title { font-weight: 600; }
.rtr-delivery-method__description { font-size: .9rem; color: var(--rtr-muted); line-height: 1.4; }

/* ========== PROSE ========== */
.rtr-prose { max-width: 48rem; margin: 0 auto; color: var(--rtr-text); }
.rtr-prose h2 { margin-top: 2.5rem; }
.rtr-prose h3 { margin-top: 2rem; color: var(--rtr-primary); }
.rtr-prose p { margin: 0 0 1.25rem; }
.rtr-prose ul, .rtr-prose ol { padding-left: 1.5rem; margin: 0 0 1.25rem; }
.rtr-prose a { color: var(--rtr-accent); }

/* ========== MODAL ========== */
.rtr-modal { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.rtr-modal[hidden] { display: none; }
.rtr-modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.85); backdrop-filter: blur(4px); cursor: pointer; }
.rtr-modal-dialog { position: relative; max-width: 32rem; width: 100%; background: var(--rtr-surface); border: 1px solid var(--rtr-border); padding: 2.5rem 2rem 2rem; }
.rtr-modal-close { position: absolute; top: .75rem; right: .75rem; background: none; border: 0; color: var(--rtr-muted); font-size: 1.25rem; cursor: pointer; padding: .25rem; }
.rtr-modal-close:hover { color: var(--rtr-text); }
.rtr-modal-title { font-size: 1.75rem; margin: 0 0 1rem; }
.rtr-modal-body { color: var(--rtr-muted); margin-bottom: 1.5rem; }
.rtr-modal-footer { display: flex; justify-content: flex-end; gap: .5rem; }
/* Wider variant for the checkout choice modal — fits the two-tile gate side-by-side on desktop. */
.rtr-modal-dialog--wide { max-width: min(46rem, 95vw); padding-top: 3rem; }
.rtr-modal-dialog--wide .rtr-checkout-gate { margin: 0; }

/* ========== FOOTER ========== */
.rtr-footer { background: var(--rtr-bg); border-top: 1px solid var(--rtr-border); padding: 3rem 0 2rem; margin-top: 4rem; }
.rtr-sponsors { padding: 1rem 0 2rem; border-bottom: 1px solid var(--rtr-border); margin-bottom: 2rem; text-align: center; }
.rtr-sponsors-row { display: flex; justify-content: center; gap: 2.5rem; flex-wrap: wrap; margin-top: .5rem; }
.rtr-sponsor-name { font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .15em; color: var(--rtr-muted); font-size: .85rem; }
.rtr-footer-grid { display: grid; gap: 2rem; grid-template-columns: 1fr; }
@media (min-width: 768px) { .rtr-footer-grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; } }
.rtr-footer-brand p { color: var(--rtr-muted); font-size: .9rem; margin-top: .5rem; }
.rtr-footer-heading { font-family: var(--rtr-font-display); text-transform: uppercase; font-weight: 700; letter-spacing: .1em; font-size: .85rem; margin: 0 0 .75rem; }
.rtr-footer-links { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.rtr-footer-links a { color: var(--rtr-muted); font-size: .9rem; }
.rtr-footer-links a:hover { color: var(--rtr-text); }
.rtr-social { display: flex; gap: 1rem; }
.rtr-social a { color: var(--rtr-muted); font-size: 1.25rem; }
.rtr-social a:hover { color: var(--rtr-primary); }
.rtr-footer-bottom { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--rtr-border); color: var(--rtr-muted); font-size: .8rem; }
.rtr-footer-bottom p { margin: 0; }
.rtr-developed-by a { color: var(--rtr-muted); }
.rtr-developed-by a:hover { color: var(--rtr-text); }

/* === Account pages — Bootstrap-class shim, scoped to .rtr-section === */
/* The shared lib/SL.EShop.Core/Pages/Account/*.cshtml templates use Bootstrap class names so they
   stay cross-app-portable. Rtriga's storefront doesn't load Bootstrap CSS, so this block maps the
   minimum Bootstrap class set used on /Account/* + /checkout's "Save my info" + admin chip into
   rtr-themed equivalents. New apps that opt in to AddCustomerAccounts will need a similar shim. */
.rtr-section .form-label { display: block; font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .1em; font-size: .8rem; color: var(--rtr-muted); margin-bottom: .4rem; }
.rtr-section .form-control,
.rtr-section .form-select { width: 100%; background: var(--rtr-surface); border: 1px solid var(--rtr-border); color: var(--rtr-text); padding: .75rem 1rem; font-family: var(--rtr-font-body); font-size: 1rem; border-radius: var(--rtr-radius); box-sizing: border-box; }
.rtr-section .form-control:focus,
.rtr-section .form-select:focus { outline: 2px solid var(--rtr-primary); outline-offset: 2px; }
.rtr-section .form-control:disabled { opacity: .55; }
.rtr-section .form-check { display: flex; align-items: flex-start; gap: .6rem; margin-bottom: 1rem; }
.rtr-section .form-check-input { margin-top: .2rem; width: 1.1rem; height: 1.1rem; accent-color: var(--rtr-primary); cursor: pointer; flex-shrink: 0; }
.rtr-section .form-check-label { cursor: pointer; line-height: 1.4; color: var(--rtr-text); }
.rtr-section .btn { display: inline-block; padding: .85rem 1.5rem; font-family: var(--rtr-font-display); font-size: .95rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; text-decoration: none; border: 1px solid transparent; cursor: pointer; transition: all .2s ease; border-radius: var(--rtr-radius); text-align: center; }
.rtr-section .btn-primary { background: var(--rtr-primary); color: #fff; }
.rtr-section .btn-primary:hover { background: var(--rtr-primary-hover); color: #fff; transform: translateY(-1px); }
.rtr-section .w-100 { width: 100%; }
.rtr-section .alert { padding: 1rem 1.25rem; margin-bottom: 1rem; border: 1px solid var(--rtr-border); border-radius: var(--rtr-radius); }
.rtr-section .alert-danger { background: rgba(255,0,51,.1); border-color: var(--rtr-primary); color: var(--rtr-primary); }
.rtr-section .alert-success { background: rgba(0,229,255,.1); border-color: var(--rtr-accent); color: var(--rtr-accent); }
.rtr-section .alert-warning { background: rgba(255,193,7,.1); border-color: #ffc107; color: #ffc107; }
.rtr-section .text-muted { color: var(--rtr-muted); }
.rtr-section .text-center { text-align: center; }
.rtr-section .row.g-3 { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 576px) { .rtr-section .row.g-3 { grid-template-columns: 1fr 1fr; } .rtr-section .row.g-3 > .col-12 { grid-column: 1 / -1; } }
.rtr-section .row.g-3 > .col-sm-6, .rtr-section .row.g-3 > .col-md-6 { min-width: 0; }
.rtr-section .mb-3 { margin-bottom: 1rem; }
.rtr-section .mb-4 { margin-bottom: 1.5rem; }
.rtr-section .mt-3 { margin-top: 1rem; }
.rtr-section .mt-4 { margin-top: 1.5rem; }
.rtr-section .lead { font-size: 1.1rem; color: var(--rtr-muted); }
.rtr-section .card { display: block; background: var(--rtr-surface); border: 1px solid var(--rtr-border); padding: 1.5rem; border-radius: var(--rtr-radius); transition: border-color .2s ease, transform .2s ease; height: 100%; color: var(--rtr-text); }
.rtr-section a.card { color: var(--rtr-text); }
.rtr-section a.card:hover { border-color: var(--rtr-primary); transform: translateY(-2px); text-decoration: none; }
.rtr-section .card-body { padding: 0; }
.rtr-section .card-title { font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .1em; font-size: 1rem; margin: 0 0 .5rem; color: var(--rtr-text); }
.rtr-section .card-text { color: var(--rtr-muted); margin: 0; font-size: .9rem; }
.rtr-section .badge { display: inline-block; padding: .25rem .6rem; font-size: .75rem; font-weight: 700; border-radius: 999px; }
.rtr-section .badge.bg-success { background: rgba(40,167,69,.15); color: #28a745; }
.rtr-section .badge.bg-secondary { background: rgba(108,117,125,.15); color: var(--rtr-muted); }
.rtr-section .table-responsive { overflow-x: auto; }
.rtr-section .table { width: 100%; border-collapse: collapse; }
.rtr-section .table th, .rtr-section .table td { padding: .75rem; text-align: left; border-bottom: 1px solid var(--rtr-border); }
.rtr-section .table thead th { font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .1em; font-size: .8rem; color: var(--rtr-muted); }
.rtr-section .table .text-end { text-align: right; }
.rtr-section small { color: var(--rtr-muted); font-size: .85rem; }
.rtr-section h1.rtr-h1 { color: var(--rtr-text); }

/* Account chip in nav (anonymous = person icon, signed in = circle icon) */
.rtr-nav-account { display: flex; align-items: center; }

/* "Save my info" checkbox row on /checkout */
.rtr-checkbox-row { display: flex; align-items: flex-start; gap: .6rem; cursor: pointer; margin: 0; }
.rtr-checkbox-row input[type="checkbox"] { margin-top: .2rem; width: 1.1rem; height: 1.1rem; accent-color: var(--rtr-primary); cursor: pointer; flex-shrink: 0; }

/* === Checkout sign-in / guest gate (Amazon/Wayfair/Apple-style) ============================
   Two equally-weighted cards visible BEFORE the form. Anchor `#checkoutForm` is below.       */
.rtr-checkout-gate { display: grid; grid-template-columns: 1fr; gap: 1.5rem; align-items: stretch; margin: 0 0 2.5rem; }
@media (min-width: 768px) {
    .rtr-checkout-gate { grid-template-columns: 1fr auto 1fr; gap: 1.5rem; align-items: stretch; }
}
.rtr-checkout-gate-card { background: var(--rtr-surface); border: 1px solid var(--rtr-border); border-radius: var(--rtr-radius); padding: 2rem 1.75rem; display: flex; flex-direction: column; align-items: flex-start; transition: border-color .2s ease, transform .2s ease; }
.rtr-checkout-gate-card:hover { border-color: var(--rtr-primary); transform: translateY(-2px); }
.rtr-checkout-gate-card--signin { border-color: var(--rtr-primary); }
.rtr-checkout-gate-card__icon { width: 48px; height: 48px; border-radius: 50%; background: rgba(255,0,51,.12); display: flex; align-items: center; justify-content: center; margin-bottom: 1rem; }
.rtr-checkout-gate-card--guest .rtr-checkout-gate-card__icon { background: rgba(255,255,255,.06); }
.rtr-checkout-gate-card__icon i { font-size: 1.4rem; color: var(--rtr-primary); }
.rtr-checkout-gate-card--guest .rtr-checkout-gate-card__icon i { color: var(--rtr-text); }
.rtr-checkout-gate-card__title { font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .08em; font-size: 1.15rem; margin: 0 0 .75rem; color: var(--rtr-text); }
.rtr-checkout-gate-card__body { color: var(--rtr-muted); margin: 0 0 1.5rem; font-size: .95rem; line-height: 1.5; flex: 1; }
.rtr-checkout-gate-card .rtr-btn { margin-top: auto; width: 100%; justify-content: center; gap: .5rem; }
.rtr-checkout-gate-divider { display: flex; align-items: center; justify-content: center; color: var(--rtr-muted); font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .15em; font-size: .8rem; }
.rtr-checkout-gate-divider span { display: inline-block; padding: .5rem 1rem; background: var(--rtr-bg); border: 1px solid var(--rtr-border); border-radius: 999px; }
@media (max-width: 767px) {
    .rtr-checkout-gate-divider { padding: .5rem 0; position: relative; }
    .rtr-checkout-gate-divider::before, .rtr-checkout-gate-divider::after { content: ''; position: absolute; top: 50%; height: 1px; width: calc(50% - 2rem); background: var(--rtr-border); }
    .rtr-checkout-gate-divider::before { left: 0; }
    .rtr-checkout-gate-divider::after { right: 0; }
}

/* Signed-in confirmation banner — replaces the gate when a customer is already authenticated. */
.rtr-checkout-signedin { display: flex; align-items: center; gap: 1rem; padding: 1.25rem 1.5rem; background: var(--rtr-surface); border: 1px solid var(--rtr-accent); border-radius: var(--rtr-radius); margin: 0 0 2rem; }
.rtr-checkout-signedin > i { font-size: 1.5rem; color: var(--rtr-accent); flex-shrink: 0; }
.rtr-checkout-signedin__body { flex: 1; min-width: 0; }
.rtr-checkout-signedin__body strong { display: block; color: var(--rtr-text); font-size: 1rem; margin-bottom: .15rem; word-break: break-word; }
.rtr-checkout-signedin__body span { color: var(--rtr-muted); font-size: .9rem; }
.rtr-checkout-signedin__signout button { background: none; border: 1px solid var(--rtr-border); color: var(--rtr-muted); padding: .55rem 1rem; cursor: pointer; font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .1em; font-size: .75rem; border-radius: var(--rtr-radius); transition: all .15s ease; }
.rtr-checkout-signedin__signout button:hover { border-color: var(--rtr-primary); color: var(--rtr-primary); }

/* Soft "sign in instead" reminder shown while the 12h guest-choice cookie is active. */
.rtr-checkout-guest-note { display: flex; gap: .5rem; align-items: center; padding: .75rem 1rem; margin: 0 0 1.5rem; background: rgba(0,229,255,.08); border: 1px solid var(--rtr-border); border-radius: var(--rtr-radius); font-size: .9rem; color: var(--rtr-muted); }
.rtr-checkout-guest-note a { color: var(--rtr-accent); text-decoration: underline; }
@media (max-width: 575px) {
    .rtr-checkout-signedin { flex-wrap: wrap; }
    .rtr-checkout-signedin__signout { width: 100%; }
    .rtr-checkout-signedin__signout button { width: 100%; }
}

/* Smooth scroll when "Continue as guest" anchors to #checkoutForm. */
html { scroll-behavior: smooth; }

/* ========== Shop chrome: Your Car widget + search + sidebar ========== */
.rtr-your-car {
  background: var(--rtr-surface);
  border-bottom: 1px solid var(--rtr-border);
  padding: .75rem 0;
  position: sticky;
  /* Park under the fixed 4.5rem-tall .rtr-nav (+1px for its border-bottom). With top:0 the
     widget would slide behind the nav; without the +1px the nav's border clips its top edge. */
  top: calc(4.5rem + 1px);
  z-index: 30;
  backdrop-filter: blur(8px);
}
.rtr-your-car-row {
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(220px, 1fr);
  align-items: center;
  gap: 1rem;
}
.rtr-your-car-form { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.rtr-your-car-label {
  display: inline-flex; align-items: center; gap: .35rem;
  font-family: var(--rtr-font-display); text-transform: uppercase;
  font-size: .8rem; letter-spacing: .05em; color: var(--rtr-muted);
}
.rtr-your-car-label i { color: var(--rtr-primary); font-size: 1rem; }
.rtr-your-car-select {
  background: var(--rtr-surface-2);
  color: var(--rtr-text);
  border: 1px solid var(--rtr-border);
  padding: .4rem .65rem;
  font-family: var(--rtr-font-body);
  font-size: .9rem;
  min-width: 11rem;
  cursor: pointer;
}
.rtr-your-car-select:focus { outline: none; border-color: var(--rtr-primary); }
.rtr-your-car-select:disabled { opacity: .45; cursor: not-allowed; }
.rtr-your-car-clear {
  background: transparent; color: var(--rtr-muted);
  border: 1px solid var(--rtr-border);
  padding: .4rem .65rem; cursor: pointer; font-size: .85rem;
  display: inline-flex; align-items: center; gap: .25rem;
}
.rtr-your-car-clear:hover { color: var(--rtr-primary); border-color: var(--rtr-primary); }

.rtr-shop-search { position: relative; display: flex; align-items: stretch; }
.rtr-shop-search-input {
  flex: 1;
  background: var(--rtr-surface-2);
  color: var(--rtr-text);
  border: 1px solid var(--rtr-border);
  padding: .5rem .75rem;
  font-family: var(--rtr-font-body); font-size: .95rem;
}
.rtr-shop-search-input:focus { outline: none; border-color: var(--rtr-primary); }
.rtr-shop-search-btn {
  background: var(--rtr-primary); color: var(--rtr-text);
  border: 1px solid var(--rtr-primary);
  padding: 0 1rem; cursor: pointer;
}
.rtr-shop-search-btn:hover { background: var(--rtr-primary-hover); }
.rtr-shop-search-suggest {
  list-style: none; margin: 0; padding: 0;
  position: absolute; top: calc(100% + 4px); left: 0; right: 0;
  background: var(--rtr-surface-2); border: 1px solid var(--rtr-border);
  z-index: 50; max-height: 26rem; overflow-y: auto;
}
.rtr-shop-search-suggest li { border-bottom: 1px solid var(--rtr-border); }
.rtr-shop-search-suggest li:last-child { border-bottom: 0; }
.rtr-shop-search-suggest a {
  display: grid;
  grid-template-columns: 48px 1fr auto;
  align-items: center; gap: .75rem;
  padding: .55rem .75rem; color: var(--rtr-text);
}
.rtr-shop-search-suggest a:hover { background: rgba(255,0,51,.08); color: var(--rtr-text); }
.rtr-shop-search-suggest img { width: 48px; height: 48px; object-fit: cover; }
.rtr-shop-suggest-img-empty { display: block; width: 48px; height: 48px; background: var(--rtr-surface); }
.rtr-shop-suggest-text { display: flex; flex-direction: column; min-width: 0; }
.rtr-shop-suggest-name { font-size: .9rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rtr-shop-suggest-sku { font-size: .75rem; color: var(--rtr-muted); letter-spacing: .03em; }
.rtr-shop-suggest-price { font-weight: 600; color: var(--rtr-primary); }

.rtr-your-car-scope-note {
  background: rgba(0,229,255,.08);
  border: 1px solid rgba(0,229,255,.25);
  color: var(--rtr-text);
  padding: .65rem 1rem;
  font-size: .9rem;
  margin: 1rem 0 0;
  display: flex; align-items: center; gap: .5rem; flex-wrap: wrap;
}
.rtr-your-car-scope-note i { color: var(--rtr-accent); }
.rtr-your-car-scope-note a { color: var(--rtr-accent); text-decoration: underline; }

.rtr-shop-leaf-layout { display: block; }
.rtr-shop-leaf-layout:has(> aside.rtr-shop-sidebar) {
  display: grid;
  grid-template-columns: minmax(0, 220px) minmax(0, 1fr);
  gap: 2rem;
  align-items: start;
}
.rtr-shop-leaf-main { min-width: 0; }
.rtr-shop-sidebar {
  background: var(--rtr-surface);
  border: 1px solid var(--rtr-border);
  padding: 1rem 1.25rem;
  position: sticky; top: 5.5rem;
}
.rtr-shop-sidebar-title {
  font-size: .85rem; color: var(--rtr-muted);
  letter-spacing: .1em; margin: 0 0 .5rem;
}
.rtr-shop-sidebar-list { list-style: none; margin: 0; padding: 0; }
.rtr-shop-sidebar-list li { border-top: 1px solid var(--rtr-border); }
.rtr-shop-sidebar-list li:first-child { border-top: 0; }
.rtr-shop-sidebar-list a,
.rtr-shop-sidebar-list span {
  display: block; padding: .55rem .25rem;
  font-size: .9rem; color: var(--rtr-text);
}
.rtr-shop-sidebar-list a:hover { color: var(--rtr-primary); }
.rtr-shop-sidebar-list li.is-current span { color: var(--rtr-primary); font-weight: 600; }

.rtr-shop-search-scope { color: var(--rtr-muted); margin: 0 0 1rem; }
.rtr-shop-search-count { margin: 0 0 1rem; }

@media (max-width: 768px) {
  .rtr-your-car-row { grid-template-columns: 1fr; }
  .rtr-your-car-form { width: 100%; }
  .rtr-your-car-select { min-width: 0; flex: 1; }
  .rtr-shop-leaf-layout { grid-template-columns: 1fr; }
  .rtr-shop-sidebar { position: static; }
}

/* ========== ATMOSPHERE STRIP (home) + HIGHLIGHTS GRID (/dkrtr) ========== */
.rtr-atmosphere { background: var(--rtr-bg); border-top: 1px solid var(--rtr-border); }
.rtr-highlights { background: var(--rtr-surface); border-top: 1px solid var(--rtr-border); border-bottom: 1px solid var(--rtr-border); }
.rtr-section-head-stacked { display: block; margin-bottom: 2.5rem; }
.rtr-atmosphere-grid,
.rtr-highlights-grid {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 768px) {
  .rtr-atmosphere-grid { grid-template-columns: repeat(4, 1fr); }
  .rtr-highlights-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (min-width: 540px) and (max-width: 767px) {
  .rtr-atmosphere-grid,
  .rtr-highlights-grid { grid-template-columns: repeat(3, 1fr); }
}
a.rtr-atmosphere-tile,
a.rtr-highlights-tile {
  position: relative;
  display: block;
  margin: 0;
  background: var(--rtr-surface-2);
  border: 1px solid var(--rtr-border);
  overflow: hidden;
  aspect-ratio: 4 / 3;
  cursor: zoom-in;
  text-decoration: none;
  color: inherit;
  transition: transform .25s ease, border-color .25s ease;
}
a.rtr-atmosphere-tile:hover,
a.rtr-highlights-tile:hover {
  transform: translateY(-2px);
  border-color: var(--rtr-primary);
}
a.rtr-atmosphere-tile:hover .rtr-atmosphere-zoom { opacity: 1; transform: scale(1); }
.rtr-atmosphere-tile img,
.rtr-highlights-tile img {
  display: block;
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.rtr-atmosphere-tile:hover img,
.rtr-highlights-tile:hover img {
  transform: scale(1.04);
}
.rtr-atmosphere-caption {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: .75rem .9rem;
  background: linear-gradient(180deg, rgba(10,10,10,0) 0%, rgba(10,10,10,.85) 100%);
  color: var(--rtr-text);
  font-family: var(--rtr-font-display);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .72rem;
  line-height: 1.3;
  pointer-events: none;
}
.rtr-atmosphere-zoom {
  position: absolute;
  top: .75rem; right: .75rem;
  width: 2.25rem; height: 2.25rem;
  display: flex; align-items: center; justify-content: center;
  background: rgba(10,10,10,.7);
  color: var(--rtr-text);
  border: 1px solid rgba(255,255,255,.15);
  opacity: 0;
  transform: scale(.9);
  transition: opacity .25s ease, transform .25s ease;
  pointer-events: none;
  font-size: .9rem;
}

/* BiggerPicture caption + chrome — match dark theme */
.bp-x { background: rgba(10,10,10,.95); }
.bp-caption {
  font-family: var(--rtr-font-body);
  color: var(--rtr-text);
  letter-spacing: .03em;
}

/* ========== WORKSHOP BAND (home) ========== */
.rtr-workshop-band {
  background: var(--rtr-bg);
  border-top: 1px solid var(--rtr-border);
  border-bottom: 1px solid var(--rtr-border);
  position: relative;
  overflow: hidden;
}
.rtr-workshop-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,0,51,0.06), transparent 60%),
    radial-gradient(circle at 80% 80%, rgba(0,229,255,0.05), transparent 60%);
  pointer-events: none;
}
.rtr-workshop-grid {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: center;
}
@media (min-width: 900px) { .rtr-workshop-grid { grid-template-columns: 5fr 7fr; } }
.rtr-workshop-copy h2 { margin: .5rem 0 1rem; }
.rtr-workshop-copy p { color: var(--rtr-muted); margin: 0 0 1rem; max-width: 32rem; }
.rtr-workshop-media {
  background: var(--rtr-surface);
  border: 1px solid var(--rtr-border);
  overflow: hidden;
}
.rtr-workshop-media video {
  display: block;
  width: 100%;
  height: auto;
  max-height: 70vh;
  background: #000;
  object-fit: contain;
}

/* ========== STANDINGS (/dkrtr) ========== */
.rtr-standings { background: var(--rtr-bg); }
.rtr-standings-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: center;
}
@media (min-width: 900px) { .rtr-standings-grid { grid-template-columns: 5fr 7fr; } }
.rtr-standings-copy h2 { margin: .5rem 0 1rem; }
.rtr-standings-copy p { color: var(--rtr-muted); margin: 0 0 1.25rem; max-width: 32rem; }
.rtr-standings-image {
  background: var(--rtr-surface);
  border: 1px solid var(--rtr-border);
  border-left: 3px solid var(--rtr-accent);
  padding: 1rem;
}
.rtr-standings-image img {
  display: block;
  width: 100%;
  height: auto;
}

/* ========== SERIES CARDS (/dkrtr) — logo sizing (card chrome already defined above) ========== */
.rtr-series-card img {
  max-width: 70%;
  max-height: 140px;
  width: auto; height: auto;
  object-fit: contain;
}

/* ========== DKRTR Event → Downloads CTA (on event detail page) ========== */
.rtr-event-downloads-cta { margin: 0 0 2.5rem; }
.rtr-event-downloads-cta-link { display: inline-flex; align-items: center; gap: 1rem; padding: 1rem 1.4rem; background: rgba(255,0,51,0.08); border: 1px solid rgba(255,0,51,0.35); border-radius: 12px; text-decoration: none; color: inherit; transition: transform .18s ease, background .18s ease, border-color .18s ease; max-width: 100%; }
.rtr-event-downloads-cta-link:hover { transform: translateY(-2px); background: rgba(255,0,51,0.14); border-color: var(--rtr-accent); color: inherit; }
.rtr-event-downloads-cta-icon { font-size: 1.9rem; color: var(--rtr-accent); flex-shrink: 0; }
.rtr-event-downloads-cta-text { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.rtr-event-downloads-cta-label { font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .04em; color: #fff; font-weight: 700; font-size: 1rem; }
.rtr-event-downloads-cta-sub { color: var(--rtr-muted); font-size: .85rem; }
.rtr-event-downloads-cta-arrow { font-size: 1.2rem; color: var(--rtr-accent); margin-left: auto; flex-shrink: 0; }

/* ========== DKRTR DOWNLOADS ========== */
.rtr-dl-section { --rtr-dl-accent: var(--rtr-accent, #FF0033); padding: 3rem 0 5rem; }
.rtr-dl-section .rtr-display-title { margin-bottom: .5rem; }
.rtr-eyebrow-accent { color: var(--rtr-dl-accent); }

.rtr-dl-featured-bar { margin: 2.5rem 0 .75rem; }
.rtr-dl-other-bar { margin: 3rem 0 1rem; }
.rtr-dl-section-heading { font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .08em; color: #fff; font-size: 1.25rem; margin: 0; }

.rtr-dl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.25rem; }
.rtr-dl-grid-featured { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); margin-bottom: 1rem; }

.rtr-dl-card { display: flex; flex-direction: column; background: #15171c; border: 1px solid #2a2d35; border-radius: 12px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.rtr-dl-card:hover { transform: translateY(-2px); border-color: var(--rtr-dl-accent, var(--rtr-accent)); box-shadow: 0 12px 28px rgba(0,0,0,.35); }
.rtr-dl-card-featured { border-width: 2px; border-color: var(--rtr-dl-accent); background: linear-gradient(135deg, rgba(255,0,51,0.05) 0%, #15171c 60%); box-shadow: 0 8px 20px rgba(255,0,51,0.08); }
.rtr-dl-card-featured:hover { box-shadow: 0 16px 32px rgba(255,0,51,0.18); }
.rtr-dl-card-image { aspect-ratio: 16 / 9; overflow: hidden; background: #1f2128; }
.rtr-dl-card-image img { width: 100%; height: 100%; object-fit: cover; }
.rtr-dl-card-body { padding: 1.1rem 1.15rem 1.25rem; display: flex; flex-direction: column; gap: .5rem; flex: 1; }
.rtr-dl-card-title { font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .04em; color: #fff; font-size: 1.15rem; margin: 0; }
.rtr-dl-card-desc { color: var(--rtr-muted); font-size: .9rem; line-height: 1.55; max-height: 4.4rem; overflow: hidden; }
.rtr-dl-card-desc p { margin: 0 0 .5rem; }
.rtr-dl-card-footer { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding-top: .5rem; border-top: 1px solid rgba(255,255,255,.06); font-size: .85rem; }
.rtr-dl-card-count { color: var(--rtr-muted); }
.rtr-dl-card-cta { color: var(--rtr-dl-accent); font-weight: 600; display: inline-flex; align-items: center; gap: .25rem; }

.rtr-dl-category-eyebrow { color: var(--rtr-muted); text-transform: uppercase; letter-spacing: .12em; font-size: .85rem; margin: -.25rem 0 1rem; }
.rtr-dl-category-desc { color: var(--rtr-text); line-height: 1.7; max-width: 50rem; margin-bottom: 2.5rem; }
.rtr-dl-category-desc h2, .rtr-dl-category-desc h3 { font-family: var(--rtr-font-display); text-transform: uppercase; color: #fff; }

.rtr-dl-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; font-size: .85rem; color: var(--rtr-muted); margin: 0 0 1.25rem; }
.rtr-dl-breadcrumb-item { color: #c8ccd4; text-decoration: none; transition: color .15s ease; }
.rtr-dl-breadcrumb-item:hover { color: var(--rtr-dl-accent, var(--rtr-accent)); }
.rtr-dl-breadcrumb-current { color: #fff; font-weight: 600; }
.rtr-dl-breadcrumb-sep { color: #4a4e58; }

.rtr-dl-pages-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1rem; margin-top: 1rem; }
.rtr-dl-page-card { display: flex; gap: 1rem; padding: 1rem 1.1rem; background: #15171c; border: 1px solid #2a2d35; border-radius: 10px; text-decoration: none; color: inherit; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; align-items: flex-start; }
.rtr-dl-page-card:hover { transform: translateY(-2px); border-color: var(--rtr-dl-accent, var(--rtr-accent)); box-shadow: 0 8px 20px rgba(0,0,0,.3); }
.rtr-dl-page-card-icon { font-size: 1.65rem; color: var(--rtr-dl-accent, var(--rtr-accent)); margin-top: 2px; flex-shrink: 0; }
.rtr-dl-page-card-body { flex: 1; display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.rtr-dl-page-card-title { font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .04em; font-size: 1.05rem; color: #fff; margin: 0; }
.rtr-dl-page-card-desc { color: var(--rtr-muted); font-size: .88rem; line-height: 1.55; }
.rtr-dl-page-card-footer { display: flex; align-items: center; gap: .5rem; margin-top: .25rem; }
.rtr-dl-page-card-cta { color: var(--rtr-dl-accent, var(--rtr-accent)); font-weight: 600; font-size: .85rem; }

.rtr-dl-event-chip { display: inline-flex; align-items: center; gap: .5rem; padding: .45rem .85rem; border-radius: 999px; background: rgba(255,0,51,0.1); color: var(--rtr-accent); border: 1px solid rgba(255,0,51,0.25); font-size: .85rem; text-decoration: none; margin: .5rem 0 1.5rem; }
.rtr-dl-event-chip:hover { background: rgba(255,0,51,0.18); }
.rtr-dl-event-chip-label { color: var(--rtr-muted); }
.rtr-dl-event-chip strong { color: #fff; }

.rtr-dl-page-intro { color: var(--rtr-text); line-height: 1.7; max-width: 50rem; margin-bottom: 2rem; }
.rtr-dl-page-intro p { margin: 0 0 1rem; }

/* Big primary download button at top of wiki page */
.rtr-dl-primary-button-wrap { margin: 1rem 0 3rem; }
.rtr-dl-primary-button { display: inline-flex; align-items: center; gap: 1.1rem; padding: 1.1rem 1.6rem 1.1rem 1.3rem; background: linear-gradient(135deg, var(--rtr-dl-accent, #FF0033) 0%, #c41030 100%); color: #fff; text-decoration: none; border-radius: 12px; font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .04em; transition: transform .18s ease, box-shadow .18s ease, filter .18s ease; box-shadow: 0 10px 24px rgba(255,0,51,0.25); }
.rtr-dl-primary-button:hover { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(255,0,51,0.35); filter: brightness(1.05); color: #fff; }
.rtr-dl-primary-button-icon { font-size: 2rem; line-height: 1; }
.rtr-dl-primary-button-text { display: flex; flex-direction: column; gap: .15rem; text-align: left; }
.rtr-dl-primary-button-label { font-size: 1.05rem; font-weight: 700; }
.rtr-dl-primary-button-hint { font-size: .75rem; text-transform: none; letter-spacing: .02em; opacity: .85; font-weight: 400; }
.rtr-dl-primary-button-arrow { font-size: 1.25rem; margin-left: .5rem; opacity: .9; }

/* Wiki page sections */
.rtr-dl-sections { display: flex; flex-direction: column; gap: 2rem; margin-bottom: 3rem; }
.rtr-dl-section { color: var(--rtr-text); }
.rtr-dl-section-richtext { line-height: 1.75; max-width: 50rem; }
.rtr-dl-section-richtext h2, .rtr-dl-section-richtext h3 { font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .08em; margin: 1.5rem 0 .75rem; color: #fff; }
.rtr-dl-section-richtext p { margin: 0 0 1rem; }
.rtr-dl-section-richtext ul, .rtr-dl-section-richtext ol { margin: 0 0 1rem 1.5rem; }
.rtr-dl-section-richtext a { color: var(--rtr-accent); }
.rtr-dl-section-image img { width: 100%; max-width: 50rem; border-radius: 8px; }
.rtr-dl-section-pdf iframe { width: 100%; max-width: 50rem; height: 70vh; border: 1px solid #2a2d35; border-radius: 8px; background: #fff; }
.rtr-dl-section-pdf-fallback { margin: .5rem 0 0; font-size: .9rem; }
.rtr-dl-section-pdf-fallback a { color: var(--rtr-accent); text-decoration: none; display: inline-flex; align-items: center; gap: .35rem; }
.rtr-dl-section-video video { width: 100%; max-width: 50rem; border-radius: 8px; background: #000; }

/* Files list block */
.rtr-dl-section-files .rtr-dl-section-heading { margin-bottom: 1rem; font-size: 1.1rem; }
.rtr-dl-file-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .6rem; max-width: 50rem; }
.rtr-dl-file-item { margin: 0; }
.rtr-dl-file-link { display: flex; align-items: center; gap: 1rem; padding: .85rem 1rem; background: #15171c; border: 1px solid #2a2d35; border-radius: 8px; text-decoration: none; color: inherit; transition: border-color .18s ease, transform .18s ease, background .18s ease; }
.rtr-dl-file-link:hover { border-color: var(--rtr-dl-accent, var(--rtr-accent)); transform: translateX(2px); background: #181a20; color: inherit; }
.rtr-dl-file-icon { font-size: 1.5rem; color: var(--rtr-dl-accent, var(--rtr-accent)); flex-shrink: 0; }
.rtr-dl-file-text { flex: 1; display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.rtr-dl-file-name { color: #fff; font-weight: 600; }
.rtr-dl-file-desc { color: var(--rtr-muted); font-size: .85rem; line-height: 1.45; }
.rtr-dl-file-arrow { font-size: 1.1rem; color: var(--rtr-muted); flex-shrink: 0; }
.rtr-dl-file-link:hover .rtr-dl-file-arrow { color: var(--rtr-dl-accent, var(--rtr-accent)); }

/* "Download all materials" bundle button at bottom */
.rtr-dl-package { margin-top: 3rem; padding: 0; }
.rtr-dl-package-inner { display: flex; align-items: center; gap: 1.25rem; padding: 1.25rem 1.5rem; background: linear-gradient(135deg, rgba(217,119,6,0.12) 0%, #1a1c22 70%); border: 1px solid rgba(217,119,6,0.35); border-radius: 12px; flex-wrap: wrap; }
.rtr-dl-package-icon { font-size: 2.5rem; color: #d97706; flex-shrink: 0; }
.rtr-dl-package-text { flex: 1; min-width: 200px; }
.rtr-dl-package-text .rtr-eyebrow { margin: 0 0 .25rem; }
.rtr-dl-package-blurb { color: var(--rtr-muted); font-size: .9rem; margin: 0; }
.rtr-dl-package-button { display: inline-flex; align-items: center; padding: .85rem 1.25rem; background: #d97706; color: #fff; border-radius: 8px; text-decoration: none; font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .04em; font-size: .95rem; transition: transform .18s ease, filter .18s ease, box-shadow .18s ease; box-shadow: 0 6px 16px rgba(217,119,6,0.3); flex-shrink: 0; }
.rtr-dl-package-button:hover { transform: translateY(-2px); filter: brightness(1.08); color: #fff; box-shadow: 0 10px 22px rgba(217,119,6,0.45); }

.rtr-empty-state { color: var(--rtr-muted); padding: 2rem 0; font-style: italic; }

@media (max-width: 640px) {
    .rtr-dl-primary-button { width: 100%; }
    .rtr-dl-primary-button-text { flex: 1; }
    .rtr-dl-package-inner { flex-direction: column; align-items: flex-start; }
    .rtr-dl-package-button { width: 100%; justify-content: center; }
}

/* ─────────────────────────────────────────────────────────────────────────
   Bootstrap-utility shim (B2B pages + shared /Account RCL pages)
   The rtriga storefront doesn't load Bootstrap CSS — but the shared
   /Account RCL pages + the new /Account/Business, /Admin/B2BClients,
   /Admin/Orders/Detail pages use Bootstrap classes (row/col/mb/d-flex/etc.)
   These utility rules let those pages lay out correctly without a full
   Bootstrap dependency. Scoped to .rtr-section so they don't leak into
   the admin layout (which has its own admin.css).
   ───────────────────────────────────────────────────────────────────── */
.rtr-section .row { display: flex; flex-wrap: wrap; margin-right: -.75rem; margin-left: -.75rem; }
.rtr-section .row > * { padding-right: .75rem; padding-left: .75rem; box-sizing: border-box; flex-shrink: 0; width: 100%; max-width: 100%; }
.rtr-section .row.g-2 > * { padding-right: .25rem; padding-left: .25rem; margin-bottom: .5rem; }
.rtr-section .row.g-3 > * { padding-right: .5rem; padding-left: .5rem; margin-bottom: 1rem; }
.rtr-section .col-auto { flex: 0 0 auto; width: auto; }
.rtr-section .col-md-12 { flex: 0 0 auto; width: 100%; }
.rtr-section .col-md-6, .rtr-section .col-sm-6 { flex: 0 0 auto; width: 100%; }
.rtr-section .col-sm-3 { flex: 0 0 auto; width: 100%; }
.rtr-section .col-sm-4 { flex: 0 0 auto; width: 100%; }
.rtr-section .col-sm-5 { flex: 0 0 auto; width: 100%; }
.rtr-section .col-sm-7 { flex: 0 0 auto; width: 100%; }
.rtr-section .col-sm-8 { flex: 0 0 auto; width: 100%; }
.rtr-section .col-sm-9 { flex: 0 0 auto; width: 100%; }
@media (min-width: 576px) {
    .rtr-section .col-sm-3 { width: 25%; }
    .rtr-section .col-sm-4 { width: 33.3333%; }
    .rtr-section .col-sm-5 { width: 41.6667%; }
    .rtr-section .col-sm-6 { width: 50%; }
    .rtr-section .col-sm-7 { width: 58.3333%; }
    .rtr-section .col-sm-8 { width: 66.6667%; }
    .rtr-section .col-sm-9 { width: 75%; }
}
@media (min-width: 768px) {
    .rtr-section .col-md-6 { width: 50%; }
}

/* Spacing utilities (only the values used by the B2B / Account pages) */
.rtr-section .mb-0 { margin-bottom: 0 !important; }
.rtr-section .mb-1 { margin-bottom: .25rem; }
.rtr-section .mb-2 { margin-bottom: .5rem; }
.rtr-section .mb-3 { margin-bottom: 1rem; }
.rtr-section .mb-4 { margin-bottom: 1.5rem; }
.rtr-section .mt-1 { margin-top: .25rem; }
.rtr-section .mt-2 { margin-top: .5rem; }
.rtr-section .mt-3 { margin-top: 1rem; }
.rtr-section .mt-4 { margin-top: 1.5rem; }
.rtr-section .me-1 { margin-right: .25rem; }
.rtr-section .me-2 { margin-right: .5rem; }
.rtr-section .ms-2 { margin-left: .5rem; }
.rtr-section .p-2 { padding: .5rem; }

/* Flex utilities */
.rtr-section .d-flex { display: flex !important; }
.rtr-section .flex-wrap { flex-wrap: wrap; }
.rtr-section .flex-grow-1 { flex-grow: 1; }
.rtr-section .flex-shrink-0 { flex-shrink: 0; }
.rtr-section .gap-2 { gap: .5rem; }
.rtr-section .gap-3 { gap: 1rem; }
.rtr-section .justify-content-between { justify-content: space-between; }
.rtr-section .align-items-start { align-items: flex-start; }
.rtr-section .align-items-center { align-items: center; }
.rtr-section .align-items-end { align-items: flex-end; }

/* Size utilities */
.rtr-section .h-100 { height: 100%; }
.rtr-section .w-100 { width: 100%; }

/* Text utilities */
.rtr-section .text-muted { color: var(--rtr-muted) !important; }
.rtr-section .text-danger { color: var(--rtr-primary) !important; }
.rtr-section .text-decoration-none { text-decoration: none; }
.rtr-section .text-start { text-align: left; }
.rtr-section .small { font-size: .85em; }
.rtr-section .fs-4 { font-size: 1.25rem; }
.rtr-section .lead { font-size: 1.15rem; color: var(--rtr-muted); }

/* Border utilities */
.rtr-section .border-0 { border: 0; }
.rtr-section .border-primary { border-color: var(--rtr-primary) !important; }
.rtr-section .bg-white { background: var(--rtr-surface) !important; }

/* Button variants beyond the existing .btn-primary override */
.rtr-section .btn-outline-primary { background: transparent; border-color: var(--rtr-primary); color: var(--rtr-primary); }
.rtr-section .btn-outline-primary:hover { background: var(--rtr-primary); color: #fff; }
.rtr-section .btn-outline-secondary { background: transparent; border-color: var(--rtr-border); color: var(--rtr-muted); }
.rtr-section .btn-outline-secondary:hover { background: var(--rtr-surface-2); color: var(--rtr-text); }
.rtr-section .btn-link { background: transparent; border: 0; color: var(--rtr-accent); padding: .5rem 1rem; text-transform: none; letter-spacing: 0; font-weight: 500; }
.rtr-section .btn-link:hover { color: var(--rtr-accent-hover); text-decoration: underline; }

/* Definition-list rows (used on /Admin/B2BClients/Edit + /checkout B2B card) */
.rtr-section dl { margin: 0 0 1rem; }
.rtr-section dl.row { display: grid; grid-template-columns: max-content 1fr; gap: .5rem 1.5rem; margin: 0; }
.rtr-section dl.row dt { font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .08em; font-size: .75rem; color: var(--rtr-muted); padding-right: 0; align-self: center; }
.rtr-section dl.row dd { margin: 0; color: var(--rtr-text); padding-left: 0; align-self: center; }
.rtr-section dl.row dd code { background: var(--rtr-surface-2); padding: .15rem .5rem; border-radius: 3px; font-size: .9rem; color: var(--rtr-accent); }

/* Fieldset / legend styling for create / edit forms */
.rtr-section fieldset { border: 0; padding: 0; margin: 0; }
.rtr-section fieldset legend { font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .1em; font-size: 1rem; color: var(--rtr-text); margin: 0 0 .8rem; padding: 0; }
.rtr-section fieldset.mb-4 { margin-bottom: 1.5rem; }

/* Invalid feedback */
.rtr-section .is-invalid { border-color: var(--rtr-primary) !important; }
.rtr-section .invalid-feedback { color: var(--rtr-primary); font-size: .8rem; margin-top: .25rem; }
.rtr-section .invalid-feedback.d-block { display: block; }

/* Form-switch (used on checkbox toggles) */
.rtr-section .form-switch .form-check-input { width: 2.5rem; height: 1.25rem; cursor: pointer; }

/* Status badges via colour-coded classes used on /Account/Index B2B tile */
.rtr-section .badge.bg-warning { background: rgba(255,193,7,.15); color: #ffc107; }
.rtr-section .badge.bg-warning.text-dark { color: #ffc107; }
.rtr-section .badge.bg-danger { background: rgba(255,0,51,.15); color: var(--rtr-primary); }

/* ─────────────────────────────────────────────────────────────────────────
   Rich-text container (.rtr-rich)
   For content rendered via Model.H() — CMS richtext blocks.
   ───────────────────────────────────────────────────────────────────── */
.rtr-rich { line-height: 1.6; }
.rtr-rich > * + * { margin-top: .9rem; }
.rtr-rich p { color: var(--rtr-text); margin: 0; }
.rtr-rich p strong { color: var(--rtr-text); }
.rtr-rich a { color: var(--rtr-primary); }
.rtr-rich a:hover { color: var(--rtr-primary-hover); }
.rtr-rich ul, .rtr-rich ol { color: var(--rtr-text); padding-left: 1.5rem; margin: 0; }
.rtr-rich li + li { margin-top: .3rem; }
.rtr-rich code { background: var(--rtr-surface-2); padding: .15rem .5rem; border-radius: 3px; font-size: .9em; color: var(--rtr-accent); }
.rtr-rich em { color: var(--rtr-muted); }

/* ─────────────────────────────────────────────────────────────────────────
   /shop/vat-rates — EEA-30 VAT rates reference table
   ───────────────────────────────────────────────────────────────────── */
.rtr-vat-table-wrap { margin: 2.5rem 0 1.5rem; border: 1px solid var(--rtr-border); overflow-x: auto; }
.rtr-vat-table { width: 100%; border-collapse: collapse; font-size: .95rem; background: var(--rtr-surface); }
.rtr-vat-table thead th { background: var(--rtr-surface-2); font-family: var(--rtr-font-display); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: .8rem; color: var(--rtr-muted); padding: .85rem 1rem; border-bottom: 2px solid var(--rtr-primary); text-align: left; white-space: nowrap; }
.rtr-vat-table tbody td { padding: .75rem 1rem; border-bottom: 1px solid var(--rtr-border); color: var(--rtr-text); vertical-align: middle; }
.rtr-vat-table tbody tr:last-child td { border-bottom: 0; }
.rtr-vat-table tbody tr:hover { background: rgba(255,255,255,.03); }
.rtr-vat-table tbody tr:first-child { background: rgba(255,0,51,.05); }
.rtr-vat-table tbody tr:first-child td:first-child { font-weight: 700; }
.rtr-vat-table__code { width: 6rem; font-family: monospace; font-size: .85rem; color: var(--rtr-muted); letter-spacing: .05em; }
.rtr-vat-table__prefix { width: 7rem; }
.rtr-vat-table__prefix code { background: var(--rtr-surface-2); padding: .2rem .55rem; border-radius: 3px; font-size: .85rem; color: var(--rtr-accent); }
.rtr-vat-table__rate { width: 8rem; text-align: right; font-variant-numeric: tabular-nums; color: var(--rtr-primary); font-weight: 700; font-size: 1rem; }
.rtr-vat-table-footer { margin-top: 1.5rem; }
@media (max-width: 640px) {
    .rtr-vat-table thead th, .rtr-vat-table tbody td { padding: .55rem .6rem; font-size: .85rem; }
    .rtr-vat-table__code { width: 4rem; }
    .rtr-vat-table__prefix { width: 5.5rem; }
    .rtr-vat-table__rate { width: 5.5rem; font-size: .9rem; }
}

/* ─────────────────────────────────────────────────────────────────────────
   /checkout — B2B branches
   Notice card (gate when business is picked but customer isn't eligible)
   and the locked company-info card (when approved).
   ───────────────────────────────────────────────────────────────────── */
.rtr-checkout-card--notice { border-color: #ffc107; background: rgba(255,193,7,.04); }
.rtr-checkout-card--notice .rtr-checkout-heading { color: #ffc107; }
.rtr-checkout-card--notice p { color: var(--rtr-text); margin: .5rem 0 1rem; line-height: 1.55; }
.rtr-checkout-card--notice p:last-of-type { margin-bottom: .5rem; }
.rtr-checkout-card--notice .rtr-btn { margin-top: .5rem; }

.rtr-checkout-card--b2b-info { border-color: var(--rtr-accent); background: rgba(0,229,255,.03); }
.rtr-checkout-card--b2b-info .rtr-checkout-heading { color: var(--rtr-accent); }

.rtr-checkout-b2b-dl { display: grid; grid-template-columns: max-content 1fr; gap: .55rem 1.5rem; margin: .5rem 0 1.25rem; }
.rtr-checkout-b2b-dl dt { font-family: var(--rtr-font-display); text-transform: uppercase; letter-spacing: .08em; font-size: .75rem; color: var(--rtr-muted); align-self: center; }
.rtr-checkout-b2b-dl dd { margin: 0; color: var(--rtr-text); align-self: center; }
.rtr-checkout-b2b-dl dd code { background: var(--rtr-surface-2); padding: .2rem .55rem; border-radius: 3px; font-size: .9rem; color: var(--rtr-accent); }
.rtr-checkout-b2b-edit-hint { color: var(--rtr-muted); font-size: .85rem; margin: 0; padding-top: .85rem; border-top: 1px dashed var(--rtr-border); }
.rtr-checkout-b2b-edit-hint a { color: var(--rtr-accent); }
.rtr-checkout-b2b-edit-hint a:hover { color: var(--rtr-accent-hover); }
.rtr-checkout-b2b-edit-hint i { margin-right: .35rem; }

/* ========== ACCOUNT DASHBOARD ========== */
.rtr-account-greet { color: var(--rtr-muted); margin: 0 0 2.5rem; font-size: 1rem; }
.rtr-account-greet strong { color: var(--rtr-text); font-weight: 600; }
.rtr-account-grid { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .rtr-account-grid { grid-template-columns: 1fr 1fr; } }
.rtr-account-tile {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: .5rem;
    padding: 1.5rem;
    background: var(--rtr-surface);
    border: 1px solid var(--rtr-border);
    color: var(--rtr-text);
    text-decoration: none;
    transition: border-color .15s ease, transform .15s ease, background .15s ease;
    min-height: 140px;
}
.rtr-account-tile:hover, .rtr-account-tile:focus-visible {
    border-color: var(--rtr-primary);
    background: var(--rtr-surface-2);
    color: var(--rtr-text);
    transform: translateY(-2px);
}
.rtr-account-tile-head { display: flex; align-items: center; gap: .65rem; }
.rtr-account-tile-icon { color: var(--rtr-primary); font-size: 1.25rem; line-height: 1; }
.rtr-account-tile-title {
    flex: 1;
    margin: 0;
    font-family: var(--rtr-font-display);
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 1rem;
    color: var(--rtr-text);
}
.rtr-account-tile-chevron { color: var(--rtr-muted); font-size: .9rem; transition: transform .15s ease, color .15s ease; }
.rtr-account-tile:hover .rtr-account-tile-chevron { color: var(--rtr-primary); transform: translateX(2px); }
.rtr-account-tile-body { color: var(--rtr-muted); font-size: .9rem; line-height: 1.5; margin: 0; }
.rtr-account-tile-badge {
    display: inline-flex;
    align-items: center;
    padding: .2rem .55rem;
    font-family: var(--rtr-font-display);
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .7rem;
    border: 1px solid currentColor;
}
.rtr-account-tile-badge--pending { color: #FFC107; }
.rtr-account-tile-badge--approved { color: #00E5FF; }
.rtr-account-tile-badge--rejected { color: var(--rtr-primary); }
.rtr-account-actions { margin-top: 2.5rem; display: flex; justify-content: flex-start; }
.rtr-account-signout-btn {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .65rem 1.25rem;
    background: transparent;
    border: 1px solid var(--rtr-border);
    color: var(--rtr-muted);
    font-family: var(--rtr-font-display);
    text-transform: uppercase;
    letter-spacing: .1em;
    font-size: .8rem;
    cursor: pointer;
    transition: border-color .15s ease, color .15s ease;
}
.rtr-account-signout-btn:hover { border-color: var(--rtr-primary); color: var(--rtr-primary); }

