/* =========================
   MEDIA QUERIES TABLETTES LARGES (768px et moins)
   ============================ */

@media screen and (min-width: 769px) and (max-width: 898px) {
    * {
        font-family: 'Libre Baskerville', serif;
    }

    /* Général */
    .text-justify {
        text-align: justify;
    }

    section p {
        font-size: 1.05rem;
        line-height: 1.75;
    }

    .lead {
        font-size: 1.1rem;
        line-height: 1.7;
        margin-left: 20px;
        margin-right: 20px;
    }

    .nav-item {
        margin-top: 5px;
    }

    .nav-item:first-child {
        padding-top: 15px;
    }

    /* Section Qui sommes-nous */
    #qui-sommes-nous h1 {
        font-size: 1.6rem;
    }

    #qui-sommes-nous h2 {
        font-size: 1.2rem;
    }

    /* Sections Innovation, Atelier, Événements */
    #innovation h2,
    #atelier .container h2,
    #evenements .container h2 {
        font-size: 1.3rem;
        margin-top: 10px;
    }

    /* Carousel de portraits */
    .carousel-portrait-img {
        height: 380px;
    }

    /* Section Innovation */
    #innovation img {
        height: 320px;
    }

    /* Carousel Atelier */
    .atelier-carousel-img {
        height: 350px;
    }

    /* =========================
       SECTION CONTACT
    ============================ */
    /* Conteneur principal */
    #contact .container {
        max-width: 100%;
        padding-left: 15px;
        padding-right: 15px;
    }

    /* Colonnes */
    #contact .col-md-6,
    #contact .col-md-4 {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 20px;
    }

    /* Images */
    #contact .img-fluid {
        max-width: 100%;
        max-height: 280px;
        margin-left: 50%;
        display: block;
    }

    /* Carte */
    #contact .card {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        border-radius: 18px;
        box-shadow: 0 4px 18px rgba(0, 0, 0, 0.10);
        padding: 24px;
    }

    /* Titre de la carte */
    #contact .card h3 {
        font-size: 1.4rem;
        margin-bottom: 16px;
    }

    /* Texte de la carte */
    #contact .card p {
        font-size: 1rem;
        margin-bottom: 20px;
    }

    /* Bouton */
    #contact .btn {
        font-size: 1rem;
        padding: 10px 20px;
        border-radius: 8px;
        width: 100%;
    }

    /* Espacement des éléments flex */
    #contact .d-flex.gap-2 {
        gap: 10px !important;
        flex-wrap: wrap;
    }

    /* Titre centré */
    #contact .text-center h3.mt-5 {
        font-size: 1.2rem;
        margin-top: 24px !important;
        margin-bottom: 12px;
    }

    /* Carte intégrée (map) */
    .embed-map-responsive {
        margin-top: 30px;
    }

    .embed-map-container {
        max-width: 100%;
        height: 200px;
    }
}