/* =========================================================
   TOUR INTRO
   ========================================================= */

.tour-intro {
    width: 100%;
    margin: 0;
    padding: 28px 0 24px;
}


/* =========================================================
   TOUR INTRO CONTENT
   ========================================================= */

.tour-intro-content {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

/* =========================================================
   TOUR CATEGORY
   ========================================================= */

.tour-category {
    display: inline-flex;
    align-items: center;

    margin: 0 0 10px;
    padding: 5px 10px;

    color: var(--color-primary);
    background-color: var(--color-primary-light);

    border-radius: var(--radius-sm);

    font-family: var(--font-family);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;

    text-transform: uppercase;
    letter-spacing: 0.4px;
}


/* =========================================================
   TOUR TITLE
   ========================================================= */

.tour-intro h1 {
    max-width: 1000px;

    margin: 0;

    color: var(--color-text);

    font-family: var(--font-family);
    font-size: clamp(30px, 4vw, 46px);
    font-weight: 800;
    line-height: 1.15;

    letter-spacing: -0.8px;
}


/* =========================================================
   TOUR META
   ========================================================= */

.tour-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    margin-top: 16px;

    gap: 10px;

    font-family: var(--font-family);
}


/* =========================================================
   TOUR RATING
   ========================================================= */

.tour-rating {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;

    margin: 0;
    padding: 0;

    gap: 7px;

    font-size: 14px;
    line-height: 1.4;
}


/* =========================================================
   RATING NUMBER
   ========================================================= */

.tour-rating .rating {
    color: var(--color-text);

    font-size: 15px;
    font-weight: 700;
    line-height: 1;
}


/* =========================================================
   STARS
   ========================================================= */

.tour-rating .stars {
    color: #d99a18;

    font-size: 15px;
    font-weight: 700;
    line-height: 1;

    letter-spacing: 1px;
}


/* =========================================================
   REVIEW LINK
   ========================================================= */

.tour-rating a {
    color: var(--color-text-muted);

    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;

    text-decoration: none;

    transition:
        color var(--transition-fast);
}

.tour-rating a:hover {
    color: var(--color-primary);
}


/* =========================================================
   META SEPARATOR
   ========================================================= */

.tour-meta-separator {
    color: var(--color-border);

    font-size: 14px;
    font-weight: 400;
    line-height: 1;
}


/* =========================================================
   TOUR LOCATION
   ========================================================= */

.tour-location {
    display: inline-flex;
    align-items: center;

    margin: 0;
    padding: 0;

    gap: 6px;

    color: var(--color-text-muted);

    font-family: var(--font-family);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
}


/* =========================================================
   LOCATION ICON
   ========================================================= */

.tour-location i {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    margin: 0;
    padding: 0;

    color: var(--color-primary);

    font-size: 15px;
    line-height: 1;
}


/* =========================================================
   RATING FOCUS
   ========================================================= */

.tour-rating a:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 3px;

    border-radius: 3px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .tour-intro {
        padding-top: 24px;
        padding-bottom: 22px;
    }

    .tour-intro h1 {
        max-width: 850px;

        font-size: clamp(28px, 5vw, 40px);
    }

}

@media (max-width: 700px) {

    .tour-intro {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .tour-category {
        margin-bottom: 9px;
        padding: 5px 9px;
        font-size: 11px;
    }

    .tour-intro h1 {
        max-width: none;
        font-size: 29px;
        line-height: 1.18;
        letter-spacing: -0.5px;
    }

    .tour-meta {
        margin-top: 14px;
        gap: 7px 9px;
    }

    .tour-rating {
        gap: 6px;
        font-size: 13px;
    }

    .tour-rating .rating {
        font-size: 14px;
    }

    .tour-rating .stars {
        font-size: 14px;
        letter-spacing: 0.5px;
    }

    .tour-rating a {
        font-size: 13px;
    }

    .tour-meta-separator {
        font-size: 13px;
    }

    .tour-location {
        gap: 5px;
        font-size: 13px;
    }

    .tour-location i {
        font-size: 14px;
    }

    /* -----------------------------------------------------
       CATEGORY
       ----------------------------------------------------- */

    .tour-category {
        margin-bottom: 9px;

        padding: 5px 9px;

        font-size: 11px;
    }

    /* -----------------------------------------------------
       TITLE
       ----------------------------------------------------- */

    .tour-intro h1 {
        max-width: none;

        font-size: 29px;
        line-height: 1.18;

        letter-spacing: -0.5px;
    }


    /* -----------------------------------------------------
       META
       ----------------------------------------------------- */

    .tour-meta {
        margin-top: 14px;

        gap: 7px 9px;
    }


    /* -----------------------------------------------------
       RATING
       ----------------------------------------------------- */

    .tour-rating {
        gap: 6px;

        font-size: 13px;
    }

    .tour-rating .rating {
        font-size: 14px;
    }

    .tour-rating .stars {
        font-size: 14px;
        letter-spacing: 0.5px;
    }

    .tour-rating a {
        font-size: 13px;
    }


    /* -----------------------------------------------------
       SEPARATOR
       ----------------------------------------------------- */

    .tour-meta-separator {
        font-size: 13px;
    }


    /* -----------------------------------------------------
       LOCATION
       ----------------------------------------------------- */

    .tour-location {
        gap: 5px;

        font-size: 13px;
    }

    .tour-location i {
        font-size: 14px;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {

    .tour-intro {
        padding-top: 18px;
        padding-bottom: 18px;
    }


    .tour-intro h1 {
        font-size: 26px;
    }


    .tour-meta {
        align-items: flex-start;

        gap: 7px;
    }


    /*
       Pada layar sangat kecil,
       location turun ke baris berikutnya.
    */

    .tour-meta-separator {
        display: none;
    }

    .tour-location {
        width: 100%;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .tour-rating a {
        transition: none;
    }

}