/**
 * Bali Green Spa - Submenu Styles with Accessibility
 * Uses variables from variables.css
 *
 * @package Bali Green Spa
 * @since 1.0.0
 */

/* Base submenu container styling - more visible */
.main-header-menu .sub-menu,
.ast-builder-menu-1 .sub-menu,
.ast-desktop-menu .sub-menu {
    background-color: var(--bali-submenu-bg) !important;
    border: var(--bali-border-width-thick) solid var(--bali-submenu-border) !important;
    box-shadow: var(--bali-submenu-shadow);
    border-radius: var(--bali-submenu-radius);
    margin-top: var(--bali-space-sm);
    backdrop-filter: blur(var(--bali-submenu-blur));
    -webkit-backdrop-filter: blur(var(--bali-submenu-blur));
    overflow: hidden;
    min-width: 220px;
    padding: 0;
    z-index: 99999;
}

/* Third level submenus */
.main-header-menu .sub-menu .sub-menu,
.ast-builder-menu-1 .sub-menu .sub-menu {
    margin-top: -1px;
    margin-left: var(--bali-space-sm);
    border-radius: var(--bali-submenu-radius);
}

/* Submenu list items */
.main-header-menu .sub-menu li,
.ast-builder-menu-1 .sub-menu li {
    border-bottom: var(--bali-border-width) solid rgba(255, 255, 255, 0.2);
    margin: 0;
    position: relative;
}

.main-header-menu .sub-menu li:last-child,
.ast-builder-menu-1 .sub-menu li:last-child {
    border-bottom: none;
}

/* Submenu link styling - larger text for readability */
.main-header-menu .sub-menu .menu-link,
.ast-builder-menu-1 .sub-menu .menu-link,
.main-header-menu .sub-menu a,
.ast-builder-menu-1 .sub-menu a {
    color: var(--bali-submenu-text) !important;
    padding: var(--bali-space-md) var(--bali-space-lg) !important;
    font-size: var(--bali-text-sm) !important;
    font-weight: var(--bali-font-medium) !important;
    display: block;
    text-decoration: none;
    border: none !important;
    background: transparent !important;
    text-transform: none;
    letter-spacing: 0;
}

/* Submenu link hover effects - clear visual feedback */
.main-header-menu .sub-menu li:hover > .menu-link,
.main-header-menu .sub-menu li:hover > a,
.ast-builder-menu-1 .sub-menu li:hover > .menu-link,
.ast-builder-menu-1 .sub-menu li:hover > a,
.main-header-menu .sub-menu .menu-link:hover,
.ast-builder-menu-1 .sub-menu .menu-link:hover {
    color: var(--bali-submenu-text-hover) !important;
    background-color: var(--bali-submenu-bg-hover) !important;
}

/* Current menu item styling with background */
.main-header-menu .sub-menu .current-menu-item > .menu-link,
.main-header-menu .sub-menu .current-menu-item > a,
.ast-builder-menu-1 .sub-menu .current-menu-item > .menu-link,
.ast-builder-menu-1 .sub-menu .current-menu-item > a {
    color: var(--bali-submenu-text-hover) !important;
    background-color: var(--bali-submenu-bg-hover) !important;
    font-weight: var(--bali-font-semibold) !important;
}

/* Current menu ancestor styling with background */
.main-header-menu .sub-menu .current-menu-ancestor > .menu-link,
.main-header-menu .sub-menu .current-menu-ancestor > a,
.ast-builder-menu-1 .sub-menu .current-menu-ancestor > .menu-link,
.ast-builder-menu-1 .sub-menu .current-menu-ancestor > a {
    color: var(--bali-submenu-text-hover) !important;
    background-color: rgba(255, 255, 255, 0.05) !important;
}

