/* ─────────────────────────────────────────────
   RESPONSIVE.CSS — ajustes para tablet e celular
   Carregado por último em todas as páginas.
   ───────────────────────────────────────────── */

/* Rede de segurança: nada empurra a página para os lados */
html, body { overflow-x: clip; }

/* ═════ MENU ☰ ATÉ 900px (tablet na vertical e celular) ═════ */
@media (max-width: 900px) {
  .nav-links { display: none; }
  .nav-links.open {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: var(--nav-h); left: 0; right: 0;
    background: var(--bg);
    padding: 1.5rem 6%;
    border-bottom: 1px solid var(--border);
    gap: 1.2rem;
    align-items: center;
  }
  .nav-burger { display: flex; margin-left: 1.2rem; }
  nav .nav-cta { margin-left: auto; }
}

/* ═════ CELULAR (≤ 700px) ═════ */
@media (max-width: 700px) {
  /* Barra: botão do topo some (já existe no conteúdo) */
  nav .nav-cta { display: none; }

  /* Abas de séries/planos (Firebox, AuthPoint, Endpoints): barra fixa compacta */
  .ep-tabs-section { padding: 3rem 4%; }
  .tabs-title { font-size: 1.4rem; margin-bottom: 1.2rem; }
  .ep-tabs-section.compact { padding: .6rem 4%; }
  .ep-tabs-section.compact .tabs-title { display: none; }
  .ep-tabs-section.compact .tier-tab { padding: .4rem .9rem; font-size: .78rem; }

  /* ── FIREBOX ── */
  .ep-hero-grid { grid-template-columns: 1fr; gap: 2rem; }

  /* Carrossel de modelos: 1 card por vez */
  .carousel-outer { padding: 0 40px; }
  .carousel-arrow { width: 40px; height: 40px; }
  .carousel-arrow.prev { left: 0; }
  .carousel-arrow.next { right: 0; }
  .carousel-progress-wrap { padding: 14px 40px; }
  .model-card { flex: 0 0 100%; }

  /* Tabela comparativa: rola de lado dentro da caixa */
  .compare-dynamic { padding: 3rem 4%; }
  .fb-compare-table th, .fb-compare-table td { padding-left: .7rem; padding-right: .7rem; }
  .fb-compare-table td:first-child { white-space: normal; }
  .fb-compare-table td:first-child { font-size: .74rem; }
  .fb-compare-table td.spec-val { font-size: .84rem; }

  /* Seções imagem + texto: empilha */
  .adv-features-header { padding: 3.5rem 5% 0; }
  .adv-features-header h2 { font-size: 1.6rem; }
  .adv-feature { grid-template-columns: 1fr; gap: 1.5rem; padding: 2.5rem 5%; }
  .adv-feature.reverse { direction: ltr; }
  .adv-feat-title { font-size: 1.45rem; }

  /* Pacotes de segurança: tabela compacta */
  .suites-section { padding: 3.5rem 4%; }
  .suites-header h2 { font-size: 1.6rem; }
  .suites-table thead th { padding: .8rem .35rem; font-size: .62rem; letter-spacing: .02em; }
  .suites-table thead th:first-child { width: auto; }
  .suites-table tbody td { padding: .35rem .35rem; }
  .suites-table tbody td:first-child { font-size: .8rem; padding-left: .7rem; }
  .suites-table tbody tr.suite-section-row td { padding: .3rem .7rem; }
  .suites-table thead th.col-total .suite-badge { font-size: .55rem; }
  .feat-tooltip-box { display: none !important; }

  /* ── WI-FI ── */
  .wifi-intro { padding: 3.5rem 5%; }
  .wifi-intro h2 { font-size: 1.6rem; }
  .wifi-feature { grid-template-columns: 1fr; gap: 1.5rem; padding: 2.5rem 5%; }
  .wifi-feature.reverse { direction: ltr; }
  .wifi-feat-title { font-size: 1.45rem; }

  /* ── AUTHPOINT / ENDPOINTS: tabela comparativa cabendo na tela ── */
  .ep-compare { padding: 3.5rem 4%; }
  .compare-table { min-width: 0; font-size: .74rem; table-layout: auto; }
  .compare-table thead th { padding: .55rem .3rem; font-size: .66rem; }
  .compare-table thead th.ct-feature { font-size: .62rem; letter-spacing: .03em; }
  .compare-table tbody td { padding: .5rem .3rem; }
  .compare-table tbody td:first-child { padding-left: .6rem; font-size: .74rem; line-height: 1.35; }
  .compare-table tbody td.check { font-size: .9rem; }

  /* Firebox V / Cloud */
  .virt-intro-grid { grid-template-columns: 1fr; }
  .page-cta h2 { font-size: 1.5rem; }
}

/* ═════ PÁGINA INICIAL ═════ */
@media (max-width: 1000px) {
  .solutions-grid { grid-template-columns: repeat(2, 1fr); }
  #solucoes, #modelos, #sobre, #contato { min-height: 0; }
}
@media (max-width: 700px) {
  .solutions-grid { grid-template-columns: 1fr; }
  .solution-img { height: 130px; }
  #home { padding-top: calc(var(--nav-h) + 1.5rem); }
  .hero-carousel { height: 280px; }
  .footer-wg img { height: auto !important; width: 100% !important; max-width: 260px; }
  footer { text-align: center; }
}

/* ═════ TABLET (701px – 1000px) ═════ */
@media (min-width: 701px) and (max-width: 1000px) {
  .model-card { flex: 0 0 calc(50% - .5rem); }
  .adv-feature, .wifi-feature { gap: 2.5rem; }
  .virt-intro-grid { grid-template-columns: 1fr 1fr; }
}

/* ═════ TELAS MAIS BAIXAS NO COMPUTADOR (notebooks, zoom 125%) ═════
   Mantém o topo da página inicial (com a faixa laranja) e a seção
   "Quem somos" enquadrados numa tela só. */
@media (min-width: 901px) and (max-height: 1000px) {
  #home { padding-top: calc(var(--nav-h) + 1.5rem); padding-bottom: 1.5rem; }
  .hero-carousel { height: clamp(360px, calc(100vh - var(--nav-h) - 60px - 3rem), 620px); }

  #sobre { padding-top: calc(var(--nav-h) + 1.5rem); padding-bottom: 1.5rem; }
  #sobre .section-title { margin-bottom: 1rem; }
  .sobre-nums { gap: 1rem; margin-top: 1.5rem; }
  .sobre-num-card { padding: 1.1rem 1.5rem; }
  .sobre-img { max-height: calc(100vh - var(--nav-h) - 6rem); width: auto; max-width: 100%; }
}
@media (min-width: 901px) and (max-height: 800px) {
  #sobre .section-title { font-size: clamp(1.8rem, 3vw, 2.4rem); }
  #sobre .section-desc { line-height: 1.7; }
  .hero-stats { margin-top: 1.5rem; padding-top: 1.5rem; }
}
