:root {
    --main-blue: #3563ed;
    --main-orange: #f7941d;
    --text-dark: #2f2f2f;
    --bg-page: #eef3f8;
}

.new-tour-page * {
    box-sizing: border-box;
}

.new-tour-page {
    margin: 0;
    font-family: "SVN-Gilroy", "Segoe UI", Roboto, Arial, sans-serif;
    background-color: var(--bg-page);
    color: #444;
}



/* Layout utilities: rely on global Bootstrap/common.css */

.new-tour-page .d-flex {
    display: flex !important;
}

.new-tour-page .flex-column {
    flex-direction: column !important;
}

.new-tour-page .flex-row {
    flex-direction: row !important;
}

.new-tour-page .flex-wrap {
    flex-wrap: wrap !important;
}

.new-tour-page .gap-2 {
    gap: 0.5rem !important;
}

.new-tour-page .gap-3 {
    gap: 1rem !important;
}

.new-tour-page .align-items-center {
    align-items: center !important;
}

.new-tour-page .align-items-start {
    align-items: flex-start !important;
}

.new-tour-page .justify-content-between {
    justify-content: space-between !important;
}

.new-tour-page .justify-content-center {
    justify-content: center !important;
}

.new-tour-page .justify-content-start {
    justify-content: flex-start !important;
}

.new-tour-page .text-center {
    text-align: center !important;
}

.new-tour-page .text-end {
    text-align: end !important;
}

    .new-tour-page .text-dark {
        color: #222 !important;
    }

    .new-tour-page .text-white {
        color: #fff !important;
    }

    .new-tour-page .text-main-blue {
        color: var(--main-blue) !important;
    }

    .new-tour-page .text-main-orange {
        color: #ff9f2b !important;
    }

    .new-tour-page .fw-bold {
        font-weight: 700 !important;
    }

    .new-tour-page .fw-semibold {
        font-weight: 600 !important;
    }

    .new-tour-page .bg-white {
        background-color: #fff !important;
    }

    .new-tour-page .rounded {
        border-radius: 0.5rem !important;
    }

    .new-tour-page .rounded-3 {
        border-radius: 0.75rem !important;
    }

    .new-tour-page .shadow {
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    }

    .new-tour-page .shadow-sm {
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
    }

    .new-tour-page .shadow-lg {
        box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
    }

    .new-tour-page .w-100 {
        width: 100% !important;
    }

    .new-tour-page .h-100 {
        height: 100% !important;
    }

    .new-tour-page .p-3 {
        padding: 1rem !important;
    }

    .new-tour-page .px-3 {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .new-tour-page .px-4 {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }

    .new-tour-page .py-1 {
        padding-top: 0.25rem !important;
        padding-bottom: 0.25rem !important;
    }

    .new-tour-page .py-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }

    .new-tour-page .mb-2 {
        margin-bottom: 0.5rem !important;
    }

    .new-tour-page .mb-3 {
        margin-bottom: 1rem !important;
    }

    .new-tour-page .mb-4 {
        margin-bottom: 1.5rem !important;
    }

    .new-tour-page .mb-5 {
        margin-bottom: 3rem !important;
    }

    .new-tour-page .mt-2 {
        margin-top: 0.5rem !important;
    }

    .new-tour-page .mt-4 {
        margin-top: 1.5rem !important;
    }

    .new-tour-page .mt-5 {
        margin-top: 3rem !important;
    }

    .new-tour-page .my-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important;
    }

    .new-tour-page .position-relative {
        position: relative !important;
    }

    .new-tour-page .position-absolute {
        position: absolute !important;
    }

    .new-tour-page .overflow-hidden {
        overflow: hidden !important;
    }

    .new-tour-page .d-none {
        display: none !important;
    }

    .new-tour-page .object-fit-cover {
        object-fit: cover;
    }

    .new-tour-page .base-layout {
        background-color: var(--bg-page);
        margin: 0;
        padding: 0 3%;
    }



/* Banner */
    .new-tour-page .hero-section {
        position: relative;
        min-height: 320px;
        padding-bottom: 4rem;
    }

    .new-tour-page .banner-title-mobile {
        letter-spacing: 0.2px;
    }

    .new-tour-page .mobile-banner-header {
        margin-top: 0;
    }

    .new-tour-page .display-4 {
        font-size: 2.5rem;
    }

    .new-tour-page .fs-2 {
        font-size: 1.5rem !important;
    }

    .new-tour-page .fs-4 {
        font-size: 1.25rem !important;
    }

    .new-tour-page .fs-5 {
        font-size: 1.125rem !important;
    }



/* Buttons */
    .new-tour-page .btn {
        border: none;
        background: transparent;
        cursor: pointer;
    }

    .new-tour-page .btn-warning {
        background-color: var(--main-orange);
        color: #fff;
        border-radius: 8px;
        padding: 0.5rem 1rem;
    }

    .new-tour-page .btn-sm {
        font-size: 0.875rem;
    }

    .new-tour-page .btn-main-orange {
        background-color: #f5a623;
        color: #fff;
    }



