/* ============================================================================
   navBarV3.css — AWC Navigation V3
   ============================================================================
   NEW file. Styles the nav-v3__* BEM classes used in the V3 navigation
   rendering. Replaces navBarForNewHomePage-v2.css and homepage_V2.css
   nav-related styles.

   Design tokens referenced from /Assets/css/css-tokens/tokens.css
   ============================================================================ */

/* --------------------------------------------------------------------------
   0. SHARED / RESET
   -------------------------------------------------------------------------- */
.nav-v3 *,
.nav-v3 *::before,
.nav-v3 *::after {
    box-sizing: border-box;
}

/* Root wrapper — full width, positioning context */
.nav-v3[data-nav-v3-root] {
    position: relative;
    width: 100%;
}

.main-header > br {
    display: none;
}

.nav-v3 {
    font-family: 'Averta', Arial, Helvetica, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    width: 100%;
}

.nav-v3 button {
    font-family: inherit;
    cursor: pointer;
}

.nav-v3 a {
    text-decoration: none;
    color: inherit;
}

[hidden] {
    display: none !important;
}

/* --------------------------------------------------------------------------
   1. DESKTOP — UTILITY BAR
   -------------------------------------------------------------------------- */
.nav-v3__utility-bar {
    background: #fff;
    width: 100%;
    position: relative;
    z-index: 1001;
    border: none !important;
    border-bottom: none !important;
    box-shadow: none;
}

.nav-v3__utility-bar-inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 var(--grid-margin, 24px);
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 40px;
}

.nav-v3__utility-links {
    display: flex;
    align-items: center;
    gap: 16px;
}

.nav-v3__lang-selector {
    display: flex;
    align-items: center;
    position: relative;
}

