/* Active Foot — app.css v2.1 */
:root {
  --bg:#0e1014;--s1:#161920;--s2:#1e222b;--s3:#252b37;
  --bd:#2d3340;--bd2:#3d4d63;
  --green:#22c55e;--gdark:#16a34a;--glow:rgba(34,197,94,.12);
  --gold:#eab308;--red:#ef4444;--blue:#60a5fa;
  --tx:#e2e8f0;--tm:#64748b;--ts:#374151;
  --fh:'Exo 2',sans-serif;--fb:'Nunito Sans',sans-serif;--r:8px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--tx);font-family:var(--fb);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--green);text-decoration:none} a:hover{text-decoration:underline}

/* Header */
.site-header{background:var(--s1);border-bottom:1px solid var(--bd);padding:0 20px;height:52px;display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:50;box-shadow:0 2px 12px rgba(0,0,0,.4)}
.logo{font-family:var(--fh);font-size:17px;font-weight:700;letter-spacing:2px;color:var(--tx);display:flex;align-items:center;gap:8px;text-decoration:none}
.logo-icon{width:26px;height:26px;background:var(--green);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.logo span{color:var(--green)}
.header-back{margin-left:auto;font-size:13px;color:var(--tm);display:flex;align-items:center;gap:6px}
.header-back:hover{color:var(--green);text-decoration:none}

/* Club header — centré sans bouton retour */
.club-header-bar{background:var(--s1);border-bottom:1px solid var(--bd);padding:0 20px;height:52px;display:flex;align-items:center;justify-content:center;position:sticky;top:0;z-index:50}
.club-header-logo{display:flex;align-items:center;gap:8px;font-family:var(--fh);font-size:17px;font-weight:700;letter-spacing:2px;color:var(--tx)}
.club-header-logo-icon{width:26px;height:26px;background:var(--green);border-radius:6px;display:flex;align-items:center;justify-content:center}

.site-main{max-width:860px;margin:0 auto;padding:24px 16px 64px}

/* Club hero */
.club-hero{text-align:center;padding:20px 0 20px;border-bottom:1px solid var(--bd);margin-bottom:20px}
.club-logo-wrap{margin-bottom:10px}
.club-logo-img{height:54px;border-radius:8px;object-fit:contain;display:block;margin:0 auto}
.club-logo-default{width:48px;height:48px;background:var(--green);border-radius:10px;display:flex;align-items:center;justify-content:center;margin:0 auto}
.club-title{font-family:var(--fh);font-size:clamp(18px,5vw,28px);font-weight:700;letter-spacing:.5px;margin-bottom:2px}
.club-subtitle{font-size:12px;color:var(--tm)}

/* Page hero */
.page-hero{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--bd)}
.page-breadcrumb{font-size:12px;color:var(--tm);margin-bottom:6px}
.page-breadcrumb a{color:var(--tm)} .page-breadcrumb a:hover{color:var(--green);text-decoration:none}
.page-title{font-family:var(--fh);font-size:clamp(20px,5vw,32px);font-weight:700;line-height:1.1}
.page-title-sub{font-size:13px;color:var(--tm);margin-top:4px}
.af-tournament-logo{height:280px;width:auto;max-width:min(520px,92vw);object-fit:contain;border-radius:16px;margin:6px auto 20px;display:block;filter:drop-shadow(0 16px 34px rgba(0,0,0,.34))}
@media(max-width:760px){.af-tournament-logo{height:205px;max-width:92vw;margin-top:8px;margin-bottom:18px;border-radius:14px}}
@media(max-width:420px){.af-tournament-logo{height:180px;max-width:94vw;margin-bottom:16px}}

.section-title{font-family:var(--fh);font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--tm);text-transform:uppercase;display:flex;align-items:center;gap:10px;margin:22px 0 12px}
.section-title::after{content:'';flex:1;height:1px;background:var(--bd)}

/* ════════════════ FIXTURE CARDS ════════════════ */
.fixture-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.fixture-card{background:var(--s1);border:1px solid var(--bd);border-radius:var(--r);overflow:hidden;transition:border-color .15s}
.fixture-card:hover{border-color:var(--bd2)}
.fixture-card.played{border-left:3px solid var(--green)}
.fixture-card.upcoming{border-left:3px solid var(--bd2)}
.fixture-card.compact{border-radius:0;border-left:none;border-bottom:1px solid var(--bd);border-top:none;border-right:none;background:transparent}
.fixture-card.compact:last-child{border-bottom:none}

.fixture-meta{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--s2);border-bottom:1px solid var(--bd)}
.fixture-meta-compact{display:flex;align-items:center;gap:8px;padding:6px 14px 0}
.fixture-time{font-family:var(--fh);font-size:16px;font-weight:700;color:var(--tx);flex-shrink:0}
.fixture-round{font-size:12px;color:var(--tm);font-family:var(--fh);font-weight:600;flex:1}
.fixture-venue{font-size:12px;color:var(--ts);margin-left:auto}
.fixture-venue-compact{font-size:11px;color:var(--ts)}

.fixture-match{display:grid;grid-template-columns:1fr 80px 1fr;align-items:center;padding:14px 14px;gap:8px}
.fixture-card.compact .fixture-match{padding:6px 14px 10px;grid-template-columns:1fr 64px 1fr}

.fixture-team{display:flex;align-items:center}
.fixture-team.right{justify-content:flex-end}
.fixture-team-name{font-family:var(--fh);font-size:15px;font-weight:700;color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fixture-team-name.sm{font-size:13px}
.fixture-team.winner .fixture-team-name{color:var(--green)}
.fixture-team.loser  .fixture-team-name{color:var(--ts)}

.fixture-score{display:flex;align-items:center;justify-content:center;gap:4px;flex-shrink:0}
.score-val{font-family:var(--fh);font-size:22px;font-weight:800;color:var(--tx);min-width:24px;text-align:center;line-height:1}
.score-val.sm{font-size:18px}
.score-sep{font-family:var(--fh);font-size:14px;color:var(--ts);line-height:1}
.score-vs{font-family:var(--fh);font-size:13px;font-weight:700;color:var(--ts);letter-spacing:1px}
.next-time-big{font-family:var(--fh);font-size:22px;font-weight:800;color:var(--green)}

/* Club dashboard */
.club-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.cstat{background:var(--s1);border:1px solid var(--bd);border-radius:var(--r);padding:12px 14px;text-align:center;position:relative;overflow:hidden}
.cstat::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--green)}
.cstat-val{font-family:var(--fh);font-size:26px;font-weight:700;color:var(--green);line-height:1}
.cstat-lbl{font-size:11px;color:var(--tm);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}
.next-match-card{background:var(--s1);border:1px solid var(--bd2);border-left:3px solid var(--green);border-radius:var(--r);padding:12px 14px;margin-bottom:14px}
.next-label{font-size:11px;color:var(--tm);font-family:var(--fh);letter-spacing:1px;text-transform:uppercase;margin-bottom:4px}
.club-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.club-filters select{background:var(--s2);border:1px solid var(--bd);color:var(--tx);padding:8px 12px;border-radius:6px;font-size:14px;font-family:var(--fb);flex:1;min-width:0}