/* Custom tabs buttons */
    .new-tour-page .btn-nav-changeable {
        font-family: inherit;
        font-weight: 700;
        font-size: 16px;
        height: 30px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #585353;
        background-color: transparent;
        border: none;
        border-radius: 7px;
        padding: 0.6em 1.4em;
        text-align: center;
        cursor: pointer;
        transition: all 0.15s ease;
    }

        .new-tour-page .btn-nav-changeable:hover {
            color: var(--main-blue);
        }

        .new-tour-page .btn-nav-changeable.active {
            color: #fff;
            background-color: var(--main-blue);
        }



/* Custom select */
    .new-tour-page .custom-select {
        padding: 0.625rem;
        border-radius: 8px;
        border: none;
        font-size: 0.9375rem;
        background-color: #ebebeb;
        display: flex;
        flex-direction: row;
        align-items: center;
        cursor: pointer;
        justify-content: space-between;
        position: relative;
    }

    .new-tour-page .chev {
        width: 18px;
        height: 18px;
        display: inline-block;
        transform: rotate(0deg);
        transition: transform 0.18s ease;
        color: #555;
    }

    .new-tour-page .open .chev {
        transform: rotate(180deg);
    }

    .new-tour-page .custom-dropdown-list {
        position: absolute;
        top: 115%;
        left: 0;
        width: max-content;
        min-width: 100%;
        background: #ebebeb;
        border-radius: 10px;
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
        max-height: 252px;
        overflow-y: auto;
        z-index: 20;
    }

    .new-tour-page .custom-dropdown-item {
        padding: 10px 14px;
        cursor: pointer;
        display: flex;
        align-items: center;
        gap: 6px;
        color: var(--text-dark);
        font-size: 15px;
        white-space: nowrap;
    }

        .new-tour-page .custom-dropdown-item:hover {
            background: #f3f3f3;
        }



/* App buttons */
    .new-tour-page .app-btn-gray-outline {
        font-family: inherit;
        font-size: 0.95rem;
        color: black !important;
        border: 1px solid #dddddd !important;
        border-radius: 8px;
        background-color: #ffffff;
        display: inline-block;
        text-align: center;
        cursor: pointer;
        transition: all 0.15s ease;
        padding: 0.3rem 0.5rem !important;
    }

        .new-tour-page .app-btn-gray-outline:hover {
            background-color: rgba(53, 99, 237, 0.05);
        }

        .new-tour-page .app-btn-gray-outline:active {
            transform: scale(0.98);
        }

        .new-tour-page .app-btn-gray-outline.active {
            background-color: var(--main-blue) !important;
            color: #fff !important;
        }

    .new-tour-page .pre-medium-text-thin {
        font-weight: 400;
        font-size: 0.9375rem;
    }



/* Tour filter / panels */
    .new-tour-page div.tour-nav-panel,
    .new-tour-page div.tour-nav-panel-buttons {
        display: block !important;
    }



/* Departure bar */
    .new-tour-page .departure-bar {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        flex: 1 1 auto;
        margin-bottom: 1rem;
    }

        .new-tour-page .departure-bar::-webkit-scrollbar {
            display: none;
        }

    .new-tour-page .departure-btn {
        flex: 0 0 auto;
        background: transparent;
        border: none;
        color: black;
        font-size: 1rem;
        padding: 8px 24px;
        border-radius: 8px;
        cursor: pointer;
        white-space: nowrap;
    }

        .new-tour-page .departure-btn.active {
            background: var(--main-blue);
            color: #fff;
        }

        .new-tour-page .departure-btn:hover {
            background: #e2e6ef;
        }

    .new-tour-page .date-picker-input::placeholder {
        color: black;
    }

    .new-tour-page .flatpickr-calendar .flatpickr-current-month .cur-year {
        display: none !important;
    }

    .new-tour-page .flatpickr-calendar .flatpickr-current-month .numInput {
        display: none !important;
    }

    .new-tour-page .flatpickr-calendar .flatpickr-current-month {
        font-size: 1rem;
        font-weight: 600;
        padding: 0.5rem 0;
    }

        .new-tour-page .flatpickr-calendar .flatpickr-current-month .numInputWrapper {
            display: none !important;
        }

    .new-tour-page .flatpickr-calendar .flatpickr-months {
        padding-bottom: 0.5rem;
    }

    .new-tour-page .flatpickr-day.selected,
    .new-tour-page .flatpickr-day.startRange,
    .new-tour-page .flatpickr-day.endRange {
        background: #3563ed !important;
        border-color: #3563ed !important;
    }

        .new-tour-page .flatpickr-day.selected:hover,
        .new-tour-page .flatpickr-day.startRange:hover,
        .new-tour-page .flatpickr-day.endRange:hover {
            background: #0d47a1 !important;
            border-color: #0d47a1 !important;
        }

    .new-tour-page .flatpickr-calendar {
        box-shadow: none !important;
        border: none !important;
    }

    .new-tour-page .flatpickr-weekday {
        font-weight: 600;
        color: #666;
    }



