/* =============================================================================
   PUBLIC SITE — Component Styles
   All values reference design tokens from theme.css.
   Do NOT put hardcoded colors, radii, shadows, or transitions here.
   ============================================================================= */


/* ---------------------------------------------------------------------------
   1. LAYOUT
   --------------------------------------------------------------------------- */
body { display: flex; flex-direction: column; min-height: 100vh; }
body > main { flex: 1 0 auto; }


/* ---------------------------------------------------------------------------
   2. HEADER — scrim, z-index, text-shadow, dropdowns
   --------------------------------------------------------------------------- */
.public-header-aje::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: var(--hero-scrim-height);
    z-index: 0;
    pointer-events: none;
    background: var( --color-white);
}
@media (max-width: 767.98px) {
    .public-header-aje::before { height: var(--hero-scrim-height-mob); }
}

.public-header-aje .top-header  { position: relative; z-index: var(--z-header-sub); }
.public-header-aje .main-header { position: relative; z-index: var(--z-dropdown); }

/*.public-header-aje .top-header .top-message > li > a,
.public-header-aje .top-header .top-message > li > i,
.public-header-aje .main-header:not(.rt-sticky-active) .main-menu-list > li > a,
.public-header-aje .main-header:not(.rt-sticky-active) .aje-header-tools a,
.public-header-aje .main-header:not(.rt-sticky-active) .aje-header-tools i {
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}*/

.public-header-aje .mega-menu-dropdown a,
.public-header-aje .mega-menu-dropdown .mega-menu-title,
.public-header-aje .mega-menu-dropdown .mega-menu-link,
.public-header-aje .aje-profile-dropdown .dropdown-menu a,
.public-header-aje .aje-profile-dropdown .dropdown-menu button { text-shadow: none !important; }

.public-header-aje .top-header .dropdown-menu {
    background: var(--color-white) !important;
    border: 1px solid rgba(0,0,0,.1);
    box-shadow: var(--shadow-lg);
}
.public-header-aje .top-header .dropdown-menu .dropdown-item {
    text-shadow: none;
    color: var(--color-text-nav) !important;
}


.public-header-aje .top-header .top-message li { overflow: visible; }
.public-header-aje .top-header .dropdown,
.public-header-aje .aje-nav-tools-mobile .dropdown { position: relative; z-index: var(--z-header-sub); }
.public-header-aje .top-header .dropdown-menu,
.public-header-aje .aje-nav-tools-mobile .dropdown-menu { z-index: var(--z-header-top); }


/* ---------------------------------------------------------------------------
   3. HEADER TOOLS  (cart + account cluster)
   --------------------------------------------------------------------------- */
.aje-header-tools { display: flex; align-items: center; gap: var(--header-tools-gap); }
.aje-header-tools a { display: inline-flex; align-items: center; }

    .aje-header-tools a,
    .aje-header-tools a:hover,
    .aje-header-tools a:focus,
    .aje-header-tools .aje-account-toggle,
    .aje-header-tools i {
        color: var(--color-text);
    }

.public-header-aje .main-header.rt-sticky-active .aje-header-tools a,
.public-header-aje .main-header.rt-sticky-active .aje-header-tools .aje-account-toggle,
.public-header-aje .main-header.rt-sticky-active .aje-header-tools i { color: var(--color-text) !important; }
.public-header-aje .main-header.rt-sticky-active .aje-header-tools a:hover,
.public-header-aje .main-header.rt-sticky-active .aje-header-tools a:hover i,
.public-header-aje .main-header.rt-sticky-active .aje-header-tools .aje-account-toggle:hover { color: var(--color-primary-hover) !important; }

