* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
:root {
    --ff-raleway: 'Raleway', Arial, Helvetica, sans-serif;
    --ff-bebasneue: 'Bebas Neue', 'Raleway', sans-serif;
    --ff-dancing-script: 'Dancing Script', cursive;

    --fw-100: 100;
    --fw-200: 200;
    --fw-300: 300;
    --fw-400: 400;
    --fw-500: 500;
    --fw-600: 600;
    --fw-700: 700;
    --fw-800: 800;
    --fw-900: 900;

    --fz-12px: 12px;
    --fz-14px: 14px;
    --fz-16px: 16px;
    --fz-20px: 20px;
    --fz-24px: 24px;
    --fz-32px: 32px;
    --fz-48px: 48px;

    --navy-bg: #20448a;
    --orange-color: #ed4b22;
    --white-color: #ffffff;
    --black-color: #000;
}

html, body {
  width: 100%;
  height: 100%;
  scroll-behavior: smooth;
  font-family: var(--ff-raleway);
}
.favicon {
    width: 50px;
}
.container {
    width: 1220px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0px 15px;
}
#home,
#histoire,
#decouverte,
#decouverte-detail,
#contact,
#politique-de-confidentialite,
#about-us {
    header {
        color: var(--black-color);
        position: fixed;
        width: 100%;
        z-index: 10;
        top: 0;
        nav {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 20px;
            color: var(--white-color);
            .logo {
                font-size: 1.25rem;
                font-weight: 800;
                letter-spacing: 0.05em;
                color: #ffffff;
                cursor: pointer;
                position: relative;
                z-index: 10000;
                img {
                    position: absolute;
                    width: 100px;
                    top: -35px;
                    left: 0px   ;
                }
            }
            ul {
                display: flex;
                list-style: none;
                margin: 0;
                gap: 10px;
            li {
                position: relative;
                background-color: #20448ade;
                padding: 5px 20px;
                border-radius: 50px;
                a {
                    font-weight: 900;
                    color: var(--black-color);
                    transition: color 0.3s;
                    text-decoration: none;
                    color: var(--white-color);
                    font-family: var(--ff-dancing-script);
                    font-size: var(--fz-24px);
                    &:hover {
                    color: var(--white-color);
                    background-color: var(--orange-color);
                    }
                    &.active {
                    color: var(--white-color);
                    }
                    span {
                        display: none;
                    }
                }
                &.active {
                    background-color: var(--orange-color);
                }
                &:hover {
                    background-color: var(--orange-color);
                }
            }
            }
            .menu-toggle {
            display: none;
            cursor: pointer;
            position: relative;
            width: 35px;
            height: 35px;
            flex-shrink: 0;
            z-index: 1001;
            img {
                width: 100%;
                height: 100%;
                object-fit: contain;
                position: absolute;
                top: 0;
                left: 0;
            }
            .close-icon {
                display: none;
            }
            }
        }
    }
    .main-content {
        position: relative;
        .hero-bg {
            background-image: url("../img/svg/banner.svg");
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            position: relative;
            height: 100vh;
            .wave-container {
                .welcome-text {
                    position: absolute;
                    left: 50%;
                    transform: translateX(-50%);
                    width: 100%;
                    max-width: 850px;
                    display: flex;
                    flex-direction: row;
                    align-items: center;
                    padding: 1rem;
                    z-index: 1;
                    bottom: 0px;
                    gap: 30px;
                    .profile-circle {
                        border-radius: 50%;
                        width: 150px;
                        height: 150px;
                        border: 5px solid white;
                        flex-shrink: 0;
                        margin-bottom: 1rem;
                        background-image: url("../img/banner/1.png");
                        background-size: cover;
                        background-position: center;
                        background-repeat: no-repeat;
                    }
                    .text-box {
                        text-align: left;
                        .welcome-title {
                            line-height: 1.25;
                            color: var(--white-color);
                            .bg-highlight {
                                font-weight: var(--fw-400);
                                padding: 5px 16px;
                                background-color: #ed4a22bb;
                                opacity: 0.9;
                                font-family: var(--ff-raleway);
                                font-size: clamp(17px, 2.2vw, 32px);
                            }
                            .accent-span {
                                color: var(--white-color);
                                font-family: var(--ff-raleway);
                                font-size: clamp(16px, 2vw, var(--fz-24px));
                            }
                            .nav-bg-span {
                                color: var(--orange-color);
                                font-family: var(--ff-raleway);
                                font-size: clamp(16px, 2vw, var(--fz-24px));
                            }
                        }
                    }
                }
                svg {
                    width: 100%;
                    height: 100%;
                }
            }
        }
        .card-section {
            margin-top: 30px;
            position: relative;
            z-index: 2;
            .card-list {
                display: flex;
                flex-direction: row;
                gap: 16px;
                .card-link {
                    max-width: 100%;
                    width: 100%;
                    text-decoration: none;
                    color: var(--black-color);
                    cursor: pointer;
                    .card-image {
                    position: relative;
                    height: auto;
                    .flip-card-inner {
                        position: relative;
                        width: 100%;
                        padding-top: 170%;
                        perspective: 1000px;
                        .front,
                        .back {
                        position: absolute;
                        width: 100%;
                        height: 100%;
                        top: 0;
                        left: 0;
                        backface-visibility: hidden;
                        border-radius: 15px;
                        overflow: hidden;
                        box-shadow: 6px 6px #d0d0d085;
                        transition: transform 0.6s;
                        }
                        .front {
                            transform: rotateY(0deg);
                            display: flex;
                            flex-direction: column;
                            justify-content: flex-end;
                            color: #fff;

                            img {
                                width: 100%;
                                height: auto;
                            }
                            h3 {
                                position: absolute;
                                bottom: 10px;
                                left: 10px;
                                font-size: 20px;
                            }
                        }
                        .back {
                            transform: rotateY(180deg);
                            color: #fff;
                            padding: 10px;
                            text-align: left;
                            background-size: cover;
                            background-position: center;
                            background-repeat: no-repeat;
                            p {
                                position: relative;
                                z-index: 1;
                                font-family: var(--ff-raleway);
                                font-size: var(--fz-16px);
                                font-weight: var(--fw-400);
                                color: var(--white-color);
                                line-height: 22px;
                                text-align: center;
                            }
                        }
                        &:hover {
                        .front { transform: rotateY(-180deg); }
                        .back { transform: rotateY(0deg); }
                        }
                    }
                }
                    &:nth-child(1) { margin-top: 0px; }
                    &:nth-child(2) { margin-top: 50px; }
                    &:nth-child(3) { margin-top: 25px; }
                    &:nth-child(4) { margin-top: 0px; }
                    &:nth-child(5) { margin-top: 50px; }
                    &:nth-child(1) .back {
                    background-image: url("../img/reflect-card/6.png");
                        &::before {
                            content: "";
                            position: absolute;
                            inset: 0;
                            background-color: #202b8ab7;
                            border-radius: 20px;
                            z-index: 0;
                        }
                    }
                    &:nth-child(2) .back {
                    background-image: url("../img/reflect-card/1.png");
                        &::before {
                            content: "";
                            position: absolute;
                            inset: 0;
                            background-color: #8a6e20b7;
                            border-radius: 20px;
                            z-index: 0;
                        }
                    }
                    &:nth-child(3) .back {
                    background-image: url("../img/reflect-card/3.png");
                        &::before {
                            content: "";
                            position: absolute;
                            inset: 0;
                            background-color: #6c208ab7;
                            border-radius: 20px;
                            z-index: 0;
                        }
                    }
                    &:nth-child(4) .back {
                    background-image: url("../img/reflect-card/4.png");
                        &::before {
                            content: "";
                            position: absolute;
                            inset: 0;
                            background-color: #8a2020b7;
                            border-radius: 20px;
                            z-index: 0;
                        }
                    }
                    &:nth-child(5) .back {
                    background-image: url("../img/reflect-card/5.png");
                        &::before {
                            content: "";
                            position: absolute;
                            inset: 0;
                            background-color: #208a40b7;
                            border-radius: 20px;
                            z-index: 0;
                        }
                    }
                }
            }
        }
        .decovert-nos-service {
            margin-top: 50px;
            .container {
                .main-title {
                    display: flex;
                    justify-content: center;
                    flex-direction: column;
                    align-items: center;
                    text-align: center;
                    h2 {
                        display: inline-block;
                        line-height: 1.4;
                    }
                    .line-background {
                        display: inline-block;
                        background-color: var(--orange-color);
                        padding: 5px 15px;
                    }
                    .header {
                        color: #fff;
                    }
                    .connector {
                        color: #000;
                        margin-left: 5px;
                    }
                    .sub-header {
                        display: inline-block;
                        background-color: var(--orange-color);
                        color: var(--black-color);
                        padding: 5px 15px;
                        margin-top: 5px;
                    }
                    .intro-text {
                        margin-top: 20px;
                        font-size: var(--fz-16px);
                        max-width: 800px;
                        line-height: 1.5;
                        text-align: center;
                    }
                }
            }
        }
        .transportation-serives {
            .title-section {
                h1 {
                    text-align: center;
                    font-size: var(--fz-32px);
                    color: #333;
                    padding: 40px 0px;
                }
            }
            .services-grid {
                display: flex;
                justify-content: space-around;
                gap: 20px;
                .service-card {
                    display: flex;
                    flex-direction: column;
                    width: 30%;
                    min-width: 300px;
                    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
                    position: relative;
                    .service-inner {
                        display: flex;
                        align-items: stretch;
                        position: relative;
                        flex-grow: 1;
                        background-color: #2a4176;
                        filter: drop-shadow(7px 7px 0 #abb9d3);
                        &::after {
                            content: '';
                            position: absolute;
                            bottom: -12px;
                            left: 50%;
                            transform: translateX(-50%) rotate(45deg);
                            width: 32px;
                            height: 32px;
                            z-index: 1;
                            background-color: inherit;
                        }
                        .icon-box {
                            background-color: #e65228;
                            display: flex;
                            justify-content: center;
                            align-items: center;
                            padding: 20px;
                            box-sizing: border-box;
                            color: white;
                            position: relative;
                            z-index: 2;
                            cursor: pointer;
                        }
                        .content-box {
                            width: 70%;
                            background-color: #2a4176; /* Dark blue color */
                            color: white;
                            padding: 20px;
                            box-sizing: border-box;
                            flex-grow: 1;
                            position: relative;
                            z-index: 1;
                            h2 {
                                margin-top: 0;
                                font-size: 18px;
                                margin-bottom: 10px;
                                font-family: var(--ff-raleway);
                                font-weight: var(--fw-600);
                            }
                            p {
                                font-size: 16px;
                                line-height: 1.4;
                                font-family: var(--ff-raleway);
                                font-weight: var(--fw-400);
                            }
                        }
                    }
                }
            }
        }
        .pourquoi-voyager {
            margin-top: 60px;
            .container {
                .toute-la-difference {
                    text-align: center;
                    margin-bottom: 20px;
                    .main-title {
                        h2 {
                            .highlight {
                                color: var(--orange-color);
                            }
                        }
                    }
                }
                .wrap-card {
                    width: 800px;
                    max-width: 100%;
                    margin: 0px auto;
                    margin-bottom: 20px;
                    display: grid;
                    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
                    justify-items: center;
                    gap: 20px;
                    .card {
                        width: 250px;
                        max-width: 100%;
                        height: 250px;
                        border: 1px solid var(--black-color);
                        border-radius: 50%;
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        flex-direction: column;
                        .visual {
                            img {
                                width: 80px;
                            }
                        }
                        .content {
                            h2 {
                                font-family: var(--ff-raleway);
                                font-size: var(--fz-16px);
                                color: var(--black-color);
                                font-weight: var(--fw-600);
                                text-align: center;
                            }
                            p {
                                text-align: center;
                                font-size: var(--fz-14px);
                                font-family: var(--ff-raleway);
                                padding: 0px 15px;
                            }
                        }
                    }
                }
            }
        }
        .decouvrez-regions {
            .container {
                .wrap-regions {
                    margin-top: 80px;
                    .header-title {
                        h2 {
                            font-family: var(--ff-raleway);
                            font-weight: 600;
                            font-size: var(--fz-32px);
                            text-align: center;
                            margin-bottom: 5px;
                            .highlight {
                                color: var(--orange-color);
                            }
                        }
                        p {
                            font-family: var(--ff-raleway);
                            font-weight: 400;
                            font-size: var(--fz-16px);
                            text-align: center;
                        }
                    }
                    .regions {
                        margin: 40px auto;
                        display: grid;
                        grid-template-columns: repeat(3, 1fr);
                        gap: 30px;
                        .card {
                            .visual {
                                display: block;
                                position: relative;
                                overflow: hidden;
                                img {
                                    width: 100%;
                                    height: auto;
                                    transition: transform 0.4s ease, filter 0.4s ease;
                                }
                                &::after {
                                    content: "";
                                    position: absolute;
                                    inset: 0;
                                    background-color: rgba(0, 0, 0, 0);
                                    transition: background-color 0.4s ease;
                                }
                                &:hover img {
                                    transform: scale(1.05);
                                }
                                &:hover::after {
                                    background-color: rgba(0, 0, 0, 0.2);
                                }
                                .ribbon {
                                    position: absolute;
                                    bottom: 0;
                                    left: 0;
                                    display: flex;
                                    flex-direction: column;
                                    align-items: center;
                                    font-weight: 600;
                                    color: var(--navy-bg);
                                    font-size: var(--fz-14px);
                                    background-color: var(--white-color);
                                    padding: 5px;
                                    z-index: 2;
                                    img {
                                        width: 15px;
                                    }
                                }
                            }
                            .content {
                                padding: 5px 5px 30px;
                                h2 {
                                font-family: var(--ff-raleway);
                                font-size: var(--fz-20px);
                                color: var(--navy-bg);
                                font-weight: var(--fw-600);
                                }
                                p {
                                font-family: var(--ff-raleway);
                                font-size: var(--fz-16px);
                                font-weight: var(--fw-400);
                                }
                            }
                        }
                    }
                }
            }
        }
        .decouvrez-angkor-pas {
            padding-bottom: 80px;
            .container {
                .wrap-angkor-pas {
                    margin: 0px auto;
                    width: 808px;
                    max-width: 100%;
                    display: flex;
                    gap: 10px;
                    justify-content: space-between;
                    .content {
                        display: flex;
                        flex-direction: column;
                        width: 320px;
                        max-width: 100%;
                        h2 {
                            background-color: var(--navy-bg);
                            font-family: var(--ff-raleway);
                            color: var(--white-color);
                            font-size: var(--fz-16px);
                            padding: 15px;
                            margin-bottom: 10px;
                        }
                    }
                    .video-angkor {
                        position: relative;
                        width: 498px;
                        max-width: 100%;
                        overflow: hidden;
                        iframe {
                            width: 110%;
                            height: 260px;
                            transform: scale(1.48);
                            transform-origin: center;
                            border: none;
                            pointer-events: none;
                        }
                    }
                }
            }
        }
        .temoignages-voyageurs {
            padding-bottom: 30px;
            .container {
                .temoignages {
                    background-image: url("../img/temoignages/bg.png");
                    background-size: cover;
                    background-position: center;
                    background-repeat: no-repeat;
                    padding: 30px 0px 80px;
                    position: relative;
                    z-index: 1;
                    &::before {
                        content: "";
                        position: absolute;
                        inset: 0;
                        background: rgb(0 0 0 / 60%);
                        z-index: -1;
                        text-align: center;
                    }
                    .header-title {
                        h2 {
                            color: var(--white-color);
                            position: relative;
                            top: 10px;
                            font-size: var(--fz-32px);
                            text-align: center;
                            padding: 40px 0px;
                        }
                    }
                    .wrap-testimonial {
                        display: grid;
                        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
                        gap: 10px;
                        padding: 0px 20px;
                        overflow: hidden;
                        position: relative;
                        .card {
                            aspect-ratio: 4 / 3;
                            max-width: 370px;
                            height: 290px;
                            background-image: url("../img/temoignages/card-bg1.svg");
                            background-repeat: no-repeat;
                            background-size: cover;
                            color: white;
                            position: relative;
                            display: flex;
                            flex-direction: column;
                            border-radius: 10px;
                            overflow: visible;
                            z-index: 1;
                            cursor: pointer;
                            .content {
                                display: flex;
                                flex-direction: column;
                                gap: 5px;
                                position: relative;
                                z-index: 2;
                                padding: 15px;
                                .title {
                                    font-size: var(--fz-20px);
                                    font-weight: var(--fw-600);
                                    text-align: center;
                                }
                                .quote {
                                    font-size: var(--fz-16px);
                                    font-family: var(--ff-raleway);
                                    line-height: 1.4;
                                    margin: 0;
                                }
                                .details {
                                    margin-top: 20px;
                                    display: flex;
                                    align-items: flex-start;
                                    gap: 10px;
                                    padding-top: 10px;
                                    justify-content: center;
                                    .profile-area {
                                        width: 88px;
                                        max-width: 100%;
                                        height: 88px;
                                        border-radius: 50%;
                                        overflow: hidden;
                                        flex-shrink: 0;
                                        border: 5px solid white;
                                        img {
                                            width: 100%;
                                        }
                                    }
                                    .info-and-rating {
                                        display: flex;
                                        flex-direction: column;
                                        gap: 5px;
                                        .reviewer-name {
                                            color: var(--white-color);
                                            border-radius: 3px;
                                            font-weight: var(--fw-600);
                                            font-size: var(--fz-16px);
                                            display: inline-block;
                                            margin: 0;
                                        }
                                        .rating {
                                            display: flex;
                                            gap: 5px;
                                            span {
                                                img {
                                                    width: 100%;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        .scroll-track {
                            display: grid;
                            grid-template-columns: repeat(6, 1fr);
                            gap: 10px;
                            animation: scrollLoop 10s linear infinite;
                        }
                        &:hover .scroll-track {
                            animation-play-state: paused;
                        }
                    }

                }
            }
        }
        .decouverte-du-cambodge {
            .container {
                .decouverte-itineraires {
                    margin: 0 auto;
                    padding: 20px;
                    .tour-header {
                        text-align: center;
                        margin-bottom: 30px;
                        padding-top: 10px;
                        .main-title {
                            font-size: var(--fz-32px);
                            color: var(--black-color);
                            font-weight: 600;
                            line-height: 1.2;
                            .highlight {
                                font-weight: 700;
                                color: var(--orange-color);
                            }
                        }
                        .subtitle {
                            font-size: var(--fz-24px);
                            color: var(--black-color);
                            font-weight: var(--fw-600);
                            margin-top: 5px;
                            margin-bottom: 20px;
                        }
                        .wrapper-tags {
                            display: flex;
                            justify-content: center;
                            gap: 15px;
                            margin-top: 15px;
                            .tag {
                                font-size: var(--fz-16px);
                                font-weight: var(--fw-400);
                                padding: 5px 15px;
                                border-radius: 20px;
                                border: 1px solid var(--navy-bg);
                                color: var(--navy-bg);
                                cursor: pointer;
                                transition: all 0.3s;
                            }
                        }
                    }
                    .wrap-itineraires {
                        width: 100%;
                        margin: 0 auto;
                        padding: 10px;
                        display: grid;
                        grid-template-columns: repeat(2, 1fr);
                        gap: 20px;
                        .card {
                            display: flex;
                            gap: 20px;
                            width: 100%;
                            .card-body {
                                flex: 0 0 45%;
                                max-width: 45%;
                                display: flex;
                                flex-direction: column;
                                .visual {
                                    position: relative;
                                    flex-grow: 1;
                                    border-radius: 30px;
                                    overflow: hidden;
                                    &:hover img.card-image {
                                        transform: scale(1.05);
                                    }
                                    img.card-image {
                                        width: 100%;
                                        height: 75%;
                                        object-fit: cover;
                                        display: block;
                                        border-radius: 30px;
                                        cursor: pointer;
                                        transition: transform 0.4s ease;
                                        transform-origin: center center;
                                    }
                                    .wrap-ribbon {
                                        position: absolute;
                                        left: 50%;
                                        transform: translateX(-50%);
                                        width: 100%;
                                        bottom: 5px;
                                        .location-tag {
                                            position: relative;
                                            display: flex;
                                            align-items: center;
                                            background-color: #5873a7;
                                            color: var(--white-color);
                                            width: 90%;
                                            border-radius: 12px;
                                            margin: 0px auto 5px;
                                            .location-icon {
                                                font-size: 18px;
                                                margin-right: 2px;
                                                margin-left: -5px;
                                            }
                                            .city {
                                                font-family: var(--ff-raleway);
                                                font-size: var(--fz-12px);
                                                font-weight: var(--fw-400);
                                                margin-right: 5px;
                                            }
                                            .duration {
                                                font-weight: var(--fw-400);
                                                font-size: var(--fz-12px);
                                                margin-bottom: 3px;
                                                .minute {
                                                    font-family: var(--ff-raleway);
                                                    font-weight: var(--fw-700);
                                                    font-size: var(--fz-20px);
                                                    color: var(--orange-color);
                                                }
                                            }
                                            .arrow-icon {
                                                position: relative;
                                                img {
                                                    position: absolute;
                                                    width: 15px;
                                                    top: -5px;
                                                    left: 5px;
                                                }
                                            }
                                        }
                                        .transport-box {
                                            position: relative;
                                            bottom: 0px;
                                            display: flex;
                                            align-items: center;
                                            background-color: var(--orange-color);
                                            color: var(--white-color);
                                            border-radius: 12px;
                                            gap: 2px;
                                            width: 90%;
                                            padding: 2px;
                                            margin: 0px auto;
                                            .icon-car {
                                                img {
                                                    width: 35px;
                                                    padding: 5px 5px 0px;
                                                }
                                            }
                                            .transport-details {
                                                .mode {
                                                    font-family: var(--ff-raleway);
                                                    font-size: var(--fz-14px);
                                                    font-weight: var(--fw-600);
                                                    margin: 0;
                                                }
                                                .distance {
                                                    font-size: var(--fz-12px);
                                                    margin: 0;
                                                    .highlight {
                                                        color: var(--navy-bg);
                                                        font-weight: var(--fw-700);
                                                        font-size: var(--fz-16px);
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                            .card-content {
                                flex: 1;
                                display: flex;
                                flex-direction: column;
                                .title {
                                    font-family: var(--ff-raleway);
                                    font-size: var(--fz-16px);
                                    font-weight: var(--fw-600);
                                    color: var(--black-color);
                                    margin-bottom: 5px;
                                    line-height: 1.2;
                                }
                                .rate {
                                    font-family: var(--ff-dancing-script);
                                    font-size: var(--fz-16px);
                                    font-weight: var(--fw-600);
                                    margin-bottom: 5px;
                                    color: #e74c3c;
                                    display: flex;
                                    align-items: center;
                                    .star {
                                        color: #e74c3c;
                                        font-size: 16px;
                                        margin-right: 5px;
                                        line-height: 1;
                                    }
                                }
                                .description {
                                    font-family: var(--ff-raleway);
                                    font-weight: var(--fw-400);
                                    font-size: var(--fz-14px);
                                    color: var(--black-color);
                                    line-height: 1.5;
                                }
                            }
                        }
                    }
                }
            }
        }
        .memoires-de-voyageurs {
            width: 100%;
            overflow: hidden;
            background: #fff;
            position: relative;
            .header-slide {
                text-align: center;
                font-family: var(--ff-dancing-script);
                color: var(--navy-bg);
                h2 {
                    font-size: 48px;
                    font-weight: var(--fw-600);
                }
                .wrap-tag {
                    margin: 10px 0 30px;
                    span {
                        font-family: var(--ff-raleway);
                        font-weight: var(--fw-400);
                        font-size: var(--fz-16px);
                        padding: 5px 15px;
                        border: 1px solid var(--navy-bg);
                        border-radius: 30px;
                        margin: 0 5px;
                        display: inline-block;
                        cursor: pointer;
                    }
                }
            }
            .slider-wrapper {
                width: 100%;
                overflow: hidden;
                position: relative;
            }
            .card-slide {
                display: flex;
                gap: 20px;
                animation: slideLeft 10s linear infinite;
                img {
                    height: 250px;
                    border-radius: 20px;
                    flex-shrink: 0;
                    cursor: pointer;
                }
            }
        }
        .envoyer-message {
            margin-top: 50px;
            .wrap-message {
                background-image: url("../img/envoyer-message/1.png");
                background-size: cover;
                background-position: center;
                background-repeat: no-repeat;
                border-radius: 20px;
                padding: 60px 15px;
                color: white;
                text-align: center;
                position: relative;
                z-index: 1;
                &::before {
                    content: "";
                    position: absolute;
                    inset: 0;
                    background-color: #20448a85;
                    border-radius: 20px;
                    z-index: 0;
                }
                .card {
                    position: relative;
                    z-index: 10;
                    h2 {
                        font-family: var(--ff-dancing-script);
                        font-size: var(--fz-32px);
                        color: var(--white-color);
                        position: relative;
                        &::before {
                            content: "";
                            position: absolute;
                            border-bottom: 2px solid var(--white-color);
                            width: 10%;
                            top: 45px;
                            left: 50%;
                            transform: translateX(-50%);
                        }
                    }
                    p {
                        padding: 30px 0px 60px;
                    }
                    .send-message {
                        a {
                            border: 1px solid var(--white-color);
                            padding: 5px 15px;
                            color: var(--white-color);
                            border-radius: 15px;
                            text-decoration: none;
                            &:hover {
                                opacity: 0.7;
                                background-color: var(--navy-bg);
                                border: 1px solid var(--navy-bg);
                            }
                        }
                    }
                }
            }
        }
    }
}

@keyframes slideLeft {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}
@keyframes scrollLoop {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}
    footer {
        background-color: var(--navy-bg);
        color: #fff;
        padding: 60px 0;
        margin-top: 80px;
        .container {
            .wrap-footer {
                display: grid;
                grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
                gap: 30px;
                width: 100%;
                margin: 0 auto;
                padding: 0px 20px;
                .card {
                    .title {
                        position: relative;
                        display: inline-block;
                        h2 {
                            font-size: clamp(25px, 2vw, 30px);
                            font-weight: 600;
                            font-family: var(--ff-dancing-script);
                            color: #fff;
                            margin-bottom: 15px;
                            display: inline-block;
                            position: relative;
                            padding-bottom: 6px;
                            &::after {
                            content: "";
                            position: absolute;
                            bottom: 0;
                            left: 0;
                            width: 40px;
                            height: 2px;
                            background-color: var(--orange-color);
                            border-radius: 2px;
                            }
                        }
                    }
                    .content {
                        line-height: 1.6;
                        color: var(--white-color);
                            p {
                                margin-bottom: 15px;
                                font-family: var(--ff-raleway);
                                font-size: clamp(14px, 1.5vw, 16px);
                            }
                            .address {
                                display: flex;
                                flex-direction: column;
                            }
                            .information {
                                display: grid;
                                grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
                                gap: 10px;
                                align-items: start;
                            }
                            ul {
                                list-style: none;
                                padding: 0;
                                margin: 0;
                                li {
                                    display: flex;
                                    align-items: center;
                                    margin-bottom: 10px;
                                    transition: color 0.3s ease;
                                    img {
                                        width: 20px;
                                        height: 20px;
                                        margin-right: 10px;
                                        filter: brightness(0) invert(1);
                                    }
                                    span,
                                    a {
                                        color: var(--white-color);
                                        text-decoration: none;
                                        transition: color 0.3s ease;
                                        &:hover {
                                            color: var(--orange-color);
                                        }
                                    }
                                }
                            }
                        .instagram-grid {
                            display: grid;
                            grid-template-columns: repeat(2, 1fr);
                            gap: 10px;

                            a {
                                display: block;
                                overflow: hidden;
                                border-radius: 6px;

                                img {
                                width: 100%;
                                height: 100%;
                                object-fit: cover;
                                transition: transform 0.3s ease;

                                &:hover {
                                    transform: scale(1.05);
                                }
                                }
                            }
                        }
                        .wrap-content {
                            display: flex;
                            align-items: flex-start;
                            .visual {
                                margin-right: 10px;
                                img {
                                    width: 70px;
                                    height: 60px;
                                    object-fit: cover;
                                    border-radius: 6px;
                                    cursor: pointer;
                                }
                            }
                            .content {
                                h2 {
                                    font-size: clamp(12px, 1.5vw, 14px);
                                    color: var(--white-color);
                                    transition: color 0.3s ease;
                                    cursor: pointer;
                                    &:hover {
                                        color: var(--orange-color);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }


    @media (max-width: 600px) {
        .wrap-footer {
        text-align: center;

        .card {
            .title h2::after {
            left: 50%;
            transform: translateX(-50%);
            }

            ul li {
            justify-content: center;
            }
        }
        }
    }
    }

  .pagination {
    margin-top: 30px;
        ul {
            display: flex;
            flex-direction: row;
            justify-content: center;
            gap: 10px;
            align-items: center;
            li {
                width: 30px;
                height: 30px;
                background-color: var(--navy-bg);
                list-style: none;
                padding: 10px;
                border-radius: 50%;
                display: flex;
                justify-content: center;
                align-items: center;
                color: var(--white-color);
                font-family: var(--ff-dancing-script);
                font-size: var(--fz-16px);
                font-weight: var(--fw-600);
                cursor: pointer;
                &.active {
                    background-color: var(--orange-color);
                }
                &:hover {
                    background-color: #5873a7;
                }
                img {
                    width: 10px;
                }
            }
        }
    }
#histoire,
#decouverte,
#decouverte-detail,
#politique-de-confidentialite,
#about-us {
    .banner {
        .wrap-banner {
            position: relative;
            width: 100%;
            height: 600px;
            background-image: url("../img/banner/histoire-banner.svg");
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            z-index: 1;
            h2 {
                color: #fff;
                font-size: clamp(24px, 3vw, 48px);
                font-weight: 700;
                z-index: 2;
            }
        }
    }
    .main-content {
        .main-histoire {
            .container {
                .histoire {
                    position: relative;
                    z-index: 3;
                    &::before {
                        content: "";
                        position: absolute;
                        background-color: var(--white-color);
                        top: 10px;
                        width: 100%;
                        height: 50%;
                        z-index: 1;
                        border-radius: 15px;
                    }
                    .header-title {
                        position: relative;
                        z-index: 2;
                        margin-top: -140px;
                        padding: 40px 0px;
                        text-align: center;
                        h2 {
                            font-family: var(--ff-dancing-script);
                            font-weight: var(--fw-900);
                            text-align: center;
                            font-size: clamp(32px, 2.5vw, 48px);
                            color: var(--navy-bg);
                            position: relative;
                            display: inline-block;
                            margin: 0 auto;

                            &::after {
                                content: "";
                                position: absolute;
                                bottom: -10px;
                                left: 50%;
                                transform: translateX(-50%);
                                width: 30%;
                                border-bottom: 2px solid #20448ac2;
                            }
                        }
                    }

                    .wrap-histoire {
                        display: grid;
                        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
                        gap: 20px;
                        position: relative;
                        z-index: 2;
                        padding: 0 20px;
                        align-items: stretch;
                        .card {
                            display: flex;
                            flex-direction: column;
                            margin: 0;
                            height: 100%;
                            overflow: hidden;
                            .visual {
                                position: relative;
                                line-height: 0;
                                overflow: hidden;
                                cursor: pointer;
                                flex-shrink: 0;
                                img {
                                    width: 100%;
                                    display: block;
                                    margin: 0;
                                    padding: 0;
                                    transition: transform 0.4s ease;
                                }
                                &::after {
                                    content: "";
                                    position: absolute;
                                    top: 0;
                                    left: 0;
                                    width: 100%;
                                    height: 100%;
                                    background-color: rgba(0, 0, 0, 0);
                                    transition: background-color 0.4s ease;
                                    z-index: 2;
                                }
                                &:hover {
                                    img {
                                        transform: scale(1.09);
                                    }
                                    &::after {
                                        background-color: rgba(0, 0, 0, 0.3);
                                    }
                                }
                            }
                            .content {
                                flex: 1;
                                display: flex;
                                flex-direction: column;
                                justify-content: space-between;
                                font-family: var(--ff-raleway);
                                color: var(--black-color);
                                padding: 10px 10px 20px;
                                margin-top: 0;
                                background-color: var(--orange-color);
                                h2 {
                                    font-size: clamp(16px, 2vw, 18px);
                                    font-weight: var(--fw-600);
                                    text-align: center;
                                }
                                p {
                                    font-size: clamp(14px, 1.5vw, 16px);
                                    font-weight: var(--fw-400);
                                    text-align: left;
                                    padding-bottom: 30px;
                                    flex-grow: 1;
                                }
                                .decouvrir {
                                    margin: 0 auto;
                                    a {
                                        font-size: clamp(14px, 1.5vw, 16px);
                                        font-weight: var(--fw-400);
                                        text-align: center;
                                        border: 1px solid var(--black-color);
                                        display: inline-block;
                                        padding: 5px 15px;
                                        border-radius: 5px;
                                        color: var(--black-color);
                                        text-decoration: none;
                                        transition: all 0.6s ease;
                                        span img {
                                            width: 10px;
                                            transition: filter 0.3s ease;
                                        }
                                        &:hover {
                                            background-color: var(--black-color);
                                            color: var(--white-color);

                                            span img {
                                                filter: brightness(0) invert(1);
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
#decouverte {
    .main-content {
        .decouverte-du-cambodge {
            .container {
                .decouverte-itineraires {
                    position: relative;
                    padding: 0px;
                    z-index: 1;
                    &::before {
                        content: "";
                        position: absolute;
                        width: 100%;
                        height: 50%;
                        top: -20px;
                        z-index: 0;
                        background-color: #fff;
                        border-radius: 15px;
                    }
                    .tour-header {
                        position: relative;
                        z-index: 3;
                        margin-top: -100px;
                        padding-bottom: 15px;
                        text-align: center;
                        h2 {
                            font-size: clamp(32px, 2.5vw, 48px);
                            font-family: var(--ff-dancing-script);
                            color: var(--navy-bg);
                            position: relative;
                            display: inline-block;
                            &::after {
                            content: "";
                                position: absolute;
                                bottom: -10px;
                                left: 50%;
                                transform: translateX(-50%);
                                width: 30%;
                                border-bottom: 2px solid #20448ac2;
                            }
                        }
                    }
                    .wrap-itineraires {
                        position: relative;
                        z-index: 3;
                        padding: 0px 30px;
                        .card {
                            padding-bottom: 20px;
                        }
                    }
                }
            }
        }
    }
}
#decouverte-detail {
    .main-content {
        .main-decouverte-detail {
            .container {
                .decouverte-detail {
                    position: relative;
                    z-index: 3;
                    &::before {
                        content: "";
                        position: absolute;
                        background-color: var(--white-color);
                        top: 10px;
                        width: 100%;
                        height: 5%;
                        z-index: 1;
                        border-radius: 15px;
                    }
                    .header-title {
                        position: relative;
                        z-index: 2;
                        margin-top: -140px;
                        text-align: center;
                        h2 {
                            font-family: var(--ff-dancing-script);
                            font-weight: 900;
                            color: var(--navy-bg);
                            font-size: clamp(32px, 2.5vw, 48px);
                            padding: 40px 0;
                            position: relative;
                            display: inline-block;
                            &::after {
                            content: "";
                            position: absolute;
                            bottom: 30px;
                            left: 50%;
                            transform: translateX(-50%);
                            width: 30%;
                            border-bottom: 2px solid #20448ac2;
                            }
                        }
                    }

                    .wrap-decouverte-detail {
                        display: grid;
                        grid-template-columns: 800px 1fr;
                        gap: 20px;
                        z-index: 2;
                        position: relative;
                        padding: 0px 15px;
                        .visual {
                            width: 100%;
                            .wrap-visual {
                                position: relative;
                                overflow: hidden;
                                width: 100%;
                                img {
                                    width: 100%;
                                    display: block;
                                    transition: transform 0.4s ease;
                                    cursor: pointer;
                                }
                                &::after {
                                    content: "";
                                    position: absolute;
                                    inset: 0;
                                    background-color: rgba(255, 0, 0, 0);
                                    transition: background-color 0.4s ease;
                                    pointer-events: none;
                                }
                                &:hover img {
                                    transform: scale(1.05);
                                }
                                &:hover::after {
                                    background-color: rgba(0,0,0,0.3);
                                }
                            }
                            .content-detail {
                                width: 100%;
                                position: relative;
                                .content {
                                    font-family: var(--ff-raleway);
                                    h2 {
                                        font-size: var(--fz-20px);
                                        color: var(--navy-bg);
                                        font-weight: var(--fw-900);
                                        padding: 15px 0px 5px;
                                    }
                                    p {
                                        font-size: var(--fz-16px);
                                        font-weight: var(--fw-400);
                                        color: var(--black-color);
                                        line-height: 25px;
                                        letter-spacing: 0.5px;
                                    }
                                }
                                .included-exclude {
                                    margin-top: 20px;
                                    h2 {
                                        font-family: var(--ff-raleway);
                                        font-size: var(--fz-20px);
                                        color: var(--navy-bg);
                                        font-weight: var(--fw-900);
                                        margin-bottom: 5px;
                                    }
                                    .wrap-content {
                                        display: grid;
                                        grid-template-columns: 1fr 1fr;
                                        gap: 20px;
                                        width: 100%;

                                        .included, .exclude {
                                            ul {
                                            list-style: none;
                                            padding: 0;
                                            margin: 0;

                                            li {
                                                font-family: var(--ff-raleway);
                                                font-size: var(--fz-16px);
                                                font-weight: var(--fw-400);
                                                position: relative;
                                                padding-left: 25px;
                                            }
                                            }
                                        }
                                        .included li::before {
                                            content: "✔";
                                            color: var(--navy-bg);
                                            font-weight: bold;
                                            position: absolute;
                                            left: 0;
                                            top: 0;
                                        }
                                        .exclude li::before {
                                            content: "✖";
                                            color: var(--orange-color);
                                            font-weight: bold;
                                            position: absolute;
                                            left: 0;
                                            top: 0;
                                        }
                                        }

                                }
                            }
                        }
                        .information {
                            width: 100%;
                            display: flex;
                            flex-direction: column;
                            gap: 20px;
                            .contact {
                                h2 {
                                    font-family: var(--ff-dancing-script);
                                    color: var(--navy-bg);
                                    font-size: 28px;
                                    font-weight: var(--fw-900);
                                    position: relative;
                                    padding-bottom: 8px;
                                    &::after {
                                        content: "";
                                        position: absolute;
                                        left: 0;
                                        bottom: 0;
                                        width: 100%;
                                        height: 2px;
                                        background-color: #20448a2e;
                                    }
                                }
                                .wrap-contact {
                                    margin-top: 15px;
                                    ul {
                                        display: flex;
                                        flex-direction: column;
                                        gap: 10px;
                                        align-items: flex-start;
                                        li {
                                            display: flex;
                                            align-items: center;
                                            gap: 10px;
                                            color: var(--navy-bg);
                                            font-family: var(--ff-raleway);
                                            font-size: var(--fz-16px);
                                            font-weight: var(--fw-600);
                                            &.mail {
                                                font-family: var(--ff-dancing-script);
                                                font-size: var(--fz-24px);
                                                font-weight: var(--fw-600);
                                            }
                                        }
                                    }
                                }
                            }
                            .maping-view {
                                position: relative;
                                h2 {
                                    font-family: var(--ff-dancing-script);
                                    color: var(--navy-bg);
                                    font-size: 28px;
                                    font-weight: var(--fw-900);
                                    position: relative;
                                }
                                .wrap-map {
                                    margin-top: 15px;
                                    iframe {
                                        width: 100%;
                                        height: 450px;
                                        border: none;
                                    }
                                }
                            }
                            .btn-booking {
                                a {
                                    background-color: var(--orange-color);
                                    font-family: var(--ff-raleway);
                                    font-size: var(--fz-20px);
                                    color: var(--white-color);
                                    padding: 10px 15px;
                                    border-radius: 50px;
                                    text-align: center;
                                    display: flex;
                                    align-items: center;
                                    justify-content: center;
                                    text-decoration: none;
                                    transition: all 0.3s ease;
                                    &:hover {
                                        background-color: var(--navy-bg);
                                    }
                                }
                            }
                        }
                    }
                    .tour-plan {
                        display: grid;
                        grid-template-columns: 800px 1fr;
                        gap: 20px;
                        align-items: start;
                        width: 100%;
                        padding: 0px;
                        margin-top: 20px;
                        .wrap-tour-plan {
                            max-width: 100%;
                            margin: 0 auto;
                            background-color: #ffffff;
                            border-radius: 8px;
                            .tour-plan-title {
                                font-size: var(--fz-24px);
                                font-weight: var(--fw-900);
                                color: var(--navy-bg);
                                margin-bottom: 20px;
                                padding-bottom: 10px;
                                border-bottom: 1px solid #eee;
                            }
                            .day-plan {
                                margin-bottom: 15px;
                                border-bottom: 1px solid #e0e0e0;
                                &:last-child {
                                border-bottom: none;
                                margin-bottom: 0;
                                }

                                .day-header {
                                    display: flex;
                                    align-items: center;
                                    padding: 10px 0;
                                    cursor: pointer;
                                    font-family: var(--ff-raleway);
                                    font-weight: var(--fw-600);
                                    color: var(--navy-bg);
                                    .day-button {
                                        background-color: var(--white-color);
                                        color: var(--navy-bg);
                                        border: 1px solid var(--navy-bg);
                                        padding: 5px 15px;
                                        border-radius: 20px;
                                        font-weight: var(--fw-400);
                                        font-size: var(--fz-14px);
                                        margin-right: 15px;
                                        cursor: pointer;
                                    }
                                    .day-title {
                                        font-size: var(--fz-20px);
                                        flex-grow: 1;
                                    }
                                    .dropdown-icon {
                                        width: 20px;
                                        height: 20px;
                                        color: #555;
                                    }
                                }

                                &.open {
                                    .day-button {
                                        background-color: var(--navy-bg);
                                        color: var(--white-color);
                                    }
                                }
                                .day-details {
                                    padding-left: 20px;
                                    padding-top: 10px;
                                    transition: max-height 0.4s ease, opacity 0.35s ease;
                                    overflow: hidden;
                                    max-height: 0;
                                    opacity: 0;
                                    .timeline-event {
                                        position: relative;
                                        padding-bottom: 25px;
                                        padding-left: 40px;
                                        &:last-child {
                                            padding-bottom: 0;
                                        }
                                        &::before {
                                            content: '';
                                            position: absolute;
                                            top: 0;
                                            left: 10px;
                                            width: 2px;
                                            height: 100%;
                                            background-image: linear-gradient(to bottom, #20448a 2px, transparent 2px);
                                            background-size: 100% 10px;
                                        }
                                        &:last-child::before {
                                            height: 10px;
                                        }
                                        .timeline-marker {
                                            position: absolute;
                                            top: 0;
                                            left: 0;
                                            width: 24px;
                                            height: 24px;
                                            background-color: var(--navy-bg);
                                            color: white;
                                            border-radius: 50%;
                                            display: flex;
                                            justify-content: center;
                                            align-items: center;
                                            font-weight: 600;
                                            font-size: 0.85em;
                                            z-index: 1;
                                        }
                                        .event-time {
                                            font-weight: 600;
                                            color: var(--navy-bg);
                                            font-size: var(--fz-16px);
                                            font-family: var(--ff-raleway);
                                            margin-bottom: 5px;
                                        }
                                        .event-content {
                                            p {
                                                font-size: var(--fz-16px);
                                                font-family: var(--ff-raleway);
                                                color: var(--black-color);
                                                line-height: 1.6;
                                                margin: 0;
                                                padding-right: 10px;
                                            }
                                        }
                                    }
                                }
                                .day-plan.open {
                                    .day-details {
                                        max-height: 1000px;
                                        opacity: 1;
                                    }
                                }

                                &:not(.open) {
                                .day-details {
                                    display: none;
                                }
                                }
                            }
                            .tour-related {
                                .tour-related-title {
                                    font-family: var(--ff-raleway);
                                    font-weight: var(--fw-900);
                                    color: var(--navy-bg);
                                    font-size: var(--fz-24px);
                                    margin-bottom: 15px;
                                }

                                .wrap-tour-related {
                                    display: grid;
                                    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
                                    gap: 20px;
                                    margin: 0 auto;
                                    align-items: stretch;

                                    .card {
                                        background-color: #fff;
                                        border-radius: 10px;
                                        overflow: hidden;
                                        box-shadow: 0 4px 12px rgba(0,0,0,0.05);
                                        display: flex;
                                        flex-direction: column;
                                        height: 100%;
                                        transition: transform 0.3s ease;
                                        &:hover {
                                            transform: translateY(-5px);
                                        }
                                        .visual {
                                            position: relative;
                                            overflow: hidden;
                                            flex-shrink: 0;
                                            cursor: pointer;
                                            img {
                                                width: 100%;
                                                display: block;
                                                border-radius: 10px 10px 0 0;
                                                transition: transform 0.4s ease;
                                            }
                                            &:hover img {
                                                transform: scale(1.05);
                                            }
                                        }
                                        .content {
                                            padding: 10px;
                                            flex-grow: 1;
                                            h2 {
                                                font-family: var(--ff-raleway);
                                                font-weight: 600;
                                                font-size: var(--fz-16px);
                                                color: var(--navy-bg);
                                                padding-bottom: 5px;
                                                cursor: pointer;
                                            }

                                            p {
                                                font-family: var(--ff-raleway);
                                                font-weight: 400;
                                                font-size: var(--fz-14px);
                                                color: #555;
                                                line-height: 1.4;
                                            }
                                        }
                                        .view-tour {
                                            padding: 10px 15px;
                                            margin-top: auto;
                                            a {
                                                display: flex;
                                                justify-content: center;
                                                text-decoration: none;
                                                border: 1px solid var(--orange-color);
                                                color: var(--orange-color);
                                                padding: 8px 15px;
                                                border-radius: 5px;
                                                font-weight: 600;
                                                font-family: var(--ff-raleway);
                                                font-size: var(--fz-16px);
                                                transition: background-color 0.3s ease;
                                                &:hover {
                                                    background-color: var(--orange-color);
                                                    color: var(--white-color);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        .last-minutes-deal {
                            width: 100%;
                            position: relative;
                            .minutes-deal {
                                position: relative;
                                font-size: var(--fz-20px);
                                font-weight: var(--fw-900);
                                font-family: var(--ff-raleway);
                                text-align: left;
                                color: var(--navy-bg);
                                padding: 20px 0px;
                                &::after {
                                    content: "";
                                    position: absolute;
                                    bottom: 15px;
                                    left: 50%;
                                    transform: translateX(-50%);
                                    width: 100%;
                                    border-bottom: 1px solid #eee;
                                }
                            }
                            .wrap-deal {
                                .card {
                                    display: grid;
                                    grid-template-columns: 120px 1fr;
                                    gap: 10px;
                                    align-items: start;
                                    width: 100%;
                                    padding: 0;
                                    margin-bottom: 10px;

                                    .visual {
                                        position: relative;
                                        overflow: hidden;
                                        cursor: pointer;
                                        a {
                                            position: relative;
                                            z-index: 2;
                                            display: block;
                                        }
                                        img {
                                            width: 100%;
                                            display: block;
                                            transition: transform 0.4s ease;
                                        }
                                        &::after {
                                            content: "";
                                            position: absolute;
                                            top: 0;
                                            left: 0;
                                            width: 100%;
                                            height: 100%;
                                            background-color: rgba(0,0,0,0);
                                            transition: background-color 0.4s ease;
                                            z-index: 1;
                                        }
                                        &:hover {
                                            img {
                                                transform: scale(1.05);
                                            }
                                            &::after {
                                                background-color: rgba(0,0,0,0.3);
                                            }
                                        }
                                    }
                                    .content {
                                        position: relative;
                                        z-index: 2;

                                        h2 {
                                            font-family: var(--ff-raleway);
                                            font-weight: 600;
                                            font-size: var(--fz-16px);
                                            text-align: left;
                                            color: var(--navy-bg);
                                            margin: 0;

                                            a {
                                                display: inline-block;
                                                width: 100%;
                                                color: inherit;
                                                text-decoration: none;
                                                cursor: pointer;
                                            }
                                        }

                                        p {
                                            font-family: var(--ff-raleway);
                                            font-weight: 400;
                                            font-size: var(--fz-14px);
                                            text-align: left;
                                        }
                                    }

                                }
                            }
                            .autre-destination {
                                .autre-categorie {
                                    position: relative;
                                    font-size: var(--fz-20px);
                                    font-weight: var(--fw-900);
                                    font-family: var(--ff-raleway);
                                    text-align: left;
                                    color: var(--navy-bg);
                                    padding: 20px 0px;
                                    &::after {
                                        content: "";
                                        position: absolute;
                                        bottom: 15px;
                                        left: 50%;
                                        transform: translateX(-50%);
                                        width: 100%;
                                        border-bottom: 1px solid #eee;
                                    }
                                }
                                .card {
                                    margin-bottom: 15px;
                                    .visual {
                                        position: relative;
                                        overflow: hidden;
                                        cursor: pointer;
                                        border-radius: 10px;
                                        a {
                                            position: relative;
                                            z-index: 2;
                                            display: block;
                                        }
                                        img {
                                            width: 100%;
                                            display: block;
                                            border-radius: 10px;
                                            transition: transform 0.4s ease;
                                        }
                                        .count, .location {
                                            position: absolute;
                                            font-family: var(--ff-raleway);
                                            font-weight: var(--fw-600);
                                            color: #fff;
                                            z-index: 2;
                                            transition: transform 0.4s ease;
                                        }
                                        .count {
                                            top: 10px;
                                            right: 10px;
                                            background-color: var(--orange-color);
                                            padding: 6px 15px;
                                            border-radius: 50px;
                                            font-size: var(--fz-16px);
                                        }
                                        .location {
                                            bottom: 10px;
                                            left: 10px;
                                            font-size: var(--fz-20px);
                                        }
                                        &::after {
                                            content: "";
                                            position: absolute;
                                            top: 0;
                                            left: 0;
                                            width: 100%;
                                            height: 100%;
                                            background-color: rgba(0,0,0,0);
                                            transition: background-color 0.4s ease;
                                            z-index: 1;
                                        }
                                        &:hover {
                                            img {
                                                transform: scale(1.05);
                                            }

                                            &::after {
                                                background-color: rgba(0,0,0,0.3);
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
#contact {
    .contact {
        .banner {
            .wrap-banner {
                position: relative;
                width: 100%;
                height: 600px;
                #map {
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                }
            }
        }
    }
    .main-content {
        .contact-du-cambodge {
            .container {
                .form-contact {
                    .contact-title {
                        font-size: 60px;
                        font-family: var(--ff-dancing-script);
                        color: var(--navy-bg);
                        font-weight: var(--fw-900);
                        text-align: center;
                        padding: 60px 0px 20px;
                    }
                    .wrap-contact {
                        display: grid;
                        grid-template-columns: auto 1fr;
                        gap: 30px;
                        align-items: start;
                        justify-content: center;
                        padding: 20px;
                        box-sizing: border-box;
                        .send-message {
                            width: 800px;
                            h2 {
                                font-family: var(--ff-dancing-script);
                                color: var(--navy-bg);
                                font-weight: var(--fw-900);
                                margin-bottom: 20px;
                                font-size: 30px;
                            }
                            form {
                                display: flex;
                                flex-direction: column;
                                .form-group {
                                    margin-bottom: 15px;
                                    label {
                                    display: block;
                                    margin-bottom: 5px;
                                    font-family: var(--ff-raleway);
                                    color: var(--navy-bg);
                                    font-weight: var(--fw-600);
                                    font-size: 16px;
                                    }
                                    input,
                                    textarea {
                                        width: 100%;
                                        padding: 10px;
                                        border: 1px solid #ccc;
                                        border-radius: 4px;
                                        font-size: 16px;
                                        box-sizing: border-box;
                                        &:focus {
                                            outline: none;
                                            border-color: #ccc;
                                        }
                                        &::placeholder {
                                            color: #20438a5e;
                                        }
                                    }
                                    textarea {
                                        resize: vertical;
                                        min-height: 100px;
                                    }
                                    .submit {
                                        display: inline-block;
                                        padding: 12px 25px;
                                        color: var(--orange-color);
                                        text-align: center;
                                        border: 1px solid var(--orange-color);
                                        border-radius: 4px;
                                        cursor: pointer;
                                        font-size: 16px;
                                        background-color: transparent;
                                        transition: background 0.3s;
                                        &:hover {
                                            background-color: var(--orange-color);
                                            color: var(--white-color);
                                        }
                                    }
                                }
                            }
                        }
                        .address {
                            width: 100%;
                            .contact-address {
                                display: flex;
                                flex-direction: column;
                                gap: 20px;
                                h2 {
                                    margin-bottom: 10px;
                                    font-size: 30px;
                                    font-family: var(--ff-dancing-script);
                                    color: var(--navy-bg);
                                    font-weight: var(--fw-900);
                                }
                                .email-us p {
                                    font-family: var(--ff-raleway);
                                    color: var(--black-color);
                                    font-weight: var(--fw-400);
                                    margin: 0 0 10px 0;
                                    line-height: 1.5;
                                    font-size: 16px;
                                }
                                .our-social ul,
                                .email-us ul {
                                    list-style: none;
                                    display: flex;
                                    gap: 10px;
                                    padding: 0;
                                    margin: 0;
                                    li {
                                        font-size: 16px;
                                        font-family: var(--ff-raleway);
                                        color: var(--black-color);
                                        font-weight: var(--fw-400);
                                        img {
                                            width: 30px;
                                            height: 30px;
                                        }
                                    }
                                }
                                .our-address p span {
                                    display: block;
                                    font-family: var(--ff-raleway);
                                    color: var(--black-color);
                                    font-weight: var(--fw-400);
                                    margin: 0 0 10px 0;
                                    line-height: 1.5;
                                    font-size: 16px;
                                }
                                .email-us ul {
                                    flex-direction: column;
                                    li {
                                        display: flex;
                                        align-items: center;
                                        gap: 10px;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
#politique-de-confidentialite {
  .main-content {
    .main-privacy-policy {
      .container {
        .wrap-privacy-policy {
          margin: 28px auto;
          padding: 0px 30px;

          .privacy-title {
            font-size: clamp(30px, 5vw, 60px);
            font-family: var(--ff-dancing-script);
            font-weight: var(--fw-900);
            text-align: center;
            color: var(--navy-bg);
            letter-spacing: -0.2px;
          }

          .privacy-policy {
            display: grid;
            gap: 20px;
            margin-top: 8px;

            .card {
              overflow: hidden;
              border-bottom: 1px solid rgba(15, 23, 42, 0.04);

              .card-title {
                display: flex;
                align-items: center;
                justify-content: space-between;
                padding: 16px 18px;
                gap: 10px;
                cursor: pointer;
                user-select: none;
                transition: background 0.3s ease;

                h2 {
                    margin: 0;
                    font-size: clamp(18px, 2vw, 20px);
                    font-family: var(--ff-raleway);
                    font-weight: var(--fw-600);
                    color: var(--navy-bg);
                }

                .arrow-down {
                  display: inline-flex;
                  align-items: center;
                  justify-content: center;
                  width: 40px;
                  height: 40px;
                  border-radius: 999px;
                  transition: transform 0.3s ease, background 0.3s ease;
                  background: transparent;

                  svg {
                    width: 20px;
                    height: 20px;
                    display: block;
                    transition: transform 0.3s ease;
                    color: var(--navy-bg);
                  }
                }

                &:hover,
                &:focus {
                  background-color: rgba(255, 68, 0, 0.068);
                }

                &:focus {
                  outline: 3px solid rgba(192, 57, 43, 0.12);
                  outline-offset: 2px;
                }
              }

              .content {
                padding: 0 18px;
                overflow: hidden;
                max-height: 0;
                transition: max-height 0.45s cubic-bezier(0.4, 0, 0.2, 1), padding 0.3s ease;
                box-sizing: border-box;
                will-change: max-height, padding;

                p {
                    font-size: clamp(14px, 1.2vw, 16px);
                    font-family: var(--ff-raleway);
                    font-weight: var(--fw-400);
                    margin-bottom: 10px;
                    color: #666;
                    line-height: 25px;

                    span {
                        display: block;
                    }
                }
              }
              &.active {
                .content {
                  padding-bottom: 30px;
                }
                .arrow-down svg {
                  transform: rotate(180deg);
                }
              }
            }
          }
        }
      }
    }
  }
}
#about-us {
    .main-content {
        .main-about-us {
            .container {
                .about-us {
                    margin-top: 60px;
                    .about-guidance {
                        display: grid;
                        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
                        gap: 20px;
                        text-align: center;
                        align-items: stretch;
                        .card {
                            display: flex;
                            flex-direction: column;
                            align-items: center;
                            justify-content: flex-start;
                            background: #fff;
                            border-radius: 10px;
                            padding: 20px;
                            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
                            transition: transform 0.3s ease;
                            height: 100%;
                            min-height: 220px;
                            text-align: center;
                            cursor: pointer;
                            &:hover {
                                transform: translateY(-5px);
                            }
                            .card-img {
                                display: flex;
                                align-items: center;
                                justify-content: center;
                                width: 100%;
                                height: 100px;
                                margin-bottom: 15px;
                            }
                            .card-text {
                                font-family: var(--ff-raleway);
                                font-weight: 600;
                                color: var(--navy-bg);
                                font-size: 18px;
                                line-height: 1.4;
                                text-align: center;
                            }
                        }
                    }
                    .about-me {
                        width: 900px;
                        max-width: 100%;
                        margin: 60px auto 0px;
                        h2 {
                            font-family: var(--ff-dancing-script);
                            font-size: clamp(40px, 5vw, 60px);
                            font-weight: 900;
                            color: var(--navy-bg);
                            text-align: center;
                            padding: 20px 0px;
                        }
                        .wrap-about-me {
                            display: grid;
                            grid-template-columns: 400px 1fr;
                            gap: 20px;
                            align-items: start;
                            .profile {
                                img {
                                    width: 100%;
                                    height: auto;
                                    border-radius: 10px;
                                }
                            }
                            .content {
                                p {
                                    font-family: var(--ff-raleway);
                                    font-weight: 400;
                                    font-size: clamp(14px, 1.2vw, 16px);
                                    color: var(--black-color);
                                    line-height: 1.3;
                                }
                            }
                        }
                    }
                    .people-love-me {
                        margin-top: 60px;
                        .header-title {
                            text-align: center;
                            margin-bottom: 30px;
                            h3 {
                                font-family: var(--ff-raleway);
                                font-size: 24px;
                                font-weight: var(--fw-600);
                                color: var(--navy-bg);
                            }
                            .title-tripadvisor {
                                display: flex;
                                flex-direction: row;
                                align-items: center;
                                justify-content: center;
                                gap: 5px;
                                font-family: var(--ff-raleway);
                                font-size: 32px;
                                font-weight: var(--fw-900);
                                color: var(--navy-bg);
                            }
                        }
                        .tripadivisor-slide-wrapper {
                            position: relative;
                            overflow: hidden;
                            width: 100%;
                            margin: auto;
                            .tripadivisor-slide {
                                display: flex;
                                gap: 20px;
                                transition: transform 0.4s ease;
                                will-change: transform;
                                a.card {
                                    flex: 0 0 auto;
                                    width: 280px;
                                    text-decoration: none;
                                    color: inherit;
                                    padding: 15px;
                                    border-radius: 16px;
                                    border: 1px solid rgba(0, 0, 0, 0.08);
                                    transition: all 0.3s ease;
                                    &:hover {
                                        transform: translateY(-5px);
                                        box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.18);
                                    }
                                    .ribbon {
                                        width: 100%;
                                        position: relative;
                                        display: flex;
                                        .rate,
                                        .date {
                                            position: absolute;
                                        }
                                        .rate {
                                            left: 0;
                                            top: 0;
                                        }
                                        .date {
                                            right: 0;
                                            top: 0;
                                            font-family: var(--ff-raleway);
                                            font-weight: var(--fw-400);
                                            color: var(--navy-bg);
                                            font-size: clamp(13px, 1.2vw, 16px);
                                        }
                                    }
                                    .content {
                                        margin-top: 60px;
                                        p {
                                            text-align: left;
                                            font-family: var(--ff-raleway);
                                            font-weight: var(--fw-400);
                                            color: var(--black-color);
                                            font-size: clamp(13px, 1.2vw, 16px);
                                        }
                                        .profile {
                                            padding-top: 30px;
                                            display: flex;
                                            gap: 10px;
                                            .visual img {
                                                width: 50px;
                                                height: 50px;
                                                border-radius: 50%;
                                                object-fit: cover;
                                            }
                                            .info {
                                                .name {
                                                    font-family: var(--ff-dancing-script);
                                                    font-weight: var(--fw-900);
                                                    color: var(--navy-bg);
                                                    font-size: clamp(18px, 2vw, 25px);
                                                }
                                                .city-country {
                                                    font-family: var(--ff-raleway);
                                                    font-weight: var(--fw-400);
                                                    color: var(--black-color);
                                                    font-size: clamp(12px, 1.2vw, 14px);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                            .slide-btn {
                                position: absolute;
                                top: 50%;
                                transform: translateY(-50%);
                                background: var(--navy-bg);
                                color: #fff;
                                border: none;
                                border-radius: 50%;
                                width: 40px;
                                height: 40px;
                                cursor: pointer;
                                z-index: 5;
                                font-size: 20px;
                                transition: 0.3s ease;

                                &:hover {
                                    background: #20448acc;
                                }

                                &.prev {
                                    left: 10px;
                                }

                                &.next {
                                    right: 20px;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

#map {
      width: 100%;
      height: 500px;
    }
    .gm-style-iw {
    padding: 5px !important;
    font-size: 1px;
}

.gm-style-iw + div {
    top: 0px !important;
    right: 0px !important;
}

.gm-ui-hover-effect img {
    width: 16px !important;
    height: 16px !important;
}

.gm-style-iw-ch {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    flex-grow: 1;
    -webkit-flex-shrink: 1;
    flex-shrink: 1;
    padding-top: 2px;
    overflow: hidden;
}
/* WhatApp */
#whatsapp-button {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1000;
    img {
        width: 100px;
        height: 100px;
        cursor: pointer;
        transition: transform 0.2s;
        &:hover {
            transform: scale(1.1);
        }
    }
}
#whatsapp-popup {
    position: fixed;
    bottom: 80px;
    right: 20px;
    width: 280px;
    background-color: #ffffff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    border-radius: 10px;
    display: none;
    z-index: 1000;
    .chat-header {
        background-color: #25D366;
        color: #ffffff;
        padding: 10px;
        font-size: 15px;
        border-top-left-radius: 10px;
        border-top-right-radius: 10px;
        position: relative;
        span {
            position: absolute;
            top: 5px;
            right: 10px;
            cursor: pointer;
            font-size: 20px;
        }
    }
    .chat-body {
        padding: 10px;
        #whatsapp-message {
            width: calc(100% - 20px);
            height: 150px;
            padding: 5px;
            border: 1px solid #ccc;
            border-radius: 5px;
            resize: none;
        }
        button {
            background-color: #25D366;
            color: #ffffff;
            border: none;
            padding: 8px 16px;
            margin-top: 5px;
            border-radius: 5px;
            cursor: pointer;
            width: 100%;
            font-size: 14px;
            &:hover {
                background-color: #1ebe57;
            }
        }
    }
}
/* End WhatApp */
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