/* Tour card styles (from components) */
    .new-tour-page .discount-tag {
        position: absolute;
        background-color: #ff3b5f;
        color: white;
        padding: 5px 18px 10px 12px;
        font-weight: bold;
        font-size: 1.25rem;
        border-bottom-right-radius: 50px;
        z-index: 10;
    }

    .new-tour-page .rating-stars {
        color: #ffc107;
        font-size: 1rem;
    }

    .new-tour-page .price-original {
        text-decoration: line-through;
        color: #888;
        font-size: 1rem;
    }

    .new-tour-page .price-discount {
        font-weight: bold;
        font-size: 1.5rem;
    }

    .new-tour-page .tour-item-content-container {
        padding: 0.5rem 1rem;
    }

    .new-tour-page .tour-item-vertical-divider {
        width: 1px;
        background-color: #ccc;
    }



/* Calendar container (visual placeholder) */
    .new-tour-page .calendar-container {
        min-width: 260px;
    }

    .new-tour-page .departure-calendar {
        padding: 0.5rem 0;
        color: #666;
        font-size: 0.875rem;
    }


/* Responsive rules */
@media (max-width: 1199px) {




    .new-tour-page .tour-card {
        width: 100%;
        align-items: stretch;
    }

    .new-tour-page .hero-search-button {
        margin-left: auto;
        margin-right: auto;
    }

    .new-tour-page .mb-3 {
        margin-bottom: 0.5rem !important;
    }

    .new-tour-page .p-3 {
        padding: 0.75rem !important;
    }

    .new-tour-page .gap-3 {
        gap: 0.5rem !important;
    }

    .new-tour-page .fs-5 {
        font-size: 0.75rem !important;
    }

    .new-tour-page .departure-btn {
        font-size: 0.75rem;
        padding: 6px 16px;
    }

        .new-tour-page .departure-btn:hover {
            background: var(--main-blue);
            color: #fff;
        }

    .new-tour-page .departure-bar {
        gap: 8px;
    }

    .new-tour-page img.tour-item-item-image-3840939 {
        width: 13rem !important;
        height: auto !important;
        align-self: stretch;
    }



    .new-tour-page div.tour-item-content-container {
        display: block !important;
        gap: 0 !important;
    }

    .new-tour-page div.tour-item-information-item {
        margin-bottom: 0 !important;
    }
}

@media (min-width: 768px) {

    .new-tour-page button,
    .new-tour-page .custom-select,
    .new-tour-page .custom-select .text,
    .new-tour-page .date-picker-input,
    .new-tour-page select {
        font-size: 16px !important;
    }
}

@media (max-width: 991px) {
    .new-tour-page div.tour-filter-button-283490 {
        display: flex !important;
    }

    .new-tour-page .pre-medium-text-thin {
        font-size: 0.6375rem;
    }
}

@media (max-width: 991px) {
    .new-tour-page div.tour-item-information-item {
        margin-bottom: -2.25rem !important;
    }

    .new-tour-page div.tour-nav-panel {
        display: none !important;
    }

    .new-tour-page div.tour-nav-panel-buttons {
        display: none !important;
    }

    .new-tour-page .show-in-desktop {
        display: none !important;
    }

    .new-tour-page .show-in-mobile {
        display: block !important;
    }
}

/* Responsive rules */
@media (max-width: 768px) {
    .new-tour-page .price-discount {
        font-size: 15px;
    }

    .new-tour-page .price-original {
        font-size: 12px;
    }

    .new-tour-page .text-main-blue {
        font-size: 15px;
    }

    .new-tour-page .rating-stars {
        font-size: 15px;
    }

    .new-tour-page img.tour-item-item-image-3840939 {
        width: 130px !important;
        min-width: 130px !important;
        height: 100% !important;
        min-height: 130px !important;
        align-self: stretch;
    }

    .new-tour-page .discount-tag {
        padding: 4px 14px 8px 10px;
        font-size: 12px;
    }


    .new-tour-page .pre-medium-text-thin {
        font-size: 0.6375rem;
    }

    .new-tour-page .custom-select,
    .new-tour-page .custom-select .text,
    .new-tour-page .date-picker-input {
        font-size: 0.6375rem !important;
    }

    .new-tour-page div.tour-nav-panel {
        display: none !important;
    }
}


.new-tour-page .show-in-desktop {
    display: block;
}

.new-tour-page .show-in-mobile {
    display: none;
}

.header-carousel {
    display: none !important;
}

.bg-header-img {
    min-height: 0 !important;
}
