/*
Theme Name: Mighty Pickleball
Theme URI: https://mightypickleball.com
Author: Mighty Pickleball
Description: Custom WordPress theme for Mighty Pickleball — dark sports league website.
Version: 2.9.4
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: mighty-pickleball
*/

/* BRAND VARIABLES — les valeurs réelles (clair par défaut, sombre dans le circuit) sont définies dans assets/css/redesign.css */
:root {
  --black:#fff;--black-2:#F3F6F1;--white:#18230F;--gold:#1F7D53;--gold-2:#255F38;
  --grad:linear-gradient(#1F7D53,#1F7D53);--grad-text:linear-gradient(#1F7D53,#1F7D53);
  --gold-dim:rgba(31,125,83,.1);--gold-border:rgba(24,35,15,.16);--gold-glow:rgba(31,125,83,.25);
  --card-bg:#fff;--text-muted:rgba(24,35,15,.68);--text-dim:rgba(24,35,15,.46);
  --font-display:'Bricolage Grotesque','Impact',sans-serif;--font-body:'Inter','Helvetica Neue',Arial,sans-serif;
  --radius:12px;--radius-lg:20px;--max-w:1280px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{font-family:var(--font-body);background:var(--black);color:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;transition:color .2s;}
ul,ol{list-style:none;}

/* TYPOGRAPHY */
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:.04em;line-height:1.1;text-transform:uppercase;}
h1{font-size:clamp(2.8rem,7vw,6rem);}
h2{font-size:clamp(2rem,4.5vw,3.8rem);}
h3{font-size:clamp(1.5rem,3vw,2.4rem);}
h4{font-size:1.5rem;}

.text-gold{background:linear-gradient(90deg,var(--gold) 0%,var(--gold) 50%,var(--gold) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 16px rgba(var(--fg-rgb),.35));}
.text-muted{color:var(--text-muted);}
.text-center{text-align:center;}

/* LAYOUT */
.container{max-width:var(--max-w);margin:0 auto;padding:0 24px;}
.section{padding:100px 24px;position:relative;}
.section--a{background:linear-gradient(180deg,var(--black) 0%,#0f0f0f 50%,var(--black) 100%);border-bottom:1px solid rgba(var(--fg-rgb),.06);}
.section--b{background:linear-gradient(180deg,var(--black) 0%,var(--black-2) 50%,var(--black) 100%);border-top:1px solid rgba(var(--fg-rgb),.06);border-bottom:1px solid rgba(var(--fg-rgb),.06);}
.section--c{background:linear-gradient(180deg,var(--black) 0%,var(--black-2) 50%,var(--black) 100%);border-top:1px solid rgba(var(--fg-rgb),.08);border-bottom:1px solid rgba(var(--fg-rgb),.08);}
@media(max-width:768px){.section{padding:70px 16px;}}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 32px;border-radius:var(--radius);font-family:var(--font-display);font-size:1.05rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:2px solid transparent;transition:all .25s ease;text-decoration:none;white-space:nowrap;}
.btn-gold{background:linear-gradient(135deg,var(--gold-2) 0%,var(--gold) 50%,var(--gold-2) 100%);color:var(--white);border-color:transparent;box-shadow:0 4px 24px rgba(var(--fg-rgb),.4);}
.btn-gold:hover{transform:scale(1.05);box-shadow:0 6px 32px rgba(var(--fg-rgb),.6),0 0 50px rgba(var(--fg-rgb),.2);color:var(--white);}
.btn-outline-gold{background:transparent;color:var(--gold);border-color:var(--gold);}
.btn-outline-gold:hover{background:var(--gold-dim);box-shadow:0 0 20px var(--gold-glow);color:var(--gold);}
.btn-outline-white{background:rgba(var(--fg-rgb),.05);color:var(--white);border-color:rgba(var(--fg-rgb),.2);}
.btn-outline-white:hover{background:rgba(var(--fg-rgb),.12);border-color:rgba(var(--fg-rgb),.5);color:var(--white);}

/* HEADER */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(var(--bg-rgb),.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(var(--fg-rgb),.2);box-shadow:0 4px 30px rgba(0,0,0,.6);}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:84px;max-width:var(--max-w);margin:0 auto;padding:0 24px;}
.site-logo-img{
  height:62px !important;
  width:auto !important;
  max-width:220px !important;
  object-fit:contain !important;
  display:block !important;
}
.main-nav{display:flex;align-items:center;gap:4px;}
.main-nav a{font-family:var(--font-display);font-size:.92rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(var(--fg-rgb),.7);padding:8px 14px;border-radius:8px;transition:all .2s;position:relative;}
.main-nav a::after{content:'';position:absolute;bottom:2px;left:14px;right:14px;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .2s;border-radius:2px;}
.main-nav a:hover,.main-nav a.current-menu-item{color:var(--gold);}
.main-nav a:hover::after,.main-nav a.current-menu-item::after{transform:scaleX(1);}
.header-cta{display:flex;align-items:center;gap:12px;}
.cart-icon{position:relative;color:rgba(var(--fg-rgb),.7);padding:10px;border-radius:8px;transition:all .2s;}
.cart-icon:hover{color:var(--gold);background:var(--gold-dim);}
.cart-count{position:absolute;top:4px;right:4px;background:var(--gold);color:#000;font-size:.6rem;font-weight:900;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:10px;background:none;border:none;}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--white);border-radius:2px;transition:all .3s;}
@media(max-width:1024px){
  .main-nav{display:none;position:absolute;top:76px;left:0;right:0;background:rgba(var(--bg-rgb),.98);flex-direction:column;padding:20px 24px 28px;border-bottom:1px solid rgba(var(--fg-rgb),.15);gap:2px;}
  .main-nav.open{display:flex;}
  .nav-toggle{display:flex;}
}

/* HERO */
.hero{
  min-height:75vh;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  position:relative;overflow:hidden;
  padding:120px 24px 80px;
  text-align:center;
}

.hero-bg-layer{
  position:absolute;inset:0;z-index:0;
  background-image:url('assets/images/hero-bg.svg');
  background-size:cover;background-position:center;
}

.hero-overlay{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:#000;opacity:.65;transition:opacity .3s;
}

.hero::after{
  content:'';position:absolute;bottom:0;left:0;right:0;
  height:220px;z-index:2;pointer-events:none;
  background:linear-gradient(to top,var(--black) 0%,transparent 100%);
}

.hero-content{
  position:relative;z-index:10;
  max-width:1100px;
  display:flex;flex-direction:column;align-items:center;
}

.hero-eyebrow{
  font-family:var(--font-display);
  font-size:.8rem;letter-spacing:.35em;
  text-transform:uppercase;color:#06B6D4;
  margin-bottom:20px;opacity:.9;
}

.hero-title-big{
  font-family:var(--font-display);
  font-size:clamp(4rem,13vw,11rem);
  line-height:.95;letter-spacing:.02em;text-transform:uppercase;
  background:linear-gradient(90deg,var(--gold) 0%,var(--gold-2) 30%,#06B6D4 70%,#22D3EE 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  filter:drop-shadow(0 0 60px rgba(var(--fg-rgb),.3));
  margin-bottom:32px;
}

.hero-event-date{
  font-size:clamp(1.1rem,2.5vw,1.6rem);font-weight:700;
  color:var(--white);margin-bottom:8px;letter-spacing:.02em;
}

.hero-event-venue{
  font-size:clamp(.9rem,1.5vw,1.05rem);
  color:rgba(var(--fg-rgb),.55);margin-bottom:28px;letter-spacing:.04em;
}

.hero-status-badges{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

.hero-status-badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 22px;border-radius:50px;
  font-family:var(--font-display);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;
  border:1px solid;
}

.hero-badge-next{background:rgba(6,182,212,.1);border-color:rgba(6,182,212,.4);color:#06B6D4;}
.hero-badge-done{background:rgba(var(--fg-rgb),.1);border-color:rgba(var(--fg-rgb),.35);color:var(--gold);}

.hero-badge-dot{
  width:7px;height:7px;border-radius:50%;background:currentColor;
  animation:pulse-dot 1.8s ease-in-out infinite;
}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.4;transform:scale(.7);}}

.scroll-hint{
  position:absolute;bottom:30px;left:50%;transform:translateX(-50%);
  z-index:10;color:rgba(var(--fg-rgb),.25);
  animation:bob 2s ease-in-out infinite;
  font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;
  display:flex;flex-direction:column;align-items:center;gap:5px;
}
@keyframes bob{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(8px);}}

/* COUNTDOWN BAR — version améliorée */
.countdown-bar{
  background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(15,10,0,.92) 50%,rgba(0,0,0,.9) 100%);
  border-top:2px solid rgba(var(--fg-rgb),.25);
  border-bottom:1px solid rgba(var(--fg-rgb),.1);
  padding:32px 24px;
  position:relative;
}
.countdown-bar::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent 0%,rgba(var(--fg-rgb),.04) 50%,transparent 100%);
  pointer-events:none;
}
.countdown-bar-inner{max-width:var(--max-w);margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;position:relative;}
.countdown-left{min-width:200px;}
.countdown-event-label{display:flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:.7rem;letter-spacing:.28em;color:var(--gold);text-transform:uppercase;margin-bottom:6px;opacity:.85;}
.countdown-event-name{font-family:var(--font-display);font-size:2rem;color:var(--white);line-height:1.1;text-shadow:0 0 20px rgba(var(--fg-rgb),.15);}
.countdown-timer{display:flex;align-items:center;gap:16px;}
.countdown-unit{text-align:center;min-width:68px;background:rgba(var(--fg-rgb),.05);border:1px solid rgba(var(--fg-rgb),.14);border-radius:10px;padding:12px 10px 8px;}
.countdown-num{font-family:var(--font-display);font-size:3rem;line-height:1;background:linear-gradient(135deg,var(--gold) 0%,var(--gold) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 8px rgba(var(--fg-rgb),.4));}
.countdown-label{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);margin-top:4px;}
.countdown-sep{font-family:var(--font-display);font-size:2.2rem;color:rgba(var(--fg-rgb),.35);margin-bottom:18px;}
@media(max-width:900px){
  .countdown-bar-inner{flex-direction:column;text-align:center;}
  .countdown-left{text-align:center;}
  .countdown-timer{justify-content:center;}
  .countdown-event-label{justify-content:center;}
}

