/**
 * Design de la splash page (hero, bandeaux, cartes, boutons or), partagé par :
 * - include/splash_content.php (page d'accueil publique et accueil connecté)
 * - help.php (soutenir le site / crédits)
 * Tous les sélecteurs sont préfixés par .gd-splash pour cohabiter avec Bootstrap.
 */
.gd-splash{
  --sp-paper: #0b1424;
  --sp-paper-raised: #172640;
  --sp-paper-sunken: #22344f;
  --sp-ink: #e8eef7;
  --sp-ink-muted: #94a6bf;
  --sp-line: #2b3f5e;
  --sp-line-soft: #22344f;
  --sp-navy-900: #172640;
  --sp-navy-800: #22344f;
  --sp-gold-300: #f0c96b;
  --sp-gold-500: #e3b54d;
  --sp-gold-ink: #1c2333;
  --sp-radius-s: 0.5rem;
  --sp-radius-m: 0.75rem;
  --sp-shadow-card: 0 4px 18px rgba(0,0,0,0.45);
  color: var(--sp-ink);
  font-family: "Segoe UI", system-ui, sans-serif;
  font-size: 15px; line-height: 1.6;
}
.gd-splash *{ box-sizing: border-box; }
.gd-splash section{ position:relative; }
.gd-splash img{ max-width:100%; display:block; }
.gd-splash .sp-inner{ width:100%; max-width:1180px; margin:0 auto; padding:0 28px; }
.gd-splash h1, .gd-splash h2, .gd-splash h3{ font-family:inherit; font-weight:600; line-height:1.15; margin:0; text-wrap:balance; color:var(--sp-ink); }
.gd-splash p{ margin:0; }
.gd-splash .eyebrow{ font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--sp-gold-500); font-weight:600; }
.gd-splash .num{ font-variant-numeric: tabular-nums; }

.gd-splash .sp-btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family:inherit; font-weight:600; font-size:13.5px; line-height:1.2;
  letter-spacing:.03em; text-transform:uppercase; text-decoration:none;
  padding:13px 24px; border-radius:var(--sp-radius-s); border:1px solid transparent; cursor:pointer;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}
.gd-splash .sp-btn:active{ transform: translateY(1px); }
.gd-splash .sp-btn-gold{ background:var(--sp-gold-500); color:var(--sp-gold-ink); }
.gd-splash .sp-btn-gold:hover{ background:var(--sp-gold-300); color:var(--sp-gold-ink); }
.gd-splash .sp-btn-outline{ background:transparent; border-color:var(--sp-line); color:var(--sp-ink); }
.gd-splash .sp-btn-outline:hover{ border-color:var(--sp-gold-300); color:var(--sp-gold-300); }
.gd-splash .link-arrow{ display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; text-decoration:none; color:var(--sp-ink); }
.gd-splash .link-arrow svg{ width:15px; height:15px; }

.gd-splash .section-pad{ padding:88px 0; }
@media (max-width:720px){ .gd-splash .section-pad{ padding:56px 0; } }
.gd-splash .section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:40px; flex-wrap: wrap; }
.gd-splash .section-head h2{ font-size:clamp(24px,3vw,32px); }
.gd-splash .section-kicker{ margin-bottom:10px; }

/* HERO */
.gd-splash .hero{ background:linear-gradient(135deg, #172640, #0b1424); overflow:hidden; padding:76px 0 0; }
.gd-splash .hero .sp-inner{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:48px; align-items:center; padding-bottom:64px; }
.gd-splash .hero-eyebrow{ display:flex; align-items:center; gap:10px; margin-bottom:22px; }
.gd-splash .hero-eyebrow .rule{ width:28px; height:1px; background:var(--sp-gold-500); }
.gd-splash .hero h1{ font-size:clamp(32px,4.6vw,50px); letter-spacing:-0.01em; }
.gd-splash .hero h1 .accent{ color:var(--sp-gold-300); font-style:italic; }
.gd-splash .hero-lede{ margin:24px 0 32px; max-width:46ch; color:var(--sp-ink-muted); font-size:16px; }
.gd-splash .hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; }
.gd-splash .hero-meta{ display:flex; gap:28px; margin-top:44px; padding-top:26px; border-top:1px solid var(--sp-line); flex-wrap:wrap; }
.gd-splash .hero-meta div b{ display:block; font-size:20px; color:var(--sp-ink); }
.gd-splash .hero-meta div span{ font-size:11.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--sp-ink-muted); }
.gd-splash .hero-visual{ position:relative; height:460px; }
.gd-splash .hero-visual canvas{ width:100%; height:100%; display:block; }
.gd-splash .float-card{ position:absolute; background:var(--sp-navy-800); border:1px solid var(--sp-line); border-radius:var(--sp-radius-m); padding:14px 18px; display:flex; align-items:center; gap:12px; box-shadow:0 20px 40px -20px rgba(0,0,0,0.6); }
.gd-splash .float-card svg{ flex:none; width:20px; height:20px; color:var(--sp-gold-300); }
.gd-splash .float-card b{ display:block; font-size:17px; color:var(--sp-ink); line-height:1.1; }
.gd-splash .float-card span{ font-size:10.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--sp-ink-muted); }
.gd-splash .float-card.fc-1{ top:10px; right:6px; }
.gd-splash .float-card.fc-2{ bottom:34px; left:-8px; }
@media (max-width:980px){ .gd-splash .hero .sp-inner{ grid-template-columns:1fr; } .gd-splash .hero-visual{ height:320px; order:-1; } }

