/* ============================================================
   RallyLive Frontend — Vision4 Light Theme
   Brand colours from vision4motorsports.com:
     Primary red  #E63C1E
     Dark text    #111111
     Mid grey     #444444
     Light grey   #F5F5F5
     Border       #E0E0E0
     White        #FFFFFF
   Fonts: Bebas Neue (display) · Rajdhani (headings/UI) · Inter (body)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Rajdhani:wght@400;500;600;700&family=Inter:wght@300;400;500;600&display=swap');

/* ── TOKENS ── */
:root{
  --rl-bg:        #F8F8F8;
  --rl-white:     #FFFFFF;
  --rl-surface:   #FFFFFF;
  --rl-surface2:  #F4F4F4;
  --rl-surface3:  #EEEEEE;
  --rl-border:    #E2E2E2;
  --rl-border2:   #D0D0D0;
  --rl-red:       #E63C1E;
  --rl-red-dark:  #C02F14;
  --rl-red-light: #FFF1EE;
  --rl-red-mid:   #FDDDD8;
  --rl-text:      #111111;
  --rl-text2:     #444444;
  --rl-muted:     #777777;
  --rl-muted2:    #AAAAAA;
  --rl-gold:      #D4A017;
  --rl-silver:    #8C9CA8;
  --rl-bronze:    #A0612A;
  --rl-green:     #1B8A3C;
  --rl-green-bg:  #EAF7EE;
  --rl-orange:    #C05800;
  --rl-orange-bg: #FFF3E8;
  --rl-blue:      #1A5FAB;
  --rl-blue-bg:   #EAF0FA;
  --rl-radius:    6px;
  --rl-radius-lg: 12px;
  --rl-shadow:    0 2px 12px rgba(0,0,0,.08);
  --rl-shadow-lg: 0 6px 32px rgba(0,0,0,.12);
  --rl-font-d:    'Bebas Neue', sans-serif;
  --rl-font-h:    'Rajdhani', sans-serif;
  --rl-font-b:    'Inter', sans-serif;
}