/* COUNTDOWN BAR */
.countdown-bar{background:linear-gradient(90deg,rgba(var(--fg-rgb),.07) 0%,rgba(var(--fg-rgb),.03) 100%);border-top:1px solid rgba(var(--fg-rgb),.14);border-bottom:1px solid rgba(var(--fg-rgb),.14);padding:28px 24px;}
.countdown-bar-inner{max-width:var(--max-w);margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;}
.countdown-event-label{font-family:var(--font-display);font-size:.72rem;letter-spacing:.25em;color:var(--gold);text-transform:uppercase;margin-bottom:4px;}
.countdown-event-name{font-family:var(--font-display);font-size:1.8rem;color:var(--white);line-height:1;}
.countdown-timer{display:flex;align-items:center;gap:20px;}
.countdown-unit{text-align:center;}
.countdown-num{font-family:var(--font-display);font-size:2.8rem;line-height:1;background:linear-gradient(135deg,var(--gold) 0%,var(--gold) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.countdown-label{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);margin-top:2px;}
.countdown-sep{font-family:var(--font-display);font-size:2rem;color:rgba(var(--fg-rgb),.35);}

/* SECTION HEADER */
.sec-head{text-align:center;margin-bottom:60px;}
.sec-eyebrow{display:inline-block;font-family:var(--font-display);font-size:.78rem;letter-spacing:.3em;color:var(--gold);text-transform:uppercase;margin-bottom:12px;}
.sec-line{width:80px;height:2px;margin:14px auto 0;background:linear-gradient(90deg,transparent 0%,var(--gold) 50%,transparent 100%);box-shadow:0 0 12px rgba(var(--fg-rgb),.5);}

/* STATS STRIP */
.stats-strip{padding:48px 24px;background:linear-gradient(135deg,rgba(var(--fg-rgb),.07) 0%,rgba(var(--fg-rgb),.02) 100%);border-top:1px solid rgba(var(--fg-rgb),.1);border-bottom:1px solid rgba(var(--fg-rgb),.1);}
.stats-strip-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;text-align:center;}
.stat-num{font-family:var(--font-display);font-size:3.5rem;background:linear-gradient(135deg,var(--gold) 0%,var(--gold-2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;filter:drop-shadow(0 0 10px rgba(var(--fg-rgb),.3));}
.stat-lbl{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin-top:6px;}
@media(max-width:768px){.stats-strip-inner{grid-template-columns:repeat(2,1fr);}}

/* TEAM CARDS */
.teams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px;}

.team-card{
  background:rgba(var(--bg-rgb),.65);
  border:2px solid var(--gold-border);
  border-radius:var(--radius);
  backdrop-filter:blur(10px);
  overflow:hidden;
  transition:all .35s ease;
}
.team-card:hover{
  transform:translateY(-8px) scale(1.01);
  border-color:rgba(var(--fg-rgb),.5);
  box-shadow:0 12px 50px rgba(var(--fg-rgb),.14),0 0 80px rgba(var(--fg-rgb),.04);
}

/* Toute la carte est un lien */
.team-card-anchor{
  display:flex;
  flex-direction:column;
  height:100%;
  text-decoration:none;
  color:inherit;
  cursor:pointer;
}

.team-card-bar{height:4px;flex-shrink:0;}

.team-card-inner{padding:28px 26px 0;flex:1;text-align:center;}

/* Zone logo avec fond et padding séparé du texte */
.team-logo-wrap{
  background:rgba(var(--fg-rgb),.03);
  border-radius:10px;
  padding:20px;
  margin-bottom:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:140px;
}

.team-logo-img{
  max-height:100px;
  width:auto;
  max-width:100%;
  object-fit:contain;
  display:block;
}

.team-logo-initial{
  width:80px;height:80px;
  border-radius:50%;
  border:2px solid;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-size:2rem;
}

.team-name{font-family:var(--font-display);font-size:1.8rem;margin-bottom:4px;}
.team-city{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:14px;}
.team-coach{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-muted);margin-bottom:14px;justify-content:center;}
.team-dupr-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#1D4ED8;border:1px solid #1D4ED8;padding:5px 14px;border-radius:20px;font-size:.8rem;color:var(--white);font-weight:700;margin-bottom:18px;}
.team-roster{display:flex;flex-direction:column;}
.roster-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid rgba(var(--fg-rgb),.05);font-size:.87rem;}
.roster-row:last-child{border-bottom:none;}
.roster-row .rname{color:rgba(var(--fg-rgb),.82);}
.roster-row .rdupr{font-family:var(--font-display);font-size:1rem;background:#1D4ED8;color:var(--white);padding:2px 8px;border-radius:5px;}

.team-card-footer{
  padding:16px 26px;
  margin-top:20px;
  background:rgba(0,0,0,.3);
  border-top:1px solid rgba(var(--fg-rgb),.08);
  flex-shrink:0;
}

.team-card-cta{
  display:block;
  text-align:center;
  font-family:var(--font-display);
  font-size:.9rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--gold);
  border:1px solid rgba(var(--fg-rgb),.3);
  border-radius:8px;
  padding:10px;
  transition:all .2s;
  background:rgba(var(--fg-rgb),.04);
}
.team-card:hover .team-card-cta{
  background:rgba(var(--fg-rgb),.12);
  border-color:rgba(var(--fg-rgb),.6);
}

