:root{--jma-menu-bg:#173f67;--jma-menu-dark:#102f4d;--jma-menu-white:#fff;--jma-menu-border:#dbe2e9}
/* Menú jerárquico JMA: desktop dropdown real */
.main-nav .menu{display:flex!important;align-items:stretch!important;list-style:none!important;margin:0!important;padding:0!important;gap:0!important}
.main-nav .menu>li{position:relative!important;list-style:none!important;margin:0!important;padding:0!important}
.main-nav .menu>li>a{display:flex!important;align-items:center!important;min-height:50px!important;color:#fff!important;background:transparent!important;text-decoration:none!important;padding:14px 18px!important;font-weight:700!important}
.main-nav .menu>li>a:hover,.main-nav .menu>li>a:focus-visible{background:var(--jma-menu-dark)!important;color:#fff!important}
.main-nav .menu li.menu-item-has-children>a{padding-right:38px!important}
.main-nav .menu li.menu-item-has-children>a::after{content:'⌄'!important;position:absolute!important;right:15px!important;top:50%!important;transform:translateY(-50%)!important;font-size:13px!important}
.main-nav .menu .sub-menu{display:block!important;position:absolute!important;left:0!important;top:100%!important;width:270px!important;min-width:270px!important;max-width:340px!important;margin:0!important;padding:8px 0!important;list-style:none!important;background:#fff!important;border:1px solid var(--jma-menu-border)!important;border-radius:0 0 12px 12px!important;box-shadow:0 18px 40px rgba(0,0,0,.20)!important;z-index:100000!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(8px)!important;transition:opacity .16s ease,transform .16s ease,visibility .16s ease!important}
.main-nav .menu .sub-menu li{position:relative!important;width:100%!important;list-style:none!important;margin:0!important;padding:0!important}
.main-nav .menu .sub-menu li>a{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;min-height:44px!important;color:#102f4d!important;background:#fff!important;text-decoration:none!important;padding:11px 18px!important;font-size:14px!important;font-weight:650!important;white-space:normal!important}
.main-nav .menu .sub-menu li>a:hover,.main-nav .menu .sub-menu li>a:focus-visible{background:#eef3f7!important;color:#102f4d!important}
.main-nav .menu li.menu-item-has-children:hover>.sub-menu,.main-nav .menu li.menu-item-has-children:focus-within>.sub-menu,.main-nav .menu li.menu-item-has-children.is-open>.sub-menu{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0)!important}
.main-nav .menu .sub-menu .sub-menu{left:100%!important;top:-9px!important;transform:translateX(8px)!important;border-radius:12px!important}
.main-nav .menu .sub-menu li.menu-item-has-children>a::after{content:'›'!important;position:static!important;transform:none!important;margin-left:12px!important;font-size:18px!important}
.main-nav .menu .sub-menu li.menu-item-has-children:hover>.sub-menu,.main-nav .menu .sub-menu li.menu-item-has-children:focus-within>.sub-menu,.main-nav .menu .sub-menu li.menu-item-has-children.is-open>.sub-menu{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateX(0)!important}
/* Solo el móvil usa acordeón */
@media(max-width:900px){
  .main-nav .container{display:flex!important;flex-wrap:wrap!important}
  .main-nav .nav-toggle{display:block!important;color:#fff!important}
  .main-nav .main-menu{display:none!important;width:100%!important}
  .main-nav .main-menu.is-open{display:block!important}
  .main-nav .menu{display:block!important;width:100%!important}
  .main-nav .menu>li>a{border-top:1px solid rgba(255,255,255,.12)!important}
  .main-nav .menu .sub-menu{position:static!important;width:100%!important;min-width:0!important;max-width:none!important;display:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:rgba(0,0,0,.12)!important;padding:0!important}
  .main-nav .menu li.menu-item-has-children.is-open>.sub-menu{display:block!important}
  .main-nav .menu .sub-menu a{color:#fff!important;background:transparent!important;padding-left:34px!important}
  .main-nav .menu .sub-menu .sub-menu a{padding-left:52px!important}
  .main-nav .menu li.menu-item-has-children>a::after{content:'+'!important;right:16px!important}
  .main-nav .menu li.menu-item-has-children.is-open>a::after{content:'−'!important}
}
