
/* V159 - Menu mobile limpo e funcional
   Usa o mesmo botão e JS que já funcionavam na v157. Corrige apenas a aparência do menu no celular. */
@media (max-width: 820px){
  html, body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  body.rdo-menu-open,
  body.menu-open{
    overflow:hidden !important;
    touch-action:none !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:98px !important;
    height:auto !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 66px !important;
    align-items:center !important;
    gap:10px !important;
    padding:10px 14px !important;
    box-sizing:border-box !important;
    background:linear-gradient(180deg,#830000 0%,#650000 100%) !important;
    border-bottom:1px solid rgba(255,204,0,.28) !important;
    box-shadow:0 6px 18px rgba(0,0,0,.32) !important;
    overflow:visible !important;
  }

  body .topbar .brand{
    grid-column:1 !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-decoration:none !important;
  }

  body .topbar .brand img,
  body .topbar .brand img.brand-logo-img,
  body .brand-logo-img{
    width:68px !important;
    height:68px !important;
    min-width:68px !important;
    max-width:68px !important;
    object-fit:contain !important;
    flex:0 0 68px !important;
  }

  body .topbar .brand span{
    min-width:0 !important;
    max-width:100% !important;
    display:block !important;
    overflow:hidden !important;
  }

  body .topbar .brand b{
    display:block !important;
    color:#fff !important;
    font-size:24px !important;
    line-height:.86 !important;
    font-weight:900 !important;
    letter-spacing:.2px !important;
    white-space:normal !important;
  }

  body .topbar .brand small{
    display:block !important;
    margin-top:5px !important;
    color:#ffd000 !important;
    font-size:12px !important;
    line-height:1 !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    white-space:normal !important;
  }

  body #menuBtn,
  body .menu-btn{
    grid-column:2 !important;
    justify-self:end !important;
    align-self:center !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:64px !important;
    height:64px !important;
    min-width:64px !important;
    max-width:64px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:16px !important;
    background:#ffcc13 !important;
    color:#240000 !important;
    font-size:36px !important;
    font-weight:900 !important;
    line-height:1 !important;
    box-shadow:0 8px 18px rgba(0,0,0,.28) !important;
    cursor:pointer !important;
    position:relative !important;
    z-index:1000001 !important;
  }

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

  body .topbar:not(.open) .top-cta{
    display:none !important;
  }

  body .topbar.open{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
    min-height:100dvh !important;
    align-content:start !important;
    align-items:start !important;
    grid-template-rows:auto auto auto !important;
    padding:12px 14px 22px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    background:
      radial-gradient(circle at 50% 0%, rgba(255,204,0,.12), transparent 34%),
      linear-gradient(180deg,#810000 0%,#5b0000 58%,#2a0000 100%) !important;
  }

  body .topbar.open #menu,
  body .topbar.open nav#menu,
  body .topbar.open .rdo-main-menu{
    grid-column:1 / -1 !important;
    order:2 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    align-items:stretch !important;
    gap:10px !important;
    width:100% !important;
    max-width:520px !important;
    margin:18px auto 0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    max-height:none !important;
    overflow:visible !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  body .topbar.open #menu > a,
  body .topbar.open .rdo-main-menu > a,
  body .topbar.open .rdo-menu-drop > button,
  body .topbar.open .rdo-menu-panel > a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:54px !important;
    margin:0 !important;
    padding:14px 16px !important;
    box-sizing:border-box !important;
    border:1px solid rgba(255,204,0,.16) !important;
    border-radius:16px !important;
    background:rgba(80,0,0,.72) !important;
    color:#fff !important;
    font-size:20px !important;
    line-height:1.1 !important;
    font-weight:900 !important;
    text-align:center !important;
    text-decoration:none !important;
    letter-spacing:.2px !important;
    white-space:normal !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06) !important;
  }

  body .topbar.open #menu > a:active,
  body .topbar.open .rdo-main-menu > a:active,
  body .topbar.open .rdo-menu-drop > button:active,
  body .topbar.open .rdo-menu-panel > a:active{
    transform:scale(.99) !important;
  }

  body .topbar.open .rdo-menu-drop{
    display:grid !important;
    gap:10px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    position:static !important;
  }

  body .topbar.open .rdo-menu-panel{
    position:static !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }

  body .topbar.open .rdo-menu-panel > a{
    min-height:48px !important;
    font-size:17px !important;
    background:rgba(45,0,0,.55) !important;
    color:#fff6df !important;
  }

  body .topbar.open .top-cta{
    grid-column:1 / -1 !important;
    order:3 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    max-width:520px !important;
    min-height:58px !important;
    margin:16px auto 0 !important;
    padding:14px 18px !important;
    box-sizing:border-box !important;
    border-radius:18px !important;
    background:#ffcc13 !important;
    color:#240000 !important;
    font-size:20px !important;
    font-weight:900 !important;
    text-align:center !important;
    text-decoration:none !important;
    box-shadow:0 8px 18px rgba(0,0,0,.24) !important;
  }

  body .rdo-tools-fab,
  body .floating-tools,
  body .tools-float,
  body [class*="ferramentas"]{
    z-index:9998 !important;
  }

  body.rdo-menu-open .rdo-tools-fab,
  body.rdo-menu-open .floating-tools,
  body.rdo-menu-open .tools-float,
  body.rdo-menu-open [class*="ferramentas"],
  body.menu-open .rdo-tools-fab,
  body.menu-open .floating-tools,
  body.menu-open .tools-float,
  body.menu-open [class*="ferramentas"],
  body.rdo-menu-open .radio-mini,
  body.menu-open .radio-mini{
    display:none !important;
  }
}

@media (max-width: 420px){
  body .topbar{
    min-height:96px !important;
    padding:9px 12px !important;
    grid-template-columns:minmax(0,1fr) 62px !important;
  }

  body .topbar .brand img,
  body .topbar .brand img.brand-logo-img,
  body .brand-logo-img{
    width:64px !important;
    height:64px !important;
    min-width:64px !important;
    max-width:64px !important;
  }

  body .topbar .brand b{
    font-size:22px !important;
  }

  body .topbar .brand small{
    font-size:11px !important;
  }

  body #menuBtn,
  body .menu-btn{
    width:62px !important;
    height:62px !important;
    min-width:62px !important;
    max-width:62px !important;
    font-size:34px !important;
  }

  body .topbar.open #menu > a,
  body .topbar.open .rdo-main-menu > a,
  body .topbar.open .rdo-menu-drop > button{
    min-height:52px !important;
    font-size:19px !important;
  }
}
