/*
====================================
1. Styles généraux du Thème (index.html et pages PHP)
====================================
*/

body {
    font-family: 'Arial', sans-serif;
    background-color: #f4f7f6; /* Fond très clair */
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    /* Assure que le conteneur est centré verticalement sur la page d'accueil */
    align-items: center; 
    min-height: 100vh;
}

.container {
    background-color: #ffffff;
    padding: 40px 50px;
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    text-align: center;
    /* Largeur pour PC/Tablette (plus large pour les tableaux) */
    max-width: 900px; 
    width: 90%;
}

h1 {
    color: #1a567d; /* Bleu foncé FFF */
    font-size: 2.2em;
    margin-bottom: 10px;
}

h2 {
    color: #333;
    font-size: 1.5em;
    margin-top: 40px;
    margin-bottom: 10px;
}

p {
    color: #555;
    font-size: 1.1em;
    margin-bottom: 30px;
}

/* Style des liens de navigation (Bouton Retour) */
.back-button {
    display: inline-block;
    background-color: #f5f5f5;
    color: #333;
    padding: 10px 15px;
    border-radius: 6px;
    text-decoration: none;
    font-size: 0.9em;
    border: 1px solid #ddd;
    margin-bottom: 20px;
    transition: background-color 0.2s;
    /* Pour s'assurer qu'il s'aligne bien avant le H1 */
    float: left;
    margin-left: -30px; 
}
.back-button:hover {
    background-color: #e0e0e0;
}

/* Nettoie le float après le bouton (pour ne pas perturber le H1) */
.container:after {
    content: "";
    display: table;
    clear: both;
}


/*
====================================
2. Styles des Liens (Pour index.html)
====================================
*/

.links-grid {
    display: flex;
    justify-content: space-around;
    gap: 20px;
    flex-wrap: wrap; 
}

.link-card {
    flex-basis: 45%; 
    background-color: #e6f2f9; 
    color: #1a567d;
    padding: 20px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: bold;
    font-size: 1.2em;
    transition: all 0.3s ease;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
    border-left: 5px solid #1a567d; 
}

.link-card:hover {
    background-color: #d0e7f7;
    transform: translateY(-3px);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1);
}

.link-card span {
    display: block;
    margin-top: 5px;
    font-size: 0.8em;
    font-weight: normal;
}


/*
====================================
3. Styles des Tableaux (Pages PHP)
====================================
*/

.container table {
    width: 100%; 
    border-collapse: collapse;
    margin: 20px 0;
    font-size: 0.9em;
}

.container th, .container td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: center;
}

.container th {
    background-color: #1a567d;
    color: white;
    font-weight: bold;
    /* Force l'affichage compact des en-têtes (ex: Buts Pour) */
    white-space: nowrap; 
}

/* Alternance de couleurs pour les journées (Couleur appliquée par le PHP) */
tr[style="background-color: #f0f0f0;"] {
    background-color: #f0f0f0;
}

/* Conteneur pour le défilement horizontal sur mobile */
.table-responsive {
    overflow-x: auto; 
    margin-bottom: 20px;
}


/*
====================================
4. Optimisation pour Mobile (Responsivité)
====================================
*/

@media (max-width: 768px) {
    /* Ajustement du conteneur pour tous les mobiles */
    .container {
        padding: 20px 10px;
        width: 95%; 
        box-shadow: none; /* On enlève l'ombre pour le mobile */
    }

    /* Ajustement du bouton retour */
    .back-button {
        /* On retire le float et on centre le bouton */
        float: none; 
        margin: 0 auto 20px auto; 
        display: block;
    }

    h1 {
        font-size: 1.8em;
    }
    
    /* Réduction de la taille de police et forçage de la largeur minimale du tableau */
    .container table {
        font-size: 0.8em; 
        min-width: 600px; /* Assure l'apparition du scroll horizontal */
    }

    .container th, .container td {
        padding: 5px 3px; /* Réduit l'espacement dans les cellules */
        white-space: nowrap; /* Maintient le contenu sur une seule ligne */
    }
    
    /* Adapter la carte de lien (pour index.html) */
    .links-grid {
        gap: 10px;
    }
    .link-card {
        flex-basis: 100%; 
    }
}
/* --- Styles pour figer la première colonne sur mobile --- */

/* Définition des classes pour la colonne collante */
.sticky-col {
    position: sticky;
    left: 0; /* Colle la colonne à gauche du conteneur */
    z-index: 2; /* S'assure que la colonne est au-dessus des autres lors du défilement */
}

/* Style spécifique pour les en-têtes figées */
.sticky-col.header {
    background-color: #1a567d; /* Couleur de fond de l'en-tête */
    color: white;
    /* Assurez-vous que le style de bordure est le même que le TH normal */
    border-right: 1px solid #ddd;
}

/* Style spécifique pour les cellules de données figées */
.sticky-col.data {
    background-color: #ffffff; /* Fond blanc pour les cellules de données */
    /* Gère la couleur d'alternance des journées si elle est appliquée en PHP */
    border-right: 1px solid #ddd;
}

/* Ajustement de la couleur de fond des cellules collantes lors de l'alternance de couleur */
tr[style="background-color: #f0f0f0;"] .sticky-col.data {
    background-color: #f0f0f0; /* Garde la couleur grise si la ligne est grise */
}

/* --- OPTIONNEL : Ajout de l'ombre pour un meilleur effet visuel --- */
.table-responsive {
    overflow-x: auto;
    /* Ajout d'une marge à gauche pour que l'ombre de la colonne collante ne soit pas coupée */
    padding-left: 1px; 
}
.sticky-col {
    box-shadow: 2px 0 3px rgba(0,0,0,0.1); /* Petite ombre pour simuler la profondeur */
}