#search #search-content form input {
    color: #4f4f4f !important;
}
#search #search-content form input::placeholder {
    color: #6a6a6a !important;
    opacity: 1;
}
#search #search-content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    padding-top: .7rem !important;
    padding-bottom: .7rem !important;
}
#search #search-content form {
    width: 100% !important;
    margin: 0 !important;
}
#search #search-content .input-group {
    width: 100% !important;
    align-items: center !important;
    min-height: 3.05rem !important;
    margin: 0 !important;
}
#search #search-content .input-group .input-group-prepend,
#search #search-content .input-group .input-group-append {
    display: flex !important;
    align-items: center !important;
}
#search #search-content .input-group .input-group-text {
    height: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}
#search #search-content .input-group input[type="search"] {
    flex: 1 1 auto !important;
    width: auto !important;
    align-self: center !important;
    margin: 0 !important;
    line-height: 1.25 !important;
}
#search #search-content .search-clear-btn {
    color: #6b7280 !important;
    cursor: pointer !important;
    border-radius: .35rem !important;
    transition: color .12s ease !important;
}
#search #search-content .search-clear-btn.d-none {
    display: none !important;
}
#search #search-content .search-clear-btn:hover {
    color: #374151 !important;
}

/* Favorites dropdown empty state (desktop + mobile) */
#favoritesList .favorite-empty{
    margin: .25rem 0 !important;
    color: #7a7a7a !important;
    font-size: .92rem !important;
    line-height: 1.35 !important;
}
@media (max-width: 576px){
#mobilfavorites-content #favoritesList .favorite-empty{
        color: #f8f8f8 !important;
    }
    #mobilfavorites-content #favoritesList .click_favorite_remove{
        touch-action: manipulation !important;
    }
}

/* Header logo click area + sizing */
:root{
    --gt-header-h:58px;
}
@media (max-width: 991.98px){
    :root{
        --gt-header-h:50px;
    }
}
header,
header .menu-block-wrap,
header .menu-block{
    z-index: 70000 !important;
}
header{
    position: relative;
}
header .menu-block{
    position: relative;
}
header .menu-block.animated,
header .menu-block.fadeInDown,
header .menu-block.faster{
    animation: none !important;
    transform: none !important;
}
/* Header compact alignment and favorites counter */
header .menu-block-wrap{
    line-height:1 !important;
    min-height:58px !important;
    height:58px !important;
}
header .menu-block{
    padding-top:.45rem !important;
    padding-bottom:.45rem !important;
    min-height:58px !important;
    height:58px !important;
    overflow:visible !important;
}
header .menu-block > .row{
    align-items:center !important;
    flex-wrap:nowrap !important;
    min-height:44px !important;
    height:44px !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
}
header .menu-block-wrap.is-sticky .menu-block{
    padding-top:.45rem !important;
    padding-bottom:.45rem !important;
}
header #menu,
header #menu .navbar,
header #menu .navbar-collapse,
header #menu .navbar-nav{
    align-items:center !important;
    min-height:44px !important;
    height:44px !important;
}
header #menu .navbar{
    min-height:44px !important;
    height:44px !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
}
header #menu .navbar-nav > .nav-item{
    display:flex !important;
    align-items:center !important;
    height:44px !important;
}
header #menu .navbar-nav > .nav-item > .nav-link,
header #menu .navbar-nav > .nav-item > .dropdown-toggle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding-top:.38rem !important;
    padding-bottom:.38rem !important;
    line-height:1.2 !important;
    max-height:44px !important;
    white-space:nowrap !important;
}
header #menu .navbar-nav > .nav-item > .nav-link.js-favorites{
    min-width:2rem !important;
    min-height:2rem !important;
    padding-top:.42rem !important;
    padding-bottom:.42rem !important;
    line-height:1 !important;
    transform:none !important;
}
header #menu .navbar-nav > .nav-item > .nav-link.js-favorites i{
    display:block !important;
    line-height:1 !important;
    margin:0 !important;
}
@media (min-width: 992px){
    header .menu-block-wrap,
    header .menu-block-wrap.fixed-top,
    header .menu-block-wrap:not(.is-sticky),
    header .menu-block-wrap.is-sticky{
        min-height:58px !important;
        height:58px !important;
        max-height:58px !important;
    }
    header .menu-block,
    header .menu-block-wrap .menu-block,
    header .menu-block-wrap:not(.is-sticky) .menu-block,
    header .menu-block-wrap.is-sticky .menu-block{
        min-height:58px !important;
        height:58px !important;
        max-height:58px !important;
        padding-top:.45rem !important;
        padding-bottom:.45rem !important;
        box-sizing:border-box !important;
    }
    header .menu-block > .row,
    header .menu-block .row{
        min-height:44px !important;
        height:44px !important;
        max-height:44px !important;
        align-items:center !important;
    }
    header .menu-block .logo,
    header .menu-block .logo a{
        display:flex !important;
        align-items:center !important;
        height:44px !important;
        max-height:44px !important;
    }
    header .menu-block .logo img{
        max-height:44px !important;
        width:auto !important;
        object-fit:contain !important;
    }
}
header #menu .fav-count-badge.js-favorites-count:not(.d-none){
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
}

/* Modal mount should not create visible spacing below the fixed header. */
#travelmap{display:contents!important;}
#travelmap .modal{display:none;}
#travelmap .modal.show{display:block;}

header #menu,
header #menu .navbar,
header #menu .dropdown,
header #menu .dropdown-menu{
    z-index: 70010 !important;
}
body.modal-open .modal-backdrop,
body.modal-open .modal-backdrop.show,
body.modal-open .js-maproute-backdrop{
    z-index: 89990 !important;
}
body.modal-open .modal{
    z-index: 90000 !important;
}
body.modal-open .modal .modal-dialog,
body.modal-open .modal .modal-content{
    position: relative;
    z-index: 90001 !important;
}
body.maproute-open #mapRoute{
    z-index: 90000 !important;
}
header .menu-block .header-logo-col{
    position: relative !important;
    z-index: 3 !important;
    flex: 0 0 auto !important;
}
header .menu-block .header-logo-link{
    position: relative !important;
    z-index: 4 !important;
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1 !important;
}
header .menu-block .header-logo-img{
    height: 44px !important;
    width: auto !important;
    max-width: 100% !important;
    display: block !important;
}
header .menu-block .header-menu-col{
    min-width: 0 !important;
}
header .js-current-currency-mark{
    white-space: nowrap !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}
header .currency-menu-grid{
    width: min(720px, calc(100vw - 2rem)) !important;
    max-width: min(720px, calc(100vw - 2rem)) !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: .35rem !important;
}
header .currency-menu-grid.show,
header .dropdown.show > .currency-menu-grid,
header .dropdown:hover > .currency-menu-grid{
    display: grid !important;
}
header .currency-menu-grid .currency-menu-item,
header .currency-menu-grid .dropdown-item{
    display: grid !important;
    grid-template-columns: 1.65rem minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: .16rem !important;
    border-radius: .45rem !important;
    padding: .55rem .65rem !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}
