/* Tablettes en mode paysage et petits écrans */
@media screen and (max-width: 1200px) {
    main {
        padding: 40px 32px;
        gap: 24px;
    }

    .titre-projet {
        font-size: 80px;
    }

    .photo_tev {
        padding: 0 32px;
        gap: 24px;
    }

    /* Ajustement des colonnes */
    .img_tev_1 {
        grid-column: 1 / span 5;
    }

    .img_tev_2 {
        grid-column: 6 / span 7;
    }

    .img_tev_3 {
        grid-column: 2 / span 4;
        margin-top: -200px;
    }

    .img_tev_4 {
        grid-column: 2 / span 5;
    }

    .img_tev_5 {
        grid-column: 7 / span 5;
        margin-top: -150px;
    }

    .img_tev_6 {
        grid-column: 2 / span 5;
    }

    .img_tev_7 {
        grid-column: 7 / span 5;
    }
}

/* Tablettes en mode portrait */
@media screen and (max-width: 900px) {
    main {
        padding: 30px 24px;
        gap: 20px;
    }

    .titre-projet {
        grid-column: 2 / span 10;
        font-size: 60px;
    }

    .photo_tev {
        padding: 0 24px;
        gap: 20px;
    }

    .sous-titre-projet {
        font-size: 22px;
    }

    /* Réorganisation en colonnes simples */
    .img_tev_1, .img_tev_2, .img_tev_3, .img_tev_4,
    .img_tev_5, .img_tev_6, .img_tev_7 {
        grid-column: 2 / span 10;
        margin-top: 0;
    }
}

/* Smartphones en mode paysage et plus petit */
@media screen and (max-width: 768px) {
    main {
        padding: 25px 20px;
        gap: 16px;
    }

    .titre-projet {
        font-size: 50px;
    }

    .photo_tev {
        padding: 0 20px;
        gap: 16px;
    }

    .sous-titre-projet {
        font-size: 20px;
    }

    /* Une seule colonne sur mobile */
    .img_tev_1, .img_tev_2, .img_tev_3, .img_tev_4,
    .img_tev_5, .img_tev_6, .img_tev_7 {
        grid-column: 1 / span 12;
        margin-top: 0;
    }
}

/* Smartphones en mode portrait */
@media screen and (max-width: 480px) {
    main {
        padding: 20px 16px;
        gap: 12px;
    }

    .fleche-retour {
        grid-column: 1 / span 2;
    }

    .titre-projet {
        grid-column: 1 / span 12;
        font-size: 40px;
    }

    .contenu-projet {
        grid-column: 1 / span 12;
    }

    .photo_tev {
        padding: 0 16px;
        gap: 12px;
    }

    .sous-titre-projet {
        font-size: 18px;
    }
}

/* Très petits écrans */
@media screen and (max-width: 320px) {
    .titre-projet {
        font-size: 32px;
    }

    .sous-titre-projet {
        font-size: 16px;
    }

    .photo_tev {
        gap: 8px;
    }
}