body,
html {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    font-weight: 400;
    z-index: -3;
    position: relative;
}

.header {
    text-align: center;
    color: white;
    background: url('marvilla/camping_background.jpg') no-repeat center center fixed;
    background-size: cover;
}

.logo-img {
    transition: transform 0.3s ease-in-out;
    padding: 50px;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 2px solid #ffad05;
    max-width: 290px;
    max-height: 290px;
    margin: 40px;
    object-fit: contain;
    margin: auto;
    z-index: 1;
    position: relative;
}

.logo-img:hover {
    transform: scale(1.05);
}

.logo.hovered::before {
    transform: scale(0.9) translate(-55%, -55%);
    transition: all 0.4s ease;

}

#clip {
    margin-top: -8vw;
    margin-bottom: -1px;
}

/* Adaptations supplémentaires pour assurer la visibilité sur fond sombre */
.container-fluid {
    background: url('marvilla/Château-La-Fôret_Philippe-Memeteau_2024_3.jpg') no-repeat center center fixed;
    background-size: cover;
    overflow: hidden;
    position: relative;
    z-index: -2;
}

.container-fluid::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(to right, #06335a 20%, #122a6f38 100%);
    z-index: -1;
    /* Le z-index est ajusté pour être au-dessus du fond mais sous les éléments de contenu */
}

#section1 {
    padding-left: 10vw;
    padding-top: 8vh;
}

#section2 {
    gap: 1vw;
    margin-left: 15vw;
    margin-top: 5vh;
    margin-right: 2vw;
}

@media (max-width:1650px) {
    .logo::before {
        content: "";
        max-width: 260px;
        max-height: 260px;
        border-radius: 50%;
        background-color: #fff;
        position: absolute;
        z-index: 1;
        width: 15vw;
        height: 15vw;
        box-shadow: 0 0 15px 5px #0000003d;
        transition: width 0.2s ease, height 0.2s ease;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .logo {
        transition: transform 0.2s ease-in-out;
        width: 18vw;
        background-color: transparent;
        border-radius: 50%;
        max-width: 550px;
        max-height: 550px;
        height: 18vw;
        display: inline-block;
        position: relative;
        z-index: 1;
        object-fit: contain;
    }

    .logo-img:hover {
        transform: scale(1.05);

    }
}


@media (min-width:1651px) {
    .logo {
        transition: transform 0.2s ease-in-out;
        width: 350px;
        background-color: transparent;
        border-radius: 50%;
        max-width: 100%;
        max-height: 100%;
        height: 350px;
        display: inline-block;
        position: relative;
        z-index: 1;
        object-fit: contain;
    }

    .logo::before {
        content: "";
        max-width: 260px;
        max-height: 260px;
        border-radius: 50%;
        background-color: #fff;
        position: absolute;
        z-index: 1;
        width: 100%;
        height: 100%;
        box-shadow: 0 0 15px 5px #0000003d;
        transition: width 0.2s ease, height 0.2s ease;
        top: 42%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
}

@media (max-width:1000px) {
    #section2 {
        flex-direction: column;
        grid-template-columns: 1fr 1fr;
        display: grid !important;
        margin-left: 0;
        margin-bottom: -5vh;
    }

    #section2 div {
        width: 100%;
    }

    .logo {
        transition: transform 0.2s ease-in-out;
        width: 350px;
        background-color: transparent;
        border-radius: 50%;
        max-width: 100%;
        max-height: 100%;
        height: 350px;
        display: inline-block;
        position: relative;
        z-index: 1;
        object-fit: contain;
    }

    .logo::before {
        content: "";
        max-width: 260px;
        max-height: 260px;
        border-radius: 50%;
        background-color: #fff;
        position: absolute;
        z-index: 1;
        width: 100%;
        height: 100%;
        box-shadow: 0 0 15px 5px #0000003d;
        transition: width 0.2s ease-in-out, height 0.2s ease-in-out;
        top: 42%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

}

@media (max-width:600px) {
    .logo::before {
        content: "";
        max-width: 180px;
        max-height: 180px;
        border-radius: 50%;
        background-color: #fff;
        position: absolute;
        z-index: 1;
        width: 100%;
        height: 100%;
        box-shadow: 0 0 15px 5px #0000003d;
        transition: width 0.2s ease-in-out, height 0.2s ease-in-out;
        top: 42%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .logo-img {
        transition: transform 0.3s ease-in-out;
        padding: 50px;
        width: 100%;
        height: 100%;
        border-radius: 50%;
        border: 2px solid #ffad05;
        max-width: 210px;
        max-height: 210px;
        margin: 40px;
        object-fit: contain;
        margin: auto;
        z-index: 1;
        position: relative;
    }


    #section2 div {
        max-height: 250px;
    }

    .container-fluid::before {
        background: linear-gradient(to bottom, #06335a 10%, #122a6f38 100%)
    }
}