@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap');

:root {
    /* Tropical Luxury Theme Variables overrides derived from logo */
    --primary-color: #2E3192;        /* Ocean Indigo (Brand HOLIDAYS text) */
    --secondary-color: #4A2E16;      /* Woody Brown (Brand Relax text & tree trunk) */
    --tertiary-color: #FFFDF9;       /* Serene Ivory Sand Background */
    --quaternary-color: #FF9800;     /* Sunset Orange Action (Sun) */
    --surface-light: #F5EBE6;        /* Warm Sandy Beige border/input background */
    --green-color: #2E7D32;          /* Fresh Palm Green (Palm leaves) */
    --star-color: #F39C12;           /* Glowing Sun Gold */
    --success-color: #2ECC71;        /* Vibrant Palm Leaf */
    --grey-color: #707070;
    --red-color: #CC3E3E;
    
    --secondary-color-style: #2E3192;
    --tertiary-color-style: #FAF6F0;
    --orange-logo-color: #FF9800;
}

/* ==========================================================================
   TROPICAL LUXURY ACCENTS & PREMIUM UI REFINEMENTS
   ========================================================================== */

body {
    background-color: #FAF8F5 !important;
    font-family: 'Outfit', sans-serif !important;
}

input, select, textarea, button, .tab, .btn, label, .search-inputs, .form-input, .sw-search-field, .lbl-loginname, .search-lables, .sw-search-label {
    font-family: 'Outfit', sans-serif !important;
}

/* Premium Background Graphics for Page Wrapper with soft Ivory Sand Overlay */
.page-wrapper {
    background-image: linear-gradient(rgba(250, 248, 245, 0.88), rgba(250, 248, 245, 0.88)), url(../images/inner_page_bg.png) !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center center !important;
    background-attachment: fixed !important; /* Fixed viewport parallax effect! */
}

/* Transparent wrapper specifically for login/account pages */
body.login-page .page-wrapper {
    background: transparent !important;
}

/* Global Top Header with responsive glassmorphism background for inner pages */
header.top-header {
    position: relative !important;
    z-index: 11000 !important;
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-bottom: 1px solid var(--surface-light) !important;
    padding: 8px 30px !important; /* Compact padding */
    border-radius: 0 !important; /* Flat flush full width */
    box-shadow: 0 2px 15px rgba(46, 49, 146, 0.03) !important;
    margin: 0 0 32px 0 !important; /* Top edge flush, Bottom margin standard 32px gap for all pages */
    width: 100% !important;
    max-width: 100% !important; /* Spans full screen width */
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

/* Transparent header specifically for login/account pages */
body.login-page header.top-header {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    padding: 24px 0 0 !important;
    margin-bottom: 0 !important;
    justify-content: center !important;
}

body.login-page .header-logo {
    display: flex !important;
    justify-content: center;
    width: 100% !important;
}

body.login-page .header-logo img {
    max-width: 150px !important;
    height: auto !important;
}



/* Premium Content Main Container - Transparent & borderless to allow separate card sections */
.main-container {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 40px auto 40px auto !important;
    width: 100% !important;
    max-width: var(--viewportsize, 1320px) !important;
}

/* Exception for B2B login forms which are already isolated glass cards */
body.login-page .main-container {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin-top: 3rem !important;
}

/* Premium Search Container & Tab Overrides */
.search-tabs-container {
    background: #ffffff !important;
    border: 1px solid var(--surface-light) !important;
    border-radius: 16px !important;
    padding: 0 !important; /* Zero padding to let the tabs sit flush at the top! */
    box-shadow: 0 12px 40px rgba(46, 49, 146, 0.04), 0 2px 4px rgba(74, 46, 22, 0.01) !important;
    margin: 0 auto 30px auto !important; /* Remove top margin duplicate, bottom margin to separate listing */
    width: 100% !important;
    overflow: visible !important; /* Allow dropdown elements like datepickers and autocompletes to pop out beautifully! */
}

/* Force all panels and search box wrapper children to allow overflow popouts */
.search-tabs-container .panels,
.search-tabs-container .search-content,
.search-tabs-container .tab-panel,
.tab-content,
.sw-search-row,
.hotel-search-box,
.flight-search-box,
.transfer-search-box,
.vehicle-search-box {
    overflow: visible !important;
}

/* Compact uniform breathing room for search panel */
.search-tabs-container .panels {
    padding: 0!important;
    /*background: #ffffff !important;*/
}
    
    /* Unified Luxury Search Row Spacing & Gap Gutters */
    .hotel-search-box,
    .flight-search-box,
    .transfer-search-box,
    .sw-search-row,
    .vehicle-search-box,
    .search-container {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 24px !important; /* Standardize luxurious 24px grid gutter */
        margin-bottom: 24px !important;
        width: 100% !important;
    }

/* Flex Column Width Distributions for Search Consoles */
.col-city:not(.d-none) {
    flex: 2 1 360px !important;
    display: flex !important;
    gap: 20px !important;
}
.col-dates {
    flex: 1.5 1 280px !important;
}
.col-guests {
    flex: 1 1 200px !important;
}

/* Responsive Column spacing for Search Cities and Subsections */
.hotel-col-search-main {
    display: flex !important;
    width: 100% !important;
    gap: 20px !important;
    /*flex-wrap: wrap !important;*/
}
.col-htl-search {
    flex: 1 1 280px !important;
}
.col-distance {
    flex: 0 0 140px !important;
    min-width: 140px !important;
}

/* High-End Radio Toggle Bar Spacing (Flight Search Form) */
.search-check-filter {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    /*margin-bottom: 24px !important;*/
    border-bottom: 1px solid var(--surface-light) !important;
    padding: 10px 24px !important;
    width: 100% !important;
    gap: 20px !important;
    flex-wrap: wrap !important;
}

.trip-way-check {
    display: flex !important;
    gap: 24px !important; /* Spacious gap between radio checkboxes */
    align-items: center !important;
}

/* Elegant Advanced Search Layout Spacing */
.advanced-search {
    margin-top: 24px !important;
    border-top: 1px dashed var(--surface-light) !important;
    padding-top: 24px !important;
    /*width: 100% !important;*/
}

.dev-advancedsearch-btn {
    background: transparent !important;
    border: none !important;
    color: var(--primary-color) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin-bottom: 18px !important;
    transition: color 0.2s ease !important;
}

.dev-advancedsearch-btn:hover {
    color: var(--quaternary-color) !important;
}

.adv-search-inner {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 24px !important;
    margin-top: 16px !important;
    width: 100% !important;
}

.adv-search-inner .col-div {
    flex: 1 1 25% !important; /* Even width distribution on desktops */
}

/* Unified Spacing & Design for Search Submits & Actions (Card Footer) */
.search-tabs-container .search-footer {
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 24px !important;
    background: #FAF8F5 !important;
    border-top: 1px solid var(--surface-light) !important;
    padding: 16px 24px !important;
    width: 100% !important;
    gap: 20px !important;
    border-radius: 0 0 16px 16px !important;
}

/* Unified Activity Search Wrapper & Card Footer for consistent B2B Card View */
.search-tabs-container .cd_exp_search_wrap {
    padding: 24px !important;
}

/*.search-tabs-container .cd_exp_search_footer {
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 24px !important;
    margin-left: -24px !important;
    margin-right: -24px !important;
    margin-bottom: -24px !important;
    background: #FAF8F5 !important;
    border-top: 1px solid var(--surface-light) !important;
    padding: 16px 24px !important;
    width: calc(100% + 48px) !important;
    max-width: calc(100% + 48px) !important;
    gap: 20px !important;
    border-radius: 0 0 16px 16px !important;
}*/

/* Fallback for general search footer in non-card contexts */
.search-footer:not(.search-tabs-container .search-footer) {
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 30px !important;
    border-top: 1px solid var(--surface-light) !important;
    padding-top: 24px !important;
    width: 100% !important;
    gap: 20px !important;
}

/* Sleek Modern Light-Sand Search Tabs Bar */
.search-tabs-container .tabs {
    background: #FAF8F5 !important; /* Soft ivory sand backdrop */
    border-bottom: 2px solid var(--surface-light) !important; /* Separator from the input panels */
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    width: 100% !important;
    list-style: none !important;
    border-radius: 14px 14px 0 0 !important;
    /*overflow: hidden !important;*/
}

.search-tabs-container .tabs a.tab {
    flex: none !important;
    width: auto !important;
    text-align: left !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    color: rgba(74, 46, 22, 0.75) !important; /* Woody Brown semi-opaque */
    padding: 16px 28px !important; /* Generous horizontal padding for auto-width tabs */
    cursor: pointer !important;
    position: relative !important;
    border-right: 1px solid var(--surface-light) !important; /* Elegant divider between tabs */
    border-bottom: none !important;
    background: #FAF8F5 !important;
    transition: all 0.25s ease-in-out !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    text-decoration: none !important;
}

/* Remove border divider from the last tab item */
.search-tabs-container .tabs a.tab:last-child {
    border-right: none !important;
}

.search-tabs-container .tabs a.tab:hover {
    color: var(--primary-color) !important;
    background: #ffffff !important;
    text-decoration: none !important;
}

.search-tabs-container .tabs a.tab i {
    font-size: 15px !important;
    color: var(--primary-color) !important; /* Match icons to brand indigo */
}

/* Active tab styles using Radio check states */
#one:checked ~ .tabs #one-tab,
#two:checked ~ .tabs #two-tab,
#three:checked ~ .tabs #three-tab,
#four:checked ~ .tabs #four-tab,
#chk-carrental-tab:checked ~ .tabs #tab-carrental,
#five:checked ~ .tabs #five-tab {
    background: #ffffff !important; /* Seamless merge with the white card body below */
    color: var(--primary-color) !important;
    font-weight: 700 !important;
}

#one:checked ~ .tabs #one-tab i,
#two:checked ~ .tabs #two-tab i,
#three:checked ~ .tabs #three-tab i,
#four:checked ~ .tabs #four-tab i,
#chk-carrental-tab:checked ~ .tabs #tab-carrental i,
#five:checked ~ .tabs #five-tab i {
    color: var(--primary-color) !important;
}

/* Sunset Orange Active Tab Bottom Highlight */
#one:checked ~ .tabs #one-tab::after,
#two:checked ~ .tabs #two-tab::after,
#three:checked ~ .tabs #three-tab::after,
#four:checked ~ .tabs #four-tab::after,
#chk-carrental-tab:checked ~ .tabs #tab-carrental::after,
#five:checked ~ .tabs #five-tab::after {
    content: "" !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important; /* Spans full tab anchor width */
    height: 3px !important; /* Elegant thin indicator line */
    background: var(--quaternary-color) !important; /* Sunset Orange highlight */
}

/* Elegant Independent Content Card wrappers */
.offcanvas-container,
.cart-container,
form.travel-container,
.general-msg-container,
.validate-summory {
    /* background: rgba(255, 255, 255, 0.98) !important;*/
    background: rgb(255 255 255 / 89%) !important;
    border: 1px solid var(--surface-light) !important;
    border-radius: 16px !important;
    padding: 30px !important;
    box-shadow: 0 12px 40px rgba(46, 49, 146, 0.04), 0 2px 4px rgba(74, 46, 22, 0.01) !important;
    margin: 0 auto 30px auto !important;
    width: 100% !important;
    max-width: var(--viewportsize, 1320px) !important;
}

