/* Header dropdowns, footer columns, HTML sitemap (2.171.0). Tokens from main.css. */
.mn-nav-menu .menu-item-has-children { position: relative; }
.mn-nav-parent { appearance: none; background: none; border: 0; font: inherit; font-weight: 600; color: var(--mn-ink); cursor: pointer; padding: .6em 0; display: inline-flex; align-items: center; gap: .4em; min-height: 44px; width: 100%; text-align: left; }
.mn-nav-parent:hover, .mn-nav-parent:focus-visible { color: var(--mn-red); }
.mn-nav-parent:focus-visible, .mn-nav-menu .sub-menu a:focus-visible { outline: 2px solid var(--mn-navy-light); outline-offset: 2px; }
.mn-nav-parent__caret { width: .5em; height: .5em; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin: -3px 0 0 auto; transition: transform .15s; }
.menu-item-has-children.is-open > .mn-nav-parent .mn-nav-parent__caret { transform: rotate(225deg); margin-top: 3px; }
@media (min-width: 900px) { .mn-nav-parent__caret { margin-left: .2em; } }

/* Mobile: the children stack under the parent inside the hamburger panel. */
.mn-nav-menu .sub-menu { list-style: none; margin: 0; padding: 0 0 .4rem .9rem; display: none; border-left: 2px solid var(--mn-gray-200); }
.mn-nav-menu .menu-item-has-children.is-open > .sub-menu { display: block; }
.mn-nav-menu .sub-menu a { padding: .5em 0; font-weight: 500; }
.mn-primary-nav { max-height: calc(100vh - 70px); overflow-y: auto; overscroll-behavior: contain; }

@media (min-width: 900px) {
	.mn-primary-nav { max-height: none; overflow: visible; }
	.mn-nav-parent { color: var(--mn-gray-100); font-size: .9375rem; padding: .75em 0; width: auto; }
	.mn-nav-parent:hover, .mn-nav-parent:focus-visible { color: var(--mn-white); }
	.mn-nav-menu .sub-menu { position: fixed; min-width: 230px; max-width: calc(100vw - 16px); overflow-y: auto; z-index: 200; background: var(--mn-white); border: 1px solid var(--mn-gray-200); border-top: 3px solid var(--mn-red); border-radius: 0 0 12px 12px; box-shadow: 0 10px 28px rgba(13, 27, 42, .18); padding: .4rem 0; }
	.mn-nav-menu .sub-menu a { color: var(--mn-ink); padding: .55em 1rem; font-size: .9375rem; }
	.mn-nav-menu .sub-menu a:hover { background: var(--mn-gray-100); color: var(--mn-red); }
	.mn-nav-menu .menu-item-has-children.is-open > .sub-menu { display: block; }
}
/* Hover is handled in menus.js (the panel is fixed-positioned from the button box). */

/* Footer: one column per group heading. */
.mn-footer-nav-menu { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1.5rem 2rem; }
.mn-footer-nav-menu > li { min-width: 0; }
.mn-footer-heading { display: block; margin: 0 0 .6rem; color: var(--mn-white); font-weight: 800; font-size: .9375rem; text-transform: uppercase; letter-spacing: .06em; padding-bottom: .4rem; border-bottom: 2px solid var(--mn-red); }
.mn-footer-nav-menu .sub-menu { list-style: none; margin: 0; padding: 0; display: grid; gap: .1rem; }
.mn-footer-nav-menu .sub-menu a { display: block; padding: .4em 0; min-height: 32px; font-size: .9375rem; }
@media (max-width: 520px) { .mn-footer-nav-menu { grid-template-columns: 1fr 1fr; gap: 1.25rem 1rem; } }

/* HTML sitemap */
.mn-sitemap { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.1rem; }
.mn-sitemap__sec { background: var(--mn-white); border: 1px solid var(--mn-gray-200); border-top: 4px solid var(--mn-red); border-radius: 16px; padding: 1rem 1.2rem 1.2rem; min-width: 0; }
.mn-sitemap__sec:first-child { grid-column: 1 / -1; }
.mn-sitemap__sec h2 { margin: 0 0 .6rem; font-size: 1.15rem; color: var(--mn-navy); }
.mn-sitemap ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .25rem; }
.mn-sitemap ul ul { padding-left: 1rem; margin-top: .25rem; border-left: 2px solid var(--mn-gray-200); }
.mn-sitemap__tree { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: .5rem 1.5rem; }
.mn-sitemap a { overflow-wrap: anywhere; }
