/* ============================================================
   HUMBOP — responsive.css
   ============================================================ */

@media (max-width: 1024px) {
  .genre-grid { grid-template-columns: repeat(3, 1fr); }
  .track-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
  .quote-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 860px) {
  .feature-row { grid-template-columns: 1fr; }
  .feature-row.flip .feature-visual { order: 0; }
  .pricing-grid { grid-template-columns: 1fr; max-width: 460px; margin-inline: auto; }
  .price-card.featured { order: -1; }

  /* Mobile nav */
  .nav-toggle { display: flex; }
  .nav-links {
    position: fixed;
    inset: 0 0 auto 0;
    top: 62px;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    background: rgba(7, 7, 13, 0.97);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--border);
    padding: 0.5rem 4vw 1.2rem;
    transform: translateY(-8px);
    opacity: 0;
    pointer-events: none;
    transition: 0.28s ease;
  }
  .nav-links.open { transform: none; opacity: 1; pointer-events: auto; }
  .nav-links li { width: 100%; }
  .nav-links a { display: block; padding: 0.85rem 0; font-size: 1.05rem; border-bottom: 1px solid rgba(255,255,255,0.05); }
  .nav-cta .btn-ghost { display: none; }
}

@media (max-width: 640px) {
  body { font-size: 16px; }
  .genre-grid { grid-template-columns: repeat(2, 1fr); }
  .track-grid { grid-template-columns: 1fr; }
  .quote-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .section-head-row { flex-direction: column; align-items: flex-start; }
  .prompt-foot { flex-direction: column; align-items: stretch; }
  .prompt-foot .btn { width: 100%; }
  .hero { padding-top: 6rem; }
  .hero-stats { gap: 1.4rem; }
  .stat b { font-size: 1.1rem; }
  .gen-mock { grid-template-columns: 1fr; justify-items: center; }
  .battle-mock { grid-template-columns: 1fr; }
  .battle-vs { text-align: center; }
  .score-row { grid-template-columns: 100px 1fr 36px; font-size: 0.8rem; }
}

@media (max-width: 400px) {
  .footer-grid { grid-template-columns: 1fr; }
  .genre-grid { grid-template-columns: 1fr 1fr; gap: 0.7rem; }
  .genre-card { padding: 1.1rem 1rem 1rem; }
}