/* Revert nesting in Cart/Checkout pages to prevent nested double border-radius cards */
.cart-container form.travel-container,
.travel-container .validate-summory,
form.travel-container .validate-summory,
.cart-container .validate-summory {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Micro-animations and hover transitions for cards and tab icons */
.search-tabs-container .tabs a.tab i {
    transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.search-tabs-container .tabs a.tab:hover i {
    transform: scale(1.15) !important;
}

/* Responsive Viewports Adjustments for Cards & Containers */

/* Large & Ultra-Wide Desktop Displays: Centering header contents exactly flush with page cards */
@media (min-width: 1400px) {
    header.top-header {
        padding-left: calc((100% - 1320px) / 2 + 30px) !important;
        padding-right: calc((100% - 1320px) / 2 + 30px) !important;
    }
}

/* Medium Desktop & Tablet Displays */
@media (max-width: 991px) {
    .search-tabs-container,
    .offcanvas-container,
    .cart-container,
    form.travel-container,
    .general-msg-container,
    .validate-summory {
        padding: 20px !important;
        border-radius: 12px !important;
    }
    .search-tabs-container .panels,
    .search-tabs-container .cd_exp_search_wrap {
        padding: 20px 16px !important;
    }
    .search-tabs-container .search-footer,
    .search-tabs-container .cd_exp_search_footer {
        margin-left: -16px !important;
        margin-right: -16px !important;
        margin-bottom: -20px !important;
        width: calc(100% + 32px) !important;
        max-width: calc(100% + 32px) !important;
        padding: 14px 16px !important;
        border-radius: 0 0 12px 12px !important;
    }
}

/* Small Screens / Mobile Viewports */
@media (max-width: 767px) {
    header.top-header {
        padding: 12px 16px !important;
        flex-direction: column !important;
        gap: 12px !important;
        align-items: center !important;
        text-align: center !important;
    }
    .header-right {
        justify-content: center !important;
        width: 100% !important;
    }
    .search-tabs-container,
    .offcanvas-container,
    .cart-container,
    form.travel-container,
    .general-msg-container,
    .validate-summory {
        padding: 16px !important;
        border-radius: 10px !important;
        margin-bottom: 20px !important;
    }
    .search-tabs-container .panels,
    .search-tabs-container .cd_exp_search_wrap {
        padding: 16px 12px !important;
    }
    .search-tabs-container .tabs {
        border-radius: 8px 8px 0 0 !important;
    }
    .search-tabs-container .tabs a.tab {
        padding: 12px 8px !important;
        font-size: 11px !important;
        letter-spacing: 0.5px !important;
    }
    .search-tabs-container .search-footer,
    .search-tabs-container .cd_exp_search_footer {
        margin-left: -12px !important;
        margin-right: -12px !important;
        margin-bottom: -16px !important;
        width: calc(100% + 24px) !important;
        max-width: calc(100% + 24px) !important;
        padding: 12px 12px !important;
        border-radius: 0 0 10px 10px !important;
    }
}

/* Ultra-Small Mobile Viewports (Phones under 480px width) */
@media (max-width: 480px) {
    header.top-header img {
        max-width: 160px !important;
        height: auto !important;
    }
    .search-tabs-container,
    .offcanvas-container,
    .cart-container,
    form.travel-container,
    .general-msg-container,
    .validate-summory {
        padding: 12px !important;
        border-radius: 8px !important;
    }
    .search-tabs-container .panels,
    .search-tabs-container .cd_exp_search_wrap {
        padding: 12px 8px !important;
    }
    .search-tabs-container .tabs a.tab {
        padding: 10px 4px !important;
        font-size: 10px !important;
        letter-spacing: 0px !important;
    }
    .search-box-style, 
    .form-cntrl,
    .t-datepicker,
    .sw-search-wrap {
        padding: 8px 12px !important;
    }
    label.search-lables, 
    .sw-search-label {
        font-size: 10px !important;
    }
    .search-tabs-container .search-footer,
    .search-tabs-container .cd_exp_search_footer {
        margin-left: -8px !important;
        margin-right: -8px !important;
        margin-bottom: -12px !important;
        width: calc(100% + 16px) !important;
        max-width: calc(100% + 16px) !important;
        padding: 10px 8px !important;
        border-radius: 0 0 8px 8px !important;
    }
}

/* Unified Search Input Blocks (Flights, Hotels, Cars, Transfers) */
.search-box-style, 
.form-cntrl,
.t-datepicker,
.sw-search-wrap,
.travel-passenger .search-box-style {
  
    border-radius: 12px !important;
   
   
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    /*padding: 10px 16px !important;*/
    height: auto !important;
}
.search-box-style, .sw-search-wrap {
    border: 1px solid var(--surface-light) !important;
    background-color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(74, 46, 22, 0.01) !important;
}
    .search-box-style:hover,
    .form-cntrl:hover,
    .sw-search-wrap:hover,
    .search-box-style.active,
    .form-cntrl.active,
    .sw-search-wrap.active,
    .sw-search-wrap:focus-within,
    .t-datepicker:hover,
    .t-datepicker.active {
        border-color: var(--primary-color) !important;
        box-shadow: 0 6px 20px rgba(46, 49, 146, 0.06) !important;
    }
    /* Global Search Console Validation Highlights (.field-error) */
    .search-box-style.field-error,
    .form-cntrl.field-error,
    .t-datepicker.field-error,
    .sw-search-wrap.field-error,
    .search-box-style:has(input.field-error),
    .form-cntrl:has(input.field-error),
    .t-datepicker:has(input.field-error),
    .sw-search-wrap:has(input.field-error),
    .search-box-style:has(.field-error),
    .form-cntrl:has(.field-error),
    .t-datepicker:has(.field-error),
    .sw-search-wrap:has(.field-error) {
        border: 1px solid #fc9797 !important;
        background-color: rgba(252, 151, 151, 0.04) !important;
    }

        .search-box-style.field-error input,
        .form-cntrl.field-error input,
        .t-datepicker.field-error input,
        .sw-search-wrap.field-error input,
        input.field-error,
        select.field-error {
            color: #cf3d3f !important;
        }
    /* Uniform Text Labels */
    label.search-lables,
    .form-cntrl label,
    .sw-search-label {
        color: var(--secondary-color) !important;
        font-weight: 700 !important;
        font-size: 11px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        margin-bottom: 6px !important;
        display: flex !important;
        align-items: center !important;
        gap: 4px !important;
    }

        label.search-lables i,
        .form-cntrl label i,
        .sw-search-label i {
            color: var(--quaternary-color) !important;
        }
    /* Uniform Input elements inside form controls */
    .search-inputs,
    .search-inputs input,
    .form-cntrl input,
    .form-input,
    .dd-autocomplete-box,
    .sw-search-field,
    .sw-search-field input,
    .sw-search-field-wrap input,
    .sw-search-field .search-inputs {
        border: none !important;
        background: transparent !important;
        width: 100% !important;
        font-size: 14px !important;
        color: var(--secondary-color) !important;
        font-weight: 600 !important;
        outline: none !important;
        /*padding: 4px 0 !important;*/
    }

    /* Unified Primary Action Search Buttons */
    .btn-search,
    #btnSearchFlight,
    #btnSearchHotel,
    #btnSearchCar,
    #btnSearchTransfer,
    .btn-type1 {
        background: linear-gradient(135deg, var(--quaternary-color), #F57C00) !important;
        border: none !important;
        border-radius: 10px !important;
        font-weight: 700 !important;
        font-size: 14px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.8px !important;
        color: #ffffff !important;
        box-shadow: 0 4px 14px rgba(255, 152, 0, 0.3) !important;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
        padding: 14px 28px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
    }

        .btn-search:hover,
        #btnSearchFlight:hover,
        #btnSearchHotel:hover,
        #btnSearchCar:hover,
        #btnSearchTransfer:hover,
        .btn-type1:hover {
            background: linear-gradient(135deg, #F57C00, #E65100) !important;
            color: #ffffff !important;
            transform: translateY(-1.5px) !important;
            box-shadow: 0 6px 20px rgba(255, 152, 0, 0.45) !important;
            border: none !important;
        }
    /* Secondary interactive buttons */
    .btn-type3 {
        border: 1px solid var(--surface-light) !important;
        border-radius: 8px !important;
        font-weight: 600 !important;
        transition: all 0.3s ease-in-out !important;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
    }

        .btn-type3:hover {
            background-color: var(--primary-color) !important;
            color: #ffffff !important;
            border-color: var(--primary-color) !important;
        }
    /* Header Buttons styling */
    .header-btn {
        border-radius: 8px !important;
        background-color: var(--primary-color) !important;
        font-weight: 600 !important;
        border: 1px solid rgba(255, 255, 255, 0.1) !important;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
        box-shadow: 0 2px 6px rgba(46, 49, 146, 0.15) !important;
    }

        .header-btn:hover {
            background-color: #1F226D !important;
            color: #ffffff !important;
            transform: translateY(-1px) !important;
            box-shadow: 0 4px 15px rgba(46, 49, 146, 0.25) !important;
        }
    /* Custom rounded card styling */
    .hotel-box-mono, .adv-filter-div, .pas-add-service, .validate-summory {
        border-radius: 16px !important;
        border: 1px solid var(--surface-light) !important;
        box-shadow: 0 8px 30px rgba(46, 49, 146, 0.04), 0 1px 3px rgba(74, 46, 22, 0.02) !important;
        background-color: #ffffff !important;
        transition: all 0.3s ease !important;
    }

        .hotel-box-mono:hover {
            box-shadow: 0 12px 40px rgba(46, 49, 146, 0.08) !important;
            transform: translateY(-2px) !important;
        }
    /* Luxury drop shadow and rounding for Dropdowns */
    .dropdown-menu, .change-login-dropdown {
        border-radius: 12px !important;
        border: 1px solid var(--surface-light) !important;
        box-shadow: 0 10px 40px rgba(46, 49, 146, 0.08) !important;
        /*padding: 8px !important;*/
    }

    .dropdown-item {
        border-radius: 6px !important;
        transition: all 0.2s ease !important;
        padding: 10px 16px !important;
    }

        .dropdown-item:hover {
            background-color: var(--tertiary-color-style) !important;
            color: var(--primary-color) !important;
        }
    /* Header Cart counter pill style */
    .cd_h_cart_count {
        background: var(--quaternary-color) !important;
        color: #ffffff !important;
        border: 2px solid #ffffff !important;
        box-shadow: 0 2px 8px rgba(255, 152, 0, 0.4) !important;
    }
    /* Styled Scrollbars for rich premium feel */
    ::-webkit-scrollbar {
        width: 8px;
        height: 8px;
    }

    ::-webkit-scrollbar-track {
        background: #FAF8F5;
    }

    ::-webkit-scrollbar-thumb {
        background: #D7CCC8;
        border-radius: 4px;
    }

        ::-webkit-scrollbar-thumb:hover {
            background: #BCAAA4;
        }
    /* ==========================================================================
   WHITE FOOTER & CONTRAST TEXT OVERRIDES
   ========================================================================== */

    footer {
        background-color: #ffffff !important;
        color: var(--secondary-color) !important;
        border-top: solid 1px var(--surface-light) !important;
        padding: 60px 0 !important;
    }

    .footer-logo img {
        filter: none !important; /* Restore rich logo brand colors on white background */
        opacity: 1 !important;
    }

    .footer-txt {
        color: var(--secondary-color) !important;
        opacity: 0.8 !important;
    }

    .footer-contact a {
        color: var(--secondary-color) !important;
        transition: color 0.25s ease !important;
    }

        .footer-contact a:hover {
            color: var(--quaternary-color) !important;
            text-decoration: none !important;
        }

        .footer-contact a i {
            color: var(--primary-color) !important; /* Royal Indigo color for icons */
        }

    .footer-links-list ul li a {
        color: var(--secondary-color) !important;
        transition: color 0.25s ease !important;
    }

        .footer-links-list ul li a:hover {
            color: var(--quaternary-color) !important;
            text-decoration: none !important;
        }

    .footer-links-list .link-title,
    .footer-links-list h3,
    .footer-links-list .sw-sidebar-title,
    .sw-sidebar-title {
        color: var(--primary-color) !important; /* Royal Indigo for headers */
        font-weight: 700 !important;
        margin-bottom: 20px !important;
    }
    /* Site Footer / Copyright Bar */
    .site-footer {
        background-color: #FAF8F5 !important; /* Soft sand background */
        color: #777777 !important;
        border-top: 1px solid var(--surface-light) !important;
        padding: 16px 0 !important;
    }

    .site-footer-inner,
    .site-footer-inner a,
    .site-footer-inner .copyright {
        color: #777777 !important;
        font-size: 13px !important;
    }

        .site-footer-inner a:hover {
            color: var(--primary-color) !important;
            text-decoration: none !important;
        }
    /* Premium Glassmorphic Login Form Overrides */
    .login-form {
        max-width: 420px !important;
        padding: 40px 36px !important;
        background: rgba(255, 255, 255, 0.88) !important;
        backdrop-filter: blur(20px) !important;
        -webkit-backdrop-filter: blur(20px) !important;
        border: 1px solid rgba(255, 255, 255, 0.5) !important;
        border-radius: 20px !important;
        box-shadow: 0 15px 35px rgba(46, 49, 146, 0.15), 0 5px 15px rgba(0, 0, 0, 0.05) !important;
        margin: 60px auto !important;
    }

    .login-title {
        color: var(--primary-color) !important;
        font-weight: 700 !important;
        font-size: 28px !important;
        margin-bottom: 8px !important;
        letter-spacing: -0.5px !important;
        text-align: center !important;
    }

    .login-form .sub-title {
        display: block !important;
        color: #6C5E53 !important;
        font-size: 14px !important;
        margin-bottom: 24px !important;
        text-align: center !important;
        font-weight: 500 !important;
    }

    .login-form .form-grp {
        position: relative !important;
        margin-bottom: 20px !important;
        border-bottom: 2px solid var(--surface-light) !important;
        transition: border-color 0.3s ease !important;
        background: rgba(255, 255, 255, 0.5) !important;
        border-radius: 8px !important;
        padding: 8px 12px !important;
        display: flex !important;
        align-items: center !important;
    }

        .login-form .form-grp:focus-within {
            border-bottom-color: var(--primary-color) !important;
            background: #ffffff !important;
        }

        .login-form .form-grp .log-ico {
            color: var(--primary-color) !important;
            margin-right: 12px !important;
            font-size: 16px !important;
        }

        .login-form .form-grp input {
            border: none !important;
            background: transparent !important;
            width: 100% !important;
            font-size: 15px !important;
            color: var(--secondary-color) !important;
            font-weight: 500 !important;
            outline: none !important;
            padding: 0 30px 0 !important;
        }
        /* Highlight B2B login input group dynamically on validation error */
        .login-form .form-grp:has(input.field-error),
        .login-form .form-grp.field-error {
            border-bottom: 2px solid #E74C3C !important;
            background-color: rgba(231, 76, 60, 0.04) !important;
        }

            .login-form .form-grp:has(input.field-error) .log-ico,
            .login-form .form-grp.field-error .log-ico {
                color: #E74C3C !important;
            }

    .login-form input.field-error {
        color: #E74C3C !important;
    }

    .login-form .show-pwd-js {
        cursor: pointer !important;
        color: #9E9E9E !important;
        transition: color 0.2s ease !important;
    }

        .login-form .show-pwd-js:hover {
            color: var(--primary-color) !important;
        }

    .login-form .or-sep {
        display: block !important;
        text-align: center !important;
        margin: 20px 0 !important;
        color: #9E9E9E !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        position: relative !important;
    }

        .login-form .or-sep::before,
        .login-form .or-sep::after {
            content: "" !important;
            position: absolute !important;
            top: 50% !important;
            width: 40% !important;
            height: 1px !important;
            background-color: var(--surface-light) !important;
        }

        .login-form .or-sep::before {
            left: 0 !important;
        }

        .login-form .or-sep::after {
            right: 0 !important;
        }

    .login-form .reg-link {
        background: transparent !important;
        border: 2px solid var(--primary-color) !important;
        color: var(--primary-color) !important;
        border-radius: 8px !important;
        font-weight: 700 !important;
        transition: all 0.3s ease !important;
        padding: 10px 24px !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }

        .login-form .reg-link:hover {
            background: var(--primary-color) !important;
            color: #ffffff !important;
            box-shadow: 0 4px 12px rgba(46, 49, 146, 0.2) !important;
        }

    .login-form .login-text {
        margin-top: 24px !important;
        text-align: center !important;
        font-size: 13px !important;
        color: #616161 !important;
        font-weight: 500 !important;
    }

        .login-form .login-text a {
            color: var(--primary-color) !important;
            font-weight: 700 !important;
            text-decoration: none !important;
        }

            .login-form .login-text a:hover {
                text-decoration: underline !important;
            }

    .search-tabs {
        background-color: rgb(13, 138, 228, 0.9);
    }

    .loader-body {
        box-shadow: 0px 1px 10px rgb(0 0 0 / 16%);
    }

    .slider-handle {
        box-shadow: 0 0 30px rgb(0, 0, 0, 0.3);
    }

    .slider-tick {
        -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
        box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-type4 {
        background: transparent !important;
        border: 2px solid var(--red-color, #CC3E3E) !important;
        color: var(--red-color, #CC3E3E) !important;
        border-radius: 10px !important;
        font-weight: 700 !important;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
        box-shadow: none !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
    }

    .btn-type4:hover {
        background: var(--red-color, #CC3E3E) !important;
        color: #ffffff !important;
        border-color: var(--red-color, #CC3E3E) !important;
        box-shadow: 0 4px 12px rgba(204, 62, 62, 0.2) !important;
    }

    .btn-type4 i {
        color: inherit !important;
        font-size: 16px !important;
    }

    .cart-fl-right {
        /* box-shadow: 0 1px 10px rgb(0, 0, 0, 0.16); */
    }

    .form-cntrl,
    .frm-dropdown {
        /* box-shadow: 0px 1px 10px rgb(0 0 0 / 16%); */
    }

    .rate-terms-title {
        color: rgb(13 138 228 / 80%);
    }

    .from-to-ico {
        box-shadow: 0px 1px 10px rgb(0 0 0 / 16%);
    }
    /*.btn-select-ancillary {
    position: absolute;
    right: 36px;
    bottom: 28px;
}*/

    .position-relative {
        position: relative;
    }

    .pas-add-service {
        box-shadow: 0 1px 10px rgb(0 0 0 / 16%);
    }

    .pas-add-detial {
        /*box-shadow: 0px 1px 10px rgb(0 0 0 / 16%);*/
    }

    .ssr-content {
        display: none;
    }

    .ssr-row.show .ssr-content {
        display: block;
    }

    .btn-save-ssr {
        min-width: 110px;
        padding-left: 35px !important;
    }

    .btn-cancel-ssr {
        min-width: 110px;
        margin-left: 20px;
        padding-left: 24px !important;
    }

    .swal2-container {
        z-index: 22222 !important;
    }

    .ssr-info-icon {
        width: 3em;
        height: 3em;
    }

        .ssr-info-icon .swal2-icon-content {
            font-size: 2em;
        }

    .confirm-ssr-info {
        display: block;
        text-align: left;
        max-height: 380px;
        overflow-y: auto;
        padding-top: 20px;
    }

    .selected-ssr-info {
        /*padding: 0px 33px 33px;*/
    }

    .selected-ssr-info-label {
        /*float: right;*/
        /*padding-right: 5px;*/
        /*font-size: 15px;*/
        font-weight: 500;
        color: #3f51b5;
        cursor: pointer;
    }
    /*.header-btn {
    margin-left: 20px;
}*/

    .ml-20 {
        margin-left: 20px;
    }

    .t-input {
        padding-top: 2px !important;
    }

    .multicity.fl-date .t-datepicker-day {
        width: 100% !important;
    }

    .cart-fl-more-rates > div {
        max-width: 98%;
    }

    .creditcard-title {
        /*flex: 0 0 426px;
    max-width: 45%;*/
    }

    .form-withdropdown-document {
        /*min-width: 366px;*/
    }

    .doc-title {
        /*flex: 0 0 343px;*/
        /*max-width: 343px;*/
    }

    .cart-reserv-error {
        font-size: 15px;
        color: red;
        font-weight: 800;
    }

    .text-black {
        color: #000 !important;
    }

    .cart-val-summnery-message {
        text-align: right;
        padding-bottom: 10px;
    }

    .validate-summory-heading {
        color: #f44336;
        font-weight: 600;
        font-size: 16px;
    }

    .dedicated-fare-rule {
        display: block;
        margin-top: 20px;
        border: 1px solid #ccc;
    }

        .dedicated-fare-rule .hide-more-detail {
            display: none;
        }

    .frm-dropdown-doc {
        min-width: 343px;
    }

    .mb-15 {
        margin-bottom: 15px;
    }

    .price-change-info-container {
        padding-bottom: 10px;
    }

    .conf-price-change-btn {
        /*margin: auto;
    max-width: 150px;*/
    }
    /*.price-change-info {
    padding: 20px;
    background: #f6f6f6;
    box-shadow: 1px 1px 1px 0px #e3e3e3;
    margin: 11px 24px 38px;
}*/

    .text-red {
        color: #CC3E3E;
    }

    .booking-detail-info {
        padding-bottom: 8px !important;
    }

    .lbl-provider {
        /*background: #275189;
    color: #fff;
    position: absolute;
    border-radius: 0 9px 0 0;
    font-weight: 600;*/
    }

    .lbl-fartype {
        /*background: #275189;
    color: #fff;
    padding: 0 5px;*/
    }

    .lbl-pcode {
        padding: 0 5px;
    }

    .search-fl-dtl {
        position: relative;
    }

    .search-fl-row {
        /*padding-bottom: 25px;*/
    }
    /*.lbl-loginname {
    color: #4b94e6;
    font-size: var(--deltafont);
    font-weight: 600;
}*/
    .reg-sec-header {
        display: flex;
        flex: 1 1 100%;
        font-size: var(--deltafont);
        font-weight: 500;
        margin-bottom: 15px;
    }

    .justify-content-unset {
        justify-content: unset !important;
    }

    .pr-20 {
        padding-right: 20px !important;
    }

    .reg-sec-header-bottom-border {
        display: flex;
        flex: 1 1 100%;
        margin-bottom: 15px;
        height: 2px;
        background: #f7f7f7;
    }

    .reg-link {
        /* display: block; */
        /* text-decoration: none; */
    }

        .reg-link:hover {
            /* text-decoration: none; */
        }

    .bg-white {
        background: #fff;
    }

    .btn-close-condition {
        font-size: var(--deltafont);
    }

    .col-conditions.active i {
        transform: rotate(180deg);
    }

    body.login-page {
        background-image: linear-gradient(to bottom, rgba(46, 49, 146, 0.45), rgba(74, 46, 22, 0.4)), url(../images/royal_login_bg.png) !important;
        background-repeat: no-repeat !important;
        background-size: cover !important;
        background-position: center center !important;
    }

    .inner-bgimg {
        background-image: linear-gradient(to bottom, rgba(46, 49, 146, 0.45), rgba(74, 46, 22, 0.4)), url(../images/royal_login_bg.png) !important;
        background-repeat: no-repeat !important;
        background-size: cover !important;
        background-position: center center !important;
    }

    .m-auto {
        margin: auto !important;
        margin-top: 80px;
    }

    .reg-conf-header {
        font-size: var(--alphafont) !important;
        font-weight: 500;
        text-align: center;
    }

    .agnc-verify-form {
        max-width: 424px;
    }

    .general-msg-container {
        padding: 38px;
        margin-top: 60px;
    }

    .general-msg-text {
        font-size: var(--deltafont);
    }

    .mb-20 {
        margin-bottom: 20px;
    }

    .pt-80 {
        padding-top: 80px;
    }

    .mb-0 {
        margin-bottom: 0 !important;
    }

    .upsell-service-text {
        font-size: var(--labelfont);
        line-height: 1.4;
        text-transform: uppercase !important;
    }

    .hotel-autocomplete {
        top: calc(100% + 10px);
        width: 100%;
    }
    /*.tab-menu-link:hover {
    color: #fff;
    text-decoration: none;
}*/

    .holds-the-iframe {
        background-image: url(images/webloader.svg);
        background-repeat: no-repeat;
        background-position: center center;
    }

    .train-iframe {
        width: 100%;
        min-height: 100vh;
    }

    .rule-not-allowed-msg {
        padding: 10px 20px;
        color: red;
    }

    label.error {
        color: #ff0000;
        font-weight: 500;
        margin-top: 5px;
    }

    .d-block {
        display: block;
    }

    .adm-toprice-info {
        font-size: var(--labelfont);
        font-weight: 600;
        letter-spacing: 1.7px;
    }

    .accept-terms-form {
        background: linear-gradient(#fafafc, #e6ebef);
        padding: 28px 23px;
        box-shadow: 0px 20px 40px rgb(0 0 0 / 16%);
    }

    .text-left {
        text-align: left !important;
    }

    .mb-10 {
        margin-bottom: 10px !important;
    }

    .cart-mod-fee {
        /*background-color: transparent;
    line-height: 15px;
    color: var(--secondary-color);
    font-weight: 500;
    border: 1px solid #eee;
    padding: 5px;
    margin: 0;
    max-width: 100%;
    text-align: right;*/
    }

    .ifee-info {
        font-size: var(--gammafont);
        bottom: 5px;
        right: 8px;
        position: relative;
        color: #001968;
    }

    .wp-pl {
        white-space: pre-line !important;
    }
    /* Tooltip */
    [data-tooltip] {
        cursor: pointer;
        display: inline-block;
        line-height: 0.8;
        position: relative;
    }

        [data-tooltip]::after {
            background-color: #fff;
            border-radius: 0.5rem;
            color: #001968;
            content: attr(data-tooltip);
            font-weight: 800;
            line-height: 1.15rem;
            padding: 10px;
            position: absolute;
            text-align: center;
            font-size: 11px;
            text-transform: none;
            transition: opacity 0.2s;
            visibility: hidden;
            white-space: nowrap;
            z-index: 1;
            border: 1px solid #001968;
        }

        [data-tooltip].tooltip-top::before {
            border-style: solid;
            border-width: 0.5rem;
            content: "";
            opacity: 0;
            position: absolute;
            transition: opacity 0.2s;
            visibility: hidden;
            border-color: #001968 transparent transparent transparent;
            top: 0;
            left: 50%;
            margin-left: -1.2rem;
        }

        [data-tooltip].tooltip-top::after {
            bottom: 100%;
            left: 50%;
            transform: translate(-50%);
        }

        [data-tooltip].tooltip-bottom::before {
            border-style: solid;
            border-width: 0.3rem;
            content: "";
            opacity: 0;
            position: absolute;
            transition: opacity 0.2s;
            visibility: hidden;
            border-color: transparent transparent rgba(51, 51, 51, 0.9) transparent;
            bottom: 0;
            left: 50%;
            margin-left: -0.3rem;
        }

        [data-tooltip].tooltip-bottom::after {
            top: 100%;
            left: 50%;
            transform: translate(-50%);
        }

        [data-tooltip].tooltip-left::before {
            border-style: solid;
            border-width: 0.3rem;
            content: "";
            opacity: 0;
            position: absolute;
            transition: opacity 0.2s;
            visibility: hidden;
            border-color: transparent transparent transparent rgba(51, 51, 51, 0.9);
            top: 0.3rem;
            right: calc(110% - 0.3rem);
            margin-top: -0.3rem;
        }

        [data-tooltip].tooltip-left::after {
            top: -0.3rem;
            right: calc(110% + 0.3rem);
        }

        [data-tooltip].tooltip-right::before {
            border-style: solid;
            border-width: 0.3rem;
            content: "";
            opacity: 0;
            position: absolute;
            transition: opacity 0.2s;
            visibility: hidden;
            border-color: transparent rgba(51, 51, 51, 0.9) transparent transparent;
            top: 50%;
            top: 0.3rem;
            left: calc(110% - 0.3rem);
            margin-top: -0.3rem;
        }

        [data-tooltip].tooltip-right::after {
            top: -0.3rem;
            left: calc(110% + 0.3rem);
        }

    @media (max-width: 767px) {
        [data-tooltip].tooltip-mobile::before {
            display: none;
        }

        [data-tooltip].tooltip-mobile:after {
            font-size: 1rem;
            max-width: 20rem;
            position: fixed;
            bottom: auto;
            top: 50%;
            left: 50%;
            text-align: left;
            transform: translate(-50%);
            white-space: normal;
        }
    }

    [data-tooltip]:hover::after,
    [data-tooltip][class*=tooltip-]:hover::before {
        visibility: visible;
        opacity: 1;
    }

    .hotel-box-mono {
        border: solid 1px #fff;
        position: relative;
        /*border: solid 1px transparent;*/
        display: flex;
        flex-direction: column;
        background-color: #fff;
        width: 100%;
        max-width: 450px;
        border-radius: 4px;
        box-shadow: 0px 1px 10px #00000029;
    }

        .hotel-box-mono .close {
            position: absolute;
            right: 1px;
            top: 1px;
            background-color: #fff;
            cursor: pointer;
        }

            .hotel-box-mono .close i {
                font-size: 18px;
                color: red;
            }

        .hotel-box-mono .pointer {
            position: absolute;
            left: calc(50% - 11px);
            bottom: -16px;
            cursor: pointer;
        }

            .hotel-box-mono .pointer i {
                font-size: 32px;
                color: #0D8AE4;
                display: block;
                height: 26px;
                width: 22px;
            }

        .hotel-box-mono .hotel-ratings {
            position: absolute;
            top: -1px;
            left: -1px;
            background-color: rgba(13, 138, 228, 0.9);
            color: #fff;
            text-align: center;
            padding: 8px;
            border-radius: 4px;
        }

            .hotel-box-mono .hotel-ratings .digit {
                font-weight: 500;
                font-size: 13px;
            }

            .hotel-box-mono .hotel-ratings .text {
                font-weight: 400;
                font-size: 10px;
            }

        .hotel-box-mono .col-hotel-data {
            /*border: solid 1px black;*/
            padding: 8px;
            flex: 1 1 100%;
            display: flex;
            flex-direction: column;
            background-color: #fff;
            border-radius: 4px;
        }

        .hotel-box-mono .hotel-thumbnail {
            flex: 0 0 150px;
            width: 100%;
            height: 150px;
            overflow: hidden;
            border-radius: 4px;
        }

            .hotel-box-mono .hotel-thumbnail img {
                height: 100%;
                width: 100%;
                object-fit: cover;
                /* contain-width & cover-height */
                object-position: center center;
                border-radius: 4px;
            }

        .hotel-box-mono .hotel-details {
            margin-left: 8px;
            flex: 1 1 100%;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            justify-content: center;
        }

        .hotel-box-mono .star-ratings {
            margin: 0px 0px 4px;
            color: #DFD04A;
        }

        .hotel-box-mono .no-star-ratings {
            height: 18px;
        }

        .hotel-box-mono .hotel-name {
            font-size: 13px;
            text-transform: uppercase;
            font-weight: bold;
        }

            .hotel-box-mono .hotel-name a {
                color: var(--quaternary-color);
                text-decoration: none;
            }

                .hotel-box-mono .hotel-name a:hover {
                    text-decoration: underline;
                }

        .hotel-box-mono .star-ratings,
        .hotel-box-mono .hotel-address {
            font-size: 10px;
        }

        .hotel-box-mono .room-info {
            font-size: 11px;
        }

        .hotel-box-mono .hotel-address {
            color: grey;
            margin-bottom: 8px;
        }

        .hotel-box-mono .hotel-address,
        .hotel-box-mono .room-info {
            font-weight: 600;
            margin-top: 4px;
            display: flex;
            flex-direction: row;
            align-items: center;
        }

            .hotel-box-mono .hotel-address i {
                text-align: center;
                display: block;
                min-width: 16px;
            }

            .hotel-box-mono .hotel-address span {
                padding-left: 4px;
            }

        .hotel-box-mono .room-price {
            font-weight: bold;
            margin-top: 8px;
            font-size: 20px;
            color: var(--quaternary-color);
        }

    .htl-search-loading {
        display: block;
        position: absolute;
        top: calc(50% - 8px);
        right: 10px;
    }

    .li-htl-search {
        padding: 5px 10px 5px 10px !important;
    }

    .ul-auto-li .li-htl-search:after {
        border-bottom: 1px solid #ececec;
        left: 10px;
        right: 10px;
    }

    .ul-auto-li {
        /* padding: 0 !important; */
    }

        .ul-auto-li .li-htl-search:last-of-type:after {
            border-bottom: 0;
        }
    /*.map-before-loaded {
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}*/


    .lds-dual-ring {
        display: inline-block;
        width: 64px;
        height: 64px;
        top: 45%;
        position: absolute;
        left: 48%;
    }

        .lds-dual-ring:after {
            content: " ";
            display: block;
            width: 46px;
            height: 46px;
            margin: 1px;
            border-radius: 50%;
            border: 5px solid #fff;
            border-color: #243870 transparent #243870 transparent;
            animation: lds-dual-ring 1.2s linear infinite;
        }

    @keyframes lds-dual-ring {
        0% {
            transform: rotate(0deg);
        }

        100% {
            transform: rotate(360deg);
        }
    }

    .map-loader {
        background-position: center;
        background-repeat: no-repeat;
        position: absolute;
        z-index: 2;
        left: calc(50% - 15px);
        top: calc(50% - 50px);
    }

    #map-search-box {
        background-color: #fff;
        border: 2px solid #243870;
        color: #333;
        font-size: 1.3em;
        padding: 0 11px 0 13px;
        text-overflow: ellipsis;
        width: 350px;
        height: 40px;
        margin: 10px;
        display: none;
    }

    .dd-inc-fare {
        justify-content: flex-end !important;
    }

    input[disabled] + label::before {
        /* background: #eee; */
        cursor: not-allowed;
    }

    .btn-icon {
        height: 48px;
        width: 48px;
        flex: 0 0 48px;
        max-width: 48px;
        margin-left: 13px;
        display: block;
        border: 1px solid #0D8AE4;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #0D8AE4;
        font-size: 19px;
        border-radius: 2px;
        margin-right: 13px;
    }

        .btn-icon:hover {
            background-color: #0D8AE4;
            height: 48px;
            width: 48px;
            flex: 0 0 48px;
            max-width: 48px;
            display: block;
            border: 1px solid #0D8AE4;
            display: flex;
            justify-content: center;
            align-items: center;
            color: #fff;
            font-size: 19px;
            border-radius: 2px;
            cursor: pointer;
        }

    .print-fldtl {
        width: 75px;
        background: #fff;
        position: absolute;
        right: 0;
    }

    .ul-dedicated {
       /* border-left: 2px solid #f8f8f8;
        margin-left: 10px !important;
        padding-left: 10px !important;*/
    }

    .book-teriff {
        padding-left: 0;
    }

    .flex-dir-col {
        flex-direction: column;
    }

    .flexi-fl-item {
        position: absolute;
        width: 100%;
        top: 58px;
        z-index: 1;
        box-shadow: 1px 2px 3px 2px #9e9e9e;
        background: #ececec;
    }

        .flexi-fl-item .search-flight-detail {
            background: transparent;
            border: 0;
            box-shadow: none;
        }

        .flexi-fl-item .search-fl-dtl {
        }

    .has-fl-item {
        position: relative;
    }

        .has-fl-item::after {
            position: absolute;
            right: 40px;
            bottom: 0px;
            width: 0;
            height: 0;
            content: "";
            border-width: 0 10px 10px 10px;
            border-style: solid;
            border-color: #505050 transparent;
            -webkit-transition: all .25s;
            -moz-transition: all .25s;
            -ms-transition: all .25s;
            -o-transition: all .25s;
            transition: all .25s;
        }

    .mt-0 {
        margin-top: 0 !important;
    }

    .no-radius {
        border-radius: 0 !important;
    }

    .justify-content-end {
        justify-content: end !important;
    }

    .btn-close-matrixdetl {
        position: absolute;
        right: 8px;
        top: 0px;
        background: #c2c2c2;
        border-radius: 0;
        height: 20px;
        width: 20px;
        line-height: 1;
        color: #fff;
        font-size: 12px;
        text-align: center;
        padding: 0;
    }

    .eac-card-info {
        max-width: calc(100% - 310px);
        float: right;
        font-size: 12px;
        font-weight: 600;
    }

    .htl-fee-info .ifee-info {
        right: 0 !important;
    }

    .htl-fee-info::before {
        margin-left: -1px !important;
    }

    .htl-fee-info .ifee-info {
        right: 0 !important;
    }

    .htl-fee-info::before {
        margin-left: -1px !important;
    }

    .highlight-dedicated,
    .highlight-dedicated.active {
        background: var(--orange-logo-color) !important;
        color: #fff !important;
    }

    .highlight-labour,
    .highlight-labour.active {
        background: var(--orange-logo-color) !important;
        color: #fff !important;
    }

    .ml-auto {
        margin-left: auto;
    }

    .pr-0 {
        padding-right: 0;
    }

    .cursor-auto {
        cursor: auto;
    }

    .dedicated-cond {
        padding-bottom: 20px !important;
    }

    .dedicated-fare-info {
        padding-bottom: 00px !important;
    }

    .dedicated-btn-sec {
        margin-top: 0 !important;
    }

    .dedicated-title {
        padding-top: 15px;
    }

    .highlight-dedicated-box {
        border: 2px solid var(--orange-logo-color);
    }

    .highlight-labour-box {
        border: 2px solid var(--orange-logo-color);
    }

    .fl-seg-dt {
        max-width: 150px;
        font-size: 14px;
        width: 150px;
    }

    .highlight-arpt-change {
        background: #ffe9209e;
        padding: 3px;
    }

    .lbl-df {
        padding: 0 15px 0 30px !important;
    }

    .modal-reslbl-info {
        padding: 25px;
        height: 250px;
        position: relative;
        text-align: left !important;
    }

    .btn-close-reslblifno {
        position: absolute;
        bottom: 15px;
        left: calc(50% - 20px);
    }

    .fl-time-info {
        position: absolute;
        left: 100px;
        top: 2px;
        font-size: 14px;
        width: 55px;
        padding-left: 5px;
    }

        .fl-time-info:before {
            font-family: 'Font Awesome 5 Pro';
            font-weight: 400;
            content: "\f017";
            font-size: 13px;
            color: var(--primary-color);
            position: relative;
            right: 3px;
        }

    .hotel-datepciker .hotel-datepicker-main {
        top: 78px;
        border-radius: 0;
    }

    .disabled {
        opacity: 0.5;
        cursor: default;
    }

    .readonly {
        pointer-events: none;
    }

    .sel-time-icon {
        position: absolute;
        top: 30px;
        right: 18px;
    }

    .dd-fl-time .frm-dropdown ul li {
        padding: 8px 0px;
        border-bottom: 1px solid #fafafa;
    }

        .dd-fl-time .frm-dropdown ul li.selected {
            background-color: transparent;
        }

    .dd-fl-time .frm-dropdown-title {
        padding: 0px 0 0px;
    }

    .frm-dropdown {
        padding: 8px 8px 0px;
        width: 194px;
        min-width: 100%;
    }

    .fl-dtl-price-info {
        padding: 20px;
        font-weight: 600;
        background: #fafafa;
        margin-bottom: 15px;
        display: flex;
        flex-direction: row;
        display: none !important;
    }

    .fl-dtl-fareinfo-label br {
        display: none;
    }

    .fl-dtl-fareinfo-label {
        display: flex;
        flex: 1 1 80%;
        font-size: 16px;
    }

    .fl-dtl-fareinfo-value {
        display: flex;
        flex: 1 1 20%;
        justify-content: end;
        color: var(--secondary-color);
        font-weight: 800;
        font-size: 18px;
    }
    /* news slider css start  */
    .news-container {
        /* margin: 60px 0;*/
        position: relative;
    }

    .news-box {
        display: flex;
        justify-content: center;
    }

    .news-title {
        text-align: center;
        color: #fff;
        text-transform: uppercase;
        padding: 12px;
        font-weight: 800;
        width: 200px;
        background: #2196f3;
        height: 50px;
        z-index: 10500;
        position: absolute;
        left: auto;
        right: auto;
        font-size: 18px;
        box-shadow: 1px 1px 2px 1px #e0e0e0;
        top: -22px;
    }

    .news-title-sep {
        height: 0px;
        background: #2196f36b;
        position: absolute;
        width: 100%;
        top: 30px;
    }

    .news-slider-main {
        padding: 20px 55px;
        background: var(--tertiary-color);
        /*box-shadow: 5px 5px 6px 3px #eee;
    border-top: 2px solid #2196f3;*/
    }

    .post-slide {
        /*padding-bottom: 10px;
    margin: 0 15px;*/
        position: relative;
    }

    .post-img {
        height: 265px;
        background: #eee;
        border: 1px solid #eee;
    }

        .post-img img {
            object-fit: cover;
            max-width: 100%;
            max-height: 100%;
            width: 100%;
            background: #fff;
            margin: auto;
            height: 100%;
        }

    .post-slide .post-date {
        position: absolute;
        top: 8px;
        left: 8px;
        padding: 10px;
        background: #e74c3c;
    }

    .post-slide .month {
        font-size: 14px;
        color: #fff;
        font-weight: bold;
        text-transform: uppercase;
    }

        .post-slide .month:after {
            content: "";
            display: block;
            border: 1px solid #fff;
        }

    .post-slide .date {
        font-size: 14px;
        color: #fff;
        display: block;
        text-align: center;
        font-weight: bold;
    }

    .post-slide .post-title {
        background: var(--tertiary-color);
        border-top: 0;
        margin: 0;
        padding: 0;
        position: relative;
        top: 8px;
        height: 46px;
    }

        .post-slide .post-title a {
            font-size: 18px;
            font-weight: 600;
            color: var(--secondary-color);
            display: inline-block;
            text-transform: capitalize;
            transition: all 0.3s ease 0s;
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            text-align: center;
        }

            .post-slide .post-title a:hover {
                text-decoration: none;
                /* color: #e74c3c;*/
            }

    .post-slide .post-description {
        font-size: 14px;
        line-height: 24px;
        color: #808080;
    }

    .post-slide .read-more {
        color: #333;
        text-transform: capitalize;
        transition: color 0.20s linear;
    }

        .post-slide .read-more i {
            margin-left: 10px;
            font-size: 10px;
        }

        .post-slide .read-more:hover {
            text-decoration: none;
            color: #e74c3c;
        }

    .news-container .owl-prev {
        position: absolute;
        left: -48px;
        bottom: 230px;
        padding: 8px 17px;
        background: transparent;
        transition: background 0.50s ease;
    }

    .news-container .owl-next {
        position: absolute;
        right: -48px;
        bottom: 230px;
        padding: 8px 17px;
        background: transparent;
        transition: background 0.50s ease;
    }

        .news-container .owl-prev:after,
        .news-container .owl-next:after {
            content: "\f053";
            font-family: 'Font Awesome 5 Pro';
            color: var(--primary-color);
            font-size: 16px;
            position: relative;
            right: 2px;
        }

        .news-container .owl-next:after {
            content: "\f054";
        }

    .btn-news-dwld {
        background: var(--primary-color);
        color: #fff;
        padding: 8px;
        height: 25px;
        line-height: 38px;
        margin-left: 8px;
        border-radius: 4px;
        font-size: 14px;
    }

    .news-date {
        font-size: 12px;
        background: #fff;
        padding: 4px 10px;
        margin-right: 20px;
        color: var(--primary-color);
        position: relative;
        bottom: 2px;
        font-weight: 600;
        text-transform: uppercase;
    }

        .news-date::after {
            content: "";
            position: absolute;
            top: 3px;
            border-left: 10px solid #2196f3;
            border-top: 10px solid transparent;
            border-bottom: 10px solid transparent;
            right: -11px;
        }

.fl-dd-sort-heading {
    position: absolute;
    /* top: -8px; */
    left: 8px;
    font-size: 12px;
    font-weight: 600;
    color: var(--primary-color);
    /* width: 0; */
    z-index: 0;
    height: 0;
}

    .fl-sort-container {
        flex: 1;
        max-width: 215px;
        margin-top: 22px;
    }

.fl-dd-sort {
    padding-top: 8px !important;
    font-weight: 600 !important;
    background: #fff !important;
}

    .position-relative {
        position: relative;
    }

    .news-center-box {
        padding: 0 55px;
    }

    .news-info-text {
        color: var(--orange-logo-color) !important;
    }
    /* ---------------------------------------------------------------------------------------- */
    /* ---------------------------------------------------------------------------------------- */
    /* Chapter # login as a agency style start*/
    /* ---------------------------------------------------------------------------------------- */
    /* ---------------------------------------------------------------------------------------- */
    .dropdown-menu.show {
        display: block;
    }

    .change-login-dropdown {
        width: 455px;
        left: calc(100% - 455px) !important;
        transform: none !important;
        top: 55px !important;
        padding: 0;
        box-shadow: 0px 0px 0px 1px #d4dbe0;
        background: #fafbfd;
        z-index: 10500;
    }




        .change-login-dropdown .dropdown-item.active,
        .change-login-dropdown .dropdown-item:active,
        .lnk-hdr-backoffice .dropdown-item.active,
        .dropdown-item:active .change-login-dropdow .dropdown-item:focus,
        .dropdown-item:hover {
            background-color: transparent !important;
        }

    .acc-name-info:hover,
    .acc-name-info.active {
        background-color: #ccd6e5 !important;
    }

    .agy-search-box {
        padding-left: 40px !important;
        font-weight: 600;
    }

    .textbox-with-icon i {
        position: absolute;
        right: 12px;
        top: 18px;
        font-size: 18px;
        color: var(--primary-color) !important;
        transition: 0.3s;
    }

    .i-search-agy {
        left: 12px !important;
        right: auto !important;
        color: #c9c9c9 !important;
        position: absolute;
        top: 18px;
    }

    .i-change-login {
        margin: auto;
        color: #fff;
        height: 40px;
        width: 40px !important;
        padding: 8px;
        border-radius: 100%;
        line-height: 22px;
        font-size: 20px;
        margin-top: 8px;
        background: var(--primary-color) !important;
        box-shadow: 1px 2px 3px #f2f2f2;
        cursor: pointer;
    }

    .agency-autocomplete {
        top: calc(100% + 0px) !important;
        display: block;
        width: 100%;
        text-align: left;
        box-shadow: 1px 2px 2px #ccc;
        background: #fff;
        border: 1px solid #ccc;
        padding: 0;
        position: relative !important;
    }

    .autoserach-complete2 {
        overflow-y: auto;
        max-height: 246px;
    }

    .agency-li {
        cursor: pointer;
        color: #505050;
        font-size: 13px;
        font-weight: 400;
        line-height: 19px;
        position: relative;
        text-overflow: ellipsis;
        overflow: hidden;
        padding-left: 12px !important;
        padding-top: 4px !important;
        padding-bottom: 4px !important;
        font-size: 12px !important;
    }

        .agency-li:after {
            left: 0 !important;
            right: 0 !important;
        }

    .ul-agency-list {
        max-height: 214px;
        overflow-y: auto;
        margin: 0;
        list-style: none;
        padding: 0;
    }

    .agency-li .item-a {
        color: #666;
        text-decoration: none;
        font-weight: 500;
    }

        .agency-li .item-a i {
            margin-right: 5px;
        }

    .btn-close-agency-auto {
        box-shadow: 1px 2px 2px #ccc;
        background: #fff;
        border: 1px solid #ccc;
        padding: 6px 0;
    }

    .agency-li {
        margin-bottom: 0 !important;
        border-bottom: 1px solid #fafafa !important;
    }

    .with-agy-autocomplete {
        min-width: 455px;
    }

    .i-hdr-lgout {
        position: relative;
        top: 0;
    }

    .lnk-hdr-backoffice {
        position: relative;
        bottom: 10px;
        right: 12px;
        color: #fff !important;
        float: right;
        padding: 2px 15px 0px 0;
        border-bottom: 2px solid var(--primary-color);
        font-size: 12px;
        text-transform: uppercase;
    }

        .lnk-hdr-backoffice a {
            padding: 0;
            text-decoration: none;
            color: var(--primary-color) !important;
        }

        .lnk-hdr-backoffice:after {
            content: "\f105";
            font-family: "Font Awesome 5 Pro";
            font-weight: 300;
            position: absolute;
            top: 10px;
            right: 0;
            font-size: 14px;
            color: var(--primary-color);
        }

    .item-subjectCode {
        position: relative;
        margin-left: 5px;
        font-weight: 600;
        color: var(--primary-color)
    }

        .item-subjectCode:before {
            content: "(";
            position: absolute;
            left: -6px;
            bottom: 0px;
        }

        .item-subjectCode:after {
            content: ")";
            position: absolute;
            right: -6px;
            bottom: 0px;
        }

    .hdr-btn-stg {
        font-size: 12px;
        text-transform: capitalize;
        padding-right: 34px;
        /* margin-left: 20px !important; */
    }

        .hdr-btn-stg:after {
            content: "\f0d7";
            right: 9px;
            font-size: 26px;
            position: absolute;
            font-family: "Font Awesome 5 Pro";
            font-weight: 900;
            border-top: 0;
        }

    .cancel-autologin {
        font-size: var(--betafont);
        padding: 0 5px !important;
        margin-left: 5px;
        margin-right: 5px;
        margin-bottom: 2px;
        text-decoration: none;
    }

    .hdr-dxlgn-msg {
        color: #666;
        font-weight: 600;
    }

        .hdr-dxlgn-msg strong {
            color: var(--secondary-color);
            font-weight: 900;
        }

    .sep-line {
        height: 1px;
        border-bottom: 1px solid #eee;
    }

    .flexdatalist-results {
        border-right: 0 !important
    }

    .change-login-body {
        padding-top: 20px !important;
        padding-bottom: 10px !important;
        text-align: center !important;
        display: block;
        width: 100%;
        clear: both;
        font-weight: 400;
        color: #212529;
        text-align: inherit;
        white-space: nowrap;
        background-color: transparent;
        border: 0;
    }

    .flexdatalist-box-container {
        padding: 0 15px;
    }

        .flexdatalist-box-container .flexsearch-with-icon .flexsearch-input {
            font-weight: 600;
            padding: 8px 35px !important;
            width: 100% !important;
            font-size: 12px;
            margin-bottom: 0px;
        }

    .dropdown-divider {
        height: 0;
        margin: 0.5rem 0;
        overflow: hidden;
        border-top: 1px solid #e9ecef;
    }

    .change-login-footer {
        display: block;
        width: 100%;
        padding: 8px;
        clear: both;
        font-weight: 400;
        color: var(--primary-color);
        text-align: inherit;
        white-space: nowrap;
        background-color: transparent;
        border: 0;
        text-decoration: none;
        font-size: 12px;
    }

    .dc-back-to-lgn {
        margin-bottom: 10px;
    }

    .flex-loader,
    .flex-btn-clear {
        position: relative;
        top: 5px;
        right: -6px;
        display: none;
    }

    .dc-ssr-content input[disabled="disabled"],
    .dc-ssr-content select[disabled="disabled"] {
        /* background-color: #e5e5e5; */
        color: var(--secondary-color);
        /* border: 1px solid #ccc; */
        font-weight: 500;
    }

    .service-chk-price label:before {
        top: 4px !important;
    }
    /* ---------------------------------------------------------------------------------------- */
    /* ---------------------------------------------------------------------------------------- */
    /* Chapter # login as a agency style end*/
    /* ---------------------------------------------------------------------------------------- */
    /* ---------------------------------------------------------------------------------------- */
    /*captcha css start */
    .captcha-box {
        display: inline-flex !important;
        height: 52px !important;
        background: #ffffff !important;
        align-items: center !important;
        padding: 10px 12px !important;
        border: 1px solid var(--surface-light) !important;
        border-radius: 8px !important;
        max-width: 380px !important; /* Increased from 305px */
        box-shadow: 0 2px 6px rgba(0,0,0,0.03) !important;
    }

    .txt-captcha {
        background: var(--tertiary-color-style) !important;
        color: var(--secondary-color) !important;
        font-weight: 600 !important;
        height: 50px !important;
        padding: 6px 12px !important;
        text-align: center !important;
        max-width: 210px !important; /* Increased from 150px to make chars visible */
        border: 1px solid var(--surface-light) !important;
        border-radius: 6px !important;
        outline: none !important;
    }

    .captcha-img-box {
        border-radius: 6px !important;
        /*overflow: hidden !important;*/
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 40px !important;
        min-width: 120px !important;
        background-color: #fcfcfc !important;
    }

        .captcha-img-box img {
            height: 100% !important;
            width: auto !important;
            max-width: 100% !important;
            object-fit: contain !important; /* Force browser to fully display the captcha image without cropping! */
        }

    .i-refresh-captcha {
        cursor: pointer !important;
        padding: 0 12px !important;
        display: block !important;
        color: var(--primary-color) !important;
        height: 52px !important;
        line-height: 52px !important;
        transition: color 0.2s ease !important;
    }

        .i-refresh-captcha:hover {
            color: var(--quaternary-color) !important;
        }

    .captcha-val-msg {
        color: #cf3d3f !important;
        position: absolute !important;
        bottom: -27px !important;
        font-size: 12px !important;
        left: 0 !important;
    }
    /* Premium B2B Agency Registration Container Overrides */
    body.login-page #formRegister {
        background: rgba(255, 255, 255, 0.96) !important;
        padding: 44px 40px !important;
        border-radius: 20px !important;
        box-shadow: 0 15px 45px rgba(46, 49, 146, 0.12), 0 5px 15px rgba(0, 0, 0, 0.04) !important;
        border: 1px solid rgba(255, 255, 255, 0.6) !important;
        max-width: 1040px !important;
        margin: 60px auto !important;
    }

        body.login-page #formRegister .lbl-loginname {
            color: var(--primary-color) !important;
            font-size: 24px !important;
            font-weight: 700 !important;
            border-bottom: none !important;
            padding-bottom: 0 !important;
        }

        body.login-page #formRegister .dc-reg-header-block {
            border-bottom: 2px solid var(--surface-light) !important;
            padding-bottom: 16px !important;
            margin-bottom: 28px !important;
        }

        body.login-page #formRegister .lnk-back-to-login {
            display: inline-flex !important;
            align-items: center !important;
            gap: 8px !important;
            color: var(--primary-color) !important; /* Royal Indigo */
            font-weight: 700 !important;
            font-size: 14px !important;
            text-transform: uppercase !important;
            letter-spacing: 0.5px !important;
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
            background: var(--tertiary-color-style) !important;
            padding: 8px 16px !important;
            border-radius: 8px !important;
            border: 1px solid var(--surface-light) !important;
            text-decoration: none !important;
        }

            body.login-page #formRegister .lnk-back-to-login:hover {
                color: #ffffff !important;
                background: var(--primary-color) !important;
                border-color: var(--primary-color) !important;
                box-shadow: 0 4px 12px rgba(46, 49, 146, 0.15) !important;
                transform: translateY(-1px) !important;
                text-decoration: none !important;
            }

        body.login-page #formRegister .fl-pas-num-head {
            /*color: var(--primary-color) !important;*/ /* Royal Indigo header color */
            font-weight: 700 !important;
            font-size: 18px !important;
            border-bottom: 1px solid var(--surface-light) !important;
            /*padding-bottom: 10px !important;*/
            margin-bottom: 0px !important;
        }

        body.login-page #formRegister .form-cntrl {
            border: 1px solid var(--surface-light) !important;
            border-radius: 8px !important;
            background-color: #ffffff !important;
            transition: all 0.3s ease !important;
            padding: 8px 14px !important;
        }

            body.login-page #formRegister .form-cntrl:focus-within {
                border-color: var(--primary-color) !important;
                box-shadow: 0 4px 12px rgba(46, 49, 146, 0.05) !important;
            }
            /* Highlight registration form fields on validation errors */
            body.login-page #formRegister .form-cntrl:has(input.field-error),
            body.login-page #formRegister .form-cntrl.field-error {
                border: 1px solid #fc9797 !important;
                background-color: rgba(252, 151, 151, 0.04) !important;
            }

        body.login-page #formRegister input.field-error,
        body.login-page #formRegister select.field-error {
            color: #cf3d3f !important;
        }

        body.login-page #formRegister .form-input {
            border: none !important;
            background: transparent !important;
            width: 100% !important;
            font-size: 14px !important;
            outline: none !important;
            color: var(--secondary-color) !important;
        }

        body.login-page #formRegister label {
            color: var(--secondary-color) !important;
            font-weight: 600 !important;
            font-size: 13px !important;
        }
    /*captcha css end */
    .altfare-rule-terms {
        padding: 4px;
        margin: 8px 0 0 0;
    }

    .alt-comprehensive-fare {
        padding-top: 8px;
        margin-bottom: 8px;
    }

    .lnk-alternate-farerule {
        margin-left: 15px;
        color: var(--primary-color) !important;
        text-decoration: underline !important;
    }

    .hotel-col-search-main {
        display: flex;
        gap: 8px;
    }

    .lang-container {
        position: relative;
        /* margin-right: 20px; */
    }

    .before-select {
        font-size: 16px;
        color: #f3f3f3;
        position: absolute;
        left: 30px;
        top: calc(50% - 8px);
        z-index: 1;
    }

    .cart-item-price-label {
        display: flex !important;
        width: 100%;
        justify-content: end;
    }

    .prs-info {
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0;
        font-size: 0.9em;
        color: #00569b;
        font-weight: 900;
    }

    .sw-cart-item-price {
        display: flex !important;
        width: 100%;
        justify-content: end;
    }

    .tooltipster-ele {
        /* display: none !important;*/
    }

    .sw-i-tooltipster {
        color: #E4740D;
        cursor: pointer;
    }

    .sw-tooltipster {
        max-width: 700px;
        width: 100%;
        padding: 0 !important;
    }

        .sw-tooltipster .tooltipster-box .tooltipster-content {
            padding: 0 !important;
        }

        .sw-tooltipster.tooltipster-sidetip.tooltipster-top .tooltipster-box {
            margin-bottom: 8px;
            margin-right: 50px;
        }

        .sw-tooltipster.tooltipster-base .tooltipster-box {
            border-radius: 0px;
        }

        .sw-tooltipster.sw-tooltipster .tooltipster-box {
            background-color: #fff !important;
            border: 1px solid #ffffff !important;
            box-shadow: 0px 6px 28.8px 3.2px rgb(61 61 61 / 44%) !important;
        }

        .sw-tooltipster.tooltipster-top .tooltipster-arrow .tooltipster-arrow-uncropped .tooltipster-arrow-border {
            border-top-color: #E4740D !important;
        }

        .sw-tooltipster.tooltipster-bottom .tooltipster-arrow .tooltipster-arrow-uncropped .tooltipster-arrow-border {
            border-bottom-color: #E4740D !important;
        }

        .sw-tooltipster.tooltipster-right .tooltipster-arrow .tooltipster-arrow-uncropped .tooltipster-arrow-border {
            border-right-color: #E4740D !important;
        }

        .sw-tooltipster.tooltipster-left .tooltipster-arrow .tooltipster-arrow-uncropped .tooltipster-arrow-border {
            border-left-color: #E4740D !important;
        }

        .sw-tooltipster.tooltipster-top .tooltipster-arrow .tooltipster-arrow-uncropped .tooltipster-arrow-background {
            border-top-color: #E4740D !important;
        }

        .sw-tooltipster.tooltipster-bottom .tooltipster-arrow .tooltipster-arrow-uncropped .tooltipster-arrow-background {
            border-bottom-color: #E4740D !important;
        }

        .sw-tooltipster.tooltipster-right .tooltipster-arrow .tooltipster-arrow-uncropped .tooltipster-arrow-background {
            border-right-color: #E4740D !important;
        }

        .sw-tooltipster.tooltipster-left .tooltipster-arrow .tooltipster-arrow-uncropped .tooltipster-arrow-background {
            border-left-color: #E4740D !important;
        }

    .tooltipster-ele-content {
        padding: 0;
        color: var(--secondary-color);
    }

    .max-w-430 {
        max-width: 430px;
    }

    .tooltipster-ele-content-title {
        background: #E4740D;
        color: #fff;
        padding: 8px;
        margin-bottom: 0;
    }

    .tooltipster-ele-content-footer {
        background: #444;
        color: #fff;
        padding: 8px;
        padding-left: 10px;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        margin-bottom: 0 !important;
    }

    .tooltipster-ele-content-box {
        padding: 8px;
    }

    .sw-tooltipster-sep {
        border: 1px solid #f3f3f3;
        background-color: #c3c3c3;
        margin: 0;
    }

    .sw-tooltipster-summury {
        padding: 8px 10px;
        background: #efefef;
    }

    .hp-with-agyfee {
        color: var(--secondary-color-lite) !important;
    }

    .search-trvlr-box {
        /* border-radius: 12px; */
        /* padding: 8px; */
        /* backsground: #f1f1f1; */
    }

        .search-trvlr-box .flex-loader,
        .search-trvlr-box .flex-btn-clear {
            top: 3px !important;
            right: 0px !important;
        }

    .chk-save-pax {
        margin-top: 8px;
        text-transform: uppercase;
        color: var(--secondary-color) !important;
    }

        .chk-save-pax label {
            padding-left: 4px;
            font-size: 16px !important;
            font-weight: 600 !important;
            color: var(--secondary-color);
        }

        .chk-save-pax input[type=checkbox]:checked + label {
        }

        .chk-save-pax label:before {
            font-size: 20px !important;
            color: var(--secondary-color);
        }

    .col-occupants i.fa-male,
    .col-occupants i.fa-female {
        margin-right: 4px;
    }

    @media only screen and (max-width: 990px) {
        .post-slide {
            margin: 0 20px;
        }

        .news-container .owl-buttons .owl-prev {
            left: -20px;
            padding: 5px 14px;
        }

        .news-container .owl-buttons .owl-next {
            right: -20px;
            padding: 5px 14px;
        }
    }

    @media only screen and (max-width: 767px) {
        .news-container .owl-buttons .owl-prev {
            left: 0px;
            bottom: 260px;
        }

        .news-container .owl-buttons .owl-next {
            right: 0px;
            bottom: 260px;
        }
    }
    /*  end */

    @media (min-width: 768px) {
        .hotel-box-mono .col-hotel-data {
            flex-direction: row;
        }
    }

    .age-select.field-error {
        border-color: #f5bcbc !important;
        /* Light red border for error */
    }


    .dc-val-nationality.field-error {
        border: 0 none !important;
    }

        .dc-val-nationality.field-error .search-box-style {
            border: 1px solid #fc9797 !important;
        }

    .sw-cart-trsft-dtl {
        display: block;
        border: solid 1px #eee;
        border-top: 0;
        padding: 14px;
        max-width: 97%;
    }

    .sw-cart-trsft-dtl-lnk-main {
        background: #f7f7f7;
        max-width: 97%;
    }

    .sw-cart-trsft-dtl-lnk {
        justify-content: space-between !important;
        padding: 0 8px !important;
        max-width: 100% !important;
        flex: 1 !important;
    }

    .sw-trnsfr-cart-item {
        border-bottom: 1px solid #f7f7f7;
        padding-bottom: 14px
    }

    .trnsfr-cart-fl-right {
        align-self: flex-start;
    }

    .transfer-disable {
        pointer-events: none;
        opacity: 0.5;
    }

    .bookign-frm-select-box {
        padding-bottom: inherit;
    }

    .bookign-frm-select {
        height: auto !important;
        padding: 0 0 !important;
        box-shadow: none !important;
        font-size: var(--textboxfont);
        border: 1px solid #f7ebeb;
        font-weight: 500;
        color: var(--secondary-color);
    }

    .flexdatalist-results.with-flags .item {
        display: flex;
        align-items: center;
    }

    .flexdatalist-results.with-flags .item-flag {
        margin-right: 8px;
    }

    .sw-htlctry-box {
        padding: 0 12px;
    }

    .sw-htl-search-footer {
        justify-content: space-between;
    }

    .flexdatalist-results.with-flags {
        border: 1px solid #ebebeb !important;
        margin-top: 6px;
    }

    .sw-htlctry-box .flex-btn-clear {
        top: -8px;
        right: -6px;
        cursor: pointer;
    }


    .datepicker__month-day--first-day-selected,
    .datepicker__month-day--last-day-selected, .datepicker__month-day--today, .datepicker__close-button {
        background-color: var(--primary-color) !important;
    }

    .datepicker__month-button:hover {
        background-color: var(--primary-color) !important;
    }


    .show-more-wrapper {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 25px 0 40px;
    }
 

        .show-more-btn:hover {
            background-color: #b39d68;
            color: #fff !important;
            text-decoration: none;
        }

    .header-btn.dd-lang {
        min-width: 145px !important;
    }
