/* custom css start here  */

/* Header height: compact on mobile/tablet; taller on desktop */
.tg-header__area.tg-header-lg-space {
    padding: 6px 0 !important;
}
@media (min-width: 1200px) {
    .tg-header__area.tg-header-lg-space {
        padding: 18px 0 !important;
    }
}

/* Adjust Navigation Position - Move closer to logo */
.tgmenu__nav.tgmenu-1-space.ml-180 {
    margin-left: 30px !important;
}

@media (min-width: 1200px) and (max-width: 1399px) {
    .tgmenu__nav.tgmenu-1-space.ml-180 {
        margin-left: 25px !important;
    }
}

/* Convert stadium-2.png from purple to white */
.tg-cta-3-shape-2,
img[src*="stadium-2.png"] {
    filter: brightness(0) invert(1) !important;
}

.tgmenu__navbar-wrap ul li a {
    padding: 8px 12px !important;
}

@media (min-width: 1200px) and (max-width: 1399px) {
    .tgmenu__navbar-wrap ul li a {
        padding: 8px 18px !important;
    }
}

.header-sticky .tgmenu__navbar-wrap ul li a,
.header-sticky .tgmenu__main-menu ul > li > a {
    padding: 8px 12px !important;
}

/* Desktop: Keep Wishlist visible when header is sticky (hamburger hidden on desktop) */
@media (min-width: 1200px) {
    #header-sticky.header-sticky .tg-header-wandrlist,
    .header-sticky .tg-header-wandrlist {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

/* Sticky header: black Wishlist + Hamburger so visible on white background (override transparent white rules) */
#header-sticky.header-sticky .tg-header-wandrlist .wandrlist-button,
.header-sticky .tg-header-wandrlist .wandrlist-button {
    color: var(--tg-common-black) !important;
}
#header-sticky.header-sticky .tg-header-wandrlist .wandrlist-button svg,
.header-sticky .tg-header-wandrlist .wandrlist-button svg {
    color: var(--tg-common-black) !important;
    fill: none !important;
}
#header-sticky.header-sticky .tg-header-wandrlist .wandrlist-button svg path,
.header-sticky .tg-header-wandrlist .wandrlist-button svg path {
    stroke: var(--tg-common-black) !important;
    fill: none !important;
}
@media (min-width: 1200px) {
    #header-sticky.header-sticky .tgmenu-offcanvas-open-btn.menu-tigger span,
    .header-sticky .tgmenu-offcanvas-open-btn.menu-tigger span {
        background-color: var(--tg-common-black) !important;
    }
}

/* Sticky header: orange hover for Wishlist + Hamburger */
#header-sticky.header-sticky .tg-header-wandrlist .wandrlist-button:hover,
.header-sticky .tg-header-wandrlist .wandrlist-button:hover {
    color: var(--tg-theme-primary) !important;
}
#header-sticky.header-sticky .tg-header-wandrlist .wandrlist-button:hover svg,
.header-sticky .tg-header-wandrlist .wandrlist-button:hover svg {
    color: var(--tg-theme-primary) !important;
    fill: none !important;
}
#header-sticky.header-sticky .tg-header-wandrlist .wandrlist-button:hover svg path,
.header-sticky .tg-header-wandrlist .wandrlist-button:hover svg path {
    stroke: var(--tg-theme-primary) !important;
    fill: none !important;
}
@media (min-width: 1200px) {
    #header-sticky.header-sticky .tgmenu-offcanvas-open-btn.menu-tigger:hover span,
    .header-sticky .tgmenu-offcanvas-open-btn.menu-tigger:hover span {
        background-color: var(--tg-theme-primary) !important;
    }
}

/* Reduce header height on mobile (70% of original) */
@media (max-width: 991px) {
    .tg-header__area,
    #header-sticky {
        min-height: 35px !important;
        padding: 4px 0 !important;
    }
}

/* Homepage Header - Apply sticky header style (solid background, black text) */
body.home-page .tg-header__area.tg-transparent,
.tg-hero-area ~ .tg-header__area.tg-transparent {
    background-color: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(10px);
    box-shadow: 0px 1px 3px 0px rgba(18, 20, 32, 0.14);
}

/* ============================================
   HEADER ICON COLOR RULES (All Pages):
   - White Background = Black Icons/Text
   - Transparent Background = White Icons/Text
   ============================================ */

/* Default: Transparent headers = White icons/text */
.tg-header__area.tg-transparent .tg-header-wandrlist .wandrlist-button {
    color: var(--tg-common-white) !important;
}
.tg-header__area.tg-transparent .tg-header-wandrlist .wandrlist-button svg {
    color: var(--tg-common-white) !important;
    fill: none !important;
}
.tg-header__area.tg-transparent .tg-header-wandrlist .wandrlist-button svg path {
    stroke: var(--tg-common-white) !important;
    fill: none !important;
}
@media (min-width: 1200px) {
    .tg-header__area.tg-transparent .tgmenu-offcanvas-open-btn span,
    .tg-header__area.tg-transparent .tgmenu-offcanvas-open-btn.menu-tigger span {
        background-color: var(--tg-common-white) !important;
    }
}

body.home-page .tg-header__area.tg-transparent .tgmenu__navbar-wrap ul li a,
.tg-hero-area ~ .tg-header__area.tg-transparent .tgmenu__navbar-wrap ul li a,
body.home-page .tg-header__area.tg-transparent .tg-header-contact-number a,
.tg-hero-area ~ .tg-header__area.tg-transparent .tg-header-contact-number a,
body.home-page .tg-header__area.tg-transparent .tg-header-contact-number span,
.tg-hero-area ~ .tg-header__area.tg-transparent .tg-header-contact-number span,
body.home-page .tg-header__area.tg-transparent .tg-header-cart .cart-button,
.tg-hero-area ~ .tg-header__area.tg-transparent .tg-header-cart .cart-button {
    color: var(--tg-common-black) !important;
}

/* Override: When transparent header has white background (via CSS) = Black icons/text */
body.home-page .tg-header__area.tg-transparent .tg-header-wandrlist .wandrlist-button,
.tg-hero-area ~ .tg-header__area.tg-transparent .tg-header-wandrlist .wandrlist-button {
    color: var(--tg-common-black) !important;
}
body.home-page .tg-header__area.tg-transparent .tg-header-wandrlist .wandrlist-button svg,
.tg-hero-area ~ .tg-header__area.tg-transparent .tg-header-wandrlist .wandrlist-button svg {
    color: var(--tg-common-black) !important;
    fill: none !important;
}
body.home-page .tg-header__area.tg-transparent .tg-header-wandrlist .wandrlist-button svg path,
.tg-hero-area ~ .tg-header__area.tg-transparent .tg-header-wandrlist .wandrlist-button svg path {
    stroke: var(--tg-common-black) !important;
    fill: none !important;
}
@media (min-width: 1200px) {
    body.home-page .tg-header__area.tg-transparent .tgmenu-offcanvas-open-btn span,
    .tg-hero-area ~ .tg-header__area.tg-transparent .tgmenu-offcanvas-open-btn span,
    body.home-page .tg-header__area.tg-transparent .tgmenu-offcanvas-open-btn.menu-tigger span,
    .tg-hero-area ~ .tg-header__area.tg-transparent .tgmenu-offcanvas-open-btn.menu-tigger span {
        background-color: var(--tg-common-black) !important;
    }
}

/* Navigation hover colors - Orange for all headers */
.tg-header__area .tgmenu__navbar-wrap > ul > li:hover > a,
.tg-header__area .tgmenu__navbar-wrap ul li .sub-menu li:hover > a,
.tg-header__area .tgmenu__navbar-wrap ul li .sub-menu li.active > a {
    color: var(--tg-theme-primary) !important;
}

/* Homepage hover colors - ensure orange hover works */
body.home-page .tg-header__area.tg-transparent .tgmenu__navbar-wrap > ul > li:hover > a,
.tg-hero-area ~ .tg-header__area.tg-transparent .tgmenu__navbar-wrap > ul > li:hover > a,
body.home-page .tg-header__area.tg-transparent .tgmenu__navbar-wrap ul li .sub-menu li:hover > a,
.tg-hero-area ~ .tg-header__area.tg-transparent .tgmenu__navbar-wrap ul li .sub-menu li:hover > a,
body.home-page .tg-header__area.tg-transparent .tgmenu__navbar-wrap ul li .sub-menu li.active > a,
.tg-hero-area ~ .tg-header__area.tg-transparent .tgmenu__navbar-wrap ul li .sub-menu li.active > a {
    color: var(--tg-theme-primary) !important;
}

/* Homepage: Hover colors for contact number, wandrlist, and hamburger menu */
body.home-page .tg-header__area.tg-transparent .tg-header-contact-number a:hover,
.tg-hero-area ~ .tg-header__area.tg-transparent .tg-header-contact-number a:hover {
    color: var(--tg-theme-primary) !important;
}

body.home-page .tg-header__area.tg-transparent .tg-header-wandrlist .wandrlist-button:hover,
.tg-hero-area ~ .tg-header__area.tg-transparent .tg-header-wandrlist .wandrlist-button:hover {
    color: var(--tg-theme-primary) !important;
}

body.home-page .tg-header__area.tg-transparent .tg-header-wandrlist .wandrlist-button:hover svg,
.tg-hero-area ~ .tg-header__area.tg-transparent .tg-header-wandrlist .wandrlist-button:hover svg {
    color: var(--tg-theme-primary) !important;
}

body.home-page .tg-header__area.tg-transparent .tg-header-wandrlist .wandrlist-button:hover svg path,
.tg-hero-area ~ .tg-header__area.tg-transparent .tg-header-wandrlist .wandrlist-button:hover svg path {
    stroke: var(--tg-theme-primary) !important;
    fill: none !important;
}

body.home-page .tg-header__area.tg-transparent .tgmenu-offcanvas-open-btn:hover span,
.tg-hero-area ~ .tg-header__area.tg-transparent .tgmenu-offcanvas-open-btn:hover span,
body.home-page .tg-header__area.tg-transparent .tgmenu-offcanvas-open-btn.menu-tigger:hover span,
.tg-hero-area ~ .tg-header__area.tg-transparent .tgmenu-offcanvas-open-btn.menu-tigger:hover span {
    background-color: var(--tg-theme-primary) !important;
}

/* Hover colors for contact number, wandrlist, and hamburger menu - All pages */
.tg-header__area .tg-header-contact-number a:hover {
    color: var(--tg-theme-primary) !important;
}

.tg-header__area .tg-header-wandrlist .wandrlist-button:hover {
    color: var(--tg-theme-primary) !important;
}

.tg-header__area .tg-header-wandrlist .wandrlist-button:hover svg {
    color: var(--tg-theme-primary) !important;
}

.tg-header__area .tg-header-wandrlist .wandrlist-button:hover svg path {
    stroke: var(--tg-theme-primary) !important;
    fill: none !important;
}

.tg-header__area .tgmenu-offcanvas-open-btn:hover span,
.tg-header__area .tgmenu-offcanvas-open-btn.menu-tigger:hover span,
.tg-header__area .tgmenu-offcanvas-open-btn.mobile-nav-toggler:hover span {
    background-color: var(--tg-theme-primary) !important;
}

body.home-page .tg-header__area.tg-transparent .tg-header-contact-icon,
.tg-hero-area ~ .tg-header__area.tg-transparent .tg-header-contact-icon {
    color: var(--tg-common-black) !important;
    border: 1.2px solid #dadada;
}

/* Ensure login button and hamburger menu are visible on homepage */
body.home-page .tg-header__area.tg-transparent .tg-btn-header,
.tg-hero-area ~ .tg-header__area.tg-transparent .tg-btn-header {
    color: var(--tg-common-white) !important;
    background: var(--tg-theme-primary) !important;
    border: 1px solid var(--tg-theme-primary) !important;
    visibility: visible !important;
    opacity: 1 !important;
    display: block !important;
}

body.home-page .tg-header__area.tg-transparent .tg-btn-header:hover,
.tg-hero-area ~ .tg-header__area.tg-transparent .tg-btn-header:hover {
    color: var(--tg-theme-primary) !important;
    background: transparent !important;
}

/* Permanent Header - Ensure Login button has orange background */
.tg-header__area:not(.tg-transparent) .tg-btn-header,
#header-sticky:not(.tg-transparent) .tg-btn-header,
.tg-header__area.header-sticky .tg-btn-header,
#header-sticky.header-sticky .tg-btn-header {
    color: var(--tg-common-white) !important;
    background: var(--tg-theme-primary) !important;
    border: 1px solid var(--tg-theme-primary) !important;
}

.tg-header__area:not(.tg-transparent) .tg-btn-header:hover,
#header-sticky:not(.tg-transparent) .tg-btn-header:hover,
.tg-header__area.header-sticky .tg-btn-header:hover,
#header-sticky.header-sticky .tg-btn-header:hover {
    color: var(--tg-theme-primary) !important;
    background: transparent !important;
    border-color: var(--tg-theme-primary) !important;
}

/* Sign up: orange text only (no pill) */
.tg-header-signup-link,
.tg-header__area.tg-transparent .tg-header-signup-link,
.tg-header__area:not(.tg-transparent) .tg-header-signup-link,
#header-sticky .tg-header-signup-link {
    color: var(--tg-theme-primary, #ff7400) !important;
    background: transparent !important;
    border: none !important;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
}
.tg-header-signup-link:hover {
    color: var(--tg-theme-primary, #ff7400) !important;
    background: transparent !important;
    text-decoration: underline;
}
body.home-page .tg-header__area.tg-transparent .tg-header-signup-link,
.tg-hero-area ~ .tg-header__area.tg-transparent .tg-header-signup-link {
    color: var(--tg-common-white) !important;
}
body.home-page .tg-header__area.tg-transparent .tg-header-signup-link:hover,
.tg-hero-area ~ .tg-header__area.tg-transparent .tg-header-signup-link:hover {
    color: var(--tg-common-white) !important;
    opacity: 0.9;
}

/* Login pill: white background, orange border/text; hover = orange underline under text only */
.tg-header-login-btn {
    transition: color 0.2s, background 0.2s, border-color 0.2s, text-decoration-color 0.2s, box-shadow 0.2s;
    background: var(--tg-common-white) !important;
    color: var(--tg-theme-primary) !important;
    border: 1px solid var(--tg-theme-primary) !important;
    text-decoration: none !important;
    text-underline-offset: 4px;
}
.tg-header-login-btn:hover {
    color: var(--tg-theme-primary) !important;
    background: var(--tg-common-white) !important;
    border-color: var(--tg-theme-primary) !important;
    text-decoration: underline !important;
    text-decoration-color: var(--tg-theme-primary) !important;
}
.tg-header__area:not(.tg-transparent) .tg-header-login-btn,
#header-sticky.header-sticky .tg-header-login-btn {
    color: var(--tg-theme-primary) !important;
    background: var(--tg-common-white) !important;
    border-color: var(--tg-theme-primary) !important;
}
.tg-header__area:not(.tg-transparent) .tg-header-login-btn:hover,
#header-sticky.header-sticky .tg-header-login-btn:hover {
    color: var(--tg-theme-primary) !important;
    background: var(--tg-common-white) !important;
    border-color: var(--tg-theme-primary) !important;
    text-decoration: underline !important;
    text-decoration-color: var(--tg-theme-primary) !important;
}
body.home-page .tg-header__area.tg-transparent .tg-header-login-btn,
.tg-hero-area ~ .tg-header__area.tg-transparent .tg-header-login-btn {
    color: var(--tg-theme-primary) !important;
    background: var(--tg-common-white) !important;
    border-color: var(--tg-theme-primary) !important;
}
body.home-page .tg-header__area.tg-transparent .tg-header-login-btn:hover,
.tg-hero-area ~ .tg-header__area.tg-transparent .tg-header-login-btn:hover {
    color: var(--tg-theme-primary) !important;
    background: var(--tg-common-white) !important;
    border-color: var(--tg-theme-primary) !important;
    text-decoration: underline !important;
    text-decoration-color: var(--tg-theme-primary) !important;
}

