/* F1 Standings Widget v5.0 — Mobile-First Responsive */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;800;900&family=Barlow:wght@400;500;600;700&display=swap');

/* =====================================================
   BASE WIDGET — [f1_standings]
   ===================================================== */
.f1-standings-widget {
  font-family: 'Barlow', Arial, sans-serif;
  background: #15151E;
  color: #fff;
  border-radius: 6px;
  overflow: hidden;
  max-width: 720px;
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
}
.f1-header {
  background: #12121C;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}
.f1-header-left { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.f1-title {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .8px;
  text-transform: uppercase;
  margin: 0;
}
.f1-season-badge {
  background: rgba(0,0,0,0.25);
  padding: 2px 8px;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 700;
}
.f1-update-time { font-size: 10px; opacity: .8; white-space: nowrap; }
.f1-tabs {
  display: flex;
  background: #0e0e18;
  border-bottom: 1px solid #1e1e2c;
}
.f1-tab-btn {
  flex: 1;
  padding: 10px 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  background: none;
  border: none;
  color: rgba(255,255,255,.45);
  cursor: pointer;
  position: relative;
  transition: color .18s;
  -webkit-tap-highlight-color: transparent;
}
.f1-tab-btn.active { color: #fff; background: rgba(255,255,255,.07); }
.f1-tab-btn.active::after {
  content: '';
  position: absolute;
  bottom: -2px; left: 0; right: 0;
  height: 2px;
  background: rgba(255,255,255,.6);
}
.f1-tab-panel { display: none; }
.f1-tab-panel.active { display: block; }

/* Table — shared */
.f1-table { width: 100%; border-collapse: collapse; table-layout: auto; border: none; }
.f1-table thead tr { background: #1a1a28; border-bottom: none; }
.f1-table thead th {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: rgba(255,255,255,.45);
  padding: 9px 12px;
  text-align: left;
  white-space: nowrap;
  border-bottom: 1px solid #2a2a3a;
  border-right: none;
  border-left: none;
}
.f1-table thead th.r { text-align: right; }
.f1-table tbody tr { transition: background .12s; }
.f1-table tbody td {
  padding: 11px 12px;
  font-size: 13px;
  vertical-align: middle;
  border-bottom: 1px solid #1e1e2c;
  border-right: none;
  border-left: none;
}
.f1-table tbody tr:last-child td { border-bottom: none; }
.f1-table tbody tr:hover td { background: rgba(255,255,255,.04); }

.f1-pos {
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  width: 32px;
  min-width: 32px;
}
.f1-pos.p1 { color: #FFD700; }
.f1-pos.p2 { color: #C0C0C0; }
.f1-pos.p3 { color: #CD7F32; }
.f1-bar {
  display: inline-block;
  width: 3px; height: 16px;
  border-radius: 2px;
  vertical-align: middle;
  margin-right: 7px;
  flex-shrink: 0;
}
.f1-name-wrap { display: flex; align-items: center; }
.f1-name-inner .f1-driver-name { font-weight: 600; font-size: 14px; line-height: 1.3; }
.f1-name-inner .f1-team-name { font-size: 11px; color: rgba(255,255,255,.45); margin-top: 1px; }
.f1-pts {
  font-size: 16px;
  font-weight: 700;
  text-align: right;
  white-space: nowrap;
}
.f1-pts.leader { color: #E8002D; }
.f1-gap { font-size: 12px; color: rgba(255,255,255,.4); text-align: right; white-space: nowrap; }
.f1-wins { font-size: 13px; color: rgba(255,255,255,.5); text-align: right; }
.f1-footer {
  background: #1E1E2E;
  padding: 6px 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  border-top: 1px solid rgba(255,255,255,.04);
}
.f1-footer-info { font-size: 10px; color: rgba(255,255,255,.45); }
.f1-footer-info strong { color: #00D2BE; }
.f1-powered { font-size: 9px; color: rgba(255,255,255,.2); }
.f1-powered-link { color: inherit; text-decoration: none; }
.f1-powered-link:hover { color: rgba(255,255,255,.5); text-decoration: underline; }
.f1-loading {
  padding: 36px 20px;
  text-align: center;
  color: rgba(255,255,255,.45);
  font-size: 12px;
}
.f1-spinner {
  width: 26px; height: 26px;
  border: 3px solid rgba(255,255,255,.12);
  border-top-color: #E8002D;
  border-radius: 50%;
  animation: f1spin .75s linear infinite;
  margin: 0 auto 10px;
}
@keyframes f1spin { to { transform: rotate(360deg); } }
.f1-error {
  padding: 28px 20px;
  text-align: center;
  color: rgba(255,255,255,.45);
  font-size: 12px;
}
.f1-retry-btn {
  background: #E8002D;
  color: #fff;
  border: none;
  padding: 7px 16px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 3px;
  margin-top: 10px;
  display: inline-block;
  -webkit-tap-highlight-color: transparent;
}
.f1-retry-btn:hover { opacity: .85; }

/* Standings — mobile */
@media (max-width: 480px) {
  .f1-title { font-size: 14px; }
  .f1-update-time { display: none; }
  .f1-table tbody td { padding: 7px 8px; }
  .f1-pts { font-size: 13px; }
  .f1-pos { font-size: 13px; width: 28px; min-width: 28px; }
}

/* =====================================================
   WIDGET STATIS — jadwal, hasil, kualifikasi, profil
   ===================================================== */
.f1-widget-simple {
  font-family: 'Barlow', Arial, sans-serif;
  background: #15151E;
  color: #fff;
  border-radius: 6px;
  overflow: hidden;
  max-width: 860px;
  width: 100%;
  margin: 0 auto 24px;
  box-sizing: border-box;
}
.f1-no-data {
  padding: 28px 16px;
  text-align: center;
  color: rgba(255,255,255,.45);
  font-size: 12px;
}

/* Badge NEXT & POLE */
.f1-badge-next {
  background: #E8002D;
  color: #fff;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 1px;
  padding: 2px 5px;
  border-radius: 2px;
  vertical-align: middle;
  white-space: nowrap;
}
.f1-badge-pole {
  background: #9b59b6;
  color: #fff;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 1px;
  padding: 2px 5px;
  border-radius: 2px;
  margin-left: 4px;
  white-space: nowrap;
}

.f1-winner-row td { background: rgba(232,0,45,.06); }
.f1-next-row td   { background: rgba(0,210,190,.04); }

/* ── f1_schedule: LIVE / Done / Upcoming badges ── */
.f1sc-live-row td {
  background: rgba(232,0,45,.09) !important;
}
.f1sc-badge-live {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  background: #e10600;
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .8px;
  padding: 3px 6px;
  border-radius: 3px;
  white-space: nowrap;
  animation: f1sc-live-pulse 1.1s ease-in-out infinite;
  box-shadow: 0 0 8px rgba(225,6,0,.7);
}
@keyframes f1sc-live-pulse {
  0%,100% { opacity:1; box-shadow: 0 0 8px rgba(225,6,0,.7); }
  50%      { opacity:.75; box-shadow: 0 0 14px rgba(225,6,0,.4); }
}
.f1sc-badge-done {
  color: rgba(255,255,255,.3);
  font-size: 10px;
  font-weight: 500;
  white-space: nowrap;
}
.f1sc-badge-upcoming {
  color: rgba(0,210,190,.75);
  font-size: 10px;
  font-weight: 600;
  white-space: nowrap;
}
/* Header LIVE indicator */
.f1sc-live-indicator {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(225,6,0,.15);
  border: 1px solid rgba(225,6,0,.4);
  color: #e10600;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1px;
  padding: 3px 10px;
  border-radius: 20px;
  animation: f1sc-live-pulse 1.1s ease-in-out infinite;
}
.f1sc-live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #e10600;
  flex-shrink: 0;
  animation: f1sc-dot-blink 1.1s ease-in-out infinite;
}
@keyframes f1sc-dot-blink {
  0%,100% { opacity:1; }
  50%      { opacity:.2; }
}

/* Waktu kualifikasi */
.mono { font-family: 'Barlow Condensed', monospace; }
.q-time { font-size: 11px; color: rgba(255,255,255,.65); white-space: nowrap; }
.q-best { color: #9b59b6!important; font-weight: 700; }

/* ---- [f1_schedule] card grid layout ---- */
.f1sched-wrap { padding-bottom: 4px; max-width: none; }

.f1sched-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  padding: 14px;
}
@media (max-width: 900px) { .f1sched-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .f1sched-grid { grid-template-columns: 1fr; gap: 10px; padding: 10px; } }

.f1sched-card {
  background: #1a1a2a;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color .2s;
}
.f1sched-card:hover { border-color: rgba(255,255,255,.18); }
.f1sched-card.f1sched-live {
  border-color: rgba(225,6,0,.5);
  box-shadow: 0 0 0 1px rgba(225,6,0,.2);
}
.f1sched-card.f1sched-next { border-color: rgba(0,210,190,.35); }
.f1sched-card.f1sched-past { opacity: .65; }

/* Round badge bar */
.f1sched-round {
  background: rgba(255,255,255,.06);
  padding: 8px 14px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .6px;
  color: rgba(255,255,255,.55);
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 6px;
}
.f1sched-badge-next {
  background: rgba(0,210,190,.18);
  color: #00d2be;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .8px;
  padding: 2px 7px;
  border-radius: 3px;
  border: 1px solid rgba(0,210,190,.35);
}
.f1sched-badge-done {
  color: rgba(255,255,255,.3);
  font-size: 11px;
}

/* Card body */
.f1sched-name-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px 2px;
}
.f1sched-flag { font-size: 22px; line-height: 1; flex-shrink: 0; }
.f1sched-name {
  font-size: 16px;
  font-weight: 800;
  color: #fff;
  line-height: 1.25;
}
.f1sched-daterange {
  padding: 4px 14px 8px;
  font-size: 12px;
  font-style: italic;
  color: rgba(255,255,255,.5);
}
.f1sched-circuit {
  padding: 0 14px 10px;
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.f1sched-circuit-name {
  font-size: 13px;
  font-weight: 600;
  color: rgba(255,255,255,.85);
}
.f1sched-circuit-loc {
  font-size: 11px;
  color: rgba(255,255,255,.4);
  margin-top: 1px;
}

/* Sesi jadwal */
.f1sched-sessions { padding: 8px 14px 6px; flex: 1; }
.f1sched-sess-row {
  display: grid;
  grid-template-columns: 110px 1fr auto;
  align-items: center;
  gap: 4px;
  padding: 4px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
  font-size: 12px;
}
.f1sched-sess-row:last-child { border-bottom: none; }
.f1sched-sess-label { color: rgba(255,255,255,.45); }
.f1sched-sess-day   { color: rgba(255,255,255,.65); font-size: 11px; }
.f1sched-sess-time  {
  font-family: 'Barlow Condensed', monospace;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  text-align: right;
}
.f1sched-sess-race .f1sched-sess-label { color: #fff; font-weight: 700; }
.f1sched-sess-race .f1sched-sess-time  { color: #e10600; }

/* Toggle timezone */
.f1sched-tz-toggle {
  display: flex;
  gap: 0;
  padding: 10px 14px 8px;
  border-top: 1px solid rgba(255,255,255,.07);
}
.f1sched-tz-btn {
  flex: 1;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.45);
  font-size: 11px;
  font-weight: 600;
  padding: 7px 6px;
  cursor: pointer;
  transition: background .15s, color .15s;
  font-family: inherit;
}
.f1sched-tz-btn:first-child { border-radius: 6px 0 0 6px; border-right: none; }
.f1sched-tz-btn:last-child  { border-radius: 0 6px 6px 0; }
.f1sched-tz-btn.active {
  background: rgba(255,255,255,.14);
  color: #fff;
}
.f1sched-tz-label {
  display: block;
  font-size: 9px;
  font-weight: 400;
  color: rgba(255,255,255,.4);
  margin-top: 1px;
}
.f1sched-tz-btn.active .f1sched-tz-label { color: rgba(255,255,255,.6); }

/* Tombol Hasil */
.f1sched-hasil-wrap { padding: 0 14px 14px; }
.f1sched-hasil-btn {
  display: block;
  width: 100%;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.8);
  font-size: 13px;
  font-weight: 700;
  padding: 9px;
  border-radius: 6px;
  cursor: pointer;
  transition: background .15s, color .15s;
  font-family: inherit;
  letter-spacing: .3px;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
}
.f1sched-hasil-btn:hover {
  background: rgba(232,0,45,.12);
  border-color: rgba(232,0,45,.3);
  color: #fff;
  text-decoration: none;
}

@media (max-width: 560px) {
  .f1sched-name { font-size: 14px; }
  .f1sched-sess-row { grid-template-columns: 90px 1fr auto; font-size: 11px; gap: 2px; }
  .f1sched-sess-label { font-size: 10px; }
  .f1sched-sess-day   { font-size: 10px; }
  .f1sched-sess-time  { font-size: 12px; }
  .f1sched-tz-btn     { font-size: 10px; padding: 6px 4px; }
  .f1sched-tz-label   { font-size: 8px; }
}
@media (max-width: 380px) {
  .f1sched-sess-row { grid-template-columns: 80px 1fr auto; }
  .f1sched-name { font-size: 13px; }
}


/* ---- [f1_last_race] status kolom ---- */
@media (max-width: 560px) {
  .f1-table tbody td { padding: 7px 8px; }
  .f1-name-inner .f1-driver-name { font-size: 11px; }
  .f1-name-inner .f1-team-name { display: none; }
}

/* ---- [f1_qualifying] Q1 Q2 Q3 ---- */
@media (max-width: 420px) {
  .q-time { font-size: 10px; }
  .f1-table thead th { font-size: 8px; padding: 5px 6px; }
  .f1-table tbody td { padding: 6px 6px; }
}

/* =====================================================
   GRID PROFIL PEMBALAP [f1_drivers]
   ===================================================== */
.f1-driver-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(155px, 1fr));
  gap: 10px;
  padding: 12px;
  background: #1a1a2a;
}
.f1-driver-card {
  background: #15151E;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 6px;
  padding: 11px 12px;
  box-sizing: border-box;
}
.f1-drv-num {
  font-size: 30px;
  font-weight: 900;
  font-family: 'Barlow Condensed', Arial Narrow, sans-serif;
  color: rgba(255,255,255,.1);
  line-height: 1;
  margin-bottom: 3px;
}
.f1-drv-name {
  font-size: 12px;
  color: rgba(255,255,255,.85);
  line-height: 1.35;
  margin-bottom: 7px;
}
.f1-drv-meta {
  font-size: 10px;
  color: rgba(255,255,255,.45);
  line-height: 1.85;
}
.f1-drv-pts { color: rgba(255,255,255,.65)!important; }
.f1-drv-pts strong { color: #E8002D; }

@media (max-width: 480px) {
  .f1-driver-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    padding: 10px;
  }
  .f1-driver-card { padding: 9px 10px; }
  .f1-drv-num { font-size: 24px; }
  .f1-drv-name { font-size: 11px; }
  .f1-drv-meta { font-size: 9px; line-height: 1.7; }
}
@media (max-width: 340px) {
  .f1-driver-grid { grid-template-columns: 1fr; }
}

/* =====================================================
   [f1_next_race] — Banner Race Weekend v5.0
   ===================================================== */
.f1-next-race-wrap {
  font-family: 'Barlow', Arial, sans-serif;
  background: #15151e;
  color: #fff;
  border-radius: 8px;
  overflow: hidden;
  max-width: 720px;
  width: 100%;
  margin: 0 auto 24px;
  box-sizing: border-box;
}

/* Top navigation bar */
.fnr-topbar {
  background: #1a1a28;
  padding: 8px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 2px solid #e10600;
}
.fnr-logo {
  font-family: 'Barlow Condensed', Arial Narrow, sans-serif;
  font-size: 20px;
  font-weight: 900;
  color: #e10600;
  letter-spacing: -1px;
  line-height: 1;
  flex-shrink: 0;
}
.fnr-nav {
  display: flex;
  gap: 12px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .8px;
  color: rgba(255,255,255,.4);
  text-transform: uppercase;
  flex-wrap: wrap;
}
.fnr-nav span { cursor: default; }

/* Race info bar */
.fnr-racebar {
  padding: 12px 14px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.fnr-left { flex: 1 1 200px; min-width: 0; }
.fnr-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 5px;
  flex-wrap: wrap;
}
.fnr-round {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 3px;
  padding: 2px 7px;
  font-family: 'Barlow Condensed', Arial Narrow, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1px;
  color: rgba(255,255,255,.65);
  white-space: nowrap;
}
.fnr-dates {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .5px;
  color: rgba(255,255,255,.45);
  white-space: nowrap;
}
.fnr-sprint-badge {
  background: rgba(155,89,182,.25);
  border: 1px solid #9b59b6;
  border-radius: 3px;
  padding: 2px 6px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1px;
  color: #c39bd3;
  white-space: nowrap;
}
.fnr-race-name-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 3px;
  flex-wrap: wrap;
}
.fnr-flag { font-size: 18px; line-height: 1; flex-shrink: 0; }
.fnr-race-name {
  font-family: 'Barlow Condensed', Arial Narrow, sans-serif;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: .3px;
  color: #fff;
  line-height: 1.1;
  word-break: break-word;
}
.fnr-circuit {
  font-size: 10px;
  color: rgba(255,255,255,.35);
  letter-spacing: .3px;
  margin-top: 2px;
  word-break: break-word;
}

/* TAG Heuer & jam */
.fnr-right {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.fnr-tagheuer {
  font-family: 'Barlow Condensed', Arial Narrow, sans-serif;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1.2px;
  color: #e10600;
  border: 1.5px solid #e10600;
  padding: 4px 6px;
  border-radius: 2px;
  line-height: 1.2;
  text-align: center;
}
.fnr-times { display: flex; flex-direction: column; gap: 4px; }
.fnr-trow  { display: flex; align-items: center; gap: 6px; }
.fnr-dot   { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.fnr-dot-my { background: #00d2be; }
.fnr-dot-tr { background: rgba(255,255,255,.25); }
.fnr-tlbl {
  font-size: 9px;
  color: rgba(255,255,255,.4);
  letter-spacing: .5px;
  text-transform: uppercase;
  min-width: 68px;
}
.fnr-tval {
  font-family: 'Barlow Condensed', Arial Narrow, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .3px;
}
.fnr-tval-my { color: #fff; }
.fnr-tval-tr { color: rgba(255,255,255,.5); }

/* Jadwal sesi */
.fnr-sessions { border-bottom: 1px solid rgba(255,255,255,.08); }
.fnr-sess {
  display: flex;
  align-items: center;
  padding: 8px 14px;
  border-bottom: 1px solid rgba(255,255,255,.07);
  transition: background .12s;
  gap: 6px;
  flex-wrap: nowrap;
}
.fnr-sess:last-child { border-bottom: none; }
.fnr-sess:hover { background: rgba(255,255,255,.03); }
.fnr-sess-live { background: rgba(232,0,45,.06) !important; }
.fnr-sess-done .fnr-sname,
.fnr-sess-done .fnr-sdate,
.fnr-sess-done .fnr-stime { opacity: .3; }
.fnr-sname {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .3px;
  color: rgba(255,255,255,.8);
  min-width: 120px;
  flex-shrink: 0;
}
.fnr-sess-live .fnr-sname { color: #e10600; }
.fnr-live-pill {
  background: #e10600;
  color: #fff;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 1px;
  padding: 1px 4px;
  border-radius: 2px;
  margin-left: 5px;
  animation: fnr-blink 1.1s ease-in-out infinite;
  white-space: nowrap;
}
@keyframes fnr-blink { 0%,100%{opacity:1} 50%{opacity:.4} }
.fnr-sdate {
  flex: 1;
  font-size: 11px;
  color: rgba(255,255,255,.4);
  white-space: nowrap;
}
.fnr-stime {
  font-family: 'Barlow Condensed', Arial Narrow, sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255,255,255,.6);
  min-width: 70px;
  text-align: right;
  white-space: nowrap;
}
.fnr-stime-race { color: #00d2be !important; font-weight: 700; }

/* Countdown */
.fnr-countdown {
  padding: 10px 14px;
  background: #111118;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.fnr-cdlbl {
  font-family: 'Barlow Condensed', Arial Narrow, sans-serif;
  font-size: 10px;
  color: rgba(255,255,255,.35);
  letter-spacing: .8px;
  text-transform: uppercase;
  margin-right: 4px;
  white-space: nowrap;
}
.fnr-cu { display: flex; flex-direction: column; align-items: center; min-width: 42px; }
.fnr-cv {
  font-family: 'Barlow Condensed', Arial Narrow, sans-serif;
  font-size: 26px;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}
.fnr-cl {
  font-size: 8px;
  color: rgba(255,255,255,.3);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-top: 2px;
}
.fnr-csep {
  font-family: 'Barlow Condensed', Arial Narrow, sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: rgba(255,255,255,.2);
  margin-top: -4px;
}

/* Race berikutnya */
.fnr-upcoming {
  padding: 8px 14px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.fnr-uplbl {
  font-size: 9px;
  color: rgba(255,255,255,.3);
  letter-spacing: .8px;
  text-transform: uppercase;
  margin-right: 3px;
  font-weight: 600;
  white-space: nowrap;
}
.fnr-uprace {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
}
.fnr-uprace strong { color: rgba(255,255,255,.65); font-weight: 600; }
.fnr-update { color: rgba(255,255,255,.3); font-size: 9px; }
.fnr-updot { color: rgba(255,255,255,.15); padding: 0 2px; }

/* Footer */
.fnr-foot {
  padding: 6px 14px;
  background: #0e0e18;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 5px;
  font-size: 9px;
  color: rgba(255,255,255,.2);
}

/* =====================================================
   RESPONSIVE BREAKPOINTS — f1_next_race
   ===================================================== */

/* Tablet: 481–720px — hide topbar nav, shrink TAG Heuer */
@media (max-width: 600px) {
  .fnr-topbar { padding: 7px 12px; }
  .fnr-nav { display: none; }
  .fnr-racebar { padding: 10px 12px; }
  .fnr-race-name { font-size: 17px; }
  .fnr-tagheuer { display: none; }
  .fnr-times { gap: 3px; }
  .fnr-tlbl { min-width: 60px; font-size: 9px; }
  .fnr-sess { padding: 7px 12px; }
  .fnr-sname { min-width: 105px; font-size: 11px; }
  .fnr-countdown { padding: 9px 12px; gap: 5px; }
  .fnr-cv { font-size: 22px; }
  .fnr-cu { min-width: 38px; }
  .fnr-csep { font-size: 18px; }
  .fnr-upcoming { padding: 7px 12px; }
  .fnr-foot { padding: 6px 12px; }
}

/* Mobile: ≤480px — stack layout, hide secondary info */
@media (max-width: 480px) {
  .fnr-topbar { padding: 6px 12px; }
  .fnr-logo { font-size: 18px; }
  .fnr-nav { display: none; }

  .fnr-racebar {
    padding: 10px 12px;
    flex-direction: column;
    gap: 8px;
  }
  .fnr-right { width: 100%; justify-content: flex-end; }
  .fnr-times { flex-direction: row; gap: 14px; }
  .fnr-trow { flex-direction: column; align-items: flex-start; gap: 2px; }
  .fnr-tlbl { min-width: unset; font-size: 8px; }
  .fnr-tval { font-size: 12px; }
  .fnr-dot { display: none; }

  .fnr-race-name { font-size: 16px; }
  .fnr-flag { font-size: 16px; }
  .fnr-circuit { font-size: 9px; }

  .fnr-sess { padding: 7px 12px; }
  .fnr-sname { min-width: 0; flex: 1; font-size: 10px; }
  .fnr-sdate { display: none; }
  .fnr-stime { min-width: 60px; font-size: 12px; }

  .fnr-countdown {
    padding: 8px 12px;
    gap: 4px;
  }
  .fnr-cdlbl { font-size: 9px; width: 100%; margin-bottom: 2px; }
  .fnr-cv { font-size: 20px; }
  .fnr-cu { min-width: 36px; }
  .fnr-cl { font-size: 7px; }
  .fnr-csep { font-size: 16px; }

  .fnr-upcoming { padding: 6px 12px; }
  .fnr-uprace { font-size: 10px; }
  .fnr-foot { padding: 5px 12px; flex-direction: column; gap: 2px; }
}

/* Super small: ≤360px */
@media (max-width: 360px) {
  .fnr-race-name { font-size: 14px; }
  .fnr-cv { font-size: 18px; }
  .fnr-cu { min-width: 32px; }
  .fnr-csep { font-size: 14px; }
  .fnr-sname { font-size: 9px; }
  .fnr-stime { font-size: 11px; min-width: 55px; }
  .f1-driver-grid { grid-template-columns: 1fr 1fr; gap: 6px; padding: 8px; }
  .f1-driver-card { padding: 8px 9px; }
  .f1-drv-num { font-size: 20px; }
}

/* =====================================================
   v5.1 — Racebar redesign: full-width, no blank space
   ===================================================== */

/* Racebar sekarang full-width (hapus flex split) */
.fnr-racebar {
  padding: 12px 14px !important;
  display: block !important;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.fnr-left, .fnr-right { display: contents; } /* neutralize old classes */

/* MY TIME + RACE (WIB) sejajar horizontal di bawah circuit */
.fnr-times-inline {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 8px;
  flex-wrap: wrap;
}
.fnr-times-inline .fnr-trow {
  display: flex;
  align-items: center;
  gap: 6px;
}
.fnr-times-inline .fnr-tlbl {
  font-size: 9px;
  color: rgba(255,255,255,.4);
  letter-spacing: .5px;
  text-transform: uppercase;
  min-width: unset;
}
.fnr-times-inline .fnr-tval {
  font-family: 'Barlow Condensed', Arial Narrow, sans-serif;
  font-size: 14px;
  font-weight: 700;
}

/* Hilangkan fnr-right / fnr-tagheuer / fnr-times lama */
.fnr-right { display: none !important; }
.fnr-tagheuer { display: none !important; }
.fnr-times { display: none !important; }

/* fnr-nav sudah dihapus dari PHP, amankan dari sisa CSS */
.fnr-nav { display: none !important; }

/* Mobile: racebar times tetap rapi */
@media (max-width: 480px) {
  .fnr-times-inline { gap: 12px; margin-top: 6px; }
  .fnr-times-inline .fnr-tval { font-size: 13px; }
}

/* hide-xs: kolom W & Gap sembunyi di layar <380px */
@media (max-width: 380px) {
  .hide-xs { display: none !important; }
}

/* f1-wins label lebih jelas */
.f1-wins {
  font-size: 12px;
  color: rgba(255,255,255,.5);
  text-align: right;
}

/* ================================================================
   YEAR SELECTOR — histori klasemen
   ================================================================ */
.f1-year-select {
  background: rgba(255,255,255,.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 4px;
  padding: 3px 8px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  margin-left: 8px;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
}
.f1-year-select:focus {
  border-color: #E8002D;
}
.f1-year-select option {
  background: #1a1a2e;
  color: #fff;
}

/* ================================================================
   JUDUL WIDGET f1_next_race — inline di samping logo F1
   ================================================================ */
.fnr-widget-title {
  font-size: 13px;
  font-weight: 700;
  color: rgba(255,255,255,.85);
  letter-spacing: 1px;
  text-transform: uppercase;
  line-height: 1;
  padding: 0;
  margin: 0;
  border-left: 1px solid rgba(255,255,255,.15);
  padding-left: 12px;
}

/* ================================================================
   SPRINT BADGE
   ================================================================ */
.f1-sprint-label {
  background: linear-gradient(90deg, #e10600, #ff6b00) !important;
  color: #fff !important;
  font-weight: 800;
  letter-spacing: 1px;
}

/* =====================================================
   [f1_standings_full] — Full Driver Standings ESPN-style
   ===================================================== */
.f1-full-wrap {
  font-family: 'Barlow', Arial, sans-serif;
  background: #15151E;
  color: #fff;
  border-radius: 6px;
  overflow: hidden;
  max-width: 100%;
  width: 100%;
  margin: 0 auto 24px;
  box-sizing: border-box;
}
.f1-full-wrap .f1-header { background: #12121C; }

/* Tab row khusus f1_standings_full — identik dengan .f1-tabs/.f1-tab-btn */
.f1-full-tabs {
  display: flex;
  background: #0e0e18;
  border-bottom: none;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  flex-wrap: nowrap;
}
.f1-full-tabs::-webkit-scrollbar { display: none; }
.f1-full-tab {
  flex: 0 0 auto;
  min-width: 72px;
  padding: 10px 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  background: none;
  border: none;
  white-space: nowrap;
  color: rgba(255,255,255,.45);
  cursor: pointer;
  position: relative;
  transition: color .18s;
  -webkit-tap-highlight-color: transparent;
}
.f1-full-tab.active { color: #fff; background: rgba(255,255,255,.07); }
.f1-full-tab.active::after { display: none; }

/* Scrollable table container */
.f1-full-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.f1-full-scroll::-webkit-scrollbar { height: 4px; }
.f1-full-scroll::-webkit-scrollbar-track { background: rgba(255,255,255,.04); }
.f1-full-scroll::-webkit-scrollbar-thumb { background: rgba(232,0,45,.5); border-radius: 2px; }

/* Scrollable wrapper for race weekend tables */
.f1rw-table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
}
.f1rw-table-scroll::-webkit-scrollbar { height: 4px; }
.f1rw-table-scroll::-webkit-scrollbar-track { background: rgba(255,255,255,.04); }
.f1rw-table-scroll::-webkit-scrollbar-thumb { background: rgba(232,0,45,.5); border-radius: 2px; }
.f1rw-table-scroll .f1-table { min-width: 480px; }

/* The main standings table */
.f1-full-table {
  width: 100%;
  min-width: 900px;
  border-collapse: collapse;
  table-layout: auto;
}
.f1-full-table thead tr {
  background: #1E1E2E;
}
.f1-full-table thead th {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .8px;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
  padding: 8px 6px;
  text-align: center;
  white-space: nowrap;
  border-right: 1px solid #222230;
  border-bottom: 1px solid #2a2a3a;
}
.f1-full-table thead th:first-child { width: 36px; padding-left: 12px; }
.f1-full-table thead th.f1f-driver-col { text-align: left; padding-left: 10px; min-width: 170px; }
.f1-full-table thead th.f1f-pts-col {
  color: rgba(255,255,255,.75);
  font-size: 11px;
  min-width: 52px;
}
.f1-full-table thead th.f1f-race-col {
  min-width: 36px;
  max-width: 48px;
  font-size: 9px;
}
/* Race mendatang — kolom header */
.f1-full-table thead th.f1f-race-future {
  color: rgba(255,255,255,.3);
  border-bottom: 2px dashed rgba(255,255,255,.12);
  position: relative;
}
.f1f-future-dot {
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255,255,255,.25);
  margin: 2px auto 0;
}
/* Race mendatang — sel data */
.f1f-race-td.f1f-race-upcoming {
  color: rgba(255,255,255,.18);
  font-weight: 400;
  background: repeating-linear-gradient(
    135deg,
    transparent,
    transparent 3px,
    rgba(255,255,255,.02) 3px,
    rgba(255,255,255,.02) 6px
  );
}

/* Body rows */
.f1-full-table tbody tr { transition: background .12s; }
.f1-full-table tbody td {
  padding: 9px 6px;
  font-size: 12px;
  text-align: center;
  vertical-align: middle;
  border-right: 1px solid #222230;
  border-bottom: 1px solid #1e1e2c;
}
.f1-full-table tbody td:first-child { padding-left: 12px; }
.f1-full-table tbody tr:last-child td { border-bottom: none; }
.f1-full-table tbody tr:hover td { background: rgba(255,255,255,.04); }

/* Pos cell */
.f1f-pos {
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  width: 34px;
  min-width: 34px;
}
.f1f-pos.p1 { color: #FFD700; }
.f1f-pos.p2 { color: #C0C0C0; }
.f1f-pos.p3 { color: #CD7F32; }

/* Driver name cell */
.f1f-driver-td {
  text-align: left !important;
  padding-left: 10px !important;
}
.f1f-name-wrap { display: flex; align-items: center; gap: 8px; text-align: left; width: 100%; justify-content: flex-start; }
.f1f-name-inner { text-align: left; flex: 1 1 auto; min-width: 0; }
.f1f-bar {
  display: inline-block;
  width: 3px;
  height: 32px;
  border-radius: 2px;
  flex-shrink: 0;
}
.f1f-name-inner .f1f-driver-name {
  font-weight: 700;
  font-size: 13px;
  line-height: 1.3;
  text-align: left !important;
}
.f1f-name-inner .f1f-team-name {
  font-size: 10px;
  color: rgba(255,255,255,.4);
  margin-top: 1px;
  text-align: left !important;
  display: block !important;
}
.f1f-nat {
  font-size: 10px;
  color: rgba(255,255,255,.35);
}

/* Points cell */
.f1f-pts-td {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
}
.f1f-pts-td.leader { color: #E8002D; }

/* Gap cell */
.f1f-gap-td {
  font-size: 11px;
  color: rgba(255,255,255,.4);
  white-space: nowrap;
}

/* Race point cells */
.f1f-race-td {
  font-size: 12px;
  font-weight: 600;
  color: rgba(255,255,255,.75);
  min-width: 36px;
}
.f1f-race-td.f1f-no-pts { color: rgba(255,255,255,.2); font-weight: 400; }
.f1f-race-td.f1f-win { color: #FFD700; font-weight: 800; }
.f1f-race-td.f1f-podium { color: #00D2BE; font-weight: 700; }

/* Wins cell */
.f1f-wins-td {
  font-size: 13px;
  font-weight: 700;
  color: #FFD700;
}

/* Loading / error */
.f1-full-loading {
  padding: 40px 20px;
  text-align: center;
  color: rgba(255,255,255,.4);
  font-size: 12px;
}

/* Season selector */
.f1-full-year-select {
  background: rgba(0,0,0,0.35);
  color: #fff;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 3px;
  padding: 3px 7px;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  outline: none;
}

/* Sticky first columns */
.f1-full-table thead th:nth-child(1),
.f1-full-table thead th:nth-child(2),
.f1-full-table tbody td:nth-child(1),
.f1-full-table tbody td:nth-child(2) {
  position: sticky;
  z-index: 2;
  background: #15151E;
}
.f1-full-table thead th:nth-child(1),
.f1-full-table tbody td:nth-child(1) { left: 0; border-right: 1px solid #2a2a3a !important; border-left: none !important; }
.f1-full-table thead th:nth-child(2),
.f1-full-table tbody td:nth-child(2) { left: 38px; border-right: 1px solid #2a2a3a !important; border-left: none !important; box-shadow: 3px 0 6px rgba(0,0,0,.5); }
.f1-full-table tbody tr:nth-child(even) td:nth-child(1),
.f1-full-table tbody tr:nth-child(even) td:nth-child(2) { background: #181826; }
.f1-full-table tbody tr:hover td:nth-child(1),
.f1-full-table tbody tr:hover td:nth-child(2) { background: #1e1e2e; }

/* Driver name: show full given name on desktop, initial on mobile */
.f1f-given-initial { display: none; }
.f1f-given-full    { display: inline; }

/* ---- [f1_standings_full] mobile ---- */
@media (max-width: 600px) {
  /* Perkecil kolom driver: sembunyikan nama depan, tampilkan inisial */
  .f1f-given-full    { display: none; }
  .f1f-given-initial { display: inline; }

  /* Kurangi min-width kolom driver */
  .f1-full-table thead th.f1f-driver-col { min-width: 110px; }
  .f1f-driver-td { min-width: 110px; }

  /* Nama tim tetap tampil, rata kiri */
  .f1f-team-name { display: block !important; text-align: left !important; }

  /* Sedikit perkecil font & padding global tabel */
  .f1-full-table tbody td { padding: 7px 4px; font-size: 11px; }
  .f1-full-table thead th { padding: 6px 4px; }
  .f1f-driver-name { font-size: 12px; }
  .f1f-pts-td { font-size: 14px; }
}

/* =====================================================
   [f1_next_race_wide] — Layout Horizontal / Wide
   Tiga kolom berjajar: Info Race | Sesi | Countdown
   CSS ini sinkron dengan preview di widget builder.
   ===================================================== */

.fnrw-wrap {
  font-family: 'Barlow', Arial, sans-serif;
  background: #15151e;
  color: #fff;
  border-radius: 6px;
  overflow: hidden;
  width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  margin: 0 auto 16px;
  border: 1px solid #1e1e2c;
}
.fnrw-col {
  display: flex;
  flex-direction: column;
  padding: 10px 14px;
  box-sizing: border-box;
}
.fnrw-col-title {
  font-family: 'Barlow Condensed', Arial Narrow, sans-serif;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: rgba(255,255,255,.28);
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.fnrw-tz {
  background: rgba(255,255,255,.07);
  border-radius: 2px;
  padding: 1px 4px;
  color: rgba(255,255,255,.35);
}
.fnrw-col-race {
  flex: 0 0 290px;
  min-width: 0;
  background: linear-gradient(135deg, #1a1a2e 0%, #15151e 100%);
  border-right: 1px solid #1e1e2c;
  position: relative;
}
.fnrw-col-race::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: #e10600;
}
.fnrw-badge-row {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 6px;
  flex-wrap: wrap;
}
.fnrw-logo {
  font-family: 'Barlow Condensed', Arial Narrow, sans-serif;
  font-size: 18px;
  font-weight: 900;
  color: #e10600;
  letter-spacing: -1px;
  line-height: 1;
}
.fnrw-round {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 3px;
  padding: 2px 6px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1px;
  color: rgba(255,255,255,.55);
}
.fnrw-season {
  font-size: 9px;
  font-weight: 700;
  color: rgba(255,255,255,.3);
  letter-spacing: .5px;
}
.fnrw-sprint {
  background: rgba(155,89,182,.2);
  border: 1px solid #9b59b6;
  border-radius: 3px;
  padding: 1px 4px;
  font-size: 7px;
  font-weight: 700;
  letter-spacing: 1px;
  color: #c39bd3;
}
.fnrw-flag-name {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin-bottom: 3px;
}
.fnrw-flag { font-size: 26px; line-height: 1.1; flex-shrink: 0; margin-top: 1px; }
.fnrw-name {
  font-family: 'Barlow Condensed', Arial Narrow, sans-serif;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: .2px;
  color: #fff;
  line-height: 1.15;
  word-break: break-word;
}
.fnrw-circuit {
  font-size: 10px;
  color: rgba(255,255,255,.45);
  font-weight: 500;
  margin-bottom: 1px;
}
.fnrw-location {
  font-size: 9px;
  color: rgba(255,255,255,.25);
  margin-bottom: 6px;
}
.fnrw-weekend-dates {
  font-size: 10px;
  font-weight: 600;
  color: rgba(255,255,255,.32);
  letter-spacing: .3px;
  margin-top: auto;
  padding-top: 6px;
  border-top: 1px solid rgba(255,255,255,.05);
}
.fnrw-col-sessions {
  flex: 1 1 0;
  min-width: 0;
  border-right: 1px solid #1e1e2c;
  background: #15151e;
}
.fnrw-sess-grid {
  display: flex;
  flex-direction: column;
}
.fnrw-sess {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 4px 8px;
  padding: 4px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
  transition: background .12s;
}
.fnrw-sess:last-child { border-bottom: none; }
.fnrw-sess:hover { background: rgba(255,255,255,.025); border-radius: 3px; padding-left: 5px; padding-right: 5px; }
.fnrw-sess-live { background: rgba(232,0,45,.07) !important; border-radius: 3px; padding-left: 5px; padding-right: 5px; }
.fnrw-sess-done .fnrw-sname,
.fnrw-sess-done .fnrw-sdate,
.fnrw-sess-done .fnrw-stime { opacity: .28; }
.fnrw-sname {
  font-size: 10px;
  font-weight: 600;
  color: rgba(255,255,255,.75);
  letter-spacing: .2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fnrw-sess-live .fnrw-sname { color: #e10600; }
.fnrw-live-pill {
  background: #e10600;
  color: #fff;
  font-size: 6px;
  font-weight: 700;
  letter-spacing: 1px;
  padding: 1px 3px;
  border-radius: 2px;
  margin-left: 3px;
  animation: fnrw-blink 1.1s ease-in-out infinite;
  vertical-align: middle;
}
@keyframes fnrw-blink { 0%,100%{opacity:1} 50%{opacity:.35} }
.fnrw-sdate {
  font-size: 9px;
  color: rgba(255,255,255,.3);
  white-space: nowrap;
  text-align: right;
}
.fnrw-stime {
  font-family: 'Barlow Condensed', Arial Narrow, sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: rgba(255,255,255,.55);
  white-space: nowrap;
  text-align: right;
  min-width: 38px;
}
.fnrw-stime-race { color: #00d2be !important; font-weight: 700; }
.fnrw-col-countdown {
  flex: 0 0 175px;
  min-width: 0;
  background: #111118;
  align-items: center;
  text-align: center;
}
.fnrw-col-countdown .fnrw-col-title {
  justify-content: center;
}
.fnrw-countdown {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  flex-wrap: nowrap;
  margin-bottom: 10px;
}
.fnrw-cu { display: flex; flex-direction: column; align-items: center; min-width: 28px; }
.fnrw-cv {
  font-family: 'Barlow Condensed', Arial Narrow, sans-serif;
  font-size: 26px;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}
.fnrw-cl {
  font-size: 6px;
  color: rgba(255,255,255,.25);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-top: 2px;
}
.fnrw-csep {
  font-family: 'Barlow Condensed', Arial Narrow, sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: rgba(255,255,255,.18);
  margin-bottom: 10px;
}
.fnrw-race-live {
  font-size: 11px;
  color: #e10600;
  font-weight: 700;
  letter-spacing: .5px;
}
.fnrw-next-races {
  width: 100%;
  text-align: left;
  border-top: 1px solid #1e1e2c;
  padding-top: 7px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.fnrw-next-lbl {
  font-size: 7px;
  font-weight: 700;
  letter-spacing: 1px;
  color: rgba(255,255,255,.22);
  text-transform: uppercase;
  margin-bottom: 2px;
  display: block;
}
.fnrw-nx-item {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 9px;
}
.fnrw-nx-name { color: rgba(255,255,255,.5); font-weight: 600; flex: 1; }
.fnrw-nx-date { color: rgba(255,255,255,.22); font-size: 8px; white-space: nowrap; }

@media (max-width: 768px) {
  .fnrw-wrap { flex-wrap: wrap; }
  .fnrw-col-race { flex: 0 0 55%; border-bottom: 1px solid rgba(255,255,255,.09); }
  .fnrw-col-sessions { flex: 0 0 45%; border-right: none; border-bottom: 1px solid rgba(255,255,255,.09); }
  .fnrw-col-countdown { flex: 0 0 100%; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; padding: 10px 14px; }
  .fnrw-col-countdown .fnrw-col-title { width: 100%; margin-bottom: 3px; }
  .fnrw-next-races { border-top: none; border-left: 1px solid #1e1e2c; padding-top: 0; padding-left: 10px; }
}
@media (max-width: 480px) {
  .fnrw-wrap { flex-direction: column; }
  .fnrw-col-race, .fnrw-col-sessions, .fnrw-col-countdown { flex: 0 0 100%; border-right: none; }
  .fnrw-col-race { border-bottom: 1px solid #1e1e2c; }
  .fnrw-col-sessions { border-bottom: 1px solid #1e1e2c; }
  .fnrw-col-countdown { flex-direction: column; align-items: center; }
  .fnrw-next-races { border-left: none; border-top: 1px solid #1e1e2c; padding-top: 8px; padding-left: 0; }
  .fnrw-cv { font-size: 22px; }
}


/* =====================================================
   [f1_seasons] — Grid kartu musim
   ===================================================== */
.fsn-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
  gap: 6px;
  padding: 14px 16px;
}
.fsn-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background: #1a1a2e;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 6px;
  padding: 10px 10px 8px 14px;
  text-decoration: none;
  overflow: hidden;
  transition: background .15s, transform .1s;
}
.fsn-card:hover { background: #22223a; transform: translateY(-1px); }
.fsn-card-active {
  border-color: #e10600 !important;
  background: rgba(225,6,0,.08) !important;
}
.fsn-stripe {
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 4px;
  border-radius: 6px 0 0 6px;
}
.fsn-year {
  font-family: 'Barlow Condensed', Arial Narrow, sans-serif;
  font-size: 20px;
  font-weight: 900;
  color: #fff;
  line-height: 1;
  margin-bottom: 3px;
}
.fsn-era {
  font-size: 8px;
  color: rgba(255,255,255,.35);
  letter-spacing: .3px;
  line-height: 1.2;
}
.fsn-live {
  font-size: 8px;
  font-weight: 700;
  color: #e10600;
  letter-spacing: .5px;
  margin-top: 3px;
}
.fsn-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  padding: 8px 16px 12px;
  border-top: 1px solid rgba(255,255,255,.05);
}
.fsn-leg-item {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 10px;
  color: rgba(255,255,255,.4);
}
.fsn-leg-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

/* =====================================================
   [f1_constructors] — Kartu tim grid
   ===================================================== */
.fcon-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 10px;
  padding: 14px 16px;
}
.fcon-card {
  display: flex;
  background: #1a1a2e;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 8px;
  overflow: hidden;
  transition: background .15s;
}
.fcon-card:hover { background: #22223a; }
.fcon-stripe { width: 5px; flex-shrink: 0; }
.fcon-body { flex: 1; padding: 12px 14px; min-width: 0; }
.fcon-top { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 8px; }
.fcon-pos {
  font-family: 'Barlow Condensed', Arial Narrow, sans-serif;
  font-size: 28px;
  font-weight: 900;
  color: rgba(255,255,255,.25);
  line-height: 1;
  flex-shrink: 0;
  min-width: 24px;
}
.fcon-pos.p1 { color: #FFD700; }
.fcon-pos.p2 { color: #C0C0C0; }
.fcon-pos.p3 { color: #CD7F32; }
.fcon-info { min-width: 0; }
.fcon-name {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fcon-name a { color: inherit; text-decoration: none; }
.fcon-name a:hover { color: #00D2BE; }
.fcon-nat { font-size: 11px; color: rgba(255,255,255,.35); margin-top: 2px; }
.fcon-drivers {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 10px;
}
.fcon-drv-tag {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 3px;
  padding: 2px 6px;
  font-size: 10px;
  font-weight: 700;
  color: rgba(255,255,255,.6);
  letter-spacing: .5px;
}
.fcon-stats {
  display: flex;
  gap: 16px;
  border-top: 1px solid rgba(255,255,255,.05);
  padding-top: 8px;
}
.fcon-stat { display: flex; flex-direction: column; }
.fcon-stat-val {
  font-family: 'Barlow Condensed', Arial Narrow, sans-serif;
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
  color: #fff;
}
.fcon-stat-lbl {
  font-size: 8px;
  color: rgba(255,255,255,.3);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-top: 2px;
}

/* =====================================================
   [f1_status] — DNF causes pills
   ===================================================== */
.fst-causes {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: rgba(231,76,60,.05);
}
.fst-cause-title {
  font-size: 10px;
  color: rgba(255,255,255,.35);
  font-weight: 600;
  letter-spacing: .5px;
  text-transform: uppercase;
  margin-right: 2px;
}
.fst-cause-pill {
  background: rgba(231,76,60,.15);
  border: 1px solid rgba(231,76,60,.3);
  border-radius: 3px;
  padding: 2px 7px;
  font-size: 11px;
  color: rgba(255,255,255,.65);
}
.fst-cause-pill strong { color: #e74c3c; font-weight: 700; }

/* =====================================================
   Responsive tweaks untuk shortcode baru
   ===================================================== */
@media (max-width: 600px) {
  .fsn-grid { grid-template-columns: repeat(auto-fill, minmax(70px, 1fr)); gap: 5px; }
  .fsn-year { font-size: 17px; }
  .fcon-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .fcon-name { font-size: 12px; }
}
@media (max-width: 400px) {
  .fcon-grid { grid-template-columns: 1fr; }
}

/* =====================================================
   [f1_standings_mini] — Widget 5 Besar + Tombol
   ===================================================== */
.f1-mini-widget {
  max-width: 480px;
}

/* Tombol Selengkapnya — identik .f1-tabs + .f1-tab-btn.active */
.f1-mini-tabs-wrap {
  display: flex;
  background: #0e0e18;
  border-bottom: 1px solid #1e1e2c;
}
.f1-mini-btn {
  display: block;
  flex: 1;
  padding: 10px 0;
  text-align: center;
  text-decoration: none !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: #fff !important;
  background: rgba(255,255,255,.07);
  border: none;
  box-sizing: border-box;
  position: relative;
  transition: color .18s, background .18s;
  -webkit-tap-highlight-color: transparent;
}
.f1-mini-btn::after {
  content: '';
  position: absolute;
  bottom: -1px; left: 0; right: 0;
  height: 2px;
  background: rgba(255,255,255,.4);
}
.f1-mini-btn:hover {
  background: rgba(255,255,255,.10);
  color: #fff !important;
}
@media (max-width: 360px) {
  .f1-mini-btn { font-size: 11px; }
}

/* ================================================================
   HISTORI GP SLIDER — [f1_race_weekend]
   ================================================================ */

.f1rw-hist-outer {
  font-family: 'Barlow', Arial, sans-serif;
  background: #12121C;
  border-radius: 8px 8px 0 0;
  border-bottom: 1px solid #1e1e2c;
  margin-bottom: 0;
  width: 100%;
  box-sizing: border-box;
}

.f1rw-hist-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px 7px;
  border-bottom: 1px solid rgba(255,255,255,.09);
}

.f1rw-hist-title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .6px;
  text-transform: uppercase;
  color: rgba(255,255,255,.5);
}

.f1rw-hist-count {
  font-size: 10px;
  font-weight: 700;
  background: rgba(232,0,45,.18);
  color: #e10600;
  border: 1px solid rgba(232,0,45,.3);
  padding: 2px 7px;
  border-radius: 10px;
}

/* Wrapper: arrow kiri + scroll track + arrow kanan — semua dalam satu baris */
.f1rw-hist-track-wrap {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;          /* clip arrow shadow */
  min-height: 62px;
}

.f1rw-hist-arrow {
  flex: 0 0 30px;
  width: 30px;
  height: 62px;
  border: none;
  color: rgba(255,255,255,.45);
  font-size: 22px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color .15s, background .15s;
  z-index: 2;
  padding: 0;
  line-height: 1;
  background: #12121C;
  -webkit-tap-highlight-color: transparent;
}

.f1rw-hist-arrow-l { box-shadow:  4px 0 8px 4px #12121C; }
.f1rw-hist-arrow-r { box-shadow: -4px 0 8px 4px #12121C; }
.f1rw-hist-arrow:hover { color: #fff; }

/* Scroll track: MUST NOT wrap — flex-nowrap + overflow-x:auto */
.f1rw-hist-track {
  flex: 1 1 0;
  min-width: 0;              /* allow shrinking inside flex */
  display: flex;
  flex-wrap: nowrap;         /* CRITICAL: no wrapping */
  flex-direction: row;
  gap: 6px;
  overflow-x: auto;
  overflow-y: visible;
  scroll-behavior: smooth;
  padding: 10px 6px;
  scrollbar-width: none;
  -ms-overflow-style: none;
  box-sizing: border-box;
}

.f1rw-hist-track::-webkit-scrollbar { display: none; }

.f1rw-hist-pill {
  flex: 0 0 auto;            /* never shrink or grow */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 8px;
  padding: 7px 12px;
  cursor: pointer;
  transition: background .15s, border-color .15s;
  font-family: inherit;
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
}

.f1rw-hist-pill:hover {
  background: rgba(255,255,255,.1);
  border-color: rgba(255,255,255,.2);
}

.f1rw-hist-pill.active {
  background: rgba(232,0,45,.15);
  border-color: rgba(232,0,45,.5);
  box-shadow: 0 0 0 1px rgba(232,0,45,.15);
}

.f1rw-hist-pill.active .f1rw-hist-gp { color: #fff; }

.f1rw-hist-flag {
  font-size: 15px;
  line-height: 1;
}

.f1rw-hist-gp {
  font-size: 11px;
  font-weight: 700;
  color: rgba(255,255,255,.8);
  white-space: nowrap;
  line-height: 1.3;
}

.f1rw-hist-date {
  font-size: 10px;
  color: rgba(255,255,255,.35);
  font-weight: 400;
  white-space: nowrap;
}

/* Loading state */
.f1rw-hist-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  color: rgba(255,255,255,.4);
  font-size: 13px;
  gap: 8px;
  background: #15151E;
  border-radius: 0 0 6px 6px;
}

@media (max-width: 560px) {
  .f1rw-hist-pill  { padding: 6px 9px; }
  .f1rw-hist-gp    { font-size: 10px; }
  .f1rw-hist-arrow { flex: 0 0 24px; width: 24px; font-size: 18px; }
}