/* ── RESET ── */
.rl-wrap,
.rl-wrap *,
.rl-wrap *::before,
.rl-wrap *::after{ box-sizing:border-box; }
.rl-wrap{ font-family:var(--rl-font-b); color:var(--rl-text); background:#fff; }
.rl-wrap-light{ background:#fff; }
.rl-wrap a{ color:var(--rl-red); text-decoration:none; }
.rl-wrap a:hover{ text-decoration:underline; }
.rl-wrap img{ max-width:100%; display:block; }

/* ═══════════════════════════════════════
   SHARED COMPONENTS
═══════════════════════════════════════ */

/* Buttons */
.rl-btn{
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--rl-font-h); font-weight:700; font-size:.88rem;
  letter-spacing:.05em; text-transform:uppercase;
  padding:.55rem 1.3rem; border-radius:var(--rl-radius);
  border:none; cursor:pointer; text-decoration:none !important;
  transition:background .15s, color .15s, box-shadow .15s;
  line-height:1.3;
}
.rl-btn-red  { background:var(--rl-red);   color:#fff; }
.rl-btn-red:hover{ background:var(--rl-red-dark); color:#fff; }
.rl-btn-white{ background:#fff; color:var(--rl-text); border:1.5px solid var(--rl-border2); }
.rl-btn-white:hover{ border-color:var(--rl-red); color:var(--rl-red); }
.rl-btn-outline{ background:transparent; color:var(--rl-text2); border:1.5px solid var(--rl-border2); }
.rl-btn-outline:hover{ border-color:var(--rl-red); color:var(--rl-red); }

/* Breadcrumb */
.rl-breadcrumb{
  display:flex; align-items:center; gap:.4rem; flex-wrap:wrap;
  font-family:var(--rl-font-h); font-size:.8rem; font-weight:600;
  letter-spacing:.03em; color:var(--rl-muted); margin-bottom:1.25rem;
}
.rl-breadcrumb a{ color:var(--rl-muted); text-decoration:none; }
.rl-breadcrumb a:hover{ color:var(--rl-red); }
.rl-breadcrumb span{ color:var(--rl-muted2); }

/* Status badges */
.rl-status-badge{
  display:inline-flex; align-items:center; gap:4px;
  font-family:var(--rl-font-h); font-weight:700; font-size:.72rem;
  letter-spacing:.08em; text-transform:uppercase;
  padding:3px 10px; border-radius:99px;
}
.rl-badge-upcoming { background:var(--rl-blue-bg);  color:var(--rl-blue);  border:1px solid #c0d4f0; }
.rl-badge-ongoing  { background:var(--rl-red-light); color:var(--rl-red);   border:1px solid var(--rl-red-mid); }
.rl-badge-completed{ background:var(--rl-green-bg); color:var(--rl-green); border:1px solid #b8e2c6; }

/* Result badges (leaderboard / history) */
.rl-result-badge{
  display:inline-block; padding:2px 8px; border-radius:4px;
  font-family:var(--rl-font-h); font-weight:700; font-size:.68rem; letter-spacing:.07em;
}
.rl-result-running  { background:var(--rl-blue-bg);   color:var(--rl-blue); }
.rl-result-finished { background:var(--rl-green-bg);  color:var(--rl-green); }
.rl-result-dnf      { background:var(--rl-red-light); color:var(--rl-red); }
.rl-result-dsq      { background:var(--rl-orange-bg); color:var(--rl-orange); }

/* Live badge */
.rl-live-badge{
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--rl-font-h); font-weight:700; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--rl-red); background:var(--rl-red-light); border:1px solid var(--rl-red-mid);
  padding:4px 12px; border-radius:99px;
}
.rl-live-dot{
  width:7px; height:7px; border-radius:50%; background:var(--rl-red);
  animation:rl-blink 1.2s infinite;
}
.rl-live-dot-sm{ display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--rl-red); animation:rl-blink 1.2s infinite; }
@keyframes rl-blink{ 0%,100%{opacity:1} 50%{opacity:.2} }

/* Position badges */
.rl-pos-badge{
  display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:50%;
  font-family:var(--rl-font-h); font-weight:700; font-size:.82rem;
}
.rl-pos-1{ background:var(--rl-gold);   color:#fff; }
.rl-pos-2{ background:var(--rl-silver); color:#fff; }
.rl-pos-3{ background:var(--rl-bronze); color:#fff; }
.rl-pos-4{ background:var(--rl-surface3); color:var(--rl-muted); }
.rl-pos-dash{ color:var(--rl-muted2); font-size:1rem; }

/* Section card */
.rl-section-card{
  background:var(--rl-white); border:1px solid var(--rl-border);
  border-radius:var(--rl-radius-lg); padding:1.5rem 1.75rem;
  margin-bottom:1.5rem; box-shadow:var(--rl-shadow);
}
.rl-section-card-title{
  font-family:var(--rl-font-h); font-weight:700; font-size:1rem;
  letter-spacing:.07em; text-transform:uppercase; color:var(--rl-text);
  padding-bottom:.75rem; margin-bottom:1.1rem;
  border-bottom:2px solid var(--rl-red);
  display:flex; align-items:center; gap:.6rem;
}
.rl-auto-refresh-note{
  font-family:var(--rl-font-b); font-size:.68rem; font-weight:400;
  letter-spacing:.02em; text-transform:none; color:var(--rl-muted);
  margin-left:auto;
}

/* Sidebar card */
.rl-side-card{
  background:var(--rl-white); border:1px solid var(--rl-border);
  border-radius:var(--rl-radius-lg); padding:1.25rem 1.5rem;
  margin-bottom:1.25rem; box-shadow:var(--rl-shadow);
}
.rl-side-card-title{
  font-family:var(--rl-font-h); font-weight:700; font-size:.82rem;
  letter-spacing:.09em; text-transform:uppercase; color:var(--rl-text);
  margin-bottom:.9rem; padding-bottom:.6rem;
  border-bottom:1.5px solid var(--rl-border);
  display:flex; align-items:center; gap:.5rem;
}

/* Side stats grid */
.rl-side-stats{ display:grid; grid-template-columns:1fr 1fr; gap:.6rem; margin-bottom:.6rem; }
.rl-side-stat{
  background:var(--rl-surface2); border-radius:var(--rl-radius);
  padding:.8rem; text-align:center;
}
.rl-side-stat-val{
  display:block; font-family:var(--rl-font-d); font-size:1.8rem;
  color:var(--rl-red); line-height:1;
}
.rl-side-stat-lbl{
  display:block; font-size:.65rem; text-transform:uppercase;
  letter-spacing:.09em; color:var(--rl-muted); margin-top:.25rem;
}

/* Detail list (dl) */
.rl-detail-list{ display:grid; grid-template-columns:auto 1fr; gap:0; }
.rl-detail-list dt{
  font-family:var(--rl-font-h); font-size:.72rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.06em; color:var(--rl-muted);
  padding:.55rem .75rem .55rem 0; border-bottom:1px solid var(--rl-border);
}
.rl-detail-list dd{
  font-size:.85rem; color:var(--rl-text); font-weight:500;
  padding:.55rem 0; border-bottom:1px solid var(--rl-border);
}
.rl-detail-list dt:last-of-type,
.rl-detail-list dd:last-of-type{ border-bottom:none; }

/* Tables shared */
.rl-table-wrap{ overflow-x:auto; border-radius:var(--rl-radius); border:1px solid var(--rl-border); }
.rl-table-wrap table{ width:100%; border-collapse:collapse; }
.rl-table-wrap thead th{
  font-family:var(--rl-font-h); font-weight:700; font-size:.7rem;
  letter-spacing:.1em; text-transform:uppercase; color:var(--rl-muted);
  padding:.65rem .9rem; border-bottom:1px solid var(--rl-border);
  background:var(--rl-surface2); text-align:left; white-space:nowrap;
}
.rl-table-wrap tbody tr{ border-bottom:1px solid rgba(0,0,0,.05); transition:background .12s; }
.rl-table-wrap tbody tr:hover{ background:rgba(230,60,30,.03); }
.rl-table-wrap tbody tr:last-child{ border-bottom:none; }
.rl-table-wrap tbody td{ padding:.7rem .9rem; vertical-align:middle; font-size:.85rem; }

/* Empty state */
.rl-empty{ text-align:center; padding:3rem 1rem; color:var(--rl-muted); }
.rl-empty-icon{ font-size:2.5rem; display:block; margin-bottom:.75rem; }
.rl-muted-text{ color:var(--rl-muted); font-size:.88rem; }

/* ═══════════════════════════════════════
   PAGE HERO — with motorsport placeholder image
═══════════════════════════════════════ */
.rl-page-hero{
  position:relative;
  padding:2.5rem 3rem 2.5rem;
  overflow:hidden;
  background:
    linear-gradient(135deg, rgba(10,5,3,.82) 0%, rgba(40,12,4,.78) 100%),
    url('https://images.unsplash.com/photo-1568605117036-5fe5e7bab0b7?w=1200&q=60&auto=format') center/cover no-repeat;
}
.rl-page-hero::after{
  content:''; position:absolute; top:0; right:0; bottom:0;
  width:40%;
  background:linear-gradient(135deg, transparent 0%, rgba(230,60,30,.08) 100%);
  pointer-events:none;
}
.rl-page-hero-sm{ padding:2rem 3rem 2rem; }
.rl-page-hero-inner{ position:relative; z-index:1; max-width:620px; }
.rl-eyebrow{
  display:block; font-family:var(--rl-font-h); font-weight:700; font-size:.75rem;
  letter-spacing:.14em; text-transform:uppercase; color:var(--rl-red);
  margin-bottom:.5rem;
}
.rl-hero-title{
  font-family:var(--rl-font-d); font-size:clamp(2rem,5vw,3.2rem);
  line-height:.95; color:#fff; letter-spacing:.03em; margin-bottom:.6rem;
}
.rl-hero-sub{
  font-size:.88rem; color:rgba(255,255,255,.65); line-height:1.7; max-width:480px;
}

/* ═══════════════════════════════════════
   TABS
═══════════════════════════════════════ */
.rl-tabs-wrap{
  background:var(--rl-white); border-bottom:1.5px solid var(--rl-border);
  padding:0 3rem;
  box-shadow:0 1px 4px rgba(0,0,0,.04);
}
.rl-tabs{ display:flex; align-items:stretch; gap:0; }
.rl-tab{
  display:inline-flex; align-items:center; gap:7px;
  font-family:var(--rl-font-h); font-weight:700; font-size:.88rem;
  letter-spacing:.06em; text-transform:uppercase; text-decoration:none !important;
  color:var(--rl-muted); padding:.9rem 1.5rem;
  border-bottom:3px solid transparent; transition:color .15s, border-color .15s;
}
.rl-tab:hover{ color:var(--rl-text); text-decoration:none; }
.rl-tab.active{ color:var(--rl-red); border-bottom-color:var(--rl-red); }
.rl-tab-badge{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:20px; height:20px; padding:0 5px; border-radius:99px;
  background:var(--rl-surface3); color:var(--rl-muted);
  font-size:.68rem; font-weight:700; font-family:var(--rl-font-b);
  transition:background .15s, color .15s;
}
.rl-tab.active .rl-tab-badge{ background:var(--rl-red); color:#fff; }

/* ═══════════════════════════════════════
   EVENTS CONTENT AREA
═══════════════════════════════════════ */
.rl-events-body{ padding:2rem 3rem 4rem; background:#fff; }

/* ── Featured Live ── */
.rl-featured{
  position:relative; border-radius:var(--rl-radius-lg); overflow:hidden;
  min-height:360px; display:flex; align-items:flex-end;
  box-shadow:var(--rl-shadow-lg);
}
.rl-featured-img{
  position:absolute; inset:0;
  background:#333 center/cover no-repeat;
  filter:brightness(.38) saturate(.6);
}
.rl-featured-img-default{
  position:absolute; inset:0;
  background:
    linear-gradient(to bottom, rgba(0,0,0,.55) 0%, rgba(0,0,0,.85) 100%),
    url('https://images.unsplash.com/photo-1541447271487-09612b3f49f7?w=1200&q=60&auto=format') center/cover no-repeat;
}
.rl-featured-overlay{
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.3) 60%,transparent 100%);
}
.rl-featured-content{
  position:relative; z-index:2;
  padding:2.5rem; max-width:680px;
}
.rl-featured-title{
  font-family:var(--rl-font-d); font-size:clamp(2rem,5vw,3.5rem);
  line-height:1; color:#fff; letter-spacing:.02em; margin:.75rem 0 .75rem;
}
.rl-featured-meta{
  display:flex; flex-wrap:wrap; gap:.5rem 1.5rem;
  font-size:.85rem; color:rgba(255,255,255,.7); margin-bottom:1rem;
}
.rl-featured-desc{
  font-size:.88rem; color:rgba(255,255,255,.6); line-height:1.7;
  margin-bottom:1.5rem; max-width:480px;
}
.rl-featured-btns{ display:flex; gap:.75rem; flex-wrap:wrap; }

/* ── Card Grid ── */
.rl-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:1.25rem;
}
.rl-ev-card{
  background:var(--rl-white); border:1px solid var(--rl-border);
  border-radius:var(--rl-radius-lg); overflow:hidden;
  box-shadow:var(--rl-shadow); transition:transform .2s, box-shadow .2s, border-color .2s;
  display:block; text-decoration:none !important; color:inherit;
}
.rl-ev-card:hover{ transform:translateY(-3px); box-shadow:var(--rl-shadow-lg); border-color:var(--rl-red); }
.rl-ev-card-img{
  height:160px; position:relative; overflow:hidden; background:var(--rl-surface2);
}
.rl-ev-card-img img{ width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.rl-ev-card:hover .rl-ev-card-img img{ transform:scale(1.03); }
.rl-ev-card-img-default{
  width:100%; height:100%;
  background:
    linear-gradient(135deg, rgba(20,8,4,.72) 0%, rgba(40,12,4,.65) 100%),
    url('https://images.unsplash.com/photo-1568605117036-5fe5e7bab0b7?w=600&q=55&auto=format') center/cover no-repeat;
  display:flex; align-items:center; justify-content:center; font-size:2.5rem;
}
.rl-status-badge{ position:absolute; top:10px; left:10px; }
.rl-ev-card-body{ padding:1rem 1.25rem 1.25rem; }
.rl-ev-card-date{ font-size:.75rem; color:var(--rl-muted); margin-bottom:.35rem; }
.rl-ev-card-name{ font-family:var(--rl-font-h); font-weight:700; font-size:1.05rem; color:var(--rl-text); line-height:1.25; margin-bottom:.35rem; }
.rl-ev-card-loc{ font-size:.78rem; color:var(--rl-muted); margin-bottom:.5rem; }
.rl-ev-card-desc{
  font-size:.78rem; color:var(--rl-muted); line-height:1.55;
  margin:0 0 .75rem;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.rl-ev-card-footer{ border-top:1px solid var(--rl-border); padding-top:.7rem; }
.rl-ev-card-cta{ font-family:var(--rl-font-h); font-weight:700; font-size:.78rem; letter-spacing:.05em; text-transform:uppercase; color:var(--rl-red); }

/* ── Past Events List ── */
.rl-past-list{ display:flex; flex-direction:column; gap:.6rem; }
.rl-past-row{
  display:grid; grid-template-columns:80px 1fr auto auto;
  align-items:center; gap:1.25rem;
  background:var(--rl-white); border:1px solid var(--rl-border); border-radius:var(--rl-radius);
  padding:.85rem 1.25rem; box-shadow:var(--rl-shadow);
  text-decoration:none !important; color:inherit;
  transition:border-color .2s, box-shadow .2s;
}
.rl-past-row:hover{ border-color:var(--rl-red); box-shadow:var(--rl-shadow-lg); }
.rl-past-date-col{ text-align:center; border-right:1px solid var(--rl-border); padding-right:1.25rem; }
.rl-past-month{ display:block; font-family:var(--rl-font-h); font-weight:700; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--rl-red); }
.rl-past-day{ display:block; font-family:var(--rl-font-d); font-size:2rem; line-height:1; color:var(--rl-text); }
.rl-past-year{ display:block; font-size:.68rem; color:var(--rl-muted); }
.rl-past-name{ font-family:var(--rl-font-h); font-weight:700; font-size:.95rem; color:var(--rl-text); margin-bottom:.25rem; }
.rl-past-loc{ font-size:.78rem; color:var(--rl-muted); }
.rl-past-arrow{ font-size:1.1rem; color:var(--rl-muted2); transition:color .2s; }
.rl-past-row:hover .rl-past-arrow{ color:var(--rl-red); }

/* ═══════════════════════════════════════
   EVENT DETAIL PAGE
═══════════════════════════════════════ */

/* Hero — rally image placeholder when no banner set */
.rl-edp-hero{
  position:relative; min-height:360px; display:flex; align-items:flex-end;
  padding:0 3rem 2.5rem;
  background:
    linear-gradient(to top, rgba(0,0,0,.93) 0%, rgba(0,0,0,.55) 55%, rgba(0,0,0,.25) 100%),
    url('https://images.unsplash.com/photo-1593429093-fb3e3ee0a7e5?w=1400&q=60&auto=format') center/cover no-repeat;
  overflow:hidden;
}
.rl-edp-has-banner{
  background:
    linear-gradient(to top, rgba(0,0,0,.93) 0%, rgba(0,0,0,.55) 55%, rgba(0,0,0,.15) 100%),
    var(--rl-banner) center/cover no-repeat !important;
}
.rl-edp-has-banner::before{ display:none; }
.rl-edp-hero-overlay{ display:none; }
.rl-edp-hero-content{ position:relative; z-index:2; max-width:900px; width:100%; }
.rl-edp-status-row{ display:flex; align-items:center; gap:.75rem; margin-bottom:.65rem; }
.rl-edp-title{
  font-family:var(--rl-font-d); font-size:clamp(2rem,5.5vw,4rem);
  line-height:.95; color:#fff; letter-spacing:.02em; margin-bottom:.5rem;
}
.rl-edp-short-desc{
  font-size:.95rem; color:rgba(255,255,255,.75); line-height:1.6;
  margin:0 0 1rem; max-width:600px; font-weight:400;
}
.rl-edp-meta{
  display:flex; flex-wrap:wrap; gap:.4rem 1.5rem;
  font-size:.84rem; color:rgba(255,255,255,.7); margin-bottom:1.5rem;
}
.rl-meta-item{ display:flex; align-items:center; gap:5px; }
.rl-edp-hero-btns{ display:flex; gap:.75rem; flex-wrap:wrap; }

/* Stat bar — white strip below hero */
.rl-edp-stat-bar{
  background:#fff; border-bottom:1px solid var(--rl-border);
  box-shadow:0 1px 4px rgba(0,0,0,.05);
}
.rl-edp-stat-bar-inner{
  display:flex; align-items:stretch;
  max-width:1200px; margin:0 auto; padding:0 3rem;
}
.rl-stat-bar-item{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:.85rem 1.5rem; gap:.1rem; min-width:80px;
}
.rl-stat-bar-val{
  font-family:var(--rl-font-d); font-size:1.4rem; color:var(--rl-text);
  line-height:1; letter-spacing:.02em;
}
.rl-stat-bar-lbl{
  font-size:.65rem; text-transform:uppercase; letter-spacing:.09em; color:var(--rl-muted);
}
.rl-stat-bar-sep{ width:1px; background:var(--rl-border); margin:.6rem 0; }

/* Body layout */
.rl-edp-body{ background:#fff; padding:2rem 3rem 4rem; }
.rl-edp-layout{
  display:grid; grid-template-columns:1fr 300px;
  gap:2rem; align-items:start; max-width:1200px; margin:0 auto;
}

/* Rich text content from wp_editor */
.rl-rich-content{ font-size:.9rem; color:var(--rl-text2); line-height:1.85; }
.rl-rich-content p{ margin:0 0 .9rem; }
.rl-rich-content h2,.rl-rich-content h3,.rl-rich-content h4{
  font-family:var(--rl-font-h); font-weight:700; color:var(--rl-text);
  margin:1.2rem 0 .5rem;
}
.rl-rich-content h2{ font-size:1.2rem; }
.rl-rich-content h3{ font-size:1rem; }
.rl-rich-content ul,.rl-rich-content ol{
  padding-left:1.4rem; margin:0 0 .9rem; color:var(--rl-text2);
}
.rl-rich-content li{ margin-bottom:.3rem; font-size:.9rem; line-height:1.7; }
.rl-rich-content strong{ color:var(--rl-text); }
.rl-rich-content a{ color:var(--rl-red); }

/* Rules sidebar card */
.rl-side-card-rules{ border-top:3px solid var(--rl-red); }
.rl-rules-content{ font-size:.82rem; color:var(--rl-text2); line-height:1.75; }
.rl-rules-content h3{ font-family:var(--rl-font-h); font-weight:700; font-size:.85rem; color:var(--rl-text); margin:1rem 0 .35rem; text-transform:uppercase; letter-spacing:.04em; }
.rl-rules-content ul{ padding-left:1.1rem; margin:0 0 .75rem; }
.rl-rules-content li{ margin-bottom:.3rem; }
.rl-rules-content p{ margin:0 0 .6rem; }

/* Registration section */
.rl-register-cta-box{
  display:flex; align-items:center; justify-content:space-between;
  gap:1.5rem; flex-wrap:wrap;
  background:var(--rl-red-light); border:1.5px solid var(--rl-red-mid);
  border-radius:var(--rl-radius-lg); padding:1.5rem 1.75rem; margin-bottom:1.25rem;
}
.rl-register-cta-title{
  font-family:var(--rl-font-h); font-weight:700; font-size:1.1rem;
  color:var(--rl-text); margin-bottom:.25rem;
}
.rl-register-cta-sub{ font-size:.85rem; color:var(--rl-muted); }
.rl-register-form-wrap{
  background:#fff; border:1px solid var(--rl-border);
  border-radius:var(--rl-radius-lg); padding:1.5rem;
}
.rl-side-card-register{ border-top:3px solid var(--rl-red); }
.rl-register-side-box{ text-align:center; }
.rl-register-side-title{ font-family:var(--rl-font-h); font-weight:700; font-size:.95rem; color:var(--rl-text); margin-bottom:.3rem; }
.rl-register-side-sub{ font-size:.78rem; color:var(--rl-muted); }

/* Drivers table in EDP */
.rl-drivers-table td,.rl-drivers-table th{ padding:.7rem .9rem; }
.rl-th-num,.rl-td-num{ width:56px; text-align:center; }
.rl-td-num{ font-family:var(--rl-font-d); font-size:1.4rem; color:var(--rl-red); letter-spacing:.02em; text-align:center; }
.rl-driver-cell{ display:flex; align-items:center; gap:.75rem; }
.rl-driver-cell-photo{ width:36px; height:36px; border-radius:50%; object-fit:cover; border:2px solid var(--rl-border); flex-shrink:0; }
.rl-driver-cell-avatar{
  width:36px; height:36px; border-radius:50%; flex-shrink:0;
  background:var(--rl-surface3); border:2px solid var(--rl-border);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--rl-font-h); font-weight:700; color:var(--rl-muted); font-size:.95rem;
}
.rl-driver-cell-name{ font-family:var(--rl-font-h); font-weight:700; font-size:.92rem; color:var(--rl-text); text-decoration:none !important; }
.rl-driver-cell-name:hover{ color:var(--rl-red); }
.rl-driver-cell-nat{ font-size:.72rem; color:var(--rl-muted); }
.rl-td-car{ font-size:.82rem; color:var(--rl-text2); }
.rl-td-cat{ font-size:.78rem; color:var(--rl-muted); }
.rl-th-pts,.rl-td-pts{ text-align:right; }
.rl-pts-val{ font-family:var(--rl-font-d); font-size:1.2rem; color:var(--rl-text); }
.rl-pts-na{ color:var(--rl-muted2); font-size:.85rem; }
.rl-pts-prev{ display:block; font-size:.7rem; color:var(--rl-muted); font-style:italic; }

/* Top 3 sidebar */
.rl-top3-list{ display:flex; flex-direction:column; gap:.55rem; }
.rl-top3-row{ display:flex; align-items:center; gap:.75rem; padding:.6rem .75rem; background:var(--rl-surface2); border-radius:var(--rl-radius); border-left:3px solid var(--rl-border); }
.rl-top3-pos-1{ border-left-color:var(--rl-gold); }
.rl-top3-pos-2{ border-left-color:var(--rl-silver); }
.rl-top3-pos-3{ border-left-color:var(--rl-bronze); }
.rl-top3-medal{ font-size:1.2rem; flex-shrink:0; }
.rl-top3-info{ flex:1; min-width:0; }
.rl-top3-name{ font-family:var(--rl-font-h); font-weight:700; font-size:.88rem; color:var(--rl-text); text-decoration:none !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block; }
.rl-top3-name:hover{ color:var(--rl-red); }
.rl-top3-team{ font-size:.72rem; color:var(--rl-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rl-top3-time{ font-family:var(--rl-font-h); font-weight:700; font-size:.78rem; color:var(--rl-text2); white-space:nowrap; flex-shrink:0; }

/* ═══════════════════════════════════════
   LEADERBOARD
═══════════════════════════════════════ */
.rl-leaderboard{}
.rl-lb-empty{ text-align:center; padding:3rem; color:var(--rl-muted); }
.rl-lb-empty-icon{ font-size:2.5rem; display:block; margin-bottom:.75rem; }
.rl-lb-table-wrap{ overflow-x:auto; border-radius:var(--rl-radius-lg); border:1px solid var(--rl-border); }
.rl-lb-table{ width:100%; border-collapse:collapse; }
.rl-lb-table thead{ background:var(--rl-surface2); }
.rl-lb-table thead th{
  font-family:var(--rl-font-h); font-weight:700; font-size:.68rem;
  letter-spacing:.1em; text-transform:uppercase; color:var(--rl-muted);
  padding:.65rem .9rem; border-bottom:1.5px solid var(--rl-border); text-align:left; white-space:nowrap;
}
.rl-lb-table tbody tr{ border-bottom:1px solid rgba(0,0,0,.05); transition:background .12s; }
.rl-lb-table tbody tr:hover{ background:rgba(230,60,30,.03); }
.rl-lb-table tbody tr:last-child{ border-bottom:none; }
.rl-lb-table tbody tr.rl-lb-leader{ background:rgba(212,160,23,.04); }
.rl-lb-table tbody tr.rl-lb-status-dnf,
.rl-lb-table tbody tr.rl-lb-status-dsq{ opacity:.6; }
.rl-lb-table td{ padding:.7rem .9rem; vertical-align:middle; }
.rl-lbh-pos{ width:52px; text-align:center; }
.rl-lbh-driver{ min-width:200px; }
.rl-lbh-vehicle,.rl-lbh-cat{ font-size:.82rem; color:var(--rl-text2); }
.rl-lbh-time{ white-space:nowrap; }
.rl-lbh-gap,.rl-lbh-status{ white-space:nowrap; }

/* Leaderboard driver cell */
.rl-lb-driver-cell{ display:flex; align-items:center; gap:.7rem; }
.rl-lb-avatar{
  width:34px; height:34px; border-radius:50%; object-fit:cover;
  border:1.5px solid var(--rl-border); flex-shrink:0;
}
.rl-lb-avatar-placeholder{
  width:34px; height:34px; border-radius:50%; flex-shrink:0;
  background:var(--rl-surface3); border:1.5px solid var(--rl-border);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--rl-font-h); font-weight:700; color:var(--rl-muted); font-size:.9rem;
}
.rl-lb-driver-info{ display:flex; flex-direction:column; gap:.1rem; }
.rl-lb-driver-name{
  font-family:var(--rl-font-h); font-weight:700; font-size:.9rem; color:var(--rl-text);
  text-decoration:none !important;
}
.rl-lb-driver-name:hover{ color:var(--rl-red); }
.rl-lb-team{ font-size:.72rem; color:var(--rl-muted); }
.rl-lb-bib{
  margin-left:auto; font-family:var(--rl-font-h); font-weight:700; font-size:.78rem;
  color:var(--rl-muted); background:var(--rl-surface2);
  padding:1px 7px; border-radius:4px; border:1px solid var(--rl-border);
}
.rl-time-val{ font-family:var(--rl-font-h); font-weight:700; font-size:.95rem; color:var(--rl-text); }
.rl-penalty-note{ display:block; font-size:.7rem; color:var(--rl-orange); }
.rl-gap{ font-family:var(--rl-font-h); font-weight:600; font-size:.85rem; color:var(--rl-muted); }
.rl-gap-leader{ color:var(--rl-red); font-weight:700; }
.rl-lb-footer{
  display:flex; justify-content:flex-end;
  padding:.5rem 1rem; font-size:.72rem; color:var(--rl-muted);
  background:var(--rl-surface2); border-top:1px solid var(--rl-border);
  border-radius:0 0 var(--rl-radius-lg) var(--rl-radius-lg);
}

/* ═══════════════════════════════════════
   DRIVER PROFILE
═══════════════════════════════════════ */

/* Hero */
.rl-drv-hero{
  position:relative; overflow:hidden;
  background:
    linear-gradient(105deg, rgba(8,4,2,.88) 0%, rgba(8,4,2,.75) 50%, rgba(8,4,2,.4) 100%),
    url('https://images.unsplash.com/photo-1541447271487-09612b3f49f7?w=1400&q=60&auto=format') center/cover no-repeat;
  padding:0 3rem 3rem;
  min-height:400px; display:flex; align-items:flex-end;
}
.rl-drv-hero-number-bg{
  position:absolute; right:-20px; top:-40px;
  font-family:var(--rl-font-d); font-size:min(35vw,480px);
  color:rgba(230,60,30,.07); line-height:1;
  pointer-events:none; user-select:none; z-index:0;
}
.rl-drv-hero-inner{
  position:relative; z-index:2; width:100%; max-width:1100px;
  display:grid; grid-template-columns:1fr 320px;
  gap:2rem; align-items:flex-end;
}
.rl-drv-hero-left{}
.rl-drv-hero .rl-breadcrumb{ margin-bottom:1.5rem; }
.rl-drv-number{
  font-family:var(--rl-font-d); font-size:4.5rem; line-height:1;
  color:var(--rl-red); letter-spacing:.02em;
}
.rl-drv-name{
  font-family:var(--rl-font-d); font-size:clamp(2.8rem,6vw,5rem);
  line-height:.95; color:#fff; letter-spacing:.02em; margin-bottom:.85rem;
}
.rl-drv-tags{ display:flex; flex-wrap:wrap; gap:.5rem; }
.rl-drv-tag{
  font-family:var(--rl-font-h); font-weight:600; font-size:.75rem; letter-spacing:.05em;
  padding:4px 12px; border-radius:99px;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.15); color:rgba(255,255,255,.75);
}
.rl-drv-tag-red{ background:var(--rl-red); border-color:var(--rl-red); color:#fff; }
.rl-drv-hero-photo{
  display:flex; justify-content:flex-end; align-items:flex-end;
}
.rl-drv-hero-photo img{
  width:280px; height:320px; object-fit:cover; object-position:top;
  border-radius:var(--rl-radius-lg) var(--rl-radius-lg) 0 0;
  border:2px solid rgba(255,255,255,.1);
}
.rl-drv-photo-placeholder{
  width:280px; height:320px; border-radius:var(--rl-radius-lg) var(--rl-radius-lg) 0 0;
  background:rgba(255,255,255,.08);
  border:2px solid rgba(255,255,255,.15);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--rl-font-d); font-size:7rem; color:rgba(255,255,255,.25);
  backdrop-filter:blur(4px);
}

/* Stats strip */
.rl-drv-stats-strip{
  display:grid; grid-template-columns:repeat(5,1fr);
  gap:1px; background:var(--rl-border);
  border-bottom:2px solid var(--rl-red);
}
.rl-drv-stat{
  background:var(--rl-white); padding:1.1rem 1rem; text-align:center;
}
.rl-drv-stat-val{
  display:block; font-family:var(--rl-font-d); font-size:2rem; color:var(--rl-red); line-height:1; margin-bottom:.2rem;
}
.rl-drv-stat-time{ font-size:1.1rem; }
.rl-drv-stat-lbl{
  display:block; font-size:.65rem; text-transform:uppercase;
  letter-spacing:.09em; color:var(--rl-muted);
}

/* Driver body */
.rl-drv-body{ padding:2.5rem 3rem 4rem; }
.rl-drv-grid{ display:grid; grid-template-columns:1fr 280px; gap:2rem; align-items:start; }
.rl-drv-bio{ font-size:.9rem; color:var(--rl-text2); line-height:1.85; }

/* History table */
.rl-history-table td,.rl-history-table th{ padding:.65rem .85rem; }
.rl-history-ev-link{ font-family:var(--rl-font-h); font-weight:700; font-size:.88rem; color:var(--rl-text); text-decoration:none !important; }
.rl-history-ev-link:hover{ color:var(--rl-red); }
.rl-history-date,.rl-history-loc{ font-size:.78rem; color:var(--rl-muted); }
.rl-history-time{ font-family:var(--rl-font-h); font-weight:600; font-size:.88rem; }

/* Best time card */
.rl-best-time-card{
  margin-top:.75rem; background:var(--rl-surface2); border-radius:var(--rl-radius);
  padding:.9rem 1rem; border-left:3px solid var(--rl-red);
}
.rl-best-time-label{ font-size:.68rem; text-transform:uppercase; letter-spacing:.09em; color:var(--rl-muted); margin-bottom:.25rem; }
.rl-best-time-val{ font-family:var(--rl-font-d); font-size:1.8rem; color:var(--rl-text); line-height:1; }

/* Recent results sidebar */
.rl-recent-list{ display:flex; flex-direction:column; gap:.5rem; }
.rl-recent-row{
  display:flex; align-items:center; gap:.75rem;
  padding:.6rem .75rem; background:var(--rl-surface2); border-radius:var(--rl-radius);
  text-decoration:none !important; color:inherit;
  transition:background .15s;
}
.rl-recent-row:hover{ background:var(--rl-red-light); }
.rl-recent-info{ flex:1; }
.rl-recent-name{ font-family:var(--rl-font-h); font-weight:700; font-size:.82rem; color:var(--rl-text); }
.rl-recent-time{ font-size:.72rem; color:var(--rl-muted); }

/* ═══════════════════════════════════════
   DRIVER ROSTER GRID
═══════════════════════════════════════ */
.rl-roster-grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:1.25rem;
}
.rl-roster-card{
  background:var(--rl-white); border:1px solid var(--rl-border);
  border-radius:var(--rl-radius-lg); overflow:hidden;
  box-shadow:var(--rl-shadow); transition:transform .2s, border-color .2s;
  text-decoration:none !important; color:inherit; display:block;
}
.rl-roster-card:hover{ transform:translateY(-3px); border-color:var(--rl-red); }
.rl-roster-photo{ position:relative; height:180px; background:var(--rl-surface2); }
.rl-roster-photo img{ width:100%; height:100%; object-fit:cover; object-position:top; }
.rl-roster-avatar{
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  font-family:var(--rl-font-d); font-size:4rem; color:var(--rl-muted2);
}
.rl-roster-num{
  position:absolute; top:8px; right:8px;
  font-family:var(--rl-font-h); font-weight:700; font-size:.78rem;
  background:var(--rl-red); color:#fff; padding:2px 8px; border-radius:4px;
}
.rl-roster-info{ padding:.85rem 1rem 1rem; display:flex; flex-direction:column; gap:.2rem; }
.rl-roster-name{ font-family:var(--rl-font-h); font-weight:700; font-size:.95rem; color:var(--rl-text); }
.rl-roster-team,.rl-roster-vehicle,.rl-roster-nat{ font-size:.75rem; color:var(--rl-muted); }

/* ═══════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════ */
@media (max-width:1024px){
  .rl-edp-layout{ grid-template-columns:1fr; }
  .rl-drv-grid{ grid-template-columns:1fr; }
  .rl-drv-stats-strip{ grid-template-columns:repeat(3,1fr); }
  .rl-edp-stat-bar-inner{ padding:0 1.5rem; flex-wrap:wrap; }
}
@media (max-width:768px){
  .rl-page-hero,
  .rl-edp-hero,
  .rl-drv-hero{ padding-left:1.25rem; padding-right:1.25rem; padding-bottom:2rem; }
  .rl-tabs-wrap{ padding:0; overflow-x:auto; }
  .rl-tabs{ padding:0 1rem; }
  .rl-events-body{ padding:1.5rem 1.25rem 3rem; }
  .rl-edp-body{ padding:1.5rem 1.25rem 3rem; }
  .rl-drv-body{ padding:1.5rem 1.25rem 3rem; }
  .rl-drv-hero-inner{ grid-template-columns:1fr; }
  .rl-drv-hero-photo{ display:none; }
  .rl-drv-stats-strip{ grid-template-columns:repeat(2,1fr); }
  .rl-past-row{ grid-template-columns:70px 1fr auto; }
  .rl-past-row .rl-status-badge{ display:none; }
  .rl-lbh-vehicle,.rl-lbh-cat{ display:none; }
  .rl-card-grid{ grid-template-columns:1fr; }
  .rl-roster-grid{ grid-template-columns:repeat(2,1fr); }
  .rl-edp-stat-bar-inner{ padding:0 1rem; }
  .rl-stat-bar-item{ padding:.65rem .75rem; }
  .rl-register-cta-box{ flex-direction:column; align-items:flex-start; }
}
@media (max-width:480px){
  .rl-drv-stats-strip{ grid-template-columns:repeat(2,1fr); }
  .rl-tabs .rl-tab{ padding:.8rem .9rem; font-size:.78rem; }
  .rl-stat-bar-sep{ display:none; }
}

/* ═══════════════════════════════════════
   NEWS / ARTICLES MODULE
═══════════════════════════════════════ */

/* News hero — different image */
.rl-news-hero{
  background:
    linear-gradient(135deg, rgba(10,5,3,.82) 0%, rgba(40,12,4,.78) 100%),
    url('https://images.unsplash.com/photo-1504711434969-e33886168f5c?w=1200&q=60&auto=format') center/cover no-repeat !important;
}

/* Category badge */
.rl-news-cat-badge{
  display:inline-block;
  font-family:var(--rl-font-h); font-weight:700; font-size:.7rem;
  letter-spacing:.09em; text-transform:uppercase;
  padding:3px 10px; border-radius:4px;
  background:var(--rl-red); color:#fff;
}
.rl-news-cat-badge-overlay{
  position:absolute; top:10px; left:10px;
}
.rl-news-cat-badge-lg{
  font-size:.8rem; padding:4px 14px; margin-bottom:.75rem; display:inline-block;
}
.rl-news-cat-badge-grey{
  background:var(--rl-surface3); color:var(--rl-muted);
}

/* Image placeholder - motorsport default */
.rl-news-img-placeholder{
  width:100%; height:100%;
  background:
    linear-gradient(135deg, rgba(15,8,4,.7) 0%, rgba(30,10,4,.65) 100%),
    url('https://images.unsplash.com/photo-1504711434969-e33886168f5c?w=800&q=55&auto=format') center/cover no-repeat;
}

/* News body wrapper */
.rl-news-body{ padding:2rem 3rem 4rem; background:#fff; }

/* ── FEATURED ARTICLE ── */
.rl-news-featured{
  display:grid; grid-template-columns:1fr 1fr;
  border-radius:var(--rl-radius-lg); overflow:hidden;
  border:1px solid var(--rl-border); box-shadow:var(--rl-shadow-lg);
  text-decoration:none !important; color:inherit;
  transition:box-shadow .2s, transform .2s;
  margin-bottom:2rem; min-height:320px;
  background:var(--rl-surface);
}
.rl-news-featured:hover{ transform:translateY(-2px); box-shadow:0 12px 40px rgba(0,0,0,.14); }
.rl-news-featured-img{
  position:relative; overflow:hidden; min-height:280px;
}
.rl-news-featured-img img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .4s;
}
.rl-news-featured:hover .rl-news-featured-img img{ transform:scale(1.04); }
.rl-news-featured-overlay{
  position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(0,0,0,.25) 0%, transparent 60%);
}
.rl-news-featured-body{
  padding:2rem 2.25rem;
  display:flex; flex-direction:column; justify-content:center; gap:.75rem;
}
.rl-news-featured-meta{
  display:flex; flex-wrap:wrap; align-items:center; gap:.6rem;
}
.rl-news-date{ font-size:.75rem; color:var(--rl-muted); }
.rl-news-readtime{ font-size:.75rem; color:var(--rl-muted); }
.rl-news-featured-title{
  font-family:var(--rl-font-d); font-size:clamp(1.5rem,3vw,2.2rem);
  line-height:1.05; color:var(--rl-text); letter-spacing:.02em;
  margin:0;
}
.rl-news-featured-excerpt{
  font-size:.88rem; color:var(--rl-text2); line-height:1.7; margin:0;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.rl-news-featured-author{
  display:flex; align-items:center; justify-content:space-between;
  border-top:1px solid var(--rl-border); padding-top:.75rem; margin-top:.25rem;
  font-size:.78rem; color:var(--rl-muted);
}
.rl-news-readmore{
  font-family:var(--rl-font-h); font-weight:700; font-size:.78rem;
  letter-spacing:.05em; text-transform:uppercase; color:var(--rl-red);
}

/* ── NEWS CARD GRID ── */
.rl-news-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(280px,1fr));
  gap:1.25rem;
}
.rl-news-card{
  background:var(--rl-white); border:1px solid var(--rl-border);
  border-radius:var(--rl-radius-lg); overflow:hidden;
  box-shadow:var(--rl-shadow); transition:transform .2s, box-shadow .2s, border-color .2s;
  display:block; text-decoration:none !important; color:inherit;
}
.rl-news-card:hover{ transform:translateY(-3px); box-shadow:var(--rl-shadow-lg); border-color:var(--rl-red); }
.rl-news-card-img{
  height:180px; position:relative; overflow:hidden;
}
.rl-news-card-img img{ width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.rl-news-card:hover .rl-news-card-img img{ transform:scale(1.04); }
.rl-news-card-placeholder{ height:180px; }
.rl-news-card-body{ padding:1rem 1.25rem 1.25rem; }
.rl-news-card-meta{
  display:flex; align-items:center; gap:.6rem;
  font-size:.72rem; color:var(--rl-muted); margin-bottom:.5rem;
}
.rl-news-card-title{
  font-family:var(--rl-font-h); font-weight:700; font-size:1rem;
  color:var(--rl-text); line-height:1.3; margin-bottom:.4rem;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.rl-news-card-excerpt{
  font-size:.8rem; color:var(--rl-muted); line-height:1.6; margin-bottom:.75rem;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.rl-news-card-footer{
  display:flex; align-items:center; justify-content:space-between;
  border-top:1px solid var(--rl-border); padding-top:.65rem;
}
.rl-news-card-author{ font-size:.72rem; color:var(--rl-muted); }
.rl-news-card-cta{
  font-family:var(--rl-font-h); font-weight:700; font-size:.75rem;
  letter-spacing:.05em; text-transform:uppercase; color:var(--rl-red);
}

/* ═══════════════════════════════════════
   ARTICLE DETAIL PAGE
═══════════════════════════════════════ */

/* Article hero */
.rl-article-hero{
  position:relative; min-height:420px;
  display:flex; align-items:flex-end;
  padding:0 3rem 3rem;
  background:
    linear-gradient(to bottom, rgba(0,0,0,.15) 0%, rgba(0,0,0,.82) 100%),
    url('https://images.unsplash.com/photo-1504711434969-e33886168f5c?w=1400&q=60&auto=format') center/cover no-repeat;
  overflow:hidden;
}
.rl-article-has-img{
  /* background-image set inline on element */
  background-size:cover !important;
  background-position:center !important;
}
.rl-article-hero-inner{ position:relative; z-index:2; max-width:800px; width:100%; }

/* Breadcrumb on dark bg */
.rl-breadcrumb-light{ margin-bottom:1.25rem; }
.rl-breadcrumb-light a{ color:rgba(255,255,255,.65); }
.rl-breadcrumb-light a:hover{ color:#fff; }
.rl-breadcrumb-light span{ color:rgba(255,255,255,.35); }

.rl-article-title{
  font-family:var(--rl-font-d); font-size:clamp(1.9rem,5vw,3.5rem);
  line-height:.97; color:#fff; letter-spacing:.02em;
  margin:.6rem 0 1rem;
}
.rl-article-meta{
  display:flex; flex-wrap:wrap; align-items:center; gap:.35rem .85rem;
  font-size:.82rem; color:rgba(255,255,255,.7); margin-bottom:1.25rem;
}
.rl-article-meta-item{ display:flex; align-items:center; gap:4px; }
.rl-article-meta-sep{ color:rgba(255,255,255,.3); }

/* Share bar on hero */
.rl-article-share{
  display:flex; align-items:center; gap:.5rem; flex-wrap:wrap;
}
.rl-share-label{ font-size:.75rem; color:rgba(255,255,255,.55); font-weight:600; }
.rl-share-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius:50%;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2);
  color:rgba(255,255,255,.8); text-decoration:none !important;
  transition:background .15s, color .15s;
}
.rl-share-btn:hover{ background:rgba(255,255,255,.25); color:#fff; }
.rl-share-wa:hover { background:#25D366; border-color:#25D366; }
.rl-share-x:hover  { background:#000; border-color:#000; }
.rl-share-ig:hover { background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); border-color:transparent; }

/* Article body */
.rl-article-body{ background:#fff; padding:2.5rem 3rem 4rem; }
.rl-article-layout{
  display:grid; grid-template-columns:1fr 280px;
  gap:2.5rem; align-items:start; max-width:1100px; margin:0 auto;
}

/* Full article image */
.rl-article-img-wrap{
  border-radius:var(--rl-radius-lg); overflow:hidden;
  margin-bottom:1.75rem; border:1px solid var(--rl-border);
}
.rl-article-full-img{ width:100%; max-height:420px; object-fit:cover; display:block; }

/* Video embed */
.rl-article-video-wrap{
  background:var(--rl-surface2); border:1px solid var(--rl-border);
  border-radius:var(--rl-radius-lg); padding:1.25rem;
  margin-bottom:1.75rem;
}
.rl-article-video-label{
  font-family:var(--rl-font-h); font-weight:700; font-size:.78rem;
  letter-spacing:.07em; text-transform:uppercase; color:var(--rl-red);
  margin-bottom:.85rem;
}
.rl-article-video-player{ position:relative; padding-bottom:56.25%; border-radius:var(--rl-radius); overflow:hidden; }
.rl-article-video-player iframe{ position:absolute; inset:0; width:100%; height:100%; border:none; }

/* Lead / excerpt */
.rl-article-lead{
  font-size:1.05rem; font-weight:600; line-height:1.75;
  color:var(--rl-text); background:var(--rl-surface2);
  border-left:4px solid var(--rl-red); padding:1rem 1.5rem;
  border-radius:0 var(--rl-radius) var(--rl-radius) 0;
  margin-bottom:1.75rem;
}

/* Main article content */
.rl-article-content{ font-size:.92rem; color:var(--rl-text2); line-height:1.85; }
.rl-article-content p{ margin:0 0 1rem; }
.rl-article-content h2{
  font-family:var(--rl-font-h); font-size:1.3rem; font-weight:700;
  color:var(--rl-text); margin:1.75rem 0 .6rem;
  padding-bottom:.5rem; border-bottom:2px solid var(--rl-red);
}
.rl-article-content h3{
  font-family:var(--rl-font-h); font-size:1.05rem; font-weight:700;
  color:var(--rl-text); margin:1.4rem 0 .5rem;
}
.rl-article-content ul, .rl-article-content ol{
  padding-left:1.4rem; margin:0 0 1rem;
}
.rl-article-content li{ margin-bottom:.35rem; }
.rl-article-content strong{ color:var(--rl-text); font-weight:700; }
.rl-article-content a{ color:var(--rl-red); }
.rl-article-content table{
  width:100%; border-collapse:collapse; margin:1rem 0;
  font-size:.85rem; border-radius:var(--rl-radius); overflow:hidden;
  border:1px solid var(--rl-border);
}
.rl-article-content th{
  background:var(--rl-surface2); font-family:var(--rl-font-h);
  font-weight:700; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--rl-muted); padding:.55rem .85rem; text-align:left;
  border-bottom:1px solid var(--rl-border);
}
.rl-article-content td{
  padding:.55rem .85rem; border-bottom:1px solid var(--rl-border);
  vertical-align:middle;
}
.rl-article-content tr:last-child td{ border-bottom:none; }

/* Article footer tags & share */
.rl-article-footer{
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:1rem;
  border-top:1px solid var(--rl-border); padding-top:1.25rem; margin-top:2rem;
}
.rl-article-tags{ display:flex; gap:.5rem; flex-wrap:wrap; }
.rl-article-share-footer{
  display:flex; align-items:center; gap:.6rem; flex-wrap:wrap;
}
.rl-article-share-footer .rl-share-btn{
  background:var(--rl-surface2); border-color:var(--rl-border); color:var(--rl-muted);
  width:34px; height:34px;
}
.rl-article-share-footer .rl-share-btn:hover{ color:#fff; }
.rl-article-share-footer .rl-share-label{ font-size:.75rem; color:var(--rl-muted); font-weight:600; }

/* Related articles */
.rl-article-related{ margin-top:2.5rem; }
.rl-news-related-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1rem;
}
.rl-news-related-card{
  border:1px solid var(--rl-border); border-radius:var(--rl-radius-lg);
  overflow:hidden; text-decoration:none !important; color:inherit;
  transition:border-color .2s, box-shadow .2s;
  background:var(--rl-white);
}
.rl-news-related-card:hover{ border-color:var(--rl-red); box-shadow:var(--rl-shadow); }
.rl-news-related-img{ height:110px; overflow:hidden; }
.rl-news-related-img img{ width:100%; height:100%; object-fit:cover; }
.rl-news-related-body{ padding:.75rem; }
.rl-news-related-title{
  font-family:var(--rl-font-h); font-weight:700; font-size:.82rem;
  color:var(--rl-text); line-height:1.3; margin:.35rem 0 .25rem;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.rl-news-related-date{ font-size:.7rem; color:var(--rl-muted); }

/* Sidebar */
.rl-author-card{ display:flex; align-items:center; gap:.85rem; }
.rl-author-avatar{
  width:44px; height:44px; border-radius:50%; flex-shrink:0;
  background:var(--rl-red); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--rl-font-d); font-size:1.4rem;
}
.rl-author-name{ font-weight:700; font-size:.9rem; color:var(--rl-text); }
.rl-author-role{ font-size:.75rem; color:var(--rl-muted); }

.rl-article-event-link{
  display:flex; align-items:center; gap:.75rem;
  padding:.75rem; background:var(--rl-surface2);
  border-radius:var(--rl-radius); text-decoration:none !important; color:inherit;
  border:1px solid var(--rl-border); transition:border-color .2s, background .2s;
}
.rl-article-event-link:hover{ border-color:var(--rl-red); background:var(--rl-red-light); }
.rl-article-event-icon{ font-size:1.5rem; flex-shrink:0; }
.rl-article-event-name{ font-family:var(--rl-font-h); font-weight:700; font-size:.9rem; color:var(--rl-text); }
.rl-article-event-cta{ font-size:.72rem; color:var(--rl-red); font-family:var(--rl-font-h); font-weight:700; }

/* Sidebar share buttons */
.rl-share-side-btn{
  display:flex; align-items:center; gap:.6rem;
  padding:.55rem 1rem; border-radius:var(--rl-radius);
  font-size:.8rem; font-weight:600; font-family:var(--rl-font-h);
  text-decoration:none !important;
  border:1px solid var(--rl-border); color:var(--rl-text2);
  transition:all .15s;
}
.rl-share-side-wa:hover  { background:#25D366; border-color:#25D366; color:#fff; }
.rl-share-side-x:hover   { background:#000; border-color:#000; color:#fff; }
.rl-share-side-ig:hover  { background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366); border-color:transparent; color:#fff; }

/* ── RESPONSIVE ── */
@media (max-width:900px){
  .rl-news-featured{ grid-template-columns:1fr; }
  .rl-news-featured-img{ min-height:220px; }
  .rl-article-layout{ grid-template-columns:1fr; }
  .rl-news-related-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:768px){
  .rl-news-body{ padding:1.5rem 1.25rem 3rem; }
  .rl-article-body{ padding:1.5rem 1.25rem 3rem; }
  .rl-article-hero{ padding-left:1.25rem; padding-right:1.25rem; padding-bottom:2rem; min-height:300px; }
  .rl-news-related-grid{ grid-template-columns:1fr; }
  .rl-article-footer{ flex-direction:column; align-items:flex-start; }
}

/* ═══════════════════════════════════════
   DRIVER PROFILE — NEW COMPONENTS
═══════════════════════════════════════ */

/* Achievement banner */
.rl-drv-achievement{
  display:flex; align-items:flex-start; gap:1rem;
  background:linear-gradient(135deg, #FFF7ED 0%, #FFFBF5 100%);
  border:1.5px solid #FED7AA; border-radius:var(--rl-radius-lg);
  padding:1.25rem 1.5rem; margin-bottom:1.5rem;
}
.rl-drv-achievement-icon{ font-size:2rem; flex-shrink:0; line-height:1; }
.rl-drv-achievement-label{
  font-family:var(--rl-font-h); font-weight:700; font-size:.72rem;
  letter-spacing:.09em; text-transform:uppercase; color:#D97706;
  margin-bottom:.3rem;
}
.rl-drv-achievement-text{
  font-size:.9rem; color:#111827; font-weight:500; line-height:1.6;
}

/* Driver message / quote */
.rl-drv-message{
  position:relative;
  background:var(--rl-surface2); border-left:4px solid var(--rl-red);
  border-radius:0 var(--rl-radius-lg) var(--rl-radius-lg) 0;
  padding:1.5rem 1.75rem 1.25rem; margin-bottom:1.5rem;
  overflow:hidden;
}
.rl-drv-message-quote{
  position:absolute; top:-.5rem; left:1rem;
  font-family:Georgia, serif; font-size:5rem; color:var(--rl-red);
  opacity:.12; line-height:1; pointer-events:none; user-select:none;
}
.rl-drv-message-text{
  font-family:var(--rl-font-b); font-size:.95rem; font-style:italic;
  color:var(--rl-text2); line-height:1.8; margin:0 0 .75rem;
  position:relative; z-index:1;
}
.rl-drv-message-author{
  font-family:var(--rl-font-h); font-weight:700; font-size:.82rem;
  color:var(--rl-red); letter-spacing:.04em;
}

/* ── LEADERBOARD CATEGORY TABLES ── */
.rl-lb-category-block { margin-bottom:2rem; }
.rl-lb-category-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:.6rem 1rem;
  background:var(--rl-text); border-radius:var(--rl-radius) var(--rl-radius) 0 0;
}
.rl-lb-category-title{
  font-family:var(--rl-font-d); font-size:1.15rem; letter-spacing:.06em;
  text-transform:uppercase; color:#fff;
}
.rl-lb-category-count{
  font-family:var(--rl-font-h); font-size:.75rem; font-weight:600;
  color:rgba(255,255,255,.55); letter-spacing:.05em; text-transform:uppercase;
}
.rl-lb-category-block .rl-lb-table-wrap{
  border-radius:0 0 var(--rl-radius-lg) var(--rl-radius-lg);
  border-top:none;
}
/* Sortable headers */
.rl-sortable-col{
  cursor:pointer; user-select:none; white-space:nowrap;
}
.rl-sortable-col:hover{ color:var(--rl-red) !important; }
/* Penalty badge */
.rl-penalty-badge{
  display:inline-flex; align-items:center; gap:2px;
  font-family:var(--rl-font-h); font-weight:700; font-size:.82rem;
  color:var(--rl-orange); background:var(--rl-orange-bg);
  padding:2px 7px; border-radius:4px;
}
.rl-lbh-num{ width:44px; text-align:center; }
.rl-lbh-lap,.rl-lbh-total{ white-space:nowrap; }
.rl-lbh-pen{ text-align:center; width:70px; }

/* ═══════════════════════════════════════
   DRIVER CARDS (Roster Page)
═══════════════════════════════════════ */
.rl-drivers-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:1.25rem;
}
.rl-driver-card{
  background:var(--rl-white); border:1px solid var(--rl-border);
  border-radius:var(--rl-radius-lg); overflow:hidden;
  box-shadow:var(--rl-shadow);
  transition:transform .2s, box-shadow .2s, border-color .2s;
  display:flex; flex-direction:column;
  text-decoration:none !important; color:inherit;
  position:relative;
}
.rl-driver-card:hover{ transform:translateY(-4px); box-shadow:var(--rl-shadow-lg); border-color:var(--rl-red); }

/* Rank badge */
.rl-driver-card-rank{
  position:absolute; top:10px; right:10px; z-index:3;
  font-size:1.25rem; line-height:1;
  background:rgba(255,255,255,.9); backdrop-filter:blur(4px);
  border-radius:99px; padding:3px 8px;
  font-family:var(--rl-font-h); font-weight:700; font-size:.8rem;
  color:var(--rl-text);
  border:1px solid var(--rl-border);
}
.rl-driver-rank-1{ background:rgba(212,160,23,.9); color:#000; border-color:#D4A017; }
.rl-driver-rank-2{ background:rgba(140,156,168,.9); color:#000; border-color:#8C9CA8; }
.rl-driver-rank-3{ background:rgba(160,97,42,.9);  color:#fff; border-color:#A0612A; }

/* Photo area */
.rl-driver-card-photo{
  position:relative; height:200px; overflow:hidden;
  background:linear-gradient(135deg,#111 0%,#2a0e06 100%);
}
.rl-driver-card-photo img{
  width:100%; height:100%; object-fit:cover; object-position:top;
  transition:transform .3s;
}
.rl-driver-card:hover .rl-driver-card-photo img{ transform:scale(1.04); }
.rl-driver-card-avatar{
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  font-family:var(--rl-font-d); font-size:5rem; color:rgba(255,255,255,.15);
}
.rl-driver-card-num{
  position:absolute; bottom:8px; left:10px;
  font-family:var(--rl-font-d); font-size:1.6rem; color:rgba(255,255,255,.9);
  line-height:1; letter-spacing:.02em;
  text-shadow:0 2px 8px rgba(0,0,0,.5);
}

/* Body */
.rl-driver-card-body{
  padding:.9rem 1rem 1rem;
  display:flex; flex-direction:column; gap:.2rem; flex:1;
}
.rl-driver-card-name{
  font-family:var(--rl-font-h); font-weight:700; font-size:1rem;
  color:var(--rl-text); line-height:1.25;
}
.rl-driver-card-sub{ font-size:.75rem; color:var(--rl-muted); }
.rl-driver-card-prof{ font-size:.72rem; color:var(--rl-muted2); }
.rl-driver-card-points{
  margin-top:auto; padding-top:.6rem;
  display:flex; align-items:baseline; gap:3px;
  border-top:1px solid var(--rl-border);
}
.rl-driver-card-pts-val{
  font-family:var(--rl-font-d); font-size:1.6rem; color:var(--rl-red); line-height:1;
}
.rl-driver-card-pts-lbl{
  font-family:var(--rl-font-h); font-size:.72rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.07em; color:var(--rl-muted);
}

/* Driver thumbnail in leaderboard table */
.rl-lb-avatar{
  width:34px; height:34px; border-radius:50%; object-fit:cover; object-position:top;
  border:1.5px solid var(--rl-border); flex-shrink:0;
}

/* ═══════════════════════════════════════
   GALLERY GRID + LIGHTBOX
═══════════════════════════════════════ */
.rl-gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.6rem;
}
.rl-gallery-thumb{
  position:relative; aspect-ratio:1; overflow:hidden;
  border-radius:var(--rl-radius); cursor:pointer;
  border:none; padding:0; background:var(--rl-surface2);
  transition:opacity .2s;
}
.rl-gallery-thumb:hover{ opacity:.88; }
.rl-gallery-thumb img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .3s;
}
.rl-gallery-thumb:hover img{ transform:scale(1.05); }
.rl-gallery-more{
  position:absolute; inset:0;
  background:rgba(0,0,0,.55);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--rl-font-d); font-size:1.5rem; color:#fff;
  letter-spacing:.02em;
}

/* Lightbox */
.rl-lightbox{
  position:fixed; inset:0; z-index:99999;
  background:rgba(0,0,0,.92);
  display:none; align-items:center; justify-content:center;
  cursor:pointer;
}
.rl-lightbox.active{ display:flex; animation:rl-lb-in .2s ease; }
@keyframes rl-lb-in{ from{opacity:0} to{opacity:1} }
.rl-lightbox-inner{
  position:relative; display:flex; align-items:center; justify-content:center;
  width:100%; height:100%; cursor:default;
}
.rl-lightbox-img-wrap{
  max-width:90vw; max-height:90vh;
  display:flex; align-items:center; justify-content:center;
}
.rl-lightbox-img-wrap img{
  max-width:100%; max-height:90vh;
  object-fit:contain; border-radius:var(--rl-radius);
  box-shadow:0 20px 60px rgba(0,0,0,.6);
  animation:rl-img-in .2s ease;
}
@keyframes rl-img-in{ from{transform:scale(.95);opacity:0} to{transform:scale(1);opacity:1} }
.rl-lightbox-close{
  position:absolute; top:1.25rem; right:1.25rem;
  width:40px; height:40px; border-radius:50%;
  background:rgba(255,255,255,.1); border:none; color:#fff;
  font-size:1.1rem; cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:background .15s; z-index:2;
}
.rl-lightbox-close:hover{ background:rgba(255,255,255,.25); }
.rl-lightbox-prev,
.rl-lightbox-next{
  position:absolute; top:50%; transform:translateY(-50%);
  width:48px; height:48px; border-radius:50%;
  background:rgba(255,255,255,.1); border:none; color:#fff;
  font-size:1.75rem; cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:background .15s; z-index:2; line-height:1;
}
.rl-lightbox-prev{ left:1.25rem; }
.rl-lightbox-next{ right:1.25rem; }
.rl-lightbox-prev:hover,
.rl-lightbox-next:hover{ background:rgba(255,255,255,.25); }
.rl-lightbox-counter{
  position:absolute; bottom:1.25rem; left:50%; transform:translateX(-50%);
  font-family:var(--rl-font-h); font-size:.82rem; font-weight:600;
  color:rgba(255,255,255,.7); letter-spacing:.05em;
}

/* Responsive */
@media (max-width:768px){
  .rl-drivers-card-grid{ grid-template-columns:repeat(2,1fr); }
  .rl-gallery-grid{ grid-template-columns:repeat(2,1fr); }
  .rl-lightbox-prev{ left:.5rem; }
  .rl-lightbox-next{ right:.5rem; }
}
@media (max-width:480px){
  .rl-drivers-card-grid{ grid-template-columns:1fr 1fr; }
}

/* ═══════════════════════════════════════
   DRIVER PROFILE — QUICK LINKS + PREV STATS
═══════════════════════════════════════ */

/* Quick Link buttons in sidebar */
.rl-drv-quicklink{
  display:flex; align-items:center; gap:.65rem;
  padding:.65rem .9rem; border-radius:var(--rl-radius);
  background:var(--rl-surface2); border:1px solid var(--rl-border);
  text-decoration:none !important; color:var(--rl-text);
  font-family:var(--rl-font-h); font-weight:700; font-size:.9rem;
  transition:background .15s, border-color .15s, color .15s;
}
.rl-drv-quicklink:hover{
  background:var(--rl-red-light); border-color:var(--rl-red); color:var(--rl-red);
  text-decoration:none;
}
.rl-drv-quicklink span:first-of-type{ flex:1; }
.rl-drv-quicklink-arrow{
  font-size:1.1rem; color:var(--rl-muted2);
  transition:color .15s, transform .15s;
}
.rl-drv-quicklink:hover .rl-drv-quicklink-arrow{
  color:var(--rl-red); transform:translateX(2px);
}

/* Previous Season Stats card */
.rl-prev-stats-card{
  border-top:3px solid var(--rl-blue, #1A5FAB) !important;
}

/* =======================================
   WRC-STYLE DRIVER CARDS
======================================= */

.rl-wrc-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:1rem;
}

/* Card: fixed height, LEFT=info, RIGHT=photo */
.rl-wrc-card{
  display:grid;
  grid-template-columns:1fr 140px;
  height:195px;
  background:var(--rl-white);
  border:1px solid var(--rl-border);
  border-radius:var(--rl-radius-lg);
  overflow:hidden;
  text-decoration:none !important;
  color:inherit;
  box-shadow:var(--rl-shadow);
  transition:transform .2s, box-shadow .2s, border-color .2s;
}
.rl-wrc-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--rl-shadow-lg);
  border-color:var(--rl-red);
}
/* Left info panel */
.rl-wrc-info{
  display:flex; flex-direction:column;
  padding:.8rem .9rem;
  border-right:1px solid var(--rl-border);
  overflow:hidden; min-width:0;
}
.rl-wrc-top{
  display:flex; align-items:center; gap:.3rem; flex-wrap:wrap; margin-bottom:.3rem;
}
.rl-wrc-type-label{
  font-size:.58rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--rl-muted); background:var(--rl-surface2); border:1px solid var(--rl-border);
  padding:1px 6px; border-radius:3px; flex-shrink:0;
}
.rl-wrc-name{
  font-family:var(--rl-font-d); font-size:1.4rem; line-height:1.05; letter-spacing:.02em;
  color:var(--rl-text); margin-bottom:.15rem;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.rl-wrc-compno{
  display:flex; align-items:baseline; gap:.3rem; margin-bottom:.1rem;
}
.rl-wrc-compno-label{
  font-size:.6rem; font-weight:600; text-transform:uppercase; letter-spacing:.07em; color:var(--rl-muted);
}
.rl-wrc-compno-val{
  font-family:var(--rl-font-d); font-size:1.05rem; color:var(--rl-red); line-height:1;
}
.rl-wrc-location{
  font-size:.72rem; color:var(--rl-muted);
  display:flex; align-items:center; gap:.3rem;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.rl-wrc-dot{ width:5px; height:5px; border-radius:50%; background:var(--rl-red); flex-shrink:0; }
.rl-wrc-team{
  font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em;
  color:var(--rl-muted2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.rl-wrc-footer{
  margin-top:auto; padding-top:.45rem;
  display:flex; align-items:center; justify-content:space-between;
  border-top:1px solid var(--rl-border);
}
.rl-wrc-pts{ display:flex; align-items:baseline; gap:3px; }
.rl-wrc-pts-val{ font-family:var(--rl-font-d); font-size:1.5rem; color:var(--rl-red); line-height:1; }
.rl-wrc-pts-lbl{
  font-family:var(--rl-font-h); font-size:.62rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.07em; color:var(--rl-muted);
}
.rl-wrc-rank{ font-size:.85rem; font-weight:700; font-family:var(--rl-font-h); color:var(--rl-muted); }
.rl-wrc-rank-1{ color:#D4A017; }
.rl-wrc-rank-2{ color:#8C9CA8; }
.rl-wrc-rank-3{ color:#A0612A; }

/* Right photo panel — COVERS THE ENTIRE PANEL, NO STRETCH */
.rl-wrc-photo{
  position:relative; overflow:hidden;
  background:linear-gradient(160deg,#0f0604 0%,#2a0e06 100%);
}
.rl-wrc-photo img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;            /* fills panel without distorting */
  object-position:top center;  /* keeps face visible */
  transition:transform .35s;
  display:block;
}
.rl-wrc-card:hover .rl-wrc-photo img{ transform:scale(1.06); }
.rl-wrc-photo-placeholder{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
}
.rl-wrc-photo-placeholder span{
  font-family:var(--rl-font-d); font-size:4rem; color:rgba(255,255,255,.1);
}
.rl-wrc-photo-num{
  position:absolute; bottom:6px; right:7px; z-index:2;
  font-family:var(--rl-font-d); font-size:1.5rem;
  color:rgba(255,255,255,.75); line-height:1;
  text-shadow:0 2px 8px rgba(0,0,0,.7);
}
/* Responsive */
@media(max-width:900px){ .rl-wrc-grid{ grid-template-columns:1fr 1fr; } }
@media(max-width:600px){
  .rl-wrc-grid{ grid-template-columns:1fr; }
  .rl-wrc-card{ height:160px; }
  .rl-wrc-name{ font-size:1.15rem; }
  .rl-wrc-photo{ display:block; }
}

/* ═══════════════════════════════════════
   CATEGORY BADGES (driver cards + hero tags + race history)
═══════════════════════════════════════ */
.rl-driver-cat-tag{
  display:inline-block;
  font-family:var(--rl-font-h); font-weight:700;
  font-size:.62rem; letter-spacing:.08em; text-transform:uppercase;
  padding:2px 8px; border-radius:3px;
  line-height:1.5;
}
/* Open — blue */
.rl-driver-cat-open{
  background:#EFF6FF; color:#1D4ED8; border:1px solid #BFDBFE;
}
/* Amateur — green */
.rl-driver-cat-amateur{
  background:#F0FDF4; color:#15803D; border:1px solid #BBF7D0;
}
/* Ladies — purple */
.rl-driver-cat-ladies{
  background:#FDF4FF; color:#9333EA; border:1px solid #E9D5FF;
}
/* Generic/unknown */
.rl-driver-cat-tag:not([class*="rl-driver-cat-open"]):not([class*="rl-driver-cat-amateur"]):not([class*="rl-driver-cat-ladies"]){
  background:var(--rl-surface2); color:var(--rl-muted); border:1px solid var(--rl-border);
}

/* Hero tags for category on driver profile dark bg */
.rl-drv-tag-cat{
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); color:#fff;
}
.rl-drv-cat-open   { background:rgba(29,78,216,.35); border-color:rgba(147,197,253,.4); }
.rl-drv-cat-amateur{ background:rgba(21,128,61,.35);  border-color:rgba(134,239,172,.4); }
.rl-drv-cat-ladies { background:rgba(147,51,234,.35); border-color:rgba(216,180,254,.4); }

/* ═══════════════════════════════════════
   STATISTICS SECTION (2.5 from spec)
═══════════════════════════════════════ */

/* Card view badges */
.rl-stats-badges{
  display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem;
  margin-bottom:.25rem;
}
.rl-stats-badge{
  padding:.9rem 1rem; border-radius:var(--rl-radius-lg);
  text-align:center; border:1px solid;
}
.rl-stats-badge-wins{
  background:#F0FDF4; border-color:#BBF7D0;
}
.rl-stats-badge-podiums{
  background:#FFFBEB; border-color:#FDE68A;
}
.rl-stats-badge-pts{
  background:var(--rl-red-light); border-color:var(--rl-red-mid);
}
.rl-stats-badge-val{
  display:block;
  font-family:var(--rl-font-d); font-size:2.2rem; line-height:1;
  color:var(--rl-text); margin-bottom:.2rem;
}
.rl-stats-badge-wins .rl-stats-badge-val{ color:#15803D; }
.rl-stats-badge-podiums .rl-stats-badge-val{ color:#D97706; }
.rl-stats-badge-pts .rl-stats-badge-val{ color:var(--rl-red); }
.rl-stats-badge-lbl{
  font-family:var(--rl-font-h); font-size:.68rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.07em; color:var(--rl-muted);
}

/* Season ranking badge in compact table */
.rl-season-rank-badge{
  display:inline-block; font-family:var(--rl-font-h); font-weight:700;
  font-size:.75rem; color:var(--rl-red);
  background:var(--rl-red-light); border:1px solid var(--rl-red-mid);
  padding:1px 8px; border-radius:99px;
}

/* ── RESPONSIVE ── */
@media (max-width:900px){
  .rl-wrc-grid{ grid-template-columns:1fr 1fr; }
  .rl-stats-badges{ grid-template-columns:1fr 1fr 1fr; }
}
@media (max-width:640px){
  .rl-wrc-grid{ grid-template-columns:1fr; }
  .rl-wrc-card{ grid-template-columns:1fr 100px; }
  .rl-wrc-card-name{ font-size:1.25rem; }
}