/* STRIP */
.gd-splash .strip{ background:var(--sp-navy-900); border-top:1px solid var(--sp-line); border-bottom:1px solid var(--sp-line); }
.gd-splash .strip .sp-inner{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
.gd-splash .strip-item{ padding:26px 28px; border-left:1px solid var(--sp-line); display:flex; gap:14px; align-items:flex-start; }
.gd-splash .strip-item:first-child{ border-left:none; }
.gd-splash .strip-item svg{ flex:none; width:22px; height:22px; margin-top:2px; color:var(--sp-gold-300); }
.gd-splash .strip-item b{ display:block; font-size:15px; color:var(--sp-ink); }
.gd-splash .strip-item p{ margin:3px 0 0; font-size:12.5px; color:var(--sp-ink-muted); line-height:1.45; }
@media (max-width:720px){ .gd-splash .strip .sp-inner{ grid-template-columns:1fr; } .gd-splash .strip-item{ border-left:none !important; border-top:1px solid var(--sp-line); } .gd-splash .strip-item:first-child{ border-top:none; } }

/* STEPS */
.gd-splash .steps-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.gd-splash .step{ position:relative; padding:0 26px 0 0; }
.gd-splash .step:not(:last-child)::after{ content:""; position:absolute; top:26px; left:calc(100% - 13px); width:26px; height:1px; background:var(--sp-line); }
.gd-splash .step-num{ font-style:italic; font-size:30px; color:var(--sp-gold-500); margin-bottom:18px; display:block; }
.gd-splash .step h3{ font-size:16px; margin-bottom:8px; letter-spacing:.01em; }
.gd-splash .step p{ margin:0; font-size:13.5px; color:var(--sp-ink-muted); max-width:30ch; }
@media (max-width:900px){ .gd-splash .steps-row{ grid-template-columns:1fr 1fr; row-gap:36px; } .gd-splash .step::after{ display:none; } }
@media (max-width:560px){ .gd-splash .steps-row{ grid-template-columns:1fr; } }

/* GAMES */
.gd-splash .games-band{ background:var(--sp-paper-sunken); border-top:1px solid var(--sp-line); border-bottom:1px solid var(--sp-line); }
.gd-splash .games-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.gd-splash .game-card{ background:var(--sp-paper-raised); border:1px solid var(--sp-line); border-radius:var(--sp-radius-m); overflow:hidden; box-shadow:var(--sp-shadow-card); display:flex; flex-direction:column; transition: transform .18s ease; }
.gd-splash .game-card:hover{ transform: translateY(-3px); }
.gd-splash .game-art{ height:120px; position:relative; background: radial-gradient(120% 140% at 15% 0%, var(--gc1) 0%, var(--sp-navy-900) 62%); }
.gd-splash .game-art .dots{ position:absolute; inset:0; background-image: radial-gradient(rgba(255,255,255,0.16) 1px, transparent 1px); background-size:14px 14px; mix-blend-mode:screen; opacity:.55; }
.gd-splash .game-art .tag{ position:absolute; top:14px; left:16px; font-size:10px; letter-spacing:.09em; text-transform:uppercase; color:var(--sp-gold-300); background:rgba(6,12,20,0.55); padding:4px 9px; border-radius:3px; border:1px solid var(--sp-line); }
.gd-splash .game-art .status{ position:absolute; bottom:12px; left:16px; font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:#bfe6c8; }
.gd-splash .game-body{ padding:20px 22px 22px; display:flex; flex-direction:column; gap:10px; flex:1; }
.gd-splash .game-body h3{ font-size:18px; }
.gd-splash .game-link{ display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; text-decoration:none; color:var(--sp-gold-500); margin-top:auto; }
.gd-splash .game-link svg{ width:14px; height:14px; }
.gd-splash .empty-note{ padding:32px; text-align:center; border:1px dashed var(--sp-line); border-radius:var(--sp-radius-m); color:var(--sp-ink-muted); }
@media (max-width:900px){ .gd-splash .games-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:620px){ .gd-splash .games-grid{ grid-template-columns:1fr; } }

/* MOMENTS DE JEU */
.gd-splash .moments-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.gd-splash .moment-card{ display:flex; flex-direction:column; gap:10px; }
.gd-splash .moment-thumb{ height:100px; border-radius:var(--sp-radius-m); background:linear-gradient(135deg, var(--nc1), var(--nc2)); position:relative; overflow:hidden; border:1px solid var(--sp-line-soft); }
.gd-splash .moment-thumb svg{ position:absolute; right:12px; bottom:10px; width:32px; height:32px; opacity:.9; color: rgba(255,255,255,.85); }
.gd-splash .moment-thumb img{ position:absolute; right:12px; bottom:10px; width:36px; height:36px; object-fit:contain; opacity:.95; }
.gd-splash .moment-card h3{ font-size:15px; line-height:1.35; }
.gd-splash .moment-card p{ margin:0; font-size:12.5px; color:var(--sp-ink-muted); line-height:1.5; }
.gd-splash .moment-cat{ font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--sp-gold-500); border-top:1px solid var(--sp-line); padding-top:8px; margin-top:2px; }
/* 2 colonnes sous 1200px, comme dans l'espace connecté (.is-app) */
@media (max-width:1200px){ .gd-splash .moments-grid{ grid-template-columns:1fr 1fr; row-gap:36px; } }
@media (max-width:560px){ .gd-splash .moments-grid{ grid-template-columns:1fr; } }

/* Espace connecté : le contenu vit dans la colonne centrale (#ccenter), plus étroite */
.gd-splash.is-app{ margin:0 -12px 24px; border-radius:var(--sp-radius-m); overflow:hidden; border:1px solid var(--sp-line); }
.gd-splash.is-app .sp-inner{ padding:0 28px; }
.gd-splash.is-app .hero{ padding-top:48px; }
.gd-splash.is-app .hero .sp-inner{ padding-bottom:44px; }
.gd-splash.is-app .hero-visual{ height:380px; }
.gd-splash.is-app .section-pad{ padding:56px 0; }
@media (max-width:1200px){
  .gd-splash.is-app .hero .sp-inner{ grid-template-columns:1fr; }
  .gd-splash.is-app .hero-visual{ height:300px; order:-1; }
  .gd-splash.is-app .steps-row, .gd-splash.is-app .moments-grid{ grid-template-columns:1fr 1fr; row-gap:36px; }
  .gd-splash.is-app .step::after{ display:none; }
  .gd-splash.is-app .games-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:620px){
  .gd-splash.is-app .steps-row, .gd-splash.is-app .moments-grid, .gd-splash.is-app .games-grid{ grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce){ .gd-splash .sp-btn, .gd-splash .game-card{ transition:none; } }

/* ============ SOUTENIR LE SITE (help.php) ============ */
.gd-splash .pay-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; align-items:stretch; }
.gd-splash .pay-card{ background:var(--sp-paper-raised); border:1px solid var(--sp-line); border-radius:var(--sp-radius-m); box-shadow:var(--sp-shadow-card); display:flex; flex-direction:column; overflow:hidden; }
.gd-splash .pay-card.is-featured{ border-color:var(--sp-gold-500); }
.gd-splash .pay-head{ padding:22px 24px 18px; border-bottom:1px solid var(--sp-line); display:flex; align-items:center; gap:14px; }
.gd-splash .pay-head svg{ flex:none; width:24px; height:24px; color:var(--sp-gold-300); }
.gd-splash .pay-head h3{ font-size:18px; }
.gd-splash .pay-head .eyebrow{ font-size:10px; margin-top:3px; display:block; }
.gd-splash .pay-body{ padding:20px 24px 24px; display:flex; flex-direction:column; gap:14px; flex:1; font-size:13.5px; color:var(--sp-ink-muted); }
.gd-splash .pay-body p{ margin:0; }
.gd-splash .pay-body strong{ color:var(--sp-ink); font-weight:600; }
.gd-splash .pay-note{ margin-top:auto; padding-top:14px; border-top:1px solid var(--sp-line); font-size:12px; color:var(--sp-ink-muted); }
.gd-splash .pay-amount{ display:flex; align-items:stretch; max-width:180px; margin:4px auto 0; border:1px solid var(--sp-line); border-radius:var(--sp-radius-s); overflow:hidden; background:var(--sp-paper); }
.gd-splash .pay-amount input{ flex:1; min-width:0; border:none; background:transparent; color:var(--sp-ink); font:inherit; font-size:18px; font-weight:600; text-align:right; padding:10px 12px; font-variant-numeric:tabular-nums; }
.gd-splash .pay-amount input:focus{ outline:none; }
.gd-splash .pay-amount:focus-within{ outline:2px solid var(--sp-gold-500); outline-offset:1px; }
.gd-splash .pay-amount span{ display:flex; align-items:center; padding:0 14px; background:var(--sp-paper-sunken); color:var(--sp-gold-300); font-weight:600; border-left:1px solid var(--sp-line); }
.gd-splash .pay-credits{ text-align:center; font-size:12.5px; }
.gd-splash .pay-credits b{ color:var(--sp-gold-300); font-variant-numeric:tabular-nums; }
.gd-splash .pay-paypal{ background:#fff; border-radius:var(--sp-radius-s); padding:12px 12px 4px; min-height:60px; }
.gd-splash .pay-details{ margin:0; display:grid; grid-template-columns:auto 1fr; gap:6px 14px; font-size:12.5px; }
.gd-splash .pay-details dt{ color:var(--sp-ink-muted); font-weight:400; }
.gd-splash .pay-details dd{ margin:0; color:var(--sp-ink); font-variant-numeric:tabular-nums; word-break:break-word; }
.gd-splash .pay-address{ font-style:normal; color:var(--sp-ink); line-height:1.55; padding:12px 14px; background:var(--sp-paper-sunken); border-radius:var(--sp-radius-s); border:1px solid var(--sp-line); }
@media (max-width:1200px){ .gd-splash .pay-grid{ grid-template-columns:1fr 1fr; } .gd-splash .pay-card.is-featured{ grid-column:1 / -1; } }
@media (max-width:720px){ .gd-splash .pay-grid{ grid-template-columns:1fr; } }

/* hero sans visuel (globe) : une seule colonne */
.gd-splash .hero.is-single .sp-inner{ grid-template-columns:minmax(0,1fr); }
.gd-splash .hero.is-single .hero-lede{ max-width:68ch; }

/* ============ LISTES (joueurs, ... : contenus ajax de xml.php) ============ */
.gd-splash .sp-compact.section-pad{ padding:40px 0; }
.gd-splash .sp-search{ display:flex; gap:10px; align-items:stretch; flex-wrap:wrap; }
.gd-splash .sp-search input{ min-width:220px; font:inherit; font-size:14px; padding:10px 14px; border:1px solid var(--sp-line); border-radius:var(--sp-radius-s); background:var(--sp-paper); color:var(--sp-ink); }
.gd-splash .sp-search input:focus{ outline:2px solid var(--sp-gold-500); outline-offset:1px; }
.gd-splash .sp-search .sp-btn{ padding:10px 18px; }

.gd-splash .sp-table-wrap{ overflow-x:auto; border:1px solid var(--sp-line); border-radius:var(--sp-radius-m); background:var(--sp-paper-raised); box-shadow:var(--sp-shadow-card); }
.gd-splash .sp-table{ width:100%; border-collapse:collapse; font-size:13.5px; }
.gd-splash .sp-table th{ text-align:left; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; font-weight:600; color:var(--sp-gold-500); padding:14px 18px; border-bottom:1px solid var(--sp-line); background:var(--sp-navy-900); white-space:nowrap; }
.gd-splash .sp-table td{ padding:12px 18px; border-bottom:1px solid var(--sp-line-soft); vertical-align:middle; color:var(--sp-ink); }
.gd-splash .sp-table tbody tr:last-child td{ border-bottom:none; }
.gd-splash .sp-table tbody tr:hover td{ background:rgba(255,255,255,0.03); }
.gd-splash .sp-col-rank{ width:1%; text-align:right; color:var(--sp-ink-muted); }
.gd-splash .sp-muted{ color:var(--sp-ink-muted); white-space:nowrap; }
.gd-splash .sp-player{ display:flex; align-items:center; gap:12px; }
.gd-splash .sp-avatar{ width:36px; height:36px; border-radius:50%; object-fit:cover; border:1px solid var(--sp-line); background:var(--sp-paper-sunken); flex:none; }
.gd-splash .sp-status{ width:auto; height:16px; flex:none; }
.gd-splash .sp-player-name, .gd-splash .sp-link{ color:var(--sp-ink); font-weight:600; text-decoration:none; }
.gd-splash .sp-player-name:hover, .gd-splash .sp-link:hover{ color:var(--sp-gold-300); }
.gd-splash .sp-link{ font-weight:400; }
.gd-splash .sp-badge{ font-size:9.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--sp-gold-300); border:1px solid var(--sp-gold-500); border-radius:3px; padding:2px 6px; }

.gd-splash .sp-pager{ display:flex; justify-content:center; margin:18px 0; }
.gd-splash .sp-pager .pagination{ display:flex; flex-wrap:wrap; gap:6px; list-style:none; margin:0; padding:0; }
.gd-splash .sp-pager .page-link{ display:inline-flex; align-items:center; justify-content:center; min-width:36px; height:36px; padding:0 10px; border:1px solid var(--sp-line); border-radius:var(--sp-radius-s); background:var(--sp-paper-raised); color:var(--sp-ink); font-size:13px; font-variant-numeric:tabular-nums; text-decoration:none; }
.gd-splash .sp-pager a.page-link:hover{ border-color:var(--sp-gold-300); color:var(--sp-gold-300); }
.gd-splash .sp-pager .active .page-link{ background:var(--sp-gold-500); border-color:var(--sp-gold-500); color:var(--sp-gold-ink); font-weight:600; }
.gd-splash .sp-pager .disabled .page-link{ opacity:.45; }

/* ============ CARTES GÉNÉRIQUES ============ */
.gd-splash .sp-card{ background:var(--sp-paper-raised); border:1px solid var(--sp-line); border-radius:var(--sp-radius-m); box-shadow:var(--sp-shadow-card); overflow:hidden; }
.gd-splash .sp-card + .sp-card{ margin-top:22px; }
.gd-splash .sp-card-head{ padding:16px 22px; border-bottom:1px solid var(--sp-line); display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.gd-splash .sp-card-head h3{ font-size:16px; }
.gd-splash .sp-card-body{ padding:18px 22px 20px; font-size:13.5px; }
.gd-splash .sp-table-wrap.is-flat{ border:none; border-radius:0; box-shadow:none; }
.gd-splash .sp-subhead{ font-size:10.5px; margin:4px 0 10px; }
.gd-splash .sp-subhead:not(:first-child){ margin-top:22px; }

.gd-splash .sp-btn-sm{ padding:7px 12px; font-size:11.5px; }
.gd-splash .sp-btn-danger{ background:transparent; border-color:#7a2f36; color:#f3a6ad; }
.gd-splash .sp-btn-danger:hover{ background:#7a2f36; color:#fff; }

/* ============ FICHE JOUEUR (xml.php act=detail) ============ */
.gd-splash .sp-detail-grid{ display:grid; grid-template-columns:minmax(0,2fr) minmax(260px,1fr); gap:24px; align-items:start; }
.gd-splash .sp-detail-side .sp-card + .sp-card{ margin-top:22px; }
@media (max-width:1100px){ .gd-splash .sp-detail-grid{ grid-template-columns:1fr; } }

.gd-splash .hero.sp-profile-hero{ padding-top:24px; }
.gd-splash .hero.sp-profile-hero .sp-inner{ display:block; padding-bottom:32px; }
.gd-splash .sp-profile-top{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:22px; flex-wrap:wrap; }
.gd-splash .sp-back{ font-size:12.5px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--sp-ink-muted); text-decoration:none; }
.gd-splash .sp-back:hover{ color:var(--sp-gold-300); }
.gd-splash .sp-actions{ display:flex; gap:8px; }
.gd-splash .sp-icon-btn{ width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; border:1px solid var(--sp-line); background:transparent; color:var(--sp-ink); cursor:pointer; transition:border-color .15s ease, color .15s ease; }
.gd-splash .sp-icon-btn:hover{ border-color:var(--sp-gold-300); color:var(--sp-gold-300); }
.gd-splash .sp-icon-btn.is-ok:hover{ border-color:#34d399; color:#34d399; }
.gd-splash .sp-icon-btn.is-warn:hover{ border-color:#f59e0b; color:#f59e0b; }
.gd-splash .sp-icon-btn.is-danger:hover{ border-color:#f87171; color:#f87171; }
.gd-splash .sp-profile-id{ display:flex; align-items:center; gap:22px; }
.gd-splash .sp-profile-avatar{ width:84px; height:84px; border-radius:50%; object-fit:cover; border:2px solid var(--sp-gold-500); background:var(--sp-paper-sunken); flex:none; }
.gd-splash .sp-profile-hero .hero-eyebrow{ margin-bottom:10px; }
.gd-splash .sp-profile-hero h1{ font-size:clamp(26px,3.4vw,38px); display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.gd-splash .sp-profile-hero h1 .sp-status{ height:22px; }
.gd-splash .sp-profile-name{ margin-top:6px; color:var(--sp-ink-muted); }
.gd-splash .sp-profile-hero .hero-meta{ margin-top:28px; padding-top:20px; }
.gd-splash .hero-meta b sup{ font-size:.55em; margin-left:1px; }
.gd-splash .sp-votes{ display:flex !important; gap:14px; }
.gd-splash .sp-votes .is-up{ color:#34d399; }
.gd-splash .sp-votes .is-down{ color:#f87171; }

.gd-splash .sp-list{ list-style:none; margin:0; padding:0; }
.gd-splash .sp-list-item{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; border-top:1px solid var(--sp-line-soft); }
.gd-splash .sp-list-item:first-child{ border-top:none; padding-top:2px; }
.gd-splash .sp-list-main{ min-width:0; display:flex; flex-direction:column; gap:4px; }
.gd-splash .sp-list-actions{ display:flex; gap:8px; flex:none; }
.gd-splash .sp-link-strong{ color:var(--sp-ink); font-weight:600; text-decoration:none; }
.gd-splash .sp-link-strong:hover{ color:var(--sp-gold-300); }
.gd-splash .sp-rank{ margin-left:6px; font-size:11px; font-weight:600; color:var(--sp-gold-300); border:1px solid var(--sp-line); border-radius:3px; padding:1px 6px; white-space:nowrap; }
.gd-splash .sp-ratings{ display:flex; gap:18px; flex-wrap:wrap; font-size:12px; color:var(--sp-ink-muted); }
.gd-splash .sp-ratings label{ margin:0; font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; }
.gd-splash .sp-ratings .fa{ color:var(--sp-gold-500); font-size:12px; }
@media (max-width:620px){ .gd-splash .sp-list-item{ flex-direction:column; align-items:flex-start; } }

.gd-splash .sp-note{ border-left:3px solid var(--sp-ink-muted); }
.gd-splash .sp-note.is-success{ border-left-color:#34d399; }
.gd-splash .sp-note.is-info{ border-left-color:#60a5fa; }
.gd-splash .sp-note.is-warning{ border-left-color:#f59e0b; }
.gd-splash .sp-note.is-danger{ border-left-color:#f87171; }
.gd-splash .sp-note .sp-card-head span{ font-size:12px; }

.gd-splash .sp-meters{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.gd-splash .sp-meter-label{ display:flex; justify-content:space-between; font-size:12.5px; margin-bottom:6px; color:var(--sp-ink-muted); }
.gd-splash .sp-meter-label b{ color:var(--sp-ink); font-weight:600; }
.gd-splash .sp-meter{ height:6px; border-radius:3px; background:var(--sp-paper-sunken); overflow:hidden; }
.gd-splash .sp-meter span{ display:block; height:100%; border-radius:3px; background:linear-gradient(90deg, var(--sp-gold-500), var(--sp-gold-300)); }

.gd-splash .sp-inline-form{ display:flex; gap:10px; align-items:center; }
.gd-splash .sp-inline-form .form-select{ flex:1; min-width:0; }

/* ============ CLASSEMENTS (xml.php act=best|dead|countrybest|countrydead) ============ */
.gd-splash .sp-intro{ margin-top:10px; font-size:13.5px; }
.gd-splash .sp-tabs{ display:flex; flex-wrap:wrap; gap:8px; margin:-12px 0 24px; }
.gd-splash .sp-tab{ padding:8px 14px; border:1px solid var(--sp-line); border-radius:999px; font-size:12px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--sp-ink-muted); text-decoration:none; transition:border-color .15s ease, color .15s ease; }
.gd-splash .sp-tab:hover{ border-color:var(--sp-gold-300); color:var(--sp-gold-300); }
.gd-splash .sp-tab.is-active{ background:var(--sp-gold-500); border-color:var(--sp-gold-500); color:var(--sp-gold-ink); }
.gd-splash .sp-table th.text-end, .gd-splash .sp-table td.text-end{ text-align:right; }
.gd-splash .sp-sort{ color:inherit; text-decoration:none; }
.gd-splash .sp-sort:hover{ color:var(--sp-gold-300); }
.gd-splash .sp-sort.is-active{ color:var(--sp-gold-300); }
.gd-splash .sp-table tbody tr:nth-child(-n+3) .sp-col-rank{ color:var(--sp-gold-300); font-weight:700; }

/* ============ ADMINISTRATION (admin.php, admin_staff.php, admin_ip.php) ============ */
.gd-splash .sp-detail-grid.sp-grid-even{ grid-template-columns:repeat(2, minmax(0,1fr)); }
.gd-splash .sp-detail-grid.sp-grid-even .sp-card + .sp-card{ margin-top:0; }
@media (max-width:900px){ .gd-splash .sp-detail-grid.sp-grid-even{ grid-template-columns:1fr; } }
.gd-splash .sp-search-block{ margin-bottom:24px; }
.gd-splash .sp-search-block input{ flex:1; max-width:420px; }
.gd-splash .sp-badge-danger{ color:#f87171; border-color:#f87171; margin-left:6px; }
.gd-splash .sp-list-item .sp-player{ min-width:0; }
.gd-splash .sp-card .alert{ margin:0; }

/* ============ INSCRIPTION À UNE PARTIE (join_pack.php) ============ */
.gd-splash .sp-pack-icon{ width:40px; height:40px; object-fit:contain; flex:none; }
.gd-splash .sp-pack-desc{ font-size:13px; color:var(--sp-ink-muted); padding:12px 14px; background:var(--sp-paper-sunken); border:1px solid var(--sp-line); border-radius:var(--sp-radius-s); }
.gd-splash .sp-pack-desc p:last-child{ margin-bottom:0; }
.gd-splash .pay-card.is-disabled{ opacity:.5; }
.gd-splash .pay-note form{ margin:0; }
.gd-splash .pay-note .sp-btn{ width:100%; justify-content:center; }

/* ============ MENTIONS LÉGALES (licence.php) ============ */
.gd-splash .sp-legal{ font-size:14px; line-height:1.7; color:var(--sp-ink); padding:28px 32px; }
.gd-splash .sp-legal h3{ font-size:16px; margin:26px 0 10px; color:var(--sp-gold-300); }
.gd-splash .sp-legal h3:first-child{ margin-top:0; }
.gd-splash .sp-legal p{ margin:0 0 10px; color:var(--sp-ink-muted); }
.gd-splash .sp-legal ul{ margin:0 0 12px; padding-left:20px; color:var(--sp-ink-muted); }
.gd-splash .sp-legal li{ margin-bottom:4px; }
.gd-splash .sp-legal a{ color:var(--sp-gold-300); }
.gd-splash .sp-legal-agree{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.gd-splash .sp-legal-agree p{ margin:0; }

/* ============ PERFORMANCE PAR PAYS (xml.php act=countrystat) ============ */
.gd-splash .hero-meta.sp-stats{ margin:0 0 24px; padding-top:0; border-top:none; }
.gd-splash .sp-rank-best{ color:var(--sp-gold-ink); background:var(--sp-gold-500); border-color:var(--sp-gold-500); }
.gd-splash .sp-rank-dead{ color:#f87171; border-color:#7a2f36; }
.gd-splash .sp-search .form-select{ min-width:220px; }

/* ============ FAQ (xml.php act=faq) ============ */
.gd-splash .sp-faq{ display:flex; flex-direction:column; gap:12px; }
.gd-splash .sp-faq-item{ background:var(--sp-paper-raised); border:1px solid var(--sp-line); border-radius:var(--sp-radius-m); box-shadow:var(--sp-shadow-card); overflow:hidden; }
.gd-splash .sp-faq-item[open]{ border-color:var(--sp-gold-500); }
.gd-splash .sp-faq-item summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:14px; padding:16px 22px; font-weight:600; color:var(--sp-ink); }
.gd-splash .sp-faq-item summary::-webkit-details-marker{ display:none; }
.gd-splash .sp-faq-item summary::after{ content:"+"; margin-left:auto; font-size:20px; line-height:1; color:var(--sp-gold-300); transition:transform .15s ease; }
.gd-splash .sp-faq-item[open] summary::after{ transform:rotate(45deg); }
.gd-splash .sp-faq-item summary:hover .sp-faq-question{ color:var(--sp-gold-300); }
.gd-splash .sp-faq-item summary:focus-visible{ outline:2px solid var(--sp-gold-500); outline-offset:-2px; }
.gd-splash .sp-faq-num{ flex:none; width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; border:1px solid var(--sp-line); font-size:12px; color:var(--sp-gold-300); }
.gd-splash .sp-faq-answer{ padding:0 22px 20px 64px; font-size:14px; line-height:1.7; color:var(--sp-ink-muted); }
@media (max-width:620px){ .gd-splash .sp-faq-answer{ padding-left:22px; } }

/* ============ CAPTURES D'ÉCRAN (xml.php act=screenshot) ============ */
.gd-splash .sp-shots{ outline:none; }
.gd-splash .sp-shots:focus-visible .sp-shot-stage{ outline:2px solid var(--sp-gold-500); outline-offset:2px; }
.gd-splash .sp-shot-stage{ position:relative; margin:0; background:#060c14; border:1px solid var(--sp-line); border-radius:var(--sp-radius-m); box-shadow:var(--sp-shadow-card); overflow:hidden; }
.gd-splash .sp-shot-link{ display:flex; align-items:center; justify-content:center; height:min(62vh, 560px); cursor:zoom-in; }
.gd-splash .sp-shot-image{ max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.gd-splash .sp-shot-nav{ position:absolute; top:calc(50% - 40px); width:44px; height:44px; display:flex; align-items:center; justify-content:center; border-radius:50%; border:1px solid var(--sp-line); background:rgba(11,20,36,0.78); color:var(--sp-ink); cursor:pointer; transition:border-color .15s ease, color .15s ease; }
.gd-splash .sp-shot-nav svg{ width:20px; height:20px; }
.gd-splash .sp-shot-nav:hover{ border-color:var(--sp-gold-300); color:var(--sp-gold-300); }
.gd-splash .sp-shot-nav.is-prev{ left:14px; }
.gd-splash .sp-shot-nav.is-next{ right:14px; }
.gd-splash .sp-shot-caption{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 20px; border-top:1px solid var(--sp-line); background:var(--sp-paper-raised); }
.gd-splash .sp-shot-title{ font-weight:600; color:var(--sp-ink); }
.gd-splash .sp-shot-count{ font-size:12px; letter-spacing:.06em; color:var(--sp-gold-300); white-space:nowrap; }
.gd-splash .sp-shot-thumbs{ display:flex; gap:10px; margin-top:14px; padding-bottom:6px; overflow-x:auto; scrollbar-width:thin; }
.gd-splash .sp-shot-thumb{ flex:none; width:120px; height:76px; padding:0; border:2px solid transparent; border-radius:var(--sp-radius-s); background:var(--sp-paper-sunken); overflow:hidden; cursor:pointer; opacity:.6; transition:opacity .15s ease, border-color .15s ease; }
.gd-splash .sp-shot-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.gd-splash .sp-shot-thumb:hover{ opacity:1; }
.gd-splash .sp-shot-thumb.is-active{ opacity:1; border-color:var(--sp-gold-500); }
@media (max-width:620px){ .gd-splash .sp-shot-link{ height:44vh; } .gd-splash .sp-shot-nav{ width:36px; height:36px; } }

/* ============ DONATEUR : icône ⭐ (accueil joueur, liste et fiche joueur) ============ */
.gd-splash .sp-donor{ display:inline-flex; align-items:center; justify-content:center; font-size:1em; line-height:1; cursor:help; filter:drop-shadow(0 0 4px rgba(240,201,107,0.45)); }
.gd-splash .sp-profile-hero h1 .sp-donor{ font-size:.7em; }

/* ============ DÉTAIL D'UNE PARTIE (xml.php act=info) ============ */
.gd-splash .sp-profile-hero h1 small{ font-size:.5em; color:var(--sp-ink-muted); }
.gd-splash .hero-meta b small{ font-size:.6em; color:var(--sp-ink-muted); font-weight:400; }
.gd-splash .sp-game-notice{ margin:18px 0 0; }
.gd-splash .sp-game-actions{ margin-top:26px; }
.gd-splash .sp-btn[disabled]{ opacity:.7; cursor:not-allowed; }
.gd-splash .sp-flags{ display:grid; grid-template-columns:repeat(auto-fill, minmax(110px, 1fr)); gap:10px; }
.gd-splash .sp-flag{ display:flex; flex-direction:column; align-items:center; gap:8px; padding:12px 8px; border:1px solid var(--sp-line-soft); border-radius:var(--sp-radius-s); background:var(--sp-paper-sunken); text-decoration:none; color:var(--sp-ink); font-size:11.5px; font-weight:600; text-align:center; line-height:1.25; transition:border-color .15s ease, color .15s ease; }
.gd-splash .sp-flag img{ height:28px; width:auto; max-width:48px; object-fit:contain; box-shadow:0 1px 3px rgba(0,0,0,.5); }
.gd-splash .sp-flag:hover{ border-color:var(--sp-gold-300); color:var(--sp-gold-300); }
.gd-splash .sp-flag.is-dead{ opacity:.45; filter:grayscale(1); }
.gd-splash .sp-flag.is-dead span{ text-decoration:line-through; }

/* ============ MESSAGES ET CONNEXION (index.php : tpl/index/content.html.twig) ============ */
.gd-splash .sp-message{ border-left:3px solid var(--sp-line); }
.gd-splash .sp-message.is-success{ border-left-color:#34d399; }
.gd-splash .sp-message.is-danger{ border-left-color:#f87171; }
.gd-splash .sp-message .sp-card-body{ font-size:14.5px; line-height:1.7; color:var(--sp-ink); }
.gd-splash .sp-message p:last-child{ margin-bottom:0; }
.gd-splash .sp-errors{ margin:8px 0 0; padding-left:18px; color:#fecaca; font-size:13.5px; }
.gd-splash .sp-login-form{ display:flex; flex-direction:column; gap:8px; }
.gd-splash .sp-login-form .form-label{ margin:6px 0 0; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--sp-ink-muted); }
.gd-splash .sp-login-form .sp-btn{ margin-top:12px; justify-content:center; }
.gd-splash .sp-login-foot{ margin:14px 0 0; font-size:12.5px; text-align:center; }

/* vignette "moment de jeu" avec photo : fond (dégradé + photo) écrit dans le template (url relative à la page) */
.gd-splash .moment-thumb.has-photo img, .gd-splash .moment-thumb.has-photo svg{ filter:drop-shadow(0 1px 3px rgba(0,0,0,.55)); }


/* ============ DOCUMENTATION > LES PAYS (xml.php act=country, fragment HTML du serveur de doc) ============ */
.gd-splash .sp-external{ color:var(--sp-ink); font-size:13.5px; }
.gd-splash .sp-external .sp-card-body{ overflow-x:auto; }
.gd-splash .sp-external table{ width:100% !important; border-collapse:separate; border-spacing:0; margin:0 0 20px; border:none !important; float:none !important; }
.gd-splash .sp-external th, .gd-splash .sp-external td{ padding:8px 10px; border-bottom:1px solid var(--sp-line); vertical-align:middle; }
.gd-splash .sp-external .thead{ background:rgba(255,255,255,.04); color:var(--sp-ink-muted); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; text-align:center; }
.gd-splash .sp-external .tdata, .gd-splash .sp-external .txt{ color:var(--sp-ink); font-variant-numeric:tabular-nums; }
.gd-splash .sp-external .txtb{ font-weight:600; color:var(--sp-ink); }
.gd-splash .sp-external .txtb:has(> img[src*="/flag/"]){ font-size:22px; }
.gd-splash .sp-external .txtb img[src*="/flag/"]{ height:36px; width:auto; vertical-align:middle; margin-right:10px; border-radius:3px; box-shadow:0 2px 6px rgba(0,0,0,.5); }
.gd-splash .sp-external .title{ margin:28px 0 12px; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.08em; color:var(--sp-gold-300); }
.gd-splash .sp-external td.title{ margin:0; padding-top:14px; }
.gd-splash .sp-external th:empty, .gd-splash .sp-external th:only-child[colspan]:not(.thead){ border:none; padding:4px; }
.gd-splash .sp-external a, .gd-splash .sp-external a.link{ color:var(--sp-gold-300); text-decoration:none; }
.gd-splash .sp-external a:hover{ text-decoration:underline; }
.gd-splash .sp-external-foot{ padding:16px 24px; border-top:1px solid var(--sp-line); display:flex; justify-content:flex-end; }
.gd-splash .sp-external img{ display:inline-block; vertical-align:middle; }

/* ============ ACCUEIL : « Les dernières parties » sous « Les parties en cours » ============ */
.gd-splash .sp-last-games{ margin-top:56px; }

/* sous-onglets d'une page d'administration (Lettre d'information : Rédaction / Envoyées) */
.gd-splash .sp-subtabs{ margin-top:-8px; margin-bottom:20px; }