/* Focus states for accessibility - yellow outline */
.main-header-menu .sub-menu .menu-link:focus,
.main-header-menu .sub-menu a:focus,
.ast-builder-menu-1 .sub-menu .menu-link:focus,
.ast-builder-menu-1 .sub-menu a:focus {
    color: var(--bali-submenu-text-hover) !important;
    background-color: var(--bali-submenu-bg-hover) !important;
}

/* Submenu arrows/indicators */
.main-header-menu .sub-menu .menu-item-has-children > .menu-link::after,
.ast-builder-menu-1 .sub-menu .menu-item-has-children > .menu-link::after {
    content: "→";
    position: absolute;
    right: var(--bali-space-md);
    top: 50%;
    transform: translateY(-50%);
    color: var(--bali-submenu-text);
    font-weight: var(--bali-font-bold);
}

/* Simple submenu appearance */
.main-header-menu .sub-menu,
.ast-builder-menu-1 .sub-menu {
    opacity: 0;
    visibility: hidden;
}

.main-header-menu .menu-item:hover > .sub-menu,
.ast-builder-menu-1 .menu-item:hover > .sub-menu,
.main-header-menu .menu-item:focus-within > .sub-menu,
.ast-builder-menu-1 .menu-item:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
}

/* Mobile submenu adjustments */
@media (max-width: 921px) {
    /* Mobile submenu styling */
    .ast-mobile-header-content .sub-menu,
    .ast-mobile-menu .sub-menu {
        background-color: var(--bali-submenu-bg) !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
        margin: 0 !important;
        padding: 0 !important;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .ast-mobile-header-content .sub-menu .menu-link,
    .ast-mobile-menu .sub-menu .menu-link,
    .ast-mobile-header-content .sub-menu a,
    .ast-mobile-menu .sub-menu a {
        color: var(--bali-submenu-text) !important;
        padding: 0 var(--bali-space-xl) !important;
        border-bottom: var(--bali-border-width) solid rgba(255, 255, 255, 0.1) !important;
        font-size: var(--bali-text-sm) !important;
        background: transparent !important;
    }

    /* Mobile submenu hover with background changes */
    .ast-mobile-header-content .sub-menu li:hover > .menu-link,
    .ast-mobile-menu .sub-menu li:hover > .menu-link,
    .ast-mobile-header-content .sub-menu .menu-link:hover,
    .ast-mobile-menu .sub-menu .menu-link:hover {
        background-color: var(--bali-submenu-bg-hover) !important;
        color: var(--bali-submenu-text-hover) !important;
    }

    /* Mobile submenu active with background */
    .ast-mobile-header-content .sub-menu .current-menu-item > .menu-link,
    .ast-mobile-menu .sub-menu .current-menu-item > .menu-link,
    .ast-mobile-header-content .sub-menu .current-menu-ancestor > .menu-link,
    .ast-mobile-menu .sub-menu .current-menu-ancestor > .menu-link {
        background-color: var(--bali-submenu-bg-hover) !important;
        color: var(--bali-submenu-text-hover) !important;
        font-weight: var(--bali-font-semibold) !important;
    }

    /* Mobile submenu indicators */
    .ast-mobile-header-content .sub-menu .menu-item-has-children > .menu-link::after,
    .ast-mobile-menu .sub-menu .menu-item-has-children > .menu-link::after {
        display: none;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .main-header-menu .sub-menu,
    .ast-builder-menu-1 .sub-menu {
        background-color: var(--bali-submenu-bg) !important;
        border-color: var(--bali-submenu-border) !important;
    }

    .main-header-menu .sub-menu .menu-link,
    .ast-builder-menu-1 .sub-menu .menu-link {
        color: var(--bali-submenu-text) !important;
    }

    .main-header-menu .sub-menu li:hover > .menu-link,
    .ast-builder-menu-1 .sub-menu li:hover > .menu-link {
        background-color: var(--bali-submenu-bg-hover) !important;
    }
}

/* Print styles */
@media print {
    .main-header-menu .sub-menu,
    .ast-builder-menu-1 .sub-menu {
        display: none !important;
    }
}