/* Theme-owned navigation. No injected headers or saved-menu migrations. */
.bwa-header-inner { position: relative; gap: 24px; }
/* A site owner's front page may be light, dark, Elementor-built or plain.
   Keep the navigation readable instead of assuming a dark hero sits behind it. */
.bwa-front-page .bwa-site-header:not(.is-scrolled) { position: relative; color: var(--bwa-navy); background: var(--bwa-white); border-bottom: 1px solid rgba(7,28,44,.08); }
.bwa-front-page .bwa-site-header:not(.is-scrolled) .bwa-nav-list a,
.bwa-front-page .bwa-site-header:not(.is-scrolled) .bwa-login-link { color: var(--bwa-navy); }
.bwa-front-page .bwa-site-header:not(.is-scrolled) .bwa-nav-list a:hover,
.bwa-front-page .bwa-site-header:not(.is-scrolled) .bwa-login-link:hover { color: var(--bwa-teal); }
.bwa-front-page .bwa-site-header:not(.is-scrolled) .bwa-button-dark { color: var(--bwa-white); background: var(--bwa-navy); }
.bwa-primary-nav { gap: 22px; min-width: 0; align-self: stretch; }
.bwa-nav-list { flex-wrap: wrap; column-gap: 18px; row-gap: 0; align-self: stretch; align-items: stretch; }
.bwa-nav-list > li { display: flex; align-items: center; flex-wrap: wrap; }
.bwa-nav-list > li > a { padding-block: 24px; }
.bwa-header-actions { flex-shrink: 0; gap: 18px; }
.bwa-submenu-toggle { display: none; align-items: center; justify-content: center; width: 36px; min-height: 44px; padding: 0; margin: 0; border: 0; border-radius: 8px; background: transparent; color: inherit; cursor: pointer; }
.bwa-nav-ready .bwa-submenu-toggle { display: inline-flex; }
.bwa-submenu-toggle span { width: 7px; height: 7px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: translateY(-2px) rotate(45deg); }
.bwa-submenu-toggle[aria-expanded="true"] span { transform: translateY(2px) rotate(225deg); }
.bwa-submenu-toggle:hover { background: rgba(10,127,120,.12); }
.bwa-primary-nav :focus-visible { outline: 3px solid #0a7f78; outline-offset: 3px; }
.bwa-submenu { color: #102735; background: #fff; }
.bwa-submenu[hidden] { display: none !important; }
.bwa-nav-list > li > .bwa-submenu { position: absolute; top: 100%; inset-inline: 0; z-index: 60; max-height: calc(100dvh - 130px); overflow: auto; overscroll-behavior: contain; margin: 0; padding: 30px; border: 1px solid #dce4e2; border-radius: 0 0 20px 20px; box-shadow: 0 24px 55px rgba(7,28,44,.18); }
.bwa-mega-panel { position: relative; isolation: isolate; }
.bwa-mega-panel::before { content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none; background: linear-gradient(90deg, #fff 28%, rgba(255,255,255,.95) 48%, rgba(255,255,255,.78) 70%, rgba(255,255,255,.3)), linear-gradient(180deg, #fff 0%, rgba(255,255,255,.4) 45%, rgba(255,255,255,.1)), url('../images/mega-menu-lodge.webp') right bottom / cover no-repeat; }
.bwa-mega-intro { padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid rgba(10,127,120,.15); }
.bwa-mega-intro > span, .bwa-mega-column h2 { display: block; color: #0a6b65; font-size: 11px; line-height: 1.5; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.bwa-mega-intro p { margin: 6px 0 0; font-size: 23px; font-weight: 650; letter-spacing: -.025em; line-height: 1.3; }
.bwa-mega-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.bwa-mega-column { min-width: 0; }
.bwa-mega-column h2 { margin: 0 0 12px; }
.bwa-mega-panel ul { list-style: none; margin: 0; padding: 0; }
.bwa-mega-panel li + li { margin-top: 5px; }
.bwa-nav-list .bwa-mega-panel a { display: block; padding: 12px; margin-inline: -12px; border-radius: 10px; opacity: 1; color: #102735; line-height: 1.35; }
.bwa-mega-link-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 15px; font-weight: 750; }
.bwa-mega-link-title > span { color: #0a7f78; font-size: 17px; }
.bwa-mega-description { display: block; margin-top: 5px; max-width: 29ch; color: #42535e; font-size: 12px; font-weight: 450; line-height: 1.5; }
.bwa-site-header .bwa-primary-nav .bwa-nav-list .bwa-submenu a:hover, .bwa-site-header .bwa-primary-nav .bwa-nav-list .bwa-submenu a:focus-visible, .bwa-site-header .bwa-primary-nav .bwa-nav-list .bwa-submenu a[aria-current="page"] { color: #075c56; background: #e7f4ef; opacity: 1; }
.bwa-custom-mega { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 28px; list-style: none; }
.bwa-custom-mega li { min-width: 0; list-style: none; }
.bwa-custom-mega a { display: inline-block; padding: 10px 8px; border-radius: 8px; overflow-wrap: anywhere; }
.bwa-custom-mega > li > a { font-weight: 750; }
.bwa-custom-mega .bwa-submenu { margin: 0; padding: 0 0 0 14px; border-left: 1px solid #dce4e2; }
/* Keyboard/hover access to the real links remains available without JavaScript. */
.bwa-site-header:not(.bwa-nav-ready) .bwa-nav-list > li > .bwa-submenu { display: none; }
.bwa-site-header:not(.bwa-nav-ready) .bwa-nav-list > li:hover > .bwa-submenu,
.bwa-site-header:not(.bwa-nav-ready) .bwa-nav-list > li:focus-within > .bwa-submenu { display: block; }
.admin-bar .bwa-site-header.is-scrolled { top: 32px; }
@media (min-width: 1201px) {
    .bwa-nav-toggle { display: none; }
}
@media (max-width: 1200px) {
    .bwa-header-inner { min-height: 74px; }
    .bwa-nav-toggle { display: none; flex: 0 0 auto; }
    .bwa-nav-ready .bwa-nav-toggle { display: block; }
    .bwa-primary-nav { position: absolute; top: 100%; right: 0; left: 0; display: block; padding: 20px; color: #102735; background: #fff; border: 1px solid #dce4e2; border-radius: 0 0 16px 16px; box-shadow: 0 24px 55px rgba(7,28,44,.18); max-height: calc(100dvh - 120px); overflow: auto; overscroll-behavior: contain; }
    .bwa-nav-ready .bwa-primary-nav { display: none; }
    .bwa-nav-ready .bwa-primary-nav.is-open { display: block; }
    .bwa-nav-list { display: grid; gap: 0; }
    .bwa-nav-list > li { border-bottom: 1px solid #edf1ef; }
    .bwa-nav-list > li > a { display: block; flex: 1; padding: 13px 4px; }
    .bwa-submenu-toggle { width: 44px; }
    .bwa-nav-list > li > .bwa-submenu { position: relative; inset: auto; width: 100%; max-height: none; padding: 22px; margin: 0 0 12px; box-shadow: none; border-radius: 12px; }
    .bwa-mega-columns { gap: 22px; }
    .bwa-header-actions { display: flex; justify-content: space-between; margin-top: 16px; padding-top: 16px; border-top: 1px solid #dce4e2; }
    .bwa-front-page .bwa-site-header:not(.is-scrolled) .bwa-primary-nav .bwa-button-dark { color: #fff; background: #071c2c; }
    .bwa-front-page .bwa-site-header:not(.is-scrolled) .bwa-primary-nav a:hover { color: #0a6b65; }
    .bwa-site-header:not(.bwa-nav-ready) .bwa-header-inner { flex-wrap: wrap; padding-block: 18px; }
    .bwa-site-header:not(.bwa-nav-ready) .bwa-primary-nav { position: static; flex-basis: 100%; max-height: none; }
    .bwa-site-header:not(.bwa-nav-ready) .bwa-nav-list > li > .bwa-submenu { display: block; }
}
@media (max-width: 600px) {
    .bwa-mega-columns, .bwa-custom-mega { grid-template-columns: 1fr; }
    .bwa-mega-panel::before { background: linear-gradient(180deg, #fff 30%, rgba(255,255,255,.96) 62%, rgba(255,255,255,.8)), url('../images/mega-menu-lodge.webp') right bottom / auto 65% no-repeat; }
    .bwa-mega-intro p { font-size: 20px; }
    .bwa-brand .custom-logo { max-width: min(210px, 55vw); }
    .bwa-wordmark { font-size: 21px; gap: 7px; }
    .bwa-primary-nav { padding: 14px; }
    .bwa-nav-list > li > .bwa-submenu { padding: 18px; }
    .bwa-mega-description { max-width: none; }
}
@media (max-width: 782px) {
    .admin-bar .bwa-site-header.is-scrolled { top: 46px; }
}