.aje-cart-link { position: relative; font-size: 20px; line-height: 1; }
.aje-cart-badge {
    position: absolute; top: -9px; right: -11px;
    min-width: var(--cart-badge-size); height: var(--cart-badge-size); padding: 0 5px;
    border-radius: var(--radius-full); background: var(--color-badge); color: var(--color-text-white);
    font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); line-height: var(--cart-badge-size); text-align: center;
}
.aje-login-link i, .aje-account-toggle i { margin-right: 5px; }
.aje-account-toggle { cursor: pointer; white-space: nowrap; }
.aje-account-name { max-width: var(--account-name-max-width); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aje-nav-tools { margin-left: var(--header-tools-gap); }

.aje-nav-tools-mobile .aje-header-tools { gap: var(--header-tools-gap-mob); }
.aje-nav-tools-mobile .aje-account-name { display: none; }
.aje-nav-tools-mobile .aje-login-link i,
.aje-nav-tools-mobile .aje-account-toggle i { margin-right: 0; font-size: 20px; }
.aje-nav-tools-mobile .aje-account-toggle::after { display: none; }


/* ---------------------------------------------------------------------------
   4. MEGA MENU
   --------------------------------------------------------------------------- */
.main-menu-list {
    list-style: none; margin: 0; padding: 0;
    display: flex; gap: 10px; align-items: center; position: relative;
}
.main-menu-list > li { position: relative; }

.main-menu-list > li > a {
    color: var(--color-text) !important;
    text-decoration: none !important;
    font-weight: var(--font-weight-semi); font-size: var(--font-size-md);
    padding: 10px 0;
    display: inline-flex; align-items: center; gap: 6px;
    transition: color var(--transition-slow);
}
.public-header-aje .main-menu-list > li > a { color: var(--color-text-white) !important; }
.public-header-aje .main-header.rt-sticky-active .main-menu-list > li > a { color: var(--color-text) !important; }

.main-menu-list > li > a:hover, .current-menu-item > a { color: var(--color-danger) !important; }
.public-header-aje .main-menu-list > li > a:hover,
.public-header-aje .current-menu-item > a { color: var(--color-text-white) !important; }
.public-header-aje .main-header.rt-sticky-active .main-menu-list > li > a:hover { color: var(--color-danger) !important; }

.main-menu-list > li.menu-item-has-mega > a.menu-link:after,
.main-menu > ul.main-menu-list > li.menu-item > a.menu-link:after {
    content: none !important;
    display: none !important;
}

.main-menu-list > li > a .fa-chevron-down { font-size: 10px; margin-left: 6px; transition: transform var(--transition-slow); }
.menu-item:hover > a .fa-chevron-down,
.menu-item.is-open > a .fa-chevron-down { transform: rotate(180deg); }

.menu-link--no-click { cursor: default; }

.mega-menu-dropdown {
    position: absolute; 
    top: 150%;
    left: 50%; 
    transform: translateX(-50%);
    background: var(--color-white) !important;
    box-shadow: var(--shadow-lg);
    min-width: 900px; max-width: 1200px;
    width: calc(100vw - 100px);
    opacity: 0; visibility: hidden;
    transition: all var(--transition-slow);
    z-index: var(--z-dropdown); margin-top: 10px;
    border-radius: var(--radius-md); overflow: hidden;
}
.mega-menu-dropdown * { color: inherit; }
.menu-item:hover .mega-menu-dropdown { opacity: 1; visibility: visible; margin-top: 0; }

.mega-menu-container { padding:25px; background: var(--color-white) !important; }
.mega-menu-content { display: flex; gap: 22px; align-items: flex-start; max-height: 72vh; overflow-y: auto; }

.mega-menu-banner { flex: 0 0 190px; border-radius: var(--radius-md); overflow: hidden; background: #f5f5f5; }
.mega-menu-banner img, .mega-menu-banner video { width: 100%; height: 210px; object-fit: cover; display: block; }

.mega-menu-columns { flex: 1; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 6px 18px; }
.mega-menu-column { min-width: 160px; }

.mega-menu-title {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-text) !important;
    margin: 8px 0 16px;
    padding-bottom: 5px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    position: relative;
}
.mega-menu-title:before{
    content:'';
    height:3px;
    width:50px;
    background-color:rebeccapurple;
    left:0;
    bottom:-5px;
    border-radius:4px;
    position:absolute;
}

.mega-menu-dropdown .mega-menu-title {
    color: var(--color-text) !important;
}

.main-menu .mega-menu-dropdown a.mega-menu-link { color: var(--color-text) !important; text-decoration: none !important; }
/*.main-menu .mega-menu-dropdown a.mega-menu-link:hover { color: var(--color-text-white) !important; background: var(--color-primary); }*/

.mega-menu-links { list-style: none; margin: 0; padding: 0; }
.mega-menu-links li { margin-bottom: 0; }

.mega-menu-link {
    color: var(--color-text) !important; text-decoration: none !important;
    font-size: var(--font-size-base); font-weight: var(--font-weight-medium);
    display: block; padding: 1px 0;
    transition: all var(--transition-base); position: relative;
    padding-left: 0; line-height: var(--line-height-snug);
}
    .mega-menu-link::before {
        font-family: 'icofont';
        content: '\ea7c';
        position: absolute;
        left: 5px;
        top: 50%;
        transform: translateX(-3px) translateY(-50%);
        opacity: 0;
        transition: all .3s ease;
    }
 .mega-menu-link:hover::before {
    opacity: 1;
    transform: translateX(0) translateY(-50%);
}

/*.mega-menu-link:hover { color: var(--color-text-white) !important; background: var(--color-primary); }*/
.mega-menu-link:hover::before { width: 0; }

.mega-menu-links li:nth-child(n+7) { display: none; }

.mega-menu-viewmore {
    margin-block: 6px;
    background: none;
    border: none;
    padding: 4px 0;
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    color: var(--color-danger);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.mega-menu-viewmore:hover { text-decoration: underline; }

.mm-modal-overlay {
    display: none; position: fixed; inset: 0;
    background: var(--color-modal-backdrop);
    z-index: var(--z-modal); align-items: center; justify-content: center;
}
.mm-modal-overlay.is-open { display: flex; }

.mm-modal {
    background: var(--color-white); border-radius: var(--radius-lg);
    width: min(560px, 92vw); max-height: 80vh;
    display: flex; flex-direction: column;
    box-shadow: var(--shadow-2xl); overflow: hidden;
}
.mm-modal-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--color-border-light); }
.mm-modal-title { margin: 0; font-size: var(--font-size-xl); font-weight: var(--font-weight-bold); color: var(--color-text); text-transform: uppercase; letter-spacing: .5px; }
.mm-modal-close { background: none; border: none; font-size: 26px; line-height: 1; cursor: pointer; color: var(--color-text-muted); }
.mm-modal-close:hover { color: var(--color-danger); }
.mm-modal-body { padding: 12px 20px 20px; overflow-y: auto; }
.mm-modal-list { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 24px; }
.mm-modal-list li { break-inside: avoid; }
.mm-modal-list a {
    color: var(--color-text) !important; text-decoration: none !important;
    display: block; padding: 7px 0; font-size: var(--font-size-lg);
    border-bottom: 1px dashed var(--color-border-dashed); transition:padding-left 0.3s;
}
.mm-modal-list a:hover { color: var(--color-primary) !important; padding-left:23px; }