/* PLAYER CARDS */
.players-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:18px;}
.player-card{background:rgba(var(--bg-rgb),.65);border:2px solid rgba(var(--fg-rgb),.1);border-radius:var(--radius);overflow:hidden;transition:all .3s ease;}
.player-card:hover{transform:translateY(-5px);border-color:rgba(var(--fg-rgb),.38);box-shadow:0 8px 30px rgba(var(--fg-rgb),.1);}
.player-photo{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--black-2);display:block;}
.player-photo-ph{width:100%;aspect-ratio:3/4;background:linear-gradient(135deg,var(--black-2) 0%,var(--black-2) 100%);display:flex;align-items:center;justify-content:center;color:rgba(var(--fg-rgb),.1);font-size:4rem;}
.player-info{padding:16px;}
.player-name{font-family:var(--font-display);font-size:1.15rem;margin-bottom:6px;}
.player-team-tag{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:rgba(var(--fg-rgb),.08);color:var(--gold);border:1px solid rgba(var(--fg-rgb),.22);padding:3px 10px;border-radius:4px;margin-bottom:12px;}
.player-stats{display:flex;gap:16px;}
.p-stat{display:flex;flex-direction:column;align-items:center;}
.p-stat-val{font-family:var(--font-display);font-size:1.4rem;color:var(--gold);line-height:1;}
.p-stat-lbl{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-top:3px;}

/* SCHEDULE */
.schedule-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid rgba(var(--fg-rgb),.12);}
.schedule-table{width:100%;border-collapse:collapse;font-size:.9rem;}
.schedule-table thead tr{background:rgba(var(--fg-rgb),.07);border-bottom:2px solid rgba(var(--fg-rgb),.18);}
.schedule-table th{font-family:var(--font-display);font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);padding:16px 20px;text-align:left;}
.schedule-table td{padding:14px 20px;border-bottom:1px solid rgba(var(--fg-rgb),.04);color:rgba(var(--fg-rgb),.82);}
.schedule-table tbody tr:hover td{background:rgba(var(--fg-rgb),.03);}
.schedule-table tbody tr:last-child td{border-bottom:none;}
.match-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.badge-upcoming{background:rgba(59,130,246,.12);color:#60a5fa;border:1px solid rgba(59,130,246,.22);}
.badge-live{background:rgba(239,68,68,.12);color:#f87171;border:1px solid rgba(239,68,68,.28);animation:pulse 1.5s infinite;}
.badge-completed{background:rgba(34,197,94,.1);color:#4ade80;border:1px solid rgba(34,197,94,.22);}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.6;}}

/* FILTER BAR */
.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px;}
.filter-btn{padding:8px 22px;border:1px solid rgba(var(--fg-rgb),.18);border-radius:30px;font-family:var(--font-display);font-size:.82rem;letter-spacing:.08em;cursor:pointer;background:transparent;color:var(--text-muted);transition:all .2s;}
.filter-btn:hover,.filter-btn.active{background:rgba(var(--fg-rgb),.1);border-color:rgba(var(--fg-rgb),.45);color:var(--gold);box-shadow:0 0 12px rgba(var(--fg-rgb),.12);}

/* NEWS CARDS */
.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;}
.news-card{background:rgba(var(--bg-rgb),.65);border:2px solid rgba(var(--fg-rgb),.1);border-radius:var(--radius);overflow:hidden;transition:all .3s ease;}
.news-card:hover{transform:translateY(-5px);border-color:rgba(var(--fg-rgb),.32);box-shadow:0 8px 30px rgba(var(--fg-rgb),.08);}
.news-thumb{width:100%;height:200px;object-fit:cover;background:var(--black-2);}
.news-body{padding:22px;}
.news-date{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;opacity:.8;}
.news-title{font-family:var(--font-display);font-size:1.25rem;margin-bottom:8px;transition:color .2s;}
.news-card:hover .news-title{color:var(--gold);}
.news-excerpt{font-size:.86rem;color:var(--text-muted);margin-bottom:16px;}

/* SPONSORS STRIP */
.sponsors-strip{padding:32px 24px;border-top:1px solid rgba(var(--fg-rgb),.04);border-bottom:1px solid rgba(var(--fg-rgb),.04);}
.sponsors-lbl{text-align:center;font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;color:var(--text-dim);margin-bottom:18px;}
.sponsors-logos{display:flex;align-items:center;justify-content:center;gap:48px;flex-wrap:wrap;}
.sponsor-logo{height:34px;width:auto;opacity:.35;filter:grayscale(100%) brightness(2);transition:all .3s;}
.sponsor-logo:hover{opacity:1;filter:grayscale(0%);}

/* WOOCOMMERCE DARK OVERRIDE */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important;gap:22px!important;margin:0!important;padding:0!important;}
.woocommerce ul.products li.product{background:rgba(var(--bg-rgb),.7)!important;border:2px solid rgba(var(--fg-rgb),.12)!important;border-radius:var(--radius)!important;overflow:hidden!important;margin:0!important;padding:0!important;transition:all .3s ease!important;}
.woocommerce ul.products li.product:hover{transform:translateY(-6px)!important;border-color:rgba(var(--fg-rgb),.4)!important;box-shadow:0 10px 40px rgba(var(--fg-rgb),.12)!important;}
.woocommerce ul.products li.product img{width:100%!important;height:260px!important;object-fit:cover!important;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--font-display)!important;font-size:1.2rem!important;color:var(--white)!important;padding:16px 20px 4px!important;}
.woocommerce ul.products li.product .price{padding:0 20px 4px!important;color:var(--gold)!important;font-weight:700!important;}
.woocommerce ul.products li.product .button{display:block!important;margin:10px 20px 20px!important;background:rgba(var(--fg-rgb),.1)!important;color:var(--gold)!important;border:1px solid rgba(var(--fg-rgb),.28)!important;padding:12px!important;border-radius:8px!important;font-family:var(--font-display)!important;letter-spacing:.1em!important;text-transform:uppercase!important;text-align:center!important;transition:all .2s!important;}
.woocommerce ul.products li.product .button:hover{background:var(--gold)!important;color:#000!important;box-shadow:0 4px 20px rgba(var(--fg-rgb),.4)!important;}
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--gold)!important;color:#000!important;font-family:var(--font-display)!important;letter-spacing:.1em!important;text-transform:uppercase!important;border-radius:8px!important;}
.woocommerce #respond input#submit:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--gold-2)!important;box-shadow:0 4px 20px rgba(var(--fg-rgb),.4)!important;}

/* ═══════════════════════════════════════════════════════════
   SINGLE MATCH
═══════════════════════════════════════════════════════════ */
.match-hero{
  position:relative;overflow:hidden;
  padding:120px 24px 80px;
  text-align:center;
  background:var(--black);
}
.match-hero-bg{
  position:absolute;inset:0;z-index:0;
  background:radial-gradient(ellipse at 50% 0%,rgba(var(--fg-rgb),.12) 0%,transparent 60%);
}
.match-hero-overlay{
  position:absolute;bottom:0;left:0;right:0;height:180px;z-index:1;
  background:linear-gradient(to top,var(--black),transparent);
}
.match-hero-inner{position:relative;z-index:2;max-width:1100px;margin:0 auto;}

