
.accueil {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 1.56vw 5.16% 0;
    gap: 0;
}

.image-accueil {
    width: 89.61%;
    height: auto;
    align-self: flex-start;
    display: flex;
}

.image-accueil .image {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.accueil .contenu {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    margin-top: 6.25vw;
    gap: 0;
}

.titre-accueil {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 34.3%;
    gap: 0;
}

.titre-principal {
    font-family: 'MusBA', sans-serif;
    font-size: clamp(32px, 4.69vw, 60px);
    font-weight: 400;
    line-height: normal;
    color: var(--color-primary);
    display: block;
    margin: 0;
}

.titre-accueil .sous-titre {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(16px, 1.56vw, 20px);
    font-weight: 500;
    line-height: 25px;
    color: var(--color-primary);
    display: block;
    margin: 0 0 1.56vw 0;
}

.date {
    display: flex;
    align-items: flex-start;
    width: 17.89%;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(16px, 1.56vw, 20px);
    font-weight: 500;
    line-height: 25px;
    color: var(--color-secondary);
    margin: 0;
    text-align: right;
    justify-content: flex-end;
}

.expositions {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 5vw 5%;
    margin-top: 10.31vw;
    gap: 5vw;
    background-color: #FFFFFF;
}

.expositions .titre {
    font-family: 'MusBA', sans-serif;
    font-size: 40px;
    font-weight: 400;
    line-height: 100%;
    color: var(--color-primary);
    text-align: left;
    margin: 0;
    padding: 0;
}

.expositions .contenu {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-start;
    width: 100%;
    gap: 3vw;
}

.expositions .contenu > div:first-child {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 20.94%;
    flex: 0 0 20.94%;
}


.expositions .texte {
    width: 100%;
    flex: 0 0 auto;
    margin-top: 1.56vw;
}


.expositions .texte p {
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 25px;
    color: #000000;
    margin: 0;
}

.texte .lettrine {
    font-family: 'MusBA', sans-serif;
    font-size: 4em;
    line-height: 0.8;
    float: left;
    margin-right: 0.1em;
    margin-top: 0.05em;
    color: var(--color-primary);
}

.expositions .bouton {
    margin-top: auto;
    align-self: flex-start;
}


.expositions .image-expositions {
    display: flex;
    flex: 1 1 auto;
    width: auto;
    margin-left: auto;
    margin-right: calc(-5% + 32px);
}


.expositions .image-expositions .image {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.collections {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 5vw 5%;
    margin-top: 0;
    gap: 5vw;
    background-color: #F7F6F3;
}

.collections .titre {
    font-family: 'MusBA', sans-serif;
    font-size: 40px;
    font-weight: 400;
    line-height: 100%;
    color: var(--color-primary);
    text-align: left;
    margin: 0;
    padding: 0;
    white-space: nowrap;
}

.collections .contenu {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-start;
    width: 100%;
    gap: 3vw;
}

.collections .image-collections {
    display: flex;
    flex: 0 1 36.41%;
    width: auto;
}

.collections .image-collections .image {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.collections .contenu > div:last-child {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 22.73%;
    flex: 0 0 22.73%;
}

.collections .texte {
    width: 100%;
    margin-top: 1.56vw;
}

.collections .texte p {
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 25px;
    color: #000000;
    margin: 0;
}

.collections .bouton {
    margin-top: auto;
    align-self: flex-start;
}

.histoire {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 5vw 5%;
    margin-top: 0;
    gap: 0;
    background-color: #FFFFFF;
}

.histoire .titre {
    font-family: 'MusBA', sans-serif;
    font-size: 40px;
    font-weight: 400;
    line-height: 100%;
    color: var(--color-primary);
    margin: 0;
    padding: 0;
    text-align: left;
}

.histoire .contenu {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-start;
    width: 100%;
    gap: 3vw;
}

.histoire .contenu > div:first-child {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 24.53%;
    flex: 0 0 24.53%;
}

.histoire .texte {
    width: 100%;
    margin-top: 1.56vw;
}

.histoire .texte p {
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 25px;
    color: #000000;
    margin: 0;
}

.histoire .bouton {
    margin-top: auto;
    align-self: flex-start;
}


.histoire .image-histoire {
    display: flex;
    flex: 1 1 auto;
    width: auto;
    margin-left: auto;
    margin-right: calc(-5% + 32px);
}


.histoire .image-histoire .image {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.boutique {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 5vw 5%;
    margin-top: 0;
    gap: 0;
    background-color: #F7F6F3;
}

.boutique .titre {
    font-family: 'MusBA', sans-serif;
    font-size: 40px;
    font-weight: 400;
    line-height: 100%;
    color: var(--color-primary);
    text-align: left;
    margin: 0;
    padding: 0;
}

.boutique .contenu {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-start;
    width: 100%;
    gap: 3vw;
}

.boutique .image-boutique {
    display: flex;
    flex: 0 1 28.67%;
    width: auto;
}

.boutique .image-boutique .image {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.boutique .contenu > div:last-child {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 22.97%;
    flex: 0 0 22.97%;
}

.boutique .texte {
    width: 100%;
    margin-top: 1.56vw;
}

.boutique .texte p {
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 25px;
    color: #000000;
    margin: 0;
}

.boutique .bouton {
    margin-top: auto;
    align-self: flex-start;
}

.informations {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 0 5%;
    margin-top: 10.31vw;
    margin-bottom: 10.31vw;
    gap: 5vw;
}

.informations .titre {
    font-family: 'MusBA', sans-serif;
    font-size: clamp(24px, 3.13vw, 40px);
    font-weight: 400;
    line-height: 100%;
    color: var(--color-primary);
    text-align: left;
    margin: 0;
    padding: 0;
}

.informations .contenu {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    gap: 3vw;
}

.informations .colonne {
    display: flex;
    flex-direction: column;
    gap: 1.56vw;
    flex: 0 0 30%;
}

.informations .texte {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(12px, 1.09vw, 14px);
    font-weight: 500;
    line-height: 25px;
    color: var(--color-primary);
    margin: 0;
}


@media (max-width: 768px) {
    .accueil {
        padding: 5vw 5% 0;
        align-items: center;
    }
    
    .image-accueil {
        width: 100%;
        height: auto;
        margin-left: 0;
        align-self: center;
        display: flex;
    }
    
    .image-accueil .image {
        width: 100%;
        height: auto;
        object-fit: contain;
        display: block;
    }
    
    .accueil .contenu {
        flex-direction: column;
        margin-top: 5vw;
        gap: 4vw;
        width: 100%;
        align-items: stretch;
    }
    
    .titre-accueil {
        width: 100%;
        margin-left: 0;
        align-items: flex-start;
        text-align: left;
    }
    
    .titre-principal {
        text-align: left;
        width: 100%;
    }
    
    .titre-accueil .sous-titre {
        text-align: left;
        width: 100%;
    }
    
    .date {
        width: 100%;
        margin-right: 0;
        text-align: right;
        justify-content: flex-end;
    }
}

@media (max-width: 1024px) {
    
    .expositions,
    .collections,
    .histoire,
    .boutique {
        padding: 0 5%;
        margin-top: 6vw;
    }

    .expositions .contenu,
    .collections .contenu,
    .histoire .contenu,
    .boutique .contenu {
        flex-direction: column;
        gap: 4vw;
        align-items: stretch;
    }

    .expositions .contenu > div:first-child,
    .collections .contenu > div:last-child,
    .histoire .contenu > div:first-child,
    .boutique .contenu > div:last-child {
        width: 100%;
        transform: none;
        align-self: stretch;
    }

    .expositions .image-expositions,
    .collections .image-collections,
    .histoire .image-histoire,
    .boutique .image-boutique {
        width: 100%;
        transform: none;
        margin-left: 0;
        margin-right: 0;
    }

    .expositions .bouton,
    .collections .bouton,
    .histoire .bouton,
    .boutique .bouton {
        margin-top: 3vw;
        align-self: flex-start;
    }
}

@media (max-width: 768px) {
    
    .expositions,
    .collections,
    .histoire,
    .boutique {
        padding: 0 5%;
        margin-top: 8vw;
    }

    .expositions .titre,
    .collections .titre,
    .histoire .titre,
    .boutique .titre {
        font-size: clamp(28px, 8vw, 40px);
        white-space: normal;
        margin-bottom: 3vw;
    }

    .expositions .contenu,
    .collections .contenu,
    .histoire .contenu,
    .boutique .contenu {
        flex-direction: column;
        gap: 5vw;
        align-items: stretch;
    }
    
    .expositions .contenu > div,
    .collections .contenu > div,
    .histoire .contenu > div,
    .boutique .contenu > div {
        width: 100%;
    }

    .expositions .contenu > div:first-child,
    .collections .contenu > div:last-child,
    .histoire .contenu > div:first-child,
    .boutique .contenu > div:last-child {
        width: 100%;
        transform: none;
        align-self: stretch;
        justify-content: flex-start;
    }

    .expositions .texte,
    .collections .texte,
    .histoire .texte,
    .boutique .texte {
        margin-top: 3vw;
    }

    .expositions .texte p,
    .collections .texte p,
    .histoire .texte p,
    .boutique .texte p {
        font-size: 16px;
    }

    .expositions .image-expositions,
    .collections .image-collections,
    .histoire .image-histoire,
    .boutique .image-boutique {
        width: 100%;
        transform: none;
        margin-left: 0;
        margin-right: 0;
        order: -1;
        height: auto;
        display: flex;
    }

    .expositions .image-expositions .image,
    .collections .image-collections .image,
    .histoire .image-histoire .image,
    .boutique .image-boutique .image {
        width: 100%;
        height: auto;
        object-fit: contain;
        display: block;
    }

    .expositions .bouton,
    .collections .bouton,
    .histoire .bouton,
    .boutique .bouton {
        margin-top: 4vw;
        align-self: stretch;
        width: 100%;
    }

    
    .informations {
        padding: 0 5%;
        margin-top: 8vw;
        margin-bottom: 8vw;
    }

    .informations .contenu {
        flex-direction: column;
        gap: 5vw;
    }

    .informations .colonne {
        width: 100%;
        flex: 0 0 auto;
    }
}