/* Edvora Pathways — unified mobile navigation fixes (v16)
   Loaded last on every page so mobile header behavior is consistent. */

body.edvora-menu-open{overflow:hidden!important}

/* Closed drawers must be genuinely hidden so links cannot leak into the page. */
.mobile,
.apply-mobile,
.mobile-menu{
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.mobile.open,
.apply-mobile.open,
.mobile-menu.open{
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

@media (max-width:1240px){
  /* Desktop navigation and CTAs disappear; mobile header becomes logo + hamburger only. */
  .navlinks,
  .nav-links{display:none!important}
  .nav-actions > .btn,
  .actions > .btn{display:none!important}

  .menu-btn,
  .apply-menu-btn,
  .menu-toggle{
    display:grid!important;
    place-items:center!important;
    flex:0 0 auto!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    padding:0!important;
    margin:0!important;
    border-radius:50%!important;
    border:1px solid rgba(255,255,255,.17)!important;
    background:rgba(255,255,255,.06)!important;
    color:#fff!important;
    font-size:20px!important;
    line-height:1!important;
    cursor:pointer!important;
    z-index:210!important;
  }

  .nav,
  .top-inner{
    justify-content:space-between!important;
    align-items:center!important;
  }

  /* Consistent drawer geometry. Existing page-specific inset/top values remain authoritative. */
  .mobile,
  .apply-mobile,
  .mobile-menu{
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    transition:opacity .22s ease, transform .28s ease, visibility .22s ease!important;
  }

  .mobile nav,
  .apply-mobile nav,
  .mobile-menu nav{
    display:flex!important;
    flex-direction:column!important;
    gap:2px!important;
    width:100%!important;
    max-width:720px!important;
    margin:0 auto!important;
  }

  /* Smaller, cleaner navigation typography. */
  .mobile nav a,
  .apply-mobile nav a,
  .mobile-menu nav a{
    display:flex!important;
    align-items:center!important;
    min-height:44px!important;
    padding:10px 2px!important;
    border-bottom:1px solid rgba(255,255,255,.07)!important;
    font-family:"Manrope",sans-serif!important;
    font-size:16px!important;
    font-weight:700!important;
    line-height:1.25!important;
    letter-spacing:-.015em!important;
    color:#eef6f8!important;
    text-decoration:none!important;
  }
  .mobile nav a:last-child,
  .apply-mobile nav a:last-child,
  .mobile-menu nav a:last-child{border-bottom:0!important}

  .mobile nav a:hover,
  .apply-mobile nav a:hover,
  .mobile-menu nav a:hover,
  .mobile nav a:focus-visible,
  .apply-mobile nav a:focus-visible,
  .mobile-menu nav a:focus-visible{color:#2de1c2!important}
}

@media (max-width:700px){
  /* Keep the brand compact and prevent any adjacent CTA from wrapping below it. */
  .brand{flex:0 0 auto!important;max-width:calc(100vw - 88px)!important}
  .brand img{width:122px!important;height:auto!important}
  .nav-actions,
  .actions{margin-left:auto!important;flex:0 0 auto!important}
  .nav-actions > .btn,
  .actions > .btn{display:none!important}

  .mobile,
  .apply-mobile,
  .mobile-menu{padding:18px 20px 28px!important}
  .mobile nav a,
  .apply-mobile nav a,
  .mobile-menu nav a{font-size:15px!important;min-height:42px!important;padding:9px 0!important}
}

/* Fully define the drawers here so they work even on pages with different base styles. */
@media (max-width:1240px){
  .mobile,
  .apply-mobile,
  .mobile-menu{
    position:fixed!important;
    inset:0!important;
    width:100%!important;
    height:100dvh!important;
    max-height:100dvh!important;
    box-sizing:border-box!important;
    background:rgba(5,13,20,.985)!important;
    color:#fff!important;
    transform:translateY(-14px)!important;
  }
  .mobile{z-index:95!important;padding:126px 24px 28px!important}
  .apply-mobile{z-index:19!important;padding:94px 24px 28px!important}
  .mobile-menu{z-index:79!important;padding:142px 24px 28px!important}
  .mobile.open,
  .apply-mobile.open,
  .mobile-menu.open{transform:none!important}
}
@media (max-width:700px){
  .mobile{padding:116px 18px 24px!important}
  .apply-mobile{padding:84px 18px 24px!important}
  .mobile-menu{padding:128px 18px 24px!important}
}
@media (max-width:1240px){
  .header,.top{position:sticky!important;top:0!important;z-index:220!important}
  .nav-shell{z-index:220!important}
  .menu-btn,.apply-menu-btn,.menu-toggle{position:relative!important;z-index:221!important}
}


/* v16 responsive layout guards: prevent accidental horizontal overlap/cropping. */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,iframe{max-width:100%}
.container,.nav,.top-inner,.hero-grid,.split,.form-shell,.cards,.footer-grid{min-width:0}
.container>*,.hero-grid>*,.split>*,.form-shell>*,.cards>*{min-width:0}
@media(max-width:1240px){
  .header .container,.top .container,.nav-shell .container{min-width:0}
  .nav-actions,.actions{min-width:44px}
}
@media(max-width:700px){
  .hero h1,h1,.title{overflow-wrap:anywhere}
  .hero-actions,.form-actions,.cta-actions{max-width:100%}
  .hero-actions .btn,.form-actions .btn,.cta-actions .btn{max-width:100%;white-space:normal;text-align:center}
  .hero-photo,.photo-panel,.resource-visual{max-width:100%}
  .photo-note{left:14px!important;right:14px!important;bottom:14px!important}
  .footer-grid,.footer-bottom{min-width:0}
}

/* Form controls must be allowed to shrink on narrow phones; long select labels
   otherwise create a min-content width wider than the viewport. */
.form>*{min-width:0}
.field,.field>*{min-width:0;max-width:100%}
.field input,.field select,.field textarea{width:100%;max-width:100%}