/* Status pill */
.match-status-row{margin-bottom:20px;}
.match-status-pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 18px;border-radius:50px;
  font-family:var(--font-display);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;
  border:1px solid;
}
.match-status-done{color:var(--gold);border-color:rgba(var(--fg-rgb),.4);background:rgba(var(--fg-rgb),.08);}
.match-status-upcoming{color:#06B6D4;border-color:rgba(6,182,212,.4);background:rgba(6,182,212,.08);}
.match-status-live{color:#22C55E;border-color:rgba(34,197,94,.4);background:rgba(34,197,94,.08);}
.live-dot{width:7px;height:7px;border-radius:50%;background:#22C55E;animation:pulse-dot 1.4s ease-in-out infinite;}

.match-hero-title{
  font-size:clamp(1.6rem,4vw,3rem);
  margin-bottom:40px;color:rgba(var(--fg-rgb),.7);
  font-family:var(--font-display);letter-spacing:.06em;
}

/* Score block */
.match-score-block{
  display:grid;grid-template-columns:1fr auto 1fr;
  align-items:center;gap:24px;
  max-width:860px;margin:0 auto 32px;
}
.match-team-side{display:flex;flex-direction:column;align-items:center;gap:12px;}
.match-team-side.match-team-home{align-items:flex-end;}
.match-team-side.match-team-away{align-items:flex-start;}
.match-team-logo{
  width:90px;height:90px;border-radius:50%;
  background:rgba(var(--fg-rgb),.05);
  border:2px solid rgba(var(--fg-rgb),.1);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.match-team-logo img{width:80%;height:80%;object-fit:contain;}
.match-team-name{
  font-family:var(--font-display);font-size:clamp(1.1rem,2.5vw,1.8rem);
  letter-spacing:.06em;text-transform:uppercase;text-decoration:none;
  transition:opacity .2s;
}
.match-team-name:hover{opacity:.75;}
.match-winner-badge{
  font-family:var(--font-display);font-size:.65rem;letter-spacing:.18em;
  color:#22C55E;border:1px solid rgba(34,197,94,.4);
  padding:3px 10px;border-radius:20px;background:rgba(34,197,94,.08);
}
.match-team-winner .match-team-logo{border-color:rgba(34,197,94,.4);}

/* Score central */
.match-score-center{text-align:center;}
.match-final-score{display:flex;align-items:center;gap:12px;}
.mscore{
  font-family:var(--font-display);
  font-size:clamp(3rem,8vw,6rem);
  line-height:1;color:rgba(var(--fg-rgb),.35);
}
.mscore.mscore-win{
  color:transparent;
  background:var(--grad);
  -webkit-background-clip:text;background-clip:text;
}
.mscore-sep{font-family:var(--font-display);font-size:clamp(2rem,5vw,4rem);color:rgba(var(--fg-rgb),.2);}
.match-score-label{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);margin-top:4px;}
.match-vs{
  font-family:var(--font-display);font-size:clamp(2rem,6vw,4rem);
  color:rgba(var(--fg-rgb),.15);
}

/* Countdown */
.match-countdown{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:12px;}
.mcd-unit{display:flex;flex-direction:column;align-items:center;}
.mcd-val{font-family:var(--font-display);font-size:clamp(1.4rem,3vw,2.2rem);line-height:1;color:var(--white);}
.mcd-lbl{font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-dim);}
.mcd-sep{font-family:var(--font-display);font-size:1.8rem;color:rgba(var(--fg-rgb),.2);line-height:1;}

/* Meta date/lieu */
.match-meta-row{
  display:flex;align-items:center;justify-content:center;
  gap:12px;flex-wrap:wrap;
  font-size:.88rem;color:var(--text-muted);
}
.match-meta-item{display:inline-flex;align-items:center;gap:6px;}
.match-meta-sep{color:rgba(var(--fg-rgb),.2);}

/* Sections */
.match-section{margin-bottom:56px;}
.match-section-title{
  font-size:clamp(1.2rem,2.5vw,1.8rem);
  margin-bottom:24px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(var(--fg-rgb),.15);
  color:var(--white);
}

/* Détail parties */
.match-games-grid{display:flex;flex-direction:column;gap:8px;max-width:400px;}
.match-game-row{
  display:grid;grid-template-columns:80px 1fr 24px 1fr;
  align-items:center;gap:12px;
  padding:12px 20px;
  background:rgba(var(--fg-rgb),.03);
  border:1px solid rgba(var(--fg-rgb),.06);
  border-radius:8px;
}
.game-label{font-size:.75rem;letter-spacing:.1em;color:var(--text-dim);text-transform:uppercase;}
.game-score{font-family:var(--font-display);font-size:1.5rem;text-align:center;color:rgba(var(--fg-rgb),.35);}
.game-score.game-score-winner{color:transparent;background:var(--grad);-webkit-background-clip:text;background-clip:text;}
.game-dash{text-align:center;color:rgba(var(--fg-rgb),.2);font-weight:700;}

/* Recap content */
.match-recap-content{font-size:1.05rem;line-height:1.8;color:rgba(var(--fg-rgb),.75);}

/* Info grid */
.match-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:48px;}
@media(max-width:700px){.match-info-grid{grid-template-columns:1fr;}}
.match-info-card{
  background:rgba(var(--bg-rgb),.7);
  border:1px solid rgba(var(--fg-rgb),.07);
  border-radius:var(--radius-lg);
  padding:32px;
}
.match-info-list{display:flex;flex-direction:column;gap:20px;}
.match-info-list li{display:flex;align-items:flex-start;gap:14px;}
.mil-icon{font-size:1.1rem;flex-shrink:0;margin-top:2px;}
.match-info-list li div{display:flex;flex-direction:column;gap:2px;}
.match-info-list strong{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);}
.match-info-list span,.match-info-list a{font-size:.95rem;font-weight:600;color:var(--white);text-decoration:none;}
.match-info-list a:hover{opacity:.75;}

/* CTA */
.match-cta-block{
  text-align:center;padding:48px 24px;
  border-top:1px solid rgba(var(--fg-rgb),.12);
  display:flex;flex-direction:column;align-items:center;gap:16px;
}
.match-cta-block p{font-size:1.1rem;color:var(--text-muted);margin-bottom:4px;}
.match-cta-block .btn{min-width:200px;}

@media(max-width:700px){
  .match-score-block{grid-template-columns:1fr;gap:16px;}
  .match-team-side.match-team-home,.match-team-side.match-team-away{align-items:center;}
  .match-cta-block{flex-direction:column;}
}

/* ── SINGLE PLAYER ──────────────────────────────────────── */
.player-hero{
  position:relative;overflow:hidden;
  padding:120px 24px 72px;
  text-align:center;
  background:var(--black);
}
.player-hero-glow{
  position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:700px;height:400px;pointer-events:none;
  background:radial-gradient(ellipse,rgba(var(--team-color-rgb,168,85,247),.1) 0%,transparent 65%);
}
.player-hero-inner{position:relative;z-index:1;max-width:800px;margin:0 auto;}