.top-header .lbl-loginname{
    color: var(--secondary-color) !important;
    font-weight: 600 !important;
    font-size: 13px !important;
}
 
.change-login-dropdown .dc-flex-controls {
    position: absolute;
    right: 15px;
    top: calc(50% - 15px);
}

/* ==========================================================================
   ULTRA-PREMIUM SEARCH RESULT CARDS (FLIGHTS, HOTELS, CARS, TRANSFERS)
   ========================================================================== */

/* High-contrast solid white wrappers with premium floating Resort shadows for hotels */
.single-hotel-box-container {
    border-radius: 16px !important;
    box-shadow: 0 10px 30px rgba(46, 49, 146, 0.05), 0 2px 4px rgba(74, 46, 22, 0.01) !important;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease !important;
    margin-top: 24px !important;
    width: 100%;
}

/* Micro-animations: Soft elevation rise and shadow drop on hover for hotels */
.single-hotel-box-container:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 20px 40px rgba(46, 49, 146, 0.1), 0 4px 10px rgba(74, 46, 22, 0.03) !important;
    border-color: rgba(46, 49, 146, 0.15) !important;
}

/* Make the flight search details container transparent, borderless, and shadowless */
.search-flight-detail-container {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
    transition: none !important;
    margin-top: 24px !important;
    width: 100% !important;
}