/* WandrList Icon - Make it orange when active */
.tg-listing-item-wishlist.active svg {
    stroke: var(--tg-theme-primary, #ff7400) !important;
    fill: var(--tg-theme-primary, #ff7400) !important;
}

.tg-listing-item-wishlist svg {
    transition: all 0.3s ease;
}

.tg-listing-item-wishlist:hover svg {
    stroke: var(--tg-theme-primary, #ff7400) !important;
}

/* ========== Auth modals (Sign In / Sign Up) – branding + React Native style ========== */
.auth-modal .modal-dialog {
    max-width: 420px;
    margin-left: auto;
    margin-right: auto;
}
.auth-modal .modal-content.auth-modal__content {
    border: none;
    border-radius: 24px;
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.12), 0 8px 16px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    background: #fff;
}
.auth-modal .modal-backdrop {
    background-color: rgba(0, 0, 0, 0.4);
}
.auth-modal.show .modal-backdrop {
    backdrop-filter: blur(6px);
}
.auth-modal__brand-bar {
    height: 4px;
    background: linear-gradient(90deg, var(--tg-theme-primary, #ff7400) 0%, #e85d04 100%);
    flex-shrink: 0;
}
.auth-modal__header {
    padding: 20px 24px 16px;
    border-bottom: none;
    align-items: center;
}
.auth-modal__title {
    font-size: 1.35rem;
    font-weight: 600;
    color: #1a1a1a;
    letter-spacing: -0.02em;
}
.auth-modal__close {
    opacity: 0.5;
    padding: 0.5rem;
    margin: -0.5rem -0.5rem -0.5rem auto;
    border-radius: 12px;
    transition: opacity 0.2s, background 0.2s;
}
.auth-modal__close:hover {
    opacity: 1;
    background: rgba(0, 0, 0, 0.06);
}
.auth-modal__body {
    padding: 8px 24px 28px;
}
.auth-modal__form {
    max-width: 100%;
}
.auth-modal__field {
    margin-bottom: 1.25rem;
}
.auth-modal__label {
    display: block;
    font-size: 0.9rem;
    font-weight: 500;
    color: #333;
    margin-bottom: 6px;
}
.auth-modal__input {
    width: 100%;
    padding: 14px 16px;
    font-size: 1rem;
    border: 1px solid #e2e2e2;
    border-radius: 12px;
    background: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.auth-modal__input::placeholder {
    color: #999;
}
.auth-modal__input:focus {
    border-color: var(--tg-theme-primary, #ff7400);
    box-shadow: 0 0 0 3px rgba(255, 116, 0, 0.15);
    outline: none;
}
.auth-modal__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
    gap: 8px;
}
.auth-modal__checkbox-wrap {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    margin: 0;
    font-size: 0.9rem;
    color: #555;
}
.auth-modal__checkbox-wrap .form-check-input {
    margin: 0;
    width: 1.1em;
    height: 1.1em;
    border-radius: 6px;
    border: 1.5px solid #ccc;
}
.auth-modal__checkbox-wrap .form-check-input:checked {
    background-color: var(--tg-theme-primary, #ff7400);
    border-color: var(--tg-theme-primary, #ff7400);
}
.auth-modal__checkbox-label {
    user-select: none;
}
.auth-modal__link {
    font-size: 0.9rem;
    color: var(--tg-theme-primary, #ff7400);
    text-decoration: none;
    font-weight: 500;
}
.auth-modal__link:hover {
    color: #e85d04;
    text-decoration: underline;
}
.auth-modal__submit {
    width: 100%;
    padding: 14px 20px;
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(180deg, var(--tg-theme-primary, #ff7400) 0%, #e85d04 100%);
    border: none;
    border-radius: 12px;
    cursor: pointer;
    transition: opacity 0.2s, transform 0.15s, box-shadow 0.2s;
    box-shadow: 0 4px 12px rgba(255, 116, 0, 0.35);
}
.auth-modal__submit:hover {
    color: #fff;
    opacity: 0.95;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(255, 116, 0, 0.4);
}
.auth-modal__submit:active {
    transform: translateY(0);
}
.auth-modal__footer-text {
    text-align: center;
    margin: 1.25rem 0 0;
    font-size: 0.95rem;
    color: #666;
}
.auth-modal__switch-link {
    color: var(--tg-theme-primary, #ff7400);
    font-weight: 600;
    text-decoration: none;
}
.auth-modal__switch-link:hover {
    color: #e85d04;
    text-decoration: underline;
}
/* Auth modal: fullscreen on small screens – keep RN style */
@media (max-width: 575.98px) {
    .auth-modal .modal-dialog.modal-fullscreen-sm-down {
        max-width: none;
        margin: 0;
        height: 100%;
    }
    .auth-modal .modal-content.auth-modal__content {
        border-radius: 0;
        min-height: 100%;
        box-shadow: none;
    }
    .auth-modal__brand-bar {
        height: 6px;
    }
    .auth-modal__header {
        padding: 20px 20px 12px;
    }
    .auth-modal__body {
        padding: 8px 20px 24px;
    }
    .auth-modal__title {
        font-size: 1.25rem;
    }
}

/* ========== Explore Top Destinations – own design (no theme overrides) ========== */
.rn-destinations {
    --rn-dest-radius: 20px;
    --rn-dest-shadow: 0 10px 30px rgba(0, 0, 0, 0.08), 0 4px 12px rgba(0, 0, 0, 0.04);
}
.rn-destinations__bg {
    opacity: 0.35;
}
.rn-destinations__header {
    margin-bottom: 0;
}
.rn-destinations__subtitle {
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--tg-theme-primary, #ff7400);
    letter-spacing: 0.02em;
    text-transform: uppercase;
}
.rn-destinations__title {
    font-size: clamp(1.5rem, 2.2vw, 2rem);
    font-weight: 700;
    color: #1a1a1a;
    letter-spacing: -0.02em;
    line-height: 1.2;
    margin: 0;
}
.rn-destinations__nav {
    display: flex;
    align-items: center;
    gap: 10px;
}
.rn-destinations__nav-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: none;
    background: #f0f0f0;
    color: #333;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, color 0.2s, transform 0.15s;
}
.rn-destinations__nav-btn:hover {
    background: var(--tg-theme-primary, #ff7400);
    color: #fff;
    transform: scale(1.05);
}
.rn-destinations__nav-btn:active {
    transform: scale(0.98);
}
.rn-destinations__slider-wrap {
    padding: 4px 0 8px;
    margin: 0 -4px;
}
.rn-destinations__slider .swiper-wrapper {
    align-items: stretch;
}
.rn-destinations__slider .swiper-slide {
    height: auto;
}

/* Card: only our classes, no theme – image + name overlay */
.rn-destinations__card {
    height: 100%;
    border-radius: var(--rn-dest-radius);
    overflow: hidden;
    box-shadow: var(--rn-dest-shadow);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.rn-destinations__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12), 0 6px 16px rgba(0, 0, 0, 0.06);
}
.rn-destinations__card-link {
    display: block;
    height: 100%;
    position: relative;
    text-decoration: none;
    color: inherit;
}
.rn-destinations__card-image {
    position: relative;
    display: block;
    border-radius: var(--rn-dest-radius);
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #eee;
}
.rn-destinations__card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}
.rn-destinations__card:hover .rn-destinations__card-image img {
    transform: scale(1.06);
}
.rn-destinations__card-name {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    margin: 0;
    padding: 18px 20px;
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 1.3;
    color: #fff;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6), 0 0 2px rgba(0, 0, 0, 0.8);
    background: linear-gradient(to top, rgba(0, 0, 0, 0.6), transparent);
    transition: color 0.2s ease;
}
.rn-destinations__card-link:hover .rn-destinations__card-name {
    color: #fff;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8), 0 0 2px rgba(0, 0, 0, 1);
}

@media (max-width: 991.98px) {
    .rn-destinations__card-image {
        aspect-ratio: 3 / 2.5;
    }
    .rn-destinations__card-name {
        padding: 14px 16px;
        font-size: 1rem;
    }
}
@media (max-width: 575.98px) {
    .rn-destinations__slider-wrap {
        margin: 0 -16px;
        padding-left: 16px;
        padding-right: 16px;
    }
    .rn-destinations__card-image {
        aspect-ratio: 4 / 3;
    }
    .rn-destinations__card-name {
        padding: 14px 16px;
    }
}

/* Fix header visibility on smaller screens with transparent header */
@media (max-width: 1199px) {
    /* Ensure header has solid background on smaller screens and proper z-index */
    .tg-header__area.tg-transparent,
    #header-sticky.tg-transparent {
        background-color: rgba(255, 255, 255, 0.98) !important;
        backdrop-filter: blur(10px);
        box-shadow: 0px 1px 3px 0px rgba(18, 20, 32, 0.14) !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 1000 !important;
    }
    
    /* Ensure all text and buttons are visible with proper contrast */
    .tg-header__area.tg-transparent .tgmenu__navbar-wrap ul li a,
    .tg-header__area.tg-transparent .tg-header-contact-number a,
    .tg-header__area.tg-transparent .tg-header-contact-number span,
    .tg-header__area.tg-transparent .tg-header-contact-icon {
        color: var(--tg-common-black) !important;
    }
    
    /* Ensure login/dashboard button is visible (login = white pill, orange border/text) */
    .tg-header__area.tg-transparent .tg-btn-header {
        color: var(--tg-common-white) !important;
        background: var(--tg-theme-primary) !important;
        border: 1px solid var(--tg-theme-primary) !important;
        visibility: visible !important;
        opacity: 1 !important;
        display: block !important;
    }
    .tg-header__area.tg-transparent .tg-header-login-btn {
        color: var(--tg-theme-primary) !important;
        background: var(--tg-common-white) !important;
        border: 1px solid var(--tg-theme-primary) !important;
        visibility: visible !important;
        opacity: 1 !important;
        display: block !important;
    }
    
    .tg-header__area.tg-transparent .tg-btn-header:hover {
        color: var(--tg-theme-primary) !important;
        background: transparent !important;
        border-color: var(--tg-theme-primary) !important;
    }
    .tg-header__area.tg-transparent .tg-header-login-btn:hover {
        color: var(--tg-theme-primary) !important;
        background: var(--tg-common-white) !important;
        border-color: var(--tg-theme-primary) !important;
        text-decoration: underline !important;
        text-decoration-color: var(--tg-theme-primary) !important;
    }
    
    .tg-header__area.tg-transparent .tg-header-signup-link {
        color: var(--tg-theme-primary) !important;
    }
    
    /* Ensure hamburger menu is visible and black */
    .tg-header__area.tg-transparent .tgmenu-offcanvas-open-btn.mobile-nav-toggler span {
        background-color: #000000 !important;
    }
    
    /* Ensure hamburger menu button is visible */
    .tg-header__area.tg-transparent .tgmenu-offcanvas-open-btn.mobile-nav-toggler {
        display: inline-flex !important;
        visibility: visible !important;
        z-index: 1001 !important;
    }
    
    /* Ensure logo is visible */
    .tg-header__area.tg-transparent .logo img {
        opacity: 1 !important;
        visibility: visible !important;
    }
}

/* Fix hamburger menu - ensure only 3 lines display for both desktop and mobile */
.tgmenu-offcanvas-open-btn {
    position: relative !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    min-width: 30px !important;
    height: 24px !important;
    min-height: 24px !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    gap: 0 !important;
    line-height: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
}

/* Hide any pseudo-elements that might create extra lines */
.tgmenu-offcanvas-open-btn::before,
.tgmenu-offcanvas-open-btn::after {
    display: none !important;
    content: '' !important;
    visibility: hidden !important;
}

/* Ensure only 3 spans are visible and styled correctly */
.tgmenu-offcanvas-open-btn span {
    display: block !important;
    width: 24px !important;
    height: 2px !important;
    background-color: var(--tg-common-black) !important;
    border-radius: 2px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    position: relative !important;
    flex-shrink: 0 !important;
}

/* Hide pseudo-elements on spans */
.tgmenu-offcanvas-open-btn span::before,
.tgmenu-offcanvas-open-btn span::after {
    display: none !important;
    content: '' !important;
    visibility: hidden !important;
}

.tgmenu-offcanvas-open-btn span:first-child {
    margin-bottom: 6px !important;
}

.tgmenu-offcanvas-open-btn span:nth-child(2) {
    margin-bottom: 6px !important;
}

.tgmenu-offcanvas-open-btn span:nth-child(3) {
    margin-bottom: 0 !important;
}

/* Hide extra spans if any exist beyond the first 3 */
.tgmenu-offcanvas-open-btn span:nth-child(n+4) {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Desktop: hide hamburger (offcanvas trigger); main nav is used instead */
@media (min-width: 1200px) {
    .tgmenu-offcanvas-open-btn.menu-tigger {
        display: none !important;
        visibility: hidden !important;
    }
    
    .tgmenu-offcanvas-open-btn.mobile-nav-toggler {
        display: none !important;
        visibility: hidden !important;
    }
}

/* Mobile hamburger - black color, visible on mobile only */
@media (max-width: 1199px) {
    .tgmenu-offcanvas-open-btn.mobile-nav-toggler {
        display: inline-flex !important;
        visibility: visible !important;
    }
    
    .tgmenu-offcanvas-open-btn.mobile-nav-toggler span {
        background-color: var(--tg-common-black) !important;
    }
    
    .tgmenu-offcanvas-open-btn.menu-tigger {
        display: none !important;
        visibility: hidden !important;
    }
}

/* Mobile: Hamburger menu on white background headers = black */
@media (max-width: 1199px) {
    body.home-page .tg-header__area.tg-transparent .tgmenu-offcanvas-open-btn span,
    .tg-hero-area ~ .tg-header__area.tg-transparent .tgmenu-offcanvas-open-btn span,
    .tg-header__area.tg-transparent .tgmenu-offcanvas-open-btn.mobile-nav-toggler span {
        background-color: var(--tg-common-black) !important;
    }
}

/* Profile avatar trigger: no pill/circle behind on hover (avatar stays as-is) */
.profile-avatar-trigger,
.profile-avatar-trigger:hover {
    background: transparent !important;
    border: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

/* Wishlist dropdown: show above header (overflow + z-index) */
.tg-header-wandrlist.overflow-visible {
    overflow: visible !important;
}
.tg-header-wandrlist .wandrlist-dropdown {
    z-index: 1100 !important;
}
.tg-menu-right-action {
    overflow: visible !important;
}

/* Hamburger menu already handled above in the default transparent rule */

/* Reduce spacing between hero slider and package section */
.tg-listing-area {
    padding-top: 30px !important;
}

@media (max-width: 767px) {
    .tg-listing-area {
        padding-top: 20px !important;
    }
}
.cp {
    cursor: pointer;
}

.editor_table td {
    border: 1px solid #d9d9d9;
    padding: 10px;
}

.price_display del {
    font-size: 16px;
    color: gray;
    margin-right: 8px;
}

.tg-shop-product-content .price del {
    color: gray !important;
    font-weight: 400 !important;
    font-size: 16px;
    margin-right: 10px;
}

.wishlist.wishlist_icon.active {
    background: var(--tg-theme-primary);
    color: var(--tg-common-white);
}

.tg-blog-sidebar-form {
    position: relative;
}

.tg-blog-sidebar-form .product_search_btn {
    position: absolute;
    top: 6px;
    right: 8px;
}

.tg-blog-sidebar-form input {
    background: #f2f2f2;
    font-size: 13px;
    color: var(--tg-grey-1);
    border: 1px solid transparent;
    border-radius: 6px;
    width: 100%;
    height: 40px;
    padding: 0 40px 0px 12px;
}


.tg-pagenation-wrap nav ul li span {
    font-weight: 500;
    font-size: 14px;
    color: var(--tg-common-black);
    background: #f1f3f5;
    height: 44px;
    width: 44px;
    text-align: center;
    line-height: 44px;
    transition: all 0.4s ease;
    display: inline-block;
    border-radius: 8px;
}

.tg-pagenation-wrap nav ul li .p-btn {
    height: auto;
    width: auto;
    line-height: 1;
    padding: 15px 30px;
    border-radius: 8px;
}

.tg-pagenation-wrap nav ul li span.active {
    color: var(--tg-common-white);
    background: var(--tg-theme-primary);
}

.tg-product-details-price del {
    font-size: 18px;
    font-weight: 400;
    color: #454545;
    margin-right: 10px;
}

.tg-product-details-availability .stock-out {
    color: rgba(255, 0, 0, 0.633);
}

.tg-product-details-thumb-nav button {
    min-width: 130px;
}

.wandrgo-tabs-wrapper>* {
    display: inline-block;
    width: 100%;
    margin-left: -2px;
}

.wandrgo-tabs-wrapper {
    position: relative;
    white-space: nowrap;
}

.wandrgo-tabs-container {
    overflow: hidden;
}

.wandrgo-tabs-wrapper .tabContent {
    background: var(--tg-grey-7);
    text-align: center;
    width: 100%;
    height: 490px;
    overflow: hidden;
    border-radius: 15px;
}

.wandrgo-tabs-wrapper .tabContent img {
    position: absolute;
    top: 50%;
    bottom: 50%;
    transform: translate(-50%, -50%);
}

/* blog css  */
.tg-blog-details-review-form textarea.textarea {
    padding-top: 11px;
}

ul.wandrgo-tabs-menu li a {
    height: 100px;
    width: 114px;
    display: block;
    padding: 16px;
    background: var(--tg-grey-7);
    text-align: center;
    border-radius: 15px !important;
    mix-blend-mode: luminosity;
}

ul.wandrgo-tabs-menu li a img {
    height: 100%;
    text-align: center;
}

ul.wandrgo-tabs-menu {
    overflow-x: auto;
    display: flex;
    gap: 10px;
    margin-top: 10px;
    padding-bottom: 10px;
}

ul.wandrgo-tabs-menu li {
    display: inline-block;
}

.rating-icon {
    cursor: pointer;
}

.rating-icon i.active {
    color: var(--tg-common-yellow) !important;
}

.tg-tour-about-cus-review-star i {
    color: gray;
}

.tg-tour-about-cus-review-star i.active {
    color: var(--tg-common-yellow);
}

.tg-product-rating span {
    color: gray;
}

.tg-product-rating span.active {
    color: var(--tg-common-yellow);
}

.tg-ratting-star {
    gap: 3px;
}

.tg-ratting-star i {
    color: gray;
    font-size: 14px;
}

.tg-ratting-star i.active {
    color: var(--tg-common-yellow);
}

.tg-checkout-form-input .input {
    text-transform: none;
}

.payment_box {
    border-radius: 18px;
    background: #f9f9f9;
}

.payment_box_head {
    border-bottom: 1px solid #dddddd;
}

.payment_box_head h5 {
    font-size: 22px;
    font-weight: 600;
    line-height: 32px;
    color: var(--heading-color);
    padding: 34px 40px 16px 40px;
}

.payment_select_item_main {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
    position: relative;
    padding: 40px 40px;
}

.payment_select_item_box {
    padding: 18px 40px;
    border: 1px solid #ececec;
    background-color: #fff;
    border-radius: 12px;
    display: inline-block;
    width: 48%;
    transition: all linear 0.5s;
}

.payment_select_item_thumb {
    height: 28px;
}

.payment_select_item_thumb img {
    width: 100%;
    height: 100%;
}

.optech-checkuot-sidebar {
    border: 1px solid #d4d4d4;
    padding: 29px;
    border-radius: 10px;
}

.optech-checkuot-sidebar ul li {
    margin-bottom: 12px;
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #dddddd;
    padding-bottom: 10px;
}

.optech-checkuot-sidebar ul li:last-child {
    margin-bottom: 0;
    border-bottom: none;
    padding-bottom: 0;
}

.optech-checkuot-sidebar h5 {
    margin-bottom: 20px;
}

.no-arrow::-webkit-inner-spin-button,
.no-arrow::-webkit-outer-spin-button {
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
}

.no-arrow {
    -moz-appearance: textfield;
    appearance: textfield;
}

[x-cloak] {
    display: none !important;
}

.tg-listing-card-review i {
    color: #ababab;
    font-size: 14px;
}

.tg-listing-card-review i.active {
    color: var(--tg-common-yellow);
}

.tg-listing-item-wishlist.active {
    color: var(--tg-theme-primary);
}


/* payment css  */
.payment_right {
    box-shadow: 0 0 15px 0 #efefef;
    background: var(--tg-common-white);
    border: 1px solid #e9e9e9;
    border-radius: 12px;
    padding: 25px 30px 30px 30px;
}

.payment_right .sub_total {
    margin: 0;
    padding: 0;
    list-style: none;
}

.payment_right .sub_total li {
    color: #696969;
    font-size: 16px;
    font-weight: 400;
    line-height: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0px;
    border-bottom: 1px solid #E6E0FF;
    margin: 0 20px;
}

.payment_right .sub_total li span {
    font-weight: 700;
}

.payment_right .sub_total li .dis {
    color: #FF4646;
}

.payment_right .sub_total li:last-of-type {
    font-weight: 700;
    color: var(--heading-color);
    border: 0;
}

.payment_right .coupon_box {
    margin: 0 20px;
    border: 1px solid #E6E0FF;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5px;
    border-radius: 10px;
    overflow: hidden;
}

.payment_right .coupon_box .form-control {
    border: 0;
    color: var(--heading-color);
    font-size: 16px;
    font-weight: 400;
    line-height: normal;
}

.payment_right .coupon_box .form-control:focus {
    box-shadow: inherit;
}

.payment_right .coupon_box .coupon_apply_btn {
    padding: 15px 35px;
    border: 0;
    color: var(--heading-color);
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 18px;
    background: #EBECED;
}

.payment_right .payment_select_text h4 {
    color: var(--heading-color);
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
}

.payment_right .payment_select_item_main {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 14px;
    position: relative;
    padding: 0px;
}

.payment_right .payment_select_item_box {
    padding: 18px 40px;
    border: 1px solid #E6E0FF;
    border-radius: 4px;
    display: inline-block;
    width: 48%;
    transition: all linear 0.5s;
}

.payment_right .payment_select_item_box:hover {
    border-color: var(--accent-color);
}

.payment_right .payment_select_item_thumb {
    height: 28px;
}

.payment_right .payment_select_item_thumb img {
    width: 100%;
    height: 100%;
}

.payment_right .payment_select_modal_head {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.payment_right .payment_select_modal_head h2 {
    color: #000;
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
    margin-bottom: 20px;
}

.payment_right .payment_select_modal {
    position: absolute;
    padding: 12px 20px 20px 20px;
    width: 335px;
    z-index: 11;
    border-radius: 8px;
    background: #FFF;
    box-shadow: 2px 2px 50px 0px rgba(0, 0, 0, 0.1);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: none;
}

.payment_right .payment_select_modal.active {
    display: block;
}

.payment_right .payment_select_modal .close_modal_btn {
    border: 0;
    background: transparent;
}

.payment_right .payment_select_modal_form {
    margin-top: 25px;
}

.payment_right .payment_select_modal_form .payment_select_modal_form_item {
    margin-top: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.payment_right .payment_select_modal_form .payment_select_modal_form_inner {
    width: 100%;
}

.payment_right .payment_select_modal_form .form-label {
    margin-bottom: 2px;
    color: #333;
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
}

.payment_right .payment_select_modal_form .form-control {
    padding: 15px 15px;
    border-radius: 10px;
    border: 1px solid #E6E0FF;
    background: var(--white-color);
}

.payment_right .payment_select_modal_form .form-control:focus {
    box-shadow: inherit;
}

.payment_right .payment_select_modal_form .td_btn {
    width: 100%;
    margin-top: 15px;
}

.payment_right .banck_text {
    margin: 0;
    padding: 0;
    list-style: none;
    margin-bottom: 10px;
    margin-top: 15px;
}

.payment_right .banck_text li {
    color: var(--heading-color);
    font-size: 17px;
    font-weight: 400;
    line-height: 175%;
}

.payment_right .banck_text li span {
    color: #7E8BA0;
}

.payment_right .banck_text li:first-of-type {
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px;
}

.payment_right .banck_text li:first-of-type span {
    color: var(--heading-color);
    font-weight: 600;
}

@media (max-width: 767px) {
    .payment_table .table tbody tr td .payment_box_item {
        min-width: 300px;
    }

    .payment_right {
        margin-left: 0;
        margin-top: 50px;
    }

    .payment_right .payment_select_item_box {
        width: 47%;
        padding: 15px 20px;
    }

    .payment {
        padding: 60px 0;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .payment_table .table tbody tr td .payment_box_item {
        min-width: 300px;
    }

    .payment_right {
        margin-left: 0;
    }

    .payment_right .payment_select_item_box {
        width: 46%;
        padding: 15px 20px;
    }

    .payment_right .payment_select_modal {
        left: 36%;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .payment_table .table tbody tr td .payment_box_item {
        min-width: 300px;
    }

    .payment_right {
        margin-left: 0;
    }

    .payment_right .payment_select_item_box {
        width: 47%;
    }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
    .payment_right {
        margin-left: 0;
    }
}
/* === HERO SLIDER: Fixed size, no crop, auto swipe === */

/* Wrapper and slides – non-wandrgo2 themes only */
.tg-hero-area:not(.wandrgo2-hero-area) .tg-hero-slider-active,
.tg-hero-area:not(.wandrgo2-hero-area) .tg-hero-slider-active .swiper-wrapper,
.tg-hero-area:not(.wandrgo2-hero-area) .tg-hero-slider-active .swiper-slide {
  height: 60vh !important;
  min-height: 420px !important;
}

/* Non-wandrgo2 themes: viewport-based mobile height */
@media (max-width: 767.98px) {
  .tg-hero-area:not(.wandrgo2-hero-area) .tg-hero-slider-active,
  .tg-hero-area:not(.wandrgo2-hero-area) .tg-hero-slider-active .swiper-wrapper,
  .tg-hero-area:not(.wandrgo2-hero-area) .tg-hero-slider-active .swiper-slide {
    height: 42vh !important;
    min-height: 260px !important;
  }
}

/* Image container behavior – cover fills hero without upscaling a small image box */
.tg-hero-area .tg-hero-thumb {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-color: #000;
  animation: none !important;
  transition: none !important;
  transform: none !important;
}

/* Wandrgo2 hero title – decorative underline is controlled only by these classes */
.wandrgo2-hero-area .wandrgo2-hero-title--plain {
  display: block !important;
  max-width: 100%;
  font-weight: 700;
  font-size: 64px;
  color: var(--tg-common-white);
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  background-image: none !important;
}
.wandrgo2-hero-area .wandrgo2-hero-title--plain::after,
.wandrgo2-hero-area .wandrgo2-hero-title--plain::before {
  display: none !important;
  content: none !important;
}
.wandrgo2-hero-area .wandrgo2-hero-title--plain,
.wandrgo2-hero-area .wandrgo2-hero-title--plain .tg-hero-title,
.wandrgo2-hero-area .wandrgo2-hero-title--plain *:not(a) {
  text-decoration: none !important;
  border: 0 !important;
  border-bottom: 0 !important;
}
.wandrgo2-hero-area .wandrgo2-hero-title--underline {
  display: inline-block !important;
  max-width: 100%;
  font-weight: 700;
  font-size: 64px;
  color: var(--tg-common-white);
  border: none !important;
  border-bottom: none !important;
  text-decoration: none !important;
  padding-bottom: 0.12em;
}
.wandrgo2-hero-area .wandrgo2-hero-title--underline::after {
  content: '';
  display: block;
  width: 100%;
  height: 4px;
  margin-top: 0.08em;
  background: var(--tg-common-white);
}
.wandrgo2-hero-area .wandrgo2-hero-title--underline .tg-hero-title,
.wandrgo2-hero-area .wandrgo2-hero-title--underline *:not(a) {
  border: none !important;
  border-bottom: none !important;
  text-decoration: none !important;
}
.wandrgo2-hero-area .wandrgo2-hero-title--drop-shadow,
.wandrgo2-hero-area .wandrgo2-hero-title--text-backdrop {
  text-shadow:
    0 2px 16px rgba(0, 0, 0, 0.92),
    0 0 4px rgba(0, 0, 0, 0.85),
    0 1px 2px rgba(0, 0, 0, 0.9);
}
.wandrgo2-hero-area .wandrgo2-hero-title--drop-shadow *:not(a),
.wandrgo2-hero-area .wandrgo2-hero-title--text-backdrop *:not(a) {
  text-shadow: inherit;
}
.wandrgo2-hero-area .wandrgo2-hero-title .wandrgo2-hero-drop-shadow,
.wandrgo2-hero-area .wandrgo2-hero-title .wandrgo2-hero-readable-shadow {
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.9), 0 0 3px rgba(0, 0, 0, 0.85);
}
.wandrgo2-hero-area .wandrgo2-hero-title .wandrgo2-hero-accent {
  color: #ff7400 !important;
}
.wandrgo2-hero-area .wandrgo2-hero-title--plain p,
.wandrgo2-hero-area .wandrgo2-hero-title--underline p {
  display: block;
  margin: 0;
  line-height: 1.15;
}
.wandrgo2-hero-area .wandrgo2-hero-title--plain p + p,
.wandrgo2-hero-area .wandrgo2-hero-title--underline p + p {
  margin-top: 0.15em;
}
.wandrgo2-hero-area .wandrgo2-hero-subtitle {
  font-family: var(--tg-ff-outfit);
}
/* Wandrgo2 single-video hero – fluid frame height (see tokens below) */
.wandrgo2-hero-area .wandrgo2-hero-static {
  position: relative;
  overflow: hidden;
}
.wandrgo2-hero-area .wandrgo2-hero-static .tg-hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
/*
 * Wandrgo2 hero – fluid scale from phone (320px) → desktop (≥1200px)
 * 18px title / 10px subtitle / 16:9 frame → 64px title / 24px subtitle / 60vh min 420px
 * All wandrgo2 hero rules live in custom.css (not main.css – shared theme base).
 */
.wandrgo2-hero-area {
  --w2-hero-title-size: clamp(1.125rem, -0.125rem + 5.5vw, 4rem);
  --w2-hero-subtitle-size: clamp(0.625rem, 0.35rem + 1.05vw, 1.5rem);
  --w2-hero-pad-x: clamp(0.5rem, 0.25rem + 1.5vw, 0.9375rem);
  --w2-hero-pad-top: clamp(0.625rem, -2rem + 15vw, 13.125rem);
  --w2-hero-pad-bottom: clamp(0rem, -3rem + 12vw, 7.5rem);
  --w2-hero-text-gap: clamp(0.125rem, 0.05rem + 0.45vw, 1rem);
  --w2-hero-shadow-h: clamp(2rem, -1rem + 12vw, 11.75rem);
  --w2-hero-underline-h: clamp(1.5px, 0.15rem + 0.12vw, 4px);
  --w2-hero-video-zoom-boost: 1;
  --w2-hero-video-focus-y: 50%;
  --w2-hero-overlay-pad-top: clamp(0.625rem, -0.5rem + 3.5vw, 2rem);
}

.wandrgo2-hero-area .shop-slider-wrapper {
  width: 100%;
}

.wandrgo2-hero-area .wandrgo2-hero-static,
.wandrgo2-hero-area .tg-hero-slider-active,
.wandrgo2-hero-area .tg-hero-slider-active .swiper-wrapper,
.wandrgo2-hero-area .tg-hero-slider-active .swiper-slide {
  width: 100%;
  max-width: 100%;
  height: clamp(11.25rem, 56.25vw, max(26.25rem, 60vh)) !important;
  min-height: clamp(11.25rem, 56.25vw, 26.25rem) !important;
}

.wandrgo2-hero-area .tg-hero-slider-active .swiper-wrapper,
.wandrgo2-hero-area .tg-hero-slider-active .swiper-slide {
  height: 100% !important;
  min-height: 0 !important;
}

.wandrgo2-hero-area .swiper-slide,
.wandrgo2-hero-area .wandrgo2-hero-static {
  position: relative;
}

.wandrgo2-hero-area .swiper-slide .tg-hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.wandrgo2-hero-area .tg-hero-top-shadow {
  height: var(--w2-hero-shadow-h);
}

.wandrgo2-hero-area .tg-hero-bg::before {
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, calc(0.08 + 0.12 * ((100vw - 20rem) / 55rem))) 0%,
    rgba(0, 0, 0, 0) 28%,
    rgba(0, 0, 0, 0) 72%,
    rgba(0, 0, 0, calc(0.1 + 0.3 * ((100vw - 20rem) / 55rem))) 100%
  );
}

.wandrgo2-hero-area .tg-hero-slide-content {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  height: 100%;
  padding: var(--w2-hero-overlay-pad-top) var(--w2-hero-pad-x) 0;
  box-sizing: border-box;
}

.wandrgo2-hero-area .tg-hero-content {
  padding-top: var(--w2-hero-pad-top) !important;
  padding-bottom: var(--w2-hero-pad-bottom) !important;
  width: 100%;
}

.wandrgo2-hero-area .tg-hero-title-box,
.wandrgo2-hero-area .tg-hero-title-box.mb-10 {
  margin-bottom: 0 !important;
}

.wandrgo2-hero-area .wandrgo2-hero-title--plain,
.wandrgo2-hero-area .wandrgo2-hero-title--underline,
.wandrgo2-hero-area .wandrgo2-hero-title--plain *:not(a),
.wandrgo2-hero-area .wandrgo2-hero-title--underline *:not(a) {
  font-size: var(--w2-hero-title-size) !important;
  line-height: 1.15 !important;
}

.wandrgo2-hero-area .wandrgo2-hero-subtitle {
  font-size: var(--w2-hero-subtitle-size) !important;
  line-height: 1.2 !important;
}

.wandrgo2-hero-area .wandrgo2-hero-subtitle.mb-5,
.wandrgo2-hero-area .wandrgo2-hero-subtitle.mt-4 {
  margin-top: var(--w2-hero-text-gap) !important;
  margin-bottom: 0 !important;
}

.wandrgo2-hero-area .wandrgo2-hero-title--underline::after {
  height: var(--w2-hero-underline-h);
  margin-top: 0.1em;
}

.wandrgo2-hero-area .tg-hero-para {
  font-size: clamp(0.625rem, 0.35rem + 0.9vw, 1rem) !important;
  line-height: 1.3 !important;
  margin-top: var(--w2-hero-text-gap) !important;
}

.wandrgo2-hero-area .tg-hero-price-wrap {
  margin-bottom: var(--w2-hero-text-gap) !important;
  margin-top: var(--w2-hero-text-gap) !important;
  font-size: clamp(0.6875rem, 0.4rem + 0.8vw, 1rem);
}

.wandrgo2-hero-area .tg-hero-price-wrap.mb-35 {
  margin-bottom: var(--w2-hero-text-gap) !important;
}

.wandrgo2-hero-area .tg-hero-btn-box .tg-btn {
  font-size: clamp(0.75rem, 0.5rem + 0.65vw, 1rem);
  padding: clamp(0.5rem, 0.35rem + 0.5vw, 0.75rem) clamp(0.875rem, 0.5rem + 1.2vw, 1.5rem);
}

.wandrgo2-hero-area .tg-hero-btn-box .tg-btn svg {
  width: clamp(14px, 10px + 0.6vw, 21px);
  height: clamp(11px, 8px + 0.45vw, 16px);
}

/* Phone: compact overlay, no CTA, top-focused video */
@media (max-width: 575.98px) {
  .wandrgo2-hero-area {
    --w2-hero-video-zoom-boost: clamp(1.12, 1.06 + 0.4vw, 1.24);
    --w2-hero-video-focus-y: 0%;
    --w2-hero-pad-top: clamp(0.5rem, 0.25rem + 2vw, 0.875rem);
    --w2-hero-pad-bottom: 0rem;
  }

  .wandrgo2-hero-area .tg-hero-slide-content > .container {
    padding-left: 0;
    padding-right: 0;
    max-width: 100%;
    width: 100%;
  }

  .wandrgo2-hero-area .tg-hero-slide-content .row {
    margin-left: 0;
    margin-right: 0;
  }

  .wandrgo2-hero-area .tg-hero-slide-content [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
    max-width: 100%;
    flex: 0 0 100%;
  }

  .wandrgo2-hero-area .tg-hero-top-shadow {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0) 100%);
  }

  .wandrgo2-hero-area .tg-hero-btn-box {
    display: none !important;
  }

  .wandrgo2-hero-area .wandrgo2-hero-video-framed.tg-hero-video {
    object-position: 50% 0% !important;
    transform: scale(calc(var(--hero-video-scale, 1) * var(--w2-hero-video-zoom-boost)));
    transform-origin: 50% 0%;
  }

  .wandrgo2-hero-area .tg-hero-video-wrap.wandrgo2-hero-video-framed .tg-hero-video-iframe {
    top: 0;
    transform: translateX(-50%) scale(calc(var(--hero-video-scale, 1) * var(--w2-hero-video-zoom-boost)));
    transform-origin: 50% 0%;
  }
}

/* Large phone → tablet: scale up, lighten overlay, partial video zoom */
@media (min-width: 576px) and (max-width: 991.98px) {
  .wandrgo2-hero-area {
    --w2-hero-video-zoom-boost: clamp(1, 1.18 - 0.12vw, 1.18);
    --w2-hero-video-focus-y: 20%;
    --w2-hero-pad-top: clamp(1.5rem, -1rem + 8vw, 6rem);
    --w2-hero-pad-bottom: clamp(0.5rem, -1rem + 6vw, 4rem);
  }

  .wandrgo2-hero-area .tg-hero-slide-content > .container {
    padding-left: 0;
    padding-right: 0;
    max-width: 100%;
    width: 100%;
  }

  .wandrgo2-hero-area .tg-hero-slide-content .row {
    margin-left: 0;
    margin-right: 0;
  }

  .wandrgo2-hero-area .tg-hero-slide-content [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
  }

  .wandrgo2-hero-area .tg-hero-btn-box {
    display: block;
  }

  .wandrgo2-hero-area .wandrgo2-hero-video-framed.tg-hero-video {
    object-position: 50% var(--w2-hero-video-focus-y) !important;
    transform: scale(calc(var(--hero-video-scale, 1) * var(--w2-hero-video-zoom-boost)));
    transform-origin: 50% var(--w2-hero-video-focus-y);
  }

  .wandrgo2-hero-area .tg-hero-video-wrap.wandrgo2-hero-video-framed .tg-hero-video-iframe {
    top: 0;
    transform: translateX(-50%) scale(calc(var(--hero-video-scale, 1) * var(--w2-hero-video-zoom-boost)));
    transform-origin: 50% var(--w2-hero-video-focus-y);
  }
}

/* Laptop / desktop: match theme desktop layout, admin video focus restored */
@media (min-width: 992px) {
  .wandrgo2-hero-area {
    --w2-hero-pad-top: clamp(6rem, -2rem + 15vw, 13.125rem);
    --w2-hero-pad-bottom: clamp(3rem, -1rem + 10vw, 7.5rem);
    --w2-hero-overlay-pad-top: 0;
  }

  .wandrgo2-hero-area .tg-hero-slide-content {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
    align-items: stretch;
  }

  .wandrgo2-hero-area .tg-hero-btn-box {
    display: block;
  }

  .wandrgo2-hero-area .wandrgo2-hero-video-framed.tg-hero-video {
    transform: none;
    transform-origin: var(--hero-video-focus, 50% 50%);
  }

  .wandrgo2-hero-area .tg-hero-video-wrap.wandrgo2-hero-video-framed .tg-hero-video-iframe {
    top: 50%;
    transform: translate(-50%, -50%) scale(var(--hero-video-scale, 1));
    transform-origin: var(--hero-video-focus, 50% 50%);
  }
}
.wandrgo2-hero-area .wandrgo2-hero-static .tg-hero-bg::before {
  z-index: 1;
}
.wandrgo2-hero-area .wandrgo2-hero-static .tg-hero-video,
.wandrgo2-hero-area .wandrgo2-hero-static .tg-hero-video-wrap,
.wandrgo2-hero-area .wandrgo2-hero-static .wandrgo2-hero-fallback-bg {
  z-index: 0;
}
/* Video framing – object-position for uploads, scale+origin for embeds */
.wandrgo2-hero-area .wandrgo2-hero-video-framed.tg-hero-video {
  object-fit: cover;
}
.wandrgo2-hero-area .tg-hero-video-wrap.wandrgo2-hero-video-framed {
  overflow: hidden;
}
.wandrgo2-hero-area .tg-hero-video-wrap.wandrgo2-hero-video-framed .tg-hero-video-iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%) scale(var(--hero-video-scale, 1));
  transform-origin: var(--hero-video-focus, 50% 50%);
}
.wandrgo2-hero-area .wandrgo2-hero-fallback-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
}

/* ============================================
   Wandrgo2 booking form – fluid mobile float bar
   Scales 320px → 767px; desktop inline form ≥768px
   ============================================ */
.wandrgo2-booking-form-area {
  --w2-booking-bar-h: clamp(3.5rem, 14vw, 3.75rem);
  --w2-booking-bar-radius: clamp(1.25rem, 5.5vw, 1.5rem);
  --w2-booking-bar-pad-x: clamp(1.25rem, 5.5vw, 1.5rem);
  --w2-booking-float-overlap: clamp(1.75rem, 7.5vw, 2.75rem);
  --w2-booking-card-overlap: clamp(2.75rem, 7vw, 4.5rem);
  --w2-booking-container-pad-x: clamp(0.875rem, 4vw, 1.25rem);
  --w2-booking-trigger-text: clamp(0.875rem, 3.8vw, 1.0625rem);
  --w2-booking-trigger-icon: clamp(1rem, 4.5vw, 1.25rem);
  position: relative;
  z-index: 12;
  background: transparent !important;
  padding-top: 0 !important;
  padding-bottom: clamp(0.375rem, 1.5vw, 0.75rem) !important;
}

.wandrgo2-booking-form-container {
  padding-left: var(--w2-booking-container-pad-x);
  padding-right: var(--w2-booking-container-pad-x);
}

@media (max-width: 767.98px) {
  .wandrgo2-booking-form-area {
    margin-top: calc(-1 * var(--w2-booking-float-overlap));
  }
}

/* Floating mobile trigger bar */
.wandrgo2-booking-mobile-trigger {
  display: flex;
  align-items: center;
  gap: clamp(0.625rem, 2.8vw, 0.875rem);
  width: 100%;
  height: var(--w2-booking-bar-h);
  padding: 0 var(--w2-booking-bar-pad-x);
  margin: 0;
  background: #fff;
  border: 1px solid #f1f1f1;
  border-radius: var(--w2-booking-bar-radius);
  box-shadow:
    0 10px 40px rgba(15, 23, 42, 0.1),
    0 4px 14px rgba(15, 23, 42, 0.06);
  color: #6b7280;
  font-family: var(--tg-ff-outfit, 'Outfit', sans-serif);
  font-size: var(--w2-booking-trigger-text);
  font-weight: 500;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
  -webkit-tap-highlight-color: transparent;
}

.wandrgo2-booking-mobile-trigger:hover,
.wandrgo2-booking-mobile-trigger:focus-visible {
  box-shadow:
    0 14px 44px rgba(15, 23, 42, 0.12),
    0 6px 18px rgba(15, 23, 42, 0.08);
  outline: none;
}

.wandrgo2-booking-mobile-trigger:active {
  transform: translateY(1px);
}

.wandrgo2-booking-mobile-trigger__icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: var(--w2-booking-trigger-icon);
  height: var(--w2-booking-trigger-icon);
  color: #9ca3af;
}

.wandrgo2-booking-mobile-trigger__icon svg {
  width: 100%;
  height: 100%;
}

.wandrgo2-booking-mobile-trigger__text {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #374151;
}

.wandrgo2-booking-mobile-trigger__chevron {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  color: #9ca3af;
  width: clamp(1rem, 4vw, 1.125rem);
  height: clamp(1rem, 4vw, 1.125rem);
}

.wandrgo2-booking-mobile-trigger__chevron svg {
  width: 100%;
  height: 100%;
}

/* Mobile floating search popout (compact card, not full sheet) */
.wandrgo2-booking-modal .modal-backdrop.show {
  opacity: 0.35;
}

.wandrgo2-booking-popout {
  --w2-popout-pad: clamp(1rem, 4.5vw, 1.25rem);
  --w2-popout-radius: clamp(1.25rem, 5.5vw, 1.5rem);
  --w2-popout-font: var(--tg-ff-outfit, 'Outfit', sans-serif);
  max-width: min(21.5rem, calc(100vw - 1.75rem));
  margin: 0.75rem auto;
  font-family: var(--w2-popout-font);
}

.wandrgo2-booking-popout__card {
  position: relative;
  border: 1px solid #f1f1f1;
  border-radius: var(--w2-popout-radius);
  background: #fff;
  box-shadow:
    0 18px 48px rgba(15, 23, 42, 0.14),
    0 6px 18px rgba(15, 23, 42, 0.08);
  overflow: visible;
}

.wandrgo2-booking-popout__inner {
  padding: var(--w2-popout-pad);
  padding-top: calc(var(--w2-popout-pad) + 0.25rem);
}

.wandrgo2-booking-popout__close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 2;
  opacity: 0.45;
  padding: 0.35rem;
}

.wandrgo2-booking-popout__close:focus {
  box-shadow: none;
  opacity: 0.75;
}

.wandrgo2-booking-popout__title {
  margin: 0 2rem 0.875rem 0;
  font-family: var(--w2-popout-font);
  font-size: clamp(0.9375rem, 4vw, 1.0625rem);
  font-weight: 600;
  line-height: 1.3;
  color: #111827;
}

.wandrgo2-booking-fields--popout {
  display: flex;
  flex-direction: column;
  gap: clamp(0.625rem, 2.8vw, 0.75rem);
}

.wandrgo2-booking-field__label {
  display: block;
  margin-bottom: 0.35rem;
  font-family: var(--w2-popout-font);
  font-size: clamp(0.6875rem, 2.8vw, 0.75rem);
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #6b7280;
}

.wandrgo2-booking-field__control {
  position: relative;
}

.wandrgo2-booking-field__control::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0.875rem;
  width: 0.5rem;
  height: 0.5rem;
  border-right: 2px solid #9ca3af;
  border-bottom: 2px solid #9ca3af;
  transform: translateY(-65%) rotate(45deg);
  pointer-events: none;
}

.wandrgo2-booking-field__select {
  display: block;
  width: 100%;
  min-height: 2.875rem;
  padding: 0.6875rem 2.25rem 0.6875rem 0.875rem;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border: 1px solid #ececec;
  border-radius: 0.75rem;
  background: #f9fafb;
  color: #111827;
  font-family: var(--w2-popout-font);
  font-size: clamp(0.875rem, 3.6vw, 0.9375rem);
  font-weight: 500;
  line-height: 1.3;
  transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.wandrgo2-booking-field__select:focus {
  outline: none;
  border-color: rgba(255, 116, 0, 0.55);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(255, 116, 0, 0.12);
}

.wandrgo2-booking-field__select:invalid,
.wandrgo2-booking-field__select option[value=""] {
  color: #6b7280;
}

.wandrgo2-booking-field--submit {
  margin-top: 0.25rem;
}

.wandrgo2-booking-popout__submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 2.75rem;
  padding: 0.625rem 1rem;
  border: none;
  border-radius: 0.75rem;
  background: var(--tg-theme-primary, #ff7400);
  color: #fff;
  font-family: var(--w2-popout-font);
  font-size: clamp(0.875rem, 3.6vw, 0.9375rem);
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.15s ease, transform 0.15s ease;
}

.wandrgo2-booking-popout__submit:hover,
.wandrgo2-booking-popout__submit:focus-visible {
  background: #e66600;
  color: #fff;
  outline: none;
}

.wandrgo2-booking-popout__submit:active {
  transform: translateY(1px);
}

/* Desktop / tablet inline form – float ~half over hero bottom */
@media (min-width: 768px) {
  .wandrgo2-booking-form-area {
    margin-top: calc(-1 * var(--w2-booking-card-overlap));
    padding-bottom: clamp(0.5rem, 2vw, 1rem) !important;
    background: transparent !important;
  }

  .wandrgo2-booking-form-wrap {
    margin-top: 0;
    position: relative;
    z-index: 12;
  }

  .wandrgo2-booking-form-container {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.wandrgo2-booking-form-wrap {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 15px;
  padding: 20px 40px 25px;
}

.wandrgo2-booking-form-area .tg-booking-form-inline .tg-booking-form-row {
  gap: 12px;
}

.wandrgo2-booking-form-area .tg-booking-form-inline .tg-booking-form-field {
  min-width: 160px;
  flex: 1 1 0;
}

.wandrgo2-booking-form-area .tg-booking-form-inline .tg-booking-form-field .tg-booking-form-label {
  font-size: 13px;
  font-weight: 600;
  color: #1a1a1a;
  display: block;
}

.wandrgo2-booking-form-area .tg-booking-form-inline .tg-booking-select {
  width: 100%;
  padding: 10px 14px;
  border: 2px solid #e8e8e8;
  border-radius: 8px;
  font-size: 14px;
  background: #fff;
  min-height: 44px;
}

.wandrgo2-booking-form-area .tg-booking-form-inline .tg-booking-select:focus {
  border-color: var(--tg-theme-primary, #ff7400);
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 116, 0, 0.12);
}

.wandrgo2-booking-form-area .tg-booking-form-inline .tg-booking-form-search-btn {
  flex-shrink: 0;
}

.wandrgo2-booking-form-area .tg-booking-form-inline .bk-search-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  background: var(--tg-theme-primary, #ff7400);
  color: #fff;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  white-space: nowrap;
}

.wandrgo2-booking-form-area .tg-booking-form-inline .bk-search-button:hover {
  background: #e66600;
  color: #fff;
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .wandrgo2-booking-form-wrap {
    padding: 18px 24px 22px;
  }

  .wandrgo2-booking-form-area .tg-booking-form-inline .tg-booking-form-field {
    min-width: calc(50% - 12px);
  }

  .wandrgo2-booking-form-area .tg-booking-form-inline .tg-booking-form-search-btn {
    width: 100%;
  }

  .wandrgo2-booking-form-area .tg-booking-form-inline .bk-search-button {
    width: 100%;
  }
}

/* ============================================
   Wandrgo2 promo strip – 3 equal cards desktop
   ============================================ */
.wandrgo2-promo-strip {
  padding: clamp(0.75rem, 2.5vw, 1.5rem) 0 clamp(1rem, 3vw, 1.75rem);
  background: #fff;
}

.wandrgo2-promo-strip__container {
  padding-left: clamp(0.875rem, 4vw, 15px);
  padding-right: clamp(0.875rem, 4vw, 15px);
}

.wandrgo2-promo-strip__slider-wrap {
  position: relative;
}

.wandrgo2-promo-strip__swiper {
  overflow: hidden;
}

.wandrgo2-promo-strip__card {
  height: 100%;
  border-radius: clamp(0.75rem, 2vw, 1rem);
  overflow: hidden;
  background: #f3f4f6;
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.06);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.wandrgo2-promo-strip__link {
  display: block;
  width: 100%;
  height: 100%;
}

.wandrgo2-promo-strip__image {
  display: block;
  width: 100%;
  aspect-ratio: 2 / 1;
  object-fit: cover;
  object-position: center;
}

.wandrgo2-promo-strip__card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.1);
}

.wandrgo2-promo-strip__nav {
  display: none;
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 2.25rem;
  height: 2.25rem;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.95);
  color: #374151;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12);
  transform: translateY(-50%);
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.wandrgo2-promo-strip__slider-wrap--scrollable:hover .wandrgo2-promo-strip__nav,
.wandrgo2-promo-strip__slider-wrap--scrollable:focus-within .wandrgo2-promo-strip__nav {
  display: inline-flex;
}

.wandrgo2-promo-strip__nav:hover {
  background: #fff;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.16);
}

.wandrgo2-promo-strip__nav--prev {
  left: -0.35rem;
}

.wandrgo2-promo-strip__nav--next {
  right: -0.35rem;
}

.wandrgo2-promo-strip__pagination {
  position: static;
  margin-top: 0.75rem;
  text-align: center;
}

.wandrgo2-promo-strip__pagination .swiper-pagination-bullet {
  width: 0.5rem;
  height: 0.5rem;
  margin: 0 0.25rem !important;
  background: #d1d5db;
  opacity: 1;
  transition: width 0.2s ease, background-color 0.2s ease;
}

.wandrgo2-promo-strip__pagination .swiper-pagination-bullet-active {
  width: 1.25rem;
  border-radius: 999px;
  background: var(--tg-theme-primary, #ff7400);
}

@media (min-width: 992px) {
  .wandrgo2-promo-strip__nav--prev {
    left: -0.65rem;
  }

  .wandrgo2-promo-strip__nav--next {
    right: -0.65rem;
  }
}

/* ============================================
   Wandrgo2 popular carousel – fluid width on small mobile
   (carousel sits inside listing .container + its own .container)
   ============================================ */
@media (max-width: 575.98px) {
  .tg-listing-area .tg-popular-carousel-section {
    --w2-popular-carousel-breakout: clamp(0.5rem, 2.75vw, 0.875rem);
    --w2-popular-carousel-pad-x: clamp(0.5rem, 2.75vw, 0.875rem);
    margin-left: calc(-1 * var(--w2-popular-carousel-breakout));
    margin-right: calc(-1 * var(--w2-popular-carousel-breakout));
    width: calc(100% + (2 * var(--w2-popular-carousel-breakout)));
  }

  .tg-popular-carousel-section > .container {
    padding-left: var(--w2-popular-carousel-pad-x);
    padding-right: var(--w2-popular-carousel-pad-x);
    max-width: 100%;
  }

  .tg-popular-carousel-section .row {
    --bs-gutter-x: clamp(0.5rem, 2.5vw, 0.75rem);
  }
}

/* ===== Destinations toolbar – FIXED OVERFLOW ===== */
.destbar{
  display:flex; align-items:center; gap:8px;
  width:100%; margin:10px 0 12px;
  overflow:hidden;           /* stop page-level horizontal scroll */
  min-width:0;               /* allow inner flex child to shrink */
  box-sizing:border-box;
  max-width:100%;           /* prevent exceeding container */
}

/* arrows stay inline */
.destbar__arrow{
  flex:0 0 34px; width:34px; height:34px;
  border-radius:999px; border:1px solid #ddd; background:#fff;
  display:flex; align-items:center; justify-content:center;
  line-height:1; cursor:pointer; user-select:none;
}

/* REMOVED - conflicting old search styles */

/* slider occupies remaining width and NEVER causes page overflow */
.destbar__slider{
  flex:1 1 auto; min-width:0; 
  overflow:hidden;             /* clip internal transform */
  max-width:calc(100% - 68px - 240px); /* subtract arrows + search width */
}
@media (max-width: 768px){
  .destbar__slider{ max-width:calc(100% - 68px); } /* subtract arrows only */
}
.destbar__slider .swiper-wrapper{
  align-items:center;
  justify-content:flex-start !important;
}

/* CRITICAL: compact chip spacing + no stretch */
.destbar__slider .swiper-slide{
  width:auto !important;       /* kill theme's percentage width */
  flex:0 0 auto;               /* don't grow */
  margin:0 !important;         /* kill theme margins */
  padding:0 !important;        /* kill theme paddings */
}

/* chip look like old nav: tight + underline on active (handled elsewhere) */
.dest-item{
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 8px; background:transparent; border:none; cursor:pointer;
  white-space:nowrap; margin:0 !important;
}
.dest-icon{ width:20px; height:20px; object-fit:cover; border-radius:4px; }
.dest-name{ font-size:13px; font-weight:600; }

/* NUKE legacy nav styles ONLY inside this toolbar scope */
.destbar .tg-listing-menu-nav,
.destbar .project__menu-nav{ display:block !important; }
.destbar .tg-listing-menu-nav button{ width:auto !important; margin:0 !important; }
.destbar .tg-listing-menu-nav .swiper-wrapper{ justify-content:flex-start !important; }

/* safety: no element inside toolbar may exceed viewport width */
.destbar *{ max-width:100%; }

/* FORCE container constraints to prevent overflow */
.tg-listing-menu-nav.project__menu-nav {
  overflow-x: hidden !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* Remove conflicting old styles */
.tg-listing-menu-nav {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  overflow-x: hidden !important;
  max-width: 100% !important;
}

/* Navigation Buttons */
.dest-nav-btn {
  background: var(--tg-theme-primary, #007bff) !important;
  color: white !important;
  border: none !important;
  border-radius: 50% !important;
  width: 32px !important;
  height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  flex-shrink: 0 !important;
  font-size: 12px !important;
}

.dest-nav-btn:hover {
  background: var(--tg-theme-primary-dark, #0056b3) !important;
  transform: scale(1.1) !important;
}

.dest-nav-btn:disabled {
  background: #ccc !important;
  cursor: not-allowed !important;
  transform: none !important;
}

/* Destination items */
.destinations-scroll-container .dest-item {
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  min-width: auto !important;
  width: auto !important;
  display: inline-flex !important;
  flex-wrap: nowrap !important;
}

/* Ensure single row layout */
.destinations-mobile .destinations-scroll-container {
  height: auto !important;
  max-height: 60px !important;
}

.destinations-mobile .dest-item {
  margin: 0 !important;
  padding: 4px 6px !important;
  font-size: 11px !important;
}

.destinations-mobile .dest-icon {
  width: 16px !important;
  height: 16px !important;
}

.destinations-mobile .dest-name {
  font-size: 10px !important;
  max-width: 50px !important;
}

/* REMOVED - conflicting styles that caused overflow */

/* Navigation Buttons */
.dest-prev, .dest-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background: var(--tg-theme-primary, #007bff);
  color: white;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: all 0.3s ease;
}

.dest-prev:hover, .dest-next:hover {
  background: var(--tg-theme-primary-dark, #0056b3);
  transform: translateY(-50%) scale(1.1);
}

.dest-prev {
  left: -20px;
}

.dest-next {
  right: -20px;
}

/* REMOVED - conflicting styles that caused overflow */

/* REMOVED - conflicting old dest-item styles */
/* REMOVED - old destinations slider styles */

/* ===== CLEAN RESPONSIVE TOUR CARD LAYOUT ===== */

/* Keep only essential responsive grid styles */
.tg-listing-area .row {
  display: flex !important;
  flex-wrap: wrap !important;
}

/* Desktop - 4 columns */
@media (min-width: 1200px) {
  .tg-listing-area .col-xxl-3,
  .tg-listing-area .col-xl-3 {
    flex: 0 0 25% !important;
    max-width: 25% !important;
    width: 25% !important;
  }
}

/* Tablet - 3 columns */
@media (min-width: 768px) and (max-width: 1199px) {
  .tg-listing-area .col-lg-4 {
    flex: 0 0 33.333333% !important;
    max-width: 33.333333% !important;
    width: 33.333333% !important;
  }
}

/* Mobile - 2 columns */
@media (max-width: 767px) {
  .tg-listing-area .col-md-6 {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
  }
}

/* Fade transition for filtering */
#tourGrid {
  transition: opacity 0.08s ease-in-out;
}

/* Base tour card: service type badge and prepayment (all breakpoints) */
.tg-service-type-badge {
  display: inline-block;
  background-color: #28a745;
  color: #ffffff;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
  text-transform: capitalize;
  line-height: 1.4;
}
.tg-listing-card-prepayment {
  margin-top: 8px;
}
.tg-prepayment-text {
  font-style: italic;
  color: #28a745;
  font-size: 10px;
  font-weight: 500;
}

/* ===== TABLET RESPONSIVE - 3 CARDS PER ROW ===== */

@media (min-width: 768px) and (max-width: 1199px) {
  .tg-listing-card-thumb {
    height: 180px; /* Tablet: 180px height */
  }
  
  /* Popular tours section - tablet - landscape/rectangle format (based on theme6) */
  .tg-listing-4-card-item .tg-listing-card-thumb {
    height: 180px;
    position: relative;
  }
  
  .tg-listing-4-card-item .tg-listing-card-thumb img {
    height: 100%;
    object-fit: cover;
    display: block;
    width: 100%;
  }
  
  /* Ensure price is visible and not cut off - allow overflow for price */
  .tg-listing-4-card-item .tg-listing-2-card-thumb {
    overflow: visible;
  }
  
  .tg-listing-4-card-item .tg-listing-2-card-thumb > a {
    display: block;
    height: 100%;
    overflow: hidden;
    position: relative;
  }
  
  .tg-listing-4-card-item .tg-listing-2-card-thumb > a img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    display: block;
  }
  
  .tg-listing-4-card-item .tg-listing-2-price {
    position: absolute !important;
    bottom: 16px !important;
    left: 21px !important;
    z-index: 3 !important;
  }
  
  /* Service Detail Gallery Images - Tablet */
  .col-lg-7 .tg-tour-details-video-thumb {
    height: 400px;
  }
  
  .col-lg-5 .col-12 .tg-tour-details-video-thumb,
  .col-lg-5 .col-lg-6 .tg-tour-details-video-thumb {
    height: 190px;
  }
  
  .tg-listing-main-content {
    padding: 14px;
  }
  
  .tg-listing-card-location-text {
    font-size: 11px;
  }
  
  .tg-listing-card-title a {
    font-size: 15px;
  }
  
  .tg-listing-rating-percent {
    font-size: 11px;
  }
  
  .tg-listing-card-duration-time {
    font-size: 11px;
  }
  
  .tg-listing-card-price-wrap {
    padding: 11px 14px;
    min-height: 44px;
  }
  
  .tg-listing-card-currency-amount {
    font-size: 15px;
  }

  /* Price pill: same background as desktop/mobile (fix tablet using theme primary) */
  .tg-listing-2-price {
    background: #ff7400 !important;
    color: var(--tg-common-white);
    border: 1px solid var(--tg-common-white);
    border-radius: 100px;
    padding: 7px 20px;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.3;
    display: inline-block;
  }

  /* Service Type Badge - Green Pill (match desktop/mobile) */
  .tg-service-type-badge {
    display: inline-block !important;
    background-color: #28a745 !important;
    color: #ffffff !important;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    text-transform: capitalize;
    line-height: 1.4;
  }

  /* "No Prepayment Needed!" - italic green (match desktop/mobile) */
  .tg-listing-card-prepayment {
    margin-top: 8px;
  }
  .tg-prepayment-text {
    font-style: italic !important;
    color: #28a745 !important;
    font-size: 10px;
    font-weight: 500;
  }

  /* Inclusions - tablet */
  .tg-listing-card-inclusions {
    margin-bottom: 6px;
  }
  .tg-inclusions-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    align-items: center;
  }
  .tg-inclusion-item {
    font-size: 11px;
  }
  .tg-inclusion-check {
    color: #28a745;
  }
}

/* Tour card: whole card clickable (overlay link) */
.tg-listing-card-item.p-relative {
  position: relative;
}
.tg-listing-card-overlay-link {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
}
.tg-listing-card-clickable-above {
  position: relative;
  z-index: 2;
}
.tg-listing-card-thumb-link {
  pointer-events: none;
}
.tg-listing-card-thumb-link img {
  pointer-events: none;
}

/* ===== DESKTOP RESPONSIVE - 4 CARDS PER ROW ===== */

@media (min-width: 1200px) {
  /* More rounded corners for tour cards */
  .tg-listing-2-card-item {
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  }
  
  .tg-listing-2-card-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  }
  
  .tg-listing-2-card-item .tg-card-border {
    border-radius: 16px 16px 0 0;
    transition: transform 0.4s ease;
  }
  
  .tg-listing-2-card-item:hover .tg-listing-card-thumb img {
    transform: scale(1.08);
  }
  
  .tg-listing-card-thumb {
    height: 220px; /* Desktop: 220px height */
    overflow: hidden;
  }
  
  .tg-listing-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.4s ease;
  }
  
  /* Popular tours section - desktop - landscape/rectangle format (based on theme6) */
  .tg-listing-4-card-item .tg-listing-card-thumb {
    height: 190px;
    position: relative;
  }
  
  .tg-listing-4-card-item .tg-listing-card-thumb img {
    height: 100%;
    object-fit: cover;
    display: block;
    width: 100%;
  }
  
  /* Ensure price is visible and not cut off - allow overflow for price */
  .tg-listing-4-card-item .tg-listing-2-card-thumb {
    overflow: visible;
  }
  
  .tg-listing-4-card-item .tg-listing-2-card-thumb > a {
    display: block;
    height: 100%;
    overflow: hidden;
    position: relative;
  }
  
  .tg-listing-4-card-item .tg-listing-2-card-thumb > a img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    display: block;
  }
  
  .tg-listing-4-card-item .tg-listing-2-price {
    position: absolute !important;
    bottom: 16px !important;
    left: 21px !important;
    z-index: 3 !important;
  }
  
  /* Service Detail Gallery Images - Desktop */
  .tg-tour-details-video-thumb {
    position: relative;
    overflow: hidden;
    border-radius: 15px;
  }
  
  /* Left side big image (col-lg-7) */
  .col-lg-7 .tg-tour-details-video-thumb {
    height: 500px;
  }
  
  .col-lg-7 .tg-tour-details-video-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
  }
  
  /* Right side top image (col-12) */
  .col-lg-5 .col-12 .tg-tour-details-video-thumb {
    height: 240px;
  }
  
  .col-lg-5 .col-12 .tg-tour-details-video-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
  }
  
  /* Right side bottom images (col-lg-6) */
  .col-lg-5 .col-lg-6 .tg-tour-details-video-thumb {
    height: 240px;
  }
  
  .col-lg-5 .col-lg-6 .tg-tour-details-video-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
  }
  
  /* Narrow margins - reduced padding */
  .tg-listing-card-content {
    padding: 12px 14px !important;
  }
  
  /* Bigger fonts for City & Destination */
  .tg-listing-card-location-text {
    font-size: 14px;
    font-weight: 500;
  }
  
  /* Reduced spacing between City & Destination and Service Type */
  .tg-listing-card-location {
    margin-bottom: 4px !important;
  }
  
  .tg-listing-card-service-type {
    margin-bottom: 4px !important;
  }
  
  .tg-listing-card-title a {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
  }
  
  .tg-listing-rating-percent {
    font-size: 13px;
  }
  
  .tg-listing-card-duration-time {
    font-size: 13px;
  }
  
  /* Price styling with main color (#ff7400) - Theme2 style */
  .tg-listing-2-price {
    background: #ff7400 !important;
    color: var(--tg-common-white);
    border: 1px solid var(--tg-common-white);
    border-radius: 100px;
    padding: 7px 20px;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.3;
    display: inline-block;
  }
  
  /* 2-row price layout for desktop */
  .tg-listing-2-price .tg-price-row-1 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    line-height: 1;
    margin-bottom: 2px;
  }
  
  .tg-listing-2-price .tg-price-row-2 {
    display: block;
    line-height: 1.2;
  }
  
  .tg-listing-2-price .shift {
    font-size: 9px;
    opacity: 0.85;
    font-weight: 500;
  }
  
  .tg-listing-2-price del {
    color: rgba(255, 255, 255, 0.7);
    font-size: 10px;
    font-weight: 500;
    line-height: 1;
  }
  
  .tg-listing-2-price .tg-price-row-2 > span {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.2;
  }
  
  .tg-listing-2-price-wrap {
    margin-top: -20px;
    margin-bottom: 14px;
    z-index: 2;
    position: relative;
  }
  
  /* Banner adjustments - slightly bigger fonts */
  .tg-listing-item-price-discount.shape,
  .tg-listing-item-price-discount.shape-2,
  .tg-listing-item-price-discount.shape-3 {
    font-size: 11px;
    font-weight: 600;
    padding: 4px 10px;
  }
  
  /* Service Type Badge - Green Pill */
  .tg-service-type-badge {
    display: inline-block;
    background-color: #28a745;
    color: #ffffff;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    text-transform: capitalize;
    line-height: 1.4;
  }
  
  /* Inclusions - First 4 in 1 row with check icons - Desktop */
  .tg-listing-card-inclusions {
    margin-bottom: 6px;
  }
  
  .tg-inclusions-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    align-items: center;
  }
  
  .tg-inclusion-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: var(--tg-common-black);
    line-height: 1.3;
  }
  
  .tg-inclusion-check {
    color: #28a745;
    font-size: 10px;
    flex-shrink: 0;
  }
  
  .tg-inclusion-text {
    font-size: 11px;
    font-weight: 400;
  }
  
  /* "No Prepayment Needed!" in italic green - smaller font */
  .tg-listing-card-prepayment {
    margin-top: 8px;
  }
  
  .tg-prepayment-text {
    font-style: italic;
    color: #28a745;
    font-size: 10px;
    font-weight: 500;
  }
  
  /* Reduce spacing between elements */
  .tg-listing-card-content .mb-2 {
    margin-bottom: 6px !important;
  }
}

