/* temp-style.css */
/* temp CSS This needs to be entered as cscc later */

/* Restore missing layout-locking rules lost from primary stylesheet */
body {
    overflow-x: hidden;
}

/* Age Gate scroll-lock handled dynamically in header.php safety net */

@media (max-width: 991.98px) {
    html.side-menu-open {
        overflow: hidden !important;
    }

    .menu-open {
        overflow-y: hidden !important;
    }
}

.iti__flag {
    background-image: url("/assets/images/flags.webp");
}

.iti .iti__selected-dial-code {
    margin-top: 0px;
}

/* CSS for the SEO-optimized hidden content */
.hidden-seo-text {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
    white-space: nowrap;
}


/* THIS CLASS IS TO FIX A OVERIDING ISSUE WITH THE ZIPPER MENU. FIX IMPLEMENTED IN CONTENT-ZIPPER.PHP TO CHECK IF CONTENT IS NOT EMPTY.
PLEASE REMOVE OPACITY FROM THE SCSS ON THIS ELEMENT.
*/
body.search .zipper-container {
    opacity: 1 !important;
}


/* NEW ZIPPER TOGGLE CSS PLEASE REMOVE OLD .zipper-dropdown from style.css when adding this to prod */
.zipper-dropdown {
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.4s cubic-bezier(0.86, 0, 0.07, 1);
}

.zipper-dropdown.is-expanded {
    /* The very large max-height allows the content to display */
    max-height: 9999px !important;
    overflow: visible !important;
}

.zipper .zipper-dropdown .zipper-view-area {
    height: auto !important;
}



/* Target the main pop-up container. A bootstrap fix has been applied. */
/* Target the main pop-up container. A bootstrap fix has been applied. */
.selection-popup,
.attribute-overlay {
    display: none;
    /* Hide by default so they don't take up space */
}


/* Boost panel z-index so popups/overlays inside cover the header (z-index: 1002) */
.advertiser-dashboard .dashboard-container,
.panel.active {
    z-index: 1020;
    position: relative;
}

.selection-popup.active,
.attribute-overlay.active {
    display: block !important;
}

/* Fix for global availability overlay - Generalized for ALL attribute overlays */
.attribute-overlay.active {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(0, 0, 0, 0.5);
    /* backdrop-filter: blur(2px); - Disabled for iOS Stability */
    cursor: default;
    z-index: 1040 !important;
    /* Ensure it's high, but below popup (1050) */
    /* Fixed positioning breaks out of parent containers */
}

/* Legacy/Specific rule - can be removed eventually if generic works for all, keeping for safety */
.attribute-overlay.available-overlay {
    z-index: 1045 !important;
}

.selection-popup.tours-popup {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1100000 !important;
    max-height: 90vh;
    overflow-y: auto;
    width: auto;
}

.vetting-page-container .selection-popup.active {
    display: flex !important;
    flex-direction: column;
    visibility: visible !important;
    z-index: 2147483647 !important; /* Max Z-index possible */
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    max-height: 85vh !important; /* Safer height */
    width: 90% !important;
    max-width: none !important;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 0 100px rgba(0,0,0,0.8);
    margin: 0 !important;
}

/* Ensure all site-wide popups stay above the common overlay and site header */
.selection-popup.active {
    z-index: 1100000 !important;
}

/* Ensure the background overlay is also astronomically high ONLY for vetting */
.vetting-page-container .attribute-overlay.active {
    z-index: 2147483646 !important;
}

/* OVERKILL STACKING CONTEXT NEUTRALIZATION
   The DOM cannot be moved due to JS dependencies,
   so we must absolutely destroy any stacking context on all parents
   when ANY popup is active, freeing the popup to use the viewport. */
html.popup-open body,
html.popup-open #page,
html.popup-open #primary,
html.popup-open main,
html.popup-open section,
html.popup-open .advertiser-dashboard,
html.popup-open .dashboard-outer,
html.popup-open .dashboard-container,
html.popup-open .dashboard-inner,
html.popup-open .dashboard-area,
html.popup-open .panel.active,
html.vetting-popup-open body,
html.vetting-popup-open #page,
html.vetting-popup-open #primary,
html.vetting-popup-open main,
html.vetting-popup-open section,
html.vetting-popup-open .vetting-page-container,
html.vetting-popup-open .vetting-page-outer,
html.vetting-popup-open .vetting-page-inner,
html.vetting-popup-open .background-white.z-1,
html.vetting-popup-open .background-white.z-1 > .row,
html.vetting-popup-open .background-white.z-1 > .row > div,
html.vetting-popup-open .vetting-bounder,
html.vetting-popup-open .vetting-area,
html.vetting-popup-open .vetting-panel,
html.vetting-popup-open .entry-list,
html.vetting-popup-open .vetting-item,
html.vetting-popup-open .selection-outer {
    position: static !important;
    transform: none !important;
    filter: none !important;
    perspective: none !important;
    opacity: 1 !important;
    contain: none !important;
    isolation: auto !important;
    will-change: auto !important;
    z-index: auto !important;
}


.vetting-page-container .selection-popup .popup-header {
    flex-shrink: 0;
    padding: 10px 20px; /* More compact */
    border-bottom: 1px solid #eee;
    background: #fff;
    border-radius: 8px 8px 0 0;
    z-index: 10;
}

.vetting-page-container .selection-popup .popup-body {
    flex-grow: 1;
    overflow-y: auto !important;
    padding: 20px;
    background: #f9f9f9;
    min-height: 0; /* Extremely important for flex child scrolling bounds */
}

.vetting-page-inner .vetting-bounder .vetting-area .vetting-panel .entry-list .vetting-item .selection-popup .changes-area,
.vetting-page-inner .vetting-bounder .vetting-area .vetting-panel .entry-list .vetting-item .selection-popup .reject-all-area {
    height: auto !important;
}

.vetting-page-container .selection-popup .popup-footer .changes-area,
.vetting-page-container .selection-popup .popup-footer .reject-all-area {
    display: none;
    gap: 10px;
}

.vetting-page-container .selection-popup .popup-footer .changes-area.active,
.vetting-page-container .selection-popup .popup-footer .reject-all-area.active {
    display: flex;
}

.attribute-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.7);
    z-index: 1000 !important; /* Restore reasonable site-wide level */
    display: none;
}