@media (max-width: 1200px) {
    .mega-menu-dropdown { min-width: 800px; width: calc(100vw - 80px); }
    .mega-menu-content  { gap: 30px; }
    .mega-menu-banner   { flex: 0 0 240px; }
    .mega-menu-columns  { gap: 25px; }
}
@media (max-width: 992px) {
    .mega-menu-dropdown { min-width: 700px; width: calc(100vw - 60px); }
    .mega-menu-content  { flex-direction: column; gap: 25px; }
    .mega-menu-banner   { width: 100%; max-width: 400px; margin: 0 auto; }
    .mega-menu-banner img, .mega-menu-banner video { height: 250px; }
    .mega-menu-columns  { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 20px; }
}
@media (max-width: 991.98px) {
    .public-header-aje .main-menu-list { flex-direction: column; gap: 0; align-items: stretch; }
    .public-header-aje .main-menu > ul.main-menu-list.show > li > a,
    .public-header-aje .main-menu > ul.main-menu-list.show > li > a:hover,
    .public-header-aje .main-menu > ul.main-menu-list.show > li:hover > a,
    .public-header-aje .main-header.rt-sticky-active .main-menu-list > li > a,
    .public-header-aje .main-header.rt-sticky-active .main-menu-list > li > a:hover {
        color: var(--color-text-white) !important;
        background: rgba(255, 255, 255, 0.12) !important;
    }
    .public-header-aje .main-menu > ul.main-menu-list.show > li.menu-item.is-open > a {
        color: var(--color-danger-muted) !important;
        background: var(--color-danger-bg) !important;
    }
    .public-header-aje .menu-item:hover .mega-menu-dropdown { opacity: 0; visibility: hidden; }
    .mm-modal-list { columns: 1; }

    /* ── Mobile mega-menu: match desktop white-panel style ──
       JS adds .is-open on tap. Panel becomes a white card below the
       tapped nav item — same colors as the desktop dropdown. */
    .menu-item.is-open > .mega-menu-dropdown {
        opacity: 1 !important;
        visibility: visible !important;
        position: static !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
        border-radius: 0 0 var(--radius-md) var(--radius-md) !important;
        background: var(--color-white) !important;
    }
    .menu-item.is-open .mega-menu-container {
        background: var(--color-white) !important;
        padding: 12px 16px 14px;
    }
    .menu-item.is-open .mega-menu-content {
        flex-direction: column;
        gap: 4px;
        max-height: 380px;
        overflow-y: auto;
    }
    .menu-item.is-open .mega-menu-columns {
        grid-template-columns: 1fr;
        gap: 0;
    }
    /* Section title: same as desktop — dark text, red underline */
    .menu-item.is-open .mega-menu-title {
        color: var(--color-text) !important;
        font-size: var(--font-size-xs);
        margin: 8px 0 12px;
        padding-bottom: 4px;
    }
    /* Vendor app.css `.main-menu ul ul { display: none }` hides .mega-menu-links.
       Override it when the item is open. */
    .menu-item.is-open .mega-menu-links { display: block !important; }

    /* All items visible — no 6-item cap on mobile */
    .menu-item.is-open .mega-menu-links li { display: list-item !important; }

    /* Links: dark text matching desktop. Outranks the desktop rule
       `.main-menu .mega-menu-dropdown a.mega-menu-link` (0,3,1) by
       adding `a` to reach the same specificity and win by source order. */
    .main-menu .menu-item.is-open .mega-menu-dropdown a.mega-menu-link {
        color: var(--color-text) !important;
        font-size: var(--font-size-md);
        padding: 6px 4px;
        border-bottom: 1px solid var(--color-border-dashed);
        background: transparent;
    }
    .main-menu .menu-item.is-open .mega-menu-dropdown a.mega-menu-link:hover,
    .main-menu .menu-item.is-open .mega-menu-dropdown a.mega-menu-link:active {
        color: var(--color-text-white) !important;
        background: var(--color-primary) !important;
        padding-left: 10px;
        border-radius: var(--radius-xs);
        border-bottom-color: transparent;
    }
    .menu-item.is-open .mega-menu-link::before { display: none; }
    /* Hide banner image — no room on mobile */
    .menu-item.is-open .mega-menu-banner { display: none; }
    /* Hide "View all" button on mobile (all items are already shown) */
    .menu-item.is-open .mega-menu-viewmore { display: none; }
}


