/* ============================================================
   AFEBAS — 04-components-afebas.css
   Blocs métier : af-cna, afdelegues, af-v4res, afb-player-page,
   afb-assos-cards, afmap-wrap, af-inscrits, afc19
   ============================================================ */

/* ═══════════════════════════════════════════════════════════
   .af-cna  —  Bloc Histoire / Gouvernance / Documents
   ═══════════════════════════════════════════════════════════ */
.af-cna,.af-cna *{ box-sizing:border-box; }

.af-cna{
  --afh-blue:#0b2a5b; --afh-blue-2:#123a7a; --afh-blue-3:#1f5bb5;
  --afh-yellow:#f5c400; --afh-white:#ffffff;
  --afh-text:#18314f; --afh-muted:#647a98;
  --afh-border:#d8e1ee; --afh-bg:#f3f6fb; --afh-card:#ffffff;
  --afh-shadow:0 14px 34px rgba(11,42,91,.10); --afh-radius:20px;

  width:100%; max-width:1720px;
  margin:28px auto 36px; padding:28px;
  border-radius:26px;
  background:
    radial-gradient(circle at top right, rgba(245,196,0,.11), transparent 22%),
    linear-gradient(180deg, #123a7a 0%, #0b2a5b 100%);
  box-shadow:0 24px 60px rgba(11,42,91,.16);
  color:#fff; overflow:hidden;
}

.af-cna .af-cna__header{
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:20px; padding:0 0 18px; margin:0 0 18px;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.af-cna .af-cna__title{
  margin:0; font-size:clamp(28px,3.4vw,44px);
  line-height:1.05; font-weight:900; letter-spacing:.01em; color:#fff;
}
.af-cna .af-cna__header .af-cna__muted{
  margin-top:8px; color:rgba(255,255,255,.84); font-size:15px;
}
.af-cna .af-cna__badge{
  flex:0 0 auto; display:inline-flex; align-items:center; gap:10px;
  padding:10px 16px; border-radius:999px;
  background:rgba(245,196,0,.14); border:1px solid rgba(245,196,0,.52);
  color:#fff9dc; font-size:12px; font-weight:900;
  text-transform:uppercase; letter-spacing:.08em; white-space:nowrap;
}
.af-cna .af-cna__badge i{
  width:10px; height:10px; border-radius:50%; display:inline-block;
  background:var(--afh-yellow); box-shadow:0 0 0 5px rgba(245,196,0,.14);
}

.af-cna .af-cna__card,
.af-cna .af-cna__callout{
  background:var(--afh-card); color:var(--afh-text);
  border:1px solid var(--afh-border); border-radius:22px;
  box-shadow:var(--afh-shadow);
}
.af-cna .af-cna__card{ padding:26px 28px; }
.af-cna .af-cna__callout{
  padding:24px 28px; margin-top:22px;
  background:linear-gradient(180deg,#fffbed 0%,#ffffff 100%);
  border:1px solid rgba(245,196,0,.36);
}

.af-cna p{ margin:0 0 16px; font-size:18px; line-height:1.72; color:var(--afh-text); }
.af-cna .af-cna__card > p:last-child{ margin-bottom:0; }
.af-cna strong{ color:var(--afh-blue); font-weight:900; }
.af-cna .af-cna__muted{ color:var(--afh-muted); font-size:15px; }
.af-cna h2{
  margin:30px 0 16px; font-size:24px; line-height:1.15;
  font-weight:900; text-transform:uppercase; letter-spacing:.03em;
  color:var(--afh-yellow);
}
.af-cna h3{ margin:0 0 12px; font-size:22px; line-height:1.2; font-weight:900; color:var(--afh-blue); }

.af-cna .af-cna__grid{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px; margin-top:8px;
}
.af-cna .af-cna__list{ list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.af-cna .af-cna__list li{ position:relative; padding-left:22px; color:var(--afh-text); line-height:1.6; }
.af-cna .af-cna__list li::before{
  content:""; position:absolute; left:0; top:.62em;
  width:10px; height:10px; border-radius:50%;
  background:var(--afh-yellow); box-shadow:0 0 0 4px rgba(245,196,0,.16);
  transform:translateY(-50%);
}

.af-cna a{ color:var(--afh-blue-2); text-decoration:none; font-weight:700; }
.af-cna a:hover{ color:var(--afh-blue-3); text-decoration:underline; }

/* Tableau */
.af-cna .af-cna__tablewrap{
  display:flex; justify-content:center;
  overflow-x:auto; -webkit-overflow-scrolling:touch;
  border-radius:var(--afh-radius);
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.12); padding:8px; margin:12px 0;
  width:100%;
}
.af-cna .af-cna__tablewrap table{
  display:inline-table; width:auto;
  min-width:720px; max-width:980px;
  margin:0 auto; border-collapse:collapse; table-layout:auto;
}
.af-cna .af-cna__tablewrap th,
.af-cna .af-cna__tablewrap td{
  padding:12px; border-bottom:1px solid rgba(255,255,255,.08);
  vertical-align:middle; text-align:center;
}
.af-cna .af-cna__tablewrap th{
  font-size:12px; letter-spacing:.08em; text-transform:uppercase;
  color:rgba(255,255,255,.78); background:rgba(255,255,255,.06);
}
.af-cna .af-cna__tablewrap tr:nth-child(even) td{ background:rgba(255,255,255,.03); }
.af-cna .af-cna__tablewrap th:first-child,
.af-cna .af-cna__tablewrap td:first-child{ text-align:left; }

/* Bouton PDF */
.af-cna .af-cna__btnrow{ display:flex; justify-content:center; margin:12px 0 6px; }
.af-cna a.af-cna__btnpdf::before,
.af-cna a.af-cna__btnpdf::after{ content:none !important; }
.af-cna a.af-cna__btnpdf{
  all:unset; box-sizing:border-box;
  display:flex !important; align-items:center; gap:12px;
  width:100%; max-width:720px;
  padding:14px 16px; border-radius:14px;
  background:var(--afh-yellow); border:1px solid rgba(0,0,0,.12);
  color:rgba(15,22,36,.96); font-weight:900; line-height:1.2;
  cursor:pointer; box-shadow:0 10px 24px rgba(0,0,0,.18);
  text-decoration:none !important;
}
.af-cna a.af-cna__btnpdf:hover{ filter:brightness(1.06); transform:translateY(-1px); }
.af-cna a.af-cna__btnpdf:active{ filter:brightness(0.98); transform:translateY(0); }
.af-cna a.af-cna__btnpdf:visited{ color:rgba(15,22,36,.96) !important; }
.af-cna a.af-cna__btnpdf:focus,
.af-cna a.af-cna__btnpdf:focus-visible{
  outline:3px solid rgba(243,198,35,.55) !important; outline-offset:3px !important;
}
.af-cna .af-cna__pdfico{
  width:28px; height:28px; flex:0 0 28px; border-radius:8px;
  background-repeat:no-repeat; background-position:center; background-size:contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230f1624' d='M14 2H7a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7l-5-5zm1 6h4v12a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7v5a1 1 0 0 0 1 1z'/%3E%3Cpath fill='%230f1624' fill-opacity='.75' d='M7.6 17.2h8.8v-1.5H7.6v1.5zm0-3h8.8v-1.5H7.6v1.5zm0-3h5.8V9.7H7.6v1.5z'/%3E%3C/svg%3E");
}
.af-cna .af-cna__btntext{ display:block; text-align:left; }
.af-cna .af-cna__btntext small{ display:block; margin-top:3px; font-weight:700; opacity:.78; }

/* Misc */
.af-cna .af-cna__center{ text-align:center; }
.af-cna .af-cna__money{ font-weight:900; color:var(--afh-white); white-space:nowrap; }
.af-cna .af-cna__pill{
  display:inline-flex; padding:6px 10px; border-radius:999px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12);
  font-weight:800; font-size:12px; white-space:nowrap;
}

/* Harmonisation plugin équipe */
.af-cna .awsm-team,.af-cna .awsm-grid-card,.af-cna .awsm-person,
.af-cna [class*="awsm"] .awsm-grid-card,
.af-cna [class*="awsm"] .awsm-person{
  background:transparent !important; box-shadow:none !important;
}
.af-cna [class*="awsm"] img{ border-radius:18px !important; }
.af-cna [class*="awsm"] .awsm-person-name,
.af-cna [class*="awsm"] .awsm-grid-title{ color:var(--afh-blue) !important; font-weight:900 !important; }
.af-cna [class*="awsm"] .awsm-person-designation,
.af-cna [class*="awsm"] .awsm-grid-designation{ color:var(--afh-muted) !important; }

/* Responsive */
@media (max-width:980px){
  .af-cna{ padding:20px; border-radius:20px; }
  .af-cna .af-cna__header{ flex-direction:column; align-items:flex-start; }
  .af-cna .af-cna__grid{ grid-template-columns:1fr; }
  .af-cna .af-cna__card,.af-cna .af-cna__callout{ padding:20px; }
  .af-cna p{ font-size:16px; }
  .af-cna h3{ font-size:20px; }
}

/* ═══════════════════════════════════════════════════════════
   .afdelegues  —  Liste des délégués régionaux
   ═══════════════════════════════════════════════════════════ */
.afdelegues,.afdelegues *{ box-sizing:border-box; }
.afdelegues{
  --bg:rgba(255,255,255,.92); --bd:rgba(0,0,0,.10);
  --tx:rgba(0,0,0,.86); --muted:rgba(0,0,0,.60);
  --shadow:0 10px 24px rgba(0,0,0,.08); --radius:18px;
  width:100%; max-width:1200px; margin:18px auto; padding:0 14px;
  color:var(--tx); font-family:inherit;
}
.afdelegues__header{
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:12px; padding:16px; border:1px solid var(--bd);
  border-radius:var(--radius); background:var(--bg); box-shadow:var(--shadow);
}
.afdelegues__title{ font-weight:900; letter-spacing:.2px; font-size:18px; line-height:1.2; }
.afdelegues__subtitle{ margin-top:4px; font-size:13px; color:var(--muted); line-height:1.35; }
.afdelegues__badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 12px; border-radius:999px;
  border:1px solid rgba(0,0,0,.12); background:rgba(0,0,0,.04);
  font-weight:800; font-size:12px; white-space:nowrap;
}
.afdelegues__tablewrap{
  margin-top:14px; border:1px solid var(--bd);
  border-radius:var(--radius); background:var(--bg);
  box-shadow:var(--shadow); overflow:hidden;
}
.afdelegues table{ width:100%; border-collapse:collapse; }
.afdelegues thead th{
  text-align:left; font-size:12px; letter-spacing:.06em;
  text-transform:uppercase; color:rgba(0,0,0,.70);
  padding:12px 14px; border-bottom:1px solid var(--bd);
  background:rgba(0,0,0,.03);
}
.afdelegues tbody td{ padding:12px 14px; border-bottom:1px solid rgba(0,0,0,.06); vertical-align:middle; }
.afdelegues tbody tr:nth-child(odd){ background:rgba(0,0,0,.018); }
.afdelegues tbody tr:hover{ background:rgba(0,0,0,.035); }
.afdelegues__cell--primary{ font-weight:800; }
.afdelegues__link{ color:inherit; text-decoration:none; }
.afdelegues__link:hover{ text-decoration:underline; }
.afdelegues__asso{ display:flex; align-items:center; gap:12px; min-width:0; }
.afdelegues__logo{
  width:38px !important; height:38px !important;
  min-width:38px !important; min-height:38px !important;
  max-width:38px !important; max-height:38px !important;
  border-radius:12px; border:1px solid rgba(0,0,0,.12);
  overflow:hidden !important; flex:0 0 38px !important;
  background:rgba(0,0,0,.03);
}
.afdelegues .afdelegues__logo img{
  width:38px !important; height:38px !important;
  max-width:38px !important; max-height:38px !important;
  object-fit:cover !important; display:block !important;
}
.afdelegues__empty{
  margin-top:14px; padding:18px 16px;
  border:1px dashed rgba(0,0,0,.18); border-radius:var(--radius);
  background:rgba(0,0,0,.02); color:rgba(0,0,0,.70);
}
.afdelegues--error{
  padding:12px 14px; border:1px solid rgba(255,0,0,.25);
  background:rgba(255,0,0,.06); border-radius:14px;
  max-width:1200px; margin:18px auto;
}
.afdelegues a{ font-size:inherit !important; line-height:inherit !important; }

/* Desktop */
#afdelegues-cards{ display:none !important; }
#afdelegues-table{ display:block !important; }
.afdelegues__cards{ display:none !important; }

/* Mobile */
@media (max-width:820px){
  #afdelegues-table{ display:none !important; }
  #afdelegues-cards{ display:grid !important; }
  .afdelegues__tablewrap{ display:none !important; }
  .afdelegues__cards{ display:grid !important; margin-top:14px; grid-template-columns:1fr; gap:10px; }
  .afdelegues__header{ align-items:flex-start; flex-direction:column; }
  .afdelegues__card{
    border:1px solid var(--bd); border-radius:var(--radius);
    background:var(--bg); box-shadow:var(--shadow);
    padding:12px; display:flex; gap:12px; align-items:center;
  }
  .afdelegues__card:nth-child(odd){ background:rgba(0,0,0,.018); }
  .afdelegues__cardMain{ min-width:0; flex:1 1 auto; }
  .afdelegues__cardTitle{ font-weight:900; font-size:14px !important; line-height:1.25; margin:0; }
  .afdelegues__cardMeta{ margin-top:4px; font-size:12px !important; color:var(--muted); line-height:1.25; }
  .afdelegues .afdelegues__logo{
    width:42px !important; height:42px !important;
    min-width:42px !important; min-height:42px !important;
    max-width:42px !important; max-height:42px !important;
    flex:0 0 42px !important; border-radius:14px;
  }
  .afdelegues .afdelegues__logo img{
    width:42px !important; height:42px !important;
    max-width:42px !important; max-height:42px !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   .af-v4res  —  Résultats Tournoi V4
   ═══════════════════════════════════════════════════════════ */
.af-v4res,.af-v4res *{ box-sizing:border-box; }
.af-v4res h1,.af-v4res h2,.af-v4res h3,.af-v4res p{ margin:0; padding:0; border:0; line-height:1.4; }
.af-v4res a{ text-decoration:none; }

/* Hero */
.af-v4res .v4hero{
  border-radius:14px; overflow:hidden;
  box-shadow:0 4px 28px rgba(0,0,0,.18); color:#fff;
  position:relative;
}
.af-v4res .v4hero::before{
  content:""; position:absolute; inset:0; z-index:0;
  background-image:var(--v4hero-photo,none);
  background-size:cover; background-position:70% 35%; background-repeat:no-repeat;
  opacity:.22; filter:blur(2px) saturate(1.05); transform:scale(1.06); pointer-events:none;
}
.af-v4res .v4hero::after{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, var(--v4c1) 0%, rgba(0,0,0,.45) 52%, rgba(0,0,0,0) 100%);
  pointer-events:none;
}
.af-v4res .v4hero-inner{
  display:flex; align-items:stretch;
  position:relative; z-index:3;
}
.af-v4res .v4hero-left{
  flex:1; padding:24px;
  padding-right:clamp(240px,24vw,400px);
}

/* Rail photo */
.af-v4res .v4hero-photo{
  position:absolute; right:0; top:0; bottom:0;
  width:clamp(220px,22vw,380px);
  display:flex; align-items:flex-end; justify-content:flex-end;
  pointer-events:none; z-index:2;
  background:transparent !important; padding:0 !important;
  opacity:0; visibility:hidden; transition:opacity .25s ease;
}
.af-v4res .v4hero-photo.is-ready{ opacity:1; visibility:visible; }
.af-v4res .v4hero-photo::before{
  content:""; position:absolute; top:0; bottom:0; left:0; width:120px;
  z-index:2; pointer-events:none;
  background:linear-gradient(to right, rgba(0,0,0,.55) 0%, rgba(0,0,0,.18) 55%, rgba(0,0,0,0) 100%);
}
.af-v4res .v4hero-photo img{
  width:100% !important; height:100% !important;
  object-fit:cover !important; object-position:center top !important;
  transform:none !important; display:block !important;
  filter:drop-shadow(-10px 0 18px rgba(0,0,0,.22));
}
.af-v4res .v4hero-photo.v4hero-photo--contain{
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.08) !important;
}
.af-v4res .v4hero-photo.v4hero-photo--contain img{
  object-fit:contain !important; object-position:center !important;
}

/* Éléments hero */
.af-v4res .v4badge{
  display:inline-flex; align-items:center; gap:7px;
  border-radius:999px; padding:5px 12px;
  font-size:11px; font-weight:800; text-transform:uppercase;
}
.af-v4res .v4title{ font-size:clamp(18px,3.5vw,28px); font-weight:900; margin:12px 0 6px; }
.af-v4res .v4sub{ font-size:14px; opacity:.9; }
.af-v4res .v4meta{ margin-top:14px; display:flex; flex-wrap:wrap; gap:8px; }
.af-v4res .v4pill{ border-radius:999px; padding:6px 12px; font-size:12px; font-weight:600; background:rgba(255,255,255,.15); }
.af-v4res .v4btns{ margin-top:14px; display:flex; gap:8px; flex-wrap:wrap; }
.af-v4res .v4btn{ padding:10px 16px; border-radius:10px; font-weight:700; font-size:13px; transition:.2s ease; }
.af-v4res .v4btn:hover{ transform:translateY(-2px); }

/* Vainqueur */
.af-v4res .v4winner{
  margin-top:16px; padding:12px; border-radius:12px;
  display:flex; align-items:center; gap:12px;
  background:transparent; padding-left:0; padding-right:0;
}
.af-v4res .v4winner-name{ font-weight:900; font-size:15px; }
.af-v4res .v4winner-tag{ border-radius:999px; padding:6px 12px; font-size:11px; font-weight:800; text-transform:uppercase; }

/* Top 2/3/4 */
.af-v4res .v4hero-top{ margin-top:14px; display:grid; gap:10px; }
@media(min-width:740px){ .af-v4res .v4hero-top{ grid-template-columns:repeat(3,1fr); } }
.af-v4res .v4topcard{ padding:12px; border-radius:12px; display:flex; gap:10px; align-items:center; background:rgba(0,0,0,.18); }
.af-v4res .v4toprank{ width:30px; height:30px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-weight:900; }
.af-v4res .v4toppts{ font-weight:900; font-size:15px; }

/* Stats */
.af-v4res .v4stats{ display:grid; gap:10px; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); }
.af-v4res .v4stat{ background:#fff; border-radius:12px; padding:16px; text-align:center; box-shadow:0 2px 8px rgba(0,0,0,.08); }
.af-v4res .v4stat-n{ font-size:28px; font-weight:900; }
.af-v4res .v4stat-l{ font-size:11px; text-transform:uppercase; margin-top:6px; opacity:.7; }

/* Classement */
.af-v4res .v4card{ background:#fff; border-radius:12px; box-shadow:0 2px 8px rgba(0,0,0,.08); overflow:hidden; }
.af-v4res .v4card-head{
  padding:12px 16px; display:flex; justify-content:space-between; align-items:center;
  background:#f4f6f9; font-weight:900;
}
.af-v4res .v4card-body{ padding:16px; }
.af-v4res .v4table{ width:100%; border-collapse:collapse; font-size:14px; }
.af-v4res .v4table th{ text-align:left; font-size:11px; text-transform:uppercase; padding:10px; background:#f4f6f9; }
.af-v4res .v4table td{ padding:10px; border-bottom:1px solid #eee; }
.af-v4res .v4cltbadge{
  display:inline-flex; align-items:center; justify-content:center;
  width:26px; height:26px; border-radius:8px; background:#eef1f6; font-weight:900;
}

/* Avatar */
.af-v4res .v4ava-wrap{
  width:34px; height:34px; border-radius:10px; overflow:hidden;
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  font-weight:900; color:#fff;
}
.af-v4res .v4ava-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.af-v4res .v4ava-wrap.is-photo .v4ava-inis{ display:none; }

@media(max-width:700px){
  .af-v4res .v4hero-photo{ display:none !important; }
  .af-v4res .v4hero-left{ padding-right:24px; }
}

/* ═══════════════════════════════════════════════════════════
   .afc19  —  Finales des Champions (section dédiée)
   ═══════════════════════════════════════════════════════════ */
#afc19.afc19,#afc19.afc19 *{ box-sizing:border-box !important; }
#afc19.afc19{
  --g:var(--afb-primary); --glo:rgba(11,42,91,0.18);
  --dk:#0a0f18; --cd:#0e1626; --br:rgba(245,196,0,0.18);
  --tx:#e8eef9; --mu:rgba(232,238,249,0.55); --go:var(--afb-accent);

  font-family:'Nunito','Segoe UI',Arial,sans-serif !important;
  font-size:15px !important; background:var(--dk) !important;
  color:var(--tx) !important; border-radius:18px !important;
  overflow:hidden !important; padding:0 0 50px !important;
  width:100% !important; max-width:none !important;
  display:block !important; margin:0 !important;
}
#afc19 .afc19-hero{
  text-align:center !important; padding:60px 20px 44px !important;
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, var(--glo) 0%, transparent 70%),
    repeating-linear-gradient(0deg, transparent, transparent 39px, rgba(245,196,0,0.04) 40px) !important;
}
#afc19 .afc19-tag{
  display:inline-flex !important; align-items:center !important; gap:8px !important;
  border:1px solid rgba(245,196,0,0.35) !important; border-radius:999px !important;
  padding:5px 16px !important; font-size:10px !important; font-weight:900 !important;
  letter-spacing:3px !important; text-transform:uppercase !important;
  color:var(--go) !important; margin-bottom:18px !important;
  background:rgba(245,196,0,0.08) !important;
}
#afc19 .afc19-tag::before{ content:'●' !important; font-size:7px !important; color:var(--go) !important; }
#afc19 .afc19-h1{
  font-family:'Oswald','Impact',Arial,sans-serif !important;
  font-size:clamp(38px,8vw,86px) !important; font-weight:700 !important;
  letter-spacing:2px !important; line-height:1 !important;
  color:#fff !important; text-transform:uppercase !important;
}
#afc19 .afc19-h1-em{ color:var(--go) !important; }
#afc19 .afc19-yr{
  display:block !important; font-family:'Oswald','Impact',Arial,sans-serif !important;
  font-size:clamp(70px,16vw,160px) !important; font-weight:700 !important;
  line-height:.88 !important; color:transparent !important;
  -webkit-text-stroke:1px rgba(245,196,0,0.22) !important;
  letter-spacing:6px !important; user-select:none !important; margin-top:-4px !important;
}
#afc19 .afc19-sec{
  max-width:1260px !important; margin:48px auto 18px !important; padding:0 20px !important;
  display:flex !important; align-items:center !important; gap:12px !important;
}
#afc19 .afc19-sh{
  font-family:'Oswald','Impact',Arial,sans-serif !important; font-size:12px !important;
  font-weight:600 !important; letter-spacing:4px !important;
  text-transform:uppercase !important; color:var(--go) !important; white-space:nowrap !important;
}
#afc19 .afc19-ln{
  flex:1 !important; height:1px !important;
  background:linear-gradient(90deg, rgba(245,196,0,0.28), transparent) !important;
}
#afc19 .afc19-grid{
  max-width:1260px !important; margin:0 auto !important; padding:0 20px !important;
  display:grid !important; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)) !important;
  gap:18px !important;
}
/* Variante 4 colonnes : sections a 4 cartes (ex. Individuel par rang) */
#afc19 .afc19-grid--4{ grid-template-columns:repeat(auto-fill,minmax(240px,1fr)) !important; }
/* Variante 2 colonnes : sections a 2 cartes (TOP NC, Veterans) */
#afc19 .afc19-grid--2{ grid-template-columns:repeat(auto-fill,minmax(420px,1fr)) !important; }
#afc19 .afc19-card{
  background:var(--cd) !important; border:1px solid rgba(245,196,0,0.18) !important;
  border-radius:14px !important; overflow:hidden !important;
  transition:transform .3s ease, box-shadow .3s ease !important;
}
#afc19 .afc19-card:hover{
  transform:translateY(-5px) !important;
  box-shadow:0 20px 50px rgba(0,0,0,.55), 0 0 0 1px rgba(245,196,0,.18) !important;
}
#afc19 img.afc19-img{
  width:100% !important; height:auto !important; aspect-ratio:16/9 !important;
  object-fit:cover !important; max-width:100% !important;
  filter:brightness(.92) saturate(.95) !important;
}
#afc19 .afc19-head{
  padding:14px 18px 12px !important; border-bottom:1px solid rgba(245,196,0,0.14) !important;
  background:linear-gradient(135deg, rgba(245,196,0,0.07) 0%, transparent 55%) !important;
}
#afc19 .afc19-cat{
  font-size:9px !important; font-weight:900 !important;
  letter-spacing:3px !important; text-transform:uppercase !important;
  color:var(--go) !important; opacity:.85 !important;
}
#afc19 .afc19-tit{
  font-family:'Oswald','Impact',Arial,sans-serif !important;
  font-size:20px !important; font-weight:600 !important; color:#fff !important;
}
#afc19 .afc19-row{
  display:flex !important; align-items:center !important; gap:11px !important;
  padding:8px 18px !important; border-bottom:1px solid rgba(245,196,0,0.06) !important;
}
#afc19 .afc19-row:last-child{ border-bottom:none !important; }
#afc19 .afc19-row:hover{ background:rgba(245,196,0,0.04) !important; }
#afc19 .afc19-bx{
  width:32px !important; height:32px !important; min-width:32px !important;
  border-radius:8px !important; display:flex !important;
  align-items:center !important; justify-content:center !important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif !important;
  font-size:16px !important; line-height:1 !important;
  background:rgba(255,255,255,0.06) !important;
}
#afc19 .afc19-bx.bg::before{ content:"🏆"; }
#afc19 .afc19-bx.bs::before{ content:"🥈"; }
#afc19 .afc19-bx.bh::before{ content:"🥉"; }
@media(max-width:600px){
  #afc19 .afc19-grid{ grid-template-columns:1fr !important; }
  #afc19 .afc19-sec{ margin-top:32px !important; }
}