header .currency-menu-grid .currency-menu-item:hover,
header .currency-menu-grid .currency-menu-item:focus,
header .currency-menu-grid .currency-menu-item.active,
header .currency-menu-grid .dropdown-item:hover,
header .currency-menu-grid .dropdown-item:focus,
header .currency-menu-grid .dropdown-item.active{
    background-color: #f8f9fa !important;
    color: inherit !important;
}
header .currency-menu-grid .currency-menu-mark,
.mobilcurrency-content .currency-menu-mobile-grid .currency-menu-mark{
    display: block !important;
    min-width: 1.65rem !important;
    max-width: 1.65rem !important;
    text-align: left !important;
    font-weight: 400 !important;
    opacity: .86 !important;
    font-size: 14px !important;
}
header .currency-menu-grid .currency-menu-name,
.mobilcurrency-content .currency-menu-mobile-grid .currency-menu-name{
    display: block !important;
    min-width: 0 !important;
    text-align: left !important;
    font-weight: 400 !important;
    font-size: 14px !important;
}
/* Mobile remodal panels must cover the sticky header, whose z-index is intentionally high. */
.remodal-overlay{
    z-index: 90000 !important;
}
.remodal-wrapper{
    z-index: 90001 !important;
}
#mobilcurrency-content.remodal{
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 3.1rem 1.35rem calc(4.2rem + env(safe-area-inset-bottom, 0px)) !important;
}
#mobilcurrency-content .remodal-close{
    top: .75rem !important;
    right: 1rem !important;
}
#mobilcurrency-content ul.currency-menu-mobile-grid{
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: stretch !important;
    gap: .55rem !important;
    width: min(420px, 100%) !important;
    margin: .25rem auto 0 !important;
    padding-bottom: calc(2.4rem + env(safe-area-inset-bottom, 0px)) !important;
}
#mobilcurrency-content .currency-menu-mobile-grid .nav-item{
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
#mobilcurrency-content .currency-menu-mobile-grid .nav-link{
    width: 100% !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    border-radius: .65rem !important;
    padding: .82rem .9rem !important;
    line-height: 1.18 !important;
    min-height: 3rem !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}
#mobilcurrency-content .currency-menu-mobile-grid .nav-item.active .nav-link{
    background: rgba(0,0,0,.20) !important;
    border-color: rgba(255,255,255,.68) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.24) !important;
}
#mobilcurrency-content .currency-menu-mobile-label{
    display: inline-grid !important;
    grid-template-columns: auto auto !important;
    align-items: center !important;
    justify-content: start !important;
    column-gap: .45rem !important;
    font-weight: 400 !important;
    font-size: 14px !important;
}
@media (max-width: 991.98px){
    header .menu-block .header-logo-img{
        height: 36px !important;
    }
}

#genaralCarousel .banner-carousel-control {
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 100px;
    background-color: rgba(255, 255, 255, 0.78);
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
    opacity: 0.9;
    text-shadow: none;
}
#genaralCarousel .banner-carousel-control:hover {
    opacity: 1;
    background-color: rgba(255, 255, 255, 0.86);
}
#genaralCarousel .banner-carousel-control.carousel-control-prev {
    left: 2.4rem;
}
#genaralCarousel .banner-carousel-control.carousel-control-next {
    right: 2.4rem;
    left: auto;
}
#genaralCarousel .banner-carousel-control .carousel-control-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
#genaralCarousel .banner-carousel-control .carousel-control-icon i {
    color: #2c2c2c;
    font-size: 1.1rem;
}
@media (max-width: 576px) {
    #genaralCarousel .banner-carousel-control {
        width: 2.6rem;
        height: 2.6rem;
    }
    #genaralCarousel .banner-carousel-control.carousel-control-prev {
        left: 1.35rem;
    }
    #genaralCarousel .banner-carousel-control.carousel-control-next {
        right: 1.35rem;
    }
}

/* Keep the visible banner area centered even when source composition is uneven */
#genaralCarousel .carousel .carousel-inner .carousel-item {
    position: relative !important;
    overflow: hidden !important;
}
/* If the slide is wrapped with an <a>, force it to fill the whole slide area */
#genaralCarousel .carousel .carousel-inner .carousel-item > a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    text-decoration: none !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item picture {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item picture > img {
    position: absolute !important;
    left: var(--bnr-focus-x, 50%) !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: auto !important;
    height: auto !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
}
/* Video banners: cover like images */
#genaralCarousel .carousel .carousel-inner .carousel-item video.video-fluid {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Banner sizing: remove legacy margin hacks that cause extra whitespace on mobile */
#genaralCarousel .carousel .carousel-inner .carousel-item.short,
#genaralCarousel .carousel .carousel-inner .carousel-item.long {
    margin-bottom: 0 !important;
}
/* Smooth responsive heights while preserving short/long intent */
#genaralCarousel .carousel .carousel-inner .carousel-item.short {
    height: clamp(180px, 28vw, 380px) !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item.long {
    height: clamp(280px, 42vw, 520px) !important;
}

/* Caption: keep text away from slide arrows and centered on narrow screens */
#genaralCarousel .carousel-caption {
    left: 0 !important;
    right: 0 !important;
    padding-left: clamp(3.9rem, 7vw, 6.6rem) !important;
    padding-right: clamp(3.9rem, 7vw, 6.6rem) !important;
    /* Drive positioning via flex so we can support per-banner alignment options */
    top: 0 !important;
    bottom: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: .12rem !important;
    padding-top: clamp(1.2rem, 4vw, 3.2rem) !important;
    padding-bottom: clamp(1.2rem, 4vw, 3.2rem) !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item.short .carousel-caption,
#genaralCarousel .carousel .carousel-inner .carousel-item.long .carousel-caption {
    /* main.css pins short->top and long->bottom with !important; override it */
    top: 0 !important;
    bottom: 0 !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item .carousel-caption h2,