/* Style the main flight segment box (.search-flight-detail.dc-list-box) as a premium card */
/*.search-flight-detail.dc-list-box {
    background-color: #ffffff !important;
    border: 1px solid var(--surface-light) !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 30px rgba(46, 49, 146, 0.04), 0 1px 3px rgba(74, 46, 22, 0.02) !important;
    padding: 24px !important;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease !important;
    position: relative !important;
    width: 100% !important;
}*/

/* Hover micro-animations on the flight card */
.search-flight-detail.dc-list-box:hover {
    transform: translateY(-3px) !important;
    /*box-shadow: 0 16px 36px rgba(46, 49, 146, 0.08), 0 4px 10px rgba(74, 46, 22, 0.02) !important;*/
    border-color: rgba(46, 49, 146, 0.15) !important;
}

 
 

/* Clean up duplicate internal styling inside Flights result cards */
/*.search-flight-detail-container .search-fl-dtl,
.search-flight-detail-container .search-fl-left,*/
/*.search-flight-detail-container .search-fl-right {
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
}*/

/* Clean up duplicate internal styling, borders and colors inside Hotels/Transfers/Cars result cards */
.single-hotel-box-container .single-hotel-box,
.single-hotel-box-container .single-hotel-more-box,
.single-hotel-box-container .col-hotel-data,
.single-hotel-box-container .col-price-data {
    background-color: #ffffff !important;
    border: none !important;
}

