/* ============================================================
   roundnet-shortcodes.css — v2.1
   Bordures fusionnées (border-collapse enforced)
   ============================================================ */

.rnf-sc-wrap { margin: 1.5rem 0; }

/* Conteneur scroll */
.rnf-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    box-shadow: 0 1px 6px rgba(0,0,0,.06);
}

/* ════ BASE COMMUNE — forcer border-collapse ════ */
table.rnf-cal-table,
table.rnf-clubs-table,
table.rnf-ranking-table {
    width: 100%;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    font-size: 13px;
}

/* Annuler TOUS les borders/shadow du thème sur ces tables */
table.rnf-cal-table,    table.rnf-cal-table *,
table.rnf-clubs-table,  table.rnf-clubs-table *,
table.rnf-ranking-table,table.rnf-ranking-table * {
    box-shadow: none !important;
    outline: none !important;
}

/* Supprimer les bordures individuelles que Sydney met */
table.rnf-cal-table th,    table.rnf-cal-table td,
table.rnf-clubs-table th,  table.rnf-clubs-table td,
table.rnf-ranking-table th,table.rnf-ranking-table td {
    border: none !important;
    border-bottom: 1px solid #f0f0f0 !important;
    margin: 0 !important;
}

/* ── En-tête sombre ── */
table.rnf-cal-table thead tr,
table.rnf-clubs-table thead tr,
table.rnf-ranking-table thead tr { background: #111827 !important; }

table.rnf-cal-table thead th,
table.rnf-clubs-table thead th,
table.rnf-ranking-table thead th {
    padding: 13px 14px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .09em !important;
    color: rgba(255,255,255,.55) !important;
    text-align: left !important;
    white-space: nowrap !important;
    line-height: 1.3 !important;
    border-bottom: none !important;
    background: transparent !important;
}

/* ── Lignes body ── */
table.rnf-cal-table tbody tr,
table.rnf-clubs-table tbody tr,
table.rnf-ranking-table tbody tr {
    background: #fff !important;
    transition: background .1s;
}

table.rnf-cal-table tbody tr:hover,
table.rnf-clubs-table tbody tr:hover,
table.rnf-ranking-table tbody tr:hover {
    background: #f9fafb !important;
}

table.rnf-cal-table td,
table.rnf-clubs-table td,
table.rnf-ranking-table td {
    padding: 12px 14px !important;
    vertical-align: middle !important;
    color: #111827 !important;
    font-size: 13px !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

/* Dernière ligne sans bordure basse */
table.rnf-cal-table tbody tr:last-child td,
table.rnf-clubs-table tbody tr:last-child td,
table.rnf-ranking-table tbody tr:last-child td {
    border-bottom: none !important;
}

/* ── Lien ── */
.rnf-comp-link { font-weight: 700; color: #111827; text-decoration: none; }
.rnf-comp-link:hover { color: #e8654a; text-decoration: underline; }

/* ── Chips catégories ── */
.rnf-chip { display: inline-block; padding: 2px 7px; background: #f3f4f6; border: 1px solid #e5e7eb; border-radius: 4px; font-size: 11px; font-weight: 600; color: #374151; margin: 1px; white-space: nowrap; }
.rnf-chip--div { background: #fef9ee; border-color: #fcd34d; color: #92400e; }

/* ── Divisions ── */
.rnf-division-badge { display: inline-block; padding: 3px 8px; border-radius: 4px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; border: 1px solid transparent; }
.rnf-div--start                             { background: #ecfdf5; color: #065f46; border-color: #6ee7b7; }
.rnf-div--intermediaire, .rnf-div--interm-diaire { background: #eff6ff; color: #1d4ed8; border-color: #93c5fd; }
.rnf-div--avancee, .rnf-div--avanc-e       { background: #fef3c7; color: #92400e; border-color: #fcd34d; }
.rnf-div--elite                             { background: #111827; color: #fff;    border-color: #111827; }

/* ── Statuts ── */
.rnf-statut-badge { display: inline-block; padding: 3px 9px; border-radius: 999px; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; border: 1px solid transparent; }
.rnf-statut--confirme                       { background: #d1fae5; color: #065f46; border-color: #6ee7b7; }
.rnf-statut--a-confirmer, .rnf-statut--confirmer { background: #fef3c7; color: #92400e; border-color: #fcd34d; }
.rnf-statut--en-cours                       { background: #ede9fe; color: #5b21b6; border-color: #c4b5fd; }
.rnf-statut--termine                        { background: #f3f4f6; color: #6b7280; border-color: #d1d5db; }
.rnf-statut--annule                         { background: #fee2e2; color: #991b1b; border-color: #fca5a5; }
.rnf-statut--inscriptions-ouvertes          { background: #dbeafe; color: #1d4ed8; border-color: #93c5fd; }

/* Lignes atténuées */
table.rnf-cal-table tbody tr.rnf-statut--termine td  { color: #9ca3af !important; }
table.rnf-cal-table tbody tr.rnf-statut--annule td   { color: #d1d5db !important; text-decoration: line-through; }

.rnf-obs { font-size: 11px; color: #9ca3af; font-style: italic; }

/* ════ CALENDRIER ═════ */
table.rnf-cal-table { min-width: 860px; }
.col-num { width: 44px !important; text-align: center !important; }
.col-num strong { font-size: 14px; color: #6b7280; }
.col-date { white-space: nowrap; min-width: 100px; }
.col-date small { color: #9ca3af; display: block; }
.col-org { font-size: 12px; color: #6b7280; min-width: 160px; }

/* ════ CLUBS ══════════ */
table.rnf-clubs-table { min-width: 700px; }
.col-logo      { width: 56px !important; text-align: center !important; }
.col-membres, .col-licencies { width: 80px !important; text-align: center !important; }

.rnf-club-table-logo {
    width: 40px; height: 40px;
    border-radius: 8px;
    border: 2px solid;
    display: flex; align-items: center; justify-content: center;
    font-size: 12px; font-weight: 900;
    background: #f9fafb;
    overflow: hidden;
    margin: 0 auto;
}
.rnf-club-table-logo img { width: 100%; height: 100%; object-fit: cover; }
.rnf-card-email { font-size: 12px; font-weight: 600; color: #e8654a; text-decoration: none; white-space: nowrap; }
.rnf-card-email:hover { text-decoration: underline; }

/* ════ CLASSEMENT ═════ */
table.rnf-ranking-table { min-width: 540px; }
.col-rang  { width: 56px !important; text-align: center !important; }
.col-photo { width: 54px !important; text-align: center !important; }
.col-pts   { text-align: right !important; min-width: 90px; }
.col-div   { min-width: 100px; }

.row-or     { background: #fffbeb !important; }
.row-argent { background: #f8fafc !important; }
.row-bronze { background: #fef6ee !important; }

.rnf-medal    { font-size: 22px; line-height: 1; }
.rnf-rang-num { font-size: 17px; font-weight: 900; color: #9ca3af; display: block; text-align: center; }

.rnf-joueur-photo   { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; border: 2px solid #e5e7eb; display: block; margin: 0 auto; }
.rnf-avatar-initiales { width: 38px; height: 38px; border-radius: 50%; background: #f3f4f6; border: 2px solid #e5e7eb; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; color: #6b7280; margin: 0 auto; }
.row-or     .rnf-joueur-photo, .row-or     .rnf-avatar-initiales { border-color: #f59e0b; }
.row-argent .rnf-joueur-photo, .row-argent .rnf-avatar-initiales { border-color: #9ca3af; }
.row-bronze .rnf-joueur-photo, .row-bronze .rnf-avatar-initiales { border-color: #d97706; }

.col-nom strong { font-weight: 800; text-transform: uppercase; }
.rnf-pts        { font-size: 15px; font-weight: 900; }

.rnf-empty { padding: 2rem; text-align: center; color: #9ca3af; background: #f9fafb; border-radius: 10px; border: 1px dashed #e5e7eb; }

@media (max-width: 600px) {
    .col-photo, .col-prenom, .col-org, .col-obs, .col-region { display: none; }
}