#genaralCarousel .carousel .carousel-inner .carousel-item .carousel-caption p.banner-desc {
    text-shadow: 0 2px 18px rgba(0, 0, 0, .35) !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item .carousel-caption h2 {
    margin-bottom: .35rem !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item .carousel-caption p.banner-desc {
    margin-top: 0 !important;
}

/* Text alignment options (tbl_banners.text_aling) */
#genaralCarousel .carousel .carousel-inner .carousel-item[class*="bnr-ta-"] .carousel-caption {
    /* baseline for all custom alignments */
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-1 .carousel-caption,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-2 .carousel-caption,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-3 .carousel-caption {
    justify-content: flex-start !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-7 .carousel-caption,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-8 .carousel-caption,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-9 .carousel-caption {
    justify-content: flex-end !important;
    /* Ensure bottom-aligned text + CTA never gets clipped (CTA was added later).
       Also leaves room for overlapping home search block on some layouts. */
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + clamp(4rem, 8vw, 6.5rem)) !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-1 .carousel-caption,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-4 .carousel-caption,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-7 .carousel-caption {
    align-items: flex-start !important;
    text-align: left !important;
    padding-left: 1rem !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-3 .carousel-caption,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-6 .carousel-caption,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-9 .carousel-caption {
    align-items: flex-end !important;
    text-align: right !important;
    padding-right: 1rem !important;
}

#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-2 .carousel-caption,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-5 .carousel-caption,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-8 .carousel-caption {
    align-items: center !important;
    text-align: center !important;
}

#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-1 .carousel-caption {
    /* Top Left */
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-2 .carousel-caption {
    /* Top Center */
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-3 .carousel-caption {
    /* Top Right */
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-4 .carousel-caption {
    /* Middle Left */
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-5 .carousel-caption {
    /* Middle Center */
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-6 .carousel-caption {
    /* Middle Right */
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-7 .carousel-caption {
    /* Bottom Left */
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-8 .carousel-caption {
    /* Bottom Center */
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-9 .carousel-caption {
    /* Bottom Right */
}

@media (max-width: 576px) {
    /* Mobile: allow title/desc to use more horizontal space (prevents vertical stacking/overlap) */
    #genaralCarousel .carousel-caption {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }
    #genaralCarousel .carousel-caption h2,
    #genaralCarousel .carousel-caption p.banner-desc {
        max-width: 100% !important;
    }
    #genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-1 .carousel-caption,
    #genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-2 .carousel-caption,
    #genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-3 .carousel-caption {
        padding-top: .85rem !important;
    }
    #genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-7 .carousel-caption,
    #genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-8 .carousel-caption,
    #genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-9 .carousel-caption {
        padding-bottom: .85rem !important;
    }
    #genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-1 .carousel-caption,
    #genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-4 .carousel-caption,
    #genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-7 .carousel-caption {
        padding-left: .85rem !important;
    }
    #genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-3 .carousel-caption,
    #genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-6 .carousel-caption,
    #genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-9 .carousel-caption {
        padding-right: .85rem !important;
    }

    /* Phone UX: keep caption vertically centered even if the banner's stored alignment is top/bottom.
       Horizontal alignment (left/center/right) still applies. */
    #genaralCarousel .carousel .carousel-inner .carousel-item[class*="bnr-ta-"] .carousel-caption {
        justify-content: center !important;
    }
}

#genaralCarousel.wide-standard .carousel-caption {
    padding-left: clamp(3.2rem, 6vw, 5.4rem) !important;
    padding-right: clamp(3.2rem, 6vw, 5.4rem) !important;
}
#genaralCarousel.wide-standard .banner-carousel-control.carousel-control-prev {
    left: 1.4rem;
}
#genaralCarousel.wide-standard .banner-carousel-control.carousel-control-next {
    right: 1.4rem;
}
#genaralCarousel .carousel-caption h2,
#genaralCarousel .carousel-caption p.banner-desc {
    max-width: 58rem;
}

/* Max-width block alignment (prevents auto-centering when left/right is chosen) */
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-2 .carousel-caption h2,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-2 .carousel-caption p.banner-desc,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-5 .carousel-caption h2,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-5 .carousel-caption p.banner-desc,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-8 .carousel-caption h2,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-8 .carousel-caption p.banner-desc {
    margin-left: auto !important;
    margin-right: auto !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-1 .carousel-caption h2,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-1 .carousel-caption p.banner-desc,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-4 .carousel-caption h2,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-4 .carousel-caption p.banner-desc,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-7 .carousel-caption h2,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-7 .carousel-caption p.banner-desc {
    margin-left: 0 !important;
    margin-right: auto !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-3 .carousel-caption h2,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-3 .carousel-caption p.banner-desc,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-6 .carousel-caption h2,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-6 .carousel-caption p.banner-desc,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-9 .carousel-caption h2,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-9 .carousel-caption p.banner-desc {
    margin-left: auto !important;
    margin-right: 0 !important;
}

/* Override legacy !important sizes in main.css; allow per-banner sizing via CSS variables */
#genaralCarousel .carousel .carousel-inner .carousel-item .carousel-caption h2 {
    font-size: var(--bnr-title-size, 3.5rem) !important;
    line-height: 1.1 !important;
    color: var(--bnr-title-color, #fff) !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item .carousel-caption p.banner-desc {
    /* Always keep description 40% smaller than the title size */
    font-size: calc(var(--bnr-title-size, 3.5rem) * 0.6) !important;
    line-height: 1.2 !important;
    color: var(--bnr-desc-color, #fff) !important;
    margin-bottom: 0 !important;
}

/* Optional banner CTA button (admin-controlled) */
#genaralCarousel .carousel .carousel-inner .carousel-item .carousel-caption .banner-actions {
    width: 100% !important;
    margin-top: .85rem !important;
    display: flex !important;
    justify-content: center !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-1 .carousel-caption .banner-actions,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-4 .carousel-caption .banner-actions,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-7 .carousel-caption .banner-actions {
    justify-content: flex-start !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-3 .carousel-caption .banner-actions,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-6 .carousel-caption .banner-actions,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-ta-9 .carousel-caption .banner-actions {
    justify-content: flex-end !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item .carousel-caption .banner-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: .55em 1.05em !important;
    border-radius: .45rem !important;
    background: var(--bnr-btn-bg, rgba(11, 11, 11, .82)) !important;
    color: var(--bnr-btn-color, #fff) !important;
    font-size: calc(var(--bnr-title-size, 3.5rem) * 0.5) !important;
    font-weight: 600 !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    text-decoration: none !important;
    transition: opacity .15s ease, transform .15s ease !important;
    cursor: pointer !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item > a:hover .banner-btn,
#genaralCarousel .carousel .carousel-inner .carousel-item .carousel-caption .banner-btn:hover {
    opacity: .8 !important;
}

/* Phone override MUST come after CTA button base styles, otherwise base `display` wins via !important order. */
@media (max-width: 576px) {
    /* Phone: show title only (hide desc + CTA) */
    #genaralCarousel .carousel .carousel-inner .carousel-item .carousel-caption h2 {
        font-size: calc(var(--bnr-title-size, 3.5rem) * 0.46) !important;
        line-height: 1.08 !important;
        margin-bottom: 0 !important;
    }
    #genaralCarousel .carousel .carousel-inner .carousel-item .carousel-caption p.banner-desc,
    #genaralCarousel .carousel .carousel-inner .carousel-item .carousel-caption .banner-actions,
    #genaralCarousel .carousel .carousel-inner .carousel-item .carousel-caption .banner-btn {
        display: none !important;
    }
}
@media (max-width: 400px) {
    /* 360px class devices */
    #genaralCarousel .carousel .carousel-inner .carousel-item .carousel-caption h2 {
        font-size: calc(var(--bnr-title-size, 3.5rem) * 0.42) !important;
    }
}
@media (max-width: 768px) and (min-width: 577px) {
    /* Tablet: shrink title/desc a bit to prevent overflow (phones use the tighter <=576px rules above) */
    #genaralCarousel .carousel .carousel-inner .carousel-item .carousel-caption h2 {
        font-size: calc(var(--bnr-title-size, 3.5rem) * 0.6) !important;
    }
    #genaralCarousel .carousel .carousel-inner .carousel-item .carousel-caption p.banner-desc {
        font-size: calc(var(--bnr-title-size, 3.5rem) * 0.36) !important;
    }
    #genaralCarousel .carousel .carousel-inner .carousel-item .carousel-caption .banner-btn {
        /* Desktop uses 0.5; on mobile shrink like other caption text */
        font-size: calc(var(--bnr-title-size, 3.5rem) * 0.3) !important;
        padding: .5em .95em !important;
    }
}

