h2 {
    color: #1a3c5e;
    border-bottom: 3px solid #f5a623;
    padding-bottom: 0.4em;
    margin-top: 1.5em;
}

.intro {
    background: #f7f9fb;
    border-left: 4px solid #1a3c5e;
    padding: 1em 1.2em;
    margin: 1em 0 1.5em;
    line-height: 1.6;
    color: #333;
    font-size: 0.95em;
}

.heures-table {
    width: 100%;
    border-collapse: collapse;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 0.95em;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

.heures-table thead th {
    background: #1a3c5e;
    color: #fff;
    text-align: left;
    padding: 0.7em 1em;
    position: sticky;
    top: 0;
}

.heures-table td {
    padding: 0.6em 1em;
    border-bottom: 1px solid #e0e0e0;
}

.heures-table tbody tr:hover {
    background: #eef4fa;
}

/* Mise en valeur selon la saison */
.heures-table tr.ete td:nth-child(4) {
    color: #d4650f;
    font-weight: bold;
}

.heures-table tr.hiver td:nth-child(4) {
    color: #1a6fb3;
    font-weight: bold;
}

.heures-table tr.ete {
    background: #fff8ee;
}

.heures-table tr.hiver {
    background: #f0f7fc;
}