/* ===== MOBILE RESPONSIVE - 2 CARDS PER ROW ===== */

@media (max-width: 767px) {
  /* Smaller image height for mobile */
  .tg-listing-2-card-item .tg-listing-card-thumb,
  .tg-listing-card-thumb {
    height: 140px;
  }
  
  /* Popular tours section - mobile - landscape/rectangle format (based on theme6) */
  .tg-listing-4-card-item .tg-listing-card-thumb {
    height: 160px;
    position: relative;
  }
  
  .tg-listing-4-card-item .tg-listing-card-thumb img {
    height: 100%;
    object-fit: cover;
    display: block;
    width: 100%;
  }
  
  /* Ensure price is visible and not cut off - allow overflow for price */
  .tg-listing-4-card-item .tg-listing-2-card-thumb {
    overflow: visible;
  }
  
  .tg-listing-4-card-item .tg-listing-2-card-thumb > a {
    display: block;
    height: 100%;
    overflow: hidden;
    position: relative;
  }
  
  .tg-listing-4-card-item .tg-listing-2-card-thumb > a img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    display: block;
  }
  
  .tg-listing-4-card-item .tg-listing-2-price {
    position: absolute !important;
    bottom: 16px !important;
    left: 21px !important;
    z-index: 3 !important;
  }
  
  /* Service Detail Gallery Images - Mobile */
  .service-mobile-image-item {
    position: relative;
    width: 100%;
    height: 300px;
    overflow: hidden;
    border-radius: 15px;
  }
  
  .service-mobile-image-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
  }
  
  /* Narrow margins for text content - Mobile - Override main.css */
  .tg-listing-2-card-item .tg-listing-card-content,
  .tg-listing-card-content {
    padding: 8px 10px 10px 10px !important;
  }
  
  /* Proportioned height spacing between elements - Mobile */
  .tg-listing-card-content .mb-2 {
    margin-bottom: 4px !important;
  }
  
  /* Service Type Badge - Mobile (Full styling) */
  .tg-listing-card-service-type {
    margin-bottom: 4px !important;
  }
  
  .tg-service-type-badge {
    display: inline-block !important;
    background-color: #28a745 !important;
    color: #ffffff !important;
    padding: 3px 10px !important;
    border-radius: 20px !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    text-transform: capitalize !important;
    line-height: 1.4 !important;
  }
  
  /* 2-row price layout for mobile */
  .tg-listing-2-price {
    background: #ff7400 !important;
    color: var(--tg-common-white) !important;
    border: 1px solid var(--tg-common-white) !important;
    border-radius: 100px !important;
    padding: 5px 14px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    display: inline-block !important;
  }
  
  .tg-listing-2-price .tg-price-row-1 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    line-height: 1 !important;
    margin-bottom: 2px !important;
  }
  
  .tg-listing-2-price .tg-price-row-2 {
    display: block !important;
    line-height: 1.2 !important;
  }
  
  .tg-listing-2-price .shift {
    font-size: 7px !important;
    opacity: 0.85 !important;
    font-weight: 500 !important;
  }
  
  .tg-listing-2-price del {
    color: rgba(255, 255, 255, 0.7) !important;
    font-size: 8px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
  }
  
  .tg-listing-2-price .tg-price-row-2 > span {
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
  }
  
  /* Inclusions - Mobile (Max 2 rows, smaller height spacing) */
  .tg-listing-card-inclusions {
    margin-bottom: 4px !important;
  }
  
  .tg-inclusions-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 3px 6px !important;
    align-items: flex-start !important;
    max-height: 30px !important;
    overflow: hidden !important;
    row-gap: 3px !important;
  }
  
  .tg-inclusion-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 2px !important;
    font-size: 9px !important;
    color: var(--tg-common-black) !important;
    line-height: 1.1 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  .tg-inclusion-check {
    color: #28a745 !important;
    font-size: 8px !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
  }
  
  .tg-inclusion-text {
    font-size: 9px !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
    margin: 0 !important;
  }
  
  /* Font sizes for mobile */
  .tg-listing-card-location-text {
    font-size: 12px !important;
    font-weight: 500 !important;
  }
  
  /* Reduced spacing between City & Destination and Service Type - Mobile */
  .tg-listing-card-location {
    margin-bottom: 3px !important;
  }
  
  .tg-listing-card-service-type {
    margin-bottom: 3px !important;
  }
  
  .tg-listing-card-title a {
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
  }
  
  .tg-listing-rating-percent {
    font-size: 10px !important;
  }
  
  .tg-listing-card-duration-time {
    font-size: 10px !important;
  }
  
  /* "No Prepayment Needed!" in italic green - smaller on mobile */
  .tg-listing-card-prepayment {
    margin-top: 6px !important;
  }
  
  .tg-prepayment-text {
    font-style: italic !important;
    color: #28a745 !important;
    font-size: 9px !important;
    font-weight: 500 !important;
  }
  
  /* More rounded corners for mobile */
  .tg-listing-2-card-item {
    border-radius: 14px !important;
    overflow: hidden !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06) !important;
    transition: all 0.3s ease !important;
  }
  
  .tg-listing-2-card-item:active {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
  }
  
  .tg-listing-2-card-item .tg-card-border {
    border-radius: 14px 14px 0 0 !important;
    transition: transform 0.3s ease !important;
  }
  
  .tg-listing-2-card-item:active .tg-listing-card-thumb img {
    transform: scale(1.05) !important;
  }
}