.attribute-overlay.active {
    display: block;
}

html.popup-open {
    overflow: hidden !important;
}


.vetting-page-container .selection-popup .popup-footer {
    flex-shrink: 0;
    padding: 15px 20px;
    border-top: 1px solid #eee;
    background: #fff;
    border-radius: 0 0 8px 8px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.dashboard-input-group label .small-message {
    width: 100%;
    font-size: 0.8em;
    font-weight: 400;
    line-height: 1.2;
}

.client-email-note {
    font-size: 0.9em;
    font-weight: 400;
    line-height: 1.2;
}

.client-email-note a {
    font-size: 1.0em;
    font-weight: 500;
    line-height: 1.2;
}

@media (max-width: 767.98px) {

    /* temp fix for dashboard panel issue on mobile on initialize */
    .advertiser-dashboard .dashboard-outer,
    .advertiser-dashboard,
    .advertiser-dashboard .dashboard-container,
    .advertiser-dashboard .dashboard-inner,
    .dashboard-area {
        height: auto !important;
        min-height: auto !important;
    }
}

@media (min-width: 768px) {
    .advertiser-dashboard {
        height: auto !important;
        margin-bottom: 0 !important;
        /* '0' is safer than 'unset' for margins */
        min-height: 100vh;
        /* Optional: ensures it fills the screen */
    }
}

.dashboard-inner .dashboard-area .panel.active {
    z-index: 100;
}

/* Custom Crossfade Gallery Styles */
.profile .profile-image-bounder .profile-img-container,
.profile .profile-image-bounder .slideshow-wrapper,
.profile .profile-image-bounder .slideshow-buffer {
    height: 100% !important;
    width: 100% !important;
    position: relative;
    overflow: hidden;
}

.sidebar-area .profile-img-container {
    width: 250px;
}

.profile .profile-image-bounder .slideshow-buffer {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    /* Correct position */
}

/* Explicitly target images to ensure they fill the container */
.profile .profile-image-bounder img,
.profile .profile-image-bounder picture {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.profile-outer .profile .overlay {
    z-index: 2;
}

/* Availability Countdown Fix */
.availability-countdown {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    margin-left: 4px;
}

/* Duration Button Active State */
/* Duration Button Styles - Flipped */
.selection-popup .duration-btn {
    background-color: #fff !important;
    color: #3b5f93 !important;
    border-color: #3b5f93 !important;
}


.selection-popup .duration-btn.active {
    background-color: #3b5f93 !important;
    color: #fff !important;
    border-color: #3b5f93 !important;
}

/* Hide Mobile Title Container */
@media (max-width: 768px) {

    /* Hide Mobile Title Container */
    .dashboard-area .panel.active .mobile-title-container {
        display: none !important;
    }

    /* Add margin to panel to compensate */
    .dashboard-area .panel.active {
        margin-top: 50px;
        min-height: calc(100vh - 50px);
    }
}

/* Dashboard Profile Loader */
.profile-img-container {
    position: relative;
    min-height: 200px;
}

.profile-img-container .loader {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    z-index: 10;
    display: none;
}

.profile-img-container .loader.active {
    display: block;
}

.profile-img-container .loader svg {
    width: 100%;
    height: 100%;
    animation: rotate 2s linear infinite;
}

.profile-img-container .swiper,
.profile-img-container picture.profile-picture {
    transition: opacity 0.3s ease-in-out;
}

.profile-img-container .content-loaded {
    opacity: 1 !important;
}

@keyframes rotate {
    100% {
        transform: rotate(360deg);
    }
}

/* Ensure links inside no-touch sliders are clickable */
.roladex-grid-slider.no-touch a {
    pointer-events: auto !important;
    z-index: 20;
    position: relative;
    cursor: pointer;
}

/* Fix for available tag visibility */
.available-tag,
.additional-tags {
    z-index: 10 !important;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    perspective: 1000px;
}

/* Fix for Swiper Active Slide Opacity */
.roladex-grid-slider .swiper-slide-active {
    opacity: 1 !important;
}

/* Fix for static image height in Featured Escorts slider */
/* Ensure profile card stretches and image fills space */
.profile.profile-card-wrapper {
    display: flex;
    flex-direction: column;
}

.profile.profile-card-wrapper .profile-image-bounder {
    flex-grow: 1;
    height: auto;
    position: relative;
    overflow: hidden;
}

/* Featured Escorts Slider Equal Height */
.featured-escorts-slider .swiper-wrapper {
    align-items: stretch;
    display: flex;
}

.featured-escorts-slider .swiper-slide {
    height: auto;
    display: flex;
    flex-direction: column;
}

.featured-escorts-slider .swiper-slide .profile.profile-card-wrapper {
    flex-grow: 1;
}

/* Fix for Mac's local accent color on checkboxes */
input[type="checkbox"] {
    accent-color: #0075FF;
}

/* Filter Dropdown z-index Fix */
.search-area .filter-dropdown {
    z-index: 1000 !important;
}

@media (min-width: 992px) {
    .search-area .filter-dropdown:before {
        z-index: 1000 !important;
    }
}

/* Popup Global Override - STRICT SCROLL LOCK */
html:has(.selection-popup.active) {
    overflow: hidden;
}

/* Header Overlay Strategy:
   Instead of fighting Z-index, we overlay the header itself when a popup is open.
   This matches the visual dimming of the rest of the page. */
html.popup-open .site-header::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    /* Matches global overlay */
    /* backdrop-filter: blur(2px); */
    z-index: 1030;
    /* On top of header content */
    pointer-events: all;
    /* Block clicks on header */
}

html.popup-open .site-header {
    pointer-events: none;
    /* Optional: ensures clicks don't pass through to inputs if overlay fails */
}

/* Fix for Select2 dropdowns z-index in popups */
/* Only target the dropdown menu, not the container/box */
.select2-dropdown {
    z-index: 1060 !important;
    /* Higher than .selection-popup.active (1050) */
}

/* Back Bar Responsive Fix */
.back-bar {
    height: 3.25rem !important;
}

@media (min-width: 768px) {
    .back-bar {
        height: 104px !important;
    }
}


#form-herosearch .form-group .select2-container .select2-selection .select2-selection__arrow:after {
    font-family: "Font Awesome 6 Pro" !important;
}