/* Banner title font options (admin-controlled) */
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-caveat .carousel-caption h2,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-caveat .carousel-caption p.banner-desc,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-caveat .carousel-caption .banner-btn {
    font-family: 'Caveat', cursive !important;
    font-weight: 400 !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-caveat_bold .carousel-caption h2,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-caveat_bold .carousel-caption p.banner-desc,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-caveat_bold .carousel-caption .banner-btn {
    font-family: 'Caveat', cursive !important;
    font-weight: 700 !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-roboto_thin .carousel-caption h2,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-roboto_thin .carousel-caption p.banner-desc,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-roboto_thin .carousel-caption .banner-btn {
    font-family: 'Roboto', sans-serif !important;
    font-weight: 100 !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-roboto_light .carousel-caption h2,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-roboto_light .carousel-caption p.banner-desc,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-roboto_light .carousel-caption .banner-btn {
    font-family: 'Roboto', sans-serif !important;
    font-weight: 300 !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-roboto .carousel-caption h2,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-roboto .carousel-caption p.banner-desc,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-roboto .carousel-caption .banner-btn {
    font-family: 'Roboto', sans-serif !important;
    font-weight: 400 !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-roboto_medium .carousel-caption h2,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-roboto_medium .carousel-caption p.banner-desc,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-roboto_medium .carousel-caption .banner-btn {
    font-family: 'Roboto', sans-serif !important;
    font-weight: 500 !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-roboto_bold .carousel-caption h2,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-roboto_bold .carousel-caption p.banner-desc,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-roboto_bold .carousel-caption .banner-btn {
    font-family: 'Roboto', sans-serif !important;
    font-weight: 700 !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-roboto_black .carousel-caption h2,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-roboto_black .carousel-caption p.banner-desc,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-roboto_black .carousel-caption .banner-btn {
    font-family: 'Roboto', sans-serif !important;
    font-weight: 900 !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-open_sans_light .carousel-caption h2,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-open_sans_light .carousel-caption p.banner-desc,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-open_sans_light .carousel-caption .banner-btn {
    font-family: 'Open Sans', sans-serif !important;
    font-weight: 300 !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-open_sans .carousel-caption h2,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-open_sans .carousel-caption p.banner-desc,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-open_sans .carousel-caption .banner-btn {
    font-family: 'Open Sans', sans-serif !important;
    font-weight: 400 !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-open_sans_semibold .carousel-caption h2,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-open_sans_semibold .carousel-caption p.banner-desc,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-open_sans_semibold .carousel-caption .banner-btn {
    font-family: 'Open Sans', sans-serif !important;
    font-weight: 600 !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-open_sans_bold .carousel-caption h2,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-open_sans_bold .carousel-caption p.banner-desc,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-open_sans_bold .carousel-caption .banner-btn {
    font-family: 'Open Sans', sans-serif !important;
    font-weight: 700 !important;
}
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-open_sans_extrabold .carousel-caption h2,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-open_sans_extrabold .carousel-caption p.banner-desc,
#genaralCarousel .carousel .carousel-inner .carousel-item.bnr-font-open_sans_extrabold .carousel-caption .banner-btn {
    font-family: 'Open Sans', sans-serif !important;
    font-weight: 800 !important;
}

/* Flash banner (top strip) custom styling */
#banner-flash a {
    color: inherit !important;
    text-decoration: none !important;
}
#banner-flash .flash-title {
    color: var(--f-title-color, #fff) !important;
    font-size: var(--f-title-size, 1.05rem) !important;
    line-height: 1.15 !important;
    font-weight: 600 !important;
}
#banner-flash .flash-desc {
    color: var(--f-desc-color, #fff) !important;
    font-size: calc(var(--f-title-size, 1.05rem) * 0.85) !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
}
#banner-flash .flash-date {
    color: var(--f-desc-color, #fff) !important;
    font-size: calc(var(--f-title-size, 1.05rem) * 0.75) !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    letter-spacing: .02em !important;
}
#banner-flash .campaign .flash-desc { margin-left: .35rem !important; }
#banner-flash .campaign .flash-date { margin-left: .5rem !important; }

/* Apply selected title font to flash banner text as well */
#banner-flash .bnr-font-caveat .flash-title,
#banner-flash .bnr-font-caveat .flash-desc,
#banner-flash .bnr-font-caveat .flash-date {
    font-family: 'Caveat', cursive !important;
    font-weight: 400 !important;
}
#banner-flash .bnr-font-caveat_bold .flash-title,
#banner-flash .bnr-font-caveat_bold .flash-desc,
#banner-flash .bnr-font-caveat_bold .flash-date {
    font-family: 'Caveat', cursive !important;
    font-weight: 700 !important;
}
#banner-flash .bnr-font-roboto_thin .flash-title,
#banner-flash .bnr-font-roboto_thin .flash-desc,
#banner-flash .bnr-font-roboto_thin .flash-date {
    font-family: 'Roboto', sans-serif !important;
    font-weight: 100 !important;
}
#banner-flash .bnr-font-roboto_light .flash-title,
#banner-flash .bnr-font-roboto_light .flash-desc,
#banner-flash .bnr-font-roboto_light .flash-date {
    font-family: 'Roboto', sans-serif !important;
    font-weight: 300 !important;
}
#banner-flash .bnr-font-roboto .flash-title,
#banner-flash .bnr-font-roboto .flash-desc,
#banner-flash .bnr-font-roboto .flash-date {
    font-family: 'Roboto', sans-serif !important;
    font-weight: 400 !important;
}
#banner-flash .bnr-font-roboto_medium .flash-title,
#banner-flash .bnr-font-roboto_medium .flash-desc,
#banner-flash .bnr-font-roboto_medium .flash-date {
    font-family: 'Roboto', sans-serif !important;
    font-weight: 500 !important;
}
#banner-flash .bnr-font-roboto_bold .flash-title,
#banner-flash .bnr-font-roboto_bold .flash-desc,
#banner-flash .bnr-font-roboto_bold .flash-date {
    font-family: 'Roboto', sans-serif !important;
    font-weight: 700 !important;
}
#banner-flash .bnr-font-roboto_black .flash-title,
#banner-flash .bnr-font-roboto_black .flash-desc,
#banner-flash .bnr-font-roboto_black .flash-date {
    font-family: 'Roboto', sans-serif !important;
    font-weight: 900 !important;
}
#banner-flash .bnr-font-open_sans_light .flash-title,
#banner-flash .bnr-font-open_sans_light .flash-desc,
#banner-flash .bnr-font-open_sans_light .flash-date {
    font-family: 'Open Sans', sans-serif !important;
    font-weight: 300 !important;
}
#banner-flash .bnr-font-open_sans .flash-title,
#banner-flash .bnr-font-open_sans .flash-desc,
#banner-flash .bnr-font-open_sans .flash-date {
    font-family: 'Open Sans', sans-serif !important;
    font-weight: 400 !important;
}
#banner-flash .bnr-font-open_sans_semibold .flash-title,
#banner-flash .bnr-font-open_sans_semibold .flash-desc,
#banner-flash .bnr-font-open_sans_semibold .flash-date {
    font-family: 'Open Sans', sans-serif !important;
    font-weight: 600 !important;
}
#banner-flash .bnr-font-open_sans_bold .flash-title,
#banner-flash .bnr-font-open_sans_bold .flash-desc,
#banner-flash .bnr-font-open_sans_bold .flash-date {
    font-family: 'Open Sans', sans-serif !important;
    font-weight: 700 !important;
}
#banner-flash .bnr-font-open_sans_extrabold .flash-title,
#banner-flash .bnr-font-open_sans_extrabold .flash-desc,
#banner-flash .bnr-font-open_sans_extrabold .flash-date {
    font-family: 'Open Sans', sans-serif !important;
    font-weight: 800 !important;
}

/* Search layout: keep overlay on banner pages, push below fixed header when banner is hidden */
#search.search-no-banner {
    margin-top: .2rem !important;
    position: relative !important;
    z-index: 8 !important;
}