.player-team-link{
  display:inline-block;
  font-family:var(--font-display);
  font-size:clamp(1.2rem,3vw,2rem);
  letter-spacing:.12em;text-transform:uppercase;
  text-decoration:none;
  margin-bottom:10px;
  transition:opacity .2s;
}
.player-team-link:hover{opacity:.7;}

.player-captain-line{margin-bottom:14px;}
.captain-pill{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 18px;border-radius:50px;
  background:var(--gold-dim);border:1px solid var(--gold-border);
  color:var(--gold);
  font-family:var(--font-display);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;
}

.player-hero-name{
  font-size:clamp(2.5rem,7vw,5.5rem);
  margin-bottom:32px;
}

.player-hero-stats{
  display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;
}
.phs-item{display:flex;flex-direction:column;align-items:center;gap:4px;}
.phs-val{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);line-height:1;}
.phs-lbl{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);}
.phs-sep{width:1px;height:40px;background:rgba(var(--fg-rgb),.12);}

.player-page-grid{
  display:grid;grid-template-columns:320px 1fr;
  gap:56px;align-items:start;
}
@media(max-width:860px){.player-page-grid{grid-template-columns:1fr;}}

.player-photo{
  width:100%;border-radius:var(--radius-lg);
  object-fit:cover;aspect-ratio:3/4;
  border:1px solid rgba(var(--fg-rgb),.07);
}
.player-photo-placeholder{
  width:100%;aspect-ratio:3/4;border-radius:var(--radius-lg);
  background:rgba(var(--fg-rgb),.03);border:2px solid;
  display:flex;align-items:center;justify-content:center;
}
.player-ig-btn{
  display:inline-flex;align-items:center;gap:8px;
  margin-top:16px;padding:10px 20px;border-radius:var(--radius);
  background:rgba(var(--fg-rgb),.05);border:1px solid rgba(var(--fg-rgb),.1);
  color:rgba(var(--fg-rgb),.7);font-size:.88rem;
  transition:all .2s;text-decoration:none;width:100%;justify-content:center;
}
.player-ig-btn:hover{background:rgba(var(--fg-rgb),.1);color:var(--white);}

.player-bio{font-size:1.05rem;line-height:1.8;color:rgba(var(--fg-rgb),.75);margin-bottom:40px;}

/* WHAT'S IN THE BAG */
.witb-block{
  background:rgba(var(--bg-rgb),.7);
  border:1px solid rgba(var(--fg-rgb),.15);
  border-radius:var(--radius-lg);
  padding:32px;
}
.witb-title{
  font-size:clamp(1.2rem,2.5vw,1.8rem);
  margin-bottom:24px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(var(--fg-rgb),.15);
  background:var(--grad);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.witb-list{display:flex;flex-direction:column;gap:14px;}
.witb-item{
  display:flex;align-items:center;gap:16px;
  padding:14px 16px;
  background:rgba(var(--fg-rgb),.03);
  border:1px solid rgba(var(--fg-rgb),.06);
  border-radius:10px;
  transition:border-color .2s;
}
.witb-item:hover{border-color:rgba(var(--fg-rgb),.25);}
.witb-icon{font-size:1.3rem;flex-shrink:0;width:48px;text-align:center;}
.witb-photo{
  width:48px;height:48px;border-radius:8px;
  overflow:hidden;flex-shrink:0;
  background:rgba(var(--fg-rgb),.05);
  border:1px solid rgba(var(--fg-rgb),.1);
}
.witb-photo img{width:100%;height:100%;object-fit:cover;}
.witb-item--accessory{border-color:rgba(6,182,212,.12);}
.witb-info{display:flex;flex-direction:column;gap:2px;flex:1;}
.witb-cat{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);}
.witb-product{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:2px;}
.witb-brand{font-size:.95rem;font-weight:700;color:var(--white);}
.witb-model{font-size:.88rem;color:var(--text-muted);font-style:italic;}
.witb-link{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 14px;border-radius:20px;
  background:var(--grad);
  color:var(--white);font-size:.72rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  text-decoration:none;flex-shrink:0;
  box-shadow:0 2px 12px rgba(var(--fg-rgb),.35);
  transition:transform .15s,box-shadow .15s;
}
.witb-link:hover{transform:scale(1.06);box-shadow:0 4px 20px rgba(var(--fg-rgb),.55);color:var(--white);}
.witb-link svg{display:none;}

/* PAGE HERO */
.page-hero{padding:160px 24px 90px;text-align:center;background:linear-gradient(180deg,var(--black) 0%,var(--black-2) 60%,var(--black) 100%);border-bottom:1px solid rgba(var(--fg-rgb),.1);position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:300px;background:radial-gradient(circle,rgba(var(--fg-rgb),.07) 0%,transparent 70%);pointer-events:none;}
.page-hero-content{position:relative;z-index:1;}
.page-hero h1{margin-bottom:14px;}
.page-hero p{font-size:1.05rem;color:var(--text-muted);max-width:560px;margin:0 auto;}

/* ── SINGLE TEAM PAGE ───────────────────────────────────── */
.team-hero{
  position:relative;
  padding:120px 24px 64px;
  overflow:hidden;
  border-bottom:1px solid rgba(var(--fg-rgb),.06);
}
.team-hero-glow{
  position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 60% at 50% 80%, rgba(var(--team-color-rgb,255,215,0),.08) 0%, transparent 70%);
}
.team-hero-bar{
  position:absolute;top:0;left:0;right:0;height:3px;
}
.team-hero-inner{
  max-width:var(--max-w);
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:60px;
  position:relative;z-index:1;
}
.team-hero-logo{
  flex-shrink:0;
  width:180px;height:180px;
  background:rgba(var(--fg-rgb),.04);
  border:2px solid rgba(var(--fg-rgb),.08);
  border-radius:20px;
  display:flex;align-items:center;justify-content:center;
  padding:20px;
}
.team-hero-logo img{
  max-width:100%;max-height:100%;
  object-fit:contain;
  display:block;
}
.team-hero-text{ flex:1; }
.team-hero-eyebrow{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--font-display);font-size:.72rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--text-muted);
  margin-bottom:12px;
}
.team-hero-name{
  font-family:var(--font-display);
  font-size:clamp(2.8rem,6vw,5rem);
  line-height:1;
  margin-bottom:20px;
}

/* MOTTO */
.team-motto{
  border:none;
  border-left:4px solid var(--gold);
  margin:0 0 28px;
  padding:12px 0 12px 20px;
  font-style:italic;
  font-size:clamp(1rem,2vw,1.25rem);
  color:rgba(var(--fg-rgb),.75);
  letter-spacing:.02em;
  line-height:1.5;
  background:none;
}
.team-motto-quote{
  font-family:Georgia,serif;
  font-size:1.4em;
  line-height:0;
  vertical-align:-0.3em;
  opacity:.5;
  margin:0 4px;
}

.team-hero-stats{
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
}
.team-hero-stat{ text-align:center; }
.ths-val{
  display:block;
  font-family:var(--font-display);
  font-size:2rem;
  line-height:1;
  margin-bottom:4px;
}
.ths-lbl{
  font-size:.68rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--text-dim);
}
.team-hero-stat-sep{
  width:1px;height:40px;
  background:rgba(var(--fg-rgb),.1);
  flex-shrink:0;
}

/* Grille contenu */
.team-page-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:start;
}

.team-section-title{
  font-family:var(--font-display);
  font-size:1.8rem;
  margin-bottom:6px;
  padding-bottom:10px;
  border-bottom:2px solid var(--tc, var(--gold));
  display:inline-block;
}

.team-about{
  font-size:.95rem;
  line-height:1.85;
  color:rgba(var(--fg-rgb),.7);
  margin-top:24px;
}

