/* ============================================================
   TOURS FILTER + BOOKING POPUP — RESPONSIVE
   assets/css/tours-responsive.css  v10
   CHANGE v10: mobile sidebar shows "Filter" heading (desktop hides it, shown in filter bar)
   ============================================================ */

@media only screen and (max-width: 1599px) {

	/* Check 1367px and add css here */
}

@media only screen and (max-width: 1366px) {
	
	.city-tabs {
    	margin-bottom: 22px;
	}
	
	.tour-card__img-wrap {
    	width: 240px;
    	height: 220px;
	}

	.tour-card {
    	gap: 30px;
	}
	
	a.btn-details {
		padding: 8px 16px;
	}
	
	.btn-book {
		padding: 8px 16px !important;
	}
	/* Check 1200px and add css here */
}

@media only screen and (max-width: 1199px) {
	
	.tours-page {
		gap: 20px;
	}
	
	.tour-card {
    	gap: 24px;
		flex-wrap: wrap;
	}
	
	.city-tabs {
    	margin-bottom: 16px;
	}
	
	.tours-sidebar {
		width: 280px;
	}
	
	.tour-card__actions {
    	flex-direction: row;
    	width: 100%;
    	justify-content: flex-end;
	}
	
	.city-tabs {
    	margin-bottom: 20px;
	}

	/* Check 1025px and add css here */
}

@media (max-width: 1024px) {
	
	
    .tours-page {
        gap: 16px;
    }

    .tours-sidebar {
        width: 220px;
    }

    .tour-card__img-wrap {
        width: 200px;
    }

    .tour-card__actions {
        min-width: 140px;
    }

    .tour-card {
        gap: 16px;
		height: 100%;
    }
	
	.tour-cards-wrap {
        display: grid;
        grid-template-columns: repeat(2, auto);
        gap: 16px;
    }
	
	.tour-card__img-wrap {
		width: 100%;
	}

	.tour-card__actions {
    	justify-content: flex-start;
	}
	
	.city-tabs {
    	margin-bottom: 16px;
	}
	
	.tours-loader {
    	position: absolute;
    	top: 50%;
    	left: 50%;
    	transform: translate(-50%, -50%);
	}
	
	/* Sidebar becomes drawer at 1024px too */
	.btn-mobile-filter { display: flex; }
	.tours-page { flex-direction: column; padding: 0; gap: 0; }
	.tours-sidebar {
		position: fixed; top: 0; left: -320px; width: 300px;
		height: 100vh; overflow-y: auto;
		border-radius: 0 12px 12px 0; z-index: 1200;
		transition: left 0.3s ease; padding: 24px 16px 100px;
	}
	.tours-sidebar.is-open { left: 0; }
/* 	.sidebar-filter-heading{
		display:block !important;
	} */
	.sidebar-filter-heading .sidebar-heading-text { display: block; }
	.sidebar-filter-heading{
        display:flex !important;
        justify-content: space-between;
        align-items: center;
    }
	.sidebar-close-btn { display: block; }
	.tours-filter-bar .filter-bar__label { display: none; }
	.btn-apply-filter { display: block; }
	.tours-content { width: 100%; }
}

/* ════════════════════════════════════════════════════════════
   MOBILE — Sidebar becomes a slide-in drawer from left
════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {

    /* Filter bar: keep Filter label left, add mobile button before Sort */
    .tours-filter-bar {
        justify-content: space-between;
        margin-bottom: 14px;
    }

    /* Show mobile filter button */
    .btn-mobile-filter {
        display: flex;
    }

    /* Page: stack vertically, hide sidebar by default */
    .tours-page {
        flex-direction: column;
        padding: 0;
        gap: 0;
    }

    /* Sidebar hidden off-screen left — slide in when open */
    .tours-sidebar {
        position: fixed;
        top: 0;
        left: -320px;
        width: 300px;
        height: 100vh;
        overflow-y: auto;
        border-radius: 0 12px 12px 0;
        z-index: 1200;
        transition: left 0.3s ease;
        padding: 24px 16px 100px;
    }

    .tours-sidebar.is-open {
        left: 0;
    }

    /* On mobile, show "Filter" heading text INSIDE the sidebar drawer */
    .sidebar-filter-heading .sidebar-heading-text {
        display: block;
    }

    /* Restore full heading layout for mobile */
    .sidebar-filter-heading {
        justify-content: space-between;
        min-height: auto;
        margin-bottom: 20px;
        padding-bottom: 16px;
        border-bottom: 2px solid #CDCDCD;
    }

    /* Show the close (×) button inside sidebar on mobile */
    .sidebar-close-btn {
        display: block;
    }

    /* Hide "Filter" label in filter bar on mobile — button replaces it */
    .tours-filter-bar .filter-bar__label {
        display: none;
    }

    /* Show Apply Filter button on mobile */
    .btn-apply-filter {
        display: block;
    }

    /* Content takes full width */
    .tours-content {
        width: 100%;
    }

    /* Tour card stacked */
    .tour-card {
        flex-direction: column;
        gap: 0;
    }

    .tour-card__img-wrap {
        width: 100%;
        height: 220px;
    }

    .tour-card__body {
        padding: 16px 0px;;
    }

    .tour-card__actions {
        flex-direction: column;
        gap: 10px;
        min-width: auto;
    }

    .btn-details,
    .btn-book {
        flex: 1;
        text-align: center;
    }

    .tour-card__features {
        grid-template-columns: 1fr;
    }

    .booking-popup {
        width: 92%;
        padding: 20px;
        border-radius: 12px;
        max-height: 92vh;
    }

    .booking-field--row {
        flex-direction: column;
        gap: 8px;
    }

    .booking-field__half {
        width: 100%;
    }

    .dual-range-wrap {
        height: 40px;
    }

    .price-slider::-webkit-slider-thumb {
        width: 22px;
        height: 22px;
    }
}

@media(max-width: 575px) {
	.tour-cards-wrap {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
    }
}

@media (max-width: 480px) {
    .city-tabs {
        gap: 6px;
    }

    .city-tab {
        font-size: 0.75rem;
        padding: 6px 12px;
    }

    .tours-pagination-inner {
        gap: 4px;
    }

    .page-btn {
        width: 32px;
        height: 32px;
        font-size: 0.8rem;
    }

    .state-tab {
        font-size: 0.75rem;
        padding: 5px 10px;
    }

    .booking-popup {
        top: 50%;
        left: 50%;
        bottom: auto;
        right: auto;
        transform: translate(-50%, -50%) scale(0.96);
        width: 90%;
        max-width: 360px;
        max-height: 90vh;
        padding: 20px;
    }

    .booking-popup.is-open {
        transform: translate(-50%, -50%) scale(1);
    }

    .popup-price-amount {
        font-size: 18px;
    }

    .btn-total-amount,
    .btn-proceed-checkout {
        font-size: 14px;
        padding: 11px;
    }

    .adventure-option-btn {
        font-size: 12px;
        padding: 6px 12px;
    }

    .share-icon {
        width: 34px;
        height: 34px;
    }

    .share-icon svg {
        width: 16px;
        height: 16px;
    }

    .qty-btn {
        width: 34px;
    }

    .addon-price-info {
        flex-direction: column;
        gap: 4px;
    }

    .btn-mobile-filter {
        font-size: 14px;
        padding: 8px 16px;
    }
}