/* --------------------------------------------------------------
   racing-liga-base.css
   Zentrale CSS-Datei für racing-liga.de Joomla-Seiten

   Inhalt:
      1. Joomla Template / Global  (vormals CSS/Global.css)
      2. Design Tokens (:root)
      3. Global Reset
      4. @keyframes
      5. Utility-Klassen (geteilt über alle Seiten)
      6. Komponente: Aktuelle Saison      (.as-*)
      7. Komponente: Fahrerfeld           (.ff-*)
      8. Komponente: Archiv               (.ar-*)
      9. Komponente: Regelwerk            (.rw-*)
     10. Komponente: Eventübersicht       (.ev-*)
     11. Komponente: Fahrerprofil         (.fp-*)
     12. Komponente: Rennübersicht        (.ru-*)
     13. Komponente: Über uns             (.au-*)
     14. Komponente: Ultimate Sprint Liga (.usl-*)
     15. Komponente: Impressum            (.im-*)
     16. Komponente: Datenschutz          (.ds-*)
     17. Komponente: Kontakt              (.kt-*)
     18. Komponente: Wartung              (.wt-*)
     19. Komponente: Alles auf einen Blick(.ab-*)
   -------------------------------------------------------------- */

/* -- 1. Joomla Template / Global ---------------------------- */

body {
  background-color: #2c2b2b;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
}

span.badge.bg-danger.featured-article-badge {
  display: none;
}

.sp-megamenu-parent .sp-dropdown.sp-dropdown-sub .sp-dropdown-inner {
  width: 170px !important;
  padding: 5px 20px 10px 25px;
}

.article-details .article-header h1 {
  text-align: center;
  font-weight: bolder;
  font-size: 56px;
}

#sp-header .sp-menu-heading:hover {
  cursor: pointer;
}

/* box-sizing: hier weggelassen – durch den Global Reset unten abgedeckt */

.burger-icon > span {
  display: block;
  height: 2px;
  background-color: white;
  margin: 5px 0;
  transition: background-color 0.3s ease-in, opacity 0.3s ease-in, transform 0.3s ease-in;
}

.offcanvas-menu .offcanvas-inner ul.menu > li.menu-parent > .nav-header > .menu-toggler,
.offcanvas-menu .offcanvas-inner ul.menu > li.menu-parent > .nav-header > .menu-toggler:after,
.offcanvas-menu .offcanvas-inner ul.menu > li.menu-parent > a > .menu-toggler,
.offcanvas-menu .offcanvas-inner ul.menu > li.menu-parent > .menu-separator > .menu-toggler,
.offcanvas-menu .offcanvas-inner ul.menu > li.menu-parent > a > .menu-toggler:after,
.offcanvas-menu .offcanvas-inner ul.menu > li.menu-parent > .menu-separator > .menu-toggler:after,
.offcanvas-menu .offcanvas-inner ul.menu > li.menu-parent li.menu-parent .menu-toggler,
.offcanvas-menu .offcanvas-inner ul.menu > li.menu-parent li.menu-parent .menu-toggler:after {
  padding: 20px 5px 20px 20px;
}

.offcanvas-active .burger-icon > span,
#modal-menu-toggler.active .burger-icon > span {
  background-color: #ffffff;
}

.offcanvas-menu .offcanvas-inner a {
  color: #ffffff;
}

#sp-header {
  color: #ffffff;
}

.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
  padding: 5px 20px 10px 20px;
}

#sp-header .logo a {
  color: #ffffff;
}

#sp-header .logo a:hover,
#sp-header .logo a:focus,
#sp-header .logo a:active {
  color: #e47325;
}

#sp-main-body {
  padding: 50px 0;
}

#sp-main-body:has(.au-hero),
#sp-main-body:has(.usl-hero),
#sp-main-body:has(.kt-hero),
#sp-main-body:has(.ab-hero),
#sp-main-body:has(.hf-hero) {
  padding-top: 0;
  margin-top: -10px;
}

#sp-footer {
  position: fixed;
  width: 100%;
  bottom: 0;
  text-align: center;
  height: 55px;
}

#sp-footer .container-inner {
  padding: 18px 0;
}

#cookiehintinfo a:hover,
#cookiehintinfo a:focus,
#cookiehintinfo a:active {
  text-decoration: underline;
  color: #e47325;
}

a {
  color: #e47325;
}

a:hover,
a:focus,
a:active {
  color: #ffffff
}

.nav-header:hover {
  cursor: pointer;
}

.logo {
  display: none;
}

.offcanvas-menu a {
  padding: 10px 0 !important;
  color: #ffffff;
  opacity: 0.7;
  transition: 0.3s;
}

.offcanvas-overlay {
  position: fixed;
}

.offcanvas-menu .offcanvas-inner ul.menu li.active a {
  color: rgba(37, 37, 37, 0.8) !important;
}

.offcanvas-menu .offcanvas-inner ul.menu li.hover {
  color: #e47325 !important;
}

body > div.offcanvas-menu.border-menu.center-alignment.text-center > div.offcanvas-inner > div.mt-5 > div > ul > li > a {
  color: #e47325 !important;
}

@media (max-width: 1400px) {
  .d-lg-flex {
    display: none !important;
  }
}

@media (min-width: 576px) {
  .container, .container-sm { max-width: 90%; }
}

@media (min-width: 768px) {
  .container, .container-md, .container-sm { max-width: 90%; }
}

@media (min-width: 992px) {
  .container, .container-lg, .container-md, .container-sm { max-width: 90%; }
}

@media (min-width: 1200px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl { max-width: 90%; }
}

@media (min-width: 1400px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl { max-width: 90%; }
}

@media (max-width: 1400px) {
    .d-lg-block {
        display: none !important;
    }
}

/* -- 2. Design Tokens --------------------------------------- */
:root {
  --bg:     #2c2b2b;
  --card:   rgba(255,255,255,0.025);
  --card-h: rgba(255,255,255,0.05);
  --brd:    rgba(255,255,255,0.06);
  --brd-h:  rgba(228,115,37,0.35);
  --t1:     #f0f0f2ee;
  --t2:     rgba(255, 255, 255, 0.781);
  --t3:     rgba(255, 255, 255, 0.548);
  --t4:     rgba(255, 255, 255, 0.445);
  --acc:    #e47325;
  --acc-g:  rgba(228,115,37,0.12);
  --gold:   #f5c542;
  --silver: #b8c0cc;
  --bronze: #cd7f32;
  --grn:    #4ade80;
  --red:    #e44a4a;
  --blu:    #60a5fa;
  --pur:    #a78bfa;
  --fd:     'Outfit', sans-serif;
  --fb:     'DM Sans', sans-serif;
  --r:      14px;
  --rs:     8px;
  --tr-hover: rgba(255,255,255,.025);
}

