
/* GRAND GAZ — REFONTE V2 UPLOADABLE
   Couche visuelle non destructive : garde la logique PHP existante et modernise l'UI. */
:root{
  --gg-bg:#05070d;--gg-bg2:#0b1020;--gg-card:rgba(255,255,255,.075);--gg-card2:rgba(255,255,255,.11);
  --gg-line:rgba(255,255,255,.13);--gg-text:#f5f7fb;--gg-muted:#9ba7bd;--gg-soft:#cbd5e1;
  --gg-red:#ff2d55;--gg-orange:#ff9f0a;--gg-green:#30d158;--gg-blue:#64d2ff;--gg-purple:#bf5af2;--gg-yellow:#ffd60a;
  --gg-radius:24px;--gg-shadow:0 24px 80px rgba(0,0,0,.35);
}
:root html[data-theme="light"], [data-theme="light"] { 
              --dark-bg: #ffffff; 
              --card-bg: #ffffff; 
              --text-gray: #374151; 
              --border-color: rgba(0,0,0,0.1); 
              --glass-bg: rgba(0,0,0,0.02); 
              --text-white: #000000; 
              --pure-white: #ffffff; 
              --overlay: linear-gradient(rgba(255,255,255,0.9), rgba(255,255,255,0.95));
          }
html{scroll-behavior:smooth;background:var(--gg-bg)}
body{
  background:
    radial-gradient(circle at 20% 0%, color-mix(in srgb, var(--team-color) 32%, transparent), transparent 35%),
    radial-gradient(circle at 90% 15%, rgba(100,210,255,.16), transparent 30%),
    linear-gradient(135deg,#05070d 0%,#10162a 55%,#080b12 100%) !important;
  color:var(--gg-text)!important;overflow-x:hidden;
}
:root[data-theme='light'] body{background:#f6f7fb!important}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,black,transparent 80%)}
:root[data-theme='light'] body::before{background:linear-gradient(90deg,rgba(0,0,0,.025) 1px,transparent 1px),linear-gradient(rgba(0,0,0,.018) 1px,transparent 1px);mask-image:none}
nav#main-nav{background:rgba(3,5,11,.70)!important;backdrop-filter:blur(24px);border-right:1px solid var(--gg-line)!important;box-shadow:var(--gg-shadow)!important}
.nav-header{background:linear-gradient(135deg,color-mix(in srgb,var(--team-color) 26%,transparent),transparent)!important;border-bottom:1px solid var(--gg-line)!important}
.nav-header h1{letter-spacing:-.04em; color: var(--text-white);}
.nav-header h1 span{color:var(--team-color)!important;text-shadow:0 0 24px color-mix(in srgb,var(--team-color) 55%,transparent)}
.search-container{border:1px solid var(--gg-line)!important;border-radius:14px!important;background:rgba(255,255,255,.07)!important;padding:8px 12px!important}
.search-container i{color: var(--gg-muted);}
.nav-section-title{border-bottom:1px solid var(--gg-line)!important;color:var(--gg-muted)!important;margin-top:20px!important}
nav a{border:1px solid transparent;border-radius:16px!important;margin-bottom:6px!important;padding:12px 13px!important;color:var(--gg-soft)!important}
nav a:hover,nav a.active{background:var(--gg-card);border-color:var(--gg-line)!important;color:var(--gg-text)!important;transform:none!important}
nav a.active{box-shadow:inset 4px 0 0 var(--team-color),0 8px 24px rgba(0,0,0,.18)}
.nav-footer .tiktok-link,.tiktok-link{border:1px solid var(--gg-line)!important;border-radius:16px!important;background:rgba(255,255,255,.075)!important;color:var(--gg-soft)!important}
.sidebar-footer-text{border-top:1px solid var(--gg-line)!important;color:var(--gg-muted)!important}
.top-bar{background:rgba(5,7,13,.78);backdrop-filter:blur(22px)!important;border-bottom:1px solid color-mix(in srgb,var(--team-color) 72%,rgba(255,255,255,.12))!important;box-shadow:0 18px 55px rgba(0,0,0,.28)!important}
.top-bar-right>a,.top-bar-right>button,.points-tag,.user-tag{border-radius:999px!important;background:rgba(255,255,255,.075)!important;border:1px solid var(--gg-line)!important;color:var(--gg-soft)!important}
.points-tag{padding:9px 12px!important;color:var(--gg-yellow)!important;border-right:1px solid var(--gg-line)!important;margin-right:0!important}.user-tag{padding:8px 12px!important;max-width:170px!important}.logout-top{border-radius:14px!important}
main{max-width:1440px;margin-right:auto;min-width:0}.f1-card,.license-card,.news-card,.league-card,.cal-card,.result-matrix-card,.compare-card,.card-tech,.gg-card{
  background:var(--gg-card)!important;border:1px solid var(--gg-line)!important;border-top:1px solid color-mix(in srgb,var(--team-color) 72%,var(--gg-line))!important;border-radius:24px!important;box-shadow:var(--gg-shadow)!important;backdrop-filter:blur(18px);overflow:hidden;color:var(--gg-text)!important}
.f1-card h1,.f1-card h2,.f1-card h3,.gg-title{letter-spacing:-.04em}.f1-card p,.gg-muted{color:var(--gg-muted)}
button,.btn,.submit-btn,.action-btn,input[type="submit"]{border-radius:16px!important}.btn,.submit-btn,.action-btn,input[type="submit"]{background:linear-gradient(135deg,var(--team-color),var(--gg-orange))!important;color:var(--gg-text)!important;border:0!important;font-weight:900!important;box-shadow:0 12px 30px color-mix(in srgb,var(--team-color) 25%,transparent)!important}
input,select,textarea{border-radius:16px!important;border:1px solid var(--gg-line)!important;background:var(--gg-card)!important;color:var(--gg-text)!important;outline:none!important}option{background:#111827;color:var(--gg-text)}.table-responsive,.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:18px}.table-responsive table,.table-wrap table{min-width:680px}table{border-color:var(--gg-line)!important}th{color:var(--gg-muted)!important;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}td,th{border-bottom:1px solid rgba(255,255,255,.08)!important}
/* Nouveaux composants V2 */
.gg-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-bottom:18px}.gg-hero-card,.gg-panel{background:var(--gg-card);border:1px solid var(--gg-line);border-radius:24px;box-shadow:var(--gg-shadow);backdrop-filter:blur(18px);padding:26px;position:relative;overflow:hidden}.gg-hero-card:after{content:"";position:absolute;right:-100px;bottom:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--team-color) 35%,transparent),transparent 64%)}.gg-kicker{display:inline-flex;align-items:center;gap:8px;color:#ffd0da;background:rgba(255,45,85,.12);border:1px solid rgba(255,45,85,.25);padding:8px 12px;border-radius:999px;font-size:13px;font-weight:900}.gg-page-title{font-size:clamp(2rem,5vw,3.2rem);line-height:.96;margin:18px 0 10px;letter-spacing:-.07em;font-family:Orbitron,Inter,sans-serif}.gg-lead{max-width:760px;color:var(--gg-soft);font-size:1rem;line-height:1.65}.gg-actions{display:flex;gap:10px;flex-wrap:wrap}.gg-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:16px;padding:12px 16px;background:linear-gradient(135deg,var(--team-color),var(--gg-orange));color:var(--gg-text)!important;font-weight:900;text-decoration:none;box-shadow:0 12px 30px color-mix(in srgb,var(--team-color) 22%,transparent)}.gg-btn.secondary{background:var(--gg-card)!important;box-shadow:none;border:1px solid var(--gg-line)!important}.gg-grid{display:grid;gap:18px}.gg-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.gg-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.gg-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.gg-stat{display:flex;align-items:center;justify-content:space-between;gap:12px}.gg-value{font-size:32px;font-weight:900;letter-spacing:-.05em}.gg-label{color:var(--gg-muted);font-size:13px}.gg-icon{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:var(--gg-card);border:1px solid var(--gg-line);font-size:22px}.gg-timer{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0}.gg-timer div{text-align:center;padding:12px 8px;border-radius:16px;background:var(--gg-card);border:1px solid var(--gg-line)}.gg-timer b{display:block;font-size:22px}.gg-timer span{font-size:11px;color:var(--gg-muted)}.gg-timeline{display:grid;gap:12px}.gg-event{display:flex;gap:12px;padding:14px;border-radius:18px;background:var(--gg-card);border:1px solid var(--gg-line)}.gg-event .dot{width:12px;height:12px;border-radius:50%;background:var(--gg-green);margin-top:5px;box-shadow:0 0 18px var(--gg-green);flex:0 0 auto}.gg-event.red .dot{background:var(--gg-red);box-shadow:0 0 18px var(--gg-red)}.gg-event.yellow .dot{background:var(--gg-yellow);box-shadow:0 0 18px var(--gg-yellow)}.gg-event h4{margin:0 0 4px;font-size:14px}.gg-event p{margin:0;color:var(--gg-muted);font-size:13px;line-height:1.4}.gg-tabs{display:flex;gap:8px;overflow-x:auto;margin-bottom:16px;padding-bottom:4px}.gg-tab{flex:0 0 auto;padding:10px 14px;border-radius:999px;background:var(--gg-card);border:1px solid var(--gg-line);color:var(--gg-soft);font-size:13px}.gg-tab.active{background:linear-gradient(135deg,var(--team-color),var(--gg-orange));color:var(--gg-text);border-color:transparent;font-weight:900}.gg-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:end}.gg-podium-card{text-align:center;padding:18px 12px;border-radius:22px;background:var(--gg-card);border:1px solid var(--gg-line)}.gg-podium-card.first{padding-top:34px;background:linear-gradient(180deg,rgba(255,214,10,.2),var(--gg-card))}.gg-place{font-size:30px;font-weight:900}.gg-progress{height:10px;border-radius:999px;background:var(--gg-card);overflow:hidden}.gg-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--team-color),var(--gg-orange));border-radius:999px}.gg-track-map{min-height:320px;border-radius:24px;background:radial-gradient(circle at 50% 50%,rgba(100,210,255,.12),transparent 40%),rgba(255,255,255,.045);border:1px solid var(--gg-line);position:relative;overflow:hidden}.gg-track-line{position:absolute;inset:42px;border:12px solid rgba(255,255,255,.5);border-radius:42% 58% 52% 48% / 48% 38% 62% 52%;transform:rotate(-12deg);filter:drop-shadow(0 0 20px rgba(100,210,255,.22))}.gg-car{position:absolute;width:16px;height:16px;border-radius:50%;background:var(--gg-red);box-shadow:0 0 16px var(--gg-red)}.gg-car.c1{left:58%;top:22%}.gg-car.c2{left:28%;top:57%;background:var(--gg-blue);box-shadow:0 0 16px var(--gg-blue)}.gg-car.c3{left:70%;top:70%;background:var(--gg-yellow);box-shadow:0 0 16px var(--gg-yellow)}.gg-notice{padding:14px 16px;border-radius:18px;background:rgba(48,209,88,.12);border:1px solid rgba(48,209,88,.25);color:#dcffe7;margin-bottom:18px}.gg-table{width:100%;border-collapse:collapse;min-width:680px;background:var(--gg-card)}.gg-table th,.gg-table td{padding:14px 16px;text-align:left;white-space:nowrap;font-size:14px}
@media(max-width:1100px){.gg-hero{grid-template-columns:1fr}.gg-grid.four{grid-template-columns:repeat(2,1fr)}.gg-grid.three{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){main{padding-left:14px!important;padding-right:14px!important}.gg-hero-card,.gg-panel{padding:20px}.gg-grid.two,.gg-grid.three,.gg-grid.four{grid-template-columns:1fr}.gg-podium{grid-template-columns:1fr}.gg-actions .gg-btn{width:100%}.gg-timer b{font-size:18px}.gg-page-title{font-size:2rem}.top-bar-right{overflow-x:auto!important;scrollbar-width:none}.top-bar-right::-webkit-scrollbar{display:none}}
/* --- LIGHT MODE BRUTE FORCE --- */
html[data-theme='light'] body { background:#f6f7fb!important; color:#101828!important; }
html[data-theme='light'] nav#main-nav { background:#ffffff!important; border-right:1px solid rgba(0,0,0,0.1)!important; box-shadow: 2px 0 10px rgba(0,0,0,0.05)!important; }
html[data-theme='light'] .nav-header { background:rgba(0,0,0,0.03)!important; border-bottom:1px solid rgba(0,0,0,0.1)!important; }
html[data-theme='light'] .nav-header h1 { color: #000!important; }
html[data-theme='light'] .nav-header h1 span { color: var(--team-color)!important; text-shadow: none!important; }
html[data-theme='light'] .top-bar { background:#ffffff!important; border-bottom:2px solid var(--team-color)!important; box-shadow:0 2px 10px rgba(0,0,0,0.05)!important; }
html[data-theme='light'] .top-bar-right > a, 
html[data-theme='light'] .top-bar-right > button, 
html[data-theme='light'] .points-tag, 
html[data-theme='light'] .user-tag { 
    background:rgba(0,0,0,0.04)!important; 
    border:1px solid rgba(0,0,0,0.1)!important; 
    color:#000000!important; 
}
html[data-theme='light'] .top-bar-right span, 
html[data-theme='light'] .user-tag span { color:#000000!important; }
html[data-theme='light'] .points-tag { color:var(--team-color)!important; font-weight: 900!important; }


/* --- GRAND GAZ V2.1 ADAPTATION --- */
.gg-home-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-bottom:18px}.gg-home-main,.gg-home-race-card{background:var(--gg-card);border:1px solid var(--gg-line);border-radius:28px;box-shadow:var(--gg-shadow);backdrop-filter:blur(20px);padding:28px;overflow:hidden;position:relative}.gg-home-main:after{content:"";position:absolute;right:-120px;bottom:-160px;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--team-color) 34%,transparent),transparent 65%)}.gg-home-race-card h2{font-family:Orbitron,Inter,sans-serif;font-size:clamp(1.35rem,3vw,2.1rem);line-height:1.05;margin:16px 0 8px}.gg-home-race-card p,.gg-home-shortcut p{color:var(--gg-muted);line-height:1.55}.gg-home-shortcut{text-decoration:none;color:var(--gg-text)!important;transition:.25s}.gg-home-shortcut:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--team-color) 55%,var(--gg-line))!important}.gg-home-stats{margin-bottom:18px}
/* tableaux transparents demandés */
.gg-table, .table-responsive table, .table-wrap table, section table{background:rgba(255,255,255,.035)!important}.standings-row:nth-child(even), .legend-row, .legend-stats-col{background:rgba(255,255,255,.055)!important}.legend-row{border-color:rgba(255,255,255,.13)!important;backdrop-filter:blur(16px)}.legend-info-col{background:transparent!important}.legends-grid{gap:22px!important}
/* Race Control / Fantasy retirés du menu : navigation mobile allégée */
.gg-mobile-quick-nav{display:none}@media(max-width:720px){body{padding-bottom:72px}.gg-mobile-quick-nav{position:fixed;left:10px;right:10px;bottom:10px;z-index:1800;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:7px;border-radius:22px;background:rgba(5,7,13,.88);border:1px solid var(--gg-line);box-shadow:0 18px 55px rgba(0,0,0,.35);backdrop-filter:blur(18px)}.gg-mobile-quick-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;color:var(--gg-muted);font-size:1.05rem;padding:7px 2px;border-radius:16px}.gg-mobile-quick-nav a span{font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.gg-mobile-quick-nav a.active{background:rgba(255,255,255,.10);color:#fff}.nav-footer,#google_translate_element,.sidebar-footer-text{display:none!important}.nav-links{padding-bottom:20px!important}.gg-home-hero{grid-template-columns:1fr}.gg-home-main,.gg-home-race-card{padding:20px}.gg-mobile-quick-nav + .top-bar{bottom:0}}
@media(max-width:1100px){.gg-home-hero{grid-template-columns:1fr}}

@media(max-width:720px){
  .gg-hero-card { flex-direction: column !important; text-align: center; }
  .gg-hero-card img { margin: 15px auto !important; max-height: 220px !important; width: auto !important; }
}
/* --- FINAL LIGHT MODE BRUTE FORCE --- */
html[data-theme='light'] body { background:#f6f7fb!important; color:#000000!important; }
html[data-theme='light'] nav#main-nav { background:#ffffff!important; border-right:1px solid rgba(0,0,0,0.12)!important; box-shadow: 4px 0 15px rgba(0,0,0,0.05)!important; }
html[data-theme='light'] .nav-header { background:rgba(0,0,0,0.02)!important; border-bottom:1px solid rgba(0,0,0,0.1)!important; }
html[data-theme='light'] .nav-header h1 { color: #000!important; }
html[data-theme='light'] .top-bar { background:#ffffff!important; border-bottom:2px solid var(--team-color)!important; box-shadow:0 2px 10px rgba(0,0,0,0.05)!important; }
html[data-theme='light'] .top-bar-right > a, html[data-theme='light'] .top-bar-right > button, html[data-theme='light'] .points-tag, html[data-theme='light'] .user-tag { background:#f3f4f6!important; border:1px solid rgba(0,0,0,0.1)!important; color:#000!important; }
html[data-theme='light'] .top-bar-right span, html[data-theme='light'] .user-tag span { color:#000!important; }
html[data-theme='light'] .gg-panel, html[data-theme='light'] .gg-hero-card, html[data-theme='light'] .f1-card, html[data-theme='light'] .news-card, html[data-theme='light'] .gg-card, html[data-theme='light'] .gg-home-main, html[data-theme='light'] .gg-home-race-card, html[data-theme='light'] .gg-stat-card { background:#ffffff!important; color:#000000!important; border:1px solid rgba(0,0,0,0.1)!important; box-shadow: 0 4px 20px rgba(0,0,0,0.05)!important; }
html[data-theme='light'] h1, html[data-theme='light'] h2, html[data-theme='light'] h3, html[data-theme='light'] h4, html[data-theme='light'] strong { color:#000000!important; text-shadow:none!important; }
html[data-theme='light'] p, html[data-theme='light'] span:not(.dot) { color:#111827!important; text-shadow:none!important; }
html[data-theme='light'] .gg-muted, html[data-theme='light'] .gg-label, html[data-theme='light'] .gg-stat .label, html[data-theme='light'] .gg-cd-label, html[data-theme='light'] .nav-section-title { color:#4b5563!important; text-shadow:none!important; }
html[data-theme='light'] .gg-value, html[data-theme='light'] .gg-cd-number, html[data-theme='light'] .gg-stat .value { color:#000000!important; text-shadow:none!important; }
html[data-theme='light'] th { color:#000!important; background:#f9fafb!important; border-bottom:2px solid rgba(0,0,0,0.1)!important; }
html[data-theme='light'] td { color:#111!important; border-bottom:1px solid rgba(0,0,0,0.08)!important; }
html[data-theme='light'] .gg-table, html[data-theme='light'] .table-responsive table, html[data-theme='light'] .table-wrap table { background:#ffffff!important; }
html[data-theme='light'] .search-container { background:#f3f4f6!important; border:1px solid rgba(0,0,0,0.1)!important; }
html[data-theme='light'] .search-container input { color:#000!important; }
html[data-theme='light'] nav a { color:#374151!important; }
html[data-theme='light'] nav a:hover, html[data-theme='light'] nav a.active { background:#f3f4f6!important; color:var(--team-color)!important; }
html[data-theme='light'] .tiktok-link { background:#f3f4f6!important; border:1px solid rgba(0,0,0,0.1)!important; color:#4b5563!important; }
html[data-theme='light'] .sidebar-footer-text { border-top:1px solid rgba(0,0,0,0.1)!important; color:#6b7280!important; }
html[data-theme='light'] .burger-btn span { background:#000!important; }
html[data-theme='light'] .gg-timer div { background:#f9fafb!important; border-color:rgba(0,0,0,0.1)!important; }
html[data-theme='light'] .gg-event { background:#f9fafb!important; border-color:rgba(0,0,0,0.05)!important; }
html[data-theme='light'] .gg-kicker { background:rgba(225,6,0,0.1)!important; color:#e10600!important; border-color:rgba(225,6,0,0.2)!important; }

/* Grand Gaz 2.1.0 - Correctif Race Hub / Infos Race Preview */
.gg-preview-panel {
  overflow: hidden;
}

.gg-preview-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

.gg-preview-intro {
  flex: 1 1 320px;
  min-width: 0;
}

.gg-preview-intro h3 {
  margin: 0 0 8px;
}

.gg-preview-intro .gg-muted {
  margin: 0;
  max-width: 760px;
  line-height: 1.55;
}

.gg-preview-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
  align-items: center;
  flex: 0 1 auto;
}

.gg-preview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.gg-preview-card {
  min-width: 0;
  min-height: 145px;
  padding: 18px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(255, 255, 255, 0.09);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.gg-preview-card strong {
  display: block;
  font-size: 1.04rem;
  line-height: 1.25;
  word-break: normal;
  overflow-wrap: anywhere;
}

.gg-preview-card p {
  margin: 0;
  color: var(--gg-muted);
  line-height: 1.45;
  font-size: 0.92rem;
}

.gg-preview-label {
  color: var(--gg-soft);
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.gg-preview-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
}

.gg-preview-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid var(--gg-line);
  background: rgba(255, 255, 255, 0.055);
  color: var(--gg-text) !important;
  text-decoration: none;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1;
}

.gg-preview-links a:hover {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--team-color) 55%, var(--gg-line));
}

@media (max-width: 720px) {
  .gg-preview-head {
    display: grid;
    grid-template-columns: 1fr;
  }

  .gg-preview-actions {
    justify-content: stretch;
    width: 100%;
  }

  .gg-preview-actions .gg-btn {
    width: 100%;
  }

  .gg-preview-grid {
    grid-template-columns: 1fr;
  }

  .gg-preview-card {
    min-height: auto;
  }
}


/* === GRAND GAZ 2.1.0 - Correctifs tableaux (Result Matrix + Classement écuries) === */
.matrix-scroll-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  position:relative;
  box-sizing:border-box;
}
.matrix-table{
  border-collapse:separate !important;
  border-spacing:0 !important;
}
.matrix-table th,
.matrix-table td{
  box-sizing:border-box;
}
.matrix-driver-head,
.matrix-driver-cell{
  position:sticky !important;
  left:0 !important;
  background:linear-gradient(90deg, rgba(18,22,34,.99), rgba(18,22,34,.96)) !important;
  z-index:22 !important;
  overflow:visible !important;
  box-shadow:10px 0 18px rgba(0,0,0,.24) !important;
}
.matrix-driver-cell{
  border-left-color:var(--driver-color) !important;
}
.matrix-driver-cell::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:var(--driver-color);
  box-shadow:0 0 12px color-mix(in srgb, var(--driver-color) 70%, transparent);
  pointer-events:none;
}
.matrix-total-head,
.matrix-total-cell{
  position:sticky !important;
  right:0 !important;
  background:linear-gradient(90deg, rgba(13,18,30,.97), rgba(18,27,45,1)) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
  z-index:24 !important;
  box-shadow:-12px 0 22px rgba(0,0,0,.38) !important;
  border-left:1px solid rgba(255,255,255,.12) !important;
  min-width:78px;
}
.matrix-total-cell{
  color:#ff2b2b !important;
  text-shadow:0 0 10px rgba(255,0,0,.18);
}
.matrix-total-head{
  color:#ff3b3b !important;
}

.constructors-standings-card{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  overflow-x:auto !important;
}
.constructors-standings-table{
  width:100% !important;
  max-width:100% !important;
  table-layout:fixed !important;
}
.constructors-standings-table th,
.constructors-standings-table td{
  box-sizing:border-box;
}
.constructors-standings-table th:nth-child(1),
.constructors-standings-table td:nth-child(1){
  width:80px;
}
.constructors-standings-table th:nth-child(2),
.constructors-standings-table td:nth-child(2){
  width:auto;
  min-width:0;
}
.constructors-standings-table th:nth-child(3),
.constructors-standings-table td:nth-child(3){
  width:140px;
}
.constructors-standings-table th:nth-child(4),
.constructors-standings-table td:nth-child(4){
  width:130px;
}
.constructors-standings-table td:nth-child(2) span{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media (max-width:768px){
  .matrix-table{min-width:1040px !important;}
  .matrix-driver-head,
  .matrix-driver-cell{min-width:84px !important; max-width:84px !important; padding-left:10px !important; padding-right:8px !important;}
  .matrix-total-head,
  .matrix-total-cell{min-width:64px !important; padding-left:8px !important; padding-right:8px !important;}
  .constructors-standings-table{min-width:0 !important; table-layout:fixed !important;}
  .constructors-standings-table th:nth-child(1),
  .constructors-standings-table td:nth-child(1){width:54px !important;}
  .constructors-standings-table th:nth-child(3),
  .constructors-standings-table td:nth-child(3){display:none !important;}
  .constructors-standings-table th:nth-child(4),
  .constructors-standings-table td:nth-child(4){width:82px !important; padding-right:12px !important;}
  .constructors-standings-table td:nth-child(2) span{font-size:.82rem !important; letter-spacing:.4px !important;}
}


/* === Grand Gaz 2.1.0c - corrections visibles mobile tableaux === */
@media (max-width: 768px) {
  .matrix-scroll-wrap {
    overflow-x: auto !important;
    overflow-y: visible !important;
    max-width: 100% !important;
    border-radius: 18px !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-x pan-y !important;
  }
  .matrix-scroll-wrap::after {
    content:"";
    position: sticky;
    right:0;
    display:block;
    width:1px;
    height:1px;
  }
  .matrix-table {
    width: max-content !important;
    min-width: 820px !important;
    table-layout: fixed !important;
    font-size: .78rem !important;
  }
  .matrix-table th:not(.matrix-driver-head):not(.matrix-total-head),
  .matrix-table td:not(.matrix-driver-cell):not(.matrix-total-cell) {
    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
  }
  .matrix-driver-head,
  .matrix-driver-cell {
    position: sticky !important;
    left: 0 !important;
    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;
    z-index: 40 !important;
    background: linear-gradient(90deg, rgba(16,18,28,.99), rgba(20,24,38,.96)) !important;
    box-shadow: 8px 0 18px rgba(0,0,0,.42) !important;
  }
  .matrix-total-head,
  .matrix-total-cell {
    position: static !important;
    right: auto !important;
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    z-index: 1 !important;
    background: rgba(16,20,32,.95) !important;
    box-shadow: none !important;
    border-left: 1px solid rgba(255,255,255,.13) !important;
  }
  .matrix-total-cell {
    color: #ff1b1b !important;
    font-size: .9rem !important;
    text-shadow: none !important;
  }
  .matrix-table thead th { height: 62px !important; vertical-align: middle !important; }
  .matrix-table tbody td { height: 68px !important; vertical-align: middle !important; }
  .matrix-table td div[style*="width:26px"] {
    width: 34px !important;
    height: 34px !important;
    line-height: 34px !important;
    font-size: .78rem !important;
    border-radius: 7px !important;
  }
  .matrix-table td div[title*="Sprint"] {
    width: 40px !important;
    height: 24px !important;
    line-height: 22px !important;
    font-size: .72rem !important;
    border-radius: 6px !important;
  }
  .scroll-hint-matrix { display:block !important; margin-bottom:10px !important; }
}

/* Race Hub mobile - version compacte */
@media (max-width: 768px) {
  .gg-preview-panel { padding: 18px !important; border-radius: 22px !important; }
  .gg-preview-intro h3 { font-size: 1.18rem !important; line-height: 1.15 !important; }
  .gg-preview-intro .gg-muted { font-size: .92rem !important; line-height: 1.42 !important; }
  .gg-preview-card { background: rgba(255,255,255,.04) !important; }
}


/* === Grand Gaz 2.0.2 — finition responsive + mode clair === */
:root[data-theme="light"],
html[data-theme="light"],
body[data-theme="light"] {
  --text-white: #111827;
  --text-gray: #4b5563;
  --dark-bg: #f5f7fb;
  --card-bg: rgba(255,255,255,.88);
  --glass-bg: rgba(17,24,39,.06);
  --border-color: rgba(17,24,39,.14);
  --gg-card: rgba(255,255,255,.92);
}

:root[data-theme="light"] .f1-card,
html[data-theme="light"] .f1-card,
:root[data-theme="light"] .gg-card,
html[data-theme="light"] .gg-card {
  color: #111827;
  background: rgba(255,255,255,.90);
}

:root[data-theme="light"] h1,
:root[data-theme="light"] h2,
:root[data-theme="light"] h3,
:root[data-theme="light"] h4,
:root[data-theme="light"] p,
:root[data-theme="light"] label,
:root[data-theme="light"] td,
:root[data-theme="light"] th,
html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3,
html[data-theme="light"] h4,
html[data-theme="light"] p,
html[data-theme="light"] label,
html[data-theme="light"] td,
html[data-theme="light"] th {
  color: inherit;
}

:root[data-theme="light"] input,
:root[data-theme="light"] select,
:root[data-theme="light"] textarea,
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea {
  background: rgba(255,255,255,.95);
  color: #111827;
  border-color: rgba(17,24,39,.22);
}

:root[data-theme="light"] a,
html[data-theme="light"] a {
  color: #0b5fff;
}

/* Pages un peu moins lourdes sur mobile */
@media (max-width: 720px) {
  .f1-card { padding: 18px !important; }
  h1 { font-size: clamp(1.5rem, 8vw, 2.4rem) !important; }
  h2 { font-size: clamp(1.05rem, 5vw, 1.5rem) !important; }
  .tabs-nav, .gg-tabs, .page-tabs {
    overflow-x: auto;
    flex-wrap: nowrap !important;
    -webkit-overflow-scrolling: touch;
  }
  .tab-btn, .gg-tab, .page-tab {
    white-space: nowrap;
    flex: 0 0 auto;
  }
}

/* Résultats / qualifications : garder les temps visibles sur mobile */
@media (max-width: 720px) {
  .gg-qual-grid, .starting-grid {
    grid-template-columns: 1fr !important;
  }
  .gg-qual-time {
    white-space: nowrap !important;
    max-width: none !important;
  }
}