/* Search container border: default look (light gray) */
#search #search-content{
    border:1px solid rgba(15,23,42,.06) !important;
    border-radius:0 !important;
}

/* Template setting: optional highlight border for search container */
#search.search-border-on #search-content{
    border:3px solid var(--search-border-color) !important;
}

/* Search model 2: segmented filter controls */
#search.search-style-2{
    --search2-accent: var(--templateColor,#17a2b8)
;
}
#search.search-style-2 #search-content{
    padding-top:.55rem !important;
    padding-bottom:.55rem !important;
    padding-left:.62rem !important;
    padding-right:.62rem !important;
}
#search .search-style-2-form{
    margin:0 !important;
}
#search .search-style-2-grid{
    width:100% !important;
    min-height:3.15rem !important;
    display:flex !important;
    align-items:center !important;
    gap:0 !important;
    border-radius:0 !important;
    overflow:hidden !important;
}
#search .search-style-2-item{
    flex:1 1 0 !important;
    min-width:0 !important;
    display:flex !important;
    align-items:center !important;
    padding:0 .72rem !important;
    border-right:1px solid rgba(15,23,42,.13) !important;
}
#search .search-style-2-item:last-of-type{
    border-right:0 !important; /* avoid double-thick separator next to the submit button */
}
#search .search-style-2-item + .search-style-2-item{
    padding-left:.94rem !important;
}
#search .search-style-2-label{
    margin:0 .45rem 0 0 !important;
    color:var(--search2-accent) !important;
    font-size:1.06rem !important;
    line-height:1 !important;
    display:inline-flex !important;
    align-items:center !important;
}
#search .search-style-2-select{
    width:100% !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    color:#808080 !important;
    font-size:1rem !important;
    height:2.6rem !important;
    line-height:1.25 !important;
    padding:.2rem .3rem .3rem .4rem !important;
    -webkit-appearance:none !important;
    -moz-appearance:none !important;
    appearance:none !important;
}
#search .search-style-2-select:focus{
    outline:0 !important;
    box-shadow:none !important;
}
#search .search-style-2-submit{
    flex:0 0 3.05rem !important;
    width:3.05rem !important;
    height:3.05rem !important;
    border:0 !important;
    border-left:1px solid rgba(15,23,42,.13) !important;
    background:transparent !important;
    color:var(--search2-submit-accent, var(--search2-accent)) !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    cursor:pointer !important;
    transition:color .16s ease, background-color .16s ease !important;
}

/* Search model 2: when highlight border is enabled, use same color and thicker separators */
#search.search-border-on.search-style-2 .search-style-2-item{
    border-right:3px solid var(--search-border-color) !important;
}
#search.search-border-on.search-style-2 .search-style-2-item:last-of-type{
    border-right:0 !important;
}
#search.search-border-on.search-style-2 .search-style-2-submit{
    border-left:3px solid var(--search-border-color) !important;
}
#search .search-style-2-submit:hover{
    color:var(--search2-submit-accent, var(--search2-accent)) !important;
    background:rgba(15,23,42,.04) !important;
}
@media (max-width: 767.98px){
    #search.search-style-2 #search-content{
        padding-left:.45rem !important;
        padding-right:.45rem !important;
    }
    #search .search-style-2-grid{
        flex-wrap:nowrap !important;
        row-gap:0 !important;
        min-height:2.7rem !important;
    }
    #search .search-style-2-item{
        flex:1 1 0 !important;
        min-width:0 !important;
        border-right:1px solid rgba(15,23,42,.13) !important;
        border-bottom:0 !important;
        padding:0 .35rem !important;
    }
    #search .search-style-2-item:last-of-type{
        border-right:0 !important;
    }
    #search .search-style-2-item + .search-style-2-item{
        padding-left:.5rem !important;
    }
    #search .search-style-2-label{
        margin-right:.24rem !important;
        font-size:.98rem !important;
    }
    #search .search-style-2-select{
        font-size:.84rem !important;
        height:2.45rem !important;
        padding:.2rem .2rem .3rem .25rem !important;
    }
    #search .search-style-2-submit{
        flex:0 0 2.45rem !important;
        width:2.45rem !important;
        height:2.45rem !important;
        margin-left:0 !important;
        border:0 !important;
        border-left:1px solid rgba(15,23,42,.13) !important;
        border-radius:0 !important;
    }
}
@media (max-width: 768px) {
    #search.search-has-banner {
        margin-top: -1.35rem !important;
    }
    #search.search-has-banner .container {
        width: 92% !important;
    }
}
@media (max-width: 576px) {
    #search.search-has-banner {
        margin-top: 0 !important;
    }
    #search.search-has-banner .container {
        width: 100% !important;
    }
}
@media (min-width: 576px) {
    #search.pb-sm-5,
    #search.py-sm-5 {
        padding-bottom: 3rem !important;
    }
}

/* Search results: left aligned, full width, compact card rows (photo + 3 text lines) */
#search #search-content .search-result {
    width: 100% !important;
    margin-left: 0 !important;
    text-align: left !important;
}
#search #search-content .search-result.d-none {
    display: none !important;
}
#search #search-content .search-result.d-block {
    display: block !important;
}
#search #search-content .search-result .search-tour-link {
    display: block !important;
    width: 100% !important;
    text-decoration: none !important;
}
#search #search-content .search-result .search-tour-item {
    display: grid !important;
    grid-template-columns: 5rem 1fr !important;
    gap: .7rem !important;
    align-items: center !important;
    padding: .5rem .2rem .6rem .2rem !important;
    border-bottom: 1px solid rgba(15, 23, 42, 0.10) !important;
    width: 100% !important;
    height: 100% !important;
}
#search #search-content .search-result .search-tour-link:last-child .search-tour-item {
    border-bottom: 0 !important;
}
#search #search-content .search-result .search-tour-photo-wrap {
    width: 5rem !important;
    height: 3.9rem !important;
    border-radius: .3rem !important;
    overflow: hidden !important;
}
#search #search-content .search-result .search-tour-photo {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}
#search #search-content .search-result .search-tour-text {
    min-width: 0 !important;
}
#search #search-content .search-result .search-tour-line1 {
    font-size: .92rem !important;
    line-height: 1.25 !important;
    color: #17212f !important;
    font-weight: 400 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
#search #search-content .search-result .search-tour-line2 {
    margin-top: .16rem !important;
    font-size: .8rem !important;
    line-height: 1.3 !important;
    color: #5b6677 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
#search #search-content .search-result .search-tour-line3 {
    margin-top: .16rem !important;
    font-size: .78rem !important;
    line-height: 1.28 !important;
    color: #6f7888 !important;
    font-weight: 400 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* Menu -> Best image: force fully circular crop and vertically centered title */
