
/* RAVBA MEDIC V4.19.2 — MENÚ MÓVIL CSS-ONLY
   No depende de JS, onclick ni CSP. */
.rv-css-mobile-menu{display:none}

@media(max-width:900px){
  /* ===== PUBLIC ===== */
  [data-rv-brand-bar] .rv-brand-mobile-btn{display:none!important}
  [data-rv-brand-bar] [data-rv-brand-actions]{display:none!important}

  .rv-css-mobile-menu{
    display:block!important;
    position:relative!important;
    margin-left:auto!important;
    flex:0 0 auto!important;
    z-index:5000!important;
  }
  .rv-css-mobile-menu > summary{
    list-style:none!important;
    width:44px!important;
    height:44px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:4px!important;
    border:1px solid rgba(255,255,255,.24)!important;
    border-radius:11px!important;
    background:rgba(255,255,255,.08)!important;
    cursor:pointer!important;
    user-select:none!important;
  }
  .rv-css-mobile-menu > summary::-webkit-details-marker{display:none!important}
  .rv-css-mobile-menu > summary::marker{display:none!important;content:""!important}
  .rv-css-mobile-menu > summary span{
    display:block!important;
    width:21px!important;
    height:2px!important;
    border-radius:2px!important;
    background:#fff!important;
  }
  .rv-css-mobile-menu[open] > summary span:nth-child(1){
    transform:translateY(6px) rotate(45deg)!important;
  }
  .rv-css-mobile-menu[open] > summary span:nth-child(2){
    opacity:0!important;
  }
  .rv-css-mobile-menu[open] > summary span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg)!important;
  }
  .rv-css-mobile-menu .rv-css-mobile-nav{
    position:fixed!important;
    top:68px!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-height:calc(100vh - 68px)!important;
    overflow-y:auto!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:4px!important;
    padding:10px 12px 14px!important;
    margin:0!important;
    background:#334155!important;
    border-top:1px solid rgba(255,255,255,.10)!important;
    box-shadow:0 16px 32px rgba(15,23,42,.24)!important;
    z-index:4999!important;
  }
  .rv-css-mobile-menu .rv-css-mobile-nav a{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:46px!important;
    padding:11px 13px!important;
    margin:0!important;
    border-radius:11px!important;
    color:#fff!important;
    text-decoration:none!important;
    font:700 15px/1.3 Inter,Arial,sans-serif!important;
    white-space:normal!important;
  }
  .rv-css-mobile-menu .rv-css-mobile-nav a:hover,
  .rv-css-mobile-menu .rv-css-mobile-nav a:focus{
    background:rgba(13,148,136,.25)!important;
  }
  .rv-css-mobile-menu .rv-css-mobile-nav a.rv-brand-primary{
    background:#0D9488!important;
    justify-content:center!important;
  }
  .rv-css-mobile-menu .rv-css-mobile-nav a.rv-brand-login{
    border:1px solid rgba(255,255,255,.25)!important;
    justify-content:center!important;
  }

  /* ===== INTERNAL ===== */
  aside.side .rv-internal-mobile-toggle,
  aside.rv-profile-sidebar .rv-internal-mobile-toggle{
    display:none!important;
  }
  aside.side > .nav,
  aside.rv-profile-sidebar > .nav{
    display:none!important;
  }
  aside.side .rv-css-mobile-menu,
  aside.rv-profile-sidebar .rv-css-mobile-menu{
    display:block!important;
    margin-left:auto!important;
  }
  aside.side .rv-css-mobile-menu .rv-css-mobile-nav,
  aside.rv-profile-sidebar .rv-css-mobile-menu .rv-css-mobile-nav{
    top:66px!important;
  }
}