/* ============================================
   Homepage: Service Type row + Tour List Modal
   ============================================ */

/* Service Type pills above hero search bar */
.tg-hero-service-type-row {
  margin-bottom: 20px;
}
.tg-hero-service-type-row .tg-booking-form-title {
  font-size: 14px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.95);
  margin-bottom: 10px;
}
/* Horizontal scroll when service types exceed container width */
.tg-hero-service-type-pills-wrap {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
  padding-bottom: 6px;
}
/* Homepage service type row: constrain so horizontal scroll + drag-to-scroll works */
.tg-listing-area-tight-hero .row:first-child > [class*="col-"] {
  min-width: 0;
}
.tg-hero-service-type-row {
  min-width: 0;
  overflow: hidden;
}
.service-type-horizontal-scroll.tg-service-type-scroll {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
  user-select: none;
}
.service-type-horizontal-scroll.tg-service-type-scroll:active {
  cursor: grabbing;
}
.tg-hero-service-type-pills {
  min-width: min-content;
}
.tg-hero-service-type-pills-wrap::-webkit-scrollbar {
  height: 6px;
}
.tg-hero-service-type-pills-wrap::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.15);
  border-radius: 3px;
}
.tg-hero-service-type-pills-wrap::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.4);
  border-radius: 3px;
}
.tg-hero-service-type-pills-wrap::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.6);
}
.tg-hero-service-type-pills {
  display: inline-flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  gap: 10px;
  min-width: min-content;
}