/* Safari Swiper Rendering Fixes */
/* Force hardware acceleration and clear stacking context for sticky slide headers */
.experience-top {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

.experience-top-inner {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

.experience-top-inner h5,
.experience-top-inner p {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* custom scrollbar jquery replacement */
.desktop-features .attributes,
.bio-popup .content {
    overflow-y: auto;
    overflow-x: hidden;
}

/* Firefox */
.desktop-features .attributes,
.bio-popup .content {
    scrollbar-width: thin;
    scrollbar-color: #e5e5e5 transparent;
}

/* Chrome / Edge / Safari */
.desktop-features .attributes::-webkit-scrollbar,
.bio-popup .content::-webkit-scrollbar {
    width: 12px;
}

.desktop-features .attributes::-webkit-scrollbar-track,
.bio-popup .content::-webkit-scrollbar-track {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 999px;
}

.desktop-features .attributes::-webkit-scrollbar-thumb,
.bio-popup .content::-webkit-scrollbar-thumb {
    background: #e5e5e5;
    border-radius: 999px;
}

.desktop-features .attributes::-webkit-scrollbar-thumb:hover,
.bio-popup .content::-webkit-scrollbar-thumb:hover {
    background: #ffffff;
}

/* remove arrow buttons */
.desktop-features .attributes::-webkit-scrollbar-button,
.bio-popup .content::-webkit-scrollbar-button {
    display: none;
    height: 0;
    width: 0;
}

.swiper-button-next svg,
.swiper-button-prev svg {
    fill: #fff;
}

/* Container alignment */
.swiper-pagination-bullets {
    bottom: 20px !important;
}

/* The Dots - Base State */
.swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: #ffffff;
    /* White base */
    opacity: 0.3;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

/* The Active Dot - Highlight State */
.swiper-pagination-bullet-active {
    opacity: 1;
    background: #c5a059;
    /* Matching a Gold/Champagne accent color */
    width: 30px;
    /* Expands into a pill shape */
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(197, 160, 89, 0.5);
}

/* SwiperJS SVG Arrow Fix */
.swiper-button svg path,
.swiper-button-next svg path,
.swiper-button-prev svg path,
.slider-swiper-buttons a svg path,
.hero-slider-swiper-next-button svg path,
.hero-slider-swiper-prev-button svg path {
    fill: #ffffff !important;
    stroke: #ffffff !important;
}

/* /* Phase 21: Extreme Spacing Precision & Zero-Gap Bottom (V2) */
.roladex-locations-slider {
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 10px 0 !important;
    /* Top 10px, Sides 10px, Bottom 0 */
    line-height: 0 !important;
    /* Kill line-height gaps */
}

/* Aggressively zero out EVERY possible bottom-spacing element in this container */
.container-swiper.roladex-locations-slider,
.container-swiper.roladex-locations-slider .row,
.container-swiper.roladex-locations-slider .col-12,
.container-swiper.roladex-locations-slider .swiper,
.container-swiper.roladex-locations-slider .swiper-wrapper,
.container-swiper.roladex-locations-slider .swiper-pagination,
.container-swiper.roladex-locations-slider .swiper-scrollbar {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    line-height: 0 !important;
    height: auto !important;
}

/* Recursive margin reset for all children */
.roladex-locations-slider * {
    margin-bottom: 0 !important;
}

.roladex-locations-slider .swiper {
    overflow: visible !important;
    width: 100% !important;
    opacity: 1; /* Instant Visibility */
}

/* Removed artificial fade-in delay for better LCP */
.roladex-locations-slider .swiper.swiper-initialized {
    opacity: 1;
}

.roladex-locations-slider .swiper-wrapper {
    display: flex !important;
    align-items: center !important;
    padding-left: 15px !important; /* Match slidesOffsetBefore: 15 */
}

@media (min-width: 577px) {
    .roladex-locations-slider .swiper-wrapper {
        padding-left: 0 !important; /* Offset is 0 on desktop per JS breakpoints */
    }
}

.roladex-locations-slider .swiper-slide {
    height: auto !important;
    width: 22% !important; /* Base for 4.5 slides per view */
    margin-right: 10px !important; /* Match spaceBetween: 10 */
    flex-shrink: 0 !important;
    opacity: 0.4;
    transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    padding-right: 0;
    line-height: 0 !important;
}

@media (max-width: 991.98px) {
    .roladex-locations-slider .swiper-slide {
        width: 40% !important; /* Base for 2.5 slides per view (approx) */
    }
}

.roladex-locations-slider .swiper-slide img {
    height: 5rem;
    object-fit: cover;
    border-radius: 0.5rem 0.5rem 0 0;
    width: 100%;
    display: block !important;
    /* Kill inline descender gap */
}

@media (max-width: 991.98px) {
    .roladex-locations-slider .swiper-slide img {
        height: 4rem;
    }
}

.roladex-locations-slider .swiper-slide a {
    border-radius: 0.5rem 0.5rem 0 0;
    overflow: hidden;
    position: relative;
    display: block !important;
    line-height: 0 !important;
}

.roladex-locations-slider .swiper-slide .swiper-content {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0 1rem;
    text-align: center;
    pointer-events: none;
    line-height: normal !important;
    /* Restore for text */
}

.roladex-locations-slider .slide-image {
    position: relative;
    overflow: hidden;
    border-radius: 0.5rem 0.5rem 0 0;
    line-height: 0 !important;
}

.roladex-locations-slider .slide-image:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("/dist/assets/images/noise.svg");
    background-repeat: repeat;
    opacity: 0.8;
    /* Authoritative opacity per user preference */
    pointer-events: none;
    mix-blend-mode: soft-light !important;
    z-index: 2;
}

.roladex-locations-slider .slide-title {
    color: #ffffff !important;
    font-family: 'Carla', sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    font-size: 24px !important;
    line-height: 29px !important;
    text-align: center;
    margin-bottom: 0;
    filter: drop-shadow(0 0 22px rgba(0, 0, 0, 0.95));
}

@media (min-width: 992px) {
    .roladex-locations-slider .slide-title {
        font-size: 32px !important;
        line-height: 32px !important;
    }
}

@media (min-width: 1200px) {
    .roladex-locations-slider .slide-title {
        font-size: 37.934px !important;
        line-height: 34.377px !important;
    }
}

/* Interaction: Only hover should trigger opacity 1 */
.roladex-locations-slider .swiper-slide:hover {
    opacity: 1 !important;
}


/* Target both the main slides and the nested slides */
.featured-escorts-slider .swiper-slide,
.roladex-grid-slider .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    /* Use 3d(0,0,0) instead of Z(0) for better iOS support */
    transform: translate3d(0, 0, 0);
    -webkit-perspective: 1000;
    perspective: 1000;
}


/* New Profile Tile Design Overlay Styles */
.profile-image-bounder {
    position: relative;
    overflow: hidden;
}

.profile-details-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    z-index: 20;
    pointer-events: none;
    /* Allow clicks to pass through to the image/link if needed, but ಮಕ್ಕ sure children have pointer-events: all */
}