/* Liste joueurs page équipe */
.roster-list{
  display:flex;flex-direction:column;gap:10px;
  margin-top:24px;
}
.roster-card{
  display:flex;align-items:center;gap:16px;
  padding:14px 18px;
  background:rgba(var(--bg-rgb),.7);
  border:1px solid rgba(var(--fg-rgb),.06);
  border-radius:10px;
  text-decoration:none;color:inherit;
  transition:all .2s ease;
}
.roster-card:hover{
  background:rgba(var(--fg-rgb),.04);
  border-color:rgba(var(--fg-rgb),.14);
  transform:translateX(4px);
}
.roster-card-avatar{
  width:48px;height:48px;border-radius:50%;
  border:2px solid;
  overflow:hidden;
  flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.roster-card-avatar img{width:100%;height:100%;object-fit:cover;}
.roster-card-info{ flex:1; display:flex;flex-direction:column;gap:2px; }
.roster-card-name{ font-weight:600;font-size:.95rem;display:block; }
.roster-card-pos{ font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em; }
.roster-card-record{ font-size:.75rem;color:var(--text-dim); }
.roster-card-dupr{ text-align:right;flex-shrink:0; }
.dupr-val{
  display:block;font-family:var(--font-display);font-size:1.4rem;line-height:1;
  background:#1D4ED8;color:var(--white);
  padding:4px 10px;border-radius:6px;
}
.dupr-lbl{ font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-dim);margin-top:3px; }

/* CAPITAINE */
.roster-card--captain{border-color:rgba(var(--fg-rgb),.3);}
.roster-card--captain:hover{border-color:rgba(var(--fg-rgb),.55);}
.roster-card-avatar{position:relative;}
.captain-badge{
  position:absolute;bottom:-4px;right:-4px;
  width:20px;height:20px;border-radius:50%;
  background:var(--grad);
  color:var(--white);font-family:var(--font-display);font-size:.65rem;
  display:flex;align-items:center;justify-content:center;
  border:2px solid var(--black);
  font-weight:900;
}
.captain-name-badge{
  display:inline-block;
  margin-left:6px;
  padding:1px 6px;
  border-radius:4px;
  background:var(--gold-dim);
  border:1px solid var(--gold-border);
  color:var(--gold);
  font-family:var(--font-display);font-size:.6rem;letter-spacing:.12em;
  vertical-align:middle;
}
.captain-eyebrow-badge{
  display:inline-block;
  margin-left:10px;
  padding:3px 10px;border-radius:20px;
  background:var(--gold-dim);border:1px solid var(--gold-border);
  color:var(--gold);
  font-family:var(--font-display);font-size:.7rem;letter-spacing:.12em;
  vertical-align:middle;
}

.team-back-bar{
  padding:32px 24px;
  border-top:1px solid rgba(var(--fg-rgb),.05);
  text-align:center;
}

@media(max-width:900px){
  .team-hero-inner{ flex-direction:column;text-align:center; }
  .team-hero-stats{ justify-content:center; }
  .team-motto{ text-align:left; }
  .team-page-grid{ grid-template-columns:1fr; gap:40px; }
}

/* FOOTER */
.site-footer{
  background:linear-gradient(180deg,#0d0d0d 0%,#090909 100%);
  color:var(--text-muted);
  font-size:.88rem;
}

.footer-gold-bar{
  height:2px;
  background:linear-gradient(90deg,transparent 0%,rgba(var(--fg-rgb),.6) 30%,var(--gold) 50%,rgba(var(--fg-rgb),.6) 70%,transparent 100%);
  box-shadow:0 0 20px rgba(var(--fg-rgb),.25);
}

.footer-top{
  max-width:var(--max-w);
  margin:0 auto;
  padding:72px 24px 56px;
}

.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:56px;
  align-items:start;
}

.footer-brand img,
.footer-brand-logo{
  height:auto;
  width:110px;
  margin-bottom:20px;
  display:block;
  filter:invert(1);
  mix-blend-mode:screen;
}

.footer-brand p{
  font-size:.85rem;
  line-height:1.8;
  max-width:260px;
  color:rgba(var(--fg-rgb),.45);
  margin-bottom:24px;
}

.footer-social{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.footer-social-link{
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:8px;
  background:rgba(var(--fg-rgb),.05);
  border:1px solid rgba(var(--fg-rgb),.08);
  color:rgba(var(--fg-rgb),.45);
  transition:all .2s ease;
}

.footer-social-link:hover{
  background:rgba(var(--fg-rgb),.1);
  border-color:rgba(var(--fg-rgb),.35);
  color:var(--gold);
  transform:translateY(-2px);
}

.footer-col h5{
  font-family:var(--font-display);
  font-size:.75rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--white);
  margin-bottom:20px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(var(--fg-rgb),.12);
}

.footer-col ul{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.footer-col ul li a{
  font-size:.84rem;
  color:rgba(var(--fg-rgb),.45);
  transition:color .2s, padding-left .2s;
  display:inline-block;
}

.footer-col ul li a:hover{
  color:var(--gold);
  padding-left:5px;
}

/* Bas de footer */
.footer-bottom{
  border-top:1px solid rgba(var(--fg-rgb),.06);
  padding:22px 24px;
}

.footer-bottom-inner{
  max-width:var(--max-w);
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
}

.footer-copy{
  font-size:.78rem;
  color:rgba(var(--fg-rgb),.3);
}

.footer-legal{
  display:flex;
  gap:24px;
}

.footer-legal a{
  font-size:.78rem;
  color:rgba(var(--fg-rgb),.3);
  transition:color .2s;
}

.footer-legal a:hover{ color:var(--gold); }

/* Responsive footer */
@media(max-width:1024px){
  .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:40px;
  }
  .footer-brand{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:auto auto;
    align-items:start;
    gap:32px;
  }
  .footer-brand p{ max-width:100%; }
}

