/* HK 1.29.1 — approved mobile-only menu, card action, footer, nav + ad slot contract. */
body:not(.wp-admin) .hk29-mobile-menu-backdrop[hidden],
body:not(.wp-admin) .hk29-mobile-menu-drawer[hidden]{display:none!important}
body:not(.wp-admin) .hk29-mobile-menu-backdrop{position:fixed;inset:0;background:rgb(14 28 47 / 42%);z-index:120040}
body:not(.wp-admin) .hk29-mobile-menu-drawer{
 position:fixed;z-index:120041;inset:0 0 0 auto;width:min(380px,100vw);max-width:100vw;
 max-height:100dvh;background:#fff;color:var(--hk28-ink,#17283b);
 box-shadow:-12px 0 35px rgb(12 31 54 / 16%);display:flex;flex-direction:column;
 overflow:hidden;border:0;border-radius:0;
}
body:not(.wp-admin) .hk29-mobile-menu-heading{
 display:flex;align-items:center;justify-content:space-between;min-height:66px;padding:11px 18px;
 border-bottom:1px solid #e3e9f1;flex-shrink:0;
}
body:not(.wp-admin) .hk29-mobile-menu-heading strong{font-size:17px;font-weight:750;line-height:1.35}
body:not(.wp-admin) .hk29-mobile-menu-close{display:grid;place-items:center;min-width:44px;min-height:44px;border:0;border-radius:8px;background:transparent;color:inherit;cursor:pointer}
body:not(.wp-admin) .hk29-mobile-menu-close:hover{background:#eef4fc}
body:not(.wp-admin) .hk29-mobile-menu-close .hk28-icon{width:21px;height:21px}
body:not(.wp-admin) .hk29-mobile-menu-scroll{overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;padding:15px 18px max(20px,env(safe-area-inset-bottom))}
body:not(.wp-admin) .hk29-mobile-menu-links{margin:0;padding:0;list-style:none}
body:not(.wp-admin) .hk29-mobile-menu-links li{list-style:none;margin:0;padding:0}
body:not(.wp-admin) .hk29-mobile-menu-links a,
body:not(.wp-admin) .hk29-mobile-menu-shortcuts a{
 min-height:48px;display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:8px;
 font-size:14px;font-weight:650;line-height:1.5;color:#1b2c41;text-decoration:none!important;
}
body:not(.wp-admin) .hk29-mobile-menu-links a:hover,
body:not(.wp-admin) .hk29-mobile-menu-shortcuts a:hover,
body:not(.wp-admin) .hk29-mobile-menu-links .current-menu-item>a{background:#edf4fe;color:#215fcb}
body:not(.wp-admin) .hk29-mobile-menu-links .sub-menu{padding-left:16px;list-style:none;margin:0}
body:not(.wp-admin) .hk29-mobile-menu-links .sub-menu a{font-size:13px;min-height:43px;color:#4b617b}
body:not(.wp-admin) .hk29-mobile-menu-label{padding:22px 12px 8px;margin-top:13px;border-top:1px solid #e5ebf1;font-size:11px;font-weight:750;letter-spacing:.06em;color:#667a91;text-transform:uppercase}
body:not(.wp-admin) .hk29-mobile-menu-shortcuts .hk28-icon{width:19px;height:19px;flex:none;color:#546c84}
body:not(.wp-admin) .hk29-mobile-menu-drawer :is(a,button):focus-visible{outline:3px solid #91bbf6;outline-offset:2px}
body:not(.wp-admin) .hk29-menu-launcher{display:none!important}
@media(max-width:760px){
 :root{--hk29-mobile-nav-height:calc(69px + env(safe-area-inset-bottom,0px));--hk29-mobile-ad-height:0px}
 /* Keep the WordPress mobile menu usable without JavaScript; switch only once drawer JS loads. */
 html.hk29-menu-ready body:not(.wp-admin) .site-header .main-navigation .menu-toggle{display:none!important}
 html.hk29-menu-ready body:not(.wp-admin) .site-header .main-navigation .main-nav,
 html.hk29-menu-ready body:not(.wp-admin) .site-header .main-navigation .menu{display:none!important}
 html.hk29-menu-ready body:not(.wp-admin) .hk29-menu-launcher{display:inline-flex!important}
 body:not(.wp-admin) .hk29-menu-launcher .hk29-mobile-menu-trigger{cursor:pointer}
 /* The normal site footer is redundant with the permanent app navigation. */
 body:not(.wp-admin) :is(.site-footer,.site-info){display:none!important}
 /* Keep a viewport-fixed app bar on short and long pages and preserve its content clearance. */
 body:not(.wp-admin){padding-bottom:calc(var(--hk29-mobile-nav-height) + var(--hk29-mobile-ad-height))!important}
 body:not(.wp-admin) .hk28-bottom-nav{
  display:grid!important;position:fixed!important;inset:auto 0 0 0!important;
  width:100%;min-height:var(--hk29-mobile-nav-height);
  padding:5px 6px max(7px,env(safe-area-inset-bottom,0px));z-index:1100;
  box-sizing:border-box;background:#fff;border-top:1px solid #e0e6ed;
 }
 /* Future publisher-approved anchor ads belong in this reserved region above the nav.
    Set --hk29-mobile-ad-height to the approved ad height when integrating Mediavine;
    do not reposition or conceal a third-party ad without coordinating with its provider. */
 body:not(.wp-admin) .hk29-mobile-ad-slot{
  position:fixed;inset:auto 0 var(--hk29-mobile-nav-height) 0;
  z-index:1099;max-height:var(--hk29-mobile-ad-height);
 }
 /* The visible dark circle shrinks; the actual accessible button remains 44x44px. */
 body:not(.wp-admin) .hk28-card-v2 .hk28-image-control{
  width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;
  padding:0!important;background:transparent!important;box-shadow:none!important;
  border:0!important;isolation:isolate;
 }
 body:not(.wp-admin) .hk28-card-v2 .hk28-image-control::before{
  content:"";position:absolute;inset:6px;border-radius:50%;z-index:-1;
  background:rgb(23 32 42 / 76%);box-shadow:0 1px 5px rgb(0 0 0 / 16%);pointer-events:none;
 }
 body:not(.wp-admin) .hk28-card-v2 .hk28-image-control:hover,
 body:not(.wp-admin) .hk28-card-v2 .hk28-image-control:focus-visible{background:transparent!important;box-shadow:none!important}
 body:not(.wp-admin) .hk28-card-v2 .hk28-image-control:hover::before{background:rgb(19 33 53 / 95%)}
 body:not(.wp-admin) .hk28-card-v2 .hk28-image-control .hk28-icon{
  width:17px!important;height:17px!important;position:relative;z-index:1;
 }
}
@media(prefers-reduced-motion:reduce){body:not(.wp-admin) .hk29-mobile-menu-drawer{transition:none}}


/* HK 1.29.2 — Mobile masthead alignment and stable direction-aware sticky behavior.
   Enhanced only after the existing mobile utility controls have been moved into
   one dedicated group. GP's navigation remains the no-JS fallback. */
@media (max-width:760px) {
  html.hk29-header-enhanced body:not(.wp-admin) .site-header {
    position:sticky!important;
    top:var(--hk29-header-offset,0px)!important;
    z-index:1150;
    transform:translate3d(0,0,0);
    transition:transform 190ms cubic-bezier(.2,.7,.25,1);
    will-change:transform;
    background:#fff;
  }
  html.hk29-header-enhanced body:not(.wp-admin) .site-header.hk29-header-hidden {
    transform:translate3d(0,calc(-100% - var(--hk29-header-offset,0px)),0);
    pointer-events:none;
  }
  /* GP previously kept a separate flex/nav width, shifting all three icons
     towards the center. Do not use absolute offsets or translateX hacks. */
  html.hk29-header-enhanced body:not(.wp-admin) .site-header .inside-header {
    display:flex!important;flex-direction:row!important;align-items:center!important;
    justify-content:space-between!important;flex-wrap:nowrap!important;
    width:100%!important;max-width:100%!important;min-width:0!important;
    min-height:62px;box-sizing:border-box;gap:8px;
    padding:8px 13px!important;margin-inline:auto!important;
  }
  html.hk29-header-enhanced body:not(.wp-admin) .site-header .inside-header :is(.site-logo,.site-branding) {
    flex:0 1 auto!important;min-width:0;margin:0!important;
  }
  html.hk29-header-enhanced body:not(.wp-admin) .site-header .inside-header .site-logo img {
    max-height:40px;max-width:min(132px,35vw);object-fit:contain;
  }
  html.hk29-header-enhanced body:not(.wp-admin) .main-navigation {display:none!important}
  html.hk29-header-enhanced body:not(.wp-admin) .hk29-mobile-header-actions {
    display:flex!important;flex:0 0 auto;justify-content:flex-end;
    align-items:center;gap:4px;min-width:0;margin:0 0 0 auto!important;
  }
  html.hk29-header-enhanced body:not(.wp-admin) .hk29-mobile-header-actions > .hk28-menu-utility {
    display:inline-flex!important;flex:0 0 44px;visibility:visible;
    margin:0!important;padding:0!important;
  }
  html.hk29-header-enhanced body:not(.wp-admin) .hk29-mobile-header-actions :is(a,button){
    display:inline-flex;justify-content:center;align-items:center;
    width:44px;height:44px;min-width:44px;min-height:44px;
    box-sizing:border-box;
  }
}
/* Outside mobile the enhanced utility group must remain invisible. */
@media (min-width:761px) {
  html.hk29-header-enhanced .hk29-mobile-header-actions {display:none!important}
}
@media (prefers-reduced-motion:reduce) {
  html.hk29-header-enhanced body:not(.wp-admin) .site-header {
    transition:none!important;will-change:auto;
  }
}