.tg-service-type-pill {
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  border-radius: 24px;
  border: 2px solid rgba(255, 255, 255, 0.6);
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.25s ease;
}
.tg-service-type-pill:hover {
  background: rgba(255, 255, 255, 0.25);
  border-color: rgba(255, 255, 255, 0.9);
  color: #fff;
}
/* Service Type pills on wandrgo2 homepage (grey background) */
.tg-service-type-pill-wandrgo2,
.tg-listing-area .tg-service-type-pill {
  border-color: #ddd;
  background: #fff;
  color: #1a1a1a;
}
.tg-service-type-pill-wandrgo2:hover,
.tg-listing-area .tg-service-type-pill:hover {
  border-color: var(--tg-theme-primary, #ff7400);
  background: rgba(255, 116, 0, 0.08);
  color: var(--tg-theme-primary, #ff7400);
}
/* Service type round pill (tour-booking/services style): icon circle + label */
.tg-service-type-pill-round:hover .tg-service-type-pill-icon,
.tg-listing-area .tg-service-type-pill-round:hover .tg-service-type-pill-icon {
  border-color: var(--tg-theme-primary, #ff7400) !important;
  background: rgba(255, 116, 0, 0.12) !important;
  color: var(--tg-theme-primary, #ff7400) !important;
  box-shadow: 0 4px 12px rgba(255, 116, 0, 0.2);
}
.gap-10 { gap: 10px; }

/* Tour list modal overlay: edge spacing, scrollable */
.tg-tour-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 20px;
  overflow: auto;
  box-sizing: border-box;
}
.tg-tour-modal-overlay.d-none {
  display: none !important;
}
.tg-tour-modal {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
  max-width: min(960px, calc(100vw - 40px));
  width: 100%;
  max-height: min(90vh, calc(100vh - 48px));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  margin: auto;
}
/* List view: single scrollable area (filters + list content scroll together) */
.tg-tour-modal-list-view {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}
.tg-tour-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #eee;
  flex-shrink: 0;
}
.tg-tour-modal-title-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.tg-tour-modal-title {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #1a1a1a;
}
.tg-tour-modal-back {
  padding: 6px 12px;
  border-radius: 8px;
  border: 1px solid #ddd;
  background: #f8f9fa;
  color: #333;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.tg-tour-modal-back:hover {
  background: #eee;
  border-color: #ccc;
}
.tg-tour-modal-nav {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.tg-tour-modal-prev,
.tg-tour-modal-next {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid #ddd;
  background: #fff;
  color: #333;
  font-size: 18px;
  cursor: pointer;
  transition: all 0.2s ease;
}
/* Orange only on real hover (mouse), not on touch – avoids sticky hover after tap */
@media (hover: hover) {
  .tg-tour-modal-prev:hover:not(:disabled):not(:focus),
  .tg-tour-modal-next:hover:not(:disabled):not(:focus) {
    background: var(--tg-theme-primary, #ff7400);
    border-color: var(--tg-theme-primary, #ff7400);
    color: #fff;
  }
}
.tg-tour-modal-prev:focus-visible:not(:disabled),
.tg-tour-modal-next:focus-visible:not(:disabled) {
  background: var(--tg-theme-primary, #ff7400);
  border-color: var(--tg-theme-primary, #ff7400);
  color: #fff;
}
/* Prevent sticky focus/hover after click: reset appearance when focused by pointer */
.tg-tour-modal-prev:focus:not(:focus-visible):not(:disabled),
.tg-tour-modal-next:focus:not(:focus-visible):not(:disabled) {
  background: #fff;
  border-color: #ddd;
  color: #333;
}
.tg-tour-modal-prev:disabled,
.tg-tour-modal-next:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.tg-tour-modal-nav-count {
  font-size: 13px;
  color: #666;
  min-width: 48px;
  text-align: center;
}
.tg-tour-modal-close {
  width: 40px;
  height: 40px;
  border: none;
  background: transparent;
  font-size: 28px;
  color: #666;
  cursor: pointer;
  line-height: 1;
  padding: 0;
  border-radius: 8px;
  transition: color 0.2s ease;
}
.tg-tour-modal-close:hover {
  color: #1a1a1a;
}

/* Modal filters: smaller, part of scrollable list view */
.tg-tour-modal-filters {
  padding: 10px 16px;
  border-bottom: 1px solid #eee;
}
.tg-tour-modal-filter-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px 12px;
}
.tg-tour-modal-filter-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  max-width: 200px;
}
.tg-tour-modal-filter-group-price-range {
  max-width: none;
}
.tg-tour-modal-filter-group label {
  font-size: 11px;
  font-weight: 600;
  color: #555;
}
/* Modern dropdown: custom appearance, no over-extend */
.tg-tour-modal-select,
.tg-tour-modal-input {
  padding: 6px 32px 6px 12px;
  border: 1px solid #e2e4e8;
  border-radius: 8px;
  font-size: 13px;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  height: 38px;
  line-height: 1.3;
  box-sizing: border-box;
  background-color: #fff;
  color: #1a1a1a;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.tg-tour-modal-select:hover,
.tg-tour-modal-input:hover {
  border-color: #c5c9d0;
}
.tg-tour-modal-select:focus,
.tg-tour-modal-input:focus {
  outline: none;
  border-color: var(--tg-theme-primary, #ff7400);
  box-shadow: 0 0 0 3px rgba(255, 116, 0, 0.15);
}
.tg-tour-modal-input {
  min-width: 72px;
  width: 72px;
  max-width: 90px;
  padding: 6px 8px;
  background-image: none;
}

/* Custom dropdown wrapper: trigger + scrollable panel (max height, no overlap) */
.tg-tour-modal-select-wrap {
  position: relative;
  width: 100%;
  min-width: 0;
}
.tg-tour-modal-select-wrap .tg-tour-modal-select-native {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}
.tg-tour-modal-select-trigger {
  display: block;
  width: 100%;
  padding: 6px 32px 6px 12px;
  border: 1px solid #e2e4e8;
  border-radius: 8px;
  font-size: 13px;
  height: 38px;
  line-height: 1.3;
  box-sizing: border-box;
  background-color: #fff;
  color: #1a1a1a;
  cursor: pointer;
  text-align: left;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  z-index: 1;
  position: relative;
}
.tg-tour-modal-select-trigger:hover {
  border-color: #c5c9d0;
}
.tg-tour-modal-select-wrap.tg-tour-modal-select-open .tg-tour-modal-select-trigger {
  border-color: var(--tg-theme-primary, #ff7400);
  box-shadow: 0 0 0 3px rgba(255, 116, 0, 0.15);
}
.tg-tour-modal-select-panel {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  margin-top: 2px;
  max-height: 220px;
  overflow-y: auto;
  overflow-x: hidden;
  background: #fff;
  border: 1px solid #e2e4e8;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.12);
  z-index: 100;
  display: none;
  -webkit-overflow-scrolling: touch;
}
.tg-tour-modal-select-wrap.tg-tour-modal-select-open .tg-tour-modal-select-panel {
  display: block;
}
.tg-tour-modal-select-option {
  display: block;
  width: 100%;
  padding: 8px 12px;
  font-size: 13px;
  line-height: 1.3;
  color: #1a1a1a;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: background 0.15s ease;
}
.tg-tour-modal-select-option:hover {
  background: #f5f5f5;
}
.tg-tour-modal-select-option.tg-tour-modal-select-option-active {
  background: rgba(255, 116, 0, 0.1);
  color: var(--tg-theme-primary, #ff7400);
}

/* Price range: one slider with two thumbs (min + max), step 1, orange */
.tg-tour-modal-filter-group-price-range {
  flex: 1 1 100%;
  min-width: 0;
  max-width: 100%;
}
.tg-tour-modal-filter-group-price {
  flex: 0 0 auto;
  min-width: 100px;
  max-width: 140px;
}
.tg-tour-modal-filter-group-price .tg-tour-modal-input {
  width: 72px;
}
.tg-tour-modal-dual-range {
  position: relative;
  height: 28px;
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 140px;
}
.tg-tour-modal-range-track {
  position: absolute;
  left: 0;
  right: 0;
  height: 6px;
  background: #e0e0e0;
  border-radius: 3px;
  pointer-events: none;
}
.tg-tour-modal-range-fill {
  position: absolute;
  left: 0;
  width: 100%;
  height: 6px;
  background: var(--tg-theme-primary, #ff7400);
  border-radius: 3px;
  pointer-events: none;
  transition: left 0.1s ease, width 0.1s ease;
}
.tg-tour-modal-dual-range .tg-tour-modal-range {
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  height: 28px;
  margin: 0;
  padding: 0;
  background: transparent;
  -webkit-appearance: none;
  appearance: none;
  pointer-events: none;
}
.tg-tour-modal-dual-range .tg-tour-modal-range-min,
.tg-tour-modal-dual-range .tg-tour-modal-range-max {
  pointer-events: auto;
}
.tg-tour-modal-dual-range .tg-tour-modal-range-min {
  z-index: 3;
}
.tg-tour-modal-dual-range .tg-tour-modal-range-max {
  z-index: 2;
}
/* Orange thumb, step 1; hide track on inputs (use shared track) */
.tg-tour-modal-dual-range .tg-tour-modal-range::-webkit-slider-runnable-track {
  background: transparent;
  height: 6px;
}
.tg-tour-modal-dual-range .tg-tour-modal-range::-moz-range-track {
  background: transparent;
  height: 6px;
}
.tg-tour-modal-dual-range .tg-tour-modal-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--tg-theme-primary, #ff7400);
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,0.2);
  cursor: pointer;
  pointer-events: auto;
  margin-top: -6px;
}
.tg-tour-modal-dual-range .tg-tour-modal-range::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--tg-theme-primary, #ff7400);
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,0.2);
  cursor: pointer;
  pointer-events: auto;
}
.tg-tour-modal-range-value {
  font-weight: 600;
  color: var(--tg-theme-primary, #ff7400);
  margin-left: 4px;
}
.tg-tour-modal-apply {
  padding: 8px 20px;
  border-radius: 8px;
  border: none;
  background: var(--tg-theme-primary, #ff7400);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease;
}
.tg-tour-modal-apply:hover {
  background: #ff8c33;
}

/* Modal list content: mobile-first grid (1 col default, 2–3 cols on larger screens) */
.tg-tour-modal-list-content {
  padding: 12px 16px;
  min-height: 120px;
}
.tg-tour-modal-list-content .tg-listing-grid-item .row {
  display: flex;
  flex-wrap: wrap;
}
/* Small/narrow screens: 1 column */
.tg-tour-modal-list-content .tg-listing-grid-item .col-xxl-4,
.tg-tour-modal-list-content .tg-listing-grid-item .col-xl-6,
.tg-tour-modal-list-content .tg-listing-grid-item .col-lg-6,
.tg-tour-modal-list-content .tg-listing-grid-item .col-md-6 {
  flex: 0 0 100%;
  max-width: 100%;
}
/* Force 1 column in modal on narrow/mobile (overrides .tg-listing-area .col-md-6 50% rule) */
@media (max-width: 575px) {
  .tg-tour-modal-list-content .tg-listing-grid-item .col-xxl-4,
  .tg-tour-modal-list-content .tg-listing-grid-item .col-xl-6,
  .tg-tour-modal-list-content .tg-listing-grid-item .col-lg-6,
  .tg-tour-modal-list-content .tg-listing-grid-item .col-md-6 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}
@media (min-width: 576px) {
  .tg-tour-modal-list-content .tg-listing-grid-item .col-xxl-4,
  .tg-tour-modal-list-content .tg-listing-grid-item .col-xl-6,
  .tg-tour-modal-list-content .tg-listing-grid-item .col-lg-6,
  .tg-tour-modal-list-content .tg-listing-grid-item .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media (min-width: 992px) {
  .tg-tour-modal-list-content .tg-listing-grid-item .col-xxl-4,
  .tg-tour-modal-list-content .tg-listing-grid-item .col-xl-6,
  .tg-tour-modal-list-content .tg-listing-grid-item .col-lg-6,
  .tg-tour-modal-list-content .tg-listing-grid-item .col-md-6 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
}
.tg-tour-modal-loading,
.tg-tour-modal-empty {
  text-align: center;
  padding: 24px;
  color: #666;
  font-size: 14px;
}
.tg-tour-modal-list-content .tg-listing-card,
.tg-tour-modal-list-content .tg-listing-2-card-item {
  margin-bottom: 12px;
}
.tg-tour-modal-list-content .tg-listing-card-item.mb-25 {
  margin-bottom: 12px;
}
/* Wishlist button visible and clickable in modal tour cards */
.tg-tour-modal-list-content .tg-listing-card-thumb {
  position: relative;
}
.tg-tour-modal-list-content .tg-listing-item-wishlist {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 5;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  min-width: 36px;
  min-height: 36px;
  border-radius: 50%;
  border: 1px solid #e0e0e0;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,0.1);
}
.tg-tour-modal-list-content .tg-listing-item-wishlist a {
  position: static !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0;
}
.tg-tour-modal-list-content .tg-listing-item-wishlist svg {
  width: 18px;
  height: 16px;
}
.tg-tour-modal-list-content .tg-listing-item-wishlist:hover {
  border-color: var(--tg-theme-primary, #ff7400);
  color: var(--tg-theme-primary, #ff7400);
}
.tg-tour-modal-list-content .tg-listing-item-wishlist.active svg {
  color: var(--tg-theme-primary, #ff7400);
}
.tg-tour-modal-pagination {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #eee;
}
.tg-tour-modal-page-btn {
  padding: 8px 16px;
  border-radius: 8px;
  border: 1px solid #ddd;
  background: #fff;
  color: #333;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.tg-tour-modal-page-btn:hover {
  background: #f8f9fa;
  border-color: var(--tg-theme-primary, #ff7400);
  color: var(--tg-theme-primary, #ff7400);
}

/* Modal detail view: scrollable like full tour page */
.tg-tour-modal-detail-view {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  padding-bottom: 0;
}
.tg-tour-modal-detail-inner {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0;
  padding-bottom: 16px;
  -webkit-overflow-scrolling: touch;
  position: relative;
}
/* Full tour detail layout: same as tour-booking/services/slug page */
.tg-tour-modal-detail-inner .container {
  max-width: 100%;
  padding-left: 15px;
  padding-right: 15px;
}
/* Gallery: horizontal swiper inside modal (same as full page) */
.tg-tour-modal-detail-inner .service-image-swiper,
.tg-tour-modal-detail-inner .service-mobile-image-carousel {
  width: 100%;
  overflow: hidden;
}
.tg-tour-modal-detail-inner .service-image-swiper .swiper-wrapper {
  display: flex;
  flex-wrap: nowrap;
}
.tg-tour-modal-detail-inner .service-image-swiper .swiper-slide {
  flex-shrink: 0;
  width: 100%;
}
/* In modal on mobile: single gallery only (hide desktop image block to avoid duplicate) */
@media (max-width: 991px) {
  .tg-tour-modal-detail-inner .row.gx-15.mb-25.d-none.d-lg-flex {
    display: none !important;
  }
}
/* In modal: hide Location, Reviews, Most popular, and booking form (use View Full Tour Details) */
.tg-tour-modal-detail-inner #location-section,
.tg-tour-modal-detail-inner .tg-tour-about-map,
.tg-tour-modal-detail-inner #reviews-section,
.tg-tour-modal-detail-inner .tg-tour-about-review-wrap,
.tg-tour-modal-detail-inner .tg-tour-about-cus-review-wrap,
.tg-tour-modal-detail-inner .tg-tour-about-review-form-wrap,
.tg-tour-modal-detail-inner .popular-services-wrapper,
.tg-tour-modal-detail-inner .tg-tour-about-sidebar.d-none.d-lg-block,
.tg-tour-modal-detail-inner .service-mobile-booking-bar,
.tg-tour-modal-detail-inner .service-mobile-booking-modal,
.tg-tour-modal-detail-inner .service-mobile-nav-scroll {
  display: none !important;
}
/* Modal detail: force orange (not red-orange) for nav and buttons */
.tg-tour-modal-detail-inner .service-mobile-nav-item,
.tg-tour-modal-view-full-btn {
  color: #fff !important;
  background: #ff7400 !important;
  border-color: #ff7400 !important;
}
.tg-tour-modal-detail-inner .service-mobile-nav-item:hover,
.tg-tour-modal-detail-inner .service-mobile-nav-item.active,
.tg-tour-modal-view-full-btn:hover {
  background: #ff8c33 !important;
  border-color: #ff8c33 !important;
}
/* View Full Tour Details bar: fixed at bottom of detail view (sibling of scroll area, not inside it) */
.tg-tour-modal-view-full-wrap {
  flex-shrink: 0;
  padding: 16px 20px 20px;
  background: #fff;
  border-top: 1px solid #eee;
  z-index: 10;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.06);
}
.tg-tour-modal-view-full-wrap.d-none {
  display: none !important;
}
.tg-tour-modal-view-full-btn {
  display: block;
  width: 100%;
  padding: 14px 24px;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  background: var(--tg-theme-primary, #ff7400);
  border: none;
  border-radius: 12px;
  text-decoration: none;
  transition: background 0.2s ease;
  box-shadow: 0 4px 14px rgba(255, 116, 0, 0.35);
}
.tg-tour-modal-view-full-btn:hover {
  color: #fff;
  background: #ff8c33;
}
.tg-tour-modal-available-dates-note {
  font-size: 13px;
  color: #666;
  text-align: center;
  margin-top: 8px;
}
/* Floating swipe hint – near top of detail view */
.tg-tour-modal-swipe-hint {
  position: absolute;
  top: 12px;
  left: 50%;
  transform: translateX(-50%);
  padding: 8px 14px;
  background: rgba(0,0,0,0.75);
  color: #fff;
  font-size: 12px;
  border-radius: 20px;
  white-space: nowrap;
  z-index: 20;
  pointer-events: none;
  transition: opacity 0.4s ease;
}
.tg-tour-modal-swipe-hint.tg-tour-modal-swipe-hint-hidden {
  opacity: 0;
  visibility: hidden;
}
.tg-tour-modal-detail-loading {
  text-align: center;
  padding: 40px;
  color: #666;
  font-size: 14px;
}
/* Travel dates block in modal tour details (italic list) */
.tg-tour-modal-travel-dates {
  padding: 12px 16px;
  margin: 0 0 16px 0;
  background: #f8f9fa;
  border-radius: 8px;
  font-size: 14px;
  color: #333;
  border-left: 3px solid var(--tg-theme-primary, #ff7400);
}
.tg-tour-modal-travel-dates .tg-tour-modal-travel-dates-list {
  font-style: italic;
}

@media (max-width: 767px) {
  /* Space above/below so header and bottom nav don't overlap modal */
  .tg-tour-modal-overlay {
    padding: 56px 0 72px 0;
    align-items: stretch;
    box-sizing: border-box;
  }
  .tg-tour-modal {
    max-height: calc(100vh - 128px);
    border-radius: 16px;
    margin: 0 auto;
  }
  .tg-tour-modal-filter-row {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .tg-tour-modal-filter-group {
    min-width: 0;
    max-width: none;
    flex: 1 1 45%;
  }
  .tg-tour-modal-filter-group-price-range {
    flex: 1 1 100%;
  }
  .tg-tour-modal-dual-range {
    min-width: 0;
  }
  /* Modal tour cards on mobile/narrow: tighter spacing (1 col from base styles) */
  .tg-tour-modal-list-content {
    padding: 8px 10px;
  }
  .tg-tour-modal-list-content .tg-listing-grid-item .row {
    margin-left: -4px;
    margin-right: -4px;
  }
  .tg-tour-modal-list-content .tg-listing-grid-item .col-xxl-4,
  .tg-tour-modal-list-content .tg-listing-grid-item .col-xl-6,
  .tg-tour-modal-list-content .tg-listing-grid-item .col-lg-6,
  .tg-tour-modal-list-content .tg-listing-grid-item .col-md-6 {
    padding-left: 4px;
    padding-right: 4px;
  }
  .tg-tour-modal-list-content .tg-listing-card,
  .tg-tour-modal-list-content .tg-listing-2-card-item,
  .tg-tour-modal-list-content .tg-listing-card-item.mb-25 {
    margin-bottom: 8px;
  }
  .tg-tour-modal-list-content .tg-listing-card-thumb {
    min-height: 160px;
    height: 160px;
    overflow: hidden;
    margin-bottom: 0;
  }
  .tg-tour-modal-list-content .tg-listing-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .tg-tour-modal-list-content .tg-listing-2-price-wrap {
    margin-top: -12px;
    margin-bottom: 2px;
  }
  .tg-tour-modal-list-content .tg-listing-card-content {
    padding: 4px 8px 8px !important;
  }
  .tg-tour-modal-list-content .tg-listing-card-content .mb-2 {
    margin-bottom: 2px !important;
  }
  .tg-tour-modal-list-content .tg-listing-card-location {
    margin-bottom: 1px;
  }
  .tg-tour-modal-list-content .tg-listing-2-price {
    padding: 3px 10px !important;
    font-size: 12px;
  }
  .tg-tour-modal-list-content .tg-listing-card-prepayment {
    margin-top: 2px;
  }
  .tg-tour-modal-select {
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }
  .tg-tour-modal-filter-group:not(.tg-tour-modal-filter-group-price) .tg-tour-modal-select {
    width: 100%;
  }
  /* Keep service type row horizontal on mobile (like tour-booking/services), do not stack */
  .tg-hero-service-type-row .tg-hero-service-type-pills {
    flex-direction: row !important;
    justify-content: flex-start;
  }
  .tg-hero-service-type-row .tg-service-type-pill {
    width: auto;
    min-width: 72px;
  }
  /* Mobile modal tour details: modern proportion, readable text, orange (not red) */
  .tg-tour-modal-detail-inner {
    padding: 0 12px 16px;
  }
  .tg-tour-modal-detail-inner .container {
    padding-left: 12px;
    padding-right: 12px;
    max-width: 100%;
  }
  .tg-tour-modal-detail-inner .tg-tour-details-video-title,
  .tg-tour-modal-detail-inner .service-mobile-title,
  .tg-tour-modal-detail-inner h2,
  .tg-tour-modal-detail-inner h4 {
    font-size: 1.1rem;
    line-height: 1.35;
    word-break: break-word;
    hyphens: auto;
  }
  .tg-tour-modal-detail-inner p,
  .tg-tour-modal-detail-inner .tg-tour-about-inner,
  .tg-tour-modal-detail-inner .text-capitalize,
  .tg-tour-modal-detail-inner .lh-28 {
    font-size: 14px;
    line-height: 1.5;
    word-break: break-word;
    max-width: 100%;
  }
  .tg-tour-modal-detail-inner a:not(.tg-tour-modal-view-full-btn) {
    color: var(--tg-theme-primary, #ff7400);
  }
  .tg-tour-modal-detail-inner .tg-tour-about-title,
  .tg-tour-modal-detail-inner h4.tg-tour-about-title {
    color: #1a1a1a;
    font-size: 1rem;
  }
  .tg-tour-modal-detail-inner .tg-tour-details-video-ratings i.active,
  .tg-tour-modal-detail-inner .fa-star.active {
    color: var(--tg-theme-primary, #ff7400) !important;
  }
  .tg-tour-modal-detail-inner [style*="red"],
  .tg-tour-modal-detail-inner [style*="#f00"],
  .tg-tour-modal-detail-inner [style*="#e66"] {
    color: var(--tg-theme-primary, #ff7400) !important;
    border-color: var(--tg-theme-primary, #ff7400) !important;
  }
  /* Modal detail: smaller fonts and less block spacing on small devices */
  .tg-tour-modal-detail-inner .tg-tour-details-video-title,
  .tg-tour-modal-detail-inner .service-mobile-title,
  .tg-tour-modal-detail-inner h2 {
    font-size: 1rem !important;
  }
  .tg-tour-modal-detail-inner h4,
  .tg-tour-modal-detail-inner .tg-tour-about-title {
    font-size: 0.95rem !important;
  }
  .tg-tour-modal-detail-inner p,
  .tg-tour-modal-detail-inner .tg-tour-about-inner,
  .tg-tour-modal-detail-inner .text-capitalize,
  .tg-tour-modal-detail-inner .lh-28 {
    font-size: 13px !important;
  }
  .tg-tour-modal-detail-inner .tg-tour-about-inner,
  .tg-tour-modal-detail-inner .tg-tour-about-border {
    margin-bottom: 16px !important;
  }
  .tg-tour-modal-detail-inner .tg-tour-about-inner.mb-25,
  .tg-tour-modal-detail-inner .tg-tour-about-inner.mb-40 {
    margin-bottom: 16px !important;
  }
  .tg-tour-modal-detail-inner .tg-tour-about-border.mb-40,
  .tg-tour-modal-detail-inner .tg-tour-about-border.mb-35,
  .tg-tour-modal-detail-inner .tg-tour-about-border.mb-45 {
    margin-bottom: 12px !important;
  }
  .tg-tour-modal-detail-inner .tg-tour-details-feature-list-wrap,
  .tg-tour-modal-detail-inner .tg-tour-modal-travel-dates {
    margin-bottom: 12px !important;
  }
  .tg-tour-modal-detail-inner .tg-tour-modal-travel-dates {
    padding: 10px 12px !important;
    font-size: 13px !important;
  }
  /* Modal tour plan: Day 1–2–3 etc and body aligned with content edge (no extra indent) */
  .tg-tour-modal-detail-inner #tour-plan-section {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .tg-tour-modal-detail-inner #tour-plan-section .tg-tour-about-faq-inner,
  .tg-tour-modal-detail-inner #tour-plan-section .tg-tour-about-faq {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .tg-tour-modal-detail-inner #tour-plan-section .accordion-item {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .tg-tour-modal-detail-inner #tour-plan-section .accordion-header {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .tg-tour-modal-detail-inner #tour-plan-section .accordion-button {
    padding-left: 0 !important;
    padding-right: 40px !important;
  }
  .tg-tour-modal-detail-inner #tour-plan-section .accordion-body {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Tour details: Duration / Type / Group size – icon + label + value on one row (all breakpoints) */
.tg-tour-details-area .tg-tour-details-video-feature-list ul li {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
}
.tg-tour-details-area .tg-tour-details-video-feature-list ul li > div {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
}
.tg-tour-details-area .tg-tour-details-video-feature-list ul li .title {
  display: inline !important;
  margin-bottom: 0 !important;
}

/* Tour details page (full page) on smaller devices: smaller fonts, less spacing */
@media (max-width: 991px) {
  .tg-tour-details-area.pt-35,
  .tg-tour-details-area.pb-25 {
    padding-top: 20px !important;
    padding-bottom: 16px !important;
  }
  .tg-tour-about-area.pt-40.pb-70 {
    padding-top: 24px !important;
    padding-bottom: 32px !important;
  }
  .tg-tour-details-area .mb-35,
  .tg-tour-about-area .mb-35 {
    margin-bottom: 16px !important;
  }
  .tg-tour-about-area .tg-tour-about-inner.mb-25,
  .tg-tour-about-area .tg-tour-about-inner.mb-40 {
    margin-bottom: 18px !important;
  }
  .tg-tour-about-area .tg-tour-about-border.mb-40,
  .tg-tour-about-area .tg-tour-about-border.mb-35,
  .tg-tour-about-area .tg-tour-about-border.mb-45 {
    margin-bottom: 14px !important;
  }
  .tg-tour-about-area .tg-tour-about-title.mb-15,
  .tg-tour-about-area .tg-tour-about-title.mb-20,
  .tg-tour-about-area .tg-tour-about-title.mb-40 {
    margin-bottom: 10px !important;
  }
  .tg-tour-details-area .tg-tour-details-video-title,
  .tg-tour-details-area h2.service-mobile-title {
    font-size: 1.25rem !important;
  }
  .tg-tour-about-area .tg-tour-about-title,
  .tg-tour-about-area h4 {
    font-size: 1rem !important;
  }
  .tg-tour-about-area .text-capitalize.lh-28,
  .tg-tour-about-area .tg-tour-about-inner p {
    font-size: 14px !important;
  }
}

@media (max-width: 767px) {
  .tg-tour-details-area.pt-35,
  .tg-tour-details-area.pb-25 {
    padding-top: 14px !important;
    padding-bottom: 12px !important;
  }
  .tg-tour-about-area.pt-40.pb-70 {
    padding-top: 18px !important;
    padding-bottom: 24px !important;
  }
  .tg-tour-details-area .mb-35,
  .tg-tour-about-area .mb-35 {
    margin-bottom: 12px !important;
  }
  .tg-tour-about-area .tg-tour-about-inner.mb-25,
  .tg-tour-about-area .tg-tour-about-inner.mb-40 {
    margin-bottom: 14px !important;
  }
  .tg-tour-about-area .tg-tour-about-border.mb-40,
  .tg-tour-about-area .tg-tour-about-border.mb-35,
  .tg-tour-about-area .tg-tour-about-border.mb-45 {
    margin-bottom: 10px !important;
  }
  .tg-tour-details-area .tg-tour-details-video-title,
  .tg-tour-details-area h2.service-mobile-title {
    font-size: 1.1rem !important;
  }
  .tg-tour-about-area .tg-tour-about-title,
  .tg-tour-about-area h4 {
    font-size: 0.95rem !important;
  }
  .tg-tour-about-area .text-capitalize.lh-28,
  .tg-tour-about-area .tg-tour-about-inner p {
    font-size: 13px !important;
  }
  /* Tour details mobile: City, Duration, Type, Group size, Price – smaller and compact */
  .tg-tour-details-area .tg-tour-details-video-location,
  .tg-tour-details-area .tg-tour-details-video-location span {
    font-size: 11px !important;
    margin-bottom: 4px !important;
  }
  .tg-tour-details-area .tg-tour-details-feature-list-wrap {
    margin-bottom: 12px !important;
  }
  /* Desktop feature list: icon + title + duration on one row per item */
  .tg-tour-details-area .tg-tour-details-video-feature-list ul li {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    font-size: 11px !important;
    padding: 4px 0 !important;
    gap: 6px !important;
  }
  .tg-tour-details-area .tg-tour-details-video-feature-list ul li > div {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
  }
  .tg-tour-details-area .tg-tour-details-video-feature-list .title,
  .tg-tour-details-area .tg-tour-details-video-feature-list .duration {
    font-size: 11px !important;
    display: inline !important;
    margin-bottom: 0 !important;
  }
  .tg-tour-details-area .tg-tour-details-video-feature-list .icon {
    width: 14px !important;
    height: 14px !important;
    flex-shrink: 0 !important;
  }
  .tg-tour-details-area .tg-tour-details-video-feature-list .icon svg {
    width: 12px !important;
    height: 12px !important;
  }
  /* Mobile feature grid: 1 row per item (Duration, Type, Group size), icon + label + value on one line */
  .tg-tour-details-area .tg-tour-details-video-feature-list-mobile .service-feature-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  .tg-tour-details-area .tg-tour-details-video-feature-list-mobile .service-feature-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    font-size: 11px !important;
    padding: 6px 8px !important;
    gap: 8px !important;
  }
  .tg-tour-details-area .tg-tour-details-video-feature-list-mobile .service-feature-item > div {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    min-width: 0 !important;
  }
  .tg-tour-details-area .tg-tour-details-video-feature-list-mobile .service-feature-item .title,
  .tg-tour-details-area .tg-tour-details-video-feature-list-mobile .service-feature-item .duration {
    font-size: 11px !important;
    display: inline !important;
    margin-bottom: 0 !important;
  }
  .tg-tour-details-area .tg-tour-details-video-feature-list-mobile .service-feature-item .icon {
    width: 14px !important;
    height: 14px !important;
    flex-shrink: 0 !important;
  }
  .tg-tour-details-area .tg-tour-details-video-feature-list-mobile .service-feature-item .icon svg {
    width: 12px !important;
    height: 12px !important;
  }
  /* Price: slightly bigger on mobile */
  .tg-tour-details-area .tg-tour-details-video-feature-price,
  .tg-tour-details-area .service-price-text {
    font-size: 13px !important;
  }
  .tg-tour-details-area .service-price-text span {
    font-size: 17px !important;
  }
  /* Include/Exclude – smaller font on mobile */
  .tg-tour-about-area .tg-tour-about-list.tg-tour-about-list-2 .text,
  .tg-tour-about-area .tg-tour-about-list.tg-tour-about-list-2 li {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
  .tg-tour-about-area .tg-tour-about-list.tg-tour-about-list-2 .icon {
    font-size: 10px !important;
  }
  /* Tour plan: Day 1–5 title smaller; accordion body wider; align with edge (no extra indent) */
  .tg-tour-about-area #tour-plan-section .accordion-button {
    font-size: 12px !important;
    padding: 8px 40px 8px 0 !important;
    line-height: 1.35 !important;
  }
  .tg-tour-about-area #tour-plan-section .accordion-body {
    font-size: 12px !important;
    padding: 12px 0 12px 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .tg-tour-about-area #tour-plan-section .accordion-body .row {
    margin-left: -8px !important;
    margin-right: -8px !important;
  }
  .tg-tour-about-area #tour-plan-section .accordion-body .row [class*="col-"] {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  .tg-tour-about-area #tour-plan-section .accordion-item {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .tg-tour-about-area #tour-plan-section .accordion-header {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .tg-tour-about-area #tour-plan-section .tg-tour-about-faq-inner,
  .tg-tour-about-area #tour-plan-section .tg-tour-about-faq {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
