.tarbes, .odos {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 1%;
    flex-wrap: nowrap; /* pas de retour à la ligne en PC */
    gap: 20px;
}

.plan {
    flex: 0 0 500px; /* taille fixe */
    aspect-ratio: 500 / 401;
    height: auto;
    display: block;
    border-radius: 25px;
    overflow: hidden;
}

.heures {
    flex: 1; /* prend tout l'espace restant */
    min-width: 0; /* permet au flex de calculer correctement */
    overflow-x: auto; /* scroll horizontal si le tableau est trop large */
}

.heures table {
    width: 100%;
    table-layout: auto;
}

/* Tablette */
@media (max-width: 1024px) {
    .tarbes, .odos {
        flex-direction: column;
        align-items: center;
        gap: 1%;
    }
    .plan {
        width: 90%;
        max-width: 500px;
    }
    .heures {
        width: 90%;
        overflow-x: auto;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .plan {
        width: 100%;
        height: 250px;
        margin-top: 10px;
    }
    .heures {
        width: 100%;
    }
}