/* -- 3. Global Reset ---------------------------------------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* -- 4. Animationen ----------------------------------------- */
@keyframes sp{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes sec-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* -- 5. Utility-Klassen (seitenübergreifend) ---------------- */

/* Podiumsfarben */
.p1{color:var(--gold) !important;font-weight:500}
.p2{color:var(--silver) !important;font-weight:500}
.p3{color:var(--bronze) !important;font-weight:500}

/* Positions-Trend */
.pos-up  {color:var(--grn) !important;font-weight:500}
.pos-down{color:var(--red) !important;font-weight:500}
.pos-same{color:var(--blu) !important;font-weight:500}
.pos-new {color:var(--gold) !important;font-weight:500}
.pos-cell{font-family:var(--fd);font-size:14px;font-weight:500;}

/* Punkte- & Sonderzellen */
.pts-cell {font-family:var(--fd);font-size:14px;font-weight:500;color:var(--t1)}
.fl-cell  {background:rgba(167,139,250,.32) !important}
.dnf-cell {color:var(--red) !important;font-weight:500}
.dsq-cell {color:var(--red) !important;font-weight:500}

/* Startnummer-Badges */
.sn-pro{background:rgba(255,255,255,.12);color:#fff;padding:2px 8px;border-radius:4px;font-weight:600;font-size:12px;display:inline-block;width:50px;}
.sn-am {background:rgba(248,113,113,.2);color:var(--red);padding:2px 8px;border-radius:4px;font-weight:600;font-size:12px;display:inline-block;width:50px;}

/* -- 6. Komponente: Aktuelle Saison (.as-*) ----------------- */

/* Wrapper & Layout */
.as{color:var(--t1);font-family:var(--fb);-webkit-font-smoothing:antialiased}
.as-c{max-width:1600px;margin:0 auto;padding:20px 24px 40px}

/* Header-Eyebrow */
.as-ht{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.as-ht-bar{width:4px;height:18px;background:var(--acc);border-radius:2px}
.as-ht-txt{font-size:12px;text-transform:uppercase;letter-spacing:2.5px;color:var(--t3);font-weight:500}

/* Seitentitel */
.as-title{font-family:var(--fd);font-size:clamp(28px,5vw,42px);font-weight:800;line-height:1.1;background:linear-gradient(135deg,#fff 20%,rgba(255,255,255,.65) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:6px}
.as-sub{font-size:14px;color:var(--t3);margin-bottom:8px}

/* Haupt-Tabs */
.as-tabs{display:flex;gap:0;border-bottom:1px solid var(--brd);padding:5px;margin-bottom:28px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.as-tab{padding:12px 22px;border:none;background:none;cursor:pointer;font-family:var(--fb);font-size:14px;font-weight:400;color:var(--t3);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s;white-space:nowrap}
.as-tab:hover{color:var(--t2)}
.as-tab.on{color:var(--acc);font-weight:600;border-bottom-color:var(--acc)}

/* Sub-Tabs (Segmented Control) */
.as-st{display:inline-flex;gap:3px;background:var(--card);border-radius:10px;padding:3px;margin-bottom:20px}
.as-stb{padding:7px 18px;border-radius:var(--rs);border:none;cursor:pointer;font-family:var(--fb);font-size:14px;font-weight:500;background:transparent;color:var(--t3);transition:all .2s}
.as-stb:hover{color:var(--t2)}
.as-stb.on{background:var(--acc-g);color:var(--acc)}

/* Suchfeld */
.as-search{width:100% !important;padding:10px 16px 10px 40px !important;background:var(--card) !important;border:1px solid var(--brd) !important;border-radius:var(--rs) !important;color:var(--t1) !important;font-family:var(--fb) !important;font-size:14px !important;outline:none !important;transition:border-color .2s;margin-bottom:16px !important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='rgba(255,255,255,0.3)' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85zm-5.242.156a5 5 0 1 1 0-10 5 5 0 0 1 0 10z'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:12px center !important;box-shadow:none !important}
.as-search::placeholder{color:var(--t3) !important}
.as-search:focus{border-color:var(--acc) !important}
input[type="text"].as-search{padding-left:40px !important}

/* Tabelle */
.as-tw{overflow-x:auto;border-radius:var(--r);border:1px solid var(--brd)}
.as-tbl{width:100%;border-collapse:collapse;font-size:14px}
.as-tbl th{text-align:left;padding:10px 14px;font-size:12px;text-transform:uppercase;letter-spacing:1.2px;color:var(--t3);background:rgba(255,255,255,.02);border-bottom:1px solid var(--brd);font-weight:600;white-space:nowrap}
.as-tbl td{color:var(--t2);padding:9px 14px;border-bottom:1px solid rgba(255,255,255,.025);white-space:nowrap}
.as-tbl tr{background:var(--bg)}
/* .as-tbl thead tr,.as-tbl tr:nth-child(even){background:color-mix(in srgb,var(--bg) 98%,white)} */
.as-tbl tr:last-child td{border-bottom:none}
.as-tbl tr:hover td{background:var(--tr-hover)}
.as-tbl th.ev-col,.as-tbl td.ev-col{text-align:center;padding:9px 8px;min-width:48px}
.as-tbl th.c,.as-tbl td.c{text-align:center}
.fk-drv+.fk-drv::before{content:',\00a0'}

/* Kategorie-Badges */
.as-badges{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.as-b    {padding:5px 14px;border-radius:100px;font-size:12.5px;font-weight:500;border:1px solid var(--brd);background:var(--card);white-space:nowrap}
.as-b-pro{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff;font-weight:600}
.as-b-am {background:rgba(248,113,113,.12);border-color:rgba(248,113,113,.25);color:var(--red);font-weight:600}

/* Hinweistext */
.as-hint-top{font-size:13px;margin-bottom:16px;line-height:1.6}
.as-hint-top a{color:var(--acc);text-decoration:underline;text-decoration-thickness:1px}
.as-hint-top a:hover{color:var(--t1)}

.as-hint-bottom{font-size:13px;color:var(--t3);margin-top:12px;line-height:1.6}

/* Panel */
.as-p  {background:var(--tr-hover);border:1px solid var(--brd);border-radius:var(--r);padding:24px;margin-top:16px}
.as-p-t{font-size:12px;text-transform:uppercase;letter-spacing:1.8px;color:var(--t4);margin-bottom:18px;font-weight:500}

/* Schnellste-Runde Hinweis */
.as-fl-hint{display:inline-block;padding:6px 14px;border-radius:var(--rs);background:rgba(167,139,250,.15);border:1px solid rgba(167,139,250,.25);color:var(--pur);font-size:12px;font-weight:600;margin-top:12px}

/* Flaggen & Links */
.as-flag{height:14px;margin-left:4px;margin-bottom:0.2rem;display:inline}
.as-flag-link{text-decoration:none;transition:color .2s;color:var(--t2);}
.as-flag-link:hover{color:var(--acc);text-decoration:underline}
.as-link{text-decoration:none;transition:color .2s;color:var(--t2);}
.as-link:hover{color:var(--acc);text-decoration:underline}
.as-team-link{color:var(--t1);cursor:pointer;text-decoration:none;transition:color .2s}
.as-team-link:hover{color:var(--acc);text-decoration:underline}
@keyframes as-hl-fade{0%{background:rgba(255,180,0,.28)}100%{background:rgba(255,180,0,.07)}}
.as-row-hl{background:rgba(255,180,0,.07)!important;animation:as-hl-fade 1.8s ease-out forwards;outline:1px solid rgba(255,180,0,.35)}
.as-video-link{color:var(--acc);text-decoration:none;font-weight:500;transition:color .2s}
.as-video-link:hover{color:var(--t1)}

/* Lade-Zustand */
.as-ld  {text-align:center;padding:80px 20px}
.as-sp  {width:36px;height:36px;border:3px solid rgba(255,255,255,.07);border-top-color:var(--acc);border-radius:50%;animation:sp .75s linear infinite;margin:0 auto 16px}
.as-ld-t{color:var(--t3);font-size:14px}

/* Leer- & Fehlerzustände */
.as-empty{text-align:center;padding:60px 20px;color:var(--t3);font-size:16px}
.as-err  {text-align:center;padding:60px 20px;color:var(--red);font-size:15px}

/* Joomla CSS-Bleed-Schutz */
/* .as a,.as a:hover,.as a:focus,.as a:active{color:inherit;text-decoration:none}
.as button{font-family:inherit} */

/* Footer */
.as-ft{margin-top:40px;padding-top:16px;border-top:1px solid rgba(255,255,255,.03);text-align:center;font-size:12px;color:var(--t3)}

/* Responsive */
@media(max-width:700px){
  .as-c{padding:16px 12px 30px}
  .as-tab{padding:10px 14px;font-size:14px}
}

/* -- 5b. Shared Utility: Fade-in (ueber-uns, kontakt) -- */
.fade-in{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.fade-in.visible{opacity:1;transform:translateY(0)}

/* -- 7. Komponente: Fahrerfeld (.ff-*) ------------------------- */

.ff{color:var(--t1);font-family:var(--fb);-webkit-font-smoothing:antialiased}
.ff-c{max-width:1200px;margin:0 auto;padding:20px 24px 60px}

.ff-ht{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.ff-ht-bar{width:4px;height:18px;background:var(--acc);border-radius:2px}
.ff-ht-txt{font-size:12px;text-transform:uppercase;letter-spacing:2.5px;color:var(--t3);font-weight:500}
.ff-title{font-family:var(--fd);font-size:clamp(28px,5vw,42px);font-weight:800;line-height:1.1;background:linear-gradient(135deg,#fff 20%,rgba(255,255,255,.65) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:6px}
.ff-sub{font-size:14px;color:var(--t3);margin-bottom:20px}

.ff-search{width:100% !important;padding:10px 16px 10px 40px !important;background:var(--card) !important;border:1px solid var(--brd) !important;border-radius:var(--rs) !important;color:var(--t1) !important;font-family:var(--fb) !important;font-size:14px !important;outline:none !important;transition:border-color .2s;margin-bottom:24px !important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='rgba(255,255,255,0.3)' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85zm-5.242.156a5 5 0 1 1 0-10 5 5 0 0 1 0 10z'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:12px center !important;box-shadow:none !important}
.ff-search::placeholder{color:var(--t3) !important}
.ff-search:focus{border-color:var(--acc) !important}
input[type="text"].ff-search{padding-left:40px !important}

.ff-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}

.ff-card{background:var(--card);border:1px solid var(--brd);border-radius:var(--r);overflow:hidden;transition:border-color .2s}
.ff-card:hover{border-color:var(--brd-h)}
.ff-card-img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.ff-card-ph{width:100%;aspect-ratio:16/9;background:rgba(255,255,255,.03);display:flex;align-items:center;justify-content:center;color:var(--t3);font-size:12px;letter-spacing:1px;text-transform:uppercase}
.ff-card-body{padding:18px 20px}
.ff-card-name{font-family:var(--fd);font-size:18px;font-weight:700;color:var(--t1);margin-bottom:12px}
.ff-card-name a{color:inherit;text-decoration:none;transition:color .2s}
.ff-card-name a:hover{color:var(--acc);text-decoration:underline;}
.ff-card-row{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.03)}
.ff-card-row:last-child{border-bottom:none}
.ff-card-label{font-size:12px;color:var(--t2);text-transform:uppercase;letter-spacing:.8px;font-weight:500}
.ff-card-val{font-size:14px;color:var(--t2);font-weight:500}
.ff-card-val a{color:var(--acc);text-decoration:none;transition:color .2s}
.ff-card-val a:hover{color:var(--t1);text-decoration:underline}
.ff-card-desc{font-size:12px;color:var(--t2);margin-top:10px;line-height:1.6;font-style:italic}

.ff-ld{text-align:center;padding:80px 20px}
.ff-sp{width:36px;height:36px;border:3px solid rgba(255,255,255,.07);border-top-color:var(--acc);border-radius:50%;animation:sp .75s linear infinite;margin:0 auto 16px}
.ff-ld-t{color:var(--t3);font-size:14px}
.ff-err{text-align:center;padding:60px 20px;color:var(--red);font-size:15px}

@media(max-width:700px){.ff-c{padding:16px 12px 40px}.ff-grid{grid-template-columns:1fr}}

/* -- 8. Komponente: Archiv (.ar-*) ----------------------------- */

.ar{color:var(--t1);font-family:var(--fb);-webkit-font-smoothing:antialiased}
.ar-c{max-width:900px;margin:0 auto;padding:20px 24px 60px}

.ar-ht{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.ar-ht-bar{width:4px;height:18px;background:var(--acc);border-radius:2px}
.ar-ht-txt{font-size:12px;text-transform:uppercase;letter-spacing:2.5px;color:var(--t3);font-weight:500}
.ar-title{font-family:var(--fd);font-size:clamp(28px,5vw,46px);font-weight:800;line-height:1.1;background:linear-gradient(135deg,#fff 20%,rgba(255,255,255,.65) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:28px}

.ar-list{display:flex;flex-direction:column;gap:10px}

.ar-item{display:flex;justify-content:space-between;align-items:center;background:var(--card);border:1px solid var(--brd);border-radius:var(--r);padding:18px 22px;text-decoration:none;transition:border-color .2s,transform .15s}
.ar-item:hover{border-color:var(--brd-h);transform:translateY(-1px)}
.ar-item-name{font-family:var(--fd);font-size:16px;font-weight:700;color:var(--t1)}
.ar-item-date{font-size:14px;color:var(--t3);font-weight:500}
.ar-item-arrow{color:var(--t3);transition:color .2s,transform .2s;flex-shrink:0;margin-left:12px}
.ar-item:hover .ar-item-arrow{color:var(--acc);transform:translateX(3px)}

.ar-ld{text-align:center;padding:80px 20px}
.ar-sp{width:36px;height:36px;border:3px solid rgba(255,255,255,.07);border-top-color:var(--acc);border-radius:50%;animation:sp .75s linear infinite;margin:0 auto 16px}
.ar-ld-t{color:var(--t3);font-size:14px}
.ar-err{text-align:center;padding:60px 20px;color:#f87171;font-size:15px}

@media(max-width:700px){.ar-c{padding:16px 12px 40px}.ar-item{padding:14px 16px;flex-wrap:wrap;gap:4px}.ar-item-date{width:100%}}

/* -- 9. Komponente: Regelwerk (.rw-*) -------------------------- */
/* Hinweis: body{overflow:hidden} und #sp-main-body{padding:20px 0}
   bleiben als seitenspez. Inline-<style> in den regelwerk_*.html-Dateien. */

.rw{color:var(--t1);font-family:var(--fb);-webkit-font-smoothing:antialiased}
.rw-c{max-width:1200px;margin:0 auto;padding:20px 24px 0}

.rw-ht{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.rw-ht-bar{width:4px;height:18px;background:var(--acc);border-radius:2px}
.rw-ht-txt{font-size:12px;text-transform:uppercase;letter-spacing:2.5px;color:var(--t3);font-weight:500}
.rw-title{font-family:var(--fd);font-size:clamp(28px,5vw,42px);font-weight:800;line-height:1.1;background:linear-gradient(135deg,#fff 20%,rgba(255,255,255,.65) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:20px}

.rw-frame{background:var(--card);border:1px solid var(--brd);border-radius:var(--r);overflow:hidden}
.rw-frame iframe{width:100%;height:calc(100vh - 220px);border:none;display:block}

@media(max-width:700px){.rw-c{padding:16px 12px 0}.rw-frame iframe{height:calc(100vh - 190px)}}

/* -- 10. Komponente: Eventübersicht (.ev-*) -------------------- */

.ev{color:var(--t1);font-family:var(--fb);-webkit-font-smoothing:antialiased}
.ev-c{max-width:1400px;margin:0 auto;padding:20px 24px 60px}

.ev-ht{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.ev-ht-bar{width:4px;height:18px;background:var(--acc);border-radius:2px}
.ev-ht-txt{font-size:12px;text-transform:uppercase;letter-spacing:2.5px;color:var(--t3);font-weight:500}
.ev-title{font-family:var(--fd);font-size:clamp(28px,5vw,42px);font-weight:800;line-height:1.1;background:linear-gradient(135deg,#fff 20%,rgba(255,255,255,.65) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:6px}
.ev-sub{font-size:14px;color:var(--t3);margin-bottom:28px}

.ev-h2{font-family:var(--fd);font-size:clamp(18px,3vw,24px);font-weight:700;color:var(--t1);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--brd)}

.ev-tw{overflow-x:auto;border-radius:var(--r);border:1px solid var(--brd)}
.ev-tbl{width:100%;border-collapse:collapse;font-size:14px}
.ev-tbl th{text-align:center;padding:10px 14px;font-size:12px;text-transform:uppercase;letter-spacing:1.2px;color:var(--t3);background:rgba(255,255,255,.02);border-bottom:1px solid var(--brd);font-weight:600;white-space:nowrap}
.ev-tbl td{color:var(--t2);padding:9px 14px;border-bottom:1px solid rgba(255,255,255,.025);white-space:nowrap;text-align:center}
.ev-tbl tr:last-child td{border-bottom:none}
.ev-tbl tr:hover td{background:var(--tr-hover)}
.ev-tbl td:first-child{font-family:var(--fd);font-weight:600;color:var(--t1)}

.ev-hint{font-size:12px;margin-top:16px;line-height:1.7}

.ev-ld{text-align:center;padding:80px 20px}
.ev-sp{width:36px;height:36px;border:3px solid rgba(255,255,255,.07);border-top-color:var(--acc);border-radius:50%;animation:sp .75s linear infinite;margin:0 auto 16px}
.ev-ld-t{color:var(--t3);font-size:14px}
.ev-err{text-align:center;padding:60px 20px;color:#f87171;font-size:15px}

@media(max-width:700px){.ev-c{padding:16px 12px 40px}.ev-tbl th,.ev-tbl td{padding:8px 10px;font-size:12px}}

/* -- 11. Komponente: Fahrerprofil (.fp-*) ---------------------- */

.fp{color:var(--t1);font-family:var(--fb);-webkit-font-smoothing:antialiased}
.fp-c{max-width:1300px;margin:0 auto;padding:20px 24px 40px}

.fp-ht{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.fp-ht-bar{width:4px;height:18px;background:var(--acc);border-radius:2px}
.fp-ht-txt{font-size:12px;text-transform:uppercase;letter-spacing:2.5px;color:var(--t3);font-weight:500}
.fp-nr{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}
.fp-name{font-family:var(--fd);font-size:clamp(30px,5.5vw,52px);font-weight:800;line-height:1.05;background:linear-gradient(135deg,#fff 20%,rgba(255,255,255,.65) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.fp-num{font-family:var(--fd);font-size:clamp(28px,4vw,48px);font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(228,115,37,.35)}
.fp-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:5px}
.fp-b{padding:5px 14px;border-radius:100px;font-size:12.5px;font-weight:500;border:1px solid var(--brd);background:var(--card);color:var(--t2);white-space:nowrap}
.fp-b-a{background:rgba(228,115,37,.12);border-color:rgba(228,115,37,.25);color:var(--acc);font-weight:600}
.fp-b-b{background:rgba(96,165,250,.12);border-color:rgba(96,165,250,.25);color:var(--blu);font-weight:600}

.fp-tabs{display:flex;gap:0;border-bottom:1px solid var(--brd);padding:5px;margin-bottom:32px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.fp-tab{padding:12px 22px;border:none;background:none;cursor:pointer;font-family:var(--fb);font-size:14px;font-weight:400;color:var(--t3);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s;white-space:nowrap}
.fp-tab:hover{color:var(--t2)}
.fp-tab.on{color:var(--acc);font-weight:600;border-bottom-color:var(--acc)}
.fp-st{display:inline-flex;gap:3px;background:var(--card);border-radius:10px;padding:3px;margin-bottom:28px}
.fp-stb{padding:7px 18px;border-radius:var(--rs);border:none;cursor:pointer;font-family:var(--fb);font-size:14px;font-weight:500;background:transparent;color:var(--t3);transition:all .2s}
.fp-stb:hover{color:var(--t2)}
.fp-stb.on{background:var(--acc-g);color:var(--acc)}

.fp-g{display:grid;gap:12px}
.fp-gh{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.fp-gd{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}
.fp-gt{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
.fp-s{background:var(--card);border:1px solid var(--brd);border-radius:var(--r);padding:20px 18px;display:flex;flex-direction:column;gap:3px;position:relative;overflow:hidden;transition:background .25s,border-color .25s,transform .25s}
.fp-s:hover{background:var(--card-h);border-color:var(--brd-h);transform:translateY(-2px)}
.fp-s.lg{padding:28px 22px}
.fp-s-ac{position:absolute;top:0;left:0;right:0;height:2px}
.fp-s-l{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--t4)}
.fp-s-v{font-family:var(--fd);font-size:28px;font-weight:700;color:var(--t1);line-height:1.15}
.fp-s.lg .fp-s-v{font-size:34px}
.fp-s-sub{font-size:12px;color:var(--t3);margin-top:1px}

.fp-p{background:var(--tr-hover);border:1px solid var(--brd);border-radius:var(--r);padding:24px;margin-top:12px}
.fp-p-t{font-size:12px;text-transform:uppercase;letter-spacing:1.8px;color:var(--t4);margin-bottom:18px;font-weight:500}
.fp-pos{font-family:var(--fd);font-size:30px;font-weight:700;line-height:1.1}
.fp-pos-b{color:var(--grn)}.fp-pos-a{color:var(--acc)}.fp-pos-w{color:var(--red)}
.fp-pos-l{font-size:12px;color:var(--t3);margin-bottom:3px}

.fp-pr{display:flex;flex-direction:column;gap:6px}
.fp-pr-h{display:flex;justify-content:space-between;align-items:baseline}
.fp-pr-lb{font-size:14px;color:var(--t2)}
.fp-pr-n{font-family:var(--fd);font-size:14px;font-weight:600;color:var(--t1)}
.fp-pr-n span{color:var(--t3);font-weight:400}
.fp-pr-tr{height:6px;background:rgba(255,255,255,.05);border-radius:3px;overflow:hidden}
.fp-pr-f{height:100%;border-radius:3px;width:0%;transition:width 1s cubic-bezier(.4,0,.2,1)}

.fp-tw{overflow-x:auto;margin-top:12px;border-radius:var(--r);border:1px solid var(--brd)}
.fp-tbl{width:100%;border-collapse:collapse;font-size:14px}
.fp-tbl th{text-align:left;padding:10px 14px;font-size:12px;text-transform:uppercase;letter-spacing:1.2px;color:var(--t3);background:rgba(255,255,255,.02);border-bottom:1px solid var(--brd);font-weight:600;white-space:nowrap}
.fp-tbl td{color:var(--t2);padding:9px 14px;border-bottom:1px solid rgba(255,255,255,.025);white-space:nowrap}
.fp-tbl tr:last-child td{border-bottom:none}
.fp-tbl tr:hover td{background:var(--tr-hover)}
.dnf{color:var(--red)}

.fp-ld{text-align:center;padding:80px 20px}
.fp-sp{width:36px;height:36px;border:3px solid rgba(255,255,255,.07);border-top-color:var(--acc);border-radius:50%;animation:sp .75s linear infinite;margin:0 auto 16px}
.fp-ld-t{color:var(--t3);font-size:14px}
.fp-empty{text-align:center;padding:60px 20px;color:var(--t3);font-size:16px}
.fp-err{text-align:center;padding:60px 20px;color:var(--red);font-size:15px}

/* Joomla CSS-Bleed-Schutz */
/* .fp a,.fp a:hover,.fp a:focus,.fp a:active{color:inherit;text-decoration:none}
.fp button{font-family:inherit} */

.fp-ft{margin-top:40px;padding-top:16px;border-top:1px solid rgba(255,255,255,.03);text-align:center;font-size:12px;color:var(--t3)}

.fp-tbl-rec .fp-td-rec-track{font-weight:600;color:var(--t1)}

.fp-since{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:15px}
.fp-since-lbl{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--t4);font-weight:500;margin:2px;}
.fp-since-v{font-size:14px;color:var(--t2);font-weight:500}
.fp-since-sep{color:var(--t3);font-size:12px}

@media(max-width:700px){.fp-c{padding:16px 12px 30px}.fp-gh{grid-template-columns:repeat(2,1fr)}.fp-s.lg .fp-s-v{font-size:26px}.fp-tab{padding:10px 14px;font-size:14px}}

@media(max-width:700px){
.fp-tbl-pen thead,.fp-tbl-hist thead,.fp-tbl-rec thead{display:none}
.fp-tbl-pen,.fp-tbl-hist,.fp-tbl-rec{display:block}
.fp-tbl-pen tbody,.fp-tbl-hist tbody,.fp-tbl-rec tbody{display:flex;flex-direction:column;gap:8px;padding:8px}
.fp-tbl-pen tr,.fp-tbl-hist tr,.fp-tbl-rec tr{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:12px}
.fp-tbl-pen td,.fp-tbl-hist td,.fp-tbl-rec td{display:flex;flex-direction:column;gap:2px;padding:0;border:none;white-space:normal}
.fp-tbl-pen td::before,.fp-tbl-hist td::before,.fp-tbl-rec td::before{content:attr(data-label);font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--t3);font-weight:600}
.fp-tbl-pen tr:hover td,.fp-tbl-hist tr:hover td,.fp-tbl-rec tr:hover td{background:transparent}
.fp-tbl-pen .fp-td-pen-rsn{grid-column:1/-1}
.fp-tbl-hist .fp-td-hist-track{grid-column:1/-1;font-weight:600;color:var(--t1)}
.fp-tbl-hist .fp-td-hist-car{grid-column:1/-1}
.fp-tw:has(.fp-tbl-pen),.fp-tw:has(.fp-tbl-hist),.fp-tw:has(.fp-tbl-rec){border:none;overflow-x:visible;border-radius:0}}

/* -- 12. Komponente: Rennübersicht (.ru-*) --------------------- */

.ru{color:var(--t1);font-family:var(--fb);-webkit-font-smoothing:antialiased}
.ru-c{max-width:1400px;margin:0 auto;padding:20px 24px 40px}

.ru-ht{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.ru-ht-bar{width:4px;height:18px;background:var(--acc);border-radius:2px}
.ru-ht-txt{font-size:12px;text-transform:uppercase;letter-spacing:2.5px;color:var(--t3);font-weight:500}
.ru-title{font-family:var(--fd);font-size:clamp(22px,4vw,42px);font-weight:800;line-height:1.1;background:linear-gradient(135deg,#fff 20%,rgba(255,255,255,.65) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:6px}
.ru-sub{font-size:14px;color:var(--t3);margin-bottom:8px;line-height:1.6}

.ru-tabs{display:flex;gap:0;border-bottom:1px solid var(--brd);padding:5px;margin-bottom:28px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.ru-tab{padding:12px 22px;border:none;background:none;cursor:pointer;font-family:var(--fb);font-size:14px;font-weight:400;color:var(--t3);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s;white-space:nowrap}
.ru-tab:hover{color:var(--t2)}
.ru-tab.on{color:var(--acc);font-weight:600;border-bottom-color:var(--acc)}

.ru-driver{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px}
.ru-d-tag{padding:5px 14px;border-radius:100px;font-size:12.5px;font-weight:600;border:1px solid var(--brd);background:var(--card);color:var(--t2);white-space:nowrap}
.ru-d-name{font-family:var(--fd);font-size:16px;font-weight:700;color:var(--t1)}
.ru-d-namegroup{display:flex;flex-direction:column;gap:3px}
.ru-d-drv{font-family:var(--fd);font-size:14px;font-weight:500;color:var(--t2)}
.ru-d-pro{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}
.ru-d-am{background:rgba(248,113,113,.12);border-color:rgba(248,113,113,.25);color:var(--red)}

.ru-info{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}
.ru-info-tag{padding:5px 14px;border-radius:100px;font-size:12px;font-weight:500;border:1px solid var(--brd);background:var(--card);color:var(--t2)}

.ru-legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.ru-leg{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:4px}
.ru-leg-best{background:rgba(74,222,128,.15);border:1px solid rgba(74,222,128,.25);color:var(--grn)}
.ru-leg-fl{background:rgba(167,139,250,.15);border:1px solid rgba(167,139,250,.25);color:var(--pur)}
.ru-leg-inv{background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.2);color:var(--red)}
.ru-leg-sec{background:rgba(96,165,250,.12);border:1px solid rgba(96,165,250,.2);color:var(--blu)}

.ru-tw{overflow-x:auto;border-radius:var(--r);border:1px solid var(--brd)}
.ru-tbl{width:100%;border-collapse:collapse;font-size:14px}
.ru-tbl th{text-align:left;padding:10px 14px;font-size:12px;text-transform:uppercase;letter-spacing:1.2px;color:var(--t3);background:rgba(255,255,255,.02);border-bottom:1px solid var(--brd);font-weight:600;white-space:nowrap}
.ru-tbl td{padding:9px 14px;border-bottom:1px solid rgba(255,255,255,.025);color:var(--t2);white-space:nowrap}
.ru-tbl tr:last-child td{border-bottom:none}
.ru-tbl tr:hover td{background:var(--tr-hover)}
.ru-tbl th.c,.ru-tbl td.c{text-align:center}

.ru-time{font-family:var(--fd);font-weight:600;color:var(--t1)}
.ru-badge{display:inline-block;padding:1px 6px;border-radius:4px;font-size:12px;font-weight:700;margin-left:6px;vertical-align:middle;max-width:fit-content;}
.ru-badge-best{background:rgba(74,222,128,.2);color:var(--grn)}
.ru-badge-fl{background:rgba(167,139,250,.2);color:var(--pur)}
.ru-badge-inv{background:rgba(248,113,113,.15);color:var(--red)}
.ru-badge-sec{background:rgba(96,165,250,.15);color:var(--blu)}

.ru-empty{text-align:center;padding:40px 20px;color:var(--t3);font-size:14px}
.ru-ld{text-align:center;padding:80px 20px}
.ru-sp{width:36px;height:36px;border:3px solid rgba(255,255,255,.07);border-top-color:var(--acc);border-radius:50%;animation:sp .75s linear infinite;margin:0 auto 16px}
.ru-ld-t{color:var(--t3);font-size:14px}
.ru-err{text-align:center;padding:60px 20px;color:var(--red);font-size:15px}
/* Joomla CSS-Bleed-Schutz */
/* .ru a,.ru a:hover,.ru a:focus,.ru a:active{color:inherit;text-decoration:none}
.ru button{font-family:inherit} */

@media(max-width:700px){.ru-c{padding:16px 12px 30px}.ru-tab{padding:10px 14px;font-size:14px}.ru-driver{gap:6px}}

/* -- 13. Komponente: Über uns (.au-*) -------------------------- */

.au{color:var(--t1);font-family:var(--fb);-webkit-font-smoothing:antialiased}

.au-hero{position:relative;overflow:hidden;padding:80px 24px 60px;text-align:center}
.au-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 50% at 50% 0%,rgba(228,115,37,.1),transparent 70%);pointer-events:none}
.au-hero-grid{position:absolute;inset:0;background-image:
  linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:60px 60px;mask-image:radial-gradient(ellipse 60% 60% at 50% 30%,#000,transparent);-webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 30%,#000,transparent);pointer-events:none}
.au-hero-content{position:relative;max-width:1200px;margin:0 auto}
.au-hero-tag{display:inline-flex;align-items:center;gap:6px;background:var(--acc-g);border:1px solid rgba(228,115,37,.2);border-radius:20px;padding:6px 14px;font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--acc);font-weight:600;margin-bottom:24px}
.au-hero-tag-dot{width:6px;height:6px;border-radius:50%;background:var(--acc);animation:pulse 2s ease-in-out infinite}
.au-hero h1{font-family:var(--fd);font-size:clamp(32px,6vw,56px);font-weight:800;line-height:1.08;background:linear-gradient(135deg,#fff 20%,rgba(255,255,255,.6) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:18px}
.au-hero p{font-size:clamp(15px,2vw,18px);color:var(--t2);line-height:1.7;max-width:650px;margin:0 auto 32px}
.au-hero-cta{display:inline-flex;align-items:center;gap:8px;background:var(--acc);color:#fff;font-family:var(--fd);font-size:14px;font-weight:600;padding:12px 28px;border-radius:var(--rs);text-decoration:none;transition:transform .2s,box-shadow .2s}
.au-hero-cta:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(228,115,37,.25)}
.au-hero-cta svg{width:16px;height:16px}

.au-stats{max-width:1000px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:-20px;position:relative;z-index:2}
.au-stat{background:var(--card);border:1px solid var(--brd);border-radius:var(--r);padding:24px 16px;text-align:center}
.au-stat-num{font-family:var(--fd);font-size:clamp(28px,4vw,36px);font-weight:800;color:var(--t1);line-height:1;margin-bottom:6px}
.au-stat-num .au-stat-accent{color:var(--acc)}
.au-stat-label{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--t3);font-weight:500}

.au-section{max-width:1200px;margin:0 auto;padding:48px 24px 0}
.au-section-ht{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.au-section-bar{width:4px;height:18px;background:var(--acc);border-radius:2px}
.au-section-label{font-size:12px;text-transform:uppercase;letter-spacing:2.5px;color:var(--t3);font-weight:500}
.au-section-title{font-family:var(--fd);font-size:clamp(22px,3.5vw,32px);font-weight:700;color:var(--t1);margin-bottom:20px}

.au-ticker{background:var(--card);border:1px solid var(--brd);border-radius:var(--rs);padding:12px 16px;overflow:hidden;position:relative;height:44px}
.au-ticker-label{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--acc);font-weight:600;position:absolute;left:16px;top:50%;transform:translateY(-50%);z-index:2;background:rgba(15,16,21,.85);padding-right:12px}
.au-ticker-track{display:flex;position:absolute;left:100px;top:50%;transform:translateY(-50%);white-space:nowrap;animation:ticker 45s linear infinite}
.au-ticker-track span{color:var(--t2);font-size:14px;margin-right:48px}
.au-ticker-track span b{color:var(--acc);font-weight:600}
@keyframes ticker{0%{transform:translateY(-50%) translateX(0)}100%{transform:translateY(-50%) translateX(-50%)}}

.au-card{background:var(--card);border:1px solid var(--brd);border-radius:var(--r);padding:32px;margin-top:20px}
.au-card p{font-size:15px;color:var(--t2);line-height:1.8;margin-bottom:16px}
.au-card p:last-child{margin-bottom:0}
.au-card a{color:var(--acc);text-decoration:none;font-weight:500;transition:color .2s}
.au-card a:hover{color:#f59e4a;text-decoration:underline}
.au-card .hl{color:var(--t1);font-weight:500}

.au-tl{position:relative;padding-left:28px;margin-top:8px}
.au-tl::before{content:'';position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,var(--acc),rgba(228,115,37,.15));border-radius:1px}
.au-tl-item{position:relative;padding:0 0 32px;opacity:0;transform:translateY(12px);transition:opacity .5s,transform .5s}
.au-tl-item:last-child{padding-bottom:0}
.au-tl-item.visible{opacity:1;transform:translateY(0)}
.au-tl-dot{position:absolute;left:-24px;top:6px;width:12px;height:12px;border-radius:50%;border:2px solid var(--acc);transition:background .3s}
.au-tl-item.visible .au-tl-dot{background:var(--acc)}
.au-tl-year{font-family:var(--fd);font-size:12px;font-weight:700;color:var(--acc);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:4px}
.au-tl-title{font-family:var(--fd);font-size:16px;font-weight:600;color:var(--t1);margin-bottom:4px}
.au-tl-desc{font-size:14px;color:var(--t3);line-height:1.6}

.au-links{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}
.au-link{background:var(--card);border:1px solid var(--brd);border-radius:var(--rs);padding:18px 20px;text-align:center;text-decoration:none;transition:border-color .2s,transform .2s}
.au-link:hover{border-color:var(--brd-h);transform:translateY(-2px)}
.au-link-icon{margin-bottom:8px}
.au-link-name{font-family:var(--fd);font-size:14px;font-weight:600;color:var(--t1)}
.au-link-desc{font-size:12px;color:var(--t3);margin-top:4px}

.au-footer{height:60px}

/* -- Twitch Live Banner (fixed floating card, bottom-right) -- */
.au-live{display:none;position:fixed;top:80px;left:24px;z-index:9999;}
.au-live.on{display:block}
@media(max-width:700px){
  .au-live{top:auto;bottom:64px;left:12px}
  .au-live-inner{padding:7px 10px;gap:7px;min-width:0;max-width:none;border-radius:20px}
  .au-live-text,.au-live-cta,.au-live-viewers{display:none}
  .au-live-close{font-size:14px;padding:0 0 0 4px}
}
.au-live-inner{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--bg);border:1px solid #9146FF;border-radius:12px;box-shadow:0 0 24px #9146ff2a,0 4px 20px #0008;font-size:13px;min-width:200px;}
.au-live-dot{width:8px;height:8px;border-radius:50%;background:#9146FF;animation:pulse 2s ease-in-out infinite;flex-shrink:0}
.au-live-text{display:flex;flex-direction:column;flex:1;min-width:0}
.au-live-text strong{color:var(--t1);font-size:13px;font-family:var(--fd);line-height:1.2}
.au-live-text span{color:#9146FF;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.au-live-cta{color:var(--t2);text-decoration:none;font-size:12px;font-weight:500;white-space:nowrap;padding:4px 10px;background:rgba(145,70,255,.12);border:1px solid rgba(145,70,255,.3);border-radius:6px;transition:background .2s}
.au-live-cta:hover{background:rgba(145,70,255,.25)}
.au-live-close{background:none;border:none;color:var(--t3);cursor:pointer;font-size:18px;line-height:1;padding:0 0 0 6px;flex-shrink:0}
.au-live-close:hover{color:var(--t1)}
.au-live-viewers{display:inline-block;margin-top:3px;font-size:10px;color:var(--t3);font-weight:500}

/* -- Skeleton Loader -- */
@keyframes au-sksh{0%{background-position:200% 0}100%{background-position:-200% 0}}
.au-sk{background:linear-gradient(90deg,rgba(255,255,255,.04) 25%,rgba(255,255,255,.09) 50%,rgba(255,255,255,.04) 75%);background-size:200% 100%;animation:au-sksh 1.4s linear infinite;border-radius:4px;display:block}
.au-sk-line{height:12px;margin-bottom:6px}
.au-sk-tag{height:24px;width:70px;border-radius:20px;display:inline-block;vertical-align:middle}
.au-sk-medal{height:28px;width:28px;border-radius:50%;margin:0 auto 6px}

/* -- Nächste Rennen -- */
.au-nxt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}
.au-nxt-card{background:var(--card);border:1px solid var(--brd);border-top:2px solid var(--acc);border-radius:var(--r);padding:20px;display:flex;flex-direction:column}
.au-nxt-serie{display:flex;align-items:center;gap:6px;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--acc);font-weight:700;margin-bottom:8px}
.au-nxt-game{background:var(--acc-g);border:1px solid rgba(228,115,37,.2);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600;letter-spacing:.5px;color:var(--acc)}
.au-nxt-track{font-family:var(--fd);font-size:15px;font-weight:700;color:var(--t1);margin-bottom:4px}
.au-nxt-date{font-size:12px;color:var(--t3);margin-bottom:auto;padding-bottom:12px}
.au-nxt-cd-wrap{padding-top:12px;border-top:1px solid var(--brd)}
.au-nxt-cd{font-family:var(--fd);font-size:20px;font-weight:800;color:var(--t1);line-height:1}
.au-nxt-cd-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--t3);margin-top:3px}

/* -- Letztes Rennen Recap -- */
.au-recap-card{background:var(--card);border:1px solid var(--brd);border-radius:var(--r);padding:24px;margin-top:20px}
.au-recap-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:20px}
.au-recap-tag{font-size:12px;color:var(--t3);border:1px solid var(--brd);border-radius:var(--rs);padding:4px 10px}
.au-recap-link{margin-left:auto;font-size:12px;font-weight:500;color:var(--t3);text-decoration:none;display:flex;align-items:center;gap:4px;white-space:nowrap;transition:color .15s}
.au-recap-link:hover{color:var(--acc)}
.au-recap-link svg{width:13px;height:13px;transition:transform .15s}
.au-recap-link:hover svg{transform:translateX(2px)}
.au-recap-podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:10px;align-items:end}
.au-recap-item{border:1px solid var(--brd);border-radius:var(--rs);padding:16px 10px;text-align:center;transition:border-color .2s,transform .2s}
a.au-recap-item{display:block;text-decoration:none;color:inherit}
.au-recap-p1{grid-column:2;grid-row:1;padding-top:24px;background:linear-gradient(180deg,rgba(255,185,0,.07),transparent);border-color:rgba(255,185,0,.2)}
.au-recap-p2{grid-column:1;grid-row:1;background:linear-gradient(180deg,rgba(192,192,192,.05),transparent)}
.au-recap-p3{grid-column:3;grid-row:1;background:linear-gradient(180deg,rgba(205,127,50,.05),transparent)}
.au-recap-p1:hover{border-color:rgba(255,185,0,.5);transform:translateY(-3px)}
.au-recap-p2:hover{border-color:rgba(192,192,192,.3);transform:translateY(-3px)}
.au-recap-p3:hover{border-color:rgba(205,127,50,.3);transform:translateY(-3px)}
.au-recap-medal{font-size:22px;margin-bottom:6px}
.au-recap-pos{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.au-recap-p1 .au-recap-pos{color:#FFB900}
.au-recap-p2 .au-recap-pos{color:#A0A0A0}
.au-recap-p3 .au-recap-pos{color:#CD7F32}
.au-recap-name{font-family:var(--fd);font-size:14px;font-weight:600;color:var(--t1);margin-bottom:3px}
.au-recap-car{font-size:11px;color:var(--t3)}

/* -- Discord Widget -- */
.au-disc-wrap{margin-top:20px;border:1px solid var(--brd);border-radius:var(--r);overflow:hidden}
.au-disc-frame{width:100%;height:350px;display:block;border:none;background:var(--card)}
.au-disc-placeholder{padding:40px 24px;text-align:center;color:var(--t3);font-size:14px;font-family:var(--fd)}

/* -- Body Grid (Hauptinhalt + Sidebar) -- */
.au-section-wide{max-width:1840px}
.au-body{display:grid;grid-template-columns:1fr 380px;gap:0;max-width:1840px;margin:0 auto}
.au-main{min-width:0}
.au-main .au-section{max-width:none;margin:0}

/* Sidebar — höhe = au-main durch grid stretch, sticky bleibt oben */
.au-sidebar{position:sticky;top:16px;display:flex;flex-direction:column;gap:20px;padding:48px 24px 0;height:100%;overflow-y:auto}
.au-sb-block{display:flex;flex-direction:column;gap:10px}
.au-sb-block:last-child{flex:1;min-height:0}
.au-sb-ht{display:flex;align-items:center;gap:7px}
.au-sb-bar{width:3px;height:14px;background:var(--acc);border-radius:2px;flex-shrink:0}
.au-sb-label{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--t3);font-weight:500}

/* Sidebar-Overrides: kompaktere Widgets */
.au-sidebar .au-nxt-grid{grid-template-columns:1fr;margin-top:0}
.au-sidebar .au-nxt-card{padding:14px 16px}
.au-sidebar .au-nxt-track{font-size:14px}
.au-sidebar .au-nxt-cd{font-size:17px}
.au-sidebar .au-recap-card{margin-top:0;padding:16px}
.au-sidebar .au-recap-p1{padding-top:14px}
.au-sidebar .au-disc-wrap{margin-top:0;flex:1;display:flex;flex-direction:column;min-height:0}
.au-sidebar .au-disc-frame{flex:1;height:auto;min-height:260px}

@media(max-width:1200px){
  .au-body{grid-template-columns:1fr}
  .au-sidebar{position:static;padding:0 24px;height:auto}
  .au-sidebar .au-nxt-grid{grid-template-columns:repeat(2,1fr)}
  .au-sidebar .au-recap-p1{padding-top:24px}
}

@media(max-width:700px){
  .au-hero{padding:48px 16px 40px}
  .au-stats{grid-template-columns:repeat(2,1fr);padding:0 12px;margin-top:-10px}
  .au-section{padding:36px 12px 0}
  .au-card{padding:22px 18px}
  .au-links{grid-template-columns:1fr}
  .au-sidebar{padding:0 12px;height:auto}
  .au-sidebar .au-nxt-grid{grid-template-columns:1fr}
  .au-recap-podium{display:flex;flex-direction:row;gap:6px}
  .au-recap-item{flex:1;min-width:0;padding:10px 6px}
  .au-recap-p1{padding-top:0;order:2}
  .au-recap-p2{order:1}
  .au-recap-p3{order:3}
  .au-disc-frame{height:280px}
}

/* -- 14. Komponente: Ultimate Sprint Liga (.usl-*) ------------- */

.usl{color:var(--t1);font-family:var(--fb);-webkit-font-smoothing:antialiased}

.usl-hero{position:relative;overflow:hidden;padding:80px 24px 60px;text-align:center}
.usl-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 50% at 50% 0%,rgba(228,115,37,.1),transparent 70%);pointer-events:none}
.usl-hero-grid{position:absolute;inset:0;background-image:
  linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:60px 60px;mask-image:radial-gradient(ellipse 60% 60% at 50% 30%,#000,transparent);-webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 30%,#000,transparent);pointer-events:none}
.usl-hero-content{position:relative;max-width:700px;margin:0 auto}
.usl-hero-tag{display:inline-flex;align-items:center;gap:6px;background:var(--acc-g);border:1px solid rgba(228,115,37,.2);border-radius:20px;padding:6px 14px;font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--acc);font-weight:600;margin-bottom:24px}
.usl-hero-tag-dot{width:6px;height:6px;border-radius:50%;background:var(--acc);animation:pulse 2s ease-in-out infinite}
.usl-hero h1{font-family:var(--fd);font-size:clamp(32px,6vw,52px);font-weight:800;line-height:1.08;background:linear-gradient(135deg,#fff 20%,rgba(255,255,255,.6) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:14px}
.usl-hero p{font-size:clamp(15px,2vw,18px);color:var(--t2);line-height:1.7;max-width:560px;margin:0 auto}

.usl-c{max-width:900px;margin:0 auto;padding:40px 24px 60px}
.usl-section{margin-bottom:32px;animation:sec-in .5s ease both .1s}
.usl-c > .usl-section:nth-child(4){animation-delay:.25s}
.usl-c > .usl-section:nth-child(5){animation-delay:.4s}
.usl-section-ht{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.usl-section-bar{width:4px;height:18px;background:var(--acc);border-radius:2px}
.usl-section-label{font-size:12px;text-transform:uppercase;letter-spacing:2.5px;color:var(--t3);font-weight:500}
.usl-h2{font-family:var(--fd);font-size:clamp(18px,3vw,24px);font-weight:700;color:var(--t1);margin-bottom:16px}

.usl-alert{background:var(--acc-g);border:1px solid rgba(228,115,37,.25);border-radius:var(--r);padding:20px 24px;margin-bottom:28px}
.usl-alert-title{font-family:var(--fd);font-size:18px;font-weight:700;color:var(--t1);margin-bottom:6px}
.usl-alert-date{font-family:var(--fd);font-size:15px;font-weight:600;color:var(--acc);margin-bottom:8px}
.usl-alert-text{font-size:14px;color:var(--t2);line-height:1.7}

.usl-steps{list-style:none;counter-reset:step;display:flex;flex-direction:column;gap:12px}
.usl-steps li{position:relative;padding-left:36px;font-size:14px;color:var(--t2);line-height:1.7;counter-increment:step}
.usl-steps li::before{content:counter(step);position:absolute;left:0;top:1px;width:24px;height:24px;border-radius:50%;background:var(--acc-g);border:1px solid rgba(228,115,37,.25);color:var(--acc);font-family:var(--fd);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
.usl-free{display:inline-block;padding:6px 14px;border-radius:var(--rs);background:rgba(74,222,128,.12);border:1px solid rgba(74,222,128,.2);color:var(--grn);font-size:14px;font-weight:600;margin:4px 0}

.usl-card{background:var(--card);border:1px solid var(--brd);border-radius:var(--r);overflow:hidden;margin-bottom:28px}
.usl-tbl{width:100%;border-collapse:collapse;font-size:14px}
.usl-tbl th{text-align:left;padding:11px 18px;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--t3);background:rgba(255,255,255,.02);border-bottom:1px solid var(--brd);font-weight:600;width:40%}
.usl-tbl td{color:var(--t2);padding:11px 18px;color:var(--t2);border-bottom:1px solid rgba(255,255,255,.025)}
.usl-tbl tr:last-child th,.usl-tbl tr:last-child td{border-bottom:none}
.usl-tbl tr:hover td,.usl-tbl tr:hover th{background:var(--tr-hover)}

.usl-text{font-size:14px;color:var(--t2);line-height:1.8}
.usl-text p{margin-bottom:12px}
.usl-text p:last-child{margin-bottom:0}

.usl-cta{display:flex;justify-content:center;margin-top:40px;margin-bottom:30px;}
.usl-cta a{display:inline-flex;align-items:center;gap:10px;padding:14px 36px;background:var(--acc);color:#fff;font-family:var(--fd);font-size:15px;font-weight:700;border-radius:var(--rs);text-decoration:none;transition:transform .2s,box-shadow .2s}
.usl-cta a:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(228,115,37,.25)}
.usl-cta a svg{width:18px;height:18px}
.usl a{color:var(--t1);text-decoration:none;font-weight:500;transition:color .2s}
.usl a:hover{color:var(--t1);text-decoration:underline}

@media(max-width:700px){
  .usl-hero{padding:48px 16px 40px}
  .usl-c{padding:32px 12px 40px}
  .usl-tbl th,.usl-tbl td{padding:10px 14px}
}

/* -- 15. Komponente: Impressum (.im-*) ------------------------- */

.im{color:var(--t1);font-family:var(--fb);-webkit-font-smoothing:antialiased}
.im-c{max-width:900px;margin:0 auto;padding:20px 24px 60px}

.im-ht{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.im-ht-bar{width:4px;height:18px;background:var(--acc);border-radius:2px}
.im-ht-txt{font-size:12px;text-transform:uppercase;letter-spacing:2.5px;color:var(--t3);font-weight:500}
.im-title{font-family:var(--fd);font-size:clamp(28px,5vw,46px);font-weight:800;line-height:1.1;background:linear-gradient(135deg,#fff 20%,rgba(255,255,255,.65) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:28px}

.im-card{background:var(--card);border:1px solid var(--brd);border-radius:var(--r);padding:32px;margin-bottom:16px}
.im-card h2{font-family:var(--fd);font-size:18px;font-weight:700;color:var(--t1);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--brd)}
.im-card p{font-size:14px;color:var(--t2);line-height:1.8;margin-bottom:12px}
.im-card p:last-child{margin-bottom:0}
.im-card a{color:var(--acc);text-decoration:none;font-weight:500;transition:color .2s}
.im-card a:hover{color:#f59e4a;text-decoration:underline}

@media(max-width:700px){.im-c{padding:16px 12px 40px}.im-card{padding:22px 18px}}

/* -- 16. Komponente: Datenschutz (.ds-*) ----------------------- */

.ds{color:var(--t1);font-family:var(--fb);-webkit-font-smoothing:antialiased}
.ds-c{max-width:900px;margin:0 auto;padding:20px 24px 60px}

.ds-ht{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.ds-ht-bar{width:4px;height:18px;background:var(--acc);border-radius:2px}
.ds-ht-txt{font-size:12px;text-transform:uppercase;letter-spacing:2.5px;color:var(--t3);font-weight:500}
.ds-title{font-family:var(--fd);font-size:clamp(28px,5vw,46px);font-weight:800;line-height:1.1;background:linear-gradient(135deg,#fff 20%,rgba(255,255,255,.65) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:28px}

.ds-card{background:var(--card);border:1px solid var(--brd);border-radius:var(--r);padding:32px;margin-bottom:16px}
.ds-card h2{font-family:var(--fd);font-size:18px;font-weight:700;color:var(--t1);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--brd)}
.ds-card p{font-size:14px;color:var(--t2);line-height:1.8;margin-bottom:12px}
.ds-card p:last-child{margin-bottom:0}
.ds-card a{color:var(--acc);text-decoration:none;font-weight:500;transition:color .2s;word-break:break-all}
.ds-card a:hover{color:#f59e4a;text-decoration:underline}
.ds-card strong{color:var(--t1);font-weight:600}
.ds-card ul{margin:8px 0 12px 20px;padding:0}
.ds-card ul li{font-size:14px;color:var(--t2);line-height:1.8;margin-bottom:4px;list-style:none;position:relative;padding-left:16px}
.ds-card ul li::before{content:'';position:absolute;left:0;top:10px;width:5px;height:5px;border-radius:50%;background:var(--acc);opacity:.6}
.ds-card ul li a{word-break:break-all}

.ds-contact{display:inline-flex;align-items:center;gap:8px;background:rgba(228,115,37,.08);border:1px solid rgba(228,115,37,.2);border-radius:8px;padding:10px 18px;margin-top:4px;text-decoration:none;transition:border-color .2s}
.ds-contact:hover{border-color:rgba(228,115,37,.4)}
.ds-contact svg{width:16px;height:16px;color:var(--acc)}
.ds-contact span{font-size:14px;color:var(--acc);font-weight:500}

@media(max-width:700px){.ds-c{padding:16px 12px 40px}.ds-card{padding:22px 18px}}

/* -- 17. Komponente: Kontakt (.kt-*) --------------------------- */

.kt{color:var(--t1);font-family:var(--fb);-webkit-font-smoothing:antialiased}

.kt-hero{position:relative;overflow:hidden;padding:80px 24px 60px;text-align:center}
.kt-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 50% at 50% 0%,rgba(228,115,37,.1),transparent 70%);pointer-events:none}
.kt-hero-grid{position:absolute;inset:0;background-image:
  linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:60px 60px;mask-image:radial-gradient(ellipse 60% 60% at 50% 30%,#000,transparent);-webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 30%,#000,transparent);pointer-events:none}
.kt-hero-content{position:relative;max-width:900px;margin:0 auto}
.kt-hero-tag{display:inline-flex;align-items:center;gap:6px;background:var(--acc-g);border:1px solid rgba(228,115,37,.2);border-radius:20px;padding:6px 14px;font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--acc);font-weight:600;margin-bottom:24px}
.kt-hero-tag-dot{width:6px;height:6px;border-radius:50%;background:var(--acc);animation:pulse 2s ease-in-out infinite}
.kt-hero h1{font-family:var(--fd);font-size:clamp(32px,6vw,52px);font-weight:800;line-height:1.08;background:linear-gradient(135deg,#fff 20%,rgba(255,255,255,.6) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:14px}
.kt-hero p{font-size:clamp(15px,2vw,18px);color:var(--t2);line-height:1.7;max-width:600px;margin:0 auto}

.kt-section{max-width:1200px;margin:0 auto;padding:0 24px}
.kt-section-ht{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.kt-section-bar{width:4px;height:18px;background:var(--acc);border-radius:2px}
.kt-section-label{font-size:12px;text-transform:uppercase;letter-spacing:2.5px;color:var(--t3);font-weight:500}

.kt-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:48px}
.kt-step{background:var(--card);border:1px solid var(--brd);border-radius:var(--r);padding:28px 22px;text-align:center;opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease,border-color .2s}
.kt-step.visible{opacity:1;transform:translateY(0)}
.kt-step:hover{border-color:var(--brd-h);transform:translateY(-2px)}
.kt-step-num{font-family:var(--fd);font-size:32px;font-weight:800;color:var(--acc);opacity:.3;margin-bottom:8px}
.kt-step-title{font-family:var(--fd);font-size:16px;font-weight:700;color:var(--t1);margin-bottom:8px}
.kt-step-desc{font-size:14px;color:var(--t2);line-height:1.6}

.kt-card{background:var(--card);border:1px solid var(--brd);border-radius:var(--r);padding:32px;margin-bottom:20px}
.kt-card p{font-size:15px;color:var(--t2);line-height:1.8;margin-bottom:14px}
.kt-card p:last-child{margin-bottom:0}
.kt-card a{color:var(--acc);text-decoration:none;font-weight:500;transition:color .2s}
.kt-card a:hover{color:#f59e4a;text-decoration:underline}
.kt-card .hl{color:var(--t1);font-weight:500}

.kt-reqs{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px;margin-bottom:0}
.kt-req{display:flex;align-items:center;gap:12px;background:var(--tr-hover);border:1px solid var(--brd);border-radius:var(--rs);padding:14px 16px}
.kt-req svg{width:20px;height:20px;color:var(--acc);flex-shrink:0}
.kt-req-text{font-size:14px;color:var(--t2);line-height:1.4}
.kt-req-text strong{color:var(--t1);font-weight:600}

.kt-cta-wrap{text-align:center;padding:48px 24px 0}
.kt-cta{display:inline-flex;align-items:center;gap:10px;background:var(--acc);color:#fff;font-family:var(--fd);font-size:16px;font-weight:600;padding:14px 32px;border-radius:var(--rs);text-decoration:none;transition:transform .2s,box-shadow .2s}
.kt-cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(228,115,37,.25)}
.kt-cta svg{width:18px;height:18px}

.kt-links{max-width:1200px;margin:0 auto;padding:36px 24px 0}
.kt-links-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}
.kt-link{background:var(--card);border:1px solid var(--brd);border-radius:var(--rs);padding:18px 20px;text-align:center;text-decoration:none;transition:border-color .2s,transform .2s}
.kt-link:hover{border-color:var(--brd-h);transform:translateY(-2px)}
.kt-link-icon{margin-bottom:8px}
.kt-link-name{font-family:var(--fd);font-size:14px;font-weight:600;color:var(--t1)}
.kt-link-desc{font-size:12px;color:var(--t3);margin-top:4px}

.kt-footer{height:60px}

@media(max-width:700px){
  .kt-hero{padding:48px 16px 40px}
  .kt-steps{grid-template-columns:1fr}
  .kt-section{padding:0 12px}
  .kt-card{padding:22px 18px}
  .kt-reqs{grid-template-columns:1fr}
  .kt-links{padding:36px 12px 0}
  .kt-links-grid{grid-template-columns:1fr}
}

/* -- 18. Komponente: Wartung (.wt-*) --------------------------- */

.wt{color:var(--t1);font-family:var(--fb);-webkit-font-smoothing:antialiased;min-height:60vh;display:flex;align-items:center;justify-content:center}
.wt-c{max-width:600px;margin:0 auto;padding:60px 24px;text-align:center}

.wt-icon{width:64px;height:64px;margin:0 auto 28px;border-radius:50%;background:rgba(228,115,37,0.1);display:flex;align-items:center;justify-content:center}
.wt-icon svg{width:28px;height:28px;color:var(--acc)}
.wt-title{font-family:var(--fd);font-size:clamp(28px,5vw,42px);font-weight:800;line-height:1.1;background:linear-gradient(135deg,#fff 20%,rgba(255,255,255,.65) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:14px}
.wt-text{font-size:15px;color:var(--t2);line-height:1.7;margin-bottom:36px}
.wt-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.07);border-top-color:var(--acc);border-radius:50%;animation:sp .75s linear infinite;margin:0 auto}

@media(max-width:700px){.wt-c{padding:40px 16px}}

/* -- 19. Komponente: Alles auf einen Blick (.ab-*) ------------- */

.ab{color:var(--t1);font-family:var(--fb);-webkit-font-smoothing:antialiased}

.ab-hero{position:relative;overflow:hidden;padding:80px 24px 60px;text-align:center}
.ab-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 50% at 50% 0%,rgba(228,115,37,.1),transparent 70%);pointer-events:none}
.ab-hero-grid{position:absolute;inset:0;background-image:
  linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:60px 60px;mask-image:radial-gradient(ellipse 60% 60% at 50% 30%,#000,transparent);-webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 30%,#000,transparent);pointer-events:none}
.ab-hero-content{position:relative;max-width:700px;margin:0 auto}
.ab-hero-tag{display:inline-flex;align-items:center;gap:6px;background:var(--acc-g);border:1px solid rgba(228,115,37,.2);border-radius:20px;padding:6px 14px;font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--acc);font-weight:600;margin-bottom:24px}
.ab-hero-tag-dot{width:6px;height:6px;border-radius:50%;background:var(--acc);animation:pulse 2s ease-in-out infinite}
.ab-hero h1{font-family:var(--fd);font-size:clamp(32px,6vw,52px);font-weight:800;line-height:1.08;background:linear-gradient(135deg,#fff 20%,rgba(255,255,255,.6) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:14px}
.ab-hero p{font-size:clamp(15px,2vw,18px);color:var(--t2);line-height:1.7;max-width:560px;margin:0 auto}

.ab-facts{max-width:900px;margin:-20px auto 0;position:relative;z-index:2;padding:0 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ab-fact{background:var(--card);border:1px solid var(--brd);border-radius:var(--r);padding:18px 14px;text-align:center}
.ab-fact-val{font-family:var(--fd);font-size:20px;font-weight:800;color:var(--t1);margin-bottom:4px}
.ab-fact-val span{color:var(--acc)}
.ab-fact-label{font-size:12px;text-transform:uppercase;letter-spacing:1.2px;color:var(--t3);font-weight:500}

.ab-c{max-width:900px;margin:0 auto;padding:40px 24px 60px}
.ab-section{margin-bottom:32px;animation:sec-in .55s ease both .1s}
.ab-section:nth-child(2){animation-delay:.25s}
.ab-h2{font-family:var(--fd);font-size:clamp(20px,3.5vw,28px);font-weight:700;color:var(--t1);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--brd)}
.ab-h3{font-family:var(--fd);font-size:16px;font-weight:700;color:var(--acc);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.ab-h3::before{content:'';width:3px;height:14px;background:var(--acc);border-radius:2px;flex-shrink:0}

.ab-card{background:var(--card);border:1px solid var(--brd);border-radius:var(--r);padding:18px 22px;margin-bottom:12px;transition:border-color .2s,transform .2s}
.ab-card:hover{border-color:var(--brd-h);transform:translateY(-2px)}

.ab-list{list-style:none;display:flex;flex-direction:column;gap:8px}
.ab-list li{position:relative;padding-left:16px;font-size:14px;color:var(--t2);line-height:1.7}
.ab-list li::before{content:'';position:absolute;left:0;top:10px;width:5px;height:5px;border-radius:50%;background:var(--acc);opacity:.6}
.ab-list li strong{color:var(--t1);font-weight:600}
.ab-section > .ab-list{margin-bottom:20px}

.ab-cta{margin-top:40px;padding:20px 24px;background:var(--acc-g);border:1px solid rgba(228,115,37,.25);border-radius:var(--r);font-size:15px;color:var(--t2);line-height:1.7}
.ab-cta a{color:var(--acc);font-weight:600;text-decoration:none;transition:color .2s}
.ab-cta a:hover{color:var(--t1);text-decoration:underline}
.ab a{color:var(--acc);text-decoration:none;font-weight:500;transition:color .2s}
.ab a:hover{color:var(--t1);text-decoration:underline}

@media(max-width:700px){
  .ab-hero{padding:48px 16px 40px}
  .ab-facts{grid-template-columns:repeat(2,1fr);padding:0 12px;margin-top:-10px}
  .ab-c{padding:32px 12px 40px}
  .ab-card{padding:14px 16px}
}

/* --------------------------------------------------------------------
   20. .re-* (Rennergebnisse)
-------------------------------------------------------------------- */
.re{color:var(--t1);font-family:var(--fb);-webkit-font-smoothing:antialiased}
.re-c{max-width:1600px;margin:0 auto;padding:20px 24px 40px}

.re-ht{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.re-ht-bar{width:4px;height:18px;background:var(--acc);border-radius:2px}
.re-ht-txt{font-size:12px;text-transform:uppercase;letter-spacing:2.5px;color:var(--t3);font-weight:500}
.re-title{font-family:var(--fd);font-size:clamp(24px,4.5vw,42px);font-weight:800;line-height:1.1;background:linear-gradient(135deg,#fff 20%,rgba(255,255,255,.65) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:6px}
.re-sub{font-size:14px;color:var(--t3);margin-bottom:8px;line-height:1.6}

.re-tabs{display:flex;gap:0;border-bottom:1px solid var(--brd);padding:5px;margin-bottom:28px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.re-tab{padding:12px 22px;border:none;background:none;cursor:pointer;font-family:var(--fb);font-size:14px;font-weight:400;color:var(--t3);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s;white-space:nowrap}
.re-tab:hover{color:var(--t2)}
.re-tab.on{color:var(--acc);font-weight:600;border-bottom-color:var(--acc)}

.re-badges{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.re-b{padding:5px 14px;border-radius:100px;font-size:12.5px;font-weight:500;border:1px solid var(--brd);background:var(--card);color:var(--t2);white-space:nowrap}
.re-b-pro{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff;font-weight:600}
.re-b-am{background:rgba(248,113,113,.12);border-color:rgba(248,113,113,.25);color:var(--red);font-weight:600}

.re-info{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.re-info-card{background:var(--card);border:1px solid var(--brd);border-radius:var(--r);padding:14px 18px;display:flex;flex-direction:column;gap:2px;min-width:160px}
.re-info-l{font-size:12px;text-transform:uppercase;letter-spacing:1.2px;color:var(--t4)}
.re-info-v{font-family:var(--fd);font-size:15px;font-weight:600;color:var(--t1)}

.re-record{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--rs);font-size:14px;font-weight:600;margin-bottom:20px}
.re-record-new{background:rgba(167,139,250,.15);border:1px solid rgba(167,139,250,.25);color:var(--pur)}
.re-record-old{background:var(--card);border:1px solid var(--brd);color:var(--t2)}

.re-legend{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.re-leg{padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600}
.re-leg-pb{background:rgba(74,222,128,.15);border:1px solid rgba(74,222,128,.25);color:var(--grn)}
.re-leg-fl{background:rgba(167,139,250,.15);border:1px solid rgba(167,139,250,.25);color:var(--pur)}

.re-tw{overflow-x:auto;border-radius:var(--r);border:1px solid var(--brd)}
.re-tbl{width:100%;border-collapse:collapse;font-size:14px}
.re-tbl th{text-align:left;padding:10px 14px;font-size:12px;text-transform:uppercase;letter-spacing:1.2px;color:var(--t3);background:rgba(255,255,255,.02);border-bottom:1px solid var(--brd);font-weight:600;white-space:nowrap}
.re-tbl td{color:var(--t2);padding:9px 14px;border-bottom:1px solid rgba(255,255,255,.025);white-space:nowrap}
.re-tbl tr{background:var(--bg)}
/* .re-tbl thead tr,.re-tbl tr:nth-child(even){background:color-mix(in srgb,var(--bg) 98%,white)} */
.re-tbl tr:last-child td{border-bottom:none}
.re-tbl tr:hover td{background:var(--tr-hover)}
.re-tbl th.c,.re-tbl td.c{text-align:center}

.pb-cell{background:rgba(74,222,128,.32) !important}
.pb-fl-cell{background:linear-gradient(150deg, rgba(167,139,250,.32) 49%, 51%, rgba(74,222,128,.32)) !important}
.wk-pro{background:rgba(255,255,255,.12)}
.wk-am{background:rgba(248,113,113,.16)}

.re-gap{display:block;font-size:12px;color:var(--t3);margin-top:1px}
.re-time{font-family:var(--fd);font-weight:400}
.re-penalty-time{color:var(--red);font-size:12px}

.re-link{color:var(--t2);text-decoration:none;transition:color .2s}
.re-link:hover{color:var(--acc);text-decoration:underline}

.re-hint{font-size:13px;color:var(--t3);margin-top:12px;line-height:1.6}

.re-fl-hint{display:inline-block;padding:6px 14px;border-radius:var(--rs);background:rgba(167,139,250,.15);border:1px solid rgba(167,139,250,.25);color:var(--pur);font-size:12px;font-weight:600;margin-top:12px}

.re-st{display:inline-flex;gap:3px;background:var(--card);border-radius:10px;padding:3px;margin-bottom:20px}
.re-stb{padding:7px 18px;border-radius:var(--rs);border:none;cursor:pointer;font-family:var(--fb);font-size:14px;font-weight:500;background:transparent;color:var(--t3);transition:all .2s}
.re-stb:hover{color:var(--t2)}
.re-stb.on{background:var(--acc-g);color:var(--acc)}

.re-p{background:var(--tr-hover);border:1px solid var(--brd);border-radius:var(--r);padding:24px;margin-top:24px}
.re-p-t{font-size:12px;text-transform:uppercase;letter-spacing:1.8px;color:var(--t4);margin-bottom:18px;font-weight:500}

.re-ld{text-align:center;padding:80px 20px}
.re-sp{width:36px;height:36px;border:3px solid rgba(255,255,255,.07);border-top-color:var(--acc);border-radius:50%;animation:sp .75s linear infinite;margin:0 auto 16px}
.re-ld-t{color:var(--t3);font-size:14px}
.re-empty{text-align:center;padding:60px 20px;color:var(--t3);font-size:16px}
.re-err{text-align:center;padding:60px 20px;color:var(--red);font-size:15px}

/* Joomla CSS-Bleed-Schutz */
/* .re a,.re a:hover,.re a:focus,.re a:active{color:inherit;text-decoration:none}
.re button{font-family:inherit} */

@media(max-width:700px){.re-c{padding:16px 12px 30px}.re-tab{padding:10px 14px;font-size:14px}.re-info{flex-direction:column}}

/* -- 21. Hall of Fame (.hf-*) --------------------------- */
.hf{color:var(--t1);font-family:var(--fb);-webkit-font-smoothing:antialiased}
.hf-c{max-width:1200px;margin:0 auto;padding:20px 24px 40px}

/* Header tag */
.hf-ht{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.hf-ht-bar{width:4px;height:20px;background:var(--acc);border-radius:2px}
.hf-ht-txt{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--acc);font-weight:600}
.hf-title{font-size:36px;font-weight:800;color:var(--t1);margin:0 0 24px;line-height:1.1}

/* Series tabs */
.hf-tabs{display:flex;border-bottom:1px solid var(--brd);padding:5px;margin-bottom:24px;overflow-x:auto}
.hf-tab{padding:12px 22px;border:none;background:none;cursor:pointer;font-family:var(--fb);font-size:14px;font-weight:400;color:var(--t3);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s;white-space:nowrap}
.hf-tab:hover{color:var(--t1)}
.hf-tab.on{color:var(--acc);border-bottom-color:var(--acc)}

/* Section panel */
.hf-p{background:var(--card);border:1px solid var(--brd);border-radius:10px;padding:20px}
.hf-p-t{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--t4);font-weight:600;margin-bottom:16px}

/* Page hero */
.hf-hero{position:relative;overflow:hidden;padding:80px 24px 30px;text-align:center}
.hf-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 50% at 50% 0%,rgba(228,115,37,.1),transparent 70%);pointer-events:none}
.hf-hero-grid{position:absolute;inset:0;background-image:
  linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:60px 60px;mask-image:radial-gradient(ellipse 60% 60% at 50% 30%,#000,transparent);-webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 30%,#000,transparent);pointer-events:none}
.hf-hero-content{position:relative;max-width:700px;margin:0 auto}
.hf-hero-tag{display:inline-flex;align-items:center;gap:6px;background:var(--acc-g);border:1px solid rgba(228,115,37,.2);border-radius:20px;padding:6px 14px;font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--acc);font-weight:600;margin-bottom:24px}
.hf-hero-tag-dot{width:6px;height:6px;border-radius:50%;background:var(--acc);animation:pulse 2s ease-in-out infinite}
.hf-hero h1{font-family:var(--fd);font-size:clamp(32px,6vw,52px);font-weight:800;line-height:1.08;background:linear-gradient(135deg,#fff 20%,rgba(255,255,255,.6) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:14px}
.hf-hero p{font-size:clamp(15px,2vw,18px);color:var(--t2);line-height:1.7;max-width:560px;margin:0 auto}

/* Champion card */
.hf-champ-card{background:linear-gradient(135deg,rgba(228,115,37,.12) 0%,rgba(245,197,66,.06) 100%);border:1px solid rgba(228,115,37,.25);border-radius:10px;padding:18px 22px;margin-bottom:20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.hf-champ-crown{font-size:32px;line-height:1;flex-shrink:0}
.hf-champ-info{flex:1;min-width:0}
.hf-champ-season{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--acc);font-weight:600;margin-bottom:4px}
.hf-champ-name{display:block;font-size:22px;font-weight:700;color:var(--t1);text-decoration:none}
.hf-champ-name:hover{color:var(--acc)}
.hf-champ-pts{font-size:20px;font-weight:700;color:var(--t3);flex-shrink:0;white-space:nowrap}

/* Table */
.hf-tw{overflow-x:auto;border-radius:6px;border:1px solid var(--brd)}
.hf-tbl{width:100%;border-collapse:collapse;font-size:14px}
.hf-tbl th{padding:10px 12px;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--t4);font-weight:600;border-bottom:1px solid var(--brd);white-space:nowrap}
.hf-tbl th.c{text-align:center}
.hf-tbl td{padding:10px 12px;color:var(--t2);border-bottom:1px solid var(--brd)}
.hf-tbl td.c{text-align:center}
.hf-tbl tbody tr:last-child td{border-bottom:none}
.hf-tbl tbody tr:hover td{background:var(--card-h)}
.hf-row-latest td{background:rgba(228,115,37,.05)}
.hf-row-latest:hover td{background:rgba(228,115,37,.08)!important}

/* Table cell types */
.hf-td-season{font-weight:600;color:var(--t4);font-size:12px;white-space:nowrap}
.hf-td-pts{color:var(--t3);font-size:12px}
.hf-td-driver{display:flex;align-items:center;gap:8px}
.hf-td-num{color:var(--t2)}
.hf-gold{color:#f5c542;font-weight:600}
.hf-rank{font-size:11px;color:var(--t4);min-width:22px;flex-shrink:0}

/* Links */
.hf-link{color:var(--t1);text-decoration:none}
.hf-link:hover{color:var(--acc)}
.hf-champ-link{font-weight:500}

/* Sortable table headers */
.hf-th-sort{cursor:pointer;user-select:none;white-space:nowrap}
.hf-th-sort:hover{color:var(--t2)}
.hf-th-active{color:var(--acc)!important}
.hf-sort-arrow{margin-left:3px;font-size:9px;opacity:.8}

/* Mobile sort control (hidden on desktop, shown at 700px) */
.hf-sort-ctrl{display:none;gap:8px;align-items:center;margin-top:8px}
.hf-csel{position:relative;flex:1;user-select:none}
.hf-csel-val{padding:9px 32px 9px 12px;background:var(--card);border:1px solid var(--brd);border-radius:var(--rs);color:var(--t1);font-family:var(--fb);font-size:14px;cursor:pointer;position:relative;transition:border-color .2s}
.hf-csel-val::after{content:'?';position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--t3);font-size:12px;pointer-events:none}
.hf-csel.open .hf-csel-val{border-color:var(--acc)}
.hf-csel-dd{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg);border:1px solid var(--brd);border-radius:var(--rs);overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.5)}
.hf-csel.open .hf-csel-dd{display:block}
.hf-csel-opt{padding:10px 12px;color:var(--t2);font-family:var(--fb);font-size:14px;cursor:pointer;transition:background .15s,color .15s}
.hf-csel-opt:hover{background:rgba(255,255,255,.05);color:var(--t1)}
.hf-csel-opt.sel{color:var(--acc);background:var(--acc-g)}
.hf-sort-dir{padding:9px 16px!important;background:var(--card)!important;border:1px solid var(--brd)!important;border-radius:var(--rs)!important;color:var(--t1)!important;font-size:15px!important;cursor:pointer!important;flex-shrink:0!important;font-family:var(--fb)!important;transition:border-color .2s!important}
.hf-sort-dir:hover{border-color:var(--acc)!important}

/* Search */
.hf-search{width:100%!important;padding:10px 16px 10px 40px!important;background:var(--card)!important;border:1px solid var(--brd)!important;border-radius:var(--rs)!important;color:var(--t1)!important;font-family:var(--fb)!important;font-size:14px!important;outline:none!important;transition:border-color .2s;margin-top:16px!important;margin-bottom:8px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='rgba(255,255,255,0.3)' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85zm-5.242.156a5 5 0 1 1 0-10 5 5 0 0 1 0 10z'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:12px center!important;box-shadow:none!important}
.hf-search::placeholder{color:var(--t3)!important}
.hf-search:focus{border-color:var(--acc)!important}
input[type="text"].hf-search{padding-left:40px!important}

/* Stat cards grid */
.hf-scg{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.hf-sc{background:var(--card);border:1px solid var(--brd);border-radius:8px;padding:16px;text-align:center}
.hf-sc-v{font-size:30px;font-weight:800;color:var(--acc);line-height:1;margin-bottom:4px}
.hf-sc-l{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--t4);font-weight:600;margin-bottom:8px}
.hf-sc-n{font-size:14px;color:var(--t2);text-decoration:none;font-weight:500}
.hf-sc-n:hover{color:var(--acc)}

/* Loading */
.hf-ld{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 0}
.hf-sp{width:28px;height:28px;border:3px solid var(--brd);border-top-color:var(--acc);border-radius:50%;animation:sp .8s linear infinite}
.hf-ld-t{font-size:14px;color:var(--t3)}
.hf-err,.hf-empty{text-align:center;padding:40px;color:var(--t3);font-size:14px}

/* Mobile */
@media(max-width:600px){
  .hf-title{font-size:26px}
  .hf-tab{padding:8px 12px;font-size:14px}
  .hf-p{padding:14px}
  .hf-hero{padding:48px 16px 40px}
  .hf-champ-card{padding:14px 16px;gap:12px}
  .hf-champ-crown{font-size:24px}
  .hf-champ-name{font-size:18px}
  .hf-champ-pts{font-size:16px}
  .hf-scg{grid-template-columns:repeat(2,1fr)}
  .hf-sc-v{font-size:24px}
}

/* -- Hall of Fame: Tabellen als Card-Layout auf Mobil -- */
@media(max-width:700px){
  /* Champions table: 2-col grid (Name | Pkt.), Saison as full-width badge */
  .hf-tbl-ch thead{display:none}
  .hf-tbl-ch{display:block}
  .hf-tbl-ch tbody{display:flex;flex-direction:column}
  .hf-tbl-ch tr{display:grid;grid-template-columns:1fr auto;padding:6px 0;gap:0;border-bottom:3px solid var(--brd)}
  .hf-tbl-ch td{display:flex;flex-direction:column;padding:3px 10px;text-align:left;min-width:0;font-size:.875rem;white-space:normal}
  .hf-tbl-ch td.c{text-align:left}
  .hf-tbl-ch td::before{content:attr(data-label);font-size:.65em;color:var(--t4);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-weight:400}
  .hf-tbl-ch td:nth-child(1){grid-column:1/-1;padding:4px 10px 2px;font-size:.8rem;font-weight:700;color:var(--t4)}
  .hf-tbl-ch td:nth-child(1)::before{display:none}
  .hf-tbl-ch td:nth-child(3),.hf-tbl-ch td:nth-child(5),.hf-tbl-ch td:nth-child(7){text-align:right;padding:3px 10px}
  /* Leaderboard table: 3-col grid, Fahrer full-width */
  .hf-tbl-lb thead{display:none}
  .hf-tbl-lb{display:block}
  .hf-tbl-lb tbody{display:flex;flex-direction:column}
  .hf-tbl-lb tr{display:grid;grid-template-columns:1fr 1fr 1fr;padding:6px 0;gap:0;border-bottom:3px solid var(--brd)}
  .hf-tbl-lb td{display:flex;flex-direction:column;padding:3px 10px;text-align:left;min-width:0;font-size:.875rem;white-space:normal}
  .hf-tbl-lb td.c{text-align:left}
  .hf-tbl-lb td::before{content:attr(data-label);font-size:.65em;color:var(--t4);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-weight:400}
  .hf-tbl-lb td:nth-child(1){grid-column:1/-1;padding:5px 10px;font-size:.95rem;font-weight:600;flex-direction:row;align-items:center;gap:6px}
  .hf-tbl-lb td:nth-child(1)::before{display:none}
  .hf-sort-ctrl{display:flex}
}

/* -- Rennergebnisse: Ergebnis-Tabelle als Card-Layout auf Mobil -- */
@media(max-width:700px){
  .re-tbl-e thead{display:none}
  .re-tbl-e{display:block}
  .re-tbl-e tbody{display:flex;flex-direction:column;}
  .re-tbl-e tr{display:grid;grid-template-columns:1fr 1fr;padding:6px 0;gap:0;border-bottom:3px solid var(--brd)}
  .re-tbl-e td{display:flex;flex-direction:column;padding:3px 10px;text-align:left;min-width:0;font-size:.875rem;white-space: normal}
  .re-tbl-e td.c{text-align:left}
  .re-tbl-e td::before{content:attr(data-label);font-size:.65em;color:var(--t4);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-weight:400}
  /* Fahrer: full width, slightly larger */
  .re-tbl-e td:nth-child(3){grid-column:1/-1;padding:5px 10px;font-size:1rem;font-weight:600}
  .re-tbl-e td:nth-child(3)::before{font-weight:400}
  /* re-gap, re-time stack naturally in flex-column */
  .re-tbl-e .re-gap,.re-tbl-e .re-penalty-time{display:block;margin-top:1px}

  /* -- Strafen-Tabelle als Card-Layout -- */
  .re-tbl-s thead{display:none}
  .re-tbl-s{display:block}
  .re-tbl-s tbody{display:flex;flex-direction:column;}
  .re-tbl-s tr{display:grid;grid-template-columns:1fr 1fr;padding:6px 0;gap:0;border-bottom:3px solid var(--brd)}
  .re-tbl-s td{display:flex;flex-direction:column;padding:3px 10px;text-align:left;min-width:0;font-size:.875rem;white-space:normal}
  .re-tbl-s td.c{text-align:left}
  .re-tbl-s td::before{content:attr(data-label);font-size:.65em;color:var(--t4);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-weight:400}
  /* td:1 (Fahrer in HL / Team in TS): full width */
  .re-tbl-s td:nth-child(1){grid-column:1/-1;padding:5px 10px;font-size:.95rem;font-weight:600}
  .re-tbl-s td:nth-child(1)::before{font-weight:400}

  /* -- Punkteschlüssel Subtab-Buttons umbrechen -- */
  .re-st{display:flex;flex-wrap:wrap}
  .re-stb{flex:1 1 auto;text-align:center;white-space:normal;padding:6px 10px}

  /* -- Aktuelle Saison: Subtab-Buttons umbrechen -- */
  .as-st{display:flex;flex-wrap:wrap;background:none;border-radius:0;padding:0;gap:4px}
  .as-stb{flex:1 1 auto;text-align:center;white-space:normal;padding:6px 10px;border-radius:var(--rs)}

  /* -- Renntermine Card-Layout -- */
  .as-tbl-rt thead{display:none}
  .as-tbl-rt{display:block}
  .as-tbl-rt tbody{display:flex;flex-direction:column;}
  .as-tbl-rt tr{display:grid;grid-template-columns:1fr 1fr;padding:6px 0;gap:0;border-bottom:3px solid var(--brd)}
  .as-tbl-rt td{display:flex;flex-direction:column;padding:3px 10px;text-align:left;min-width:0;font-size:.875rem;white-space:normal}
  .as-tbl-rt td.c{text-align:left}
  .as-tbl-rt td::before{content:attr(data-label);font-size:.65em;color:var(--t4);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-weight:400}
  /* Strecke: full width */
  .as-tbl-rt td:nth-child(3){grid-column:1/-1;padding:5px 10px;font-size:.95rem;font-weight:600}
  .as-tbl-rt td:nth-child(3)::before{font-weight:400}

  /* -- Wertungs-Tabelle Card-Layout -- */
  .as-tbl-w thead{display:none}
  .as-tbl-w{display:block}
  .as-tbl-w tbody{display:flex;flex-direction:column;}
  .as-tbl-w tr{display:grid;grid-template-columns:1fr 1fr;padding:6px 0;gap:0;border-bottom:3px solid var(--brd)}
  .as-tbl-w td{display:flex;flex-direction:column;padding:3px 10px;text-align:left;min-width:0;font-size:.875rem;white-space:normal}
  .as-tbl-w td.c{text-align:left}
  .as-tbl-w td.ev-col{display:none}
  .as-tbl-w td.ev-col-done{display:flex;justify-content:space-between;align-items:center;grid-column:1/-1}
  .as-tbl-w td.ev-col-done::before{margin-bottom:0}
  .as-tbl-w td::before{content:attr(data-label);font-size:.65em;color:var(--t4);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-weight:400}
  /* Fahrer/Team: full width */
  .as-tbl-w td:nth-child(3){grid-column:1/-1;padding:5px 10px;font-size:.95rem;font-weight:600}
  .as-tbl-w td:nth-child(3)::before{font-weight:400}

  /* -- Fahrerschlüssel Card-Layout (Teamserie) -- */
  .as-tbl-fk thead{display:none}
  .as-tbl-fk{display:block}
  .as-tbl-fk tbody{display:flex;flex-direction:column;}
  .as-tbl-fk tr{display:grid;grid-template-columns:1fr 1fr;padding:6px 0;gap:0;border-bottom:3px solid var(--brd)}
  .as-tbl-fk td{display:flex;flex-direction:column;padding:3px 10px;text-align:left;min-width:0;font-size:.875rem;white-space:normal}
  .as-tbl-fk td.c{text-align:left}
  .as-tbl-fk td::before{content:attr(data-label);font-size:.65em;color:var(--t4);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-weight:400}
  /* Team: full width */
  .as-tbl-fk td:nth-child(2){grid-column:1/-1;padding:5px 10px;font-size:.95rem;font-weight:600}
  .as-tbl-fk td:nth-child(2)::before{font-weight:400}
  /* Fahrerliste: Block-Stacking, kein Komma */
  .fk-drv{display:block}
  .fk-drv+.fk-drv::before{content:none}

  /* -- Fahrerschlüssel Card-Layout (Rennergebnisse Teamserie) -- */
  .re-tbl-fk thead{display:none}
  .re-tbl-fk{display:block}
  .re-tbl-fk tbody{display:flex;flex-direction:column;}
  .re-tbl-fk tr{display:grid;grid-template-columns:1fr 1fr;padding:6px 0;gap:0;border-bottom:3px solid var(--brd)}
  .re-tbl-fk td{display:flex;flex-direction:column;padding:3px 10px;text-align:left;min-width:0;font-size:.875rem;white-space:normal}
  .re-tbl-fk td.c{text-align:left}
  .re-tbl-fk td::before{content:attr(data-label);font-size:.65em;color:var(--t4);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-weight:400}
  /* Team: full width */
  .re-tbl-fk td:nth-child(2){grid-column:1/-1;padding:5px 10px;font-size:.95rem;font-weight:600}
  .re-tbl-fk td:nth-child(2)::before{font-weight:400}

  /* -- Rennübersicht Lap-Tabellen (Qualifying + Rennen) als Card-Layout -- */
  .ru-tbl-laps thead{display:none}
  .ru-tbl-laps{display:block}
  .ru-tbl-laps tbody{display:flex;flex-direction:column}
  .ru-tbl-laps tr{display:grid;grid-template-columns:1fr 1fr;padding:6px 0;gap:0;border-bottom:3px solid var(--brd)}
  .ru-tbl-laps td{display:flex;flex-direction:column;padding:3px 10px;text-align:left;min-width:0;font-size:.875rem;white-space:normal}
  .ru-tbl-laps td::before{content:attr(data-label);font-size:.65em;color:var(--t4);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-weight:400}
  /* Fahrer + Rundenzeit: volle Breite, hervorgehoben */
  .ru-tbl-laps .ru-td-drv{grid-column:1/-1;font-size:.95rem;font-weight:600}
  .ru-tbl-laps .ru-td-drv::before{font-weight:400}
  .ru-tbl-laps .ru-td-time{grid-column:1/-1;font-size:.95rem;font-weight:600}
  .ru-tbl-laps .ru-td-time::before{font-weight:400}

  /* -- Rennübersicht Strafen als Card-Layout -- */
  .ru-tbl-str thead{display:none}
  .ru-tbl-str{display:block}
  .ru-tbl-str tbody{display:flex;flex-direction:column}
  .ru-tbl-str tr{display:grid;grid-template-columns:1fr 1fr;padding:6px 0;gap:0;border-bottom:3px solid var(--brd)}
  .ru-tbl-str td{display:flex;flex-direction:column;padding:3px 10px;text-align:left;min-width:0;font-size:.875rem;white-space:normal}
  .ru-tbl-str td::before{content:attr(data-label);font-size:.65em;color:var(--t4);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-weight:400}
  .ru-tbl-str .ru-td-drv{grid-column:1/-1;font-size:.95rem;font-weight:600}
  .ru-tbl-str .ru-td-drv::before{font-weight:400}
  /* Beschreibung + Grund: langer Text ? volle Breite */
  .ru-tbl-str .ru-td-str-desc,.ru-tbl-str .ru-td-str-rsn{grid-column:1/-1}

  /* -- Fahrerprofil Tabs -- */
  .fp-st{display:flex;flex-wrap:wrap}
  .fp-stb{flex:1 1 auto;text-align:center;white-space:normal;padding:6px 10px}
}