/* ---------------------------------------------------------------------------
   5. HERO BANNER
   --------------------------------------------------------------------------- */
.home-hero-banner { position: relative; overflow: hidden; }

.home-hero-banner__swiper { position: absolute; inset: 0; z-index: 1; }
.home-hero-banner__swiper .swiper-slide { height: 100%; }

.home-hero-banner__slide-bg {
    position: absolute; inset: 0; background-position: center; background-repeat: no-repeat;
    transform: scale(1.04); transition: transform var(--transition-hero-bg);
    background-size:cover;
}
/*.home-hero-banner__swiper .swiper-slide-active .home-hero-banner__slide-bg { transform: scale(1.09); }*/

.home-hero-banner__overlay { position: relative; z-index: 3; height: 100%; pointer-events: none; }
.home-hero-banner__overlay .container,
.home-hero-banner__overlay .rt-banner-searchbox,
.home-hero-banner__overlay a,
.home-hero-banner__overlay button,
.home-hero-banner__overlay select,
.home-hero-banner__overlay input { pointer-events: auto; }

.home-hero-banner .hero-swiper-pagination { bottom: 18px !important; z-index: 4; }
.home-hero-banner .hero-swiper-pagination .swiper-pagination-bullet { background: rgba(255,255,255,0.85); opacity: 0.55; }
.home-hero-banner .hero-swiper-pagination .swiper-pagination-bullet-active {
    opacity: 1; background: var(--color-white);
    box-shadow: var(--shadow-badge);
}
.home-hero-banner .hero-swiper-autoplay-btn {
    position: absolute; z-index: 4; bottom: 18px; right: 18px;
    width: 44px; height: 44px;
    border: 1px solid rgba(255,255,255,0.32); border-radius: var(--radius-circle);
    background: rgba(16,22,49,0.58);
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
    color: var(--color-text-white); cursor: pointer;
    display: flex; align-items: center; justify-content: center;
}

