/* Only the main header navigation uses these submenu treatments. */
.ctb-header .ctb-navigation { --ctb-nav-navy: #071b30; --ctb-nav-hover: #174b72; }
html.has-modal-open .ctb-header { z-index: 2147483647; }
.ctb-header .ctb-navigation .wp-block-navigation__submenu-container {
    min-width: 280px;
    max-width: min(340px, calc(100vw - 24px));
    padding: 0;
    gap: 0;
    border: 1px solid #ffffff33;
    border-radius: 0;
    background: var(--ctb-nav-navy) !important;
    color: #fff !important;
    box-shadow: 0 12px 30px #071b3026;
}
.ctb-header .ctb-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 48px;
    align-items: stretch;
    width: 100%;
    margin: 0;
    background: var(--ctb-nav-navy) !important;
    color: #fff !important;
}
.ctb-header .ctb-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item:not(:last-child) { border-bottom: 1px solid #ffffff33; }
.ctb-header .ctb-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
    grid-area: 1 / 1 / 2 / -1;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 13px 16px;
    border-radius: 0;
    background: transparent;
    color: #fff !important;
    font-size: 14px;
    line-height: 1.5;
    text-align: left;
    text-decoration: none;
    box-shadow: none;
}
.ctb-header .ctb-navigation .wp-block-navigation__submenu-container > .has-child > .wp-block-navigation-item__content { padding-right: 52px; }
.ctb-header .ctb-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.ctb-header .ctb-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item:focus-within > .wp-block-navigation-item__content {
    background: var(--ctb-nav-hover);
    color: #fff !important;
    box-shadow: none;
}
.ctb-header .ctb-navigation .wp-block-navigation__submenu-container .ctb-submenu-toggle {
    grid-area: 1 / 2 / 2 / 3;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    width: 48px;
    height: auto;
    min-height: 48px;
    margin: 0;
    padding: 0;
    color: #fff !important;
    background: transparent;
}
.ctb-header .ctb-navigation .ctb-submenu-toggle svg { width: 12px; height: 12px; margin: 0; transition: transform .15s ease; }
.ctb-header .ctb-navigation .ctb-submenu-toggle:hover { background: var(--ctb-nav-hover); color: #fff !important; }
.ctb-header .ctb-navigation .has-child[data-ctb-open="false"] > .wp-block-navigation__submenu-container { display: none; }
.ctb-header .ctb-navigation .has-child[data-ctb-open="true"] > .wp-block-navigation__submenu-container {
    display: flex;
    visibility: visible;
    opacity: 1;
    width: auto;
    min-width: 280px;
    height: auto;
    overflow: visible;
}
.ctb-header .ctb-navigation .ctb-submenu-flip-right > .wp-block-navigation__submenu-container { left: 100% !important; right: auto !important; }
.ctb-header .ctb-navigation .wp-block-navigation__submenu-container a:focus-visible,
.ctb-header .ctb-navigation .wp-block-navigation__submenu-container .ctb-submenu-toggle:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }
.ctb-header .ctb-navigation .wp-block-navigation__responsive-container-open,
.ctb-header .ctb-navigation .wp-block-navigation__responsive-container-close {
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    color: var(--ctb-nav-navy);
}
.ctb-header .ctb-navigation .wp-block-navigation__responsive-container-open svg { width: 32px; height: 32px; }
.ctb-header .ctb-navigation .wp-block-navigation__responsive-container-close svg { width: 28px; height: 28px; }

/* The modal stays native WordPress; each submenu becomes an accordion row. */
.ctb-header .ctb-navigation .is-menu-open .wp-block-navigation__responsive-container-content {
    width: 100%;
    max-width: 600px;
    margin-inline: auto;
    align-items: stretch;
}
.ctb-header .ctb-navigation .is-menu-open .wp-block-navigation__container { width: 100%; gap: 0; align-items: stretch; }
.ctb-header .ctb-navigation .is-menu-open .wp-block-navigation-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 48px;
    align-items: stretch;
    width: 100%;
    margin: 0;
}
.ctb-header .ctb-navigation .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { border-bottom: 1px solid #071b3026; }
.ctb-header .ctb-navigation .is-menu-open .wp-block-navigation-item > .wp-block-navigation-item__content {
    grid-area: 1 / 1 / 2 / -1;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 52px;
    padding: 14px 16px;
    border-radius: 0;
    text-align: left;
}
.ctb-header .ctb-navigation .is-menu-open .has-child > .wp-block-navigation-item__content { padding-right: 56px; }
.ctb-header .ctb-navigation .is-menu-open .ctb-submenu-toggle {
    grid-area: 1 / 2 / 2 / 3;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    z-index: 2;
    width: 48px;
    height: auto;
    min-height: 52px;
    margin: 0;
    padding: 0;
    color: var(--ctb-nav-navy);
    background: transparent;
}
.ctb-header .ctb-navigation .is-menu-open .ctb-submenu-toggle:hover { color: #fff; background: var(--ctb-nav-hover); }
.ctb-header .ctb-navigation .is-menu-open .ctb-submenu-toggle svg { transform: rotate(0); }
.ctb-header .ctb-navigation .is-menu-open .ctb-submenu-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.ctb-header .ctb-navigation .is-menu-open .has-child > .wp-block-navigation__submenu-container {
    grid-column: 1 / -1;
    position: static;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none;
    margin: 0;
    padding: 0 !important;
    gap: 0;
    border: 0;
    background: var(--ctb-nav-navy) !important;
    color: #fff !important;
    box-shadow: none;
}
.ctb-header .ctb-navigation .is-menu-open .wp-block-navigation__submenu-container > .wp-block-navigation-item { background: var(--ctb-nav-navy) !important; color: #fff !important; }
.ctb-header .ctb-navigation .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
.ctb-header .ctb-navigation .is-menu-open .wp-block-navigation__submenu-container .ctb-submenu-toggle { color: #fff !important; }
.ctb-header .ctb-navigation .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container { border-top: 1px solid #ffffff33; }
.ctb-header .ctb-navigation .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding-left: 28px; }
@media (prefers-reduced-motion: reduce) { .ctb-header .ctb-navigation .ctb-submenu-toggle svg { transition: none; } }