header #menu .navbar .dropdown-menu .dropdown-top-content .best-menu-avatar-box {
    width: 6.5rem !important;
    min-width: 6.5rem !important;
    max-width: 6.5rem !important;
    height: 6.5rem !important;
    min-height: 6.5rem !important;
    max-height: 6.5rem !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    margin: 0 auto !important;
}
header #menu .navbar .dropdown-menu .dropdown-top-content .best-menu-avatar-picture {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    border-radius: 50% !important;
    overflow: hidden !important;
}
header #menu .navbar .dropdown-menu .dropdown-top-content .best-menu-avatar {
    width: 6.5rem !important;
    height: 6.5rem !important;
    min-width: 6.5rem !important;
    max-width: 6.5rem !important;
    min-height: 6.5rem !important;
    max-height: 6.5rem !important;
    aspect-ratio: 1 / 1 !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    border-radius: 999px !important;
    clip-path: circle(50% at 50% 50%) !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
    margin: 0 !important;
}
header #menu .navbar .dropdown-menu .dropdown-top-content .col-6.text-left.d-flex.align-items-center {
    min-height: 6.5rem !important;
}
header #menu .navbar .dropdown-menu .dropdown-top-content .best-menu-title {
    margin: 0 !important;
    line-height: 1.25 !important;
}
.tour-list-media,
.category-list-media {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
}
.overlay > div,
.overlay picture,
.hoverMap,
.type .overlay,
.type .overlay picture {
    width: 100%;
    height: 100%;
}
.overlay > div,
.overlay picture,
.hoverMap,
.type .overlay picture {
    display: block;
    overflow: hidden;
}