/* Realign accordion more-box border neatly with outer card body */
.single-hotel-box-container .single-hotel-more-box {
    border-top: 1px solid var(--surface-light) !important;
    /*border-radius: 0 !important;*/
}

/* ==========================================================================
   ULTRA-PREMIUM CART, BOOKING, & CONFIRMATION FLOW REDESIGN
   ========================================================================== */

/* Remove harsh dark backgrounds from product and payment section headers */
.cart-head-fl,
.pay-method-head {
    background-color: #FAF8F5 !important;
    color: var(--primary-color) !important;
    border-bottom: 1.5px solid var(--surface-light) !important;
    border-top-left-radius: 12px !important;
    border-top-right-radius: 12px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.8px !important;
    padding: 16px 20px !important;
    text-transform: uppercase !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
}

.cart-head-fl i,
.pay-method-head i {
    color: var(--quaternary-color) !important;
    margin-right: 10px !important;
    font-size: 15px !important;
}

/* Premium white card wrapping for each cart container item */
.cart-fl-container {
    border: 1px solid var(--surface-light) !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    /*overflow: hidden !important*/;
    box-shadow: 0 4px 16px rgba(46, 49, 146, 0.02) !important;
    margin-bottom: 24px !important;
    width: 100%;
}
     

    .cart-row {
        border: none !important;
        background: transparent !important;
    }