/* ═══════════════════════════════════════════════════════════
   .afb-player-page  —  Fiche joueur publique
   ═══════════════════════════════════════════════════════════ */
.afb-player-page{ max-width:1100px; margin:0 auto; padding:15px; }
.afb-player-hero{
  display:flex; flex-wrap:wrap; gap:24px; align-items:stretch;
  margin-bottom:24px; background:var(--afb-white);
  border-radius:16px; padding:20px 24px;
  box-shadow:var(--afb-shadow); border:1px solid rgba(0,0,0,0.06);
}
.afb-player-photo-wrapper{ flex:0 0 260px; display:flex; justify-content:center; align-items:center; }
.afb-player-photo{ width:100%; max-width:260px; height:auto; border-radius:12px; object-fit:cover; }
.afb-player-hero-info{ flex:1; min-width:260px; display:flex; flex-direction:column; justify-content:center; }
.afb-player-licence{
  font-size:12px; text-transform:uppercase; letter-spacing:.08em;
  color:var(--afb-muted); margin-bottom:6px; font-weight:900;
}
.afb-player-name{
  font-family:var(--afb-font-display); font-size:clamp(20px,2.4vw,30px);
  font-weight:900; text-transform:uppercase; letter-spacing:.03em;
  color:var(--afb-primary); margin-bottom:6px;
}
.afb-player-club{ font-size:14px; color:var(--afb-text); font-weight:800; margin-bottom:8px; }
.afb-player-meta-line{
  font-size:13px; color:var(--afb-text); margin-bottom:10px;
  display:flex; flex-wrap:wrap; gap:8px;
}
.afb-meta-item{
  background:rgba(11,42,91,0.06); border:1px solid rgba(11,42,91,0.12);
  border-radius:999px; padding:5px 10px; min-width:160px;
  text-align:left; white-space:nowrap; font-weight:800;
}
.afb-meta-gp{
  background:rgba(11,42,91,0.92); border-color:rgba(245,196,0,0.55);
  color:var(--afb-accent); display:inline-flex; align-items:center; gap:8px;
}
.afb-gp-logo{ height:20px; width:auto; display:inline-block; }
.afb-player-main-metrics{ display:flex; flex-wrap:wrap; gap:10px; margin-top:4px; }
.afb-metric{
  border:1px solid rgba(245,196,0,0.55); border-radius:999px;
  padding:6px 12px; font-size:13px; background:rgba(245,196,0,0.10);
}
.afb-metric-label{ font-weight:900; color:var(--afb-primary); margin-right:6px; }
.afb-metric-value{ font-weight:900; color:var(--afb-text); }

