/* ==========================================================================
   AXIONMESK — Cartão: ajustes finais de layout
   ========================================================================== */

/* --------------------------------------------------------------------------
   1) HEADER — altura automática, sem sobrepor o conteúdo
   -------------------------------------------------------------------------- */
.app-header {
  height: auto !important;
  min-height: 60px !important;
  padding: 10px 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  background: rgba(11, 13, 18, .94) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255, 255, 255, .06) !important;
  position: sticky !important;
  top: 0;
  z-index: 900;
}

/* No mobile, o menu horizontal rola sem quebrar altura */
@media (max-width: 900px) {
  .app-header { flex-wrap: wrap !important; padding-bottom: 8px !important; }
  .app-header__right {
    order: 2 !important;
    width: 100% !important;
    flex: 0 0 100% !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 2px;
  }
  .app-header__right::-webkit-scrollbar { display: none; }
  .app-header__right .btn { flex: 0 0 auto !important; white-space: nowrap; }
}

/* Logo proporcional (não gigante) */
.app-header .logo__text { font-size: 19px !important; font-weight: 800 !important; }
.app-header .logo__mark { width: 28px !important; height: 28px !important; flex-basis: 28px !important; }

@media (max-width: 380px) {
  .app-header .logo__text { font-size: 17px !important; }
  .app-header .logo__mark { width: 26px !important; height: 26px !important; }
}

/* --------------------------------------------------------------------------
   2) ESPAÇO DA STICKY HEADER — evita conteúdo por baixo
   -------------------------------------------------------------------------- */
.page-body {
  padding-top: 8px !important;
  scroll-margin-top: 90px;
}

/* Título e subtítulo com respiro */
.page-title {
  font-size: 24px !important;
  font-weight: 800 !important;
  margin: 6px 0 6px !important;
  letter-spacing: -.02em;
  line-height: 1.2;
}

.page-sub {
  font-size: 13.5px !important;
  color: #8b93a1 !important;
  margin: 0 0 18px !important;
  line-height: 1.5;
}

@media (max-width: 900px) {
  .page-title { font-size: 22px !important; }
  .page-sub { font-size: 13px !important; }
}

/* --------------------------------------------------------------------------
   3) CARTÃO — visível e proporcional no topo
   -------------------------------------------------------------------------- */
.bnx-stage {
  display: block !important;
  width: 100% !important;
  padding: 4px 0 20px !important;
  margin: 0 !important;
}

.bnx-card {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Layout em duas colunas no desktop */
.card-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
  gap: 24px;
  align-items: start;
}

@media (max-width: 1024px) {
  .card-layout { grid-template-columns: 1fr; gap: 18px; }
}

/* Card de ativação com respiro */
.bnx-activate,
.card-ativar {
  background: #161A21;
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 18px;
  padding: 18px;
}

/* --------------------------------------------------------------------------
   4) BOTÃO DE RECARGA — destaque e área segura
   -------------------------------------------------------------------------- */
button[data-add] {
  min-height: 48px !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  background: rgba(255, 255, 255, .05) !important;
  border: 1px solid rgba(255, 255, 255, .1) !important;
  color: #F5F7FA !important;
  transition: transform .14s ease, background .15s ease, border-color .15s ease;
}
button[data-add]:active {
  transform: scale(.96);
  background: rgba(56,107,255, .16) !important;
  border-color: rgba(56,107,255, .45) !important;
}

/* Botão principal de ativação */
#btnAtivar,
.btn-recarregar {
  min-height: 54px !important;
  border-radius: 14px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  background: linear-gradient(135deg, #5C86FF, #386BFF) !important;
  color: #221900 !important;
  border: 0 !important;
  box-shadow: none !important;
  margin-top: 14px !important;
}

/* --------------------------------------------------------------------------
   5) MOBILE — respiro final
   -------------------------------------------------------------------------- */
@media (max-width: 900px) {
  .page-body,
  main,
  .sec-wrap {
    padding-bottom: calc(100px + env(safe-area-inset-bottom, 0px)) !important;
  }
}
