@media (max-width: 1100px) {

    .nav-menu {
        gap: 15px;
    }

    .destination-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .features-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .activities-grid {
        grid-template-columns: repeat(3, 1fr);
    }

}


@media (max-width: 900px) {

    .nav-menu,
    .nav-btn {
        display: none;
    }

    .mobile-menu-btn {
        display: block;
    }


    .nav-menu.mobile-active {
        display: flex;

        position: absolute;

        top: 85px;

        left: 0;

        width: 100%;

        background-color: white;

        flex-direction: column;

        align-items: flex-start;

        padding: 30px;

        border-bottom: 1px solid #ddd;
    }


    .intro-section {
        grid-template-columns: 1fr;

        gap: 40px;
    }


    .custom-planning-grid {
        grid-template-columns: 1fr;

        gap: 40px;
    }


    .country-grid {
        grid-template-columns: 1fr;
    }


    .country-card {
        height: 400px;
    }


    .tour-grid {
        grid-template-columns: 1fr;
    }


    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .policy-layout {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .policy-aside {
        position: static;
    }

}


@media (max-width: 600px) {

    .card-book-btn {
        display: block;

        width: fit-content;

        margin-top: 14px;

        margin-left: 0;
    }

    .section {
        padding: 65px 0;
    }


    .hero {
        min-height: 620px;
    }


    .hero h1 {
        font-size: 42px;
    }


    .hero-content p {
        font-size: 17px;
    }


    .hero-buttons {
        flex-direction: column;

        align-items: flex-start;
    }


    .section-heading h2 {
        font-size: 32px;
    }


    .intro-content h2 {
        font-size: 32px;
    }


    .destination-grid {
        grid-template-columns: 1fr;
    }


    .activities-grid {
        grid-template-columns: repeat(2, 1fr);
    }


    .features-grid {
        grid-template-columns: 1fr;
    }


    .footer-grid {
        grid-template-columns: 1fr;
    }


    .custom-content h2 {
        font-size: 34px;
    }


    .custom-planning-copy h2,
    .custom-planning-panel h2 {
        font-size: 32px;
    }


    .custom-planning-panel {
        padding: 25px;
    }

    .policy-hero h1 {
        font-size: 38px;
    }

    .policy-page {
        padding: 55px 0 70px;
    }

    .permit-cost-notice {
        padding: 24px 20px;
    }

}

@media (max-width: 900px) {

    .country-hero-content h1 {
        font-size: 52px;
    }


    .destination-detail {
        grid-template-columns: 1fr;

        gap: 40px;
    }


    .reverse-detail .destination-detail-image {
        order: 1;
    }


    .reverse-detail .destination-detail-content {
        order: 2;
    }

}


@media (max-width: 600px) {

    .country-hero {
        min-height: 520px;
    }


    .country-hero-content h1 {
        font-size: 42px;
    }


    .country-hero-content p {
        font-size: 17px;
    }


    .destination-detail-content h2 {
        font-size: 32px;
    }


    .destination-detail-image {
        min-height: 300px;
    }

}

/* =========================
   TOUR DETAILS RESPONSIVE
========================= */


@media (max-width: 1000px) {


    .tour-detail-layout {

        grid-template-columns: 1fr;

    }


    .tour-sidebar {

        position: static;

    }


}


@media (max-width: 800px) {


    .tour-detail-hero-content h1 {

        font-size: 40px;

    }


    .tour-quick-info {

        grid-template-columns: repeat(2, 1fr);

    }


    .quick-info-item {

        border-right: none;

        border-bottom: 1px solid #e5e5e5;

    }


}


@media (max-width: 650px) {


    .tour-detail-hero {

        min-height: 60vh;

    }


    .tour-detail-hero-content h1 {

        font-size: 32px;

    }


    .tour-detail-hero-content p {

        font-size: 16px;

    }


    .tour-quick-info {

        grid-template-columns: 1fr;

    }


    .tour-highlights-grid {

        grid-template-columns: 1fr;

    }


    .included-grid {

        grid-template-columns: 1fr;

        gap: 30px;

    }


    .itinerary-item {

        grid-template-columns: 1fr;

        gap: 20px;

    }


    .day-number {

        width: 80px;

        height: 80px;

    }


    .booking-box {

        padding: 25px;

    }


}

@media (max-width: 900px) {

    .activity-intro-layout {

        grid-template-columns: 1fr;

        gap: 40px;

    }


    .destination-activity-grid {

        grid-template-columns: 1fr;

    }


    .expectation-grid {

        grid-template-columns: repeat(2, 1fr);

    }


    .best-time-layout {

        grid-template-columns: 1fr;

        gap: 40px;

    }


    .prepare-grid {

        grid-template-columns: repeat(2, 1fr);

    }

}


@media (max-width: 600px) {

    .activity-detail-hero {

        min-height: 520px;

    }


    .activity-hero-content h1 {

        font-size: 2.7rem;

    }


    .expectation-grid {

        grid-template-columns: 1fr;

    }


    .prepare-grid {

        grid-template-columns: 1fr;

    }


    .activity-card-content {

        padding: 25px;

    }


    .best-time-box {

        padding: 25px;

    }

}

@media (max-width: 1100px) {

    .four-column-grid {

        grid-template-columns:
            repeat(2, 1fr);

    }

}


@media (max-width: 900px) {

    .three-column-grid {

        grid-template-columns:
            repeat(2, 1fr);

    }

}


@media (max-width: 650px) {

    .three-column-grid,
    .four-column-grid {

        grid-template-columns:
            1fr;

    }

}