/* WinMax mobile header/menu v514 · final mobile QA */
.wm-mobile-toggle,.wm-mobile-menu,.wm-mobile-backdrop{display:none}
@media (max-width:900px){
  .header .navlinks,.header .langs{display:none!important}
  .header .nav{display:flex!important;align-items:center!important;gap:10px!important;min-width:0}
  .header .wm-brand{flex:0 1 auto!important;min-width:0!important;max-width:42vw}
  .header .brand-logo{display:block;max-width:100%;height:auto}
  .header .nav-cta{display:block!important;margin-left:auto!important;flex:0 0 auto}
  .header .nav-cta .nav-info-btn{min-height:44px!important;padding:0 14px!important;font-size:.72rem!important;white-space:nowrap}

  /* alternate header used on contactos/contact */
  body>header:not(.header) .wrap>nav{display:flex!important;align-items:center!important;gap:10px!important;min-width:0}
  body>header:not(.header) .wrap>nav>a:first-child{flex:0 1 auto;min-width:0;max-width:42vw}
  body>header:not(.header) .logo{display:block;max-width:100%;height:auto}
  body>header:not(.header) .menu{display:none!important}
  body>header:not(.header) .wm-mobile-cta{margin-left:auto!important}

  .wm-mobile-toggle{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;padding:0;border:1px solid rgba(15,30,49,.14);border-radius:15px;background:#fff;color:#122033;box-shadow:0 8px 22px rgba(11,26,43,.06);cursor:pointer;-webkit-appearance:none;appearance:none;position:relative;z-index:102}
  .wm-mobile-toggle span,.wm-mobile-toggle::before,.wm-mobile-toggle::after{content:"";display:block;position:absolute;width:22px;height:2.5px;border-radius:999px;background:currentColor;transition:transform .22s ease,opacity .22s ease}
  .wm-mobile-toggle::before{transform:translateY(-7px)}
  .wm-mobile-toggle::after{transform:translateY(7px)}
  .wm-mobile-toggle[aria-expanded="true"] span{opacity:0}
  .wm-mobile-toggle[aria-expanded="true"]::before{transform:rotate(45deg)}
  .wm-mobile-toggle[aria-expanded="true"]::after{transform:rotate(-45deg)}

  .wm-mobile-backdrop{position:fixed;inset:0;background:rgba(5,17,31,.28);backdrop-filter:blur(2px);z-index:98}
  .wm-mobile-backdrop.open{display:block}
  .wm-mobile-menu{position:fixed;left:12px;right:12px;top:82px;z-index:101;background:#fff;color:#142033;border:1px solid rgba(15,30,49,.10);border-radius:22px;box-shadow:0 28px 80px rgba(5,17,31,.24);padding:12px;max-height:calc(100dvh - 98px);overflow:auto}
  .wm-mobile-menu.open{display:block}
  .wm-mobile-menu nav{display:grid;gap:4px}
  .wm-mobile-menu nav>a{display:flex;align-items:center;justify-content:space-between;min-height:50px;padding:0 14px;border-radius:13px;font-weight:800;font-size:.94rem;color:#142033}
  .wm-mobile-menu nav>a::after{content:"→";opacity:.38}
  .wm-mobile-menu nav>a:hover,.wm-mobile-menu nav>a:focus-visible{background:#f5f7fa}
  .wm-mobile-menu .wm-mobile-langs{display:flex;gap:7px;margin-top:10px;padding-top:12px;border-top:1px solid #e8ecf1}
  .wm-mobile-menu .wm-mobile-langs a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:38px;border:1px solid #e1e7ed;border-radius:10px;font-size:.76rem;font-weight:900}
  .wm-mobile-menu .wm-mobile-langs a.on,.wm-mobile-menu .wm-mobile-langs a[aria-current="page"]{background:#111f31;color:#fff;border-color:#111f31}
  .wm-mobile-menu .wm-mobile-menu-cta{display:flex;margin-top:12px;min-height:48px;align-items:center;justify-content:center;border-radius:14px;background:linear-gradient(100deg,#ff6138 0%,#ff4f45 42%,#ef2c72 100%);color:#fff;font-weight:900}
  body.wm-menu-open{overflow:hidden!important}
}
@media (max-width:620px){
  .header .nav{height:74px!important;gap:8px!important}
  .header .wm-brand{max-width:37vw!important}
  .header .nav-cta .nav-info-btn{min-height:42px!important;padding:0 12px!important;font-size:.68rem!important}
  .wm-mobile-toggle{width:46px;height:46px;flex-basis:46px;border-radius:14px}
  .wm-mobile-menu{top:80px}
  body>header:not(.header) .wrap>nav>a:first-child{max-width:37vw}
}
@media (max-width:390px){
  .header .nav-cta .nav-info-btn{padding:0 10px!important;font-size:.64rem!important}
  .header .wm-brand{max-width:34vw!important}
  .wm-mobile-toggle{width:44px;height:44px;flex-basis:44px}
}


/* Final mobile QA: safe areas, dynamic viewport and touch containment */
html,body{max-width:100%;overflow-x:hidden}
@media (max-width:900px){
  .wm-mobile-toggle{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .wm-mobile-menu{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));max-height:calc(100dvh - 98px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .max-launch{right:max(14px,env(safe-area-inset-right))!important;bottom:max(14px,env(safe-area-inset-bottom))!important}
  .max-panel{bottom:max(84px,calc(72px + env(safe-area-inset-bottom)))!important;max-height:calc(100dvh - 105px)!important}
}
