/* =========================================================
   DWNews - Menú mobile definitivo
   Corrección: legibilidad real + diseño tipo app + sin herencias invisibles.
   ========================================================= */
@media (max-width: 782px){
  html.dw-menu-lock,
  body.dw-menu-open{ overflow:hidden !important; }

  .dw-navwrap{
    position:relative !important;
    top:auto !important;
    z-index:99990 !important;
    background:#011628 !important;
    border-top:1px solid rgba(9,116,254,.18) !important;
    border-bottom:1px solid rgba(9,116,254,.22) !important;
  }

  .dw-nav{
    height:68px !important;
    min-height:68px !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    position:relative !important;
  }

  .dw-home-ico{ display:none !important; }

  .dw-mobile-menu-toggle{
    display:inline-flex !important;
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    align-items:center !important;
    justify-content:center !important;
    flex-direction:column !important;
    gap:6px !important;
    border-radius:22px !important;
    border:2px solid #5ee7ff !important;
    background:#ffffff !important;
    color:#011628 !important;
    box-shadow:0 0 0 4px rgba(94,231,255,.14), 0 16px 34px rgba(0,0,0,.18) !important;
    cursor:pointer !important;
    z-index:100002 !important;
    -webkit-tap-highlight-color:transparent !important;
  }

  .dw-mobile-menu-toggle span{
    display:block !important;
    width:24px !important;
    height:2.5px !important;
    border-radius:999px !important;
    background:currentColor !important;
    transition:transform .22s ease, opacity .22s ease !important;
  }
  .dw-mobile-menu-toggle.is-open span:nth-child(1){ transform:translateY(8.5px) rotate(45deg) !important; }
  .dw-mobile-menu-toggle.is-open span:nth-child(2){ opacity:0 !important; }
  .dw-mobile-menu-toggle.is-open span:nth-child(3){ transform:translateY(-8.5px) rotate(-45deg) !important; }

  .dw-search-toggle{
    margin-left:auto !important;
    width:52px !important;
    height:52px !important;
    min-width:52px !important;
    border-radius:19px !important;
    display:grid !important;
    place-items:center !important;
    background:#08213c !important;
    color:#ffffff !important;
    border:1px solid rgba(94,231,255,.22) !important;
    box-shadow:0 10px 24px rgba(0,0,0,.14) !important;
    z-index:100002 !important;
  }

  body.dw-menu-open::before{
    content:"" !important;
    position:fixed !important;
    inset:0 !important;
    z-index:99980 !important;
    background:rgba(1,11,22,.18) !important;
    backdrop-filter:blur(2px) !important;
    -webkit-backdrop-filter:blur(2px) !important;
    pointer-events:none !important;
  }

  .dw-menu{
    position:fixed !important;
    left:clamp(14px,4vw,22px) !important;
    right:clamp(14px,4vw,22px) !important;
    top:clamp(360px,42vh,430px) !important;
    z-index:100000 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    max-width:460px !important;
    width:auto !important;
    max-height:calc(100vh - clamp(385px,45vh,455px)) !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    padding:18px !important;
    margin:0 auto !important;
    list-style:none !important;
    border-radius:26px !important;
    background:#f7fbff !important;
    border:1px solid #d8e9ff !important;
    box-shadow:0 26px 70px rgba(1,22,40,.24), inset 0 1px 0 rgba(255,255,255,.95) !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(-8px) scale(.985) !important;
    transition:opacity .22s ease, visibility .22s ease, transform .22s ease !important;
    scrollbar-width:thin !important;
    scrollbar-color:#9dccff transparent !important;
    -webkit-overflow-scrolling:touch !important;
  }

  body.dw-menu-open .dw-menu{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) scale(1) !important;
  }

  .dw-menu::before{
    content:"SECCIONES" !important;
    display:block !important;
    padding:2px 4px 4px !important;
    color:#0974fe !important;
    -webkit-text-fill-color:#0974fe !important;
    font-size:11px !important;
    line-height:1.1 !important;
    font-weight:950 !important;
    letter-spacing:.20em !important;
    text-transform:uppercase !important;
  }

  .dw-menu li{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    min-width:0 !important;
  }

  .dw-menu a,
  .dw-menu a:link,
  .dw-menu a:visited{
    position:relative !important;
    display:grid !important;
    grid-template-columns:30px minmax(0,1fr) 28px !important;
    align-items:center !important;
    column-gap:12px !important;
    width:100% !important;
    min-height:54px !important;
    padding:10px 14px !important;
    border-radius:16px !important;
    background:#ffffff !important;
    border:1px solid #d9eaff !important;
    box-shadow:0 8px 20px rgba(9,116,254,.055) !important;
    color:#07192d !important;
    -webkit-text-fill-color:#07192d !important;
    opacity:1 !important;
    font-size:14px !important;
    line-height:1.18 !important;
    font-weight:900 !important;
    letter-spacing:.015em !important;
    text-transform:uppercase !important;
    text-decoration:none !important;
    text-shadow:none !important;
    white-space:normal !important;
    text-indent:0 !important;
    visibility:visible !important;
    overflow:visible !important;
    transition:transform .16s ease, border-color .16s ease, background .16s ease !important;
  }

  .dw-menu a::before,
  .dw-menu a::after{ content:none !important; display:none !important; }

  .dw-menu a > *{
    color:inherit !important;
    -webkit-text-fill-color:inherit !important;
    opacity:1 !important;
    visibility:visible !important;
    text-indent:0 !important;
    font-size:inherit !important;
  }

  .dw-menu-ico{
    display:grid !important;
    place-items:center !important;
    width:30px !important;
    height:30px !important;
    border-radius:11px !important;
    background:#eef6ff !important;
    color:#0974fe !important;
    -webkit-text-fill-color:#0974fe !important;
    font-size:16px !important;
    line-height:1 !important;
    flex:0 0 auto !important;
  }

  .dw-menu-label{
    display:block !important;
    min-width:0 !important;
    color:#07192d !important;
    -webkit-text-fill-color:#07192d !important;
    opacity:1 !important;
    visibility:visible !important;
    font-size:14px !important;
    line-height:1.2 !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.015em !important;
    white-space:normal !important;
    overflow:visible !important;
  }

  .dw-menu-arrow{
    display:grid !important;
    place-items:center !important;
    width:28px !important;
    height:28px !important;
    border-radius:999px !important;
    background:#eef6ff !important;
    color:#0974fe !important;
    -webkit-text-fill-color:#0974fe !important;
    font-size:24px !important;
    line-height:1 !important;
    font-weight:900 !important;
  }

  .dw-menu a:hover,
  .dw-menu a:focus-visible,
  .dw-menu .current-menu-item > a,
  .dw-menu .current_page_item > a{
    background:#ffffff !important;
    border-color:#9dccff !important;
    transform:translateY(-1px) !important;
    outline:none !important;
  }

  .dw-menu a:hover .dw-menu-arrow,
  .dw-menu a:focus-visible .dw-menu-arrow,
  .dw-menu .current-menu-item > a .dw-menu-arrow,
  .dw-menu .current_page_item > a .dw-menu-arrow{
    background:#0974fe !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
  }

  @media (max-height:760px){
    .dw-menu{
      top:330px !important;
      max-height:calc(100vh - 350px) !important;
      padding:14px !important;
      gap:8px !important;
    }
    .dw-menu a{ min-height:48px !important; padding-top:8px !important; padding-bottom:8px !important; }
  }

  @media (max-width:390px){
    .dw-menu{ left:10px !important; right:10px !important; padding:14px !important; }
    .dw-menu a{ grid-template-columns:28px minmax(0,1fr) 26px !important; column-gap:10px !important; }
    .dw-menu-label{ font-size:13px !important; }
  }
}
