.nav-flex {
    width: 100%;
    font-weight: 300;
    position: absolute;
    top: 0;
    left: 0;
    color: white;

    .home-top {
        display: flex;
        /* width: 100%; */
        align-items: center;
        justify-content: space-between;
        font-size: 18px;
        padding: 32px 64px 8px 64px;
        font-family: "Inter";
        height: 14vh;

        .left-top {
            display: flex;
            gap: 14px;

            .language-select {
                padding: 0 6px 0 8px;
                border: 1px solid white;
                display: flex;
                align-items: center;
                gap: 4px;

                img {
                    width: 34px;
                }

                .selecticon {
                    width: 20px;
                }
            }

            .menu {
                display: flex;
                align-items: center;
                gap: 16px;
                font-size: 14px;
            }
        }

        .logo {
            width: 254px;
            justify-self: center;
            position: absolute;
            top: 24px;
            right: 50%;
            left: 50%;
        }

        .right-top {
            display: flex;
            align-items: center;
            gap: 14px;

            .contact-button {
                display: flex;
                align-items: center;
                justify-content: center;
                padding: 10px 24px;
                border: 1px solid white;
                font-size: 14px;
                transition: all 0.1s ease-in-out;

                &:hover {
                    background-color: white;
                    color: black;
                    cursor: pointer;
                }
            }

            .user-account {
                display: flex;
                border-bottom: 1px solid white;
                font-size: 14px;
                align-items: center;
                gap: 12px;
                padding: 0 16px;
                height: 36px;
                transition: all 0.1s ease-in-out;

                &:hover {
                    background-color: rgba(184, 184, 184, 0.301);
                    cursor: pointer;
                }
            }

            .gift-button {
                display: flex;
                align-items: center;
                justify-content: center;
                border: 1px solid white;
                width: 36px;
                height: 36px;
                transition: all 0.1s ease-in-out;

                img {
                    width: 24px;
                }

                &:hover {
                    background-color: white;
                    color: black;
                    cursor: pointer;

                    img {
                        filter: invert(100%);
                    }
                }
            }
        }
    }
}

