/* NoMasCaosWebPanel 1.41.10
 * Menu movil reconstruido para evitar mezclas de HTML/CSS en cache.
 * El boton siempre conserva texto visible y el icono se dibuja desde el propio control.
 */

.nmc-header-v18 .mobile-nav-toggle-v18,
.nmc-header-v18 [data-nmc-menu-toggle] {
  display: none;
}

.nmc-header-v18 .nmc-mobile-menu-close {
  display: none;
}

@media (max-width: 1080px) {
  body.nmc-public .site-header.nmc-header-v18,
  body.public-body .site-header.nmc-header-v18,
  .site-header.nmc-header-v18 {
    position: sticky !important;
    top: 0 !important;
    z-index: 3000 !important;
    overflow: visible !important;
    background: rgba(255, 255, 255, .985) !important;
    box-shadow: 0 8px 24px rgba(17, 19, 24, .10) !important;
    backdrop-filter: blur(14px) !important;
  }

  body.nmc-public .nmc-header-v18 .header-shell-v18,
  body.public-body .nmc-header-v18 .header-shell-v18,
  .nmc-header-v18 .header-shell-v18 {
    position: relative !important;
    z-index: 3050 !important;
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: min(calc(100% - 20px), 1240px) !important;
    min-height: 66px !important;
    gap: 10px !important;
    padding: 7px 0 !important;
    overflow: visible !important;
  }

  .nmc-header-v18 .brand-v18,
  .nmc-header-v18 .brand-block {
    min-width: 0 !important;
    max-width: calc(100% - 112px) !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  .nmc-header-v18 .brand-v18 .logo-text,
  .nmc-header-v18 .logo-text {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    color: #111216 !important;
    font-size: clamp(1.18rem, 6vw, 1.45rem) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
  }

  /* Reset fuerte: evita que cualquiera de las capas antiguas oculte el control. */
  body.nmc-public .nmc-header-v18 .mobile-nav-toggle-v18,
  body.public-body .nmc-header-v18 .mobile-nav-toggle-v18,
  .nmc-header-v18 .mobile-nav-toggle-v18,
  .nmc-header-v18 [data-nmc-menu-toggle] {
    all: unset;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 3060 !important;
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    width: 104px !important;
    min-width: 104px !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 15px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: #e30613 !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(227, 6, 19, .30) !important;
    cursor: pointer !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;
    user-select: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
  }

  /* El texto nunca se oculta: incluso con HTML antiguo sigue apareciendo. */
  .nmc-header-v18 .mobile-nav-toggle-v18 .nmc-menu-label,
  .nmc-header-v18 .mobile-nav-toggle-v18 > span:first-of-type,
  .nmc-header-v18 [data-nmc-menu-toggle] .nmc-menu-label {
    position: static !important;
    display: inline !important;
    visibility: visible !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    opacity: 1 !important;
    color: inherit !important;
    white-space: nowrap !important;
  }

  /* El icono no depende del HTML anterior ni de una fuente externa. */
  .nmc-header-v18 .mobile-nav-toggle-v18 > i,
  .nmc-header-v18 .mobile-nav-toggle-v18 .nmc-menu-icon,
  .nmc-header-v18 [data-nmc-menu-toggle] .nmc-menu-icon {
    display: none !important;
  }

  .nmc-header-v18 .mobile-nav-toggle-v18::after,
  .nmc-header-v18 [data-nmc-menu-toggle]::after {
    content: "" !important;
    display: block !important;
    width: 20px !important;
    height: 16px !important;
    flex: 0 0 20px !important;
    background:
      linear-gradient(currentColor 0 0) top / 100% 2px no-repeat,
      linear-gradient(currentColor 0 0) center / 100% 2px no-repeat,
      linear-gradient(currentColor 0 0) bottom / 100% 2px no-repeat !important;
  }

  .nmc-header-v18 .mobile-nav-toggle-v18:hover,
  .nmc-header-v18 .mobile-nav-toggle-v18:active,
  .nmc-header-v18 .mobile-nav-toggle-v18:focus-visible,
  .nmc-header-v18 [data-nmc-menu-toggle]:hover,
  .nmc-header-v18 [data-nmc-menu-toggle]:active,
  .nmc-header-v18 [data-nmc-menu-toggle]:focus-visible {
    background: #b9000b !important;
    color: #fff !important;
  }

  .nmc-header-v18 .mobile-nav-toggle-v18:focus-visible,
  .nmc-header-v18 [data-nmc-menu-toggle]:focus-visible {
    outline: 3px solid rgba(227, 6, 19, .24) !important;
    outline-offset: 3px !important;
  }

  body.nmc-menu-open .nmc-header-v18 .mobile-nav-toggle-v18,
  .nmc-header-v18 .mobile-nav-toggle-v18[aria-expanded="true"],
  body.nmc-menu-open .nmc-header-v18 [data-nmc-menu-toggle],
  .nmc-header-v18 [data-nmc-menu-toggle][aria-expanded="true"] {
    background: #111216 !important;
    color: #fff !important;
    box-shadow: 0 10px 26px rgba(17, 18, 22, .28) !important;
  }

  body.nmc-menu-open .nmc-header-v18 .mobile-nav-toggle-v18::after,
  .nmc-header-v18 .mobile-nav-toggle-v18[aria-expanded="true"]::after,
  body.nmc-menu-open .nmc-header-v18 [data-nmc-menu-toggle]::after,
  .nmc-header-v18 [data-nmc-menu-toggle][aria-expanded="true"]::after {
    content: "×" !important;
    width: 20px !important;
    height: 24px !important;
    background: none !important;
    font-size: 28px !important;
    font-weight: 500 !important;
    line-height: 20px !important;
  }

  .nmc-header-v18 .header-actions-v18 {
    display: none !important;
  }

  /* Panel superior estable. Se elimina la hoja inferior que competia con el dock movil. */
  body.nmc-public .nmc-header-v18 #nmc-main-menu.nmc-menu-v18,
  body.public-body .nmc-header-v18 #nmc-main-menu.nmc-menu-v18,
  .nmc-header-v18 #nmc-main-menu.nmc-menu-v18 {
    position: fixed !important;
    z-index: 3040 !important;
    top: calc(76px + env(safe-area-inset-top)) !important;
    right: 10px !important;
    bottom: 10px !important;
    left: 10px !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 12px !important;
    gap: 7px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    border: 1px solid rgba(17, 19, 24, .10) !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 26px 80px rgba(17, 19, 24, .32) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: none !important;
  }

  body.nmc-menu-open .nmc-header-v18 #nmc-main-menu.nmc-menu-v18,
  .nmc-header-v18 #nmc-main-menu.nmc-menu-v18[data-open="true"],
  .nmc-header-v18 #nmc-main-menu.nmc-menu-v18:target {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }


  .nmc-header-v18 #nmc-main-menu.nmc-menu-v18 > .nmc-mobile-menu-close {
    display: flex !important;
    justify-content: center !important;
    border-color: #111216 !important;
    background: #111216 !important;
    color: #fff !important;
  }

  .nmc-header-v18 #nmc-main-menu.nmc-menu-v18 > a,
  .nmc-header-v18 #nmc-main-menu.nmc-menu-v18 summary {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 50px !important;
    padding: 11px 14px !important;
    border: 1px solid rgba(17, 19, 24, .07) !important;
    border-radius: 14px !important;
    background: #f6f7f9 !important;
    color: #111216 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    text-decoration: none !important;
  }

  .nmc-header-v18 #nmc-main-menu.nmc-menu-v18 details,
  .nmc-header-v18 #nmc-main-menu.nmc-menu-v18 .nav-group {
    width: 100% !important;
  }

  .nmc-header-v18 #nmc-main-menu.nmc-menu-v18 .nav-menu,
  .nmc-header-v18 #nmc-main-menu.nmc-menu-v18 .nav-menu-wide {
    position: static !important;
    display: none !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 6px 0 2px !important;
    padding: 6px !important;
    grid-template-columns: 1fr !important;
    gap: 5px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: #f7f8fa !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  .nmc-header-v18 #nmc-main-menu.nmc-menu-v18 details[open] > .nav-menu,
  .nmc-header-v18 #nmc-main-menu.nmc-menu-v18 details[open] > .nav-menu-wide {
    display: grid !important;
  }

  .nmc-header-v18 #nmc-main-menu.nmc-menu-v18 .nav-menu a,
  .nmc-header-v18 #nmc-main-menu.nmc-menu-v18 .nav-menu-wide a {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 46px !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(17, 19, 24, .06) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #22242a !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
  }

  .nmc-header-v18 #nmc-main-menu.nmc-menu-v18 .nmc-mobile-menu-primary {
    display: flex !important;
    justify-content: center !important;
    margin-top: 4px !important;
    border-color: #e30613 !important;
    background: #e30613 !important;
    color: #fff !important;
  }

  body.nmc-public .mobile-menu-backdrop,
  body.public-body .mobile-menu-backdrop,
  .mobile-menu-backdrop {
    position: fixed !important;
    z-index: 3030 !important;
    inset: 0 !important;
    display: none !important;
    background: rgba(10, 12, 16, .55) !important;
    backdrop-filter: blur(5px) !important;
  }

  body.nmc-menu-open .mobile-menu-backdrop,
  body:has(#nmc-main-menu:target) .mobile-menu-backdrop {
    display: block !important;
  }

  body.nmc-menu-open,
  body:has(#nmc-main-menu:target) {
    overflow: hidden !important;
  }
}

@media (max-width: 380px) {
  body.nmc-public .nmc-header-v18 .mobile-nav-toggle-v18,
  body.public-body .nmc-header-v18 .mobile-nav-toggle-v18,
  .nmc-header-v18 .mobile-nav-toggle-v18,
  .nmc-header-v18 [data-nmc-menu-toggle] {
    width: 96px !important;
    min-width: 96px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
  }

  .nmc-header-v18 .brand-v18,
  .nmc-header-v18 .brand-block {
    max-width: calc(100% - 104px) !important;
  }
}