.afb-section{ margin-bottom:20px; }
.afb-section-title{
  font-family:var(--afb-font-display); font-weight:900;
  letter-spacing:.08em; text-transform:uppercase; color:var(--afb-primary);
  border-bottom:2px solid var(--afb-accent); margin-bottom:10px; padding-bottom:6px;
}
.afb-season-block{ margin-top:10px; margin-bottom:15px; }
.afb-season-header{
  font-size:13px; font-weight:900; letter-spacing:.08em; text-transform:uppercase;
  color:var(--afb-primary); background:rgba(11,42,91,0.06);
  border-left:4px solid var(--afb-accent); padding:8px 10px;
  margin-bottom:6px; border-radius:10px;
}
.afb-palmares-item{ padding:6px 0; border-bottom:1px solid rgba(0,0,0,0.06); }
.afb-palmares-line{ font-size:13px; line-height:1.45; color:var(--afb-text); }
.afb-palmares-date{ font-weight:900; color:var(--afb-primary); }
.afb-palmares-points{ font-weight:900; }
.afb-palmares-fermes{ font-style:italic; color:var(--afb-muted); }
.afb-palmares-empty{ font-size:13px; color:var(--afb-muted); }

/* Mode mémorial */
.afb-player-page.afb-memorial .afb-player-hero{
  background:var(--afb-dark); color:#fff;
  border:1px solid rgba(255,255,255,0.10); box-shadow:var(--afb-shadow-md);
}
.afb-player-page.afb-memorial .afb-player-name{ color:var(--afb-accent); }
.afb-player-page.afb-memorial .afb-meta-item{
  background:rgba(255,255,255,0.08); color:rgba(255,255,255,0.90);
  border-color:rgba(255,255,255,0.10);
}
.afb-player-memorial-kicker{
  font-size:12px; text-transform:uppercase; letter-spacing:.12em;
  color:var(--afb-accent); margin-bottom:8px; font-weight:900;
}
.afb-memorial-dates{
  margin:8px 0 10px; padding:10px 12px; border-radius:12px;
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.10);
}
.afb-memorial-line{ font-size:13px; line-height:1.5; color:rgba(255,255,255,0.90); margin-bottom:4px; }
.afb-memorial-sep{ margin:0 6px; opacity:.75; }
.afb-memorial-note{ margin-top:8px; font-size:12px; color:rgba(255,255,255,0.75); font-style:italic; }