.profile-details-overlay>* {
    pointer-events: all;
}

.touring-bar-overlay {
    background: #4b7bc3;
    color: #fff;
    text-align: center;
    padding: 6px 10px;
    font-size: 11px;
    font-weight: 600;
    text-transform: capitalize;
    width: 100%;
    z-index: 22;
    letter-spacing: 0.5px;
}

.profile-info-box {
    position: relative;
    width: 100%;
    background: rgba(0, 0, 0, 0.85);
    padding: 5px 10px 10px 10px;
    text-align: center;
    z-index: 20;
    transition: background 0.3s ease;
}

.profile:hover .profile-info-box {
    background: rgba(0, 0, 0, 0.95);
}

.profile-info-box .name,
.featured-escorts-inner .name {
    display: block;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 1px;
    letter-spacing: 0.5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.additional-tags .profile-tag div img {
    max-width: 100%;
    max-height: 100%;
    width: 25px;
    /* Ensure a base size */
    height: auto;
    object-fit: contain;
}

.profile-info-box .meta-row,
.profile-info-box .location-row,
.profile-info-box .meta-row span,
.profile-info-box .location-row span {
    color: #bbb;
    font-size: 13px;
    margin-bottom: 0;
    line-height: 1.5;
}

.profile-info-box span.label {
    color: #888;
}

.profile-info-box span.value {
    color: #fff;
}

.profile-tag-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    margin-right: 15px;
    margin-bottom: 10px;
    /* Spacing above the touring bar */
    z-index: 25;
}

.profile-tag-group .profile-tag {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.7);
    border-radius: 6px;
    width: 30px;
    height: 30px;
    padding: 5px;
    box-sizing: border-box;
    color: #fff;
}

.profile-tag-group i,
.profile-tag-group img {
    font-size: 14px;
    height: 100%;
    width: 100%;
    object-fit: contain;
}

.profile-tag-group img {
    filter: brightness(0) invert(1);
}

/* Increase mobile swiper height to 85vh */
@media (max-width: 991.98px) {
    .profile .profile-picture-swiper .swiper-slide img {
        max-height: 100vh !important;
    }
}

/* Available Tag Styling */
.available-tag {
    align-items: center;
    backdrop-filter: blur(2.0409240723px);
    background: rgba(59, 95, 147, .7);
    border-radius: 10px 2px 2px;
    color: #fff;
    display: flex;
    left: 10px;
    line-height: 1rem;
    padding: .5rem .5rem .6rem;
    position: absolute;
    top: 10px;
    z-index: 25;
}

.available-tag i {
    color: #fff;
    font-size: 12px;
    margin-right: .25rem;
    margin-top: 1px;
}

.profile-outer .profile .available-tag .lightbulb-out {
    animation: pulse-icon-out 2s infinite;
    color: #057dfe !important;
    position: absolute;
    opacity: 0.9 !important;
    text-shadow: 0 0 10px #057dfe, 0 0 20px #057dfe;
}

.profile-outer .profile .available-tag .lightbulb-in {
    animation: pulse-icon-in 2s infinite;
    color: #057dfe !important;
    text-shadow: 0 0 5px #057dfe;
}

@keyframes pulse-icon-in {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.1);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes pulse-icon-out {
    0% {
        transform: scale(1);
        opacity: 0.6;
    }

    100% {
        transform: scale(2);
        opacity: 0;
    }
}

/* --- Extracted from style.css --- */

/* SwiperJS Arrow Color Fix */
.swiper-button-next,
.swiper-button-prev {
    --swiper-navigation-color: #fff !important;
    --swiper-theme-color: #fff !important;
}

.swiper-button-next i,
.swiper-button-prev i {
    color: #fff !important;
}

.swiper-button-next::after,
.swiper-button-prev::after {
    display: none !important;
}

/* SwiperJS Arrow Color Fix (Native Swiper 12) - Corrected */
:root {
    --swiper-navigation-color: #fff !important;
    --swiper-theme-color: #fff !important;
}

.swiper-button-next,
.swiper-button-prev {
    color: #fff !important;
}

.swiper-button-next::after,
.swiper-button-prev::after {
    color: #fff !important;
    display: flex !important;
}

/* SwiperJS SVG Arrow Fix */
.swiper-button svg path,
.swiper-button-next svg path,
.swiper-button-prev svg path,
.slider-swiper-buttons a svg path,
.hero-slider-swiper-next-button svg path,
.hero-slider-swiper-prev-button svg path {
    fill: #ffffff !important;
    stroke: #ffffff !important;
}

/* Swiper Duplicate Active State Patch */
.portrait-1-swiper .swiper-slide-duplicate-active,
.portrait-2-swiper .swiper-slide-duplicate-active,
.landscape-1-swiper .swiper-slide-duplicate-active,
.selfie-1-swiper .swiper-slide-duplicate-active {
    opacity: 1 !important;
}

.portrait-1-swiper .swiper-slide:not(.swiper-slide-active):not(.swiper-slide-duplicate-active),
.portrait-2-swiper .swiper-slide:not(.swiper-slide-active):not(.swiper-slide-duplicate-active),
.landscape-1-swiper .swiper-slide:not(.swiper-slide-active):not(.swiper-slide-duplicate-active),
.selfie-1-swiper .swiper-slide:not(.swiper-slide-active):not(.swiper-slide-duplicate-active) {
    opacity: 0.5;
    transition: opacity 0.3s ease;
}

