/* ================================
   HEADER ENHANCEMENTS (ADD-ON)
   ================================ */

/* Bigger, responsive logo + tighter sticky state */
.header-inner{padding:14px 0}
.brand img{height:clamp(56px,8vw,88px);width:auto}
.site-header{z-index:70}
.site-header.is-stuck{background:rgba(255,255,255,.96);box-shadow:0 10px 28px rgba(2,6,23,.06);border-bottom-color:transparent}
.site-header.is-stuck .header-inner{padding:10px 0}
.site-header.is-stuck .brand img{height:clamp(52px,6.6vw,80px)}

/* Desktop dropdowns */
.menu li.menu-item-has-children{position:relative}
.menu > li.menu-item-has-children > a{position:relative;padding-right:18px}
.menu > li.menu-item-has-children > a::after{
  content:""; position:absolute; right:2px; top:50%; transform:translateY(-50%);
  width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--slate);
  transition:transform .18s ease, border-top-color .18s ease;
}
.menu li.menu-item-has-children:hover > a::after,
.menu li.menu-item-has-children:focus-within > a::after{transform:translateY(-50%) rotate(180deg);border-top-color:var(--blue)}

.menu li.menu-item-has-children > .sub-menu{
  position:absolute; left:0; top:calc(100% + 12px); min-width:240px; background:#fff;
  border:1px solid #eef2f6; border-radius:12px; padding:8px; box-shadow:0 14px 32px rgba(2,6,23,.10);
  opacity:0; visibility:hidden; transform:translateY(6px) scale(.98); transition:all .18s ease; z-index:80;
}
.menu li.menu-item-has-children:hover > .sub-menu,
.menu li.menu-item-has-children:focus-within > .sub-menu{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.menu .sub-menu{list-style:none;margin:0}
.menu .sub-menu a{display:block;padding:10px 12px;border-radius:10px;color:var(--ink);background:transparent}
.menu .sub-menu a:hover{background:#f7f9fc;color:var(--blue)}
/* third level flyout */
.menu .sub-menu li.menu-item-has-children{position:relative}
.menu .sub-menu li.menu-item-has-children > .sub-menu{
  top:-6px; left:calc(100% + 10px);
}

/* Mobile drawer + overlay + accordions */
@media (max-width:960px){
  /* Overlay (click to close) */
  .mobile-overlay{
    position:fixed; inset:0; background:rgba(2,6,23,.45); backdrop-filter:blur(2px);
    z-index:65;
  }

  /* Right slide-over drawer */
  .mobile-menu{
    position:fixed; inset:0 0 0 auto; width:88%; max-width:380px; background:#fff;
    border-top:none; border-left:1px solid #eef2f6; z-index:70; padding:18px;
    transform:translateX(100%); transition:transform .22s ease;
  }
  .mobile-menu.open{transform:translateX(0)}

  .mobile-menu .m-menu{gap:8px}
  .mobile-menu .m-menu > li > a{display:flex;align-items:center;gap:10px;background:#f7f9fc}
  .mobile-menu .btn-cta{width:100%}

  /* Collapsible submenus */
  .m-toggle{
    margin-left:auto;border:0;background:transparent;cursor:pointer;padding:0 6px;font-size:0;line-height:0;
  }
  .m-toggle::before{content:"▾";font-size:14px;transform:rotate(-90deg);display:inline-block;transition:transform .18s ease}
  .m-toggle[aria-expanded="true"]::before{transform:rotate(0deg)}
  .m-menu .sub-menu{display:none;padding-left:10px;border-left:2px solid #e5e7eb;margin:6px 0 0 6px}
  .m-menu .sub-menu.open{display:block}
}

/* Hover/focus niceties */
.menu > li > a:hover{color:var(--blue)}
.menu > li.current-menu-item > a{color:var(--blue);font-weight:700}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .menu li.menu-item-has-children > .sub-menu,
  .mobile-menu{transition:none}
}

/* Optional: prettier focus ring for keyboard users */
:where(a,button,[role="button"],.btn-cta,.btn-ghost):focus-visible{
  outline:2px solid var(--gold); outline-offset:2px; border-radius:12px;
}