.home-hero-banner__container { height: 100%; }
.home-hero-banner__layout { display: flex; flex-direction: column; justify-content: flex-end; height: 100%; min-height: inherit; padding-bottom: 52px; }
.home-hero-banner__content { flex: 1 1 auto; }
.home-hero-banner__search-wrap { flex: 0 0 auto; width: 100%; max-width: 760px; margin: 0 auto; }

.hero-home-search { margin-bottom: 0; border-radius: 50px; box-shadow: var(--shadow-hero); }
    .hero-home-search .rt-input-group {
        margin-bottom: 0;
        gap: 6px;
        flex-wrap: nowrap;
        align-items: flex-end;
    }
    .hero-home-search .rt-input-group div:first-child {
        border-right: 1px solid #ededed;
    }

    .hero-home-search .rt-input-group .single-input {
        margin-bottom: 0;
        flex: 1 1 0;
        min-width: 0;
        max-width: none;
        padding: 0 0 0 20px;
    }
   

    .hero-home-search .rt-input-group .single-input--submit {
        flex: 0 0 94px;
        max-width: 94px;
    }

.swiper-slide .package-card-link .img-container {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius:10px;
}

.package-card {
    overflow: hidden;
    border-radius: var(--radius-lg);
}
.hero-home-search .select2-container { width: 100% !important; }
.hero-home-search .select2-container--default .select2-selection--single { height: 40px !important; min-height: 40px; border-radius: var(--radius-full) !important; }
.hero-home-search .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 44px !important; font-size: var(--font-size-lg); padding-left: 35px; padding-right: 24px; }
.hero-home-search .single-input .input-iconbadge { left: 32px; }
.hero-home-search .single-input .input-iconbadge i { font-size: var(--font-size-md); }
    .hero-home-search .single-input button[type="submit"] {
        width: 64px;
        height: 64px;
        min-height: 30px;
        padding: 0 10px;
        font-size: 21px;
        border-radius: 50px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
    }

