/* =====================================================
 * DESTINATION HERO
 * ===================================================== */

.voyager-destination-hero {
    position: relative;
    min-height: 720px;
    overflow: hidden;
    color: #fff;
}


/* =====================================================
 * HERO BACKGROUND
 * ===================================================== */

.voyager-destination-hero-background {
    position: absolute;
    inset: 0;
    z-index: 0;
}


.voyager-destination-hero-slide {
    position: absolute;
    inset: 0;

    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;

    opacity: 0;

    transition: opacity 1.2s ease-in-out;
}


.voyager-destination-hero-slide.is-active {
    opacity: 1;
}


/* =====================================================
 * HERO OVERLAY
 * ===================================================== */

.voyager-destination-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.72) 0%,
            rgba(0, 0, 0, 0.48) 45%,
            rgba(0, 0, 0, 0.30) 100%
        );
}


/* =====================================================
 * HERO CONTAINER
 * ===================================================== */

.voyager-destination-hero-container {
    position: relative;
    z-index: 2;

    min-height: 720px;

    display: flex;
    align-items: center;
}


/* =====================================================
 * LEFT CONTENT
 * ===================================================== */

.voyager-destination-hero-copy {
    max-width: 720px;
}


.voyager-destination-hero-title {
    margin: 0 0 20px;

    font-size: clamp(3rem, 7vw, 6rem);
    line-height: 0.95;
    font-weight: 700;
}


.voyager-destination-hero-tagline {
    margin-bottom: 20px;

    font-size: 1.5rem;
    line-height: 1.3;
}


.voyager-destination-hero-description {
    max-width: 600px;

    margin-bottom: 30px;

    font-size: 1.05rem;
    line-height: 1.7;
}


.voyager-destination-hero-actions {
    margin-top: 30px;
}


/* =====================================================
 * DESTINATION HERO
 * HORIZONTAL CONTENT CAROUSEL
 * ===================================================== */

.voyager-destination-hero-carousel {
    position: relative;

    width: 100%;
}


/* =====================================================
 * VIEWPORT
 * ===================================================== */

.voyager-destination-hero-carousel-viewport {
    width: 100%;

    overflow: hidden;
}


/* =====================================================
 * TRACK
 * ===================================================== */

.voyager-destination-hero-carousel-track {
    display: flex;

    gap: 16px;

    transition: transform 0.6s ease-in-out;

    will-change: transform;
}


/* =====================================================
 * CARD
 * ===================================================== */

.voyager-destination-hero-card {
    flex: 0 0 calc(
        (100% - 48px) / 3.5
    );

    min-height: 360px;

    padding: 30px;

    display: flex;
    flex-direction: column;

    border: 1px solid rgba(255, 255, 255, 0.25);

    background: rgba(0, 0, 0, 0.28);

    backdrop-filter: blur(8px);

    color: #fff;
}


/* =====================================================
 * CARD CONTENT
 * ===================================================== */

.voyager-destination-hero-card-label {
    display: block;

    margin-bottom: 18px;

    font-size: 0.7rem;
    font-weight: 700;

    letter-spacing: 0.15em;
}


.voyager-destination-hero-card h2 {
    margin-bottom: 18px;

    font-size: 1.8rem;
    line-height: 1.1;
}


.voyager-destination-hero-card p {
    margin-bottom: 25px;

    font-size: 0.95rem;
    line-height: 1.6;
}


.voyager-destination-hero-card .btn {
    align-self: flex-start;

    margin-top: auto;
}


/* =====================================================
 * CONTROLS
 * ===================================================== */

.voyager-destination-hero-carousel-controls {
    display: flex;

    align-items: center;

    gap: 15px;

    margin-top: 20px;
}


.voyager-destination-hero-carousel-controls button {
    width: 42px;
    height: 42px;

    padding: 0;

    border: 1px solid rgba(255, 255, 255, 0.5);

    background: transparent;

    color: #fff;

    cursor: pointer;
}


.voyager-destination-hero-carousel-controls button:hover {
    background: rgba(255, 255, 255, 0.15);
}


.voyager-destination-hero-carousel-counter {
    font-size: 0.8rem;

    letter-spacing: 0.1em;
}


/* =====================================================
 * TABLET
 * ===================================================== */

@media (max-width: 1199.98px) {

    .voyager-destination-hero-card {
        flex-basis: calc(
            (100% - 32px) / 2.5
        );
    }

}


/* =====================================================
 * MOBILE
 * ===================================================== */

@media (max-width: 767.98px) {

    .voyager-destination-hero-card {
        flex-basis: 85%;
    }

}


/* =====================================================
 * MOBILE
 * ===================================================== */

@media (max-width: 991.98px) {

    .voyager-destination-hero {
        min-height: 800px;
    }


    .voyager-destination-hero-container {
        min-height: 800px;
    }


    .voyager-destination-hero-copy {
        margin-bottom: 50px;
    }


    .voyager-destination-hero-title {
        font-size: clamp(3rem, 14vw, 5rem);
    }


    .voyager-destination-hero-carousel {
        min-height: 350px;
    }

}