.cart-flight-detail {
    border: none !important;
    padding: 24px !important;
    background: #ffffff !important;
}

.cart-fl-dtl {
    border: none !important;
    background: transparent !important;
}

/* Payment Mode Details Container cleanup */
.pay-method-detail {
    padding: 24px !important;
    background: #ffffff !important;
    border: 1px solid var(--surface-light) !important;
    border-top: none !important;
    border-bottom-left-radius: 12px !important;
    border-bottom-right-radius: 12px !important;
}

/* Highly readable Total Price labels and B2B checkout focus */
.cart-total-box {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    margin-right: 24px !important;
    justify-content: center !important;
}

.cart-total-box .cart-total {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--secondary-color) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    line-height: 1.4 !important;
}

.cart-total-box .cart-total .dc-lbl-fnl-tot,
.cart-total-type1 .cart-total span {
    color: var(--quaternary-color) !important; /* Standout Sunset Orange for total amount digits */
    font-size: 26px !important;
    font-weight: 800 !important;
    margin-left: 8px !important;
}

.cart-total-type1 .cart-total {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--secondary-color) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* Fix cart header texts on non-active blocks to match woody brown */
.cart-head:not(.cart-total-bottom2) .cart-total-box .cart-total, 
.cart-head:not(.cart-total-bottom2) .cart-total-box .cart-name {
    color: var(--secondary-color) !important;
}

/* Clean outline status badges for Confirmation pages (SaaS-grade elegant status blocks) */
/* Clean compact status badges for Confirmation pages (SaaS-grade elegant status blocks) */
.reservation-dtl {
    border-radius: 10px !important;
    padding: 12px 14px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    border: 1px solid transparent !important;
    margin-bottom: 12px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 4px !important;
    transition: all 0.25s ease !important;
}

.reservation-dtl i {
    margin-bottom: 4px !important;
    font-size: 20px !important;
}

.reservation-dtl.success {
    background-color: rgba(46, 204, 113, 0.05) !important;
    color: #1E8449 !important;
    border-color: rgba(46, 204, 113, 0.15) !important;
}
.reservation-dtl.success i {
    color: #27AE60 !important;
}

.reservation-dtl.failed {
    background-color: rgba(231, 76, 60, 0.05) !important;
    color: #922B21 !important;
    border-color: rgba(231, 76, 60, 0.15) !important;
}
.reservation-dtl.failed i {
    color: #C0392B !important;
}

.reservation-dtl.pending,
.reservation-dtl.warning {
    background-color: rgba(243, 156, 18, 0.05) !important;
    color: #B7950B !important;
    border-color: rgba(243, 156, 18, 0.15) !important;
}
.reservation-dtl.pending i,
.reservation-dtl.warning i {
    color: #D35400 !important;
}

/* Redesigned button-like Open Reservation link inside status badge */
.reservation-dtl .view-res-link {
    margin-top: 6px !important;
    padding: 5px 12px !important;
    background-color: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 20px !important;
    color: var(--secondary-color) !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02) !important;
}

.reservation-dtl .view-res-link strong {
    font-weight: 700 !important;
}

.reservation-dtl .view-res-link:hover {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    border-color: var(--primary-color) !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08) !important;
}

/* Supplier Booking Reference stylish badge */
.reservation-dtl .bookref-label {
    margin: 4px 0 0 0 !important;
    display: block !important;
    background: transparent !important;
    padding: 0 !important;
}

.reservation-dtl .bookref-label span {
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    background-color: rgba(0, 0, 0, 0.04) !important;
    color: var(--secondary-color) !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    letter-spacing: 0px !important;
    text-transform: none !important;
    display: inline-block !important;
}

.reservation-dtl .bookref-label a {
    text-decoration: none !important;
}

.reservation-dtl .bookref-label h6 {
    margin: 0 !important;
}

/* Premium horizontal styling for Stamp Duty & Offers */
.cart-card-offer {
    margin-top: 8px !important;
    padding: 8px 12px !important;
    background-color: rgba(46, 49, 146, 0.04) !important;
    border: 1px dashed rgba(46, 49, 146, 0.15) !important;
    border-radius: 8px !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    color: var(--primary-color) !important;
    display: flex !important;
    justify-content: space-between !important;
    flex-direction: column;
    text-align: left !important;
}

.cart-card-offer br {
    display: none !important;
}

.cart-card-offer span {
    display: inline-block !important;
    padding: 0 !important;
}

.cart-card-offer span:first-child {
    padding-bottom: 0 !important;
}

.cart-card-offer span:last-child {
   
    font-weight: 700 !important;
    color: var(--quaternary-color) !important;
}

/* ==========================================================================
   CAR PRICING BLOCK SIDEBAR & TRANSFER DIFFERENTIATION OVERRIDES
   ========================================================================== */

/* Desktop-specific Sidebar layouts to structure cart details and pricing panels */
@media (min-width: 992px) {
    .cart-fl-container .cart-fl-dtl {
        display: flex !important;
        align-items: stretch !important;
        justify-content: space-between !important;
        width: 100% !important;
    }

    .cart-fl-container .cart-fl-left {
        flex: 1 !important;
        padding: 0px !important;
        background: #ffffff !important;
    }

    .cart-fl-container .cart-fl-right,
    .cart-fl-container .trnsfr-cart-fl-right {
        flex: 0 0 250px !important;
        min-width: 250px !important;
        max-width: 250px !important;
        background: #FAF8F5 !important; /* Soft sand background sidebar */
        /*border-left: 1px solid var(--surface-light) !important;*/
        padding: 24px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        align-items: stretch !important;
        text-align: right !important;
        border-radius: 12px !important;
        align-self: stretch !important;
    }
}

/* ==========================================================================
   HIGH-END VISUAL HIERARCHY OVERRIDES: PASSENGER & BOOKING FLOWS
   ========================================================================== */

/* Main Booking Page Category Headers (Primary Business Card Headers) */
.passen-dtl,
.cart-head-fl,
.pay-method-head,
.guest-dtl-head,
.trnsfr-head,
.act-head,
.car-head,
.service-head,
.booking-business-head {
    background-color: #FAF8F5 !important;
    color: var(--primary-color) !important;
    border-bottom: 2px solid var(--surface-light) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.8px !important;
    padding: 18px 24px !important;
    text-transform: uppercase !important;
    border-radius: 12px 12px 0 0 !important;
    display: flex !important;
    align-items: center !important;
}

/* Inner Passenger Sub-section Card Wrapper - Integrated seamlessly inside Parent Business Section */
.fl-pas-dtl-pax-row,
.dc-transfer-services,
.guest-single-box,
.trnsfr-pax-box,
.act-pax-box,
.car-pax-box,
.service-pax-box {
    background: #ffffff !important;
    border: none !important; /* Strip harsh nested borders */
    border-top: 1px dashed var(--surface-light) !important; /* Dashed dividing separators inside parent */
    border-radius: 0 !important; /* Remove separate curved corners for integration */
    margin: 0 !important; /* Flush align with parent margins */
    padding: 24px 24px !important;
    box-shadow: none !important; /* Remove separate shadows to merge with parent container */
    overflow: visible !important;
    width: 100% !important;
    /*display: block !important;*/
}

/* Specific reset for first child elements to prevent top border overlap with card header */
.fl-pas-dtl-pax-row:first-of-type,
.dc-transfer-services:first-of-type,
.guest-single-box:first-of-type,
.trnsfr-pax-box:first-of-type,
.act-pax-box:first-of-type,
.car-pax-box:first-of-type,
.service-pax-box:first-of-type {
    border-top: none !important;
}

/* Unified resets for zero bottom margin variants */
.fl-pas-dtl-pax-row.mb-0 {
    margin-bottom: 0 !important;
    padding-bottom: 24px !important;
}


/* Passenger Sub-section Heading (Differentiated from Primary Business Header) */
.fl-pas-num-head, 
.guest-no-header,
.trnsfr-pas-num-head,
.act-pas-num-head,
.car-pas-num-head,
.service-pas-num-head,
.booking-sub-head {
    background-color: #FAF8F5 !important; /* Soft sand instead of dark indigo */
    border: 1px solid var(--surface-light) !important;
    color: var(--secondary-color) !important; /* Elegant Woody Brown text */
    padding: 12px 18px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    border-radius: 8px !important;
    margin-top: 0 !important;
    /*margin-bottom: 20px !important;*/
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    float: none !important; /* Fix any older float layouts */
}

/* Inner elements inside passenger form layout */
.fl-pas-num-head i,
.guest-no-header i,
.trnsfr-pas-num-head i,
.act-pas-num-head i,
.car-pas-num-head i,
.service-pas-num-head i,
.booking-sub-head i {
    color: var(--quaternary-color) !important; /* Warm gold/sunset icon */
    font-size: 14px !important;
}

/* High contrast inputs inside the passenger content card to feel premium */
.guest-single-box .form-cntrl,
.fl-pas-dtl-pax-row .form-cntrl,
.trnsfr-pax-box .form-cntrl,
.act-pax-box .form-cntrl,
.car-pax-box .form-cntrl,
.service-pax-box .form-cntrl,
.guest-single-box .search-box-style,
.fl-pas-dtl-pax-row .search-box-style,
.trnsfr-pax-box .search-box-style,
.act-pax-box .search-box-style,
.car-pax-box .search-box-style,
.service-pax-box .search-box-style {
    background-color: #ffffff !important;
    border: 1px solid var(--surface-light) !important;
}

/* Ensure validation field-errors take precedence over passenger input box styles */
.guest-single-box .form-cntrl.field-error,
.fl-pas-dtl-pax-row .form-cntrl.field-error,
.trnsfr-pax-box .form-cntrl.field-error,
.act-pax-box .form-cntrl.field-error,
.car-pax-box .form-cntrl.field-error,
.service-pax-box .form-cntrl.field-error,
.guest-single-box .search-box-style.field-error,
.fl-pas-dtl-pax-row .search-box-style.field-error,
.trnsfr-pax-box .search-box-style.field-error,
.act-pax-box .search-box-style.field-error,
.car-pax-box .search-box-style.field-error,
.service-pax-box .search-box-style.field-error,
.guest-single-box select.age-select.field-error,
.fl-pas-dtl-pax-row select.age-select.field-error,
.guest-single-box .dc-child-age.field-error,
.fl-pas-dtl-pax-row .dc-child-age.field-error,
.guest-single-box .age-select.highlight-field-error,
.fl-pas-dtl-pax-row .age-select.highlight-field-error,
.guest-single-box .dc-child-age.highlight-field-error,
.fl-pas-dtl-pax-row .dc-child-age.highlight-field-error,
.guest-single-box .highlight-field-error,
.fl-pas-dtl-pax-row .highlight-field-error,
.highlight-field-error {
    border: 1px solid #fc9797 !important;
    background-color: rgba(252, 151, 151, 0.04) !important;
    color: #cf3d3f !important;
}

/* Ensure text colors inside warning selectors display in validation red */
.highlight-field-error select,
.highlight-field-error input,
.field-error select.age-select,
.field-error .dc-child-age,
select.age-select.field-error,
.dc-child-age.field-error {
    color: #cf3d3f !important;
}



/* ==========================================================================
   MULTI-BUSINESS SEGMENTATION CARDS (COLOR-CODED VISUAL TRACKS)
   ========================================================================== */

.fl-pas-dtl,
.dc-cart-item-trans,
.dc-item-services-main {
    margin-bottom: 32px !important;
    border: 1px solid var(--surface-light) !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    /*overflow: hidden !important;*/
    box-shadow: 0 6px 18px rgba(46, 49, 146, 0.02) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    display: block !important;
}

