/* =========================================================
   Ça Flippe – Admin Classement (5x3, style arcade)
   Fichier : assets/css/classement-flip-admin.css
   Police Orbitron chargée côté PHP (admin_enqueue_scripts)
   ========================================================= */

:root {
  --ca-bg: #0b0f1a;
  --ca-panel: #11162a;
  --ca-panel-2: #0d1224;
  --ca-neon: #ff7b00;         /* orange */
  --ca-neon-2: #ffd54a;       /* jaune */
  --ca-cyan: #00f0ff;
  --ca-magenta: #ff2ea6;
  --ca-green: #a0ff2e;
  --ca-white: #eef2ff;
  --ca-muted: #a8b0c9;
  --ca-line: rgba(255,255,255,.08);
  --ca-win: #122a11;
  --ca-gold: #f8e56a;
  --radius-xl: 18px;
  --radius-md: 12px;
  --shadow-outer: 0 10px 30px rgba(0,0,0,.35);
  --shadow-inner: inset 0 1px 0 rgba(255,255,255,.06), inset 0 -1px 0 rgba(0,0,0,.35);
  --gap: 18px;
  --cell-pad: 10px 12px;
}

/* Conteneur admin WordPress */
.wrap {
  max-width: 1920px;
}

/* Titre principal */
.wrap > h1 {
  font-family: 'Orbitron', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  letter-spacing: .5px;
  font-weight: 900;
  margin-bottom: 14px;
}