@media(max-width:640px){
  .afb-player-hero{ flex-direction:column; align-items:center; text-align:center; }
  .afb-player-meta-line{ justify-content:center; }
  .afb-player-main-metrics{ justify-content:center; }
  .afb-meta-item{ min-width:0; }
}

/* ═══════════════════════════════════════════════════════════
   .afb-assos-cards  —  Cards associations organisatrices
   ═══════════════════════════════════════════════════════════ */
.afb-assos-cards,.afb-assos-cards *{ box-sizing:border-box; }
.afb-assos-cards{
  --afb-primary:#0b2a5b; --afb-primary-mid:#143b6b;
  --afb-text:#1a1f2b; --afb-muted:#6b7280;
  --afb-line:rgba(0,0,0,.10); --afb-card:#ffffff;
  --afb-zebra:rgba(20,59,107,.06);
  --afb-badge-bg:rgba(245,196,0,.14); --afb-badge-tx:#7a5d00;
  width:100%;
}
.afb-assos-cards--error{ padding:12px; border:1px solid rgba(0,0,0,.12); border-radius:12px; background:#fff; }
.afb-assos-cards__head{
  display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end;
  justify-content:space-between; padding:14px 14px 10px;
  border:1px solid var(--afb-line); border-radius:16px;
  background:linear-gradient(90deg, rgba(11,42,91,.06), rgba(20,59,107,.04));
}
.afb-assos-cards__title{ font-weight:900; letter-spacing:.2px; color:var(--afb-text); font-size:16px; line-height:1.2; }
.afb-assos-cards__meta{ font-size:12px; color:var(--afb-muted); font-weight:800; }
.afb-assos-cards__grid{
  margin-top:12px; display:grid;
  grid-template-columns:repeat(1,minmax(0,1fr)); gap:10px;
}
@media(min-width:720px){ .afb-assos-cards__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(min-width:1040px){ .afb-assos-cards__grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.afb-assos-cards__card{
  position:relative; display:flex; gap:12px; align-items:center;
  padding:12px; border:1px solid var(--afb-line); border-radius:16px;
  background:var(--afb-card); overflow:hidden;
}
.afb-assos-cards__card::before{
  content:""; position:absolute; left:0; top:0; bottom:0;
  width:6px; background:var(--afb-primary-mid); opacity:.9;
}
.afb-assos-cards__card.is-zebra{
  background:linear-gradient(0deg, var(--afb-zebra), var(--afb-zebra)), var(--afb-card);
}
.afb-assos-cards__card.is-off{ opacity:.72; }
.afb-assos-cards__card.is-off::before{ background:rgba(0,0,0,.25); }
.afb-assos-cards__logo{
  width:40px; height:40px; border-radius:12px; background:#fff;
  border:1px solid rgba(0,0,0,.10); object-fit:contain; flex:0 0 auto;
}
.afb-assos-cards__logo.is-muted{ opacity:.35; filter:grayscale(100%); }
.afb-assos-cards__body{ min-width:0; flex:1 1 auto; }
.afb-assos-cards__name{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  font-weight:900; color:var(--afb-text); font-size:14px; line-height:1.2;
}
.afb-assos-cards__name a{ color:inherit; text-decoration:none; }
.afb-assos-cards__name a:hover{ text-decoration:underline; }
.afb-assos-cards__sub{ margin-top:3px; font-size:12px; color:var(--afb-muted); font-weight:800; }
.afb-assos-cards__badge{
  margin-left:auto; flex:0 0 auto; display:inline-flex; align-items:center;
  gap:6px; padding:6px 10px; border-radius:999px; font-weight:900; font-size:12px;
  border:1px solid rgba(0,0,0,.10); background:var(--afb-badge-bg);
  color:var(--afb-badge-tx); white-space:nowrap;
}
.afb-assos-cards__badge a{ color:inherit; text-decoration:none; }
.afb-assos-cards__badge a:hover{ text-decoration:underline; }
.afb-assos-cards__badge.is-zero{ background:rgba(0,0,0,.04); color:rgba(0,0,0,.40); }

/* ═══════════════════════════════════════════════════════════
   .af-inscrits  —  Liste inscrits tournoi
   ═══════════════════════════════════════════════════════════ */
.af-pre{
  margin:10px 0 0; padding:10px 12px; background:#0b1220; color:#e5e7eb;
  border-radius:12px; font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  font-size:12px; line-height:1.35; overflow:auto;
}
.af-link{ color:var(--af-prusse); text-decoration:underline; text-underline-offset:2px; }
.af-link:hover{ color:var(--af-prusse-2); }
.af-help{ margin-top:8px; color:var(--af-muted); font-size:13px; }
.af-box{
  margin:14px 0; padding:12px 14px; border-radius:14px;
  border:1px solid var(--af-line); background:var(--af-surface);
  color:var(--af-text); box-shadow:0 8px 18px rgba(0,0,0,.06);
}
.af-box--info{ border-color:#bfdbfe; background:#eff6ff; color:#1e3a8a; }
.af-box--error{ border-color:#fecaca; background:#fff1f2; color:#7f1d1d; }

.af-inscrits{ margin:14px 0; color:var(--af-text); }
.af-inscrits__hero{
  position:relative; overflow:hidden;
  border-radius:calc(var(--af-radius) + 4px); box-shadow:var(--af-shadow);
  background:
    radial-gradient(1200px 500px at 20% 0%, rgba(246,199,68,.18), transparent 55%),
    linear-gradient(135deg, rgba(4,30,66,.96) 0%, rgba(4,30,66,.90) 35%, rgba(6,42,94,.88) 100%);
}
.af-inscrits__hero::before{
  content:""; position:absolute; inset:0;
  background-image:var(--af-hero-poster); background-size:cover; background-position:center;
  opacity:.10; filter:saturate(1.05) contrast(1.05);
}
.af-inscrits__heroInner{ position:relative; padding:18px 18px 16px; }
.af-inscrits__kicker{
  display:inline-flex; gap:8px; align-items:center;
  font-weight:800; letter-spacing:.3px; color:#e5e7eb; font-size:12px; text-transform:uppercase;
}
.af-inscrits__kicker::before{
  content:""; width:10px; height:10px; border-radius:99px;
  background:var(--af-jaune); box-shadow:0 0 0 4px rgba(246,199,68,.20);
}
.af-inscrits__title{ margin:10px 0 8px; color:#fff; font-size:28px; line-height:1.15; font-weight:900; }
.af-inscrits__meta{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.af-pill{
  display:inline-flex; align-items:center; gap:8px; padding:6px 10px;
  border-radius:999px; background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18); color:#fff; font-weight:700;
  font-size:12px; backdrop-filter:blur(6px);
}
.af-inscrits__count{ margin-top:10px; font-weight:900; color:#fff; font-size:15px; }
.af-inscrits__heroPoster{
  position:absolute; top:0; right:0; bottom:0; width:min(34%,360px);
  background-image:var(--af-hero-poster); background-size:cover; background-position:center;
  opacity:.35; filter:saturate(1.05) contrast(1.05);
  mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.60) 25%, #000 100%);
}

.af-empty{
  margin:14px 0; padding:16px; border-radius:var(--af-radius);
  border:1px dashed #cbd5e1; background:#f8fafc; color:#334155; font-weight:700;
}
.af-inscrits__tableWrap{
  margin-top:14px; border-radius:var(--af-radius); overflow:hidden;
  background:var(--af-surface); border:1px solid var(--af-line);
  box-shadow:0 10px 22px rgba(0,0,0,.06);
}
.af-table{ width:100%; border-collapse:separate; border-spacing:0; }
.af-table thead th{
  background:linear-gradient(0deg, rgba(4,30,66,1), rgba(6,42,94,1));
  color:#fff; text-align:left; padding:12px; font-size:13px;
  letter-spacing:.2px; font-weight:900;
}
.af-table tbody td{ padding:12px; border-bottom:1px solid var(--af-line); vertical-align:middle; font-size:14px; }
.af-row.is-zebra td{ background:var(--af-soft); }
.af-table tbody tr:last-child td{ border-bottom:0; }
.af-cell--lic{ white-space:nowrap; font-weight:900; color:var(--af-prusse); }
.af-cell--team{ font-weight:900; color:#0f172a; }

.af-player{ display:flex; align-items:center; gap:10px; min-width:0; }
.af-player__txt{ display:flex; flex-direction:column; min-width:0; }
.af-player__name{
  display:inline-block; max-width:100%; color:var(--af-prusse);
  font-weight:900; text-decoration:none;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.af-player__name:hover{ text-decoration:underline; }
.af-player__sub{ color:var(--af-muted); font-size:12px; font-weight:700; margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.af-ava{
  width:40px; height:40px; border-radius:999px;
  display:inline-flex; align-items:center; justify-content:center;
  background:
    radial-gradient(24px 24px at 30% 20%, rgba(246,199,68,.35), transparent 60%),
    linear-gradient(135deg, rgba(4,30,66,1), rgba(6,42,94,1));
  border:1px solid rgba(255,255,255,.18); box-shadow:0 10px 18px rgba(0,0,0,.12);
  flex:0 0 auto; overflow:hidden;
}
.af-ava__ini{ color:#fff; font-weight:900; font-size:13px; letter-spacing:.3px; }
.af-ava__img{ width:100%; height:100%; object-fit:cover; display:block; }
.af-ava.is-photo{ background:#111827; border-color:rgba(0,0,0,.10); }

.af-inscrits__cards{ display:none; }
.af-card{
  display:flex; align-items:stretch; justify-content:space-between;
  gap:12px; padding:12px; border-radius:var(--af-radius);
  border:1px solid var(--af-line); background:var(--af-surface);
  box-shadow:0 10px 22px rgba(0,0,0,.06); margin-top:10px;
}
.af-card.is-zebra{ background:linear-gradient(0deg, rgba(246,247,251,1), rgba(246,247,251,1)); }
.af-card__main{ min-width:0; display:flex; flex-direction:column; gap:8px; }
.af-card__team{ font-weight:1000; color:#0f172a; font-size:13px; }
.af-card__side{
  flex:0 0 auto; min-width:84px;
  border-left:1px dashed #d1d5db; padding-left:12px;
  display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
}
.af-kpiLabel{ font-size:11px; color:var(--af-muted); font-weight:800; text-transform:uppercase; letter-spacing:.3px; }
.af-kpiVal{ margin-top:2px; font-weight:1000; color:var(--af-prusse); font-size:16px; }

.af-debug{ margin-top:14px; border-radius:var(--af-radius); border:1px dashed #9ca3af; background:#f8fafc; padding:12px; }
.af-debug__title{ font-weight:1000; color:#0f172a; margin-bottom:8px; }
.af-table a.af-link,.af-table a{ color:var(--af-prusse); }
.af-table a:hover{ color:var(--af-prusse-2); }

@media(max-width:700px){
  .af-inscrits__heroPoster{ display:none; }
  .af-inscrits__title{ font-size:22px; }
}
@media(max-width:820px){
  .af-inscrits__tableWrap{ display:none; }
  .af-inscrits__cards{ display:block; margin-top:14px; }
  .af-ava{ width:42px; height:42px; }
}

/* ═══════════════════════════════════════════════════════════
   .afmap-wrap  —  Carte interactive établissements
   ═══════════════════════════════════════════════════════════ */
.afmap-wrap{
  background:#f3f6fb; border:1px solid #d9e2ef;
  border-radius:18px; padding:20px; box-shadow:0 8px 24px rgba(11,42,91,.08);
}
.afmap-head{
  display:flex; justify-content:space-between; align-items:flex-start;
  gap:18px; margin-bottom:16px; flex-wrap:wrap;
}
.afmap-kicker{
  font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
  color:#1f5bb5; margin-bottom:6px;
}
.afmap-title{
  margin:0 0 6px; font-size:32px; line-height:1.05;
  font-family:var(--afb-font-display,'Barlow Condensed',sans-serif);
  color:#0b2a5b; text-transform:uppercase;
}
.afmap-sub{ margin:0; color:#55657d; }
.afmap-kpis{ display:flex; gap:12px; flex-wrap:wrap; }
.afmap-kpi{ min-width:120px; background:#fff; border:1px solid #d9e2ef; border-radius:14px; padding:12px 14px; text-align:center; }
.afmap-kpi strong{ display:block; font-size:24px; line-height:1; color:#0b2a5b; font-family:var(--afb-font-display,'Barlow Condensed',sans-serif); }
.afmap-kpi span{ font-size:12px; color:#67758c; text-transform:uppercase; font-weight:700; }
.afmap-toolbar{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:12px; }
.afmap-tab,.afmap-btn{
  appearance:none; border:1px solid #c9d5e6; background:#fff; color:#0b2a5b;
  border-radius:999px; padding:10px 14px; font-size:13px; font-weight:800;
  cursor:pointer; transition:.18s ease;
}
.afmap-tab:hover,.afmap-btn:hover{ transform:translateY(-1px); box-shadow:0 4px 14px rgba(11,42,91,.08); }
.afmap-tab.is-active{ background:#0b2a5b; color:#fff; border-color:#0b2a5b; }
.afmap-spacer{ flex:1 1 auto; }
.afmap-breadcrumb{ margin-bottom:12px; font-size:13px; color:#6b7b92; }
.afmap-breadcrumb__label{ font-weight:700; margin-right:6px; }
.afmap-breadcrumb__value{ font-weight:800; color:#0b2a5b; }
.afmap-grid{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:18px; }
.afmap-main,.afmap-side{ min-width:0; }
.afmap-canvas{ height:680px; background:#dfe8f5; border:1px solid #d9e2ef; border-radius:18px; overflow:hidden; }
.afmap-panel{ background:#fff; border:1px solid #d9e2ef; border-radius:16px; overflow:hidden; margin-bottom:14px; }
.afmap-panel h3{ margin:0; padding:14px 16px; background:#0b2a5b; color:#fff; font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.afmap-panel__body{ padding:14px 16px; color:#4e5f77; font-size:14px; line-height:1.55; }
.afmap-list{ display:flex; flex-direction:column; gap:8px; }
.afmap-list__row{
  display:flex; justify-content:space-between; align-items:center; gap:10px;
  border:1px solid #e2e9f3; background:#f8fbff; border-radius:12px; padding:10px 12px;
}
.afmap-list__label{ font-weight:700; color:#22324a; }
.afmap-list__count{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:42px; padding:4px 10px; border-radius:999px;
  background:#0b2a5b; color:#fff; font-weight:800;
}
.afmap-detail strong{ display:block; color:#0b2a5b; margin-bottom:6px; }
.afmap-detail__sub{ margin-top:4px; color:#67758c; }
.afmap-empty{ color:#7a889d; }
.afmap-error{ color:#b42318; font-weight:700; }
.afmap-popup{ font-size:13px; line-height:1.45; }

@media(max-width:1024px){ .afmap-grid{ grid-template-columns:1fr; } .afmap-canvas{ height:560px; } }
@media(max-width:700px){
  .afmap-wrap{ padding:14px; border-radius:14px; }
  .afmap-title{ font-size:24px; }
  .afmap-canvas{ height:440px; border-radius:14px; }
  .afmap-kpis{ width:100%; }
  .afmap-kpi{ flex:1 1 140px; }
}

/* ═══════════════════════════════════════════════════════════
   Recherche joueur
   ═══════════════════════════════════════════════════════════ */
.af-search-title{ text-align:center; font-size:2rem; margin-bottom:30px; font-weight:700; letter-spacing:.5px; }
.af-search-wrap{
  max-width:520px; margin:0 auto 60px; padding:35px 30px;
  background:#fff; border-radius:14px;
  box-shadow:0 10px 35px rgba(0,0,0,.08); border:1px solid rgba(0,0,0,.05);
}
.af-search-form{ display:flex; flex-direction:column; gap:18px; }
.af-search-label{ font-weight:600; font-size:.95rem; color:#444; letter-spacing:.3px; }
.af-search-field input{
  width:100%; padding:14px 16px; font-size:1rem; border-radius:8px;
  border:1px solid #dcdcdc; transition:all .25s ease; background:#fafafa;
}
.af-search-field input:focus{
  outline:none; border-color:var(--afb-primary,#0b2a5b);
  background:#fff; box-shadow:0 0 0 3px rgba(11,42,91,.12);
}
.af-search-actions{ text-align:center; margin-top:10px; }
.af-search-btn{
  padding:12px 28px; font-size:.95rem; font-weight:600;
  border-radius:30px; border:none; cursor:pointer;
  background:var(--afb-primary,#0b2a5b); color:#fff; transition:all .25s ease;
}
.af-search-btn:hover{ transform:translateY(-2px); box-shadow:0 8px 18px rgba(0,0,0,.15); }
@media(max-width:600px){
  .af-search-wrap{ padding:25px 18px; }
  .af-search-title{ font-size:1.6rem; }
}

/* ═══════════════════════════════════════════════════════════
   Dates d'Opens AFEBAS
   ═══════════════════════════════════════════════════════════ */
.afb-opens-dates{ background:#fff; border-radius:12px; padding:30px; box-shadow:0 4px 18px rgba(0,0,0,.05); }
.afb-opens-header{ background:#d4a017; color:#111; padding:14px 20px; border-radius:8px; margin-bottom:30px; }
.afb-opens-header h2{ margin:0; font-weight:700; letter-spacing:.5px; }
.afb-opens-wrapper{ display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:40px; }
.afb-opens-season h3{ margin-bottom:18px; font-weight:700; }
.afb-opens-list{ list-style:none; padding:0; margin:0; }
.afb-opens-list li{ padding:8px 0; border-bottom:1px solid rgba(0,0,0,.06); font-size:15px; }
.afb-highlight{ font-weight:700; color:#c62828; }
.afb-cancelled{ text-decoration:line-through; opacity:.55; }
.afb-pending{ font-weight:600; color:#e65100; }
.afb-attente{ margin-top:15px; font-size:14px; opacity:.75; }



.af-etab-wrap,
.af-etab-wrap *{
  box-sizing:border-box;
}

.af-etab-wrap{
  width:100%;
  max-width:1280px;
  margin:0 auto 40px;
  color:#10233f;
}

.af-etab-hero{
  position:relative;
  min-height:380px;
  overflow:hidden;
  border-radius:18px;
  background:#0b2a5b;
  box-shadow:0 10px 28px rgba(0,0,0,.12);
}

.af-etab-hero__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.af-etab-hero__overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(7,18,39,.88) 0%, rgba(7,18,39,.55) 36%, rgba(7,18,39,.20) 100%),
    linear-gradient(180deg, rgba(7,18,39,.10) 0%, rgba(7,18,39,.55) 100%);
}

.af-etab-hero__content{
  position:relative;
  z-index:2;
  max-width:760px;
  padding:34px 34px 28px;
  color:#fff;
}

.af-etab-hero__kicker{
  display:inline-block;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(245,196,0,.14);
  border:1px solid rgba(245,196,0,.32);
  color:#f5c400;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.af-etab-hero__title{
  margin:18px 0 8px;
  color:#f5c400;
  font-family:var(--afb-font-display, 'Barlow Condensed','Arial Narrow',sans-serif);
  font-size:58px;
  line-height:.95;
  font-weight:900;
  text-transform:uppercase;
}

.af-etab-hero__sub{
  font-size:18px;
  color:rgba(255,255,255,.92);
  font-weight:700;
}

.af-etab-hero__sep{
  padding:0 8px;
  opacity:.55;
}

.af-etab-kpis{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:24px;
}

.af-etab-kpi{
  min-width:130px;
  padding:16px 16px 14px;
  border-radius:12px;
  background:#0b2a5b;
  border:1px solid rgba(255,255,255,.12);
}

.af-etab-kpi__num{
  display:block;
  color:#f5c400;
  font-size:22px;
  font-weight:900;
  line-height:1;
}

.af-etab-kpi__lbl{
  display:block;
  margin-top:6px;
  color:#fff;
  font-size:14px;
  font-weight:800;
}

.af-etab-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}

.af-etab-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  border-radius:10px;
  text-decoration:none !important;
  font-size:14px;
  font-weight:900;
  transition:.18s ease;
}

.af-etab-btn--primary{
  background:#f5c400;
  color:#0b2a5b !important;
}

.af-etab-btn--ghost{
  background:rgba(255,255,255,.09);
  color:#fff !important;
  border:1px solid rgba(255,255,255,.18);
}

.af-etab-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:22px 0 28px;
}

.af-etab-card{
  background:#fff;
  border:1px solid #dbe3ef;
  border-radius:16px;
  padding:20px;
  box-shadow:0 4px 14px rgba(0,0,0,.04);
}

.af-etab-card__title{
  margin:0 0 14px;
  color:#0b2a5b;
  font-family:var(--afb-font-display, 'Barlow Condensed','Arial Narrow',sans-serif);
  font-size:28px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
}

.af-etab-card p{
  margin:0 0 10px;
}

.af-etab-card a{
  color:#0b2a5b;
  text-decoration:none;
  font-weight:700;
}

.af-etab-card a:hover{
  text-decoration:underline;
}

.af-etab-section{
  margin-top:24px;
}

.af-etab-section__title{
  margin:0 0 14px;
  padding-bottom:10px;
  border-bottom:2px solid rgba(11,42,91,.10);
  color:#0b2a5b;
  font-family:var(--afb-font-display, 'Barlow Condensed','Arial Narrow',sans-serif);
  font-size:34px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
}

.af-etab-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.af-etab-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  background:#0b2a5b;
  color:#fff;
  font-size:13px;
  font-weight:900;
}

.af-etab-badge small{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  background:#f5c400;
  color:#0b2a5b;
  font-size:11px;
  font-weight:900;
}

.af-etab-teams{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:14px;
}

.af-etab-team{
  background:#fff;
  border:1px solid #dbe3ef;
  border-left:5px solid #f5c400;
  border-radius:14px;
  padding:16px 16px 14px;
  box-shadow:0 4px 14px rgba(0,0,0,.04);
}

.af-etab-team__title{
  margin:0 0 10px;
  color:#0b2a5b;
  font-size:20px;
  font-weight:900;
  line-height:1.2;
}

.af-etab-team__badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.af-etab-team__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:0 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
}

.af-etab-team__badge--div{
  background:#0b2a5b;
  color:#fff;
}

.af-etab-team__badge--grp{
  background:#f5c400;
  color:#0b2a5b;
}

.af-etab-team__badge--count{
  background:#eef3fb;
  color:#23446f;
}

.af-etab-team__cap{
  margin-top:10px;
  color:#697892;
  font-size:13px;
}

.af-etab-map{
  overflow:hidden;
  border-radius:16px;
  border:1px solid #dbe3ef;
  box-shadow:0 4px 14px rgba(0,0,0,.04);
  background:#fff;
}

.af-etab-map iframe{
  width:100%;
  height:360px;
  border:0;
  display:block;
}

.af-etab-empty{
  padding:18px;
  border:1px dashed #c8d3e6;
  border-radius:14px;
  background:#f7f9fc;
  color:#607089;
}

@media (max-width:1080px){
  .af-etab-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:820px){
  .af-etab-hero{
    min-height:340px;
    border-radius:14px;
  }

  .af-etab-hero__content{
    padding:24px 18px 20px;
  }

  .af-etab-hero__title{
    font-size:42px;
  }

  .af-etab-hero__sub{
    font-size:16px;
  }

  .af-etab-kpis{
    gap:10px;
  }

  .af-etab-kpi{
    min-width:110px;
    padding:14px 12px;
  }

  .af-etab-section__title{
    font-size:28px;
  }

  .af-etab-teams{
    grid-template-columns:1fr;
  }

  .af-etab-map iframe{
    height:300px;
  }
}

@media (max-width:520px){
  .af-etab-hero__title{
    font-size:34px;
  }

  .af-etab-kpis{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .af-etab-kpi{
    min-width:0;
  }
}

/* ============================================================
   AFEBAS — FIX FICHE JOUEUR PUBLIQUE RESPONSIVE
   A placer tout en bas de 04-components-afebas.css
   ============================================================ */

.afb-player-page{
  max-width: 1120px;
  margin: 0 auto;
  padding: 20px 16px 36px;
}

.afb-player-hero{
  display: flex;
  align-items: stretch;
  gap: 22px;
  margin-bottom: 26px;
  background: var(--afb-white);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 18px;
  padding: 24px;
  box-shadow: var(--afb-shadow);
}

.afb-player-photo-wrapper{
  flex: 0 0 260px;
  max-width: 260px;
  display: block;
}

.afb-player-photo{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 14px;
}

.afb-player-hero-info{
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.afb-player-licence,
.afb-player-memorial-kicker{
  margin-bottom: 10px;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--afb-muted);
}

.afb-player-name{
  margin-bottom: 10px;
  color: var(--afb-primary);
  font-family: var(--afb-font-display);
  font-size: clamp(28px, 4vw, 46px);
  line-height: .95;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .02em;
}

.afb-player-club{
  margin-bottom: 14px;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 800;
  color: var(--afb-text);
}

.afb-player-meta-line{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 10px;
}

.afb-meta-item{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  min-width: 0;
  max-width: 100%;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(11,42,91,.06);
  border: 1px solid rgba(11,42,91,.12);
  color: var(--afb-text);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
  white-space: normal;
}

.afb-meta-gp{
  background: rgba(11,42,91,.92);
  border-color: rgba(245,196,0,.55);
  color: var(--afb-accent);
}

.afb-gp-logo{
  width: auto;
  height: 20px;
  flex: 0 0 auto;
}

.afb-player-main-metrics{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}

.afb-metric{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  min-width: 0;
  max-width: 100%;
  padding: 7px 13px;
  border: 1px solid rgba(245,196,0,.55);
  border-radius: 999px;
  background: rgba(245,196,0,.10);
}

.afb-metric-label{
  font-size: 13px;
  font-weight: 900;
  color: var(--afb-primary);
  white-space: normal;
}

.afb-metric-value{
  font-size: 13px;
  font-weight: 900;
  color: var(--afb-text);
  white-space: nowrap;
}

.afb-section{
  margin-bottom: 22px;
}

.afb-section-title{
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--afb-accent);
  color: var(--afb-primary);
  font-family: var(--afb-font-display);
  font-size: 28px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.afb-season-block{
  margin-top: 12px;
  margin-bottom: 16px;
}

.afb-season-header{
  margin-bottom: 8px;
  padding: 10px 12px;
  border-left: 4px solid var(--afb-accent);
  border-radius: 10px;
  background: rgba(11,42,91,.06);
  color: var(--afb-primary);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.afb-palmares-item{
  padding: 8px 0;
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.afb-palmares-line{
  font-size: 14px;
  line-height: 1.5;
  color: var(--afb-text);
}

.afb-palmares-date{
  color: var(--afb-primary);
  font-weight: 900;
}

.afb-palmares-points{
  font-weight: 900;
}

.afb-palmares-fermes{
  color: var(--afb-muted);
  font-style: italic;
}

.afb-palmares-empty{
  font-size: 14px;
  color: var(--afb-muted);
}

/* MEMORIAL */
.afb-player-page.afb-memorial .afb-player-hero{
  background: var(--afb-dark);
  border-color: rgba(255,255,255,.10);
  box-shadow: var(--afb-shadow-md);
  color: #fff;
}

.afb-player-page.afb-memorial .afb-player-name{
  color: var(--afb-accent);
}

.afb-player-page.afb-memorial .afb-meta-item{
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.10);
  color: rgba(255,255,255,.92);
}

.afb-memorial-dates{
  margin: 8px 0 12px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}

.afb-memorial-line{
  margin-bottom: 4px;
  font-size: 13px;
  line-height: 1.5;
  color: rgba(255,255,255,.90);
}

.afb-memorial-sep{
  margin: 0 6px;
  opacity: .75;
}

.afb-memorial-note{
  margin-top: 8px;
  font-size: 12px;
  font-style: italic;
  color: rgba(255,255,255,.75);
}

/* TABLETTE */
@media (max-width: 820px){
  .afb-player-hero{
    gap: 18px;
    padding: 18px;
  }

  .afb-player-photo-wrapper{
    flex: 0 0 220px;
    max-width: 220px;
  }

  .afb-player-name{
    font-size: clamp(24px, 6vw, 36px);
  }
}

/* MOBILE */
@media (max-width: 640px){
  .afb-player-page{
    padding: 16px 12px 28px;
  }

  .afb-player-hero{
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 16px;
    padding: 16px;
  }

  .afb-player-photo-wrapper{
    flex: 0 0 auto;
    width: 100%;
    max-width: 280px;
  }

  .afb-player-photo{
    aspect-ratio: auto;
    max-height: 320px;
  }

  .afb-player-hero-info{
    width: 100%;
    min-width: 0;
    align-items: center;
  }

  .afb-player-name{
    font-size: 22px;
    line-height: 1;
  }

  .afb-player-club{
    font-size: 14px;
    margin-bottom: 12px;
  }

  .afb-player-meta-line,
  .afb-player-main-metrics{
    justify-content: center;
    width: 100%;
  }

  .afb-meta-item,
  .afb-metric{
    justify-content: center;
    text-align: center;
    min-width: 0;
    max-width: 100%;
  }

  .afb-section-title{
    font-size: 24px;
  }

  .afb-palmares-line{
    font-size: 13px;
  }
}
/*
 * AFEBAS — Grand Prix 2026/2027
 * Version 1.0
 * À placer dans : Apparence > Personnaliser > CSS additionnel
 * ou dans le style.css du thème enfant AFEBAS Child.
 */

.afgp26-page,
.afgp26-page * {
  box-sizing: border-box;
}

.afgp26-page {
  --afgp26-navy: #0b2a5b;
  --afgp26-blue: #163d7a;
  --afgp26-blue-light: #eaf1fb;
  --afgp26-gold: #f3c300;
  --afgp26-gold-soft: #fff7d6;
  --afgp26-text: #14233a;
  --afgp26-muted: #627089;
  --afgp26-border: #dce5f1;
  --afgp26-surface: #ffffff;
  --afgp26-bg: #f3f6fa;

  width: 100% !important;
  max-width: 1800px !important;
  margin: 30px auto 50px !important;
  padding: 0 18px !important;
  color: var(--afgp26-text) !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.afgp26-shell {
  overflow: hidden;
  background: var(--afgp26-surface);
  border: 1px solid var(--afgp26-border);
  border-radius: 24px;
  box-shadow: 0 22px 60px rgba(11, 42, 91, 0.12);
}

.afgp26-hero {
  position: relative;
  overflow: hidden;
  padding: 42px 42px 34px;
  color: #fff;
  background:
    radial-gradient(circle at 88% 16%, rgba(243, 195, 0, 0.24) 0, rgba(243, 195, 0, 0) 28%),
    radial-gradient(circle at 8% 90%, rgba(255, 255, 255, 0.10) 0, rgba(255, 255, 255, 0) 32%),
    linear-gradient(135deg, #081f45 0%, #0b2a5b 48%, #174985 100%);
}

.afgp26-hero::after {
  content: "";
  position: absolute;
  right: -80px;
  bottom: -130px;
  width: 330px;
  height: 330px;
  border: 36px solid rgba(255, 255, 255, 0.05);
  border-radius: 50%;
}

.afgp26-hero-inner {
  position: relative;
  z-index: 1;
}

.afgp26-eyebrow {
  display: inline-flex !important;
  align-items: center;
  gap: 9px;
  margin: 0 0 16px !important;
  padding: 8px 13px !important;
  color: #fff !important;
  background: rgba(255, 255, 255, 0.11);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.10em;
  text-transform: uppercase;
}

.afgp26-eyebrow::before {
  content: "";
  width: 9px;
  height: 9px;
  background: var(--afgp26-gold);
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(243, 195, 0, 0.16);
}

.afgp26-title {
  max-width: 760px;
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: clamp(34px, 5vw, 58px) !important;
  font-weight: 900 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.035em;
  text-transform: none !important;
}

.afgp26-lead {
  max-width: 850px;
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
}

.afgp26-lead strong {
  color: #fff !important;
}

.afgp26-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 30px;
}

.afgp26-stat {
  min-height: 96px;
  padding: 17px 18px;
  background: rgba(255, 255, 255, 0.10);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 16px;
  backdrop-filter: blur(5px);
}

.afgp26-stat strong {
  display: block;
  margin-bottom: 4px;
  color: #fff !important;
  font-size: 29px;
  font-weight: 900;
  line-height: 1;
}

.afgp26-stat span {
  display: block;
  color: rgba(255, 255, 255, 0.80) !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

.afgp26-body {
  padding: 28px;
  background: var(--afgp26-bg);
}

.afgp26-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(330px, 0.82fr);
  gap: 22px;
  align-items: start;
}

.afgp26-stack {
  display: grid;
  gap: 22px;
}

.afgp26-panel {
  overflow: hidden;
  background: var(--afgp26-surface);
  border: 1px solid var(--afgp26-border);
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(11, 42, 91, 0.07);
}

.afgp26-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 22px 18px;
  border-bottom: 1px solid #e7edf5;
}

.afgp26-panel-title {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--afgp26-navy) !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1.16 !important;
  text-transform: none !important;
}

.afgp26-panel-subtitle {
  margin: 7px 0 0 !important;
  color: var(--afgp26-muted) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.afgp26-count {
  flex: 0 0 auto;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 78px;
  min-height: 35px;
  padding: 8px 12px !important;
  color: var(--afgp26-navy) !important;
  background: var(--afgp26-blue-light);
  border-radius: 999px;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.afgp26-count--gold {
  color: #6b5600 !important;
  background: var(--afgp26-gold-soft);
}

.afgp26-player-list {
  counter-reset: afgp26-player;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px !important;
  margin: 0 !important;
  padding: 20px 22px 22px !important;
  list-style: none !important;
}

.afgp26-player-list--single {
  grid-template-columns: 1fr;
}

.afgp26-player {
  counter-increment: afgp26-player;
  position: relative;
  display: flex !important;
  align-items: center;
  min-height: 54px;
  margin: 0 !important;
  padding: 11px 13px 11px 52px !important;
  color: var(--afgp26-text) !important;
  background: #fbfcfe;
  border: 1px solid #e3eaf3;
  border-radius: 13px;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  list-style: none !important;
}

.afgp26-player::before {
  content: counter(afgp26-player, decimal-leading-zero);
  position: absolute;
  left: 13px;
  top: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  color: var(--afgp26-navy);
  background: var(--afgp26-blue-light);
  border-radius: 9px;
  font-size: 11px;
  font-weight: 900;
  transform: translateY(-50%);
}

.afgp26-player--new::before {
  color: #6b5600;
  background: var(--afgp26-gold-soft);
}

.afgp26-player--pending {
  color: #6b5600 !important;
  background: #fffaf0;
  border: 1px dashed #d6aa00;
}

.afgp26-player--pending::before {
  content: "?";
  color: #6b5600;
  background: var(--afgp26-gold-soft);
}

.afgp26-note {
  margin: 0 22px 20px !important;
  padding: 13px 15px !important;
  color: #5d4b00 !important;
  background: #fff9e6;
  border-left: 4px solid var(--afgp26-gold);
  border-radius: 10px;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

.afgp26-footer {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 18px 28px;
  color: var(--afgp26-muted);
  background: #fff;
  border-top: 1px solid var(--afgp26-border);
  font-size: 13px;
  line-height: 1.5;
}

.afgp26-footer::before {
  content: "";
  flex: 0 0 auto;
  width: 9px;
  height: 9px;
  background: var(--afgp26-gold);
  border-radius: 50%;
}

@media (max-width: 980px) {
  .afgp26-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .afgp26-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .afgp26-page {
    margin: 16px auto 30px !important;
    padding: 0 10px !important;
  }

  .afgp26-shell {
    border-radius: 18px;
  }

  .afgp26-hero {
    padding: 28px 20px 24px;
  }

  .afgp26-lead {
    font-size: 16px !important;
  }

  .afgp26-stats {
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    margin-top: 22px;
  }

  .afgp26-stat {
    min-height: 83px;
    padding: 14px;
  }

  .afgp26-stat strong {
    font-size: 24px;
  }

  .afgp26-body {
    padding: 14px;
  }

  .afgp26-panel-head {
    display: block;
    padding: 18px 17px 15px;
  }

  .afgp26-count {
    margin-top: 12px;
  }

  .afgp26-player-list,
  .afgp26-player-list--single {
    grid-template-columns: 1fr;
    padding: 16px !important;
  }

  .afgp26-note {
    margin: 0 16px 16px !important;
  }

  .afgp26-footer {
    padding: 16px 18px;
  }
}