.fl-pas-dtl:hover,
.dc-cart-item-trans:hover,
.dc-item-services-main:hover {
    box-shadow: 0 10px 24px rgba(46, 49, 146, 0.04) !important;
}

/* Premium colored left accent bars to immediately recognize the active business */
.fl-pas-dtl {
    border-left: 5px solid var(--primary-color) !important; /* Royal Indigo for Flights */
}

.dc-cart-item-trans {
    border-left: 5px solid var(--surface-light) !important; /* Sandy Beige for Transfers */
}

.dc-item-services-main {
    border-left: 5px solid var(--quaternary-color) !important; /* Sunset Orange for Activities & Services */
}

/* ==========================================================================
   ACTIVITY DETAILS PAGE LEGIBILITY & CONTENT VISIBILITY
   ========================================================================== */

/* Elevate the Activity Detail Container into a bespoke, crisp white card */
.child-container {
    background: rgba(255, 255, 255, 0.98) !important;
    border: 1px solid var(--surface-light) !important;
    border-radius: 16px !important;
    padding: 30px !important;
    box-shadow: 0 12px 40px rgba(46, 49, 146, 0.04), 0 2px 4px rgba(74, 46, 22, 0.01) !important;
    margin: 0 auto 40px auto !important;
    width: 100% !important;
    max-width: var(--viewportsize, 1320px) !important;
}

/* Ensure headings and descriptors inside activity details have premium Woody Brown readability */
.child-container .hotel-name {
    color: var(--primary-color) !important; /* Royal Indigo for the main activity title */
    font-weight: 800 !important;
    font-size: 28px !important;
    letter-spacing: -0.5px !important;
    line-height: 1.2 !important;
    margin-bottom: 12px !important;
}

