/* V155 - Menu mobile definitivo
   Mantém a estrutura existente e corrige abertura, alinhamento e sobreposição no celular. */
@media (max-width: 820px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important;}
  body{padding-top:0!important;}

  body .topbar{
    position:sticky!important;
    top:0!important;left:0!important;right:0!important;
    z-index:999999!important;
    width:100%!important;max-width:100%!important;
    min-height:84px!important;height:auto!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 58px!important;
    align-items:center!important;
    gap:10px!important;
    padding:8px 12px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    background:linear-gradient(180deg,#6b0000,#4b0000)!important;
    box-shadow:0 8px 22px rgba(0,0,0,.28)!important;
  }

  body .topbar .brand,
  body .brand{
    grid-column:1!important;
    width:100%!important;max-width:100%!important;min-width:0!important;
    display:flex!important;align-items:center!important;gap:8px!important;
    overflow:hidden!important;text-decoration:none!important;
  }
  body .topbar .brand img.brand-logo-img,
  body .topbar .brand img,
  body .brand-logo-img{
    width:62px!important;height:62px!important;min-width:62px!important;max-width:62px!important;
    object-fit:contain!important;flex:0 0 62px!important;
  }
  body .topbar .brand span{min-width:0!important;display:block!important;overflow:hidden!important;}
  body .topbar .brand b{
    display:block!important;font-size:20px!important;line-height:.92!important;
    white-space:normal!important;letter-spacing:.2px!important;
  }
  body .topbar .brand small{
    display:block!important;font-size:10.5px!important;line-height:1.05!important;
    white-space:normal!important;opacity:.95!important;
  }

  body .menu-btn,
  body #menuBtn{
    grid-column:2!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    width:54px!important;height:54px!important;min-width:54px!important;max-width:54px!important;
    margin:0!important;padding:0!important;
    border:0!important;border-radius:14px!important;
    background:#ffcf18!important;color:#270000!important;
    font-size:31px!important;font-weight:900!important;line-height:1!important;
    position:relative!important;z-index:1000001!important;
    box-shadow:0 8px 18px rgba(0,0,0,.25)!important;
  }

  body .topbar:not(.open) nav#menu.rdo-main-menu,
  body .topbar:not(.open) #menu,
  body .topbar:not(.open) .rdo-main-menu{
    display:none!important;
  }

  body .topbar.open{
    align-items:start!important;
    max-height:100vh!important;
    overflow:visible!important;
  }

  body .topbar.open nav#menu.rdo-main-menu,
  body .topbar.open #menu,
  body .topbar.open .rdo-main-menu{
    grid-column:1 / -1!important;
    order:3!important;
    position:relative!important;
    top:auto!important;left:auto!important;right:auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    width:100%!important;max-width:100%!important;
    max-height:calc(100vh - 100px)!important;
    overflow-y:auto!important;overflow-x:hidden!important;
    margin:8px 0 0!important;
    padding:10px!important;
    gap:7px!important;
    box-sizing:border-box!important;
    background:#5b0000!important;
    border:1px solid rgba(255,204,0,.34)!important;
    border-radius:16px!important;
    box-shadow:0 16px 32px rgba(0,0,0,.36)!important;
    white-space:normal!important;
  }

  body .topbar.open nav#menu.rdo-main-menu > a,
  body .topbar.open .rdo-main-menu > a,
  body .topbar.open .rdo-menu-drop > button{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;max-width:100%!important;min-width:0!important;
    padding:13px 14px!important;
    margin:0!important;
    box-sizing:border-box!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.06)!important;
    color:#fff!important;
    font-size:15.5px!important;
    font-weight:900!important;
    line-height:1.2!important;
    text-align:left!important;
    text-transform:uppercase!important;
    white-space:normal!important;
    letter-spacing:.2px!important;
    text-decoration:none!important;
  }

  body .topbar.open nav#menu.rdo-main-menu > a:active,
  body .topbar.open .rdo-menu-drop > button:active{
    background:rgba(255,207,24,.18)!important;
    color:#ffcf18!important;
  }

  body .rdo-menu-drop{
    display:block!important;width:100%!important;position:relative!important;z-index:auto!important;
  }
  body .topbar.open .rdo-menu-panel{
    position:static!important;
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;min-width:0!important;max-width:100%!important;
    margin:7px 0 0!important;
    padding:8px!important;
    gap:6px!important;
    box-sizing:border-box!important;
    background:rgba(0,0,0,.18)!important;
    border:1px solid rgba(255,204,0,.35)!important;
    border-radius:12px!important;
    box-shadow:none!important;
    transform:none!important;opacity:1!important;visibility:visible!important;
  }
  body .topbar.open .rdo-menu-panel a{
    display:block!important;
    width:100%!important;max-width:100%!important;
    padding:11px 12px!important;
    box-sizing:border-box!important;
    border-radius:10px!important;
    color:#fff!important;
    font-size:14.5px!important;
    line-height:1.2!important;
    text-align:left!important;
    white-space:normal!important;
    background:rgba(255,255,255,.045)!important;
  }

  body .topbar .top-cta,
  body .top-cta{display:none!important;}

  body.rdo-menu-open .radio-mini,
  body.rdo-menu-open .radio-player,
  body.rdo-menu-open .radio-fixed,
  body.rdo-menu-open .radio-floating,
  body.rdo-menu-open #radioPlayer,
  body.rdo-menu-open .player-radio,
  body.rdo-menu-open .rdo-floating-tools,
  body.rdo-menu-open .floating-tools,
  body.rdo-menu-open .ferramentas-btn,
  body.rdo-menu-open .ferramentas-floating,
  body.rdo-menu-open #ferramentasBtn,
  body.rdo-menu-open .tools-floating,
  body.rdo-menu-open [data-ferramentas]{display:none!important;}
}

@media (max-width: 390px){
  body .topbar{grid-template-columns:minmax(0,1fr) 50px!important;padding:7px 10px!important;min-height:78px!important;}
  body .topbar .brand img.brand-logo-img,body .topbar .brand img,body .brand-logo-img{width:56px!important;height:56px!important;min-width:56px!important;max-width:56px!important;flex-basis:56px!important;}
  body .topbar .brand b{font-size:18px!important;}
  body .topbar .brand small{font-size:9.5px!important;}
  body .menu-btn,body #menuBtn{width:50px!important;height:50px!important;min-width:50px!important;max-width:50px!important;font-size:29px!important;}
}
