
.header .nav-menu{width: 60%; float: left;}
.header .nav-menu ul{}
.header .nav-menu li{float: left; font-size: 1.3em; font-family: montserratregular, sans-serif;}
.header .nav-menu li a{color: #fff; padding: 7px 10px 6px 10px;border-radius: 3px 3px 0 0;}

.header .nav-menu li a:hover,
.header .nav-menu li a:active{color: #cf1c35; border-radius: 3px 3px 0 0;}

/* Enhanced focus styles for keyboard accessibility - top-level nav links only */
.header .nav-menu ul.nav > li > a:focus {
    color: #cf1c35;
    border-radius: 3px 3px 0 0;
    outline: 2px solid #fff !important;
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.3) !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
}


.header .nav-menu .dropdown-menu { max-height: inherit !important;}

.header .nav-menu .nav .open > a,
.header .nav-menu .nav .open > a:hover,
.header .nav-menu .nav .open > a:focus { background: #f8f8f7; color: #cf1c35; text-decoration: none;}
.header .nav-menu  .nav .open > a,
.header .nav-menu .nav .open > a:hover,
.header .nav-menu .nav .open > a:focus { background-color: #f8f8f7; border-color: #cf1c35; text-decoration: none;}

.header .nav-menu ul.nav li .dropdown-menu ul li a{ width: 100%;text-decoration: none;
    overflow: hidden;text-overflow: ellipsis;white-space: nowrap; font-family: montserratlight, sans-serif;}

.header .open > .dropdown-menu{display: flex !important;}

.header .nav-menu ul.nav li .dropdown-menu.combined-column{width: 600px;  padding: 0; margin: 0;  align-items: stretch;
    border-radius: 0 0 7px 7px; border: 1px solid #ccc; box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25); background: #f2f2f2; }

.header .nav-menu .dropdown-menu.combined-column .categories-column {width: 30%; padding: 7px 10px 10px 8px; float: left;}
.header .nav-menu .dropdown-menu.combined-column .performers-column {width: 70%;padding: 7px 5px 8px 7px; float: left;
    border-left: 1px solid #dddddd; background:#fafafa;border-radius: 0 0 7px 0;}

.header .nav-menu  .dropdown-menu ul li {font: 14px/16px montserratlight, sans-serif;text-transform: none;
    margin: 0; padding: 0; width: 100%; list-style-type: none;}
.header .nav-menu  .dropdown-menu ul li a{text-transform: none;}

.header .nav-menu ul.nav li .dropdown-menu.combined-column ul li a{color: #2f2f2f;   padding: 8px 10px 6px; float: left;font-family: montserratregular, sans-serif;}
.header .nav-menu ul.nav li .dropdown-menu.combined-column .categories-column ul li{width: 100%; font-family: montserratregular, sans-serif;margin: 0;}

.header .nav-menu ul.nav li .dropdown-menu.combined-column ul .column-two li a,
.header .nav-menu ul.nav li .dropdown-menu.combined-column ul .column-three li a{font-family: montserratlight, sans-serif;}

.header .nav-menu .dropdown-menu.combined-column .performers-column ul{display: none;width: 100%;}
.header .nav-menu .dropdown-menu.combined-column .performers-column ul li a{color: #333;padding: 7px 10px; float: left;}

.header .nav-menu .dropdown-menu.performers-column {width: 600px;  padding: 7px 5px 8px 5px; margin: 0;
    border-radius: 0 0 5px 5px; border: 1px solid #dddddd;box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25); background: #fafafa;}
.header .nav-menu .dropdown-menu.performers-column ul li {padding: 0; width: 100%;}
.header .nav-menu .dropdown-menu.performers-column ul li a{color: #333;padding: 8px 10px 6px; float: left;}
.header .nav-menu .dropdown-menu.performers-column ul li a.all-tickets{color:#cf1c35;}

.column-two {float: left; width: 50%; padding: 0 3px;}
.column-three {float: left; width: 33.3%; padding: 0 3px;}


.header .nav-menu ul.nav li .dropdown-menu ul li.current-cat a{background:#cf1c35; color: #fff; border-radius: 3px;font-family: montserratregular, sans-serif !important;}
.header .nav-menu ul.nav li .dropdown-menu ul li:hover a{background:#cf1c35; color: #fff; border-radius: 3px;
    font-family: montserratlight, sans-serif;!important;}

/* Enhanced focus styles for dropdown menu items - TIK-1669 consolidated */
.header .nav-menu ul.nav li .dropdown-menu ul li a:focus {
    background: #cf1c35 !important;
    color: #fff !important;
    border-radius: 3px;
    outline: 3px solid #000 !important;
    outline-offset: -3px;
    box-shadow: 0 0 0 1px #fff inset !important;
    font-family: montserratlight, sans-serif;
}

/* Ensure focus styles are visible for performers column */
.header .nav-menu .dropdown-menu.combined-column .performers-column ul li a:focus {
    background: #cf1c35 !important;
    color: #fff !important;
    border-radius: 3px;
    outline: 3px solid #000 !important;
    outline-offset: -3px;
    box-shadow: 0 0 0 1px #fff inset !important;
}

/* ================================================================
   CRITICAL FOCUS INDICATORS - TIK-1669
   ================================================================ */

/* Logo focus indicator - uses box-shadow instead of outline for reliable rendering in position:absolute context */
.header.home .logo a:focus-visible,
.header .logo a:focus-visible,
div.header div.logo a:focus-visible {
    outline: none !important;
    box-shadow: 0 0 0 3px #fff !important;
    border-radius: 4px !important;
    display: inline-block !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Phone number focus indicator */
.header .phone a:focus,
div.header div.phone a:focus {
    outline: 2px solid #fff !important;
    outline-offset: 2px !important;
    border-radius: 3px !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.3) !important;
}

.header .phone a:focus span {
    text-decoration: underline !important;
}

/* Mobile phone - focus on inner span only (a is display:block, too wide) */
@media (max-width: 992px) {
    .header .phone a.for-mobile:focus {
        outline: none !important;
        box-shadow: none !important;
    }
    .header .phone a.for-mobile:focus span {
        outline: 2px solid #fff;
        outline-offset: 2px;
        border-radius: 4px;
        text-decoration: underline;
    }
}

/* Mobile menu toggle focus */
.header .menu #menu-toggle:focus,
div.header div.menu #menu-toggle:focus {
    outline: 2px solid #fff !important;
    outline-offset: 2px !important;
    border-radius: 3px !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
}

/* Search button focus */
.header .search-wrap .js-submit:focus {
    outline: 2px solid #fff !important;
    outline-offset: 2px !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
    border-radius: 3px !important;
}

/* Mobile menu items focus */
#sidebar-wrapper .sidebar-nav li a:focus,
menu#sidebar-inner ul.sidebar-nav li a:focus {
    outline: 2px solid #cf1c35 !important;
    outline-offset: 2px !important;
    background-color: rgba(207, 28, 53, 0.1) !important;
    text-decoration: underline !important;
}


@media (max-width: 1200px) {

    .header .nav-menu .dropdown-menu.performers-column { width: 500px;}
}


@media (max-width: 992px) {

    /* header */
    .header .nav-menu{display: none;}
    
    /* CRITICAL: Additional safety to prevent tab access to hidden desktop nav */
    .header .nav-menu.for-desktop,
    .header .nav-menu.for-desktop * {
        visibility: hidden !important;
        pointer-events: none !important;
    }

}



/* Quick category buttons focus - TIK-1669 */
.search-fast-events a:focus,
.search-fast-events button:focus,
.category-links a:focus {
    outline: 2px solid #fff !important;
    outline-offset: 2px !important;
    box-shadow: none !important;
    background-color: transparent !important;
}