@media (max-width: 991.98px) {
    .home-hero-banner__layout { padding-bottom: 24px; }
    .home-hero-banner__search-wrap { max-width: 520px; }
}
@media (max-width: 767.98px) {
    .home-hero-banner__layout {
        padding-bottom: 18px;
    }

    .home-hero-banner__search-wrap {
        max-width: 100%;
    }

    .hero-home-search {
        padding: 8px;
    }

        .hero-home-search .rt-input-group {
            flex-wrap: wrap;
            gap: 8px;
        }

            .hero-home-search .rt-input-group .single-input {
                flex: 1 1 calc(50% - 4px);
                padding:0;
            }

            .hero-home-search .rt-input-group .single-input--submit {
                flex: 0 0 100%;
                max-width: 100%;
                padding:0;
            }

        .hero-home-search .single-input button[type="submit"] {
            width: 100%;
        }
        .hero-home-search .single-input .input-iconbadge{
            left:10px;
        }
    .inputLabel{
        padding:5px 0 5px 10px;
    }
    .public-header-aje .aje-nav-tools-mobile{
        width:100%;
    }

    .navbar-expand-lg .container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .aje-nav-search-form .btn.btn-search {
        position: absolute;
        right: 0;
        top: 0;
    }

    .aje-nav-search-form .form-control.header_search {
        padding-right: 40px !important;
    }

    .public-header-aje .main-header:not(.rt-sticky-active) .aje-nav-tools-mobile {
        width: 100%;
    }

    .public-header-aje .aje-lang-toggle {
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    }

        .public-header-aje .aje-lang-toggle:hover {
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        }


    /* ---------------------------------------------------------------------------
   6. PACKAGE CARDS
   --------------------------------------------------------------------------- */
    .package-card {
        overflow: hidden;
        border-radius: var(--radius-lg);
    }

    .img-wrapper {
        position: relative;
        overflow: hidden;
    }

        .img-wrapper img {
            width: 100%;
            display: block;
        }

    .package-card-link {
        display: block;
        text-decoration: none;
        color: inherit;
    }

        .package-card-link:hover, .package-card-link:focus {
            text-decoration: none;
            color: inherit;
        }

    .swiper-slide .package-card-link .img-container {
        position: relative;
        width: 100%;
        aspect-ratio: 16 / 10;
        overflow: hidden;
    }

        .swiper-slide .package-card-link .img-container img {
            width: 100%;
            height: 100%;
            aspect-ratio: unset;
            object-fit: cover;
        }

    .hover-content {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        padding: 15px;
        background: var(--color-overlay);
        color: var(--color-text-white);
        transform: translateY(100%);
        transition: transform var(--transition-xslow);
    }
    /* Uncomment to enable hover reveal:
.package-card:hover .hover-content { transform: translateY(0); } */

    .pkg-aje-price-value--request {
        /*color: var(--color-primary);*/
        font-weight: var(--font-weight-semi);
    }


    /* ---------------------------------------------------------------------------
   7. PAGE HEADER / BREADCRUMB
   --------------------------------------------------------------------------- */
    .rt-breadcump--compact .rt-page-bg {
        background-image: url(/assets/images/backgrounds/bredcump.png);
    }

    .rt-breadcump.rt-breadcump--compact .breadcrumbs-content {
        padding-top: 140px;
        padding-bottom: 28px;
    }

    .rt-breadcump.rt-breadcump--compact h3 {
        font-size: 30px;
    }

    @media (max-width: 767.98px) {
        .rt-breadcump.rt-breadcump--compact .breadcrumbs-content {
            padding-top: 120px;
            padding-bottom: 22px;
        }

        .rt-breadcump.rt-breadcump--compact h3 {
            font-size: 24px;
        }
        .hero-home-search{
            border-radius:15px;
        }
        .counter-box-1{
            margin-bottom:2rem;
        }
        .swiper-outer{
            padding-inline:20px;
        }
        .rt-single-widget ul{
            padding:0 0 0 15px;
        }
    }


    /* ---------------------------------------------------------------------------
   8. FOOTER
   --------------------------------------------------------------------------- */
    .rt-site-footer .footer-top.footer-top--compact {
        padding-top: 45px;
        background-size: 100% 100%;
    }

    @media (max-width: 767.98px) {
        .rt-site-footer .footer-top.footer-top--compact {
            padding-top: 30px;
        }
    }


  