/* Header navigation: shared alignment, clear states and generous touch targets. */
.header-main{min-height:100px;gap:24px}
.brand{width:270px}
.menu{gap:4px;font-size:14px;line-height:1.4}
.menu>li{padding-block:10px}
.menu-link-row{border-radius:0;transition:background .18s,color .18s}
.menu>li>.menu-link-row>a{padding:14px 8px 14px 14px;min-height:48px;display:flex;align-items:center}
.menu>li:not(.has-children)>.menu-link-row>a{padding-right:14px}
.menu>li:is(:hover,.is-open,.is-active)>.menu-link-row{background:transparent;box-shadow:inset 0 -3px var(--orange)}
.menu>li.is-active>.menu-link-row{box-shadow:inset 0 -3px var(--orange)}
.menu-link-row>a:hover,.is-active>.menu-link-row>a{color:var(--purple)}
.submenu-toggle{display:flex;align-items:center;justify-content:center;flex:0 0 32px;align-self:stretch;padding:0;margin:4px 4px 4px 0;border-radius:0;min-height:40px;transform:none!important}
.submenu-toggle:hover{background:transparent;color:var(--orange)}
.submenu-toggle>span{display:flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:0}
.submenu-toggle>span:before{content:"";display:block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s}
.submenu-toggle[aria-expanded=true]>span:before{transform:translateY(2px) rotate(225deg)}
.menu-link-row>a:focus-visible,.submenu-toggle:focus-visible{outline-offset:-3px;border-radius:0}
.submenu-wrap{top:calc(100% - 2px);left:0;width:320px;padding:10px;border:1px solid #e9dfe8;border-radius:16px;box-shadow:0 16px 44px #350c3318,0 3px 10px #350c3308;transform:translateY(6px)}
.submenu .menu-link-row>a{padding:12px 14px;min-height:44px;font-size:14px;font-weight:550;line-height:1.5;border-radius:0}
.submenu .menu-link-row>a:hover,.submenu .is-active>.menu-link-row>a{background:transparent;color:var(--purple);border-radius:0;box-shadow:inset 3px 0 var(--orange)}
.submenu .is-active>.menu-link-row>a{box-shadow:inset 3px 0 var(--orange)}
.site-nav.is-enhanced .has-children:not(.is-open)>.submenu-wrap{opacity:0;visibility:hidden;transform:translateY(6px);pointer-events:none}
.header-donate{margin-left:8px;gap:12px;padding:11px 14px 11px 22px;min-height:48px;font-size:14px;box-shadow:0 3px 0 #ef9e2420}
.header-donate>span{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#ffffff40;font-size:16px;line-height:1}
.nav-toggle{min-height:44px;min-width:44px;justify-content:center;border-radius:10px;background:var(--paper);padding:10px}
.nav-toggle[aria-expanded=true] .nav-toggle__icon i:first-child{transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded=true] .nav-toggle__icon i:nth-child(2){opacity:0}
.nav-toggle[aria-expanded=true] .nav-toggle__icon i:last-child{transform:translateY(-7px) rotate(-45deg)}
@media(min-width:1101px){
  .menu>li>.submenu-wrap{max-height:calc(100dvh - 155px)}
}
@media(min-width:1101px) and (max-width:1250px){
  .brand{width:220px}.header-main{gap:14px}.menu{gap:0;font-size:13px}
  .menu>li>.menu-link-row>a{padding-left:10px;padding-right:5px}
  .submenu-toggle{flex-basis:28px}.header-donate{font-size:13px;margin-left:0;padding-left:18px;gap:8px}
}
@media(max-width:1100px){
  .header-main{min-height:88px;gap:14px}.brand{width:240px}
  .site-nav{padding:0 0 20px}.menu{padding:8px;background:var(--paper);border:1px solid var(--line);border-radius:16px}
  .menu>li{padding:0;border:0}.menu>li+li{border-top:1px solid #ece4ec80}
  .menu>li>.menu-link-row>a{font-size:16px;min-height:54px;padding:16px 14px}
  .menu>li:is(:hover,.is-open,.is-active)>.menu-link-row{background:transparent}
  .submenu-toggle{flex-basis:44px;min-height:44px;margin:5px}
  .submenu-wrap,.menu>li:last-child .submenu-wrap{width:auto;box-shadow:none;padding:5px;margin:0 10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}
  .submenu .menu-link-row>a{padding:12px;font-size:14px}
  .header-donate{margin-left:0}
}
@media(max-width:760px){
  .header-main{min-height:82px;gap:10px}.brand{width:clamp(145px,42vw,205px)}
  .header-donate{min-height:42px;font-size:12px;padding:10px 15px;gap:0}.header-donate>span{display:none}
  .nav-toggle{font-size:0;gap:0}.site-nav{padding-bottom:16px}
}
@media(max-width:360px){.header-main{gap:8px}.brand{width:140px}.header-donate{font-size:11px;padding-inline:12px}}
@media print{.header-main{min-height:0}.brand{width:240px}}