/* Managed media images: hide browser alt-text flash on first alias/cache load. */
.media-img-loader-host{
    position: relative;
}
.media-img-loader-host > .media-img-loader{
    position: absolute;
    inset: 0;
    z-index: 8;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    opacity: 0;
    transition: opacity .16s ease;
}
.media-img-loader-host.is-media-img-loading > .media-img-loader{
    opacity: 1;
}
.media-img-loader-dot{
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    border: 2px solid rgba(255,255,255,.88);
    border-top-color: var(--templateColor,#17a2b8)
;
    background: rgba(255,255,255,.4);
    box-shadow: 0 10px 24px rgba(15,23,42,.18);
    animation: mediaImgSpin .72s linear infinite;
}
img.media-img-is-loading{
    opacity: 0 !important;
}
img.media-img-is-loaded{
    opacity: 1;
    transition: opacity .18s ease;
}
@keyframes mediaImgSpin{
    to{ transform: rotate(360deg); }
}

/* Tour warning tags (wtags) */
.warning{
    list-style:none;
    margin:0;
    padding:0;
    gap:.2rem;
}

.warning li{
    display:inline-flex;
    align-items:center;
    gap:.24rem;
    padding:.12rem .38rem;
    font-size:.6rem;
    font-weight:400;
    line-height:1.05;
    border-radius:.26rem;
    color:#e2e8f0;
    text-transform:uppercase;
    letter-spacing:.02em;
}
.warning li i{
    font-size:.6rem;
    color:inherit;
}
.mt-single-horizontal .col .overlay ul.warning li{
    font-size:.7rem;
    line-height:.7rem;
    padding:.5rem;
    border-top-left-radius:0;
    border-bottom-left-radius:0;
}
.mt-single-horizontal .col .overlay ul.warning{
    gap:0;
}
#travel-slideVideo .warning li{
    border-top-right-radius:0 !important;
    border-bottom-right-radius:0 !important;
}
.warning li.wtag-best-tour{ background:#f6c343 !important; color:#8a5a00 !important; }
.warning li.wtag-private-tour{ background:#2b2f3a !important; color:#b8c0cc !important; }
.warning li.wtag-group-tour{ background:#2563eb !important; color:#c7d7ff !important; }
.warning li.wtag-biblical-tour{ background:#7c3aed !important; color:#e6dcff !important; }
.warning li.wtag-ancient-tour{ background:#b45309 !important; color:#ffddb5 !important; }
.warning li.wtag-islamic-tour{ background:#15803d !important; color:#cfead8 !important; }
.warning li.wtag-historical-tour{ background:#0f766e !important; color:#c9f0ea !important; }
.warning li.wtag-jewish-tour{ background:#4338ca !important; color:#d5d9ff !important; }
.warning li.wtag-shore-excursion{ background:#c2410c !important; color:#ffd9c4 !important; }
.warning li.wtag-skip-the-line{ background:#b91c1c !important; color:#ffd1d1 !important; }
.warning li.wtag-hotel-pickup{ background:#475569 !important; color:#d6dde6 !important; }
.warning li.wtag-small-group{ background:#1d4ed8 !important; color:#c4d4ff !important; }
.warning li.wtag-expert-guide{ background:#111827 !important; color:#b6c0cc !important; }
.warning li.wtag-free-cancellation{ background:#16a34a !important; color:#d4f4dd !important; }
.warning li.wtag-family-friendly{ background:#a16207 !important; color:#ffdfb0 !important; }
.warning li.wtag-wheelchair-accessible{ background:#0369a1 !important; color:#cfe9ff !important; }
.warning li.wtag-lunch-included{ background:#be123c !important; color:#ffc9d3 !important; }

/* Tour quality badge (Private / Group) */
.tour-quality-badge{
    display:inline-flex;
    align-items:center;
    padding:.12rem .62rem;
    border-radius:999px;
    font-size:.68rem;
    font-weight:700;
    letter-spacing:.03em;
    line-height:1.15;
    text-transform:uppercase;
    vertical-align:middle;
}
.tour-quality-private{ background:rgba(52,58,64,.12); color:#343a40; }
.tour-quality-group{ background:rgba(0,123,255,.12); color:#0b5ed7; }
.tour-quality-night,
.tour-sh-quality-night,
.homepage-feature-quality.is-night,
.homepage-triple-quality.is-night{
    background:#343a40 !important;
    border-color:#343a40 !important;
    color:#fff !important;
}

/* Constrain overly-wide copy blocks (email list + tailor made intro) */
.theme-copy-narrow{
    max-width: 920px;
}

/* Menu / showcase tour price: dynamic price renderer */
.js-tour-card-price .tour-card-price-top{
    display:flex;
    flex-wrap:wrap;
    gap:.28rem;
}
.js-tour-card-price .tour-card-price-badge,
.js-tour-card-price .tour-card-price-discount{
    display:inline-flex;
    align-items:center;
    border-radius:.45rem;
    padding:.28rem .62rem;
    font-size:.68rem;
    font-weight:400;
    line-height:1;
    letter-spacing:.035em;
    text-transform:uppercase;
    white-space:nowrap;
}
.js-tour-card-price .tour-card-price-badge.is-no-shopping{
    background:#facc15;
    color:#713f12;
    border:1px solid #eab308;
}
.js-tour-card-price .tour-card-price-badge.is-sponsored{
    background:#dcfce7;
    color:#166534;
    border:1px solid #bbf7d0;
    white-space:nowrap;
    text-align:left;
}
.js-tour-card-price .tour-card-price-badge.is-sponsored small{
    display:inline;
    font-size:1em;
    font-weight:400;
    line-height:1;
    letter-spacing:.035em;
    text-transform:uppercase;
    color:inherit;
}
.js-tour-card-price .tour-card-price-discount{
    background:#dc2626;
    color:#fff;
    border:1px solid #dc2626;
}

.home-s5-price.tour-card-price--menu{
    margin:.58rem 0 .3rem;
    min-height:3.05rem;
}
.home-s5-price.tour-card-price--menu .tour-card-price-ui{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    min-height:3.05rem;
    gap:.18rem;
}
.home-s5-price.tour-card-price--menu .tour-card-price-ui.is-empty{
    min-height:2.25rem;
}
.home-s5-price.tour-card-price--menu .tour-card-price-top{
    display:flex;
    flex-wrap:wrap;
    gap:.28rem;
    margin-bottom:.06rem;
}
.home-s5-price.tour-card-price--menu .tour-card-price-badge,
.home-s5-price.tour-card-price--menu .tour-card-price-discount{
    display:inline-flex;
    align-items:center;
    border-radius:.45rem;
    padding:.28rem .62rem;
    font-size:.66rem;
    font-weight:400;
    line-height:1;
    white-space:nowrap;
}
.home-s5-price.tour-card-price--menu .tour-card-price-badge.is-no-shopping{
    background:#facc15;
    color:#713f12;
    border:1px solid #eab308;
}
.home-s5-price.tour-card-price--menu .tour-card-price-badge.is-sponsored{
    background:#dcfce7;
    color:#166534;
    border:1px solid #bbf7d0;
}
.home-s5-price.tour-card-price--menu .tour-card-price-discount{
    background:#dc2626;
    color:#fff;
    border:1px solid #dc2626;
}
.home-s5-price.tour-card-price--menu .tour-card-price-current-row{
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:.34rem;
}
.home-s5-price.tour-card-price--menu .tour-card-price-current-row.is-simple{
    margin-top:.18rem;
}
.home-s5-price.tour-card-price--menu .tour-card-price-from{
    color:#64748b;
    font-size:.78rem;
    font-weight:400;
    text-transform:capitalize;
}
.home-s5-price.tour-card-price--menu .tour-card-price-old{
    color:#dc2626;
    font-size:.82rem;
    font-weight:500;
    text-decoration:line-through;
    text-decoration-thickness:1px;
}
.home-s5-price.tour-card-price--menu .tour-card-price-current{
    color:#111827;
    font-size:1.18rem;
    font-weight:500;
    line-height:1;
}
.home-s5-price.tour-card-price--menu .tour-card-price-ask{
    color:#dc2626;
    font-size:.86rem;
    font-weight:500;
}

/* Richtext editor links: follow theme colors (avoid default blue links) */
.theme-richtext a{
    color: inherit !important;
    text-decoration: none !important;
}
.theme-richtext a:hover{
    color: var(--templateColor,#17a2b8)
 !important;
    text-decoration: none !important;
}

/* Footer bottom copyright links: use theme color on hover (same as theme a:hover) */
footer .copyright a:hover{
    color: var(--templateColor,#17a2b8)
 !important;
    text-decoration: none !important;
}

/* Tour listing "Show more" button */
.tour-load-more-btn{
    font-size: 1.05rem !important;
    padding: .85rem 1.35rem !important;
    border-radius: .9rem !important;
}
.tour-load-more-btn .tour-load-more-plus{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:1.55rem;
    height:1.55rem;
    border-radius:999px;
    margin-right:.55rem;
    line-height:1;
    border:1px solid rgba(255,255,255,.45);
    background:rgba(255,255,255,.18);
}
.tour-load-more-btn .tour-load-more-plus i{
    font-size:.75rem;
    line-height:1;
}
.tour-load-more-btn.is-loading{
    cursor: wait !important;
    opacity:.92;
}

/* Remove default browser/Bootstrap dotted focus rings from custom clickable UI. */
a:focus,
a:focus-visible,
button:focus,
button:focus-visible,
[role="button"]:focus,
[role="button"]:focus-visible,
.btn:focus,
.btn:focus-visible,
input[type="button"]:focus,
input[type="button"]:focus-visible,
input[type="submit"]:focus,
input[type="submit"]:focus-visible{
    outline:0 !important;
    box-shadow:none;
}

/* Tour card: keep departures dropdown above the next cards (AOS transform creates stacking contexts) */
.mrh-tour-card{
    position: relative;
}
.tour-card-popup-open{
    position: relative;
}
.mrh-tour-card.tour-card-popup-open{
    z-index: 1020 !important;
    overflow: visible !important;
}
.col.tour-card-popup-open{
    z-index: 1020 !important;
}
.mrh-tour-card .tour-sh-departure-menu,
.mrh-tour-card .tour-st-departure-menu,
.mrh-tour-card .tour-dt-departure-menu,
.mrh-tour-card .tour-dh-departure-menu{
    z-index: 1021 !important;
}

/* Tailor-made inline banner inside row-cols grids must span full row */
.js-tour-grid > .tour-inline-banner-row{
    flex:0 0 100% !important;
    max-width:100% !important;
    width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
}

/* Breadcrumbs: replace "/" separator with a thin arrow and tighten spacing */
.breadcrumb{
    font-size: .8rem;
}
.breadcrumb-item + .breadcrumb-item::before{
    content: "\203A" !important;
    padding: 0 .14rem !important;
    color: inherit;
    opacity: .55;
    font-size: .95rem;
    line-height: 1;
    vertical-align: middle;
}
.breadcrumb-item + .breadcrumb-item{
    padding-left: 0 !important;
}

/* Live contact must not depend on JS animation to become visible. */
.liveContact{
    bottom: 1.5rem !important;
    z-index: 2140 !important;
    transform: none !important;
}
.liveContact .popover{
    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    margin-top: 0 !important;
    z-index: 2141 !important;
}
.liveContact.is-open .avatar{
    display: none !important;
}
@media (max-width: 576px){
    .liveContact{
        left: auto !important;
        right: 1rem !important;
        bottom: 1rem !important;
    }
}

/* Header model: Narrow Dropdown Menu (normal state balance + dropdown item breathing room) */
@media (min-width: 992px){
    header .menu-block-wrap:not(.is-sticky) .menu-block{
        padding-top:.45rem !important;
        padding-bottom:.45rem !important;
    }
    header .menu-block .navbar.smh-model-narrow-dropdown .smh-nd-menu a.dropdown-item.smh-nd-link,
    header .menu-block .navbar.smh-model-narrow-dropdown-d2 .smh-nd2-menu a.dropdown-item.smh-nd-link{
        padding-top:.42rem !important;
        padding-bottom:.42rem !important;
        line-height:1.35 !important;
    }
    header .menu-block .navbar.smh-model-narrow-dropdown .smh-nd-col,
    header .menu-block .navbar.smh-model-narrow-dropdown-d2 .smh-nd2-col{
        gap:12px !important;
    }
}

/* Header dropdown alignment: keep menu panels on the same line as utility/currency dropdowns. */
@media (min-width: 992px){
    header .menu-block .navbar.smh-model-narrow-dropdown .smh-nd-menu,
    header .menu-block .navbar.smh-model-narrow-dropdown-d2 .smh-nd2-menu{
        top:calc(100% + 20px) !important;
    }
    header .menu-block .navbar.smh-model-narrow-dropdown .smh-nd-menu:after,
    header .menu-block .navbar.smh-model-narrow-dropdown-d2 .smh-nd2-menu:after{
        top:-20px !important;
        height:20px !important;
    }
}

/* Mobile currency final positioning: keep the close icon balanced above the options. */
#mobilcurrency-content .remodal-close.btn,
.remodal-wrapper #mobilcurrency-content .remodal-close.btn,
html body #mobilcurrency-content.remodal .remodal-close.btn{
    position: relative !important;
    top: auto !important;
    right: auto !important;
    margin-top: calc(-2rem + 2px) !important;
    margin-bottom: 1.6rem !important;
}
#mobilcurrency-content ul.currency-menu-mobile-grid{
    padding-bottom: calc(2.8rem + env(safe-area-inset-bottom, 0px)) !important;
}
/* Mobile currency modal final alignment. */
#mobilcurrency-content .mobile-currency-back-link,
.remodal-wrapper #mobilcurrency-content .mobile-currency-back-link,
html body #mobilcurrency-content.remodal .mobile-currency-back-link{
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: max-content !important;
    max-width: min(420px, 100%) !important;
    margin: .2rem auto 1.18rem 0 !important;
    padding: .4rem .82rem !important;
    box-sizing: border-box !important;
    text-align: left !important;
}
#mobilcurrency-content .mobile-currency-back-link span,
.remodal-wrapper #mobilcurrency-content .mobile-currency-back-link span,
html body #mobilcurrency-content.remodal .mobile-currency-back-link span{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.85rem !important;
    font-weight: 900 !important;
    line-height: .75 !important;
    transform: translateY(-2px) !important;
}
#mobilcurrency-content ul.currency-menu-mobile-grid,
.remodal-wrapper #mobilcurrency-content ul.currency-menu-mobile-grid,
html body #mobilcurrency-content.remodal ul.currency-menu-mobile-grid{
    margin-top: 0 !important;
}
body.mobile-menu-motion-paused [data-homepage-cover-track],
body.mobile-menu-motion-paused [data-homepage-news-track],
body.mobile-menu-motion-paused [data-homepage-tour-carousel-track],
body.mobile-menu-motion-paused .slick-track,
body.mobile-menu-motion-paused .owl-stage,
body.mobile-menu-motion-paused .carousel,
body.mobile-menu-motion-paused .swiper-wrapper{
    animation-play-state: paused !important;
    transition-duration: 0s !important;
}
/* Frontend copy protection: enabled only by the global settings body flag. */
body.copy-protection-enabled[data-copy-protected="true"],
body.copy-protection-enabled[data-copy-protected="true"] *:not(input):not(textarea):not(select):not(option):not([contenteditable="true"]){
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
    -webkit-user-drag: none !important;
}
body.copy-protection-enabled[data-copy-protected="true"] input,
body.copy-protection-enabled[data-copy-protected="true"] textarea,
body.copy-protection-enabled[data-copy-protected="true"] select,
body.copy-protection-enabled[data-copy-protected="true"] [contenteditable="true"]{
    -webkit-user-select: text !important;
    -moz-user-select: text !important;
    -ms-user-select: text !important;
    user-select: text !important;
}
body.copy-protection-enabled[data-copy-protected="true"] img,
body.copy-protection-enabled[data-copy-protected="true"] picture,
body.copy-protection-enabled[data-copy-protected="true"] video,
body.copy-protection-enabled[data-copy-protected="true"] [data-media-guard="true"]{
    -webkit-user-drag: none !important;
    user-drag: none !important;
}
/* Media overlay guard is intentionally disabled; JS/CSS copy protection remains active without blocking mobile interactions. */

/* Mobile departure selector modal for tour cards. */
body.tour-departure-mobile-open{
    overflow: hidden !important;
}
.tour-departure-mobile-modal{
    position: fixed;
    inset: 0;
    z-index: 90500;
    display: none;
    align-items: flex-start;
    justify-content: center;
    padding: max(14px, env(safe-area-inset-top, 0px)) .82rem max(14px, env(safe-area-inset-bottom, 0px));
}
.tour-departure-mobile-modal.is-open{
    display: flex;
}
.tour-departure-mobile-backdrop{
    position: absolute;
    inset: 0;
    background: rgba(15,23,42,.68);
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
}
.tour-departure-mobile-panel{
    position: relative;
    z-index: 1;
    width: min(100%, 430px);
    height: calc(var(--tds-mobile-vh, 100vh) - 28px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
    max-height: calc(var(--tds-mobile-vh, 100vh) - 28px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 1.2rem 3.2rem rgba(0,0,0,.35);
    padding: .92rem .92rem 1rem;
}
.tour-departure-mobile-head{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .45rem;
    flex: 0 0 auto;
}
.tour-departure-mobile-title{
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: #202b33;
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.2;
}
.tour-departure-mobile-title i{
    color: #dc3545;
}
.tour-departure-mobile-close{
    width: 2.25rem;
    height: 2.25rem;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 999px;
    background: rgba(15,23,42,.07);
    color: #202b33;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    flex: 0 0 auto;
}
.tour-departure-mobile-current{
    color: #68727d;
    font-size: .88rem;
    font-weight: 400;
    line-height: 1.25;
    margin-bottom: .62rem;
    flex: 0 0 auto;
}
.tour-departure-mobile-menu{
    min-height: 0;
    overflow: hidden;
    flex: 1 1 auto;
}
.tour-departure-mobile-selector.tour-departure-selector{
    position: static !important;
    z-index: auto !important;
    width: 100% !important;
    height: 100% !important;
}
.tour-departure-mobile-selector.tour-departure-selector .tds-menu{
    display: flex !important;
    flex-direction: column !important;
    position: static !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    border: 1px solid rgba(15,23,42,.10) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    background: #fff !important;
    overflow: hidden !important;
    padding: .3rem !important;
    height: 100% !important;
}
.tour-departure-mobile-selector.tour-departure-selector .tds-search-wrap,
.tour-departure-mobile-selector.tour-departure-selector .tds-head{
    flex: 0 0 auto;
}
.tour-departure-mobile-selector.tour-departure-selector .tds-scroll{
    min-height: 0 !important;
    flex: 1 1 auto !important;
    max-height: none !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch;
    padding: .2rem 0 .35rem !important;
}
.tour-departure-mobile-selector.tour-departure-selector .tds-item a,
.tour-departure-mobile-selector.tour-departure-selector .tds-item.is-current{
    padding: .68rem .75rem !important;
}
html.tour-departure-mobile-scroll-locked,
html.tour-departure-mobile-scroll-locked body{
    overflow: hidden !important;
    overscroll-behavior: none !important;
}
.tour-departure-mobile-modal,
.tour-departure-mobile-backdrop{
    overscroll-behavior: none !important;
    touch-action: none;
}
.tour-departure-mobile-panel,
.tour-departure-mobile-panel .tds-scroll{
    overscroll-behavior: contain !important;
    touch-action: pan-y;
}
/* Mobile header: with utility icons moved into the menu, keep the remaining menu trigger aligned to the content edge. */
@media (max-width: 991.98px){
    header #menu.header-menu-col{
        padding-right: 0 !important;
    }
    header #menu nav.mobilmenu,
    header #menu nav.mobilmenu .navbar-nav{
        margin-right: 0 !important;
        padding-right: 0 !important;
    }
    header #menu nav.mobilmenu .navbar-nav > .nav-item:last-child,
    header #menu nav.mobilmenu .navbar-nav > .nav-item:last-child > .nav-link{
        margin-right: 0 !important;
        padding-right: 0 !important;
    }
}
/* Mobile: hide page-up and keep live contact on the right edge. */
@media (max-width: 576px){
    #pageup{
        display:none!important;
    }
    .liveContact{
        left:auto!important;
        right:1rem!important;
        bottom:1rem!important;
    }
    .liveContact .avatar{
        margin-left:0!important;
        margin-right:0!important;
    }
}






@media (max-width: 575.98px){
    .tour-departure-selector.is-card-inner .tds-other-label{
        font-size: 0 !important;
        line-height: 0 !important;
    }
    .tour-departure-selector.is-card-inner .tds-other-label::after{
        content: "Other";
        font-size: 1rem;
        line-height: 1.1;
    }
}
