
/*
 * Layout tipo app mobile no desktop (classe em <html>).
 * Ativado por head_mobile.php — não use body max-width sem a classe.
 */

html.layout-mobile {
  background: linear-gradient(135deg, #020b05, #0a2e18, #145c2e);
  background-attachment: fixed;
  -webkit-text-size-adjust: 100%;
}

html.layout-mobile body {
  max-width: 430px;
  margin-left: auto !important;
  margin-right: auto !important;
  min-height: 100vh;
  overflow-x: hidden;
  box-shadow:
    0 0 0 1px rgba(74, 222, 128, 0.1),
    0 12px 48px rgba(0, 0, 0, 0.5);
}

/* Sidebar desktop (reserva.php) */
html.layout-mobile .menu-topo {
  display: none !important;
}

/* Reserva: menu hambúrguer do admin, sem header próprio */
html.layout-mobile body.page-reserva .mobile-app-header {
  display: none !important;
}

html.layout-mobile body.page-reserva .nav-admin-wrap,
html.layout-mobile body.page-reserva .nav-admin-spacer {
  display: block !important;
}

/* Nova aposta: mobile usa só o header do app (sem navbar duplicada) */
html.layout-mobile body.page-nova-aposta .nav-admin-wrap,
html.layout-mobile body.page-nova-aposta .nav-admin-spacer {
  display: none !important;
}

html.layout-mobile .main-content {
  margin-left: 0 !important;
}

html.layout-mobile .mobile-app-header {
  display: flex !important;
}

html.layout-mobile .mobile-bottom-nav {
  display: flex !important;
}

html.layout-mobile .footer-site {
  display: none !important;
}

/* Barras fixas dentro da coluna central */
html.layout-mobile .mobile-app-header,
html.layout-mobile .mobile-bottom-nav,
html.layout-mobile .nav-admin-wrap {
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%);
  width: 100%;
  max-width: 430px;
}

/* Menu admin: hamburger em todas as telas */
html.layout-mobile .nav-links {
  display: none !important;
}

html.layout-mobile .nav-burger {
  display: flex !important;
}

/* Containers largos */
html.layout-mobile .tabs-container,
html.layout-mobile .admin-container,
html.layout-mobile .page-wrap,
html.layout-mobile .page-container,
html.layout-mobile .main-container,
html.layout-mobile .content-wrap {
  max-width: 100% !important;
  width: 100%;
}

html.layout-mobile .wrap {
  max-width: 100% !important;
  width: 100%;
  padding-left: 12px !important;
  padding-right: 12px !important;
}

html.layout-mobile .modal-overlay,
html.layout-mobile .popup-overlay,
html.layout-mobile #popupOverlay {
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%);
  width: 100%;
  max-width: 430px;
}

/* ── Layout desktop: tela cheia + navbar profissional por categorias ── */
html.layout-desktop {
  background: linear-gradient(135deg, #020b05, #0a2e18, #145c2e);
  background-attachment: fixed;
}

/* Navbar desktop com menus suspensos; sem hambúrguer */
html.layout-desktop .nav-links {
  display: none !important;
}
html.layout-desktop .nav-desktop {
  display: flex !important;
}
html.layout-desktop .nav-burger {
  display: none !important;
}
html.layout-desktop .nav-mobile {
  display: none !important;
}
/* Navbar desktop não deve ocupar tela inteira ao "abrir" (isso é do mobile) */
html.layout-desktop.nav-menu-open .nav-admin-wrap {
  height: auto;
  bottom: auto;
  overflow: visible;
}
html.layout-desktop.nav-menu-open,
html.layout-desktop.nav-menu-open body {
  overflow: auto !important;
}

/* Reserva: esconde sidebar lateral — evita dois menus */
html.layout-desktop .menu-topo {
  display: none !important;
}
html.layout-desktop .main-content {
  margin-left: 0 !important;
}
html.layout-desktop .footer-site {
  display: none !important;
}
html.layout-desktop .mobile-app-header,
html.layout-desktop .mobile-bottom-nav {
  display: none !important;
}
html.layout-desktop body.page-reserva .nav-admin-wrap,
html.layout-desktop body.page-reserva .nav-admin-spacer {
  display: block !important;
}
html.layout-desktop body.page-nova-aposta {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  box-shadow: none !important;
}
html.layout-desktop body.page-nova-aposta .nav-admin-wrap,
html.layout-desktop body.page-nova-aposta .nav-admin-spacer {
  display: block !important;
}
html.layout-desktop body.page-nova-aposta .app-shell {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  box-shadow: none !important;
  padding: 26px 24px 0 !important;
}
/* Respiro no topo: afasta o conteúdo da barra de navegação */
html.layout-desktop .nav-admin-spacer {
  height: 54px;
}
html.layout-desktop .main-content,
html.layout-desktop .page,
html.layout-desktop .page-wrap,
html.layout-desktop .wrap {
  padding-top: 26px !important;
}
html.layout-desktop body.page-reserva .main-content {
  padding-left: 24px !important;
  padding-right: 24px !important;
  padding-top: 26px !important;
}