/* Facility items (Duration, Languages, Dates, Address) */
.sw-act-faci-item {
    background-color: #FAF8F5 !important; /* Elegant soft sand background for visual boxes */
    border: 1px solid var(--surface-light) !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    margin-bottom: 16px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.sw-act-faci-item i {
    color: var(--quaternary-color) !important; /* Sunset Orange icons */
    font-size: 18px !important;
}

.sw-act-faci-item .desc {
    color: var(--secondary-color) !important; /* Woody Brown labels */
    font-weight: 700 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.sw-act-faci-item .desc2 {
    color: var(--primary-color) !important; /* Royal Indigo values */
    font-weight: 700 !important;
    font-size: 14px !important;
}

/* Activity detail paragraph texts and bullet items */
.sw-act-det-para,
.sw-act-det-list1-desc {
    color: var(--secondary-color) !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

/* Bullet list icons */
.sw-act-det-list1 i {
    font-size: 14px !important;
    margin-right: 8px !important;
}

/* Activity sections horizontal separators */
.sw-act-det-seperator {
    border-top: 1px dashed var(--surface-light) !important;
    margin: 24px 0 !important;
    height: 0 !important;
}

/* Book now sidebar form card */
.sw-act-det-form-box {
    background: #ffffff !important;
    border: 1px solid var(--surface-light) !important;
    border-radius: 16px !important;
    padding: 24px !important;
    box-shadow: 0 8px 24px rgba(46, 49, 146, 0.03) !important;
}

.sw-act-det-form-header {
    border-bottom: 1px dashed var(--surface-light) !important;
    padding-bottom: 16px !important;
    margin-bottom: 20px !important;
}

.sw-act-det-form-title {
    color: var(--secondary-color) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.sw-act-det-form-price {
    color: var(--quaternary-color) !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    display: block !important;
    margin-top: 4px !important;
}

/* Back navigation link */
.list-back-link a {
    color: var(--primary-color) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    letter-spacing: 0.8px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    text-decoration: none !important;
    margin-bottom: 16px !important;
    transition: color 0.2s ease !important;
}

.list-back-link a:hover {
    color: var(--quaternary-color) !important;
}

/* Map collapse borders */
#sw-collapse-map {
    border-radius: 12px !important;
    /*overflow: hidden !important;*/
    border: 1px solid var(--surface-light) !important;
    margin-top: 12px !important;
}

/* ==========================================================================
   WORLD-CLASS GRAPHIC DESIGN: SEPARATE RESULTS LAYOUT CARDS
   ========================================================================== */

/* 1. Global Results Page Outer Container Reset to allow separate floating cards */
.offcanvas-container,
.sw-listing-container,
.listing-wrapper-main {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
}

/* 2. Top Result Info & Sort Bar (Clean, Sleek Horizontal Card) */
.hotel-search-list-box,
.sort-by-div,
.search-list-head,
.sw-result-sort-bar,
.result-info-box {
    /* background: #ffffff1c !important;
    border: 1px solid #dddddd45 !important;*/
    border-radius: 12px !important;
    padding: 16px 0px !important;
    /*box-shadow: 0 6px 20px rgba(46, 49, 146, 0.02) !important;*/
    margin-bottom: 24px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    width: 100% !important;
    padding-bottom: 24px !important;
}

/* 3. Left Filter Sidebar Card (Luxury Vertical Sidebar Card) */
.adv-filter-div,
.filter-section,
.hotel-filter-box,
.sw-sidebar-filter,
.adv-filter-div-inr {
    background: #ffffff !important;
    border: 1px solid var(--surface-light) !important;
    border-radius: 16px !important;
    padding: 24px !important;
    box-shadow: 0 10px 30px rgba(46, 49, 146, 0.03) !important;
    margin-bottom: 24px !important;
    position: sticky !important;
    top: 100px !important; /* Premium sticky scrolling during browse! */
    z-index: 10 !important;
}

/* 4. Right Result Listing Area Column (Transparent Grid Column) */
.hotel-search-box-list,
.flight-search-box-list,
.transfer-search-box-list,
.activity-search-box-list,
.car-search-box-list,
.listing-result-section {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* 5. Center Load More Action Section (Sophisticated Dedicated Card Block) */
.show-more-wrapper {
   /* background: #ffffff !important;
    border: 1px solid var(--surface-light) !important;*/
    border-radius: 16px !important;
    padding: 24px !important;
    box-shadow: 0 8px 24px rgba(46, 49, 146, 0.02) !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 32px 0 40px 0 !important;
}

/* Load More Button Override for High-End Click Aesthetics */
.show-more-btn {
    background: linear-gradient(135deg, var(--quaternary-color), #F57C00) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 14px 40px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    box-shadow: 0 4px 14px rgba(255, 152, 0, 0.3) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    height: auto !important;
    min-width: 200px !important;
    cursor: pointer !important;
    display: inline-flex;
    justify-content: center !important;
    align-items: center !important;
    text-decoration: none !important;
}

.show-more-btn:hover {
    background: linear-gradient(135deg, #F57C00, #E65100) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(255, 152, 0, 0.45) !important;
    color: #ffffff !important;
}

/* ==========================================================================
   RESULTS LISTING CONTRAST & TYPOGRAPHY VISIBILITY FIXES
   ========================================================================== */

/* Ensure perfect visibility of Hotel Search Headers & Sort boxes inside White Cards */
.search-head,
.hotel-search-sort-box,
.search-head h1,
.search-head h2,
.search-head h3,
.search-head span,
.search-head p,
.hotel-search-sort-box span,
.hotel-search-sort-box label,
.hotel-search-sort-box select,
.hotel-search-sort-box option,
.hotel-search-sort-box a {
    color: var(--secondary-color) !important; /* Woody Brown for maximum legibility */
    font-weight: 600 !important;
}

/* Specific main title highlight inside search head */
.search-head h1,
.search-head h2,
.search-head h3 {
    color: var(--primary-color) !important; /* Royal Indigo for listing page headers */
    font-weight: 800 !important;
    font-size: 20px !important;
    letter-spacing: -0.5px !important;
    margin: 0 !important;
    text-transform: uppercase !important;
}

/* Ensure sorting dropdown form selects inside results headers are highly styled */
.hotel-search-sort-box select,
.sort-by-div select,
.sw-result-sort-bar select {
    border: 1px solid var(--surface-light) !important;
    border-radius: 8px !important;
    padding: 8px 16px !important;
    background-color: #ffffff !important;
    color: var(--secondary-color) !important;
    font-weight: 600 !important;
    outline: none !important;
    height: auto !important;
    font-size: 13px !important;
    cursor: pointer !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.hotel-search-sort-box select:hover,
.hotel-search-sort-box select:focus,
.sort-by-div select:hover,
.sort-by-div select:focus,
.sw-result-sort-bar select:hover,
.sw-result-sort-bar select:focus {
    border-color: var(--primary-color) !important;
    box-shadow: 0 2px 8px rgba(46, 49, 146, 0.05) !important;
}

/* ==========================================================================
   LISTING PAGE MARGINS & SIDEBAR LABEL VISIBILITY
   ========================================================================== */

/* Add premium vertical margins to results container blocks to separate them from top search inputs */
.hotel-search-list-box,
.dc-htl-grid-container,
.sw-listing-container,
.listing-wrapper-main {
    /*margin-top: 32px !important;*/
}

/* Perfect Visibility of Sidebar Filter Labels & Text Blocks */
.adv-filter-div label,
.filter-section label,
.hotel-filter-box label,
.sw-sidebar-filter label,
.adv-filter-div-inr label,
.adv-filter-div span,
.filter-section span,
.hotel-filter-box span,
.sw-sidebar-filter span,
.adv-filter-div-inr span,
.adv-filter-div p,
.filter-section p,
.hotel-filter-box p,
.sw-sidebar-filter p,
.adv-filter-div-inr p {
    color: var(--secondary-color) !important; /* Elegant Woody Brown text */
    font-weight: 600 !important;
    font-size: 13px !important;
}

/* Sidebar filter subsection category headers */
.adv-filter-div h3,
.filter-section h3,
.hotel-filter-box h3,
.sw-sidebar-filter h3,
.adv-filter-div-inr h3,
.adv-filter-div h4,
.filter-section h4,
.hotel-filter-box h4,
.sw-sidebar-filter h4,
.adv-filter-div-inr h4 {
    color: var(--primary-color) !important; /* Royal Ocean Indigo for filter category titles */
    font-weight: 700 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-top: 16px !important;
    margin-bottom: 12px !important;
    border-bottom: 1px dashed var(--surface-light) !important;
    padding-bottom: 8px !important;
    display: block !important;
}

/* ==========================================================================
   ALTERNATING ODD/EVEN HOTEL SEARCH RESULT LIST CARDS
   ========================================================================== */

 
 

 

/* Apply soft light backgrounds and borders to all input elements globally */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="date"],
select,
textarea,
.form-cntrl,
.search-box-style,
.sw-search-wrap,
.bookign-frm-select,
.age-select,
.dc-child-age {
    /*background-color: #FAF8F5 !important;*/ /* Soft light sand backing by default */
    border: 1px solid var(--surface-light);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Beautiful pure white background and glowing focus shadow on active focus */
input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="date"]:focus,
select:focus,
textarea:focus,
.form-cntrl:focus-within,
.search-box-style.active,
.sw-search-wrap:focus-within,
.bookign-frm-select:focus,
.age-select:focus,
.dc-child-age:focus {
    background-color: #ffffff !important; /* Transitions to crisp white */
    border-color: var(--primary-color) !important; /* Royal Indigo border */
    /*box-shadow: 0 0 0 4px rgba(46, 49, 146, 0.12), 0 4px 12px rgba(46, 49, 146, 0.05) !important;*/ /* Soft brand Indigo halo glow shadow! */
    outline: none !important;
}

/* Ensure placeholder text displays elegantly inside the light sand backing */
::placeholder {
    color: rgba(74, 46, 22, 0.5) !important; /* Woody Brown semi-opaque */
    font-weight: 500 !important;
}

/* ==========================================================================
   SPECIFICITY OVERRIDES: STRIP INNER INPUT BORDERS & OUTLINES
   ========================================================================== */

/* Strip borders and backgrounds from inner input elements inside parent search/form wrappers to keep them completely seamless */
.search-inputs,
.search-inputs input,
.form-cntrl input,
.form-input:not(select):not(textarea),
.dd-autocomplete-box,
.sw-search-field,
.sw-search-field input,
.sw-search-field-wrap input,
.sw-search-field .search-inputs,
.search-box-style input,
.sw-search-wrap input,
.travel-passenger input {
    border: none !important;
    background: transparent !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Prevent focus styles on inner inputs from triggering borders or focus rings */
.search-inputs input:focus,
.form-cntrl input:focus,
.sw-search-field input:focus,
.sw-search-field-wrap input:focus,
.search-box-style input:focus,
.sw-search-wrap input:focus,
.travel-passenger input:focus {
    border: none !important;
    background: transparent !important;
    outline: none !important;
    box-shadow: none !important;
}

/* ==========================================================================
   AUTOCOMPLETE H2 & CITY-SELECT MARGIN ALIGNMENTS
   ========================================================================== */

.flexdatalist-results h2,
.flexdatalist-results .city-select,
.flexdatalist-results .city-title,
.flexdatalist-results .autocomplete-header,
.ul-auto-li h2,
.ul-auto-li .city-select,
.frm-dropdown h2,
.frm-dropdown .city-select {
    margin: 8px 0 12px 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--primary-color) !important; /* Royal Ocean Indigo */
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    display: block !important;
    border-bottom: 1px dashed var(--surface-light) !important;
    padding-bottom: 6px !important;
    width: 100% !important;
}
.wc-search-reuslt-head,
.wc-search-result-head {
    padding: 16px 24px !important;
    background: rgba(255, 255, 255, 0.9) !important; /* Premium semi-transparent white backdrop */
    border: 1px solid var(--surface-light) !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 16px rgba(46, 49, 146, 0.02) !important;
    /*margin-bottom: 24px !important;*/
    display: block !important;
}

/* Force high-contrast Indigo to header text and children inside search result head */
.wc-search-reuslt-head h1,
.wc-search-reuslt-head h2,
.wc-search-reuslt-head h3,
.wc-search-reuslt-head span,
.wc-search-reuslt-head p,
.wc-search-result-head h1,
.wc-search-result-head h2,
.wc-search-result-head h3,
.wc-search-result-head span,
.wc-search-result-head p {
    color: var(--primary-color) !important; /* Royal Ocean Indigo for maximum contrast */
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin: 0 !important;
}

/* ==========================================================================
   PRINCIPAL UX/UI RESPONSIVENESS & ACCESSIBILITY AUDIT OVERRIDES
   ========================================================================== */

/* Prevent scroll on narrow viewports while ensuring smooth kinetic scroll on touch devices */
html,
body,
.page-wrapper {
    overflow-x: hidden !important;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}

/* Search Box Grid Responsiveness Overrides for narrow mobile viewports */
@media (max-width: 576px) {
    .col-city,
    .hotel-col-search-main {
        flex-direction: column !important;
        gap: 12px !important;
        width: 100% !important;
    }

    .col-htl-search,
    .col-distance,
    .col-dates,
    .col-guests {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    /* Stack date inputs vertically on very narrow screens if they overflow */
    .travel-dates.t-datepicker {
        flex-direction: column !important;
        gap: 10px !important;
    }

    .travel-dates.t-datepicker .search-box-style {
        width: 100% !important;
    }
}

/* Ensure autocomplete lists and datepickers render beautifully with adequate z-index */
.t-datepicker-day,
.t-datepicker,
.flexdatalist-results,
.passenger-dropdown,
.autoserach-complete,
.dc-autoserach-complete,
.fl-auto-complete {
    z-index: 1000 !important;
}

/* Elevate validation highlight styling strictly without overriding base form structures */
.search-box-style.field-error,
.form-cntrl.field-error,
.t-datepicker.field-error,
.sw-search-wrap.field-error {
    border: 1px solid #fc9797 !important;
    background-color: rgba(252, 151, 151, 0.04) !important;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

/* Improve Touch-Target Dimensions on Mobile & Tablet Viewports */
@media (max-width: 767px) {
    .tab-menu-link,
    .btn-search,
    .btn-type1,
    .header-btn {
        min-height: 44px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .hotel-search-box,
    .flight-search-box,
    .transfer-search-box,
    .sw-search-row,
    .vehicle-search-box,
    .search-container {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .travel-dtl,
    .search-fl-dtl {
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 16px 12px !important;
    }
}

/* Ensure flight search grid cards (.search-fl-dtl) flow horizontally above mobile */
.search-fl-dtl {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
}

/* Dynamic stacking context focus for flight search rows to prevent overlap clippings */
.flight-search-row-main,
.travel-dtl,
.flight-search-row,
.dc-flight-search-row {
    position: relative !important;
    z-index: 2 !important;
}

/* Hover elevates row slightly above base elements */
.flight-search-row-main:hover,
.travel-dtl:hover,
.flight-search-row:hover,
.dc-flight-search-row:hover {
    z-index: 100 !important;
}

/* Active focus-within represents the strongest intent, rising to absolute top */
.flight-search-row-main:has(.active),
.travel-dtl:has(.active),
.flight-search-row:has(.active),
.dc-flight-search-row:has(.active),
.flight-search-row-main:has(.dc-autoserach-complete:not([style*="display: none"])),
.travel-dtl:has(.dc-autoserach-complete:not([style*="display: none"])),
.flight-search-row:has(.dc-autoserach-complete:not([style*="display: none"])),
.dc-flight-search-row:has(.dc-autoserach-complete:not([style*="display: none"])),
.flight-search-row-main:has(.dc-autoserach-complete[style*="display: block"]),
.travel-dtl:has(.dc-autoserach-complete[style*="display: block"]),
.flight-search-row:has(.dc-autoserach-complete[style*="display: block"]),
.dc-flight-search-row:has(.dc-autoserach-complete[style*="display: block"]),
.flight-search-row-main:has(.autoserach-complete:not([style*="display: none"])),
.travel-dtl:has(.autoserach-complete:not([style*="display: none"])),
.flight-search-row:has(.autoserach-complete:not([style*="display: none"])),
.dc-flight-search-row:has(.autoserach-complete:not([style*="display: none"])),
.flight-search-row-main:has(.autoserach-complete[style*="display: block"]),
.travel-dtl:has(.autoserach-complete[style*="display: block"]),
.flight-search-row:has(.autoserach-complete[style*="display: block"]),
.dc-flight-search-row:has(.autoserach-complete[style*="display: block"]),
.flight-search-row-main:has(.fl-auto-complete:not([style*="display: none"])),
.travel-dtl:has(.fl-auto-complete:not([style*="display: none"])),
.flight-search-row:has(.fl-auto-complete:not([style*="display: none"])),
.dc-flight-search-row:has(.fl-auto-complete:not([style*="display: none"])),
.flight-search-row-main:has(.fl-auto-complete[style*="display: block"]),
.travel-dtl:has(.fl-auto-complete[style*="display: block"]),
.flight-search-row:has(.fl-auto-complete[style*="display: block"]),
.dc-flight-search-row:has(.fl-auto-complete[style*="display: block"]),
.flight-search-row-main:focus-within,
.travel-dtl:focus-within,
.flight-search-row:focus-within,
.dc-flight-search-row:focus-within {
    z-index: 9999 !important;
}

/* ==========================================================================
   PREMIUM USER-FRIENDLY AUTOCOMPLETE RESULTS BOX
   ========================================================================== */

/* 1. The Outer Floating Autocomplete Dropdown Panel */
.autoserach-complete.fl-auto-complete,
.dc-autoserach-complete {
    position: absolute !important;
    top: calc(100% + 6px) !important;
    left: 0 !important;
    width: 100% !important;
    min-width: 320px !important;
    background-color: #ffffff !important;
    border: 1px solid var(--surface-light) !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 30px rgba(46, 49, 146, 0.12) !important;
    z-index: 10000 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    display: none;
}

/* 2. Scrollable Body Wrapper */
.autoserach-complete2 {
    max-height: 280px !important;
    overflow-y: auto !important;
    padding: 4px 0 !important;
}

/* 3. Header inside the Autocomplete Box ("Results" / "Loading...") */
.auto-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    background-color: #FAF8F5 !important;
    border-bottom: 1px solid var(--surface-light) !important;
    padding: 8px 16px !important;
    margin: 0 0 4px 0 !important;
}

.auto-head .auto-result {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    color: var(--grey-color) !important;
}

.auto-head .loading-class {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: var(--primary-color) !important;
}

.auto-head .loading-class i {
    animation: fa-spin 1s infinite linear;
}

/* 4. The Autocomplete List Container */
ul.dc-airport-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

/* 5. Base List Item Styling for Autocomplete Row */
ul.dc-airport-list li.dc-search-items-flight {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(74, 46, 22, 0.05) !important;
    background-color: transparent !important;
    list-style: none !important;
    transition: all 0.2s ease-in-out !important;
}

ul.dc-airport-list li.dc-search-items-flight:last-child {
    border-bottom: none !important;
}

/* The clickable anchor inside each item */
ul.dc-airport-list li.dc-search-items-flight a.item-a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    text-decoration: none !important;
    outline: none !important;
    transition: all 0.2s ease-in-out !important;
}

/* ==========================================================================
   CITY ITEMS vs AIRPORT ITEMS (VISUAL HIERARCHY)
   ========================================================================== */

/* A. City Rows (Parent level - bold, larger, clean Indigo icon) */
ul.dc-airport-list li.dc-search-items-flight:not(.search-items-airport) {
    background-color: #ffffff !important;
}

ul.dc-airport-list li.dc-search-items-flight:not(.search-items-airport) a.item-a {
    padding: 10px 16px !important;
    color: var(--secondary-color) !important; /* Woody Brown */
    font-weight: 700 !important;
    font-size: 14px !important;
}

ul.dc-airport-list li.dc-search-items-flight:not(.search-items-airport) a.item-a i {
    color: var(--primary-color) !important; /* Royal Indigo Globe Icon */
    font-size: 15px !important;
    margin-right: 12px !important;
    width: 18px !important;
    text-align: center !important;
}

/* B. Airport Rows (Child level - indented, slightly smaller, light grey/orange icon) */
ul.dc-airport-list li.search-items-airport {
    background-color: #FAFBFD !important; /* Extremely soft blue-tinted background to group it under the city */
}

ul.dc-airport-list li.search-items-airport a.item-a {
    padding: 8px 16px 8px 38px !important; /* Strong left indentation (38px) */
    color: #555555 !important;
    font-weight: 500 !important;
    font-size: 12.5px !important;
    position: relative !important;
}

/* Subtle L-shaped guide line (└─) before the indented airport row */
ul.dc-airport-list li.search-items-airport a.item-a::before {
    content: "" !important;
    position: absolute !important;
    left: 20px !important;
    top: -8px !important;
    width: 10px !important;
    height: 20px !important;
    border-left: 1.5px solid #dcdcdc !important;
    border-bottom: 1.5px solid #dcdcdc !important;
}

ul.dc-airport-list li.search-items-airport a.item-a i {
    color: var(--quaternary-color) !important; /* Sunset Orange Plane Icon */
    font-size: 13px !important;
    margin-right: 10px !important;
    width: 16px !important;
    text-align: center !important;
    transform: rotate(45deg) !important; /* Jet angled up! */
}

/* C. Hover & Selection States (Both Cities & Airports) */
ul.dc-airport-list li.dc-search-items-flight:hover,
ul.dc-airport-list li.dc-search-items-flight.selected {
    background-color: var(--tertiary-color-style) !important; /* Warm ivory highlight */
    cursor: pointer !important;
}

ul.dc-airport-list li.dc-search-items-flight:hover a.item-a,
ul.dc-airport-list li.dc-search-items-flight.selected a.item-a {
    color: var(--primary-color) !important; /* Elevate text to Royal Indigo on hover */
}

ul.dc-airport-list li.dc-search-items-flight:hover a.item-a i,
ul.dc-airport-list li.dc-search-items-flight.selected a.item-a i {
    transform: scale(1.15) !important; /* Small micro-grow on hover icon! */
    transition: transform 0.2s ease !important;
}

/* Maintain special rotation for jet inside airport lists even on hover scaling */
ul.dc-airport-list li.search-items-airport:hover a.item-a i,
ul.dc-airport-list li.search-items-airport.selected a.item-a i {
    transform: rotate(45deg) scale(1.15) !important;
}

/* ==========================================================================
   UNIFIED PREMIUM AUTOCOMPLETE RESULTS BOX FOR HOTELS, ACTIVITIES, TRANSFERS
   ========================================================================== */

/* 1. Apply unified premium card wrapper styles to all autocomplete dropdowns */
.autoserach-complete.hotel-autocomplete,
.cd_exp_dropdown.dc-hotel-autocomplete,
.sw-city-dropdown.dc-autocomplete {
    position: absolute !important;
    top: calc(100% + 6px) !important;
    left: 0 !important;
    width: 100% !important;
    min-width: 320px !important;
    background-color: #ffffff !important;
    border: 1px solid var(--surface-light) !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 30px rgba(46, 49, 146, 0.12) !important;
    z-index: 10000 !important;
    padding: 16px !important; /* Clean uniform padding inside the card */
    margin: 0 !important;
    max-height: 320px !important; /* Limit maximum vertical height */
    overflow-y: auto !important; /* Force scrollbar inside the card dropdown */
    overflow-x: hidden !important;
    display: none;
}

/* 2. Specific styles for Flexdatalist Results (Letting the plugin calculate top/left/width coordinates) */
.flexdatalist-results {
    background-color: #ffffff !important;
    border: 1px solid var(--surface-light) !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 30px rgba(46, 49, 146, 0.12) !important;
    z-index: 10000 !important;
    padding: 12px !important;
    margin: 0 !important;
    max-height: 320px !important; /* Limit maximum height */
    overflow-y: auto !important; /* Force scrollbar when results exceed height */
    overflow-x: hidden !important;
}

/* 3. Reset internal wrapper overflow to prevent nested scrollbars */
.autoserach-complete.hotel-autocomplete .autoserach-complete2,
.cd_exp_dropdown.dc-hotel-autocomplete .autoserach-complete2,
.sw-city-dropdown.dc-autocomplete .autoserach-complete2 {
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
}

/* 3. Section subheaders (Città, Hotel, Aree) inside the result cards */
.autoserach-complete h2,
.cd_exp_dropdown h2,
.sw-city-dropdown h2,
.sw-entity-list h2,
.sw-entity-list .city-select {
    margin: 12px 0 8px 0 !important;
    padding: 0 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--primary-color) !important; /* Royal Indigo */
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    border-bottom: 1px dashed var(--surface-light) !important;
    padding-bottom: 6px !important;
    width: 100% !important;
}

/* First heading should not have top margin */
.autoserach-complete h2:first-of-type,
.cd_exp_dropdown h2:first-of-type,
.sw-city-dropdown h2:first-of-type,
.sw-entity-list:first-child h2 {
    margin-top: 0 !important;
}

/* 4. Elegant List Items in Hotel, Activity, and Transfer Autocompletes */
.autoserach-complete ul,
.cd_exp_dropdown ul,
.sw-city-dropdown ul,
.sw-entity-list ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

.autoserach-complete ul li,
.cd_exp_dropdown ul li,
.sw-city-dropdown ul li,
.sw-entity-list ul li {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    padding: 8px 12px !important; /* Extremely clean, professional spacing */
    margin: 0 0 2px 0 !important;
    border-radius: 8px !important; /* Sleek rounded list items */
    border: none !important;
    background-color: transparent !important;
    list-style: none !important;
    color: var(--secondary-color) !important; /* Woody Brown */
    font-weight: 600 !important;
    font-size: 13.5px !important;
    transition: all 0.2s ease-in-out !important;
    cursor: pointer !important;
}

/* 5. Custom Bullet Icons (Globe, Bed, Marker) for list items */
.autoserach-complete ul li::before,
.cd_exp_dropdown ul li::before,
.sw-city-dropdown ul li::before,
.sw-entity-list ul li::before {
    font-family: 'Font Awesome 5 Pro' !important;
    font-weight: 300 !important;
    font-size: 13px !important;
    margin-right: 10px !important;
    width: 16px !important;
    text-align: center !important;
    color: var(--grey-color) !important;
}

/* Specific icons per category */
.city.sw-entity-list ul li::before,
.dc-city-list li::before {
    content: '\f3c5' !important; /* Location Marker */
    color: var(--primary-color) !important; /* Royal Indigo for Cities */
}

.hotel.sw-entity-list ul li::before,
.dc-hotel-list li::before {
    content: '\f236' !important; /* Bed */
    color: var(--quaternary-color) !important; /* Sunset Orange for Hotels */
}

.area.sw-entity-list ul li::before,
.dc-area-list li::before {
    content: '\f0ac' !important; /* Globe */
    color: var(--green-color) !important; /* Palm Green for Areas */
}

/* Remove original default browser pseudo before-elements if any overlap */
.autoserach-complete ul li a::before,
.cd_exp_dropdown ul li a::before,
.sw-city-dropdown ul li a::before {
    content: none !important;
}

/* Anchors nested in list items */
.autoserach-complete ul li a,
.cd_exp_dropdown ul li a,
.sw-city-dropdown ul li a,
.sw-entity-list ul li a {
    color: inherit !important;
    text-decoration: none !important;
    font-weight: inherit !important;
    font-size: inherit !important;
    display: inline-flex !important;
    align-items: center !important;
    width: 100% !important;
}

/* 6. Clean Hover & Selection Highlight Aesthetics */
.autoserach-complete ul li:hover,
.autoserach-complete ul li.selected,
.cd_exp_dropdown ul li:hover,
.cd_exp_dropdown ul li.selected,
.sw-city-dropdown ul li:hover,
.sw-city-dropdown ul li.selected,
.sw-entity-list ul li:hover,
.sw-entity-list ul li.selected {
    background-color: var(--tertiary-color-style) !important; /* Premium Ivory highlight */
    color: var(--primary-color) !important; /* Woody Brown switches to Royal Indigo */
    box-shadow: 0 2px 8px rgba(46, 49, 146, 0.03) !important;
}

.autoserach-complete ul li:hover::before,
.autoserach-complete ul li.selected::before,
.cd_exp_dropdown ul li:hover::before,
.cd_exp_dropdown ul li.selected::before,
.sw-city-dropdown ul li:hover::before,
.sw-city-dropdown ul li.selected::before,
.sw-entity-list ul li:hover::before,
.sw-entity-list ul li.selected::before {
    transform: scale(1.15) !important;
    transition: transform 0.2s ease !important;
}
.fl-pas-num-head-agy {
    margin-bottom: 0 !important;
}
.fl-pas-dtl-pax-row-agy{
    border:0!important;
    padding:0!important;
}



