.site-navigation--mega { position:relative; }
.site-navigation--mega>summary { display:flex; align-items:center; gap:.5rem; cursor:pointer; width:fit-content; max-width:100%; }
.site-navigation--mega>summary>.cc-icon { width:1.25rem; height:1.25rem; }
.site-header .site-navigation--mega>.site-nav { display:block; }
.site-navigation--mega>summary::before { content:none; }
.site-theme .mega-menu { background:#0b263e; border-color:#214259; color:#edf7ff; }
.site-theme .site-nav .mega-menu .menu-tree a,.site-theme .site-nav .mega-menu .menu-tree summary { color:inherit; }
.site-theme .site-nav .mega-menu .menu-tree a:hover { color:#49e2ee; }
.mega-menu { background:var(--surface,#fff); color:var(--text,#12304a); border:1px solid var(--line,#dbe5ee); border-radius:1rem; padding:1.25rem; overflow-wrap:anywhere; }
.mega-menu__top { padding-bottom:1rem; border-bottom:1px solid var(--line,#dbe5ee); margin-bottom:1rem; }
.mega-menu__bottom { padding-top:1rem; border-top:1px solid var(--line,#dbe5ee); margin-top:1rem; }
.mega-menu__top>.menu-tree,.mega-menu__bottom>.menu-tree { display:flex; gap:1rem; flex-wrap:wrap; }
.mega-menu .menu-link-row { align-items:center; }
.mega-menu a:focus-visible,.mega-menu summary:focus-visible,.site-navigation--mega>summary:focus-visible { outline:3px solid var(--accent,#088eae); outline-offset:3px; }
@media(min-width:1101px) {
 .site-navigation--mega[open]>.site-nav { position:absolute; z-index:40; inset-inline-end:0; top:100%; width:min(850px,85vw); padding-top:.5rem; }
 .mega-menu { max-height:75vh; overflow:auto; box-shadow:0 1rem 2rem #001b3320; }
 .mega-menu[data-enhanced] .mega-menu__main { position:relative; min-height:20rem; }
 .mega-menu[data-enhanced] .mega-menu__main>.menu-tree>li { width:32%; }
 .mega-menu[data-enhanced] .mega-menu__main>.menu-tree>li>.menu-link-row { position:static; flex-wrap:nowrap; justify-content:space-between; }
 .mega-menu[data-enhanced] .mega-menu__main>.menu-tree>li>.menu-link-row>.menu-branch { flex-basis:auto; }
 .mega-menu[data-enhanced] .mega-menu__main>.menu-tree>li>.menu-link-row>.menu-branch[open]>.menu-tree { position:absolute; top:0; left:36%; right:0; width:64%; max-width:none; max-height:20rem; overflow:auto; padding:0 1rem; margin:0; border:0; border-radius:0; border-inline-start:1px solid var(--line,#dbe5ee); background:transparent; }
 .mega-menu[data-enhanced] .mega-menu__main>.menu-tree>li>.menu-link-row>.menu-branch>summary { padding:.35rem .5rem; }
}
@media(max-width:1100px) {
 .site-navigation--mega>.site-nav { width:100%; }
 .mega-menu { padding:1rem; }
 .mega-menu .menu-tree { display:grid; }
 .mega-menu .menu-link-row { position:relative; min-height:44px; gap:0; }
 .mega-menu .menu-link-row>a { max-width:calc(100% - 44px); }
 .mega-menu .menu-link-row>.menu-branch>summary { position:absolute; inset-inline-end:0; top:0; display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:0; }
 .mega-menu .menu-branch[open] { flex-basis:100%; }
 .mega-menu .menu-branch[open]>.menu-tree { position:static; min-width:0; max-width:100%; margin:.5rem 0; padding:.5rem 0 .5rem 1rem; box-shadow:none; }
}
.mega-menu__heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;grid-column:1 / -1}
.mega-menu__search{grid-column:1 / -1;margin-bottom:16px}
.mega-menu--flat[data-enhanced] .mega-menu__main{min-height:0}
.mega-menu--flat[data-enhanced] .mega-menu__main>.menu-tree{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.mega-menu--flat[data-enhanced] .mega-menu__main>.menu-tree>li{width:auto}
.mega-menu--flat .mega-menu__main .menu-link-row>a{padding:12px;max-width:100%}
.mega-menu__panel{min-width:0}
.mega-menu__panel .cc-promo{margin:0}
@media(min-width:1101px){
 .mega-menu--with-panel{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px 24px}
 .mega-menu--with-panel>.mega-menu__top{grid-column:1 / -1}
 .mega-menu--with-panel>.mega-menu__main{grid-column:1;grid-row:4}
 .mega-menu--with-panel>.mega-menu__bottom{grid-column:1;grid-row:5}
 .mega-menu--with-panel>.mega-menu__panel{grid-column:2;grid-row:4 / 6}
}
@media(max-width:700px){.mega-menu--flat[data-enhanced] .mega-menu__main>.menu-tree{grid-template-columns:1fr}.mega-menu__panel{margin-top:20px}}

.mega-menu .mega-menu__heading .btn{color:var(--ink,#17364a);background:var(--surface,#fff)}