@media(max-width:640px){
  .footer-grid{
    grid-template-columns:1fr;
    gap:32px;
  }
  .footer-brand{
    grid-column:1;
    display:block;
  }
  .footer-bottom-inner{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
}

/* ── SCOREBOARD ─────────────────────────────────────────── */
.scoreboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(480px,1fr));gap:20px;}
.scoreboard-card{background:rgba(var(--bg-rgb),.8);border:1px solid rgba(var(--fg-rgb),.15);border-radius:var(--radius);overflow:hidden;transition:all .3s;}
.scoreboard-card:hover{border-color:rgba(var(--fg-rgb),.4);box-shadow:0 8px 40px rgba(var(--fg-rgb),.1);}
.scoreboard-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid rgba(var(--fg-rgb),.05);background:rgba(var(--fg-rgb),.02);}
.scoreboard-event{font-family:var(--font-display);font-size:.85rem;letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;}
.scoreboard-date{font-size:.75rem;color:var(--text-dim);}
.scoreboard-body{display:flex;align-items:center;padding:20px;gap:12px;}
.sb-team{display:flex;align-items:center;gap:12px;flex:1;}
.sb-team-away{flex-direction:row-reverse;}
.sb-team.sb-loser{opacity:.5;}
.sb-logo{width:52px;height:52px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.sb-logo img{width:100%;height:100%;object-fit:contain;}
.sb-logo-ph{width:48px;height:48px;border-radius:50%;border:2px solid;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.3rem;}
.sb-team-info{flex:1;}
.sb-team-info-right{text-align:right;}
.sb-team-name{display:block;font-family:var(--font-display);font-size:1.1rem;line-height:1.2;}
.sb-win-badge{display:inline-block;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;background:var(--grad);color:var(--white);padding:2px 8px;border-radius:4px;margin-top:4px;font-weight:700;}
.sb-score{font-family:var(--font-display);font-size:2.8rem;line-height:1;color:rgba(var(--fg-rgb),.25);flex-shrink:0;}
.sb-score-win{background:var(--grad-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 10px rgba(var(--fg-rgb),.4));}
.sb-middle{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0;min-width:80px;}
.sb-vs{font-family:var(--font-display);font-size:.85rem;color:var(--text-dim);letter-spacing:.1em;}
.sb-games{display:flex;flex-direction:column;gap:3px;}
.sb-game{display:flex;align-items:center;gap:4px;font-size:.72rem;font-family:var(--font-display);}
.sb-game-w{color:var(--gold);font-size:.85rem;}
.sb-game-l{color:var(--text-dim);}
.sb-game-sep{color:var(--text-dim);}
.scoreboard-footer{padding:10px 20px;border-top:1px solid rgba(var(--fg-rgb),.04);font-size:.72rem;color:var(--text-dim);display:flex;align-items:center;gap:6px;}
@media(max-width:640px){.scoreboard-grid{grid-template-columns:1fr;}.sb-score{font-size:2rem;}.sb-team-name{font-size:.9rem;}}

/* ── STANDINGS ───────────────────────────────────────────── */
.standings-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid rgba(var(--fg-rgb),.15);}
.standings-table{width:100%;border-collapse:collapse;}
.standings-table thead tr{background:rgba(var(--fg-rgb),.07);border-bottom:2px solid rgba(var(--fg-rgb),.2);}
.standings-table th{font-family:var(--font-display);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);padding:14px 20px;text-align:center;}
.standings-table th:nth-child(2){text-align:left;}
.standings-row td{padding:14px 20px;border-bottom:1px solid rgba(var(--fg-rgb),.04);text-align:center;color:rgba(var(--fg-rgb),.85);transition:background .2s;}
.standings-row:last-child td{border-bottom:none;}
.standings-row:hover td{background:rgba(var(--fg-rgb),.04);}
.standings-top td{background:rgba(var(--fg-rgb),.06);}
.standings-rank{width:50px;}
.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-family:var(--font-display);font-size:1rem;}
.rank-1{background:linear-gradient(135deg,var(--gold-2),var(--gold-2));color:var(--white);box-shadow:0 0 12px rgba(var(--fg-rgb),.5);}
.rank-2{background:rgba(var(--fg-rgb),.15);color:var(--gold);border:1px solid rgba(var(--fg-rgb),.3);}
.rank-3{background:rgba(var(--fg-rgb),.07);color:rgba(var(--fg-rgb),.6);border:1px solid rgba(var(--fg-rgb),.1);}
.rank-num{font-family:var(--font-display);font-size:1rem;color:var(--text-dim);}
.standings-team{text-align:left!important;min-width:180px;}
.standings-team-inner{display:flex;align-items:center;gap:12px;}
.standings-color-bar{width:3px;height:32px;border-radius:2px;flex-shrink:0;}
.standings-logo{width:32px;height:32px;object-fit:contain;flex-shrink:0;}
.standings-team-name{font-weight:600;font-size:.95rem;color:var(--white);transition:color .2s;}
.standings-team-name:hover{color:var(--gold);}
.standings-w{color:#4ade80;font-weight:700;}
.standings-l{color:rgba(255,100,100,.8);font-weight:700;}
.standings-pts{font-family:var(--font-display);font-size:1.2rem;color:var(--gold);}
.standings-dupr{color:var(--text-muted);font-size:.88rem;}

/* ── ROSTER ÉQUIPES HOME ─────────────────────────────────── */
.roster-teams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;}
.roster-team-card{background:rgba(var(--bg-rgb),.7);border:1px solid rgba(var(--fg-rgb),.15);border-radius:var(--radius);overflow:hidden;transition:all .3s;display:flex;flex-direction:column;}
.roster-team-card:hover{border-color:rgba(var(--fg-rgb),.4);box-shadow:0 8px 30px rgba(var(--fg-rgb),.1);}
.roster-team-top{border-top:3px solid;padding:20px 20px 0;}
.roster-team-header{display:flex;align-items:center;gap:16px;margin-bottom:16px;}
.roster-team-logo{width:56px;height:56px;object-fit:contain;flex-shrink:0;}
.roster-team-logo-ph{width:52px;height:52px;border-radius:50%;border:2px solid;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.4rem;flex-shrink:0;}
.roster-team-name{font-family:var(--font-display);font-size:1.4rem;line-height:1;margin-bottom:2px;}
.roster-team-city{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;}
.roster-dupr-avg{font-size:.75rem;font-weight:700;display:flex;align-items:center;gap:4px;}
.roster-players-list{flex:1;border-top:1px solid rgba(var(--fg-rgb),.05);margin-top:4px;}
.roster-player-row{display:flex;align-items:center;gap:10px;padding:11px 20px;border-bottom:1px solid rgba(var(--fg-rgb),.04);text-decoration:none;color:inherit;transition:background .2s;}
.roster-player-row:hover{background:rgba(var(--fg-rgb),.05);}
.roster-player-num{font-family:var(--font-display);font-size:.8rem;color:var(--text-dim);width:18px;text-align:center;flex-shrink:0;}
.roster-player-name{flex:1;font-size:.88rem;color:rgba(var(--fg-rgb),.82);}
.roster-player-dupr{font-family:var(--font-display);font-size:1rem;background:#1D4ED8;color:var(--white);padding:2px 8px;border-radius:5px;}
.roster-more-link{display:block;padding:10px 20px;font-size:.78rem;color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(var(--fg-rgb),.04);letter-spacing:.05em;transition:background .2s;}
.roster-more-link:hover{background:rgba(var(--fg-rgb),.06);}
.roster-team-cta{display:block;padding:13px 20px;text-align:center;font-family:var(--font-display);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);border-top:2px solid;transition:all .2s;background:rgba(var(--fg-rgb),.03);}
.roster-team-cta:hover{background:rgba(var(--fg-rgb),.1);color:var(--gold);}

