/**
 * Correcciones del menú hamburguesa por resolución de tablet.
 * Cada bloque @media es independiente: ajustar una resolución no afecta al resto.
 * Solo aplica en los anchos de los dispositivos reportados con fallos.
 */

/* ==========================================================================
   iPad 10.ª gen — 820 × 1180 (anónimo e instalador)
   ========================================================================== */
@media only screen and (min-width: 815px) and (max-width: 825px) {
  .navbar .container {
    position: relative !important;
  }

  .navbar.navbar-expand-lg {
    overflow: visible !important;
  }

  .navbar .navbar-toggler {
    position: absolute !important;
    right: 15px !important;
    top: 8px !important;
    z-index: 1060 !important;
    pointer-events: auto !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    display: block !important;
  }

  .navbar .navbar-toggler .icons {
    display: inline-block !important;
    vertical-align: top !important;
    pointer-events: none !important;
  }

  .navbar .navbar-toggler.collapsed .ico-menu {
    display: inline-block !important;
  }

  .navbar .navbar-toggler.collapsed .ico-cruz {
    display: none !important;
  }

  .navbar .navbar-toggler:not(.collapsed) .ico-menu {
    display: none !important;
  }

  .navbar .navbar-toggler:not(.collapsed) .ico-cruz {
    display: inline-block !important;
  }

  .navbar .navbar-collapse .navbar-nav {
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    margin-top: 6px !important;
  }

  .navbar .navbar-collapse .navbar-nav:hover .nav-item {
    opacity: 1 !important;
  }

  .navbar .navbar-collapse .menu-right,
  .navbar.navbar-expand-lg .navbar-collapse .menu-right,
  .navbar.navbar-expand-lg.scrolltop.fixed-top .navbar-collapse .menu-right,
  .navbar.navbar-expand-lg .navbar-collapse.show .menu-right {
    position: relative !important;
    right: auto !important;
    left: auto !important;
    top: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    display: block !important;
    text-align: left !important;
    float: none !important;
    clear: both !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .navbar .navbar-collapse .navbar-nav .nav-item .dropdown-nav,
  .navbar .navbar-collapse .navbar-nav .nav-item.hover .dropdown-nav,
  .navbar .navbar-collapse .navbar-nav .nav-item:hover .dropdown-nav,
  .navbar .navbar-collapse .navbar-nav .nav-item .dropdown-nav.show {
    display: none !important;
  }

  .navbar .navbar-collapse .navbar-nav .nav-item .dropdown-nav-mobile,
  .navbar.navbar-expand-lg .navbar-collapse.show .navbar-nav .nav-item .dropdown-nav-mobile {
    display: none !important;
  }

  .navbar .navbar-collapse .navbar-nav .nav-item:hover .dropdown-nav-mobile,
  .navbar.navbar-expand-lg .navbar-collapse.show .navbar-nav .nav-item:hover .dropdown-nav-mobile {
    display: block !important;
  }

  .navbar.navbar-expand-lg .navbar-collapse.show {
    position: relative !important;
    background-color: #F1F4F8 !important;
    width: 100% !important;
    height: auto !important;
    padding: 15px !important;
    padding-top: 50px !important;
    padding-right: 15px !important;
    margin-top: 0 !important;
    z-index: 1050 !important;
    pointer-events: auto !important;
  }

  .navbar.navbar-expand-lg .navbar-collapse.show .navbar-nav {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    gap: 0 !important;
    margin-top: 0 !important;
  }

  .navbar.navbar-expand-lg .navbar-collapse.show .navbar-nav .nav-item {
    width: 100% !important;
    display: block !important;
  }

  .navbar.navbar-expand-lg .navbar-collapse.show .navbar-nav .nav-item .nav-link {
    padding: 15px 0 !important;
    font-size: 14px !important;
    line-height: 18px !important;
    display: block !important;
    width: 100% !important;
  }

  .navbar .pic-cont.mobile {
    display: none !important;
  }

  .navbar .navbar-collapse .menu-right .modulo.usuario,
  .navbar.navbar-expand-lg .navbar-collapse.show .menu-right .modulo.usuario {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
    margin-left: 0 !important;
    text-align: left !important;
  }

  .navbar .navbar-collapse .menu-right .cuenta-cont,
  .navbar.navbar-expand-lg .navbar-collapse.show .menu-right .cuenta-cont {
    display: inline-flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    float: none !important;
    margin-left: 0 !important;
  }

  .navbar .navbar-collapse .menu-right .pic-cont,
  .navbar.navbar-expand-lg .navbar-collapse.show .menu-right .pic-cont {
    float: none !important;
    text-align: left !important;
  }

  .navbar .navbar-collapse .menu-right .mi-cuenta-texto,
  .navbar.navbar-expand-lg .navbar-collapse.show .menu-right .mi-cuenta-texto {
    padding: 15px 0 !important;
    font-size: 14px !important;
    line-height: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: left !important;
    margin-left: 0 !important;
  }

  .menu-right .modulo.usuario .pic-cont .menu,
  .navbar .navbar-collapse .menu-right .modulo.usuario .pic-cont .menu,
  .menu-right .cuenta-cont .menu,
  .menu-right .menu {
    left: 0 !important;
    right: auto !important;
  }
}

/* ==========================================================================
   iPad mini — 744 × 1133 (hamburguesa OK; menú desplegado mal alineado)
   ========================================================================== */
@media only screen and (min-width: 739px) and (max-width: 749px) {
  .navbar .container {
    position: relative !important;
  }

  .navbar .navbar-collapse .navbar-nav {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .navbar .navbar-collapse .navbar-nav:hover .nav-item {
    opacity: 1 !important;
  }

  .navbar .navbar-collapse .menu-right,
  .navbar.navbar-expand-lg .navbar-collapse .menu-right,
  .navbar.navbar-expand-lg .navbar-collapse.show .menu-right {
    position: relative !important;
    right: auto !important;
    left: auto !important;
    top: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    display: block !important;
    text-align: left !important;
    float: none !important;
    clear: both !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .navbar .navbar-collapse .navbar-nav .nav-item .dropdown-nav,
  .navbar .navbar-collapse .navbar-nav .nav-item.hover .dropdown-nav,
  .navbar .navbar-collapse .navbar-nav .nav-item:hover .dropdown-nav,
  .navbar .navbar-collapse .navbar-nav .nav-item .dropdown-nav.show {
    display: none !important;
  }

  .navbar .navbar-collapse .navbar-nav .nav-item .dropdown-nav-mobile,
  .navbar.navbar-expand-lg .navbar-collapse.show .navbar-nav .nav-item .dropdown-nav-mobile {
    display: none !important;
  }

  .navbar .navbar-collapse .navbar-nav .nav-item:hover .dropdown-nav-mobile,
  .navbar.navbar-expand-lg .navbar-collapse.show .navbar-nav .nav-item:hover .dropdown-nav-mobile {
    display: block !important;
  }

  .navbar.navbar-expand-lg .navbar-collapse.show {
    position: relative !important;
    background-color: #F1F4F8 !important;
    width: 100% !important;
    height: auto !important;
    padding: 15px !important;
    padding-top: 50px !important;
    margin-top: 0 !important;
    z-index: 1050 !important;
  }

  .navbar.navbar-expand-lg .navbar-collapse.show .navbar-nav {
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    gap: 0 !important;
  }

  .navbar.navbar-expand-lg .navbar-collapse.show .navbar-nav .nav-item {
    width: 100% !important;
    display: block !important;
  }

  .navbar.navbar-expand-lg .navbar-collapse.show .navbar-nav .nav-item .nav-link {
    padding: 15px 0 !important;
    display: block !important;
    width: 100% !important;
  }

  .navbar .navbar-collapse .menu-right .modulo.usuario,
  .navbar.navbar-expand-lg .navbar-collapse.show .menu-right .modulo.usuario {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
    margin-left: 0 !important;
    text-align: left !important;
  }

  .navbar .navbar-collapse .menu-right .cuenta-cont,
  .navbar.navbar-expand-lg .navbar-collapse.show .menu-right .cuenta-cont {
    display: inline-flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    float: none !important;
    margin-left: 0 !important;
  }

  .navbar .navbar-collapse .menu-right .mi-cuenta-texto,
  .navbar.navbar-expand-lg .navbar-collapse.show .menu-right .mi-cuenta-texto {
    padding: 15px 0 !important;
    font-size: 14px !important;
    line-height: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: left !important;
    margin-left: 0 !important;
  }

  .menu-right .modulo.usuario .pic-cont .menu,
  .navbar .navbar-collapse .menu-right .modulo.usuario .pic-cont .menu,
  .menu-right .menu {
    left: 0 !important;
    right: auto !important;
  }
}

/* ==========================================================================
   iPad Pro 11" — 834 × 1210 (anónimo e instalador)
   ========================================================================== */
@media only screen and (min-width: 829px) and (max-width: 839px) {
  .navbar .container {
    position: relative !important;
  }

  .navbar.navbar-expand-lg {
    overflow: visible !important;
  }

  .navbar .navbar-toggler {
    position: absolute !important;
    right: 15px !important;
    top: 8px !important;
    z-index: 1060 !important;
    pointer-events: auto !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    display: block !important;
  }

  .navbar .navbar-toggler .icons {
    display: inline-block !important;
    vertical-align: top !important;
    pointer-events: none !important;
  }

  .navbar .navbar-toggler.collapsed .ico-menu {
    display: inline-block !important;
  }

  .navbar .navbar-toggler.collapsed .ico-cruz {
    display: none !important;
  }

  .navbar .navbar-toggler:not(.collapsed) .ico-menu {
    display: none !important;
  }

  .navbar .navbar-toggler:not(.collapsed) .ico-cruz {
    display: inline-block !important;
  }

  .navbar .navbar-collapse .navbar-nav {
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    margin-top: 6px !important;
  }

  .navbar .navbar-collapse .navbar-nav:hover .nav-item {
    opacity: 1 !important;
  }

  .navbar .navbar-collapse .menu-right,
  .navbar.navbar-expand-lg .navbar-collapse .menu-right,
  .navbar.navbar-expand-lg.scrolltop.fixed-top .navbar-collapse .menu-right,
  .navbar.navbar-expand-lg .navbar-collapse.show .menu-right {
    position: relative !important;
    right: auto !important;
    left: auto !important;
    top: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    display: block !important;
    text-align: left !important;
    float: none !important;
    clear: both !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .navbar .navbar-collapse .navbar-nav .nav-item .dropdown-nav,
  .navbar .navbar-collapse .navbar-nav .nav-item.hover .dropdown-nav,
  .navbar .navbar-collapse .navbar-nav .nav-item:hover .dropdown-nav,
  .navbar .navbar-collapse .navbar-nav .nav-item .dropdown-nav.show {
    display: none !important;
  }

  .navbar .navbar-collapse .navbar-nav .nav-item .dropdown-nav-mobile,
  .navbar.navbar-expand-lg .navbar-collapse.show .navbar-nav .nav-item .dropdown-nav-mobile {
    display: none !important;
  }

  .navbar .navbar-collapse .navbar-nav .nav-item:hover .dropdown-nav-mobile,
  .navbar.navbar-expand-lg .navbar-collapse.show .navbar-nav .nav-item:hover .dropdown-nav-mobile {
    display: block !important;
  }

  .navbar.navbar-expand-lg .navbar-collapse.show {
    position: relative !important;
    background-color: #F1F4F8 !important;
    width: 100% !important;
    height: auto !important;
    padding: 15px !important;
    padding-top: 50px !important;
    padding-right: 15px !important;
    margin-top: 0 !important;
    z-index: 1050 !important;
    pointer-events: auto !important;
  }

  .navbar.navbar-expand-lg .navbar-collapse.show .navbar-nav {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    gap: 0 !important;
    margin-top: 0 !important;
  }

  .navbar.navbar-expand-lg .navbar-collapse.show .navbar-nav .nav-item {
    width: 100% !important;
    display: block !important;
  }

  .navbar.navbar-expand-lg .navbar-collapse.show .navbar-nav .nav-item .nav-link {
    padding: 15px 0 !important;
    font-size: 14px !important;
    line-height: 18px !important;
    display: block !important;
    width: 100% !important;
  }

  .navbar .pic-cont.mobile {
    display: none !important;
  }

  .navbar .navbar-collapse .menu-right .modulo.usuario,
  .navbar.navbar-expand-lg .navbar-collapse.show .menu-right .modulo.usuario {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
    margin-left: 0 !important;
    text-align: left !important;
  }

  .navbar .navbar-collapse .menu-right .cuenta-cont,
  .navbar.navbar-expand-lg .navbar-collapse.show .menu-right .cuenta-cont {
    display: inline-flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    float: none !important;
    margin-left: 0 !important;
  }

  .navbar .navbar-collapse .menu-right .pic-cont,
  .navbar.navbar-expand-lg .navbar-collapse.show .menu-right .pic-cont {
    float: none !important;
    text-align: left !important;
  }

  .navbar .navbar-collapse .menu-right .mi-cuenta-texto,
  .navbar.navbar-expand-lg .navbar-collapse.show .menu-right .mi-cuenta-texto {
    padding: 15px 0 !important;
    font-size: 14px !important;
    line-height: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: left !important;
    margin-left: 0 !important;
  }

  .menu-right .modulo.usuario .pic-cont .menu,
  .navbar .navbar-collapse .menu-right .modulo.usuario .pic-cont .menu,
  .menu-right .cuenta-cont .menu,
  .menu-right .menu {
    left: 0 !important;
    right: auto !important;
  }
}

/* ==========================================================================
   Galaxy Tab S9 — 800 × 1280 (instalador con barra superior)
   ========================================================================== */
@media only screen and (min-width: 795px) and (max-width: 805px) {
  .navbar .container {
    position: relative !important;
  }

  .navbar.navbar-expand-lg {
    overflow: visible !important;
  }

  .navbar .navbar-toggler {
    position: absolute !important;
    right: 15px !important;
    top: 8px !important;
    z-index: 1060 !important;
    pointer-events: auto !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    display: block !important;
  }

  .navbar .navbar-toggler .icons {
    display: inline-block !important;
    vertical-align: top !important;
    pointer-events: none !important;
  }

  .navbar .navbar-toggler.collapsed .ico-menu {
    display: inline-block !important;
  }

  .navbar .navbar-toggler.collapsed .ico-cruz {
    display: none !important;
  }

  .navbar .navbar-toggler:not(.collapsed) .ico-menu {
    display: none !important;
  }

  .navbar .navbar-toggler:not(.collapsed) .ico-cruz {
    display: inline-block !important;
  }

  .navbar .navbar-collapse .navbar-nav {
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    margin-top: 6px !important;
  }

  .navbar .navbar-collapse .navbar-nav:hover .nav-item {
    opacity: 1 !important;
  }

  .navbar .navbar-collapse .menu-right,
  .navbar.navbar-expand-lg .navbar-collapse .menu-right,
  .navbar.navbar-expand-lg.scrolltop.fixed-top .navbar-collapse .menu-right,
  .navbar.navbar-expand-lg .navbar-collapse.show .menu-right {
    position: relative !important;
    right: auto !important;
    left: auto !important;
    top: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    display: block !important;
    text-align: left !important;
    float: none !important;
    clear: both !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .navbar .navbar-collapse .navbar-nav .nav-item .dropdown-nav,
  .navbar .navbar-collapse .navbar-nav .nav-item.hover .dropdown-nav,
  .navbar .navbar-collapse .navbar-nav .nav-item:hover .dropdown-nav,
  .navbar .navbar-collapse .navbar-nav .nav-item .dropdown-nav.show {
    display: none !important;
  }

  .navbar .navbar-collapse .navbar-nav .nav-item .dropdown-nav-mobile,
  .navbar.navbar-expand-lg .navbar-collapse.show .navbar-nav .nav-item .dropdown-nav-mobile {
    display: none !important;
  }

  .navbar .navbar-collapse .navbar-nav .nav-item:hover .dropdown-nav-mobile,
  .navbar.navbar-expand-lg .navbar-collapse.show .navbar-nav .nav-item:hover .dropdown-nav-mobile {
    display: block !important;
  }

  .navbar.navbar-expand-lg .navbar-collapse.show {
    position: relative !important;
    background-color: #F1F4F8 !important;
    width: 100% !important;
    height: auto !important;
    padding: 15px !important;
    padding-top: 50px !important;
    padding-right: 15px !important;
    margin-top: 0 !important;
    z-index: 1050 !important;
    pointer-events: auto !important;
  }

  .navbar.navbar-expand-lg .navbar-collapse.show .navbar-nav {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    gap: 0 !important;
    margin-top: 0 !important;
  }

  .navbar.navbar-expand-lg .navbar-collapse.show .navbar-nav .nav-item {
    width: 100% !important;
    display: block !important;
  }

  .navbar.navbar-expand-lg .navbar-collapse.show .navbar-nav .nav-item .nav-link {
    padding: 15px 0 !important;
    font-size: 14px !important;
    line-height: 18px !important;
    display: block !important;
    width: 100% !important;
  }

  .navbar .pic-cont.mobile {
    display: none !important;
  }

  .navbar .navbar-collapse .menu-right .modulo.usuario,
  .navbar.navbar-expand-lg .navbar-collapse.show .menu-right .modulo.usuario {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
    margin-left: 0 !important;
    text-align: left !important;
  }

  .navbar .navbar-collapse .menu-right .cuenta-cont,
  .navbar.navbar-expand-lg .navbar-collapse.show .menu-right .cuenta-cont {
    display: inline-flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    float: none !important;
    margin-left: 0 !important;
  }

  .navbar .navbar-collapse .menu-right .pic-cont,
  .navbar.navbar-expand-lg .navbar-collapse.show .menu-right .pic-cont {
    float: none !important;
    text-align: left !important;
  }

  .navbar .navbar-collapse .menu-right .mi-cuenta-texto,
  .navbar.navbar-expand-lg .navbar-collapse.show .menu-right .mi-cuenta-texto {
    padding: 15px 0 !important;
    font-size: 14px !important;
    line-height: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: left !important;
    margin-left: 0 !important;
  }

  .menu-right .modulo.usuario .pic-cont .menu,
  .navbar .navbar-collapse .menu-right .modulo.usuario .pic-cont .menu,
  .menu-right .cuenta-cont .menu,
  .menu-right .menu {
    left: 0 !important;
    right: auto !important;
  }
}