/* Fond global du bloc classement */
.ca-flippe-classement {
  background: linear-gradient(180deg, var(--ca-bg), #0a0e18 40%, #09101c 100%);
  border-radius: var(--radius-xl);
  padding: 16px;
  box-shadow: var(--shadow-outer);
  border: 1px solid var(--ca-line);
}

/* ====== GRILLE 5 colonnes / 3 rangées ====== */
.ca-flippe-classement {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-auto-rows: 1fr;
  gap: var(--gap);
}

/* Carte / panneau de chaque flipper */
.classement-box {
  background:
    radial-gradient(120% 90% at 10% 0%, rgba(255,123,0,.16) 0 30%, transparent 70%),
    radial-gradient(120% 90% at 100% 100%, rgba(0,240,255,.10) 0 25%, transparent 65%),
    linear-gradient(180deg, var(--ca-panel), var(--ca-panel-2));
  border-radius: var(--radius-xl);
  border: 1px solid var(--ca-line);
  box-shadow: var(--shadow-inner), var(--shadow-outer);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 280px; /* garde une bonne lisibilité */
}

/* Ruban titre */
.classement-box > h2 {
  margin: 0;
  padding: 12px 16px;
  background:
    linear-gradient(90deg, rgba(255,123,0,.25), rgba(255,213,74,.2) 40%, transparent 90%);
  border-bottom: 1px solid var(--ca-line);
  color: var(--ca-white);
  font-family: 'Orbitron', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-weight: 800;
  letter-spacing: .3px;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Petit “bumper” décoratif */
.classement-box > h2::before {
  content: '';
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 35%, #fff 0 25%, #ffe48a 26% 55%, #ff7b00 56% 100%);
  box-shadow: 0 0 8px rgba(255,123,0,.6), 0 0 16px rgba(255,213,74,.35);
}

/* Table */
.classement-table {
  width: 100%;
  border-collapse: collapse;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  color: var(--ca-white);
  font-size: 13px;
  line-height: 1.3;
}

.classement-table thead th {
  text-align: left;
  padding: 8px 12px;
  color: var(--ca-muted);
  border-bottom: 1px solid var(--ca-line);
  font-weight: 700;
  letter-spacing: .2px;
}

.classement-table tbody td {
  padding: var(--cell-pad);
  border-bottom: 1px dashed var(--ca-line);
  vertical-align: top;
}

.classement-table tbody tr:last-child td {
  border-bottom: 0;
}

/* Rang #1 mis en avant */
.classement-table tbody tr:first-child {
  background: linear-gradient(180deg, rgba(18,42,17,.65), rgba(9,18,12,.35));
}
.classement-table tbody tr:first-child td {
  border-bottom-color: rgba(160,255,46,.25);
}
.classement-table tbody tr:first-child td:nth-child(2) a {
  color: var(--ca-gold);
  text-shadow: 0 0 8px rgba(248,229,106,.35);
  font-weight: 800;
}

/* Colonne # */
.classement-table tbody td:first-child {
  width: 34px;
  color: var(--ca-muted);
  font-weight: 700;
}

/* Liens */
.classement-table a {
  color: var(--ca-cyan);
  text-decoration: none;
  border-bottom: 1px dashed rgba(0,240,255,.35);
}
.classement-table a:hover {
  color: #9af6ff;
  border-bottom-color: rgba(154,246,255,.65);
}

/* Bloc participant (nom + email + heure) */
.participant-info a {
  font-weight: 700;
  color: var(--ca-white);
  border-bottom-color: rgba(255,255,255,.18);
}
.participant-info small {
  color: var(--ca-muted);
}

/* Cellule N.C */
.classement-table td[colspan="2"],
.classement-table td:has(> em.nc),
.classement-table td:empty {
  color: var(--ca-muted);
}

/* Effets bordure néon douce */
.classement-box::after {
  content: '';
  position: absolute; inset: 0;
  pointer-events: none;
  border-radius: var(--radius-xl);
  box-shadow:
    inset 0 0 0 1px rgba(255,123,0,.12),
    inset 0 0 0 2px rgba(255,213,74,.06);
}

/* ====== RESPONSIVE ====== */

/* 4 colonnes (≥ 1500px → 5, sinon 4) */
@media (max-width: 1500px) {
  .ca-flippe-classement { grid-template-columns: repeat(4, 1fr); }
}

/* 3 colonnes */
@media (max-width: 1200px) {
  .ca-flippe-classement { grid-template-columns: repeat(3, 1fr); }
}

/* 2 colonnes */
@media (max-width: 980px) {
  .ca-flippe-classement { grid-template-columns: repeat(2, 1fr); }
}

/* 1 colonne */
@media (max-width: 680px) {
  .ca-flippe-classement { grid-template-columns: 1fr; }
}

/* Améliorations lisibilité petits écrans */
@media (max-width: 900px) {
  .classement-table { font-size: 12.5px; }
  .classement-box { min-height: 240px; }
}

/* Impression : fond neutre et lisible */
@media print {
  .ca-flippe-classement {
    background: #fff !important;
    box-shadow: none;
    border: 0;
  }
  .classement-box {
    background: #fff !important;
    box-shadow: none;
    border: 1px solid #ddd;
  }
  .classement-box > h2 {
    background: #f7f7f7 !important;
    color: #222 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .classement-table thead th,
  .classement-table tbody td {
    color: #000 !important;
    border-color: #ddd !important;
  }
}
/* --- Tables : plus de cadre blanc, seulement des séparateurs de lignes --- */
.ca-flippe-classement .classement-table{
  width: 100%;
  border: 0 !important;
  background: transparent !important;
  border-collapse: collapse;   /* pas d’espace entre cellules */
  border-spacing: 0;
  box-shadow: none !important;
  outline: none !important;
}

/* En-tête sans bordure externe */
.ca-flippe-classement .classement-table thead th{
  border: 0 !important;
  background: transparent;
}

/* Corps : pas de bordures de cellules */
.ca-flippe-classement .classement-table tbody td{
  border: 0 !important;
}

/* Trait sous l’en‑tête (optionnel) */
.ca-flippe-classement .classement-table thead tr{
  border-bottom: 1px solid rgba(255,255,255,.18);
}

/* Séparateurs horizontaux entre rangs uniquement */
.ca-flippe-classement .classement-table tbody tr + tr{
  border-top: 1px solid rgba(255,255,255,.12);
}