/* Mobile UI Adjustments for Profile Tiles */
@media (max-width: 768px) {
    .profile-info-box .name {
        font-size: 13px !important;
    }

    .profile-info-box span.label {
        display: none !important;
    }

    .profile-info-box .meta-row {
        white-space: nowrap !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        flex-wrap: nowrap !important;
    }

    .profile-info-box .meta-row span.value:not(:last-of-type):after {
        content: ",";
    }

    .profile-info-box .meta-row span.value {
        margin-right: 0 !important;
    }

    .profile-info-box .meta-row .icon-roladex-tick {
        display: inline-block !important;
        margin-left: 2px !important;
    }

    .verified-shield {
        margin-top: -2px !important;
    }

    /* Mobile image area height reduced as requested */
    .profile-image-bounder {
        height: 300px !important;
    }

    /* Mobile Touring Pill Refinements */
    .profile-touring-pill {
        padding: 6px 9px !important;
        max-width: 90%;
    }

    .profile-touring-pill .soon-text {
        display: none !important;
    }

    .profile-touring-pill .pill-text {
        font-size: 11px !important;
        font-weight: 500 !important;
    }

    .profile-touring-pill {
        gap: 6px !important;
    }
}

/* Fix missing search icon in the advanced search bar header by using an SVG */
.advanced-search #advanced-search-form-container .main-panel .top-search .search-bar::after {
    content: "" !important;
    font-family: inherit !important;
    background-image: url("/dist/assets/images/magnifier.svg") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    width: 20px !important;
    height: 20px !important;
    top: calc(50% - 0.4rem) !important; /* Raised further for vertical centering with text */
    right: 3rem !important; /* adjust horizontal spacing from edge */
    transform: translateY(-50%) !important;
}

/* View Profile Button on Escort Tiles */
.profile .view-profile-btn {
    display: block;
    width: 100%;
    background-color: #333333;
    color: #ffffff;
    text-align: center;
    padding: 12px 0;
    font-size: 14px;
    font-weight: 500;
    transition: background-color 0.3s ease;
}

.profile:hover .view-profile-btn {
    background-color: #444444;
}

/* Unified Verified Shield Sizing for All Profile Cards */
body .profile-info-box .verified-shield,
body .featured-escorts-slider .verified-shield {
    height: 14px !important;
    width: 14px !important;
    max-width: 14px !important;
    max-height: 14px !important;
    vertical-align: middle !important;
    margin-left: 5px !important;
    display: inline-block !important;
    object-fit: contain !important;
    margin-top: -3px !important;
}

/* Specific sizing for the verified badge on the Escort Profile itself */
body .verified-box .verified-shield {
    height: 20px !important;
    width: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    vertical-align: middle !important;
    margin-right: 8px !important;
    display: inline-block !important;
    object-fit: contain !important;
    margin-top: -4px !important;
}

/* New Touring Pill Indicator */
.profile .profile-details-overlay .profile-touring-pill {
    background: rgba(0, 0, 0, 0.75) !important;
    margin: 10px 0;
    align-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: center !important; /* Centered content horizontally */
    gap: 10px;
    border-radius: 20px;
    width: fit-content !important;
    z-index: 25;
    pointer-events: auto;
    /* Transition for hover effect */
    transition: background-color 0.3s ease, opacity 0.3s ease;
}

@media (min-width: 769px) {
    .profile .profile-details-overlay .profile-touring-pill {
        padding: 6px 14px;
        gap: 10px;
    }
}

.profile:hover .profile-details-overlay .profile-touring-pill {
    background-color: rgba(0, 0, 0, 0.95) !important;
}

.profile .profile-details-overlay .profile-touring-pill .pill-icon {
    width: 16px !important;
    height: 16px !important;
    filter: brightness(0) invert(1) !important;
    display: inline-block !important;
}

.profile .profile-details-overlay .profile-touring-pill .pill-text {
    color: #ffffff !important;
    letter-spacing: 0.3px;
    line-height: 1.2;
    text-align: center; /* Centered text as requested */
}

