/* ==========================================================================
   NEXT ACADEMY — CSS RESPONSIVO
   ========================================================================== */

@media (max-width: 1100px) {
  .search-pill { min-width: 160px; }
  .nav-list { gap: 14px; }
  .nav-link { font-size: 0.66rem; letter-spacing: 1px; }

  .ed-grid { grid-template-columns: repeat(2, 1fr); }
  .ed-card:nth-child(even) { margin-top: 40px; }

  .professores-grid { grid-template-columns: repeat(2, 1fr); }
  .categorias-grid { grid-template-columns: 1fr 1fr; }
  .modalidades-grid { grid-template-columns: repeat(2, 1fr); }

  .footer-main-inner { grid-template-columns: 1fr; gap: 48px; }
}

@media (max-width: 900px) {
  .hero { padding: 120px 0 50px; }
  .hero-inner { grid-template-columns: 1fr; gap: 36px; }
  .hero-media { width: 120%; height: 520px; margin-left: -10%; padding-bottom: 0; }
  .hero-media img { height: auto; }
  .hero-side { display: none; }

  .locais-content { flex-direction: column; }
  .local-card { flex-direction: column; }
  .local-card .ph { width: 100%; }
  .local-card .ph img { height: 220px; min-height: unset; }

  .cta-final { padding: 90px 0; }
}

@media (max-width: 768px) {
  .header-inner { height: 64px; }
  .search-pill { display: none; }

  .nav-list {
    position: fixed; top: 64px; left: 0; width: 100%;
    background: rgba(17,17,17,0.98); backdrop-filter: blur(14px);
    flex-direction: column; align-items: stretch; padding: 0;
    transform: translateY(-110%); opacity: 0; visibility: hidden;
    transition: var(--ease); border-bottom: 1px solid var(--line);
    z-index: 999;
  }
  .nav-list.open { transform: translateY(0); opacity: 1; visibility: visible; }
  .nav-list li { width: 100%; }
  .nav-link { display: block; padding: 16px 24px; font-size: 0.85rem; border-bottom: 1px solid rgba(255,255,255,0.05); }
  .nav-link.active { background: rgba(212,255,0,0.08); }

  .menu-toggle { display: flex; }
  .menu-toggle.active { gap: 0; }
  .menu-toggle.active .dot:nth-child(1) { transform: translateX(6px); }
  .menu-toggle.active .dot:nth-child(3) { transform: translateX(-6px); }

  .hero-title { font-size: clamp(2.8rem, 12vw, 3.6rem); }

  .ed-grid { grid-template-columns: 1fr; }
  .ed-card:nth-child(even) { margin-top: 0; }

  .professores-grid { grid-template-columns: 1fr 1fr; }
  .professor-card:nth-child(even) { margin-top: 0; }

  .categorias-grid { grid-template-columns: 1fr; }

  .modalidades-grid { grid-template-columns: 1fr; }
  .modalidade-card:nth-child(even) { margin-top: 0; }
  .modalidade-card { min-height: 380px; }

  .form-grid { grid-template-columns: 1fr; gap: 24px; }

  .sec-head--center .kicker-row { gap: 20px; }

  .footer-cols { grid-template-columns: 1fr; gap: 36px; }
  .footer-bar-inner { flex-direction: column; text-align: center; }

  .btn-top { bottom: 20px; right: 20px; width: 44px; height: 44px; }

  .view-all .line { max-width: 60px; }
}

@media (max-width: 480px) {
  .container { padding: 0 16px; }

  .hero-media img { height: auto; }
  .hero-desc { font-size: 0.88rem; }

  .professores-grid { grid-template-columns: 1fr; gap: 16px; }
  .estagios { grid-template-columns: 1fr; }

  .ed-card--light .ed-media img { max-height: 170px; }
  .ed-card--photo .ed-media img { height: 260px; }

  .footer-main { padding: 50px 0 40px; }
}
