/**
 * Accessible Navigation Styles
 *
 * Enhanced styles for accessible navigation menus
 * Compatible with Astra theme navigation
 * 
 * @package Holler_Theme
 */

/* Focus styles for better keyboard navigation */
.ast-nav-menu a:focus,
.main-navigation a:focus {
    outline: 2px solid #1e73be;
    outline-offset: 2px;
}

/* External link icon style for enhanced navigation */
.holler-external-icon {
    position: relative;
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-left: 5px;
    font-size: 0.8em;
}

.holler-external-icon:after {
    content: "↗";
    position: absolute;
    top: -3px;
    left: 0;
}

/* Skip to content link for keyboard users */
.skip-link {
    background-color: #f1f1f1;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    color: #21759b;
    display: block;
    font-size: 14px;
    font-weight: 700;
    left: -9999em;
    outline: none;
    padding: 15px 23px 14px;
    text-decoration: none;
    text-transform: none;
    top: -9999em;
    z-index: 100000;
}

.skip-link:focus {
    clip: auto;
    height: auto;
    left: 6px;
    top: 7px;
    width: auto;
    z-index: 100000;
}

/* Enhanced keyboard navigation for Astra submenus */
.holler-enhanced-nav .sub-menu {
    transition: all 0.2s ease;
}

.ast-nav-menu .menu-item-has-children:focus-within > .sub-menu {
    left: 0;
    right: auto;
    opacity: 1;
    visibility: visible;
}

/* Make sure screen reader text is properly hidden but accessible */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

/* Enhanced hover state for navigation elements */
.holler-enhanced-nav .menu-item a:focus-visible {
    outline: 2px solid #1e73be;
    outline-offset: 2px;
}
