html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

.wrapper {

    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    margin-top: 40px; /* Ajoute de l'espace au-dessus */
    margin-bottom: 40px; /* Ajoute de l'espace au-bas */
}


.left {
    flex: 2 1 60%;  /* La partie gauche prendra 70% de la largeur */
    margin-right: 20px;
}

.right {
    flex: 0 1 40%;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    height: 110vh; /* ← Prend toute la hauteur visible de l'écran */
    margin-right: 40px;
    border: solid 1px rgba(0, 0, 0, 0);
    overflow: hidden;
    border-radius: 25px;
    padding: 1%;
}

.carousel{
    margin-left: 2%;
    border-radius: 25px;
}
.carousel img {
    width: 80%;
    height: auto;
    object-fit: contain; /* ou supprimer cette ligne */
}

.horaires {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;    /* Centre horizontalement */
    text-align: center;     /* Centre le texte */
    margin-top: 20px;
}

.containerhoraire {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 10px;
    width: fit-content;         /* ← IMPORTANT : adapte la largeur à son contenu */
    margin: 0 auto;             /* ← Centre horizontalement la grille */
    font-size: 20px
}


/* Rendre les horaires lisibles sur petits écrans */

@media (max-width: 768px) {
    .wrapper {
        flex-direction: column;
    }

    .containerhoraire {
        grid-template-columns: 1fr;
    }
}
#carouselExampleIndicators {
    width: 100%;        /* Prend toute la largeur de .right */
    margin: 0;          /* Supprime le centrage */
    border: solid 1px rgba(0, 0, 0, 0);
    overflow: hidden;
    border-radius: 25px;
}

.carousel-item img {
    width: 100%;  /* Assure que l'image s'adapte à la largeur du carousel */
    height: auto;  /* Conserve le ratio de l'image */
    object-fit: cover;  /* S'assure que l'image remplit l'espace sans déformation */
}

@media (max-width: 768px) {
    #carouselExampleIndicators {
        width: 90%;  /* Sur petits écrans, on réduit encore la taille du carousel */
    }
}

#articleCarousel {
    margin-left: 40px;
    background-color: rgb(216, 216, 216);
    padding: 10px;
    border: solid 1px rgba(0, 0, 0, 0);
    overflow: hidden;
    border-radius: 25px;
}  

.carousel-img{
    max-width: 40%;
    border: solid 1px rgba(0, 0, 0, 0);
    overflow: hidden;
    border-radius: 25px;
}
.carousel-item {
    display: flex;
    align-items: center; /* Centre verticalement le texte par rapport à l'image */
    gap: 20px; /* Espace entre l'image et le texte */
}
.carousel-text {
    max-width: 50%;
}
.carousel-content {
    display: flex;
    align-items: center;
    gap: 20px;
}
.articles {
    margin-top: 2%;
    margin-left: 2%;
    padding: 0;         /* Aucun espace intérieur */
}

.articles {
    margin-top: 5%;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 20px; /* espace vertical entre les posts */
}

.post {
    display: flex;
    align-items: flex-start;
    gap: 5px; /* petit espace entre iframe et info-post */
    margin: 0;
    padding: 10px;
    background-color: rgb(216, 216, 216);
    border: solid 1px rgba(0, 0, 0, 0);
    overflow: hidden;
    border-radius: 25px;
}

.info-post {
    margin: 0;
    padding: 0;
}

.info-post .title,
.info-post .description {
    margin: 0;
    padding: 0;
    line-height: 1.2; /* réduit l'espacement entre lignes */
}
.fb-frame {
    width: 50%;                  /* 100% du conteneur parent */
    max-width: 500px;             /* ne dépasse jamais la taille d’origine */
    aspect-ratio: 500 / 401;      /* conserve le ratio d’origine */
    height: auto;
    display: block;
    border: solid 1px rgba(0, 0, 0, 0);
    border-radius: 25px;
    overflow: hidden;
}

.heure{
    text-align: left;
}

/* Style du calendrier */
.calendar {
    margin: 20px auto;
    padding: 20px;
    width: 80%;
}

table {
    width: 100%;
    border-collapse: collapse;
}

table th,
table td {
    border: 1px solid #ddd;
    padding: 10px;
    text-align: center;
    vertical-align: top;
    width: 14%; /* 7 jours = 100% */
}

table th {
    background-color: #f4f4f4;
    font-weight: bold;
}

.horaire {
    margin-bottom: 10px;
    padding: 5px;
    background-color: #f9f9f9;
    border: 1px solid #ddd;
}

.horaire br {
    margin-bottom: 5px;
}
.carousel-partenaire {
    position: relative;
    height: 400px;
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

/* Le fond du texte prend toute la taille du carousel */
.carousel-partenaire .carousel-caption {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4); /* fond sombre semi-transparent */
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    z-index: 10;
}

.carousel-partenaire .carousel-caption h3 {
    color: white;
    font-size: 32px;
    font-weight: bold;
    margin: 0;
    padding: 20px;
}

@media (max-width: 768px) {
    .wrapper {
        flex-direction: column;
        align-items: center; /* Centre les enfants horizontalement */
        text-align: center;  /* Centre le texte dans les enfants */
    }

    .left, .right {
        width: 90%; /* Prend presque toute la largeur de l’écran */
        margin: 0 auto; /* Centre horizontalement */
    }

    .right {
        align-items: center; /* Centre le contenu à l'intérieur */
    }

    .carousel-text, .info-post {
        text-align: center;
        align-items: center;
    }

    .post {
        flex-direction: column; /* Iframe et texte l’un en dessous de l’autre */
        align-items: center;
        text-align: center;
    }

    .fb-frame {
        width: 100%;
        max-width: 100%;
    }

    .containerhoraire {
        justify-items: center;
        text-align: center;
    }
}

@media (max-width: 768px) {
    .right, #articleCarousel, .articles {
        margin-left: 0;
        margin-right: 0;
    }
}
    @media (max-width: 768px) {
        .table-responsive {
            font-size: 0.50rem;
        }
    }