/* ── CALENDRIER (liste style OPP) ────────────────────────── */
.schedule-list{display:flex;flex-direction:column;gap:12px;}
.schedule-event{display:flex;align-items:center;gap:24px;padding:20px 24px;background:rgba(var(--bg-rgb),.7);border:1px solid rgba(var(--fg-rgb),.06);border-radius:var(--radius);transition:all .2s;}
.schedule-event:hover{border-color:rgba(var(--fg-rgb),.25);background:rgba(var(--fg-rgb),.04);}
.schedule-event.completed{opacity:.75;}
.schedule-event.schedule-next{border-color:rgba(var(--fg-rgb),.4);background:rgba(var(--fg-rgb),.06);box-shadow:0 0 30px rgba(var(--fg-rgb),.08);}
.schedule-event-date{text-align:center;min-width:48px;flex-shrink:0;}
.sch-month{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-dim);}
.sch-day{font-family:var(--font-display);font-size:2rem;line-height:1;color:var(--white);}
.schedule-event-body{flex:1;}
.schedule-badges{display:flex;gap:8px;margin-bottom:6px;}
.sch-badge{font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:3px 10px;border-radius:4px;}
.sch-recap{background:rgba(var(--fg-rgb),.08);color:rgba(var(--fg-rgb),.5);}
.sch-next{background:var(--grad);color:var(--white);}
.sch-live{background:rgba(239,68,68,.15);color:#f87171;border:1px solid rgba(239,68,68,.3);animation:pulse 1.5s infinite;}
.sch-upcoming{background:rgba(var(--fg-rgb),.1);color:var(--gold);border:1px solid rgba(var(--fg-rgb),.2);}
.schedule-title{font-family:var(--font-display);font-size:1.15rem;margin-bottom:8px;}
.schedule-teams{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.sch-team{display:flex;align-items:center;gap:8px;font-size:.88rem;color:rgba(var(--fg-rgb),.75);}
.sch-team img{width:24px;height:24px;object-fit:contain;}
.sch-score{font-family:var(--font-display);font-size:1.3rem;color:var(--gold);padding:0 8px;}
.sch-vs{font-size:.72rem;color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;padding:0 4px;}
.schedule-meta{display:flex;gap:16px;margin-top:8px;flex-wrap:wrap;}
.schedule-meta span{display:flex;align-items:center;gap:5px;font-size:.72rem;color:var(--text-dim);}
.schedule-event-action{flex-shrink:0;}
@media(max-width:768px){
  .schedule-event{flex-wrap:wrap;gap:12px;}
  .schedule-event-date{min-width:40px;}
  .schedule-event-action{width:100%;}
  .schedule-event-action .btn{width:100%;justify-content:center;}
  .roster-teams-grid{grid-template-columns:1fr;}
  .scoreboard-grid{grid-template-columns:1fr;}
}

/* CTA BAND */
.cta-band{padding:100px 24px;text-align:center;background:linear-gradient(135deg,rgba(var(--fg-rgb),.05) 0%,rgba(var(--fg-rgb),.02) 100%);border-top:1px solid rgba(var(--fg-rgb),.1);border-bottom:1px solid rgba(var(--fg-rgb),.1);position:relative;overflow:hidden;}
.cta-band::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:700px;height:300px;background:radial-gradient(ellipse,rgba(var(--fg-rgb),.07) 0%,transparent 70%);}
.cta-band-content{position:relative;z-index:1;max-width:680px;margin:0 auto;}
.cta-band p{font-size:1.1rem;color:var(--text-muted);margin:12px 0 40px;}

/* FADE UP */
.fade-up{opacity:0;transform:translateY(24px);transition:opacity .55s ease,transform .55s ease;}
.fade-up.visible{opacity:1;transform:translateY(0);}

/* ADMIN BAR */
.admin-bar .site-header{top:32px;}
@media(max-width:782px){.admin-bar .site-header{top:46px;}}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute;width:1px;}

/* GRID HELPERS */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
@media(max-width:1024px){.grid-4{grid-template-columns:repeat(2,1fr);}.grid-3{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}}

/* ── WooCommerce fixes ───────────────────────────────────── */

/* Conteneur principal */
.woo-wrapper, .woocommerce-page .container { max-width: var(--max-w); margin: 0 auto; padding: 100px 24px; }

/* Grille produits — largeur minimum plus grande pour éviter les cartes trop étroites */
.woocommerce ul.products { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important; }

/* Image placeholder WooCommerce — fond noir au lieu de blanc */
.woocommerce ul.products li.product img,
.woocommerce .woocommerce-placeholder,
.woocommerce img.wp-post-image { background: var(--black-2) !important; }

/* Forcer image carrée et non étirée */
.woocommerce ul.products li.product a img {
  width: 100% !important;
  height: 220px !important;
  object-fit: contain !important;
  background: var(--black-2) !important;
  padding: 20px !important;
}

/* Titre pas coupé — word-wrap */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  font-size: 1rem !important;
  line-height: 1.3 !important;
  padding: 14px 16px 4px !important;
}

/* Prix */
.woocommerce ul.products li.product .price { padding: 0 16px 4px !important; font-size: 1rem !important; }

/* Bouton */
.woocommerce ul.products li.product .button { margin: 10px 16px 16px !important; padding: 10px !important; font-size: .82rem !important; }

/* Background page boutique */
.woocommerce-page { background: var(--black) !important; }
body.woocommerce, body.woocommerce-page { background: var(--black) !important; color: var(--white) !important; }

/* Toolbar (résultats + tri) */
.woocommerce .woocommerce-result-count { color: var(--text-muted) !important; }
.woocommerce .woocommerce-ordering select {
  background: rgba(var(--bg-rgb),.8) !important; color: var(--white) !important;
  border: 1px solid rgba(var(--fg-rgb),.2) !important; border-radius: 8px !important;
  padding: 8px 12px !important;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  background: rgba(var(--bg-rgb),.7) !important; color: var(--white) !important;
  border: 1px solid rgba(var(--fg-rgb),.15) !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: rgba(var(--fg-rgb),.12) !important; color: var(--gold) !important;
  border-color: rgba(var(--fg-rgb),.4) !important;
}

/* ── WooCommerce columns-4 override (ciblage précis) ─────── */
ul.products.columns-4,
ul.products.columns-3,
ul.products.columns-2,
.woocommerce ul.products.columns-4,
.woocommerce ul.products.columns-3 {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  width: 100% !important;
  float: none !important;
  margin: 0 0 40px !important;
  padding: 0 !important;
}

@media (max-width: 1200px) {
  ul.products.columns-4, .woocommerce ul.products.columns-4 {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media (max-width: 768px) {
  ul.products.columns-4, .woocommerce ul.products.columns-4 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 480px) {
  ul.products.columns-4, .woocommerce ul.products.columns-4 {
    grid-template-columns: 1fr !important;
  }
}

/* Chaque carte produit — reset float WooCommerce */
.woocommerce ul.products li.product,
ul.products li.product {
  width: 100% !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  background: rgba(var(--bg-rgb),.75) !important;
  border: 2px solid rgba(var(--fg-rgb),.15) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: transform .3s, box-shadow .3s, border-color .3s !important;
  display: flex !important;
  flex-direction: column !important;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(var(--fg-rgb),.45) !important;
  box-shadow: 0 10px 40px rgba(var(--fg-rgb),.14) !important;
}

/* Lien wrapper qui contient image + titre + prix */
.woocommerce ul.products li.product a.woocommerce-loop-product__link {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  text-decoration: none !important;
  color: inherit !important;
}

/* Image placeholder — fond noir, carré, bien cadré */
.woocommerce ul.products li.product img {
  width: 100% !important;
  height: 220px !important;
  object-fit: contain !important;
  background: #111111 !important;
  filter: opacity(0.7) !important;
  padding: 24px !important;
  display: block !important;
}

/* Titre produit */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-display) !important;
  font-size: 1.1rem !important;
  font-weight: 400 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: var(--white) !important;
  padding: 14px 16px 6px !important;
  margin: 0 !important;
  line-height: 1.3 !important;
  white-space: normal !important;
}

/* Prix */
.woocommerce ul.products li.product .price {
  display: block !important;
  padding: 0 16px 12px !important;
  color: var(--gold) !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  margin: 0 !important;
}

/* Bouton ajouter au panier */
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product a.button {
  display: block !important;
  width: calc(100% - 32px) !important;
  margin: 4px 16px 16px !important;
  padding: 11px 8px !important;
  background: var(--white) !important;
  color: var(--black) !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: .9rem !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-align: center !important;
  transition: all .2s !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
}

.woocommerce ul.products li.product .button.add_to_cart_button:hover {
  background: var(--gold) !important;
  color: var(--on-gold) !important;
  box-shadow: 0 4px 18px rgba(var(--fg-rgb),.4) !important;
}
