
table {
    table-layout: auto;
    border-collapse: collapse;
}

table.player-teetime {
    border: 2px solid #000;
}

/* En-têtes de colonnes */
th {
    width: fit-content;
}

/* Cellules par défaut : Bordures 1px */
td {
    width: fit-content;
}

/* Bordure 1.5px entre les équipes (entre ligne 2 et 3 de chaque groupe de 4) */
.player-teetime tbody tr:nth-child(4n+2) td {
    border-bottom: 1.5px solid #000;
}

.player-teetime tbody tr:nth-child(4n+3) td {
    border-top: 1.5px solid #000;
}

/* Rectangle 2px autour de chaque départ (4 lignes) */

/* Bordure TOP : première ligne de chaque groupe (lignes 1, 5, 9, 13...) */
.player-teetime tbody tr:nth-child(4n+1) td {
    border-top: 2px solid #333;
}

/* Bordure BOTTOM : quatrième ligne de chaque groupe (lignes 4, 8, 12, 16...) */
.player-teetime tbody tr:nth-child(4n) td {
    border-bottom: 2px solid #333;
}

/* Bordure BOTTOM pour la dernière ligne du tableau */
.player-teetime tbody tr:last-child td {
    border-bottom: 2px solid #333;
}

/* Cellule de l'heure de départ */
.time-cell {
    text-align: center;
    vertical-align: middle;
    width: 50px;
    background-color: white !important;
}

/* Cellule du nom du joueur */
.player-cell {
    padding: 5px;
}

/* Bordure 2px noire entre thead et tbody */
.player-teetime thead {
    box-shadow: inset 0 -2px 0 #000;
}

/* Styles pour la saisie des scores */
.score-input {
    text-align: center;
    font-family: monospace;
    font-size: 16px !important;
}

/* ========== MEDIA PRINT - OPTIMISATION POUR IMPRESSION ========== */
@media print {
    /* Masquer les éléments non imprimables */
    .noprint,
    button,
    .button-container,
    input[type="button"],
    input[type="submit"],
    .shared-badge,
    .virtual-badge {
        display: none !important;
    }

    /* Configuration de la page avec marges de 6 mm */
    @page {
        size: A4 portrait;
        margin: 6mm;
    }

    /* Réinitialiser les marges du body */
    body {
        margin: 0;
        padding: 0;
        font-size: 10pt;
    }

    /* Ajuster le tableau pour qu'il s'adapte à la largeur de la page */
    table.player-teetime {
        width: 100%;
        table-layout: fixed;
        border-collapse: collapse;
        font-size: 9pt;
    }

    /* Optimisation des cellules */
    .player-teetime th,
    .player-teetime td {
        padding: 2px 3px;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* Styles pour la saisie des scores */
    .score-input {
        text-align: center;
        font-family: monospace;
        font-size: 12px !important;
    }

    /* Préserver les couleurs des équipes */
    .team-1 td:not(.time-cell),
    .team-2 td:not(.time-cell) {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Empêcher les sauts de page au milieu d'un groupe */
    .player-teetime tbody tr {
        page-break-inside: avoid;
    }

    /* Assurer que les groupes de 4 restent ensemble */
    .player-teetime tbody tr:nth-child(4n+1) {
        page-break-before: auto;
        page-break-after: avoid;
    }

    /* Titre et caption */
    h2, h3 {
        font-size: 12pt;
        margin: 5px 0;
    }

    caption {
        font-size: 10pt;
        margin-bottom: 5px;
    }
}