/* Utility link base */
.nav-v3__utility-link,
.nav-v3__sign-in-trigger,
.nav-v3__user-trigger,
.nav-v3__lang-trigger {
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: var(--awc-text-brand, #004652);
    background: none;
    border: none;
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.nav-v3__user-trigger,
.nav-v3__user-trigger span {
    color: var(--awc-text-brand, #004652);
}

.nav-v3 .reciteme,
.nav-v3 .reciteme-mobile a {
    color: var(--awc-text-brand, #004652);
}

/* Utility link states */
.nav-v3__utility-link:hover,
.nav-v3__sign-in-trigger:hover,
.nav-v3__lang-trigger:hover {
    text-decoration: underline;
}

.nav-v3__utility-link:active,
.nav-v3__sign-in-trigger:active,
.nav-v3__lang-trigger:active {
    text-decoration: underline;
}

.nav-v3__utility-link:focus-visible,
.nav-v3__sign-in-trigger:focus-visible,
.nav-v3__user-trigger:focus-visible,
.nav-v3__lang-trigger:focus-visible {
    outline: 2px solid var(--text-primary, #131E29);
    outline-offset: 2px;
    border-radius: 2px;
}

/* Sign in / Register link styling */
.nav-v3__sign-in-trigger,
.nav-v3__sign-in-trigger span {
    font-weight: 700;
    color: var(--awc-text-brand, #004652);
}

/* User icon */
.nav-v3__user-icon {
    display: block;
    flex-shrink: 0;
}

/* Caret SVG */
.nav-v3__caret {
    flex-shrink: 0;
}

.nav-v3__lang-flag {
    display: block;
    width: 20px !important;
    height: 20px !important;
    border-radius: 50%;
    overflow: hidden;
    object-fit: cover;
    object-position: center;
    aspect-ratio: 1 / 1 !important;
}

.nav-v3__lang-caret {
    display: block;
    flex-shrink: 0;
}

.nav-v3__lang-dropdown {
    position: absolute;
    top: 38px !important;
    right: 0;
    z-index: 1010;
    min-width: 180px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0, 70, 82, 0.15);
    list-style: none;
    padding: 0;
    margin: 0 !important;
}

.nav-v3__lang-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    margin: 0;
    font-size: 14px;
    color: var(--awc-text-brand-strong, #002428);
    cursor: pointer;
    transition: background 0.15s ease;
}

.nav-v3__lang-option:hover {
    background: var(--awc-gray-50, #F5F5F5);
}

.nav-v3__lang-option img {
    width: 20px !important;
    height: 14px !important;
    object-fit: fill;
    flex-shrink: 0;
}

/* User dropdown (logged-in state) */
.nav-v3__user-menu {
    position: relative;
    display: flex;
    align-items: center;
}

.nav-v3__user-dropdown {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    z-index: 1010;
    min-width: 200px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0, 70, 82, 0.15);
    list-style: none;
    padding: 0;
    margin: 0;
    overflow: hidden;
}

.nav-v3 .nav-v3__user-dropdown li {
    border-bottom: 1px solid var(--awc-border-subtle, #E2DFDA);
    padding: 0;
    margin: 0;
}

.nav-v3 .nav-v3__user-dropdown li:last-child {
    border-bottom: none;
}

.nav-v3 .nav-v3__user-dropdown .nav-v3__user-dropdown-link {
    display: flex !important;
    align-items: center !important;
    padding: 12px 20px !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 145% !important;
    color: var(--awc-text-brand-strong, #002428) !important;
    text-decoration: none !important;
    transition: background 0.15s ease;
    background: #fff;
}

.nav-v3 .nav-v3__user-dropdown .nav-v3__user-dropdown-link:hover {
    background: var(--awc-gray-50, #F5F5F5) !important;
}

#liUserSec .nav-v3__user-dropdown-link {
    font-weight: 400 !important;
    color: var(--awc-text-brand-strong, #002428) !important;
}

/* --------------------------------------------------------------------------
   2. DESKTOP — MAIN NAVIGATION BAR
   -------------------------------------------------------------------------- */
.nav-v3__main-bar {
    background: #fff;
    width: 100%;
    box-shadow: inset 0 -1px 0 0 var(--awc-border-subtle, #E2DFDA);
    position: relative;
    z-index: 1000;
}


.nav-v3__main-bar-inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 var(--grid-margin, 24px);
    display: flex;
    align-items: stretch;
    height: 72px;
    gap: 0;
}

/* Logo */
.nav-v3__logo {
    display: flex;
    align-items: center;
    align-self: center;
    flex-shrink: 0;
    margin-right: 24px;
}

.nav-v3__logo img {
    display: block;
    width: 120px;
    height: 54px;
}

/* Tab list */
.nav-v3__tabs {
    flex: 1;
    display: flex;
    align-items: stretch;
}

.nav-v3__tab-list {
    display: flex;
    align-items: stretch;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0;
}

.nav-v3__tab-item {
    display: inline-flex;
    align-items: center;
    height: 72px;
}

.nav-v3__mobile-nav-item {
    display: flex;
    align-items: center;
}

/* Tab base */
.nav-v3__tab {
    display: inline-flex;
    align-items: flex-start;
    gap: 6px;
    padding: 27px 12px 0;
    height: 72px;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    letter-spacing: 0.16px;
    color: var(--awc-text-brand, #004652);
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    white-space: nowrap;
    text-decoration: none;
    position: relative;
    cursor: pointer;
    transition: border-color 0.15s ease, color 0.15s ease;
    box-sizing: border-box;
}

.nav-v3__tab-chevron {
    flex-shrink: 0;
    color: var(--awc-text-brand, #004652);
}

/* Tab states */
.nav-v3__tab:hover {
    color: var(--awc-text-brand-strong, #002428);
}

.nav-v3__tab:active {
    color: var(--awc-text-brand-strong, #002428);
}

/* Active / open tab */
.nav-v3__tab--active,
.nav-v3__tab[aria-expanded="true"] {
    border-bottom-color: var(--awc-vermilion, #FF4713);
    color: var(--awc-text-brand, #004652);
}

.nav-v3__tab[aria-expanded="true"] .nav-v3__tab-chevron {
    transform: none;
}

.nav-v3__tab:focus-visible {
    outline: 2px solid var(--text-primary, #131E29);
    outline-offset: -2px;
    border-radius: 2px;
}

/* Buy tickets CTA */
.nav-v3__cta {
    flex-shrink: 0;
    margin-left: auto;
    align-self: center;
}

.nav-v3__buy-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 24px;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    color: #fff !important;
    background: #E42900;
    border: none;
    border-radius: 8px;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.nav-v3__buy-btn:hover {
    background: #CF2500;
}

.nav-v3__buy-btn:active {
    background: #882100;
}

.nav-v3__buy-btn:focus-visible {
    outline: 2px solid var(--text-primary, #131E29);
    outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   3. DESKTOP — DROPDOWN PANELS
   -------------------------------------------------------------------------- */
.nav-v3__dropdown-overlay {
    position: fixed;
    inset: 0;
    z-index: 998;
    background: transparent;
}

.nav-v3__dropdown-container {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999;
    max-width: 1440px;
    width: 100%;
    box-sizing: border-box;
    background: transparent;
    box-shadow: none;
}

.nav-v3__panel {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 var(--grid-margin, 24px);
    background: transparent;
}

.nav-v3__panel-columns {
    display: inline-flex;
    width: auto;
    max-width: 100%;
    padding: var(--grid-margin, 24px);
    align-items: flex-start;
    gap: var(--grid-gutter, 24px);
    box-sizing: border-box;
    background: #fff;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 2px 4px 0 rgba(0, 70, 82, 0.08),
                0 4px 8px 0 rgba(0, 70, 82, 0.05);
}

/* Left column — children */
.nav-v3__panel-children {
    width: 360px;
    min-width: 360px;
    max-width: 360px;
    flex-shrink: 0;
    padding: 8px 0;
    border-right: none;
}

.nav-v3__panel-children--full {
    width: auto;
    min-width: 280px;
    max-width: none;
}

/* Child link base */
.nav-v3__child-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 12px 20px;
    font-size: 16px;
    font-weight: 400;
    line-height: 145%;
    color: var(--awc-text-brand-strong, #002428);
    background: var(--awc-white, #FFF);
    border: none;
    border-bottom: 1px solid var(--awc-border-subtle, #E2DFDA);
    border-radius: 0;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
    align-self: stretch;
}

a.nav-v3__child-link,
a.nav-v3__child-link:visited {
    color: var(--awc-text-brand-strong, #002428);
}

.nav-v3__child-link--hub {
    font-weight: 400;
    color: var(--text-primary, #131E29);
}

.nav-v3__child-chevron {
    flex-shrink: 0;
    color: var(--awc-text-brand, #004652);
}

/* Child link states */
.nav-v3__child-link:hover {
    background: var(--awc-gray-50, #F5F5F5);
    color: var(--awc-text-brand-strong, #002428);
}

.nav-v3__child-link:active {
    background: var(--awc-gray-50, #F5F5F5);
}

/* Active / selected child */
.nav-v3__child-link--active,
.nav-v3__child-link[aria-expanded="true"] {
    background: var(--awc-bg-accent, #EAFFEB);
    color: var(--awc-text-brand-strong, #002428);
    font-weight: 600;
}

.nav-v3__child-link[aria-expanded="true"] .nav-v3__child-chevron {
    opacity: 1;
}

.nav-v3__child-link:focus-visible {
    outline: 2px solid var(--text-primary, #131E29);
    outline-offset: -2px;
}

/* Right column — grandchildren */
.nav-v3__panel-grandchildren {
    flex: 0 0 auto;
    padding: 8px 0;
}

/* Collapse empty grandchild container */
.nav-v3__panel-grandchildren:not(:has(:not([hidden]))) {
    display: none;
}

.nav-v3__grandchild-group {
    width: 360px;
}

.nav-v3__grandchild-link {
    display: block;
    padding: 12px 20px;
    font-size: 16px;
    font-weight: 400;
    line-height: 145%;
    color: var(--awc-text-brand-strong, #002428);
    background: var(--awc-white, #FFF);
    text-decoration: none;
    border-bottom: 1px solid var(--awc-border-subtle, #E2DFDA);
    border-radius: 0;
    transition: background-color 0.15s ease, color 0.15s ease;
}

a.nav-v3__grandchild-link,
a.nav-v3__grandchild-link:visited {
    color: var(--awc-text-brand-strong, #002428);
}

.nav-v3__grandchild-link--hub {
    font-weight: 400;
}

.nav-v3__grandchild-link:hover {
    background: var(--awc-gray-50, #F5F5F5);
    color: var(--awc-text-brand-strong, #002428);
}

.nav-v3__grandchild-link:active {
    background: var(--awc-gray-50, #F5F5F5);
}

.nav-v3__grandchild-link--active {
    background: var(--awc-bg-accent, #EAFFEB);
    font-weight: 500;
}

.nav-v3__grandchild-link:focus-visible {
    outline: 2px solid var(--text-primary, #131E29);
    outline-offset: -2px;
}

/* --------------------------------------------------------------------------
   4. MOBILE — HEADER
   -------------------------------------------------------------------------- */
.nav-v3__mobile-header {
    display: none;
}

.nav-v3__mobile-utility {
    background: var(--awc-white, #FFF);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    padding: 8px var(--grid-margin-mobile, 20px);
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: var(--awc-text-brand, #004652);
    border-bottom: none;
}

.nav-v3__mobile-utility-link {
    font-size: 14px;
    color: var(--awc-text-brand, #004652);
    text-decoration: none;
    transition: color 0.15s ease;
}
.nav-v3__mobile-utility-link:hover {
    color: var(--awc-text-brand-strong, #002428);
}

.nav-v3__mobile-lang-inline {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: var(--awc-text-brand, #004652);
    cursor: pointer;
}

/* Dropdown chevron for language in mobile utility bar */
.nav-v3__mobile-lang-inline::after {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    border-right: 1.5px solid var(--awc-text-brand, #004652);
    border-bottom: 1.5px solid var(--awc-text-brand, #004652);
    transform: rotate(45deg);
    margin-top: -3px;
    flex-shrink: 0;
}

/* Circular flags — mobile inline + footer + desktop */
.nav-v3__mobile-lang-inline img,
.nav-v3__mobile-lang-flag {
    width: 20px !important;
    height: 20px !important;
    border-radius: 50%;
    overflow: hidden;
    object-fit: cover;
    object-position: center;
    aspect-ratio: 1 / 1 !important;
}

/* Mobile main bar */
.nav-v3__mobile-bar {
    background: var(--awc-white, #FFF);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 var(--grid-margin-mobile, 20px);
    height: 56px;
    box-shadow: 0 2px 4px 0 rgba(0, 70, 82, 0.08);
    position: relative;
    z-index: 1000;
    overflow: visible;
}

/* Mobile sticky */
.nav-v3__mobile-bar--sticky {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
}

.nav-v3__mobile-logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.nav-v3__mobile-logo-full img {
    display: block;
    width: 80px;
    height: 36px;
    aspect-ratio: auto !important;
    object-fit: contain;
}

.nav-v3__mobile-logo-icon {
    display: none;
    width: 32px;
    height: 32px;
    aspect-ratio: auto !important;
    object-fit: contain;
}

.nav-v3__mobile-actions {
    display: flex;
    align-items: center;
    gap: 16px;
}

/* Mobile buy CTA */
.nav-v3__mobile-cta {
    margin-right: 4px;
}

.nav-v3__mobile-buy-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 105px;
    padding: 10px 12px;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    letter-spacing: 0.14px;
    color: #fff !important;
    background: #E42900;
    border: none;
    border-radius: 8px;
    text-decoration: none;
    white-space: nowrap;
}

.nav-v3__mobile-buy-btn:hover {
    background: #CF2500;
}

/* Mobile user button */
.nav-v3__mobile-user-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 0;
    width: 32px;
    height: 32px;
}

.nav-v3__mobile-user-btn svg,
.nav-v3__mobile-user-btn img {
    width: 32px;
    height: 32px;
    color: var(--awc-text-brand, #004652);
    fill: var(--awc-text-brand, #004652);
    aspect-ratio: auto !important;
}

.nav-v3__mobile-user-btn:focus-visible {
    outline: 2px solid var(--text-primary, #131E29);
    outline-offset: 2px;
    border-radius: 2px;
}

/* Mobile user dropdown */
.nav-v3__mobile-user-dropdown {
    position: absolute;
    top: 100%;
    right: var(--grid-margin-mobile, 20px);
    z-index: 1010;
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
    min-width: 150px;
}

.nav-v3__mobile-user-dropdown-link {
    display: block;
    width: 100%;
    padding: 12px 16px;
    font-size: 14px;
    color: var(--text-primary, #131E29);
    text-decoration: none;
    text-align: left;
    background: none;
    border: none;
    cursor: pointer;
}

.nav-v3__mobile-user-dropdown-link:hover {
    background: #F5F3F0;
}

/* Hamburger */
.nav-v3__mobile-hamburger {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
    width: 44px;
    height: 44px;
    background: none;
    border: none;
    padding: 6px;
    cursor: pointer;
    overflow: visible;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

.nav-v3__mobile-hamburger:focus-visible {
    outline: 2px solid var(--text-primary, #131E29);
    outline-offset: 2px;
    border-radius: 2px;
}

.nav-v3__hamburger-line {
    display: block;
    width: 28px;
    height: 2px;
    background: var(--awc-text-brand, #004652);
    border-radius: 1px;
    transition: transform 0.25s ease, opacity 0.25s ease;
    flex-shrink: 0;
}

/* Hamburger open state */
.nav-v3__mobile-hamburger[aria-expanded="true"] .nav-v3__hamburger-line:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

.nav-v3__mobile-hamburger[aria-expanded="true"] .nav-v3__hamburger-line:nth-child(2) {
    opacity: 0;
}

.nav-v3__mobile-hamburger[aria-expanded="true"] .nav-v3__hamburger-line:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

/* --------------------------------------------------------------------------
   5. MOBILE — FULL-SCREEN MENU
   -------------------------------------------------------------------------- */
.nav-v3__mobile-menu {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1100;
    background: #fff;
    overflow: hidden;
}

/* Panels */
.nav-v3__mobile-panel {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    background: #fff;
    transform: translateX(100%);
    transition: transform 0.25s ease;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.nav-v3__mobile-panel--root {
    transform: translateX(-100%);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.nav-v3__mobile-panel.nav-v3--active {
    transform: translateX(0);
}

.nav-v3__mobile-panel.nav-v3--exit-left {
    transform: translateX(-100%);
}

/* Panel header */
.nav-v3__mobile-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px var(--grid-margin-mobile, 20px);
    border-bottom: 1px solid var(--awc-border-subtle, #E2DFDA);
    min-height: 56px;
    flex-shrink: 0;
    background: var(--awc-white, #FFF);
    z-index: 1;
}

.nav-v3__mobile-panel-title {
    font-size: 20px;
    font-weight: 600;
    line-height: 130%;
    letter-spacing: -0.2px;
    color: var(--awc-text-brand, #004652);
    flex: 1;
    text-align: left;
}

/* Sub-panel title layout */
.nav-v3__mobile-panel--sub .nav-v3__mobile-panel-title {
    text-align: left;
}

.nav-v3__mobile-back,
.nav-v3__mobile-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: none;
    border: none;
    color: var(--awc-text-brand, #004652);
    cursor: pointer;
    flex-shrink: 0;
    z-index: 1;
}

.nav-v3__mobile-close {
    margin-right: -16px;
}

.nav-v3__mobile-back {
    gap: 8px;
    padding: 0;
    font-size: 20px;
    font-weight: 600;
    line-height: 130%;
    letter-spacing: -0.2px;
    margin-left: -18px;
}

.nav-v3__mobile-close:hover {
    background: var(--awc-gray-50, #F5F5F5);
    border-radius: 8px;
}

.nav-v3__mobile-back:focus-visible,
.nav-v3__mobile-close:focus-visible {
    outline: 2px solid var(--text-primary, #131E29);
    outline-offset: 2px;
    border-radius: 2px;
}

/* Navigation list */
.nav-v3__mobile-nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav-v3__mobile-nav-item {
    border-bottom: 1px solid var(--awc-border-subtle, #E2DFDA);
    margin-bottom: 0 !important;
}

.nav-v3__mobile-nav-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 64px;
    padding: 0 var(--grid-margin-mobile, 20px);
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: 0.16px;
    color: var(--awc-text-brand-strong, #002428);
    background: var(--awc-white, #FFF);
    border: none;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s ease;
}

a.nav-v3__mobile-nav-link,
a.nav-v3__mobile-nav-link:visited {
    color: var(--awc-text-brand-strong, #002428);
}

.nav-v3__mobile-nav-link:hover {
    background: var(--awc-gray-50, #F5F5F5);
}

.nav-v3__mobile-nav-link:active {
    background: var(--awc-gray-50, #F5F5F5);
}

.nav-v3__mobile-chevron {
    flex-shrink: 0;
    color: var(--awc-text-brand, #004652);
}

.nav-v3__mobile-chevron path {
    stroke: var(--awc-text-brand, #004652);
}

/* Mobile footer (language + accessibility links) */
.nav-v3__mobile-footer {
    margin-top: auto;
    padding: 16px var(--grid-margin-mobile, 20px);
    border-top: 1px solid var(--awc-border-subtle, #E2DFDA);
    display: flex;
    flex-direction: column;
    gap: 0;
    flex-shrink: 0;
    background: var(--awc-white, #FFF);
}

.nav-v3__mobile-footer-link {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 12px 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 145%;
    color: var(--awc-text-brand, #004652);
    background: none;
    border: none;
    text-decoration: none;
    cursor: pointer;
    text-align: left;
    width: 100%;
}

.nav-v3__mobile-footer-link:hover {
    color: var(--awc-text-brand-strong, #002428);
}

.nav-v3__mobile-footer-link img {
    width: 20px !important;
    height: 20px !important;
    border-radius: 50%;
    overflow: hidden;
    object-fit: cover;
    object-position: center;
    aspect-ratio: 1 / 1 !important;
    flex-shrink: 0;
}

.nav-v3__mobile-footer-link .nav-v3__mobile-chevron {
    margin-left: auto;
}

/* Mobile language panel */
.nav-v3__mobile-lang-list {
    list-style: none;
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
}

.nav-v3__mobile-panel--lang .nav-v3__mobile-lang-list,
.nav-v3 ul.cntrynav.langMod,
ul.nav-v3__mobile-lang-list.cntrynav {
    position: static !important;
    top: auto !important;
    left: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    float: none !important;
}

/* Language panel: header stays put, only list scrolls.
   This prevents the first item from ever hiding behind the header. */
.nav-v3__mobile-panel--lang {
    overflow: hidden !important;
}

.nav-v3__mobile-panel--lang .nav-v3__mobile-lang-list {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

li.nav-v3__mobile-lang-option.input-option {
    position: static !important;
    top: auto !important;
    float: none !important;
    display: block !important;
    margin-top: 0 !important;
}

.nav-v3__mobile-lang-option {
    padding: 14px var(--grid-margin-mobile, 20px) 14px 14px;
    border-bottom: 1px solid #E8E4DF;
    cursor: pointer;
    margin-bottom: 0 !important;
    width: 100%;
    box-sizing: border-box;
}

.nav-v3__mobile-lang-option:hover {
    background: #F5F3F0;
}

.nav-v3__mobile-lang-option .language-list {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 16px;
    color: var(--awc-text-brand-strong, #002428);
    width: 100%;
}

.nav-v3__mobile-lang-option .language-list img {
    width: 24px !important;
    height: 24px !important;
    border-radius: 50%;
    overflow: hidden;
    object-fit: cover;
    object-position: center;
    aspect-ratio: 1 / 1 !important;
    flex-shrink: 0;
}

/* --------------------------------------------------------------------------
   6. MOBILE — SIGN-IN CARD
   -------------------------------------------------------------------------- */
.nav-v3__mobile-signin-card {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.1);
    border-radius: 12px 12px 0 0;
    padding: 16px var(--grid-margin-mobile, 20px);
    z-index: 1110;
}

.nav-v3__mobile-signin-card .nav-v3__form-group {
    position: relative;
}

.nav-v3__mobile-signin-card .nav-v3__label {
    position: absolute;
    top: -8px;
    left: 12px;
    background: #fff;
    padding: 0 4px;
    font-size: 12px;
    font-weight: 400;
    color: #6B6560;
    z-index: 1;
}

.nav-v3__mobile-signin-card .toggle-password,
.nav-v3__mobile-signin-card .pwd-eye-icon {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    z-index: 2;
}

.nav-v3__mobile-signin-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    margin-left: -20px;
    margin-right: -20px;
    padding-left: 20px;
    padding-right: 20px;
    border-bottom: 1px solid var(--awc-border-subtle, #E2DFDA);
    padding-bottom: 12px;
    margin-bottom: 16px;
}

.nav-v3__mobile-signin-title {
	flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary, #131E29);
}

.nav-v3__mobile-signin-close {
    display: flex;
	flex-shrink: 0;
    width: 32px;
    height: 32px;
	min-width: 32px;
    padding: 0;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: var(--text-primary, #131E29);
    cursor: pointer;
}

.nav-v3__mobile-signin-close svg {
    width: 24px;
    height: 24px;
}

/* V3 form elements (mobile sign-in card) */
.nav-v3__form-group {
	position: relative;
    margin-bottom: 16px;
}

.nav-v3__form-group--row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.nav-v3__input {
    width: 100%;
    padding: 10px 12px;
    font-size: 16px;
    font-family: inherit;
    border: 1px solid #C4BFB8;
    border-radius: 4px;
    color: var(--text-primary, #131E29);
    background: #fff;
    transition: border-color 0.15s ease;
}

.nav-v3__input:focus {
    border-color: var(--text-primary, #131E29);
    outline: none;
}

.nav-v3__checkbox-label {
    font-size: 14px;
    color: var(--text-primary, #131E29);
}

.nav-v3__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 12px 24px;
    font-size: 16px;
    font-weight: 700;
    font-family: inherit;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    text-decoration: none;
    transition: background-color 0.15s ease;
}

.nav-v3__btn--primary {
    background: #E42900;
    color: #fff;
}

.nav-v3__btn--primary:hover {
    background: #CF2500;
}

.nav-v3__btn--primary:active {
    background: #882100;
}

.nav-v3__link {
    font-size: 14px;
    color: #E42900;
    text-decoration: none;
}

.nav-v3__link:hover {
    text-decoration: underline;
}

/* --------------------------------------------------------------------------
   8. DESKTOP — SIGN-IN / LOGIN POPUP
   -------------------------------------------------------------------------- */

/* Login popup link styling */
.nav-v3 .create_acc-links {
    color: #E42900;
    text-decoration: none;
    font-weight: 700;
    font-size: 16px;
    display: block;
    text-align: center;
    margin-top: 8px;
}

.nav-v3 .create_acc-links::after {
    content: ' \203A';
    font-size: 1.2em;
}

.nav-v3 .create_acc-links:hover {
    text-decoration: underline;
}

/* Sign In button inside login popup */
.nav-v3 .btnbr-primary,
.nav-v3 .loginpopup-btn {
    background: #E42900 !important;
    border-radius: 8px !important;
    color: #fff !important;
}

.nav-v3 .btnbr-primary:hover,
.nav-v3 .loginpopup-btn:hover {
    background: #CF2500 !important;
}

.nav-v3 .btnbr-primary:active,
.nav-v3 .loginpopup-btn:active {
    background: #882100 !important;
}

#signInD {
    position: relative;
    z-index: 10000;
    display: flex;
    align-items: center;
}

.nav-v3__sign-in-trigger,
#aLogin {
    display: inline-flex;
    align-items: center !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 6px;
    white-space: nowrap !important;
}

.nav-v3__sign-in-trigger .nav-v3__user-icon,
.nav-v3__sign-in-trigger img,
#aLogin img {
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    flex-shrink: 0;
}

#dvLoginSection,
.login-popup-section {
    position: absolute !important;
    z-index: 10000 !important;
    top: 44px !important;
    right: max(24px, calc((100% - 1440px) / 2 + 24px)) !important;
    left: auto !important;
    background: #fff;
    box-shadow: 0 4px 16px rgba(0, 70, 82, 0.15);
    border-radius: 12px;
    width: 440px;
    max-width: 440px;
}

/* Triangle pointer toward Register */
#dvLoginSection::before {
    content: '';
    position: absolute;
    top: -8px;
    right: 60px;
    width: 16px;
    height: 16px;
    background: #fff;
    transform: rotate(45deg);
    box-shadow: -2px -2px 4px rgba(0, 70, 82, 0.06);
    border-radius: 2px;
}

/* Login popup visibility */
#dvLoginSection {
    display: none !important;
}

#dvLoginSection.nav-v3__login-open {
    display: block !important;
}

#liUserSec {
    display: none;
}

.nav-v3__user-dropdown,
.myaccount-dropdown-sec {
    z-index: 10000 !important;
}

.nav-v3 .nav-v3__user-dropdown.myaccount-dropdown-sec {
    left: auto !important;
    right: 0 !important;
}

.nav-v3 .nav-v3__lang-dropdown.cntryNav {
    top: 38px !important;
    margin: 0 !important;
}

#dvEmailMsgSection,
#m_dvEmailMsgSection {
    display: none;
    height: 0;
    overflow: hidden;
}

.nav-v3__login-open .login-section-header {
    margin-left: -24px;
    margin-right: -24px;
    padding-left: 24px;
    padding-right: 24px;
    border-bottom: 1px solid var(--awc-border-subtle, #E2DFDA);
    padding-bottom: 8px;
}

/* --------------------------------------------------------------------------
   8b. DESKTOP — SCROLL BEHAVIOR
   -------------------------------------------------------------------------- */
.nav-v3--scrolled .nav-v3__utility-bar {
    display: none;
}

.nav-v3--scrolled .nav-v3__main-bar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1000;
    box-shadow: inset 0 -1px 0 0 var(--awc-border-subtle, #E2DFDA);
}

/* Scrolled dropdown positioning */
.nav-v3--scrolled .nav-v3__dropdown-container {
    position: fixed;
    top: 72px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999;
}

.nav-v3--scrolled .nav-v3__dropdown-overlay {
    position: fixed;
    z-index: 998;
}

/* Sticky modifier (alternate class) */
.nav-v3__main-bar--sticky {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1000;
}

/* --------------------------------------------------------------------------
   8b-mobile. MOBILE — SCROLL BEHAVIOR
   -------------------------------------------------------------------------- */
@media screen and (max-width: 1024px) {
    .nav-v3--scrolled .nav-v3__mobile-utility {
        display: none;
    }

    .nav-v3--scrolled .nav-v3__mobile-bar {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1000;
        box-shadow: 0 2px 4px 0 rgba(0, 70, 82, 0.08);
    }

    .nav-v3--scrolled .nav-v3__mobile-logo-full {
        display: none;
    }

    .nav-v3--scrolled .nav-v3__mobile-logo-icon {
        display: block;
    }
}

/* --------------------------------------------------------------------------
   8c. SVG ICON COLORS — brand teal
   -------------------------------------------------------------------------- */
.nav-v3__tab-chevron path {
    fill: var(--awc-text-brand, #004652);
}

.nav-v3__child-chevron path,
.nav-v3__lang-caret {
    stroke: var(--awc-text-brand, #004652);
}

.nav-v3__user-icon {
    color: var(--awc-text-brand, #004652);
}

/* --------------------------------------------------------------------------
   8d. FOCUS INDICATORS — global reset override
   -------------------------------------------------------------------------- */
.nav-v3__tab:focus-visible,
.nav-v3__tab-toggle:focus-visible,
.nav-v3__utility-link:focus-visible,
.nav-v3__sign-in-trigger:focus-visible,
.nav-v3__lang-trigger:focus-visible,
.nav-v3__logo:focus-visible,
.nav-v3__buy-btn:focus-visible,
.nav-v3__child-link:focus-visible,
.nav-v3__grandchild-link:focus-visible,
.nav-v3__mobile-nav-link:focus-visible,
.nav-v3__mobile-nav-toggle:focus-visible,
.nav-v3__mobile-hamburger:focus-visible,
.nav-v3__mobile-user-btn:focus-visible,
.nav-v3__mobile-close:focus-visible,
.nav-v3__mobile-back:focus-visible,
.nav-v3__mobile-signin-close:focus-visible,
.nav-v3__btn:focus-visible {
    outline: 2px solid var(--text-primary, #131E29) !important;
    outline-offset: 2px !important;
    border-radius: 2px;
}

.nav-v3__tab:focus-visible,
.nav-v3__tab-toggle:focus-visible {
    outline-offset: -2px !important;
}

.nav-v3__lang-option:focus-visible {
    outline: 2px solid var(--text-primary, #131E29) !important;
    outline-offset: -2px !important;
}

/* --------------------------------------------------------------------------
   9. RESPONSIVE BREAKPOINTS
   -------------------------------------------------------------------------- */

/* Desktop: show desktop nav, hide mobile */
@media screen and (min-width: 1025px) {
    .nav-v3__utility-bar {
        display: block;
    }

    .nav-v3__main-bar {
        display: block;
    }

    .nav-v3__mobile-header {
        display: none;
    }

    .nav-v3__mobile-menu {
        display: none;
    }
}

/* Tablet / Mobile: hide desktop nav, show mobile */
@media screen and (max-width: 1024px) {
    .nav-v3__utility-bar {
        display: none;
    }

    .nav-v3__main-bar {
        display: none;
    }

    .nav-v3__dropdown-overlay,
    .nav-v3__dropdown-container {
        display: none;
    }

    .nav-v3__mobile-header {
        display: block;
    }

    .nav-v3__mobile-utility,
    .nav-v3__mobile-bar {
        padding-left: var(--grid-margin, 24px);
        padding-right: var(--grid-margin, 24px);
    }
}

@media screen and (max-width: 576px) {
    .nav-v3__mobile-utility,
    .nav-v3__mobile-bar {
        padding-left: var(--grid-margin-mobile, 20px);
        padding-right: var(--grid-margin-mobile, 20px);
    }
}

/* --------------------------------------------------------------------------
   9b. MOBILE — QTT SLIDESHOW Z-INDEX
   -------------------------------------------------------------------------- */
@media screen and (max-width: 1024px) {
    .slideshow-container-open {
        z-index: 1001 !important;
    }
}

/* --------------------------------------------------------------------------
   9c. MOBILE — HIDE FEEDBACK BUTTON & CHATBOT
   -------------------------------------------------------------------------- */
@media screen and (max-width: 1024px) {
    .feedbackify,
    #feedbackify,
    .feedback-btn,
    [class*="feedback"],
    [id*="feedback"],
    .nav-v3 [data-nav-v3-feedback] {
        display: none !important;
    }

    .chat-bot-widget,
    .chatbot-container,
    [class*="chatbot"],
    [id*="chatbot"],
    .nav-v3 [data-nav-v3-chatbot],
    .eb-css,
    .ebcss-chat-button-wrapper,
    .ebcss-chat-button {
        display: none !important;
    }
}

/* --------------------------------------------------------------------------
   9c. MOBILE — V2 LANGUAGE FLAGS CIRCULAR (fallback selectors)
   -------------------------------------------------------------------------- */
@media screen and (max-width: 1024px) {
    .mobile-lang-panel .language-list img,
    .mobile-lang-panel .flag-lang,
    .cntrynav .language-list img,
    .cntrynav .flag-lang,
    .langMod .language-list img,
    .langMod .flag-lang {
        width: 24px !important;
        height: 24px !important;
        border-radius: 50% !important;
        overflow: hidden;
        object-fit: cover !important;
        aspect-ratio: 1 / 1 !important;
        flex-shrink: 0;
    }

    .mobile-header-lag-sec .flag-lang,
    .mobile-header .flag-lang,
    #mobile-lang-flag {
        width: 20px !important;
        height: 20px !important;
        border-radius: 50% !important;
        overflow: hidden;
        object-fit: cover !important;
        aspect-ratio: 1 / 1 !important;
    }

    .mobile-lang-panel .language-list,
    .cntrynav .language-list {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        font-size: 16px;
        padding: 14px 0;
    }
}

/* --------------------------------------------------------------------------
   9d. MOBILE — SIGN-IN POPUP (outside hamburger menu)
   -------------------------------------------------------------------------- */
@media screen and (max-width: 1024px) {
    .nav-v3__mobile-signin-card--page {
        position: fixed;
        top: 104px;
        bottom: auto;
        left: 32px;
        right: 32px;
        z-index: 1050;
        background: #fff;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
        border-radius: 12px;
        padding: 16px var(--grid-margin-mobile, 20px);
    }

    .nav-v3--scrolled .nav-v3__mobile-signin-card--page {
        top: 68px;
    }
}

/* --------------------------------------------------------------------------
   8. PRINT
   -------------------------------------------------------------------------- */
@media print {
    .nav-v3 {
        display: none;
    }
}