.page-accueil {
    display: flex;
    flex-direction: column;
    /* width: 100%; */
    /* min-width: 100vw;
    max-width: 100vw; */
    font-family: "Inter";

    .brand-text {
        font-family: "New York";
        font-size: 124px;
        display: flex;
        align-items: center;
        width: 100%;
        justify-content: center;
        margin-top: 148px;
        flex-direction: column;

        .subtext {
            font-family: "candara";
            font-size: 28px;
            font-weight: 400;
            font-style: italic;
        }
    }

    .home-first {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 100%;
        height: 100vh;
        color: white;
        align-items: center;

        background-image: url(../assets/images/homebg.png);
        background-size: cover;
        background-position: center;

        .bottom-navigation {
            user-select: none;
            z-index: 999;
            position: fixed;
            bottom: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            background-color: #00000048;
            backdrop-filter: blur(100px);
            font-weight: 300;
            padding: 14px;
            border-radius: 5px;
            border: 1px solid white;
            margin-bottom: 32px;
            /* margin-bottom: 90.5vh; */
            transition: all 0.4s ease-in-out;

            .separation {
                width: 1px;
                height: 32px;
                background-color: white;
                font-size: 20px;
            }

            .navigation-item {
                padding: 0 24px;
                transition: all 0.1s ease-in-out;

                &:hover {
                    scale: 1.1;
                    cursor: pointer;
                }
            }

            &.hide {
                transform: translateY(100px);
            }
        }
    }

    .text-animation {
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
        width: 100%;
        height: fit-content;
        padding: 78px 0;
        gap: 32px;

        .animation-line {
            height: 124px;
            width: 1px;
            background: linear-gradient(#66666600, #0A2540)
        }

        .text-to-animate {
            display: flex;
            flex-direction: column;
            align-items: center;
            width: 778px;
            font-size: 28px;
            text-align: center;
            font-family: "Lora";
        }
    }

    .discover-cards {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100vh;
        overflow: hidden;
        gap: 86px;
        position: relative;
        transform-style: preserve-3d;

        .discover-card {
            padding: 24px;
            display: grid;
            place-content: center;
            border-radius: 6px;
            transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
            opacity: 0.6;
            transform: scale(0.85) translateX(0);
            cursor: pointer;
            flex-shrink: 0;

            &:nth-child(1) {
                transform: scale(0.85) translateX(100px);
            }

            &:nth-child(3) {
                transform: scale(0.85) translateX(-100px);
            }

            &.current {
                border: 0.1px solid #808080;
                opacity: 1;
                transform: scale(1) translateX(0) !important;

                img {
                    border-radius: 6px;
                    width: 500px;
                    height: 524px;
                    object-fit: cover;
                }

                &:hover {
                    transform: scale(1.02) translateX(0) !important;
                }
            }

            img {
                border-radius: 6px;
                width: 378px;
                height: 382px;
                object-fit: cover;
                transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
            }

            &:hover {
                opacity: 0.9;

                &:nth-child(1) {
                    transform: scale(0.9) translateX(100px);
                }

                &:nth-child(3) {
                    transform: scale(0.9) translateX(-100px);
                }

                &:not(.current) {
                    transform: scale(0.9) translateX(0);
                }
            }
        }

        .carousel-nav {
            position: absolute;
            bottom: 40px;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            gap: 12px;
            z-index: 10;

            .nav-dot {
                width: 12px;
                height: 12px;
                border-radius: 50%;
                background: rgba(255, 255, 255, 0.4);
                cursor: pointer;
                transition: all 0.3s ease;

                &.active {
                    background: white;
                    transform: scale(1.2);
                }

                &:hover {
                    background: rgba(255, 255, 255, 0.7);
                }
            }
        }
    }

    .destination {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 64px;
        padding: 100px;

        .map {
            width: 764px;
        }
    }

    .reserver {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 100px 0;
        gap: 64px;
        width: 100%;

        .reservation {
            background-color: #002147;
            color: #DAA520;
            width: 100%;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            align-items: center;

            .reservation-list {
                display: flex;
                justify-content: space-between;
                padding: 64px 32px;
                overflow: hidden;
                position: relative;
                gap: 24px;

                .next-button {
                    position: absolute;
                    right: 20px;
                    top: 47.5%;
                    place-self: center;
                    z-index: 1;
                    background-color: #0A2540;
                    border: 1px solid #DAA520;
                    border-radius: 50px;
                    width: 42px;
                    height: 42px;
                    transition: all 0.1s ease-in-out;

                    &:hover {
                        cursor: pointer;
                        background-color: #DAA520;

                        img {
                            filter: brightness(0);
                        }
                    }
                }

                .reservation-card {
                    display: flex;
                    flex-direction: column;
                    justify-content: center;
                    gap: 16px;
                    border: 1px solid #DAA520;
                    width: 300px;
                    padding: 78px 54px;
                    position: relative;
                    transition: all 0.1s ease-in-out;
                    height: 278px;

                    &:hover {
                        scale: 1.05;
                    }

                    .circle-interface {
                        position: absolute;
                        top: 42%;
                        right: -40px;
                        width: 80px;
                    }

                    .reservation-title {
                        font-weight: 700;
                    }

                    .reservation-info {
                        font-weight: 300;
                        text-align: justify;
                        font-size: 14px;
                    }

                    .button-reserver {
                        display: flex;
                        margin-top: 16px;
                        height: 36px;
                        padding: 0 52px;
                        align-items: center;
                        border: 1px solid #DAA520;
                        gap: 12px;
                        width: fit-content;
                        place-self: center;
                        transition: all 0.1s ease-in-out;

                        &:hover {
                            cursor: pointer;
                            background-color: #DAA520;
                            color: black;

                            img {
                                filter: brightness(0);
                            }
                        }
                    }
                }
            }

            .voirplus-button {
                margin-bottom: 64px;
                font-weight: 300;
                padding: 8px 32px;
                border-bottom: 1px solid #DAA520;
                transition: all 0.1s ease-in-out;

                &:hover {
                    background-color: #fffda021;
                    cursor: pointer;
                }
            }
        }
    }

    .evenements {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;

        .event-video {
            width: 1224px;
            height: 387px;
            background-image: url(../assets/images/video.png);
            background-size: cover;
            background-position: center;
            margin-top: 64px;
            border-radius: 5px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 128px;

            .play-video {
                position: relative;
                display: flex;
                align-items: center;
                justify-content: center;
                width: 100px;
                height: 100px;

                .play-icon {
                    left: 38px;
                    width: 32px;
                    position: absolute;
                    transition: all 0.1s ease-in-out;
                    z-index: 1;

                    &:hover {
                        scale: 1.2;
                        cursor: pointer;
                    }
                }

                .play-rotating {
                    position: absolute;
                    width: 100px;
                    animation: rotating 24s linear infinite;
                }

            }
        }

        .big-carousel,
        .little-carousel {
            width: 100%;
            display: flex;
            padding: 32px 0;
            align-items: center;
            justify-content: center;
            border-top: 1px solid black;
            border-bottom: 1ps solid black;
            gap: 52px;
            overflow: hidden;
            position: relative;

            .carousel-items-container {
                display: flex;
                gap: 64px;
                justify-content: center;

                .carousel-item {
                    background-size: cover;
                    background-position: center;
                    border-radius: 5px;
                }
            }
        }

        .big-carousel {
            .carousel-items-container {
                .carousel-item {
                    width: 564px;
                    height: 260px;

                    &.one {
                        background-image: url("../assets/images/event/big-one.png");
                    }

                    &.two {
                        background-image: url("../assets/images/event/big-two.png");
                    }

                    &.three {
                        background-image: url("../assets/images/event/big-three.png");
                    }
                }
            }
        }

        .little-carousel {
            .carousel-items-container {
                .carousel-item {
                    width: 448px;
                    height: 242px;

                    &.one {
                        background-image: url("../assets/images/event/little-one.png");
                    }

                    &.two {
                        background-image: url("../assets/images/event/little-two.png");
                    }

                    &.three {
                        background-image: url("../assets/images/event/little-three.png");
                    }
                }
            }
        }
    }

    .blog {
        width: 100%;
        padding: 64px 0;
        display: flex;
        flex-direction: column;
        align-items: center;

        .journal-container {
            margin-top: 64px;
            border-radius: 10px;
            width: 1178px;
            height: 446px;
            background-image: url("../assets/images/blog.png");
            background-position: center;
            background-size: cover;
            display: flex;
            align-items: end;
            margin-bottom: 124px;

            .journal {
                width: 512px;
                margin-left: 48px;
                padding: 36px 36px 0 36px;
                background-color: white;
                font-weight: 300;
                text-align: justify;
                border-top-left-radius: 10px;
                border-top-right-radius: 10px;

                .journal-top {
                    display: flex;
                    align-items: center;
                    gap: 16px;
                    padding-bottom: 24px;

                    .profile-image {
                        width: 46px;
                    }

                    .top-profile {
                        display: flex;
                        flex-direction: column;
                        gap: 6px;

                        .name {
                            color: #222222;
                            font-weight: bold;
                            font-size: 16px;
                        }

                        .social {
                            display: flex;
                            align-items: center;
                            gap: 8px;
                        }
                    }
                }

                .journal-title {
                    font-size: 20px;
                    font-weight: bold;
                    color: #222222;
                    display: flex;
                    align-items: center;
                    justify-content: space-between;
                    padding-bottom: 24px;
                }
            }
        }

        .some-info-cards {
            width: 1178px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 36px;
            color: #222222;

            .info-cards {
                display: flex;
                flex-direction: column;

                .info-title {
                    font-size: 18px;
                    font-weight: 600;
                    margin-bottom: 24px;
                }

                .info-image {
                    width: 100%;
                    height: 214px;
                    background-color: #D9D9D9;
                    border-radius: 7px;
                    margin-bottom: 22px;
                }

                .info-tag {
                    display: flex;
                    align-items: center;
                    gap: 14px;
                    color: #777777;
                    margin-bottom: 16px;

                    .publisher {
                        display: flex;
                        align-items: center;
                        gap: 8px;
                        font-size: 14px;

                        img {
                            width: 16px;
                        }
                    }

                    .publish-date {
                        display: flex;
                        align-items: center;
                        gap: 8px;
                        font-size: 14px;

                        img {
                            width: 12px;
                        }
                    }

                    .separation {
                        width: 1px;
                        height: 14px;
                        background-color: #777777;
                    }
                }

                .info-description {
                    font-size: 14px;
                    font-weight: 300;
                }
            }
        }
    }

    .avis {
        padding: 64px 0;
        width: 100%;
        margin-bottom: 136px;
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;

        .clients-avis {
            display: flex;
            align-items: center;
            height: 50vh;

            .avis-item {
                display: flex;
                flex-direction: column;
                align-items: center;
                width: 100%;

                .stars {
                    display: flex;
                    align-items: center;
                    gap: 2px;
                    margin-bottom: 24px;
                }

                .avis-text {
                    max-width: 780px;
                    font-weight: 700;
                    text-align: center;
                    line-height: 140%;
                    margin-bottom: 36px;
                }

                .avis-sender {
                    display: flex;
                    align-items: center;
                    gap: 12px;

                    img {
                        width: 52px;
                        height: 52px;
                    }

                    .avis-info {
                        display: flex;
                        flex-direction: column;
                        gap: 2px;

                        .avis-username {
                            font-weight: 700;
                        }
                    }
                }
            }
        }

        .avis-controller {
            height: 100%;
            width: 1178px;
            position: absolute;
            display: flex;
            align-items: center;

            .controller {
                width: 100%;
                display: flex;
                align-items: center;
                justify-content: space-between;

                img {
                    transition: all 0.1s ease-in-out;
                    user-select: none;

                    &:hover {
                        scale: 1.1;
                        cursor: pointer;
                    }

                    &:active {
                        scale: 0.98;
                    }
                }
            }

            .avis-number {
                display: flex;
                position: absolute;
                bottom: 64px;
                gap: 4px;
                left: 49.5%;

                .number {
                    width: 8px;
                    height: 8px;
                    border-radius: 50px;
                    background-color: #d4d4d4;

                    &.current {
                        background-color: black;
                    }
                }
            }
        }
    }

    .engagements {
        width: 100%;
        display: flex;
        justify-content: center;

        .background {
            width: 1178px;
            background-image: url("../assets/images/éco.png");
            background-size: cover;
            background-position: center;
            display: flex;
            justify-content: center;
            align-items: center;

            .glass {
                margin: 64px;
                padding: 64px;
                background-color: #f3f4f57a;
                backdrop-filter: blur(10px);
                display: flex;
                flex-direction: column;
                gap: 12px;

                .eco-title {
                    font-size: 28px;
                    font-weight: 600;
                    color: #0A0A0E;
                    margin-bottom: 12px;
                }

                .separation {
                    width: 40%;
                    height: 1px;
                    background-color: white;
                    opacity: 0.2;
                }

                .eco-text {
                    color: #0A0A0E;
                    font-size: 16px;
                    font-weight: 300;
                }

                .voirplus-button {
                    width: fit-content;
                    margin-top: 24px;
                    font-weight: 700;
                    padding: 8px 32px;
                    border-bottom: 1px solid #002147;
                    color: #002147;
                    transition: all 0.1s ease-in-out;

                    &:hover {
                        background-color: #e9edff3a;
                        cursor: pointer;
                    }
                }
            }
        }
    }

    .faq {
        padding: 64px 0;
        width: 100%;
        display: flex;
        align-items: center;
        flex-direction: column;
        padding-bottom: 164px;

        .question-list {
            margin-top: 78px;
            width: 800px;

            .faq-item {
                display: flex;
                flex-direction: column;
                height: fit-content;

                .questions-main {
                    font-size: 20px;
                    display: flex;
                    align-items: center;
                    justify-content: space-between;
                    padding: 16px 0;
                    border-bottom: 1px solid #0a0a0e3d;
                    margin-bottom: 12px;

                    img {
                        &:hover {
                            scale: 1.2;
                            transition: all 0.1s ease-in-out;
                            cursor: pointer;
                        }
                    }
                }

                .answer {
                    padding-bottom: 32px;
                    height: fit-content;
                    color: #22222296;
                    min-height: fit-content;
                }
            }
        }

        .voirplus-button {
            width: fit-content;
            margin-top: 24px;
            font-weight: 400;
            padding: 8px 32px;
            border-bottom: 1px solid #0A0A0E;
            color: #0A0A0E;
            transition: all 0.1s ease-in-out;

            &:hover {
                background-color: #afafaf3a;
                cursor: pointer;
            }
        }
    }
}

@keyframes rotating {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* Ajoutez ces styles à votre fichier CSS existant */

/* Styles pour le carousel "EXPÉRIENCES À BORD" */
.discover-cards {
    position: relative;
    overflow: hidden;
}

.discover-card {
    transition: all 0.5s ease-in-out;
    position: relative;
}

/* Styles pour le carousel des réservations */
.reservation-list {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    transition: transform 0.5s ease;
}

/* Styles pour les carousels d'événements */
.carousel-items-container {
    display: flex;
    transition: transform 0.5s ease;
    flex-wrap: nowrap;
}

.carousel-item {
    flex-shrink: 0;
}

/* Styles pour la FAQ */
.faq-item .answer {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.5s ease;
}

.faq-item .answer.active {
    max-height: 500px;
    /* Valeur suffisamment grande */
}

/* Animation pour le chargement des cartes */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.reservation-card {
    animation: fadeIn 0.5s ease forwards;
}

/* Animation pour les transitions du carousel d'avis clients */
.avis-item {
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.avis-number .number {
    cursor: pointer;
    transition: background-color 0.3s ease;
}

/* Effet de survol pour les boutons interactifs */
.next-button,
.img-slider,
.questions-main img {
    cursor: pointer;
    transition: transform 0.2s ease;
}

.next-button:hover,
.img-slider:hover,
.questions-main img:hover {
    transform: scale(1.1);
}

/* Style pour l'icône moins de la FAQ */
.questions-main img[src*="minus"] {
    transform: rotate(45deg);
}

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(10px);
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
    font-family: "Inter", sans-serif;
    color: #002147;
    padding-bottom: 64px;

    &.active {
        opacity: 1;
        visibility: visible;
    }

    .modal-content {
        position: relative;
        width: 100%;
        height: 100vh;
        display: flex;
        flex-direction: column;
        padding: 24px 48px;
        box-sizing: border-box;
        overflow-y: auto;
    }

    .modal-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-shrink: 0;
    }

    .close-button {
        background: none;
        border: none;
        cursor: pointer;
        padding: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.2s ease-in-out;

        &:hover {
            opacity: 0.7;
            transform: scale(1.1);
        }

        img {
            width: 32px;
            height: 32px;
        }

        &:not(:has(img))::before {
            content: "✕";
            font-size: 32px;
            color: #002147;
            font-weight: 300;
        }
    }

    .modal-body {
        flex: 1;
        display: flex;
        flex-direction: column;
        padding-top: 24px;
        margin: 0;
        gap: 8px;

        .modal-nav-link {
            text-decoration: none;
            height: 64px;
            width: 100%;
            color: black;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 18px;
            transition: all 0.1s ease-in-out;

            &.selected {
                font-size: 20px;
                border-top: 1px solid #B8860B;
                border-bottom: 1px solid #B8860B;
                color: #B8860B;
                font-weight: 600;

                &:hover {
                    scale: 1;
                    background-color: white;
                }
            }

            &:hover {
                scale: 1.05;
                cursor: pointer;
                background-color: #00214711;
            }
        }
    }

    .modal-bottom {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-bottom: 24px;
        font-family: "Inter";
        font-weight: 300;
        font-size: 14px;
        width: 92%;
        color: #757575;
        border-bottom: 1px solid #B8860B;
        width: 100%;

        .separation {
            width: 1px;
            height: 16px;
            background-color: #7575758a;
        }

        .bottom-left,
        .bottom-right {
            display: flex;
            align-items: center;
            gap: 16px;
        }
    }

    .modal-contact-info {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        gap: 24px;
    }

    .social-icons {
        display: flex;
        gap: 16px;

        a {
            display: block;
            width: 32px;
            height: 32px;
            transition: all 0.2s ease-in-out;

            &:hover {
                transform: scale(1.1);
            }

            img {
                width: 100%;
                height: 100%;
            }
        }
    }

    .contact-details {
        display: flex;
        gap: 32px;
        font-size: 16px;
        font-weight: 300;

        span {
            color: #002147;
        }
    }

    .footer-links {
        display: flex;
        gap: 24px;
        font-size: 14px;
        font-weight: 300;

        span,
        a {
            color: #002147;
            text-decoration: none;

            &:hover {
                opacity: 0.7;
            }
        }
    }

    /* Responsive Design */
    @media (max-width: 768px) {
        .modal-content {
            padding: 32px 24px;
        }

        .modal-menu-section {
            h2 {
                font-size: 36px;
                margin-bottom: 40px;
            }
        }

        .modal-nav-link {
            font-size: 24px;
        }

        .modal-contact-info {
            flex-direction: column;
            text-align: center;
            gap: 16px;
        }

        .contact-details {
            flex-direction: column;
            gap: 8px;
        }
    }
}

/* Responsive Media Queries - Add these to your existing CSS */

/* Tablets and small desktops (1024px and below) */
@media (max-width: 1024px) {
    .nav-flex {
        .home-top {
            padding: 24px 32px 8px 32px;
            height: 12vh;

            .logo {
                width: 200px;
                top: 18px;
            }

            .left-top {
                gap: 10px;

                .language-select img {
                    width: 28px;
                }
            }
        }
    }

    .page-accueil {
        .brand-text {
            font-size: 96px;
            margin-top: 120px;

            .subtext {
                font-size: 24px;
            }
        }

        .text-to-animate {
            .text-to-animate {
                width: 90%;
                font-size: 24px;
            }
        }

        .discover-cards {
            gap: 40px;

            .discover-card {
                &.current img {
                    width: 400px;
                    height: 420px;
                }

                img {
                    width: 300px;
                    height: 320px;
                }
            }
        }

        .destination {
            padding: 80px 40px;

            .map {
                width: 90%;
                max-width: 600px;
            }
        }

        .evenements {
            .event-video {
                width: 90%;
                max-width: 900px;
                height: 300px;
            }

            .big-carousel .carousel-items-container .carousel-item {
                width: 450px;
                height: 210px;
            }

            .little-carousel .carousel-items-container .carousel-item {
                width: 360px;
                height: 194px;
            }
        }

        .blog {
            .journal-container {
                width: 90%;
                height: 380px;

                .journal {
                    width: 450px;
                }
            }

            .some-info-cards {
                width: 90%;
                gap: 24px;
            }
        }

        .avis .avis-controller {
            width: 90%;
        }

        .engagements .background {
            width: 90%;

            .glass {
                margin: 40px;
                padding: 40px;
            }
        }

        .faq .question-list {
            width: 90%;
            max-width: 700px;
        }
    }
}

/* Large tablets (768px and below) */
@media (max-width: 768px) {

    main {
        overflow: hidden;
    }

    .nav-flex {
        .home-top {
            padding: 20px 24px 8px 24px;
            height: 10vh;
            font-size: 16px;

            .logo {
                width: 180px;
                top: 14px;
            }

            .left-top {
                .menu {
                    font-size: 12px;
                }

                .language-select img {
                    width: 24px;
                }
            }

            .right-top {
                gap: 10px;

                .contact-button {
                    padding: 8px 16px;
                    font-size: 12px;
                }

                .user-account {
                    font-size: 12px;
                    padding: 0 12px;
                    height: 32px;
                }

                .gift-button {
                    width: 32px;
                    height: 32px;

                    img {
                        width: 20px;
                    }
                }
            }
        }
    }

    .page-accueil {
        .brand-text {
            font-size: 72px;
            margin-top: 100px;

            .subtext {
                font-size: 20px;
            }
        }

        .bottom-navigation {
            display: none;
            opacity: 0;
            pointer-events: none;
        }

        .home-first .bottom-navigation {
            flex-wrap: wrap;
            gap: 8px;
            padding: 12px;
            margin-bottom: 20px;

            .navigation-item {
                padding: 0 16px;
                font-size: 14px;
            }

            .separation {
                height: 24px;
            }
        }

        .text-animation {
            /* padding: 60px 20px; */

            .text-to-animate {
                width: 95%;
                font-size: 20px;
            }
        }

        .discover-cards {
            flex-direction: column;
            height: auto;
            gap: 30px;
            padding: 40px 0;

            .discover-card {
                &.current img {
                    width: 350px;
                    height: 370px;
                }

                img {
                    width: 280px;
                    height: 300px;
                }
            }
        }

        .destination {
            padding: 60px 20px;

            .map {
                width: 95%;
            }
        }

        .reserver {
            padding: 80px 0;

            .reservation .reservation-list {
                flex-direction: column;
                padding: 40px 20px;
                gap: 30px;

                .next-button {
                    display: none;
                }

                .reservation-card {
                    width: 90%;
                    max-width: 350px;
                    padding: 40px 30px;
                    height: auto;

                    .circle-interface {
                        display: none;
                    }
                }
            }
        }

        .evenements {
            .event-video {
                height: 250px;
                margin-bottom: 80px;
            }

            .big-carousel .carousel-items-container .carousel-item {
                width: 350px;
                height: 170px;
            }

            .little-carousel .carousel-items-container .carousel-item {
                width: 280px;
                height: 150px;
            }
        }

        .blog {
            /* padding: 40px 0; */

            .journal-container {
                height: 320px;
                margin-bottom: 80px;

                .journal {
                    width: 80%;
                    padding: 24px;

                    .journal-title {
                        font-size: 18px;
                    }
                }
            }

            .some-info-cards {
                flex-direction: column;
                gap: 40px;

                .info-cards {
                    width: 100%;

                    .info-image {
                        height: 180px;
                    }
                }
            }
        }

        .avis {
            /* padding: 40px 20px; */
            margin-bottom: 80px;

            .clients-avis .avis-item .avis-text {
                max-width: 95%;
                font-size: 16px;
            }
        }

        .engagements .background .glass {
            margin: 20px;
            padding: 30px;

            .eco-title {
                font-size: 24px;
            }

            .eco-text {
                font-size: 14px;
            }
        }

        .faq {
            /* padding: 40px 20px; */
            padding-bottom: 120px;

            .question-list {
                margin-top: 60px;

                .faq-item .questions-main {
                    font-size: 18px;
                }
            }
        }
    }
}

/* Mobile devices (480px and below) */
@media (max-width: 480px) {
    .nav-flex {
        .home-top {
            padding: 16px 16px 8px 16px;
            flex-direction: column;
            gap: 16px;
            height: auto;
            padding-bottom: 20px;

            .logo {
                position: relative;
                top: 0;
                left: 0;
                right: 0;
                width: 160px;
                order: -1;
            }

            .left-top,
            .right-top {
                justify-content: center;
            }
        }
    }

    .page-accueil {
        .brand-text {
            font-size: 48px;
            margin-top: 278px;
            scale: 1.24;
            padding: 0 20px;

            .subtext {
                font-size: 16px;
                text-align: center;
            }
        }

        .home-first .bottom-navigation {
            flex-direction: column;
            gap: 12px;
            padding: 16px;
            margin: 0 16px 16px 16px;

            .navigation-item {
                padding: 8px 16px;
                font-size: 12px;
                text-align: center;
            }

            .separation {
                width: 80%;
                height: 1px;
            }
        }

        .text-animation {
            /* padding: 40px 16px; */

            .animation-line {
                height: 80px;
            }

            .text-to-animate {
                font-size: 16px;
            }
        }

        .discover-cards {
            padding: 20px 0;

            .discover-card {
                &.current img {
                    width: 280px;
                    height: 300px;
                }

                img {
                    width: 240px;
                    height: 260px;
                }
            }
        }

        .destination {
            padding: 40px 16px;
        }

        .reserver {
            padding: 60px 0;

            .reservation .reservation-list {
                padding: 30px 16px;

                .reservation-card {
                    padding: 30px 20px;
                }
            }
        }

        .evenements {
            .event-video {
                width: 95%;
                height: 200px;
                margin-bottom: 60px;
            }

            .big-carousel .carousel-items-container {
                /* flex-direction: column; */
                gap: 30px;

                .carousel-item {
                    width: 90vw;
                    max-width: 300px;
                    height: 140px;
                }
            }

            .little-carousel .carousel-items-container {
                /* flex-direction: column; */
                gap: 30px;

                .carousel-item {
                    width: 90vw;
                    max-width: 280px;
                    height: 130px;
                }
            }
        }

        .blog {
            .journal-container {
                width: 95%;
                /* height: 280px; */
                /* margin-bottom: 224px; */
                /* padding-top: 50px; */
                display: flex;
                flex-direction: column;
                align-items: center;
                height: fit-content;

                .journal {
                    width: 90%;
                    padding: 20px;

                    .journal-top {
                        flex-direction: column;
                        text-align: center;
                        gap: 8px;
                    }

                    .journal-title {
                        font-size: 16px;
                        text-align: center;
                    }

                    .journal-text {
                        font-size: 14px;
                    }
                }
            }

            .some-info-cards {
                padding: 0 16px;

                .info-cards .info-title {
                    font-size: 16px;
                }
            }
        }

        .avis {
            .clients-avis .avis-item {
                .avis-text {
                    font-size: 14px;
                    line-height: 130%;
                }

                .avis-sender {
                    flex-direction: column;
                    text-align: center;
                    gap: 8px;
                }
            }

            .avis-controller {
                scale: 0.8;
                margin-top: 32px;

                .controller {
                    padding: 0 20px;
                }

                .avis-number {
                    left: 48%;
                }
            }
        }

        .engagements .background .glass {
            margin: 16px;
            padding: 20px;

            .eco-title {
                font-size: 20px;
            }

            .eco-text {
                font-size: 13px;
            }
        }

        .faq {
            /* padding: 30px 16px; */
            padding-bottom: 100px;

            .question-list {
                margin-top: 40px;

                .faq-item .questions-main {
                    font-size: 16px;
                    flex-direction: column;
                    gap: 12px;
                    text-align: center;
                }
            }
        }
    }
}

/* Very small devices (320px and below) */
@media (max-width: 320px) {
    .page-accueil {
        .brand-text {
            font-size: 36px;

            .subtext {
                font-size: 14px;
            }
        }

        .discover-cards .discover-card {
            &.current img {
                width: 250px;
                height: 270px;
            }

            img {
                width: 220px;
                height: 240px;
            }
        }

        .blog .journal-container .journal {
            .journal-title {
                font-size: 14px;
            }

            .journal-text {
                font-size: 12px;
            }
        }
    }
}

/* Landscape orientation adjustments for mobile */
@media (max-height: 500px) and (orientation: landscape) {
    .nav-flex .home-top {
        height: auto;
        padding: 12px 16px;

        .logo {
            width: 140px;
        }
    }

    .page-accueil {
        .brand-text {
            font-size: 42px;
            margin-top: 60px;

            .subtext {
                font-size: 16px;
            }
        }

        .home-first .bottom-navigation {
            margin-bottom: 12px;
        }
    }
}

/* Tablet adjustments */
@media (max-width: 1024px) {
    .nav-flex {
        .home-top {
            padding: 24px 32px 8px 32px;
            height: 12vh;

            .logo {
                width: 200px;
                top: 20px;
            }

            .left-top {
                gap: 10px;

                .language-select {
                    img {
                        width: 28px;
                    }

                    .selecticon {
                        width: 16px;
                    }
                }

                .menu {
                    gap: 12px;
                    font-size: 13px;
                }
            }

            .right-top {
                gap: 10px;

                .contact-button {
                    padding: 8px 16px;
                    font-size: 13px;
                }

                .user-account {
                    font-size: 13px;
                    gap: 8px;
                    padding: 0 12px;
                    height: 32px;
                }

                .gift-button {
                    width: 32px;
                    height: 32px;

                    img {
                        width: 20px;
                    }
                }
            }
        }
    }
}

/* Mobile landscape and small tablets */
@media (max-width: 892px) {
    .nav-flex {
        .home-top {
            padding: 16px 24px 8px 24px;
            height: 10vh;
            font-size: 16px;

            .logo {
                width: 160px;
                top: 16px;
            }

            .left-top {
                gap: 8px;

                .language-select {
                    padding: 0 4px 0 6px;

                    img {
                        width: 24px;
                    }

                    .selecticon {
                        width: 14px;
                    }

                    .language-dropdown {
                        .language-option {
                            padding: 6px 8px;
                            font-size: 12px;

                            img {
                                width: 20px;
                            }
                        }
                    }
                }

                .menu {
                    gap: 8px;
                    font-size: 12px;
                }
            }

            .right-top {
                gap: 8px;

                .contact-button {
                    padding: 6px 12px;
                    font-size: 12px;
                }

                .user-account {
                    font-size: 12px;
                    gap: 6px;
                    padding: 0 8px;
                    height: 28px;
                }

                .gift-button {
                    width: 28px;
                    height: 28px;

                    img {
                        width: 16px;
                    }
                }
            }
        }
    }

    .modal-overlay {
        .modal-content {
            padding: 24px 16px;
        }

        .modal-body {
            .modal-nav-link {
                font-size: 16px;
                height: 56px;

                &.selected {
                    font-size: 18px;
                }
            }
        }

        .modal-bottom {
            flex-direction: column;
            gap: 12px;
            font-size: 12px;

            .bottom-left,
            .bottom-right {
                gap: 12px;
                flex-wrap: wrap;
                justify-content: center;
            }
        }
    }
}

/* Mobile portrait */
@media (max-width: 576px) {
    .nav-flex {
        padding-bottom: 40px;

        .home-top {
            padding: 12px 16px 8px 16px;
            height: 8vh;
            font-size: 14px;

            .colored {
                margin-top: 20px;
            }

            .logo {
                width: 120px;
                top: 12px;
            }

            .left-top {
                gap: 6px;

                .language-select {
                    padding: 0 3px 0 4px;

                    img {
                        width: 20px;
                    }

                    .selecticon {
                        width: 12px;
                    }

                    .language-dropdown {
                        .language-option {
                            padding: 4px 6px;
                            font-size: 11px;

                            img {
                                width: 16px;
                            }
                        }
                    }
                }

                .menu {
                    gap: 6px;
                    font-size: 11px;

                    img {
                        width: 16px;
                    }
                }
            }

            .right-top {
                gap: 6px;

                .contact-button {
                    padding: 4px 8px;
                    font-size: 11px;
                }

                .user-account {
                    font-size: 11px;
                    gap: 4px;
                    padding: 0 6px;
                    height: 24px;

                    img {
                        width: 16px;
                    }
                }

                .gift-button {
                    width: 24px;
                    height: 24px;

                    img {
                        width: 14px;
                    }
                }
            }
        }
    }

    .modal-overlay {
        .modal-content {
            padding: 20px 12px;
        }

        .close-button {
            img {
                width: 24px;
                height: 24px;
            }
        }

        .modal-body {
            padding-top: 16px;
            gap: 4px;

            .modal-nav-link {
                font-size: 14px;
                height: 48px;

                &.selected {
                    font-size: 16px;
                }
            }
        }

        .modal-bottom {
            font-size: 11px;
            gap: 8px;

            .bottom-left,
            .bottom-right {
                gap: 8px;

                img {
                    width: 16px;
                }
            }
        }
    }
}

/* Very small mobile devices */
@media (max-width: 400px) {
    .nav-flex {
        .home-top {
            padding: 8px 12px 8px 12px;

            .left-top {
                .menu {
                    div {
                        display: none;
                        /* Hide "MENU" text on very small screens */
                    }
                }
            }

            .right-top {
                .user-account {
                    div {
                        display: none;
                        /* Hide account text on very small screens */
                    }
                }

                .contact-button {
                    font-size: 10px;
                    padding: 3px 6px;
                }
            }
        }
    }
}