/* Bloc équipe */
.team-block{background:var(--s1);border:1px solid var(--bd);border-radius:var(--r);margin-bottom:12px;overflow:hidden}
.team-block-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--s2);border-bottom:1px solid var(--bd);gap:10px;flex-wrap:wrap}
.team-block-name{font-family:var(--fh);font-size:16px;font-weight:700}
.team-block-cat{font-size:12px;color:var(--tm)}
.block-section-title{font-family:var(--fh);font-size:10px;font-weight:700;letter-spacing:1.2px;color:var(--ts);text-transform:uppercase;padding:7px 14px;background:var(--s2);border-top:1px solid var(--bd);border-bottom:1px solid var(--bd)}

/* Classement compact */
.standing-list{padding:0}
.standing-row{display:flex;align-items:center;gap:8px;padding:7px 14px;border-bottom:1px solid rgba(255,255,255,.04);font-size:13px}
.standing-row:last-child{border-bottom:none}
.standing-row.me{background:rgba(34,197,94,.06);font-weight:600}
.sr-rank{font-family:var(--fh);font-size:13px;color:var(--ts);width:16px;text-align:center;flex-shrink:0}
.sr-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sr-pts{font-family:var(--fh);font-size:14px;font-weight:700;color:var(--green);min-width:24px;text-align:right;flex-shrink:0}
.sr-detail{font-size:11px;color:var(--ts);min-width:56px;text-align:right;flex-shrink:0}

/* Stats */
.stats-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;margin-bottom:20px}
.stat{background:var(--s1);border:1px solid var(--bd);border-radius:var(--r);padding:14px;position:relative;overflow:hidden}
.stat::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--green)}
.stat-val{font-family:var(--fh);font-size:26px;font-weight:700;color:var(--green);line-height:1.1}
.stat-lbl{font-size:11px;color:var(--tm);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}

/* Alerts & Pills */
.alert{padding:11px 14px;border-radius:6px;font-size:14px;margin-bottom:12px}
.alert-ok  {background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.25);color:var(--green)}
.alert-info{background:rgba(96,165,250,.08);border:1px solid rgba(96,165,250,.25);color:var(--blue)}
.alert-warn{background:rgba(234,179,8,.08);border:1px solid rgba(234,179,8,.25);color:var(--gold)}
.pill{display:inline-block;padding:2px 7px;border-radius:20px;font-size:11px;font-weight:700;font-family:var(--fh);letter-spacing:.3px}
.pill-green{background:rgba(34,197,94,.1);color:var(--green);border:1px solid rgba(34,197,94,.3)}
.pill-gold {background:rgba(234,179,8,.1); color:var(--gold); border:1px solid rgba(234,179,8,.3)}
.pill-blue {background:rgba(96,165,250,.1);color:var(--blue); border:1px solid rgba(96,165,250,.3)}

/* Tables */
.table-wrap{overflow-x:auto;border-radius:var(--r);border:1px solid var(--bd);margin-bottom:14px}
table{width:100%;border-collapse:collapse}
th{background:var(--s2);color:var(--tm);font-family:var(--fh);font-size:11px;font-weight:700;letter-spacing:.8px;padding:8px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}
th.c,td.c{text-align:center}
td{padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.04);font-size:13px;vertical-align:middle}
tbody tr:last-child td{border-bottom:none}
tbody tr:hover td{background:rgba(255,255,255,.02)}
.pts{font-family:var(--fh);font-size:14px;font-weight:700;color:var(--green)}
.rank-dot{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:5px;vertical-align:middle}
.r1 .rank-dot{background:var(--gold)} .r2 .rank-dot{background:var(--blue)} .r3 .rank-dot{background:#a78bfa}
.muted{color:var(--tm)}

/* Planning tournoi */
.timeline{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}
.time-slot{display:flex;border-radius:6px;overflow:hidden;border:1px solid var(--bd)}
.time-label{background:var(--s2);font-family:var(--fh);font-size:15px;font-weight:700;color:var(--tx);padding:10px 12px;min-width:66px;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--bd);flex-shrink:0}
.slot-matches{flex:1;display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px;background:var(--s1)}
.match-chip{border-radius:6px;padding:8px 12px;font-size:13px;flex:1;min-width:170px;border-left:3px solid;background:var(--s2)}
.mc1{border-color:var(--green)} .mc2{border-color:var(--gold)} .mc3{border-color:var(--blue)} .mc4{border-color:var(--red)} .mc5{border-color:#a78bfa} .mc6{border-color:#fb923c}
.chip-header{display:flex;justify-content:space-between;font-size:11px;color:var(--tm);font-family:var(--fh);font-weight:600;letter-spacing:.3px;margin-bottom:4px}
.chip-teams{font-weight:600;font-size:13px}
.chip-score{font-family:var(--fh);font-size:13px;font-weight:700;color:var(--green);margin-top:3px}
.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-bottom:20px}
.group-card{background:var(--s1);border:1px solid var(--bd);border-radius:var(--r);overflow:hidden}
.group-header{background:var(--s2);padding:10px 14px;border-bottom:2px solid var(--green);display:flex;align-items:center;justify-content:space-between}
.group-name{font-family:var(--fh);font-size:15px;font-weight:700;color:var(--green)}
.group-meta{font-size:12px;color:var(--tm)}
.match-row{display:flex;align-items:center;gap:6px;padding:7px 12px;border-bottom:1px solid rgba(255,255,255,.04);font-size:13px}
.match-row:last-child{border-bottom:none}
.mt-home{flex:1;text-align:right;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mt-away{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.match-score{font-family:var(--fh);font-size:14px;font-weight:700;color:var(--green);min-width:50px;text-align:center;flex-shrink:0}
.match-score.pending{color:var(--ts)}
.match-time{font-size:11px;color:var(--ts);flex-shrink:0;font-family:var(--fh);font-weight:600}

.loading{text-align:center;padding:48px 20px;color:var(--tm);font-size:14px}
.loading::before{content:'';display:block;width:28px;height:28px;border:2px solid var(--bd);border-top-color:var(--green);border-radius:50%;margin:0 auto 12px;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

@media(max-width:640px){
  .site-main{padding:14px 12px 48px}
  .groups-grid,.fixture-list .fixture-match{grid-template-columns:1fr}
  .fixture-match{grid-template-columns:1fr 64px 1fr;padding:10px 12px}
  .fixture-card.compact .fixture-match{padding:5px 12px 8px}
  .fixture-team-name{font-size:13px}
  .score-val{font-size:18px}
  .club-stats{grid-template-columns:repeat(3,1fr)}
  .club-filters{flex-direction:column}
  .club-filters select{width:100%}
  .sr-detail{display:none}
  .groups-grid{grid-template-columns:1fr}
  th,td{padding:6px 8px;font-size:12px}
}

/* lot2+lot3 final */
.public-match-row{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.05)}
.public-match-meta{font-size:11px;color:var(--tm);margin-bottom:6px}
.public-match-main{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center}
.public-match-main span:first-child{text-align:right}
.public-match-main span:last-child{text-align:left}
.chips-wrap{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.nav-chip{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;border:1px solid var(--bd);background:var(--s2);color:var(--tx);text-decoration:none;font-size:13px}
.nav-chip:hover{border-color:var(--green);color:var(--green)}
.tv-wrap .timeline{gap:10px}
.tv-wrap .time-slot{border-width:2px}
.tv-wrap .time-label{font-size:20px;min-width:90px}
.tv-wrap .match-chip{min-width:240px}
.group-match-list .public-match-row:nth-child(odd){background:rgba(255,255,255,.015)}
.alert.alert-info{white-space:pre-line}

/* ── Club page extras ── */
.club-sites-banner{display:flex;align-items:flex-start;gap:12px;background:rgba(34,197,94,.06);border:1px solid rgba(34,197,94,.2);border-radius:8px;padding:12px 16px;margin-bottom:14px}
.club-sites-icon{font-size:22px;flex-shrink:0;margin-top:2px}
.club-sites-label{font-size:11px;color:var(--tm);text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px;font-family:var(--fh);font-weight:700}
.club-sites-list{display:flex;flex-wrap:wrap;gap:6px}
.club-site-chip{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);color:var(--green);padding:4px 12px;border-radius:20px;font-size:13px;font-weight:600}
.club-cat-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.cat-filter-btn{background:var(--s2);border:1px solid var(--bd);color:var(--tm);padding:6px 14px;border-radius:20px;font-size:13px;cursor:pointer;font-family:var(--fh);font-weight:600;transition:all .15s}
.cat-filter-btn:hover{border-color:var(--green);color:var(--green)}
.cat-filter-btn.active{background:rgba(34,197,94,.1);border-color:var(--green);color:var(--green)}
.fixture-card.highlighted{border-left-color:var(--gold);background:rgba(234,179,8,.04)}

/* Badge niveau équipe (E2, E3…) — pages publiques */
.level-badge {
  display: inline-block;
  padding: 1px 5px;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 700;
  font-family: var(--fh, sans-serif);
  line-height: 16px;
  background: rgba(77,166,255,.15);
  color: var(--blue, #4fa8ff);
  border: 1px solid rgba(77,166,255,.3);
  margin-left: 4px;
  vertical-align: middle;
}

/* ════════════════ NOUVELLES FIXTURE CARDS (famille) ════════════════ */
.fc-list { display:flex; flex-direction:column; gap:8px; margin-bottom:16px; }
.fc-list.fc-compact { gap:0; }

.fc { background:var(--s1); border:1px solid var(--bd); border-radius:var(--r); overflow:hidden; transition:border-color .15s; }
.fc-list.fc-compact .fc { border-radius:0; border-left:none; border-right:none; border-top:none; background:transparent; }
.fc-list.fc-compact .fc:first-child { border-top:1px solid var(--bd); }
.fc:hover { border-color:var(--bd2); }
.fc-played { border-left:3px solid var(--green); }
.fc-upcoming { border-left:3px solid var(--bd2); }
.fc-highlight { border-left-color:var(--gold) !important; background:rgba(234,179,8,.04); }

.fc-top {
  display:flex; align-items:center; justify-content:space-between;
  padding:7px 14px; background:var(--s2); border-bottom:1px solid var(--bd);
  gap:8px; flex-wrap:wrap;
}
.fc-list.fc-compact .fc-top { background:transparent; padding:8px 14px 4px; border-bottom:none; }
.fc-top-left { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.fc-time { font-family:var(--fh); font-size:17px; font-weight:800; color:var(--tx); flex-shrink:0; }
.fc-list.fc-compact .fc-time { font-size:14px; }
.fc-round { font-size:12px; color:var(--tm); }
.fc-venue { font-size:12px; color:var(--green); font-weight:600; white-space:nowrap; flex-shrink:0; }

.fc-match {
  display:grid; grid-template-columns:1fr 72px 1fr;
  align-items:center; padding:12px 14px; gap:6px;
}
.fc-list.fc-compact .fc-match { padding:6px 14px 10px; }
.fc-team { font-family:var(--fh); font-size:15px; font-weight:700; color:var(--tx); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fc-team-right { text-align:right; }
.fc-win { color:var(--green); }
.fc-lose { color:var(--ts); }
.fc-score { display:flex; align-items:center; justify-content:center; gap:3px; flex-shrink:0; }
.fc-score-val { font-family:var(--fh); font-size:22px; font-weight:800; color:var(--tx); min-width:22px; text-align:center; line-height:1; }
.fc-score-sep { font-family:var(--fh); font-size:14px; color:var(--ts); }
.fc-vs { font-family:var(--fh); font-size:13px; font-weight:700; color:var(--ts); letter-spacing:1px; }

/* Badge catégorie */
.cat-badge {
  display:inline-block; padding:2px 8px; border-radius:20px;
  font-family:var(--fh); font-size:11px; font-weight:700; letter-spacing:.5px;
  background:rgba(96,165,250,.1); color:var(--blue); border:1px solid rgba(96,165,250,.25);
  flex-shrink:0;
}

/* Badge niveau */
.level-badge {
  display:inline-block; padding:1px 5px; border-radius:8px;
  font-size:10px; font-weight:700; font-family:var(--fh); line-height:16px;
  background:rgba(234,179,8,.12); color:var(--gold); border:1px solid rgba(234,179,8,.3);
  margin-left:3px; vertical-align:middle;
}

/* ════════════════ CARTE PROCHAIN MATCH ════════════════ */
.next-card {
  background:linear-gradient(135deg, rgba(34,197,94,.08) 0%, rgba(34,197,94,.03) 100%);
  border:1px solid rgba(34,197,94,.3); border-radius:var(--r);
  padding:16px; margin-bottom:16px;
}
.next-card-label {
  font-family:var(--fh); font-size:10px; font-weight:700; letter-spacing:1.5px;
  color:var(--green); text-transform:uppercase; margin-bottom:10px;
}
.next-card-context {
  display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:12px;
}
.next-card-team {
  font-family:var(--fh); font-size:14px; font-weight:700; color:var(--tx);
}
.next-card-round { font-size:12px; color:var(--tm); }
.next-card-match {
  display:grid; grid-template-columns:1fr auto 1fr;
  align-items:center; gap:10px; margin-bottom:12px;
}
.next-card-side { overflow:hidden; }
.next-card-side-right { text-align:right; }
.next-card-name {
  font-family:var(--fh); font-size:clamp(14px,4vw,18px);
  font-weight:800; color:var(--tx); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.next-card-center { text-align:center; flex-shrink:0; }
.next-card-time {
  font-family:var(--fh); font-size:clamp(24px,6vw,36px);
  font-weight:800; color:var(--green); line-height:1;
}
.next-card-vs { font-size:11px; color:var(--ts); font-family:var(--fh); margin-top:2px; }
.next-card-venue {
  text-align:center; font-size:14px; font-weight:700;
  color:var(--tx); background:rgba(0,0,0,.2); border-radius:6px;
  padding:8px 12px; border:1px solid rgba(34,197,94,.15);
}

/* ════════════════ BLOC ÉQUIPE (page club) ════════════════ */
.team-block { background:var(--s1); border:1px solid var(--bd); border-radius:var(--r); margin-bottom:12px; overflow:hidden; }

.team-block-header {
  display:flex; align-items:flex-start; justify-content:space-between;
  padding:12px 14px; background:var(--s2); border-bottom:1px solid var(--bd); gap:10px;
}
.team-block-header-left { display:flex; flex-direction:column; gap:4px; min-width:0; }
.team-block-name { font-family:var(--fh); font-size:17px; font-weight:700; line-height:1.2; }
.team-block-site { font-size:12px; color:var(--green); margin-top:2px; }
.team-block-rank { text-align:right; flex-shrink:0; }
.team-block-rank-pos { font-family:var(--fh); font-size:22px; font-weight:800; color:var(--tx); line-height:1; }
.team-block-rank-pts { font-family:var(--fh); font-size:13px; color:var(--tm); margin-top:2px; }
.team-block-rank-pts span { font-size:11px; }
.team-block-rank-q { font-size:11px; color:var(--green); font-weight:700; margin-top:2px; }

/* Ligne prochain match mini dans le bloc équipe */
.team-next-mini {
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  padding:8px 14px; background:rgba(34,197,94,.04);
  border-bottom:1px solid var(--bd); font-size:13px;
}
.team-next-label { font-family:var(--fh); font-size:10px; letter-spacing:1px; color:var(--tm); text-transform:uppercase; }
.team-next-time { font-family:var(--fh); font-size:16px; font-weight:800; color:var(--green); }
.team-next-round { color:var(--tm); font-size:12px; }
.team-next-match { font-weight:600; flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }
.team-next-venue { color:var(--green); font-size:12px; font-weight:600; white-space:nowrap; }

@media(max-width:640px) {
  .next-card-match { grid-template-columns:1fr auto 1fr; gap:6px; }
  .next-card-name { font-size:14px; }
  .next-card-time { font-size:28px; }
  .fc-match { grid-template-columns:1fr 56px 1fr; padding:10px 12px; }
  .fc-team { font-size:13px; }
  .fc-score-val { font-size:18px; }
  .team-next-venue { display:none; }
}

/* ════════════ PRINT ════════════ */
@media print {
  body { background:#fff; color:#111; font-size:11px; }
  .site-header, .club-header-bar, .cat-filter-btn,
  .club-cat-filters, button, input, select, .no-print { display:none !important; }

  /* Planning imprimé : par site, layout compact */
  .section-title { color:#000; border-bottom:2px solid #000; padding-bottom:4px; margin:12px 0 8px; font-size:13px; }
  .timeline { gap:2px; }
  .time-slot { border:1px solid #ccc; border-radius:0; }
  .time-label { background:#f5f5f5; color:#000; font-size:13px; min-width:52px; padding:6px 8px; border-right:1px solid #ccc; }
  .slot-matches { background:#fff; padding:4px 8px; }
  .match-chip { border-left:3px solid #999; background:#fafafa; padding:4px 8px; min-width:140px; border-radius:2px; }
  .chip-header { color:#555; font-size:9px; }
  .chip-teams { font-size:11px; font-weight:700; }
  .chip-score { font-size:12px; color:#000; }

  /* Poules imprimées */
  .groups-grid { grid-template-columns:repeat(2,1fr); gap:10px; }
  .group-card { border:1px solid #ccc; border-radius:4px; break-inside:avoid; }
  .group-header { background:#f5f5f5; padding:6px 10px; border-bottom:1px solid #ccc; }
  .group-name { color:#000; font-size:12px; }
  th, td { padding:4px 8px; font-size:10px; border-bottom:1px solid #eee; }
  th { background:#f0f0f0; }

  /* Fixture cards imprimées */
  .fc { border:1px solid #ccc; break-inside:avoid; margin-bottom:4px; }
  .fc-top { background:#f5f5f5; padding:4px 8px; }
  .fc-match { padding:6px 8px; }
  .fc-time { font-size:14px; color:#000; }
  .fc-team { font-size:11px; }
  .fc-score-val { font-size:16px; }
  .next-card { border:2px solid #000; background:#f9f9f9; break-inside:avoid; }
  .team-block { border:1px solid #ccc; break-inside:avoid; margin-bottom:8px; }
  .team-block-header { background:#f5f5f5; }
  .level-badge { border:1px solid #999; background:#eee; color:#333; }
  .standing-row.me { background:#e8ffe8; }
  .fc-venue { color:#333; }
}

/* ════════════ ENCART SITES PAR ÉQUIPE ════════════ */
.team-site-encart {
  background:var(--s1); border:1px solid var(--bd); border-radius:var(--r);
  padding:14px 16px; margin-bottom:16px;
}
.team-site-encart-title {
  font-family:var(--fh); font-size:12px; font-weight:700; letter-spacing:1px;
  color:var(--tm); text-transform:uppercase; margin-bottom:10px;
}
.team-site-row {
  display:flex; align-items:center; gap:10px; padding:5px 0;
  border-bottom:1px solid rgba(255,255,255,.04); font-size:14px;
}
.team-site-row:last-child { border-bottom:none; }
.team-site-name { font-family:var(--fh); font-weight:700; flex:1; }
.team-site-arrow { color:var(--ts); flex-shrink:0; }
.team-site-loc { color:var(--green); font-weight:700; font-family:var(--fh); flex:1; text-align:right; }

/* ════════════ CLUB DASHBOARD ════════════ */

/* Barre de progression */
.cb-progress-bar {
  height: 6px; background: var(--bd); border-radius: 3px;
  margin-bottom: 4px; overflow: hidden;
}
.cb-progress-fill {
  height: 100%; background: linear-gradient(90deg, var(--green), #86efac);
  border-radius: 3px; transition: width .5s ease;
}
.cb-progress-label {
  display: flex; justify-content: space-between;
  font-size: 12px; color: var(--tm); margin-bottom: 20px;
}

/* Section labels */
.cb-section-label {
  font-family: var(--fh); font-size: 11px; font-weight: 700;
  letter-spacing: 1.5px; color: var(--tm); text-transform: uppercase;
  display: flex; align-items: center; gap: 8px;
  margin: 20px 0 10px;
}
.cb-section-label::after {
  content: ''; flex: 1; height: 1px; background: var(--bd);
}

/* Grille sites */
.cb-sites-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 10px; margin-bottom: 4px;
}
.cb-site-card {
  background: var(--s1); border: 1px solid var(--bd);
  border-top: 3px solid var(--green); border-radius: var(--r);
  padding: 12px 14px;
}
.cb-site-name {
  font-family: var(--fh); font-size: 15px; font-weight: 700;
  color: var(--tx); margin-bottom: 8px;
}
.cb-site-teams {
  display: flex; flex-direction: column; gap: 4px;
}
.cb-site-team {
  font-size: 13px; color: var(--tm); display: flex;
  align-items: center; gap: 4px;
}

/* Prochain match */
.cb-next-match {
  background: var(--s1); border: 1px solid var(--bd2);
  border-left: 4px solid var(--green); border-radius: var(--r);
  overflow: hidden; margin-bottom: 4px;
}
.cb-next-meta {
  background: var(--s2); border-bottom: 1px solid var(--bd);
  padding: 8px 14px; display: flex; align-items: center;
  gap: 10px; flex-wrap: wrap;
}
.cb-next-time {
  font-family: var(--fh); font-size: 22px; font-weight: 800;
  color: var(--green); flex-shrink: 0;
}
.cb-next-team-badge {
  font-size: 12px; color: var(--tm); font-family: var(--fh);
  font-weight: 600;
}
.cb-next-venue {
  font-size: 12px; color: var(--ts); margin-left: auto;
}
.cb-next-teams {
  display: grid; grid-template-columns: 1fr auto 1fr;
  align-items: center; padding: 16px 14px; gap: 10px;
}
.cb-next-team { text-align: center; }
.cb-next-team.cb-us .cb-next-team-name { color: var(--green); }
.cb-next-team-name {
  font-family: var(--fh); font-size: 16px; font-weight: 700;
  line-height: 1.2;
}
.cb-next-vs {
  font-family: var(--fh); font-size: 13px; font-weight: 800;
  color: var(--ts); letter-spacing: 2px; flex-shrink: 0;
}

/* Onglets équipes */
.cb-tabs {
  display: flex; gap: 6px; flex-wrap: wrap;
  margin-bottom: 12px; overflow-x: auto;
}
.cb-tab {
  background: var(--s2); border: 1px solid var(--bd);
  color: var(--tm); padding: 7px 14px; border-radius: 20px;
  font-size: 13px; font-family: var(--fh); font-weight: 700;
  cursor: pointer; white-space: nowrap; transition: all .15s;
  display: flex; align-items: center; gap: 5px;
}
.cb-tab:hover { border-color: var(--green); color: var(--green); }
.cb-tab.active {
  background: rgba(34,197,94,.1); border-color: var(--green);
  color: var(--green);
}
.cb-tab-sub {
  font-size: 10px; opacity: .7; font-weight: 600;
}

/* Panneaux par équipe */
.cb-team-panel { display: none; }
.cb-team-panel.active { display: block; }

/* En-tête équipe dans panneau */
.cb-team-header {
  background: var(--s2); border: 1px solid var(--bd);
  border-radius: var(--r); padding: 12px 14px;
  display: flex; align-items: center;
  justify-content: space-between; gap: 12px;
  margin-bottom: 10px;
}
.cb-team-title {
  font-family: var(--fh); font-size: 18px; font-weight: 700;
}
.cb-team-site {
  font-size: 12px; color: var(--tm); margin-top: 2px;
}
.cb-team-rank { text-align: center; flex-shrink: 0; }
.cb-rank-pos {
  font-family: var(--fh); font-size: 26px; font-weight: 800;
  color: var(--gold); line-height: 1;
}
.cb-rank-pos sup { font-size: 13px; }
.cb-rank-pts { font-size: 12px; color: var(--tm); }
.cb-rank-q { font-size: 11px; color: var(--green); font-weight: 700; }

/* Sous-sections */
.cb-subsection {
  font-family: var(--fh); font-size: 11px; font-weight: 700;
  letter-spacing: 1px; color: var(--ts); text-transform: uppercase;
  padding: 5px 0; margin: 12px 0 6px;
  border-bottom: 1px solid var(--bd);
}

/* Liste de matchs */
.cb-match-list { display: flex; flex-direction: column; gap: 2px; margin-bottom: 4px; }
.cb-match-row {
  display: grid; grid-template-columns: 52px 1fr auto;
  align-items: center; gap: 10px;
  padding: 8px 12px; border-radius: 6px;
  background: var(--s1); border: 1px solid var(--bd);
}
.cb-match-row.cb-upcoming { border-left: 3px solid var(--bd2); }
.cb-match-row.cb-played   { border-left: 3px solid rgba(34,197,94,.4); }
.cb-mtime {
  font-family: var(--fh); font-size: 14px; font-weight: 700;
  color: var(--tx); flex-shrink: 0;
}
.cb-round { font-size: 11px; color: var(--ts); }
.cb-minfo { min-width: 0; }
.cb-mteams { font-size: 13px; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cb-mvs { color: var(--ts); font-weight: 400; margin: 0 4px; }
.cb-mmeta { font-size: 11px; color: var(--ts); display: block; margin-top: 2px; }
.cb-mscore {
  font-family: var(--fh); font-size: 16px; font-weight: 800;
  flex-shrink: 0; text-align: right;
}
.cb-mscore.cb-win  { color: var(--green); }
.cb-mscore.cb-loss { color: var(--red); }
.cb-mscore.cb-draw { color: var(--gold); }
.cb-mscore-pending { font-size: 11px; color: var(--ts); flex-shrink: 0; }
.cb-more { font-size: 12px; color: var(--tm); text-align: center; padding: 6px; }

/* Classement compact dans panel */
.cb-standing { display: flex; flex-direction: column; }
.cb-standing-row {
  display: grid; grid-template-columns: 22px 1fr auto 20px 46px;
  align-items: center; gap: 8px;
  padding: 7px 12px; font-size: 13px;
  border-bottom: 1px solid rgba(255,255,255,.04);
}
.cb-standing-row.me {
  background: rgba(34,197,94,.06); font-weight: 600;
}
.cb-sr-rank { color: var(--ts); font-family: var(--fh); text-align: center; }
.cb-sr-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cb-sr-pts  { font-family: var(--fh); font-size: 14px; font-weight: 700; color: var(--green); text-align: right; }
.cb-sr-gd   { font-size: 11px; color: var(--ts); text-align: right; }

/* Mobile */
@media (max-width: 480px) {
  .cb-sites-grid { grid-template-columns: 1fr 1fr; }
  .cb-next-team-name { font-size: 14px; }
  .cb-next-time { font-size: 18px; }
  .cb-match-row { grid-template-columns: 44px 1fr auto; gap: 6px; padding: 7px 10px; }
  .cb-standing-row { grid-template-columns: 20px 1fr auto 18px; }
  .cb-sr-gd { display: none; }
  .cb-team-header { flex-direction: column; align-items: flex-start; }
  .cb-team-rank { align-self: flex-end; }
}

/* ═══════════════════════════════════════════
   MOBILE & TABLETTE — Refonte v13.0
═══════════════════════════════════════════ */

/* Nav tabs publics — scrollable sur mobile */
.tt-tabs-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:1px solid var(--bd);margin-bottom:18px;position:sticky;top:0;z-index:50;background:var(--bg);backdrop-filter:blur(8px)}
.tt-tabs-wrap::-webkit-scrollbar{display:none}
.tt-tabs{display:flex;gap:0;min-width:max-content}
.tt-tab{white-space:nowrap;flex-shrink:0}

/* Match chips — pleine largeur sur mobile */
@media(max-width:600px){
  .time-slot{flex-direction:column}
  .time-label{border-right:none;border-bottom:1px solid var(--bd);min-width:100%;justify-content:flex-start;padding:8px 14px;font-size:14px}
  .slot-matches{padding:8px 10px;gap:8px}
  .match-chip{min-width:0;width:100%;flex:none}
  .chip-teams{font-size:14px;line-height:1.4}
  .chip-score{font-size:16px}
  .match-score{font-size:18px}

  /* Classements — cacher colonnes secondaires */
  .sr-detail{display:none}
  th:nth-child(5),td:nth-child(5),
  th:nth-child(6),td:nth-child(6){display:none}

  /* Groupes — 1 colonne */
  .groups-grid{grid-template-columns:1fr !important}

  /* Public match row — plus aéré */
  .public-match-main{gap:6px;font-size:14px}
  .public-match-meta{font-size:12px}

  /* Catégorie header plateau */
  .site-main{padding:10px 10px 60px}
}

/* Tablette 601-900px */
@media(min-width:601px) and (max-width:900px){
  .groups-grid{grid-template-columns:1fr 1fr !important}
  .match-chip{min-width:140px}
  .site-main{padding:16px 14px 48px}
}

/* Page club mobile — planning compact */
@media(max-width:600px){
  .cb-next-block{padding:14px}
  .cb-next-time{font-size:28px}
  .cb-next-team-name{font-size:15px}
  .cb-match-row{font-size:13px;padding:8px 10px}
  .cb-section-title{font-size:13px;padding:8px 12px}
  .cb-standing-row{font-size:13px}
  .cb-sr-gd{display:none}

  /* Header compact */
  .page-hero{padding:16px 12px 12px}
  .page-title{font-size:clamp(20px,5vw,28px)}
  .page-title-sub{font-size:13px}
}

/* Score saisie mobile — plus grand touchable */
@media(max-width:600px){
  .score-in{width:44px;height:38px;font-size:18px}
  .score-val{font-size:24px}
  .b-score-in{width:40px;height:36px;font-size:16px}
}

/* Bouton flottant refresh — visible sur mobile */
.fab-refresh{display:none}
@media(max-width:900px){
  .fab-refresh{display:flex;position:fixed;bottom:20px;right:16px;z-index:200;background:var(--green);color:#052e16;border:none;border-radius:999px;padding:12px 18px;font-family:var(--fh);font-size:13px;font-weight:700;letter-spacing:.5px;box-shadow:0 4px 16px rgba(0,212,126,.35);cursor:pointer;align-items:center;gap:8px;transition:transform .15s}
  .fab-refresh:active{transform:scale(.95)}
}

/* Filter chips pour catégories — scrollable */
.cat-filter-bar{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;margin-bottom:16px;-webkit-overflow-scrolling:touch}
.cat-filter-bar::-webkit-scrollbar{display:none}
.cat-chip{flex-shrink:0;padding:6px 14px;border-radius:999px;border:1px solid var(--bd);background:var(--s2);color:var(--tm);font-family:var(--fh);font-size:12px;letter-spacing:.5px;cursor:pointer;transition:all .15s;white-space:nowrap}
.cat-chip.active{background:var(--green);color:#052e16;border-color:var(--green)}

/* Section titre site dans planning public */
.site-banner{background:linear-gradient(135deg,var(--s1),var(--s2));border-left:4px solid var(--green);border-radius:0 8px 8px 0;padding:10px 16px;margin:20px 0 10px;display:flex;align-items:center;gap:10px}
.site-banner-icon{font-size:18px;flex-shrink:0}
.site-banner-name{font-family:var(--fh);font-size:16px;letter-spacing:1px;color:var(--green)}
.site-banner-count{font-size:12px;color:var(--tm)}

/* Category banner dans classements */
.cat-banner{background:linear-gradient(135deg,var(--s1),var(--s2));border-left:4px solid var(--blue);border-radius:0 8px 8px 0;padding:10px 16px;margin:20px 0 10px;font-family:var(--fh);font-size:16px;letter-spacing:1px;color:var(--blue)}


/* AF_VISUAL_PUBLIC_TWEAKS_START */
.fc-match{
  grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr);
  gap:10px;
  align-items:start;
}
.fc-team{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  line-height:1.32;
  overflow-wrap:anywhere;
}
.fc-team-right{
  text-align:right;
}
.fc-score{
  min-width:92px;
}
.fc-venue{
  white-space:normal;
  text-align:right;
}
.public-match-main{
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:10px;
}
.public-match-main span{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  line-height:1.32;
  overflow-wrap:anywhere;
}
.cb-match-row{
  align-items:start;
}
.cb-mteams{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.cb-mmeta{
  line-height:1.3;
}
.group-card .public-match-main{
  align-items:start;
}
.group-card .public-match-main strong{
  min-width:64px;
  text-align:center;
}
@media(max-width:900px){
  .fc-top{
    align-items:flex-start;
  }
  .fc-venue{
    text-align:left;
  }
}
@media(max-width:640px){
  .fc-match{
    grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);
    gap:8px;
  }
  .fc-team{
    font-size:13px;
  }
  .fc-score{
    min-width:70px;
  }
  .public-match-main{
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  }
}
/* AF_VISUAL_PUBLIC_TWEAKS_END */



/* Active Foot — barre réseaux sociaux publique haute */
.af-social-nav{margin-left:auto;display:inline-flex;align-items:center;gap:9px;min-height:34px;padding:6px 10px;border-radius:999px;border:1px solid rgba(34,197,94,.24);background:linear-gradient(135deg,rgba(15,23,42,.82),rgba(17,24,39,.56));box-shadow:0 10px 26px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.035);backdrop-filter:blur(10px);white-space:nowrap}
.af-social-nav-logo{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:999px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.075);overflow:hidden;text-decoration:none;flex:0 0 auto}
.af-social-nav-logo img{max-width:25px;max-height:25px;width:auto;height:auto;display:block;mix-blend-mode:screen;filter:drop-shadow(0 4px 10px rgba(0,0,0,.30))}
.af-social-nav-text{font-family:var(--fh,'Exo 2',sans-serif);font-weight:900;font-size:12.5px;letter-spacing:.18px;color:#dbeafe;line-height:1}
.af-social-nav-links{display:inline-flex;align-items:center;gap:6px}
.af-social-nav-link{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid rgba(255,255,255,.11);padding:6px 9px;background:rgba(255,255,255,.045);color:var(--tx,#e2e8f0);font-family:var(--fh,'Exo 2',sans-serif);font-size:11.5px;font-weight:900;text-decoration:none;line-height:1;transition:transform .15s,border-color .15s,background .15s,color .15s,box-shadow .15s}
.af-social-nav-link:hover{transform:translateY(-1px);text-decoration:none;border-color:rgba(34,197,94,.50);background:rgba(34,197,94,.10);color:#f8fafc;box-shadow:0 6px 18px rgba(34,197,94,.10)}
.af-social-nav-link::before{content:'';width:16px;height:16px;display:inline-block;flex:0 0 auto;background-repeat:no-repeat;background-position:center;background-size:contain}
.af-social-nav-link.insta{border-color:rgba(221,42,123,.26)}
.af-social-nav-link.insta::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%3E%3Cdefs%3E%3ClinearGradient%20id=%27g%27%20x1=%270%27%20y1=%2724%27%20x2=%2724%27%20y2=%270%27%3E%3Cstop%20offset=%270%27%20stop-color=%27%23f58529%27/%3E%3Cstop%20offset=%27.52%27%20stop-color=%27%23dd2a7b%27/%3E%3Cstop%20offset=%271%27%20stop-color=%27%23515bd4%27/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect%20width=%2724%27%20height=%2724%27%20rx=%276%27%20fill=%27url%28%23g%29%27/%3E%3Cpath%20fill=%27none%27%20stroke=%27white%27%20stroke-width=%272%27%20d=%27M8%204.75h8A3.25%203.25%200%200%201%2019.25%208v8A3.25%203.25%200%200%201%2016%2019.25H8A3.25%203.25%200%200%201%204.75%2016V8A3.25%203.25%200%200%201%208%204.75Z%27/%3E%3Ccircle%20cx=%2712%27%20cy=%2712%27%20r=%273.25%27%20fill=%27none%27%20stroke=%27white%27%20stroke-width=%272%27/%3E%3Ccircle%20cx=%2716.75%27%20cy=%277.25%27%20r=%271.15%27%20fill=%27white%27/%3E%3C/svg%3E")}
.af-social-nav-link.facebook{border-color:rgba(24,119,242,.25)}
.af-social-nav-link.facebook::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%3E%3Ccircle%20cx=%2712%27%20cy=%2712%27%20r=%2712%27%20fill=%27%231877F2%27/%3E%3Cpath%20fill=%27white%27%20d=%27M15.4%207.1h-1.7c-.5%200-.8.3-.8.9v1.4h2.4l-.3%202.5h-2.1V19h-2.6v-7.1H8.2V9.4h2.1V7.8c0-2.1%201.3-3.3%203.2-3.3.9%200%201.7.1%201.9.1v2.5Z%27/%3E%3C/svg%3E")}
.af-social-page-top{max-width:780px;margin:14px auto 0;padding:0 16px;display:flex;justify-content:center;position:relative;z-index:3}
.af-social-page-top .af-social-nav{margin-left:0}
@media(max-width:760px){.af-social-nav{gap:7px;padding:6px 8px}.af-social-nav-text{display:none}.af-social-nav-logo{width:26px;height:26px}.af-social-nav-logo img{max-width:24px;max-height:24px}.af-social-nav-link{padding:6px 8px;font-size:10.5px}.af-social-nav-link span{display:none}.af-social-nav-link::before{width:17px;height:17px}.af-social-page-top{margin-top:10px;padding:0 10px}}
@media(max-width:420px){.af-social-nav{max-width:calc(100vw - 120px);overflow:hidden}.af-social-page-top .af-social-nav{max-width:calc(100vw - 20px)}}

/* AF_PUBLIC_CLUB_NAVIGATION_START */
.af-club-team-link{
  display:inline-flex;
  align-items:center;
  gap:4px;
  color:inherit;
  text-decoration:none;
  border-radius:6px;
  min-width:0;
  transition:color .15s, background .15s, box-shadow .15s;
}
.af-club-team-link:hover{
  color:var(--green);
  text-decoration:none;
  background:rgba(34,197,94,.075);
  box-shadow:0 0 0 3px rgba(34,197,94,.045);
}
.af-club-link-arrow{
  font-size:.82em;
  color:var(--green);
  opacity:0;
  width:0;
  margin-left:0;
  overflow:hidden;
  flex:0 0 auto;
  line-height:1;
  transform:translateX(-2px);
  transition:opacity .15s,width .15s,margin-left .15s,transform .15s;
}
.af-club-team-link:hover .af-club-link-arrow,
.af-club-team-link:focus-visible .af-club-link-arrow{
  opacity:.85;
  width:.85em;
  margin-left:2px;
  transform:translateX(0);
}
.afp-team-name .af-club-team-link,
.fc-team .af-club-team-link,
.cb-mteams .af-club-team-link,
.next-card-name .af-club-team-link{
  max-width:100%;
}
.af11-standing-team .af-club-team-link,
.af-standing-team .af-club-team-link{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.af-club-backline{
  margin-top:10px;
}
.af-club-back-btn{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid rgba(34,197,94,.26);
  background:rgba(34,197,94,.075);
  color:var(--green) !important;
  border-radius:999px;
  padding:7px 12px;
  font-family:var(--fh);
  font-size:12px;
  font-weight:800;
  letter-spacing:.15px;
  text-decoration:none !important;
}
.af-club-back-btn:hover{
  background:rgba(34,197,94,.13);
  border-color:rgba(34,197,94,.45);
  text-decoration:none !important;
}
@media(max-width:640px){
  .af-club-link-arrow{display:none}
  .af-club-team-link{gap:3px}
  .af-club-backline{margin-top:8px}
  .af-club-back-btn{padding:7px 11px;font-size:11.5px}
}
/* AF_PUBLIC_CLUB_NAVIGATION_END */


/* AF_PUBLIC_CLUB_LUNCH_SITE_CHIPS_START */
.cb-site-team{flex-wrap:wrap}
.af-site-lunch-chip{display:inline-flex;align-items:center;gap:3px;margin-left:3px;border-radius:999px;border:1px solid rgba(34,197,94,.25);background:rgba(34,197,94,.09);color:#bbf7d0;padding:2px 6px;font-size:10px;font-weight:950;line-height:1.25;white-space:nowrap}
.af-site-lunch-chip.tight{border-color:rgba(245,158,11,.38);background:rgba(245,158,11,.10);color:#fde68a}
.af-site-lunch-chip.bad{border-color:rgba(239,68,68,.34);background:rgba(239,68,68,.10);color:#fecaca}
@media(max-width:640px){.af-site-lunch-chip{font-size:9.5px;padding:2px 5px}}
/* AF_PUBLIC_CLUB_LUNCH_SITE_CHIPS_END */


/* ActiveFoot — lien partenaire discret dans la barre sociale publique */
.af-social-nav-link.partner{border-color:rgba(250,204,21,.30);color:#fef3c7;background:rgba(250,204,21,.075)}
.af-social-nav-link.partner:hover{border-color:rgba(250,204,21,.58);background:rgba(250,204,21,.13);color:#fff7ed;box-shadow:0 6px 18px rgba(250,204,21,.12)}
.af-social-nav-link.partner::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%3E%3Cpath%20fill=%27%23facc15%27%20d=%27M12%202a5%205%200%200%201%204.8%203.6A5%205%200%200%201%2022%2010.4c0%203.3-3.2%206.3-8.6%2010.7a2.2%202.2%200%200%201-2.8%200C5.2%2016.7%202%2013.7%202%2010.4a5%205%200%200%201%205.2-4.8A5%205%200%200%201%2012%202Zm0%203.1c-1.2-1.3-3.3-1.5-4.7-.2-1.5%201.4-1.6%203.8-.1%205.3L12%2013l4.8-4.8c1.5-1.5%201.4-3.9-.1-5.3-1.4-1.3-3.5-1.1-4.7.2Z%27/%3E%3C/svg%3E")}

/* AF_PUBLIC_MOBILE_REFRESH_CLEANUP_START 20260625-lot4-0
   Bouton "Actualiser" public masqué : le tournoi s'actualise déjà automatiquement.
   Ne concerne pas /mobile, dont le bouton de refresh est géré par mobile-day-dashboard.css.
*/
body:not(.afm-body) .fab-refresh,
body:not(.afm-body) button.fab-refresh{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
/* AF_PUBLIC_MOBILE_REFRESH_CLEANUP_END */

/* AF_PUBLIC_BRACKET_FLASH_FIX_V2_START */
#tt-panel-finale:not(.af-final-ready) > *{visibility:hidden!important}
#tt-panel-finale:not(.af-final-ready)::before{content:"Chargement de la phase finale...";display:block;text-align:center;padding:32px 16px;color:var(--tm);font-size:14px}
/* AF_PUBLIC_BRACKET_FLASH_FIX_V2_END */