.profile .profile-details-overlay .profile-touring-pill .pill-text span {
    color: #ffffff !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}


@media (min-width: 769px) {
    .profile .profile-details-overlay .profile-touring-pill .pill-text {
        font-size: 13px !important;
        font-weight: 600 !important;
    }
}

/* Ensure escort tiles expand to fit the View Profile button and are not clipped */
.profile-outer,
.profile-inner,
.profile {
    height: auto !important;
    min-height: auto !important;
    overflow: visible !important;
}

/* Ensure the image container has a fixed height of 450px as requested for desktop */
@media (min-width: 769px) {
    .profile-image-bounder {
        height: 450px !important;
        overflow: hidden !important;
        position: relative !important; /* Required for absolute glass bar */
    }
}

@media (max-width: 768px) {
    .profile-image-bounder {
        position: relative !important;
    }
}

/* --- ULTRA-SPECIFIC PREMIUM CARD FIXES (FORCE ELENA LOOK) --- */

/* Reset Outer Container - Remove all background/border shadows from image area */
body .advertiser_listings .listings_container .profile-outer,
body .section-container .row.listings_container .profile-outer,
.profile-outer {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important; /* Removed 10px gutter to tighten gaps */
    overflow: visible !important;
    display: block; /* Removed !important to allow Bootstrap flex */
}

/* Ensure Inner Link follows parent transparency */
body .profile-outer .profile {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    display: block !important;
}

/* Force Left Alignment and Black Background ONLY for Info Box */
body .profile-outer .profile .profile-info-box {
    background: #000 !important;
    padding: 15px 12px 18px 12px !important;
    text-align: left !important;
    display: block !important;
    width: 100% !important;
    position: relative !important;
    margin-top: -1px !important; /* Stitch to image */
    border-bottom-left-radius: 4px !important;
    border-bottom-right-radius: 4px !important;
}

/* Force Unified Helvetica Typography */
body .profile-outer .profile .profile-info-box {
    font-family: 'Helvetica Now Display', sans-serif !important;
}

body .profile-info-box .name {
    display: block !important;
    text-align: left !important;
    font-family: 'Helvetica Now Display', sans-serif !important;
    font-size: 20px !important; /* Compact Elena size */
    font-weight: 800 !important;
    color: #fff !important;
    margin: 0 0 4px 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

body .profile-info-box .meta-row {
    display: flex !important;
    justify-content: flex-start !important; /* Aligned Left */
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 8px !important;
    text-align: left !important;
}

body .profile-info-box .meta-item {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    text-align: left !important;
    font-size: 13px !important; /* Compact premium size */
}

body .profile-info-box .meta-item .verified-shield {
    width: 14px !important;
    height: 14px !important;
    margin-left: 2px !important;
    display: inline-block !important;
    vertical-align: middle !important;
}

body .profile-info-box .location-row {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    text-align: left !important;
    margin: 0 !important;
}

body .profile-info-box .location-row .location-pin {
    display: inline-block !important;
    width: 18px !important;
    height: 18px !important;
    background-color: #4b5a68 !important; /* Matches location text color */
    mask-size: contain !important;
    mask-repeat: no-repeat !important;
    mask-position: center !important;
    -webkit-mask-size: contain !important;
    -webkit-mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
}

body .profile-info-box .location-row .value {
    color: #4b5a68 !important;
    font-size: 13px !important; /* Matches row above */
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    text-align: left !important;
}

body .profile-outer .profile-touring-glass-bar {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    background: rgba(0, 0, 0, 0.7) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    padding: 8px 15px !important; /* Balanced height requested */
    display: flex !important;
    justify-content: space-between !important; /* Split left/right */
    align-items: center !important;
    z-index: 10 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

body .profile-touring-glass-bar .glass-flex-left {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

body .profile-touring-glass-bar .glass-icon-wrap {
    display: flex !important;
    align-items: center !important;
}

body .profile-touring-glass-bar .glass-icon {
    width: 20px !important;
    height: auto !important;
    margin: 0 !important;
    filter: brightness(0) invert(1) !important;
    opacity: 0.8 !important;
}

body .profile-touring-glass-bar .glass-content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 1px !important;
}

body .profile-touring-glass-bar .glass-status {
    color: rgba(255, 255, 255, 0.4) !important;
    font-family: 'Helvetica Now Display', sans-serif !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    line-height: 1 !important;
}

body .profile-touring-glass-bar .glass-city {
    color: #fff !important;
    font-family: 'Helvetica Now Display', sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    line-height: 1.1 !important;
}

body .profile-touring-glass-bar .glass-dates {
    color: rgba(255, 255, 255, 0.5) !important;
    font-family: 'Helvetica Now Display', sans-serif !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
}

/* Ensure parent containers don't force centering */
body .listings_container {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    text-align: left !important;
}

/* Status Tags (Top Left) */
body .profile-image-bounder .profile-status-tags {
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    z-index: 10 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

body .profile-status-tags .available-status-tag {
    background: rgba(0, 0, 0, 0.7) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    padding: 6px 12px !important;
    border-radius: 4px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    overflow: visible !important;
    min-height: 30px !important; /* Adjusted for 13px font */
}

body .profile-status-tags .available-status-tag .available-icon-pulsing {
    position: relative !important;
    width: 10px !important;
    height: 14px !important; /* Scaled down 352:512 ratio */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-right: 8px !important;
    overflow: visible !important;
}

body .available-icon-pulsing img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    transform-origin: center center !important;
}

body .available-icon-pulsing .bulb-reg {
    filter: brightness(0) invert(1) !important;
    opacity: 0.5 !important;
    z-index: 1 !important;
}

/* Base properties must not use !important on animated properties */
@keyframes roladex-bulb-sync-pulse {
    0% {
        opacity: 0.4;
        transform: scale(0.9);
        filter: invert(61%) sepia(80%) saturate(2453%) hue-rotate(167deg) brightness(101%) contrast(106%) drop-shadow(0 0 0px #00bfff);
    }
    50% {
        opacity: 1;
        transform: scale(1.1);
        filter: invert(61%) sepia(80%) saturate(2453%) hue-rotate(167deg) brightness(101%) contrast(106%) 
                drop-shadow(0 0 5px #00bfff) 
                drop-shadow(0 0 15px #00bfff) 
                drop-shadow(0 0 25px #00bfff);
    }
    100% {
        opacity: 0.4;
        transform: scale(0.9);
        filter: invert(61%) sepia(80%) saturate(2453%) hue-rotate(167deg) brightness(101%) contrast(106%) drop-shadow(0 0 0px #00bfff);
    }
}

body .profile-image-bounder .profile-status-tags .available-status-tag .available-icon-pulsing .bulb-solid {
    filter: invert(61%) sepia(80%) saturate(2453%) hue-rotate(167deg) brightness(101%) contrast(106%);
    opacity: 0; 
    z-index: 2 !important;
    animation: roladex-bulb-sync-pulse 2s infinite ease-in-out !important;
}

body .profile-image-bounder .profile-status-tags .available-status-tag .available-text {
    font-size: 13px !important;
    color: #ffffff !important;
    opacity: 1 !important;
}


/* Final Design Isolation */
body .profile-outer .available-tag,
body .profile-outer .view-profile-btn {
    display: none !important;
}

@media (max-width: 768px) {
    body .profile-info-box .name,
    body .featured-escorts-slider .name {
        font-size: 15px !important; 
        line-height: 1.2 !important;
    }

    /* Show Touring Bar on Mobile but hide the status header */
    body .profile-outer .profile-touring-glass-bar {
        display: flex !important;
        padding: 6px 10px !important;
    }

    body .profile-touring-glass-bar .glass-status {
        display: none !important;
    }

    body .profile-touring-glass-bar .glass-city {
        font-size: 11px !important;
        line-height: 1.1 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body .profile-touring-glass-bar .glass-dates {
        display: block !important;
        font-size: 11px !important; /* Match city size */
        line-height: 1.1 !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: right !important;
    }

    body .profile-touring-glass-bar .glass-right {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
    }

    body .profile-touring-glass-bar .glass-icon {
        width: 16px !important;
    }
}

/* Custom thin scrollbar for Rates and Services on mobile */
@media (max-width: 991px) {
    .rates-table, 
    .services, 
    .experience-info {
        scrollbar-width: thin !important;
        scrollbar-color: #5c5d5d transparent !important;
        /* Padding to create visual space for the 'free-floating' scrollbar */
        padding-right: 15px !important;
    }
    
    /* Chrome / Safari / Edge / Opera */
    .rates-table::-webkit-scrollbar,
    .services::-webkit-scrollbar,
    .experience-info::-webkit-scrollbar,
    .menu-container::-webkit-scrollbar,
    .menu-container .navbar-nav::-webkit-scrollbar,
    .subitems::-webkit-scrollbar,
    .subSubitems::-webkit-scrollbar {
        width: 14px !important;
    }
    
    .rates-table::-webkit-scrollbar-track,
    .services::-webkit-scrollbar-track,
    .experience-info::-webkit-scrollbar-track,
    .menu-container::-webkit-scrollbar-track,
    .menu-container .navbar-nav::-webkit-scrollbar-track,
    .subitems::-webkit-scrollbar-track,
    .subSubitems::-webkit-scrollbar-track {
        background: transparent !important;
    }
    
    .rates-table::-webkit-scrollbar-thumb,
    .services::-webkit-scrollbar-thumb,
    .experience-info::-webkit-scrollbar-thumb,
    .menu-container::-webkit-scrollbar-thumb,
    .menu-container .navbar-nav::-webkit-scrollbar-thumb,
    .subitems::-webkit-scrollbar-thumb,
    .subSubitems::-webkit-scrollbar-thumb {
        background-color: #5c5d5d !important;
        border-radius: 10px !important;
        border: 4px solid transparent !important;
        background-clip: content-box !important;
    }
    
    /* Remove scrollbar buttons/arrows */
    .rates-table::-webkit-scrollbar-button,
    .services::-webkit-scrollbar-button,
    .experience-info::-webkit-scrollbar-button,
    .menu-container::-webkit-scrollbar-button,
    .menu-container .navbar-nav::-webkit-scrollbar-button,
    .subitems::-webkit-scrollbar-button,
    .subSubitems::-webkit-scrollbar-button {
        display: none !important;
        height: 0;
        width: 0;
    }
}

/* Remove slider side fades */
.section-container.swiper-container .swiper-inner .default-swiper:after, 
.section-container.swiper-container .swiper-inner .default-swiper:before {
    display: none !important;
}

/* Show labels on mobile for featured slider */
@media (max-width: 768px) {
    .featured-escorts-slider .profile-info-box span.label {
        display: block !important;
    }
}


/* Global Dashboard Loader Styles */
.loader {
    display: none !important; /* Hidden by default */
}

/* Ensure any loader with the "active" class inside a gallery, popup or dashboard panel is shown as a full-sized overlay */
.gallery .loader.active,
.selection-popup .loader.active,
.verify-overlay.active,
.address-locale .loader.active,
.dashboard-input-group > .loader.active,
.dashboard-select-outer > .loader.active,
.loader.active,
.loader.dashboard-loader.active {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    z-index: 2100 !important;
    background: rgba(0, 0, 0, 0.4) !important;
    justify-content: center !important;
    align-items: center !important;
}

.loader svg {
    width: 48px !important;
    height: 48px !important;
    animation: rotate 1.5s linear infinite !important;
}

@keyframes rotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@media (max-width: 768px) {
    .profile-image-bounder {
        height: 250px !important;
    }
}
@media (max-width: 768px) {

   .featured-escorts-slider .profile-image-bounder {
        height: 400px !important;
    }

    body .profile-status-tags .available-status-tag {
        font-size: 10px !important;
    }
}

/*
 * Review Card Height Normalization (Escort Profile)
 * Ensures all reviews in the slider have consistent white-space heights.
 */

/* Mobile Slider (Accordion) */
#reviewsAccordionCollapse .swiper-wrapper {
    align-items: stretch !important;
}

#reviewsAccordionCollapse .swiper-slide {
    height: auto !important;
}

#reviewsAccordionCollapse .review {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

#reviewsAccordionCollapse .review-top {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    background: #fff !important; /* Ensure white background persists */
}

#reviewsAccordionCollapse .review-bottom {
    margin-top: auto !important;
}

/* Desktop Slider */
.review-desktop-swiper .swiper-wrapper {
    align-items: stretch !important;
}

.review-desktop-swiper .swiper-slide {
    height: auto !important;
}

.review-desktop-swiper .review {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.review-desktop-swiper .review-top {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.review-desktop-swiper .review-bottom {
    margin-top: auto !important;
}

/* Escort Profile Tour Accordion Location Pin */
.tour .location-pin {
    display: inline-block !important;
    width: 18px !important;
    height: auto !important;
    vertical-align: middle !important;
    filter: brightness(0) invert(1) !important;
    margin-top: -8px !important;
}
/* Mobile Menu 'Surgical Restoration' (v5.3 Final) */

/* 1. Force Left Alignment & White Text */
#main-menu .nav-link,
#main-menu .nav-link span,
#main-menu .nav-link p,
#main-menu .nav-link span.h4,
.subitems .nav-link,
.subSubitems .nav-link,
.subitems .nav-link span,
.subitems .nav-link p,
.subSubitems .nav-link span,
.subSubitems .nav-link p {
    justify-content: flex-start !important;
    text-align: left !important;
    padding-left: 25px !important;
    width: 100% !important;
    color: #fff !important; /* Force White Text */
}

#main-menu .nav-link span.h4 {
    width: auto !important;
    display: inline-block !important;
}

/* 2. On-Screen Positioning & Scroll-ability for Sub-Levels */
.menu-container .subitems,
.menu-container .subSubitems {
    display: none !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-height: 100% !important;
    overflow-y: auto !important;
    background: #1C1D1D !important;
    z-index: 1000 !important;
}

.menu-container .subitems.active,
.menu-container .subSubitems.active {
    display: block !important;
}

/* 3. Surgical Separator Logic (Kills 'Morphing' without killing submenus) */

/* When Level 2 is open, hide ONLY the parent link, keeping the submenu visible */
body.submenu-open #main-menu .navbar-nav > li > .nav-item-inner > a.nav-link {
    display: none !important;
}

/* When Level 3 is open, hide ONLY the Level 2 links */
body.subsubmenu-open #main-menu .subitems > li:not(.mobile-bottom-bar) > a.nav-link {
    display: none !important;
}

/* Ensure active sub-levels are visible and animated */
.subitems.active,
.subSubitems.active {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    animation: slideInLeft 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes slideInLeft {
    from { opacity: 0; transform: translateX(20px); }
    to { opacity: 1; transform: translateX(0); }
}

/* 4. Transitions */
.menu-container,
.navbar-collapse,
.collapsing,
.subitems,
.subSubitems {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* 5. Back Bar & Icons */
.subitems .mobile-bottom-bar,
.subSubitems .mobile-bottom-bar {
    background: #1C1D1D !important;
    padding: 15px 25px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.nav-link-back {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    color: #fff !important;
    text-align: left !important;
}

.nav-link-back p { color: #fff !important; }

.subsubmenuopener svg {
    margin-left: auto !important;
    width: 18px !important;
    height: 18px !important;
    fill: #fff !important;
}

.nav-link-back svg {
    width: 20px !important;
    height: 20px !important;
    fill: #fff !important;
}



/* Fix for Verification Image visibility */
.hide-blurred-image {
    display: none !important;
}

/* Verification Panel UI Fixes */
.verification-image-panel .retrieved-image {
    position: relative;
    width: 100%;
}

.verification-image-panel .image-box {
    position: relative;
    overflow: hidden;
}

.verification-image-panel .image-box .image-actions {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    padding: 0 !important;
    display: flex;
    justify-content: center;
    align-items: flex-end; /* Anchor button to the absolute bottom */
}

.verification-image-panel .image-box .image-actions .swap-image {
    align-items: center !important;
    background: hsla(0, 0%, 49%, .8) !important;
    border-radius: 12px 12px 0 0 !important; /* Top Left and Top Right as requested */
    display: flex !important;
    height: 41px !important;
    justify-content: center !important;
    transition: .3s !important;
    width: 100% !important; /* Force override of the global 50% */
    cursor: pointer !important;
    color: #fff !important;
}

.verification-image-panel .image-box .image-actions .swap-image:hover {
    height: 48px !important; /* Slightly larger on hover */
    background: hsla(0, 0%, 30%, .9) !important; /* Darker tint of grey */
}

.verification-image-panel .image-box .image-actions .swap-image i {
    font-size: 1.2rem;
}

/* Validation: Lock the 'Verify Profile' button until required images are uploaded */
.verification-image-panel .panel-controls .btn-save:not(.valid) {
    opacity: 0.5 !important;
    pointer-events: none !important;
    filter: grayscale(1) !important;
    cursor: not-allowed !important;
}

.verification-image-panel .btn.inactive {
    display: none !important;
}

/* Header Icons Optimization & Structural Restoration */
.header-icon-img {
    height: 20px;
    width: auto;
    vertical-align: middle;
    filter: brightness(0) invert(1);
    transition: none !important;
    // pointer-events: none; // Removed ancient blocker
}

.header-search-icon, .burger-holder, .toggle, .header-search-icon a, .burger-holder button, .profile-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    border: none !important;
    background: transparent !important;
    padding: 0 10px !important;
    box-shadow: none !important;
    transition: none !important;
    opacity: 1 !important;
    color: white !important;
    // height: 20px !important; // Removed ancient blocker
    // Force same height as icon
}

.header-login:hover {
    opacity: 0.8 !important;
}

.logo {
    max-height: 80px;
    width: auto;
    transition: max-height 0.3s ease;
}

@media (max-width: 991px) {
    .logo {
        max-height: 60px !important;
        /* Tablet target */
        max-width: 220px !important;
        width: auto !important;
    }

    .site-header .container-fluid {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

@media (max-width: 767px) {
    .logo {
        max-height: 40px !important;
        /* Mobile target */
        max-width: 160px !important;
    }
}

.header-login {
    display: inline-flex !important;
    align-items: center;
    height: 20px !important;
    line-height: 1 !important;
    padding: 0 10px !important;
    font-weight: 500;
}

.header-search-icon a:hover, .burger-holder button:hover, .profile-button:hover, .header-search-icon a:active, .burger-holder button:active, .profile-button:active {
    background: transparent !important;
    transform: none !important;
    opacity: 1 !important;
    color: white !important;
}

.c-hamburger span {
    // display: none !important; // Removed ancient blocker
}



.header-login {
    display: inline-flex !important;
    align-items: center !important;
    height: 20px !important;
    line-height: 1 !important;
    padding: 0 10px !important;
    font-weight: 500;
    margin-left: 10px;
}

/* Precision Header Alignment & Hiding */
.site-header .privacy-toggle {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 90px !important;
    height: 36px !important;
    padding: 0 !important;
    margin: 0 10px 0 3rem !important;
    background: #2a3444;
    /* Darker grey background for inactive */
    border-radius: 20px;
    overflow: hidden;
}

.privacy-option {
    position: relative;
    z-index: 2;
    display: flex !important;
    width: 50% !important;
    height: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer;
}

.privacy-option img {
    height: 20px !important;
    /* Slightly smaller for cleaner pill fit */
    width: auto !important;
    transition: filter 0.3s ease;
}

/* Consistent utility baseline */
.site-header .col-auto.d-flex.align-items-center {
    height: 45px !important;
    /* Standardize column height to match header rows */
}

/* Active State (White icon on blue background) */
.privacy-on .privacy-option.privacy-on img, .privacy-off .privacy-option.privacy-off img {
    filter: brightness(0) invert(1) !important;
}

/* Inactive State (Black icon on grey background) */
.privacy-on .privacy-option.privacy-off img, .privacy-off .privacy-option.privacy-on img {
    filter: brightness(0) !important;
}

/* Guarantee Toggle & Utility Hiding on Mobile/Tablet */
@media (max-width: 991px) {
    .site-header .privacy-toggle-column, .site-header .header-desktop-only {
        display: none !important;
    }
}

/* Fix Mobile Menu Overlay Stack */
.menu-container {
    z-index: 9999 !important;
}

/* FORCE LOGO VISIBILITY IN ALL PRIVACY MODES (Theme Override Fix) */
.privacy-on .site-branding, 
.privacy-off .site-branding,
.privacy-on .logo,
.privacy-off .logo,
.site-header .col-auto.order-1:not(.d-none) {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.site-header .col-auto:not(.d-none), 
.site-header .col-lg:not(.d-none) {
    display: flex !important;
    align-items: center !important;
}

.site-header div[class*="col"].order-2 {
    justify-content: flex-end !important;
}




