/* v1.0.3 – accessible, click-to-expand WordPress mobile menu. */
.ak-submenu-toggle { display:none; }
@media (max-width:900px) {
  /* The primary menu starts shut; it is opened only by the hamburger control. */
  .ak-site-header .ak-primary-nav {
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:100%;
    height:auto;
    max-height:calc(100dvh - 82px);
    overflow-y:auto;
    overscroll-behavior:contain;
    background:#fff;
    padding:12px max(16px, calc((100vw - 1180px)/2));
    box-shadow:0 18px 30px rgba(5,25,48,.18);
    z-index:110;
  }
  .ak-site-header .ak-primary-nav.is-open { display:block; }
  .ak-site-header .ak-menu { display:block; height:auto; margin:0; padding:0; }
  .ak-site-header .ak-menu li { position:relative; height:auto; }
  .ak-site-header .ak-menu > li { border-bottom:1px solid #ecf0f5; }
  .ak-site-header .ak-menu > li:last-child { border-bottom:0; }
  .ak-site-header .ak-menu > li > a {
    display:flex;
    align-items:center;
    min-height:48px;
    height:auto;
    padding:12px 52px 12px 12px;
    color:#091a37;
    font-size:14px;
    font-weight:800;
    line-height:1.35;
    white-space:normal;
  }
  .ak-site-header .ak-menu .menu-item-has-children > a::after { display:none; }
  /* Explicitly override the former mobile display:block and desktop hover/focus. */
  .ak-site-header .ak-primary-nav .ak-menu li > .sub-menu,
  .ak-site-header .ak-primary-nav .ak-menu li:hover > .sub-menu,
  .ak-site-header .ak-primary-nav .ak-menu li:focus-within > .sub-menu {
    display:none;
    position:static;
    width:100%;
    min-width:0;
    max-width:100%;
    left:auto;
    top:auto;
    margin:0 0 10px;
    padding:4px 6px 7px 11px;
    border:0;
    border-left:3px solid #ff6b00;
    border-radius:0 9px 9px 0;
    box-shadow:none;
    background:#f5f8fc;
  }
  .ak-site-header .ak-primary-nav .ak-menu li.is-submenu-open > .sub-menu,
  .ak-site-header .ak-primary-nav .ak-menu li.is-submenu-open:hover > .sub-menu,
  .ak-site-header .ak-primary-nav .ak-menu li.is-submenu-open:focus-within > .sub-menu {
    display:block;
  }
  .ak-site-header .ak-menu .sub-menu li { border-bottom:1px solid #e9edf3; }
  .ak-site-header .ak-menu .sub-menu li:last-child { border-bottom:0; }
  .ak-site-header .ak-menu .sub-menu a {
    display:block;
    padding:11px 45px 11px 12px;
    min-height:42px;
    color:#23334c;
    font-size:13px;
    font-weight:700;
    line-height:1.35;
    white-space:normal;
    overflow-wrap:break-word;
  }
  .ak-site-header .ak-menu .sub-menu .sub-menu { margin-left:10px; width:calc(100% - 10px); }
  .ak-site-header .ak-submenu-toggle {
    position:absolute;
    top:4px;
    right:6px;
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    border:1px solid #e0e8f2;
    border-radius:9px;
    background:#f4f7fb;
    color:#0d2a4c;
    z-index:2;
    transition:background .2s,border-color .2s,color .2s;
  }
  .ak-site-header .ak-submenu-toggle:hover,
  .ak-site-header .ak-submenu-toggle:focus-visible {
    border-color:#ff6b00;
    outline:2px solid transparent;
    background:#fff0e6;
    color:#f26900;
  }
  .ak-site-header .ak-submenu-toggle svg { transition:transform .2s ease; }
  .ak-site-header .is-submenu-open > .ak-submenu-toggle svg { transform:rotate(180deg); }
  .ak-site-header .ak-menu .sub-menu .ak-submenu-toggle { top:1px; right:3px; }
  .ak-site-header .ak-menu .current-menu-item > a,
  .ak-site-header .ak-menu .current-menu-ancestor > a { color:#ef6700; }
  .ak-site-header .ak-menu-toggle { position:relative; z-index:2; }
  .ak-site-header .ak-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
  .ak-site-header .ak-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .ak-site-header .ak-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }
  .ak-site-header .ak-menu-toggle span { transition:transform .2s,opacity .2s; }
}
@media (max-width:650px) {
  .ak-site-header .ak-primary-nav { padding:9px 15px 16px; max-height:calc(100dvh - 69px); }
  .ak-site-header .ak-menu > li > a { font-size:14px; }
}
@media (prefers-reduced-motion:reduce) {
  .ak-site-header .ak-menu-toggle span,
  .ak-site-header .ak-submenu-toggle svg { transition:none; }
}
