/* =========================================================
   responsive.css — Breakpoints for laptop / tablet / mobile
   Loaded last; overrides base styles at narrower widths.
   ========================================================= */

/* -------------------- Laptop (<=1200px) -------------------- */
@media (max-width: 1200px) {
  .game-grid { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
  .footer-grid { grid-template-columns: 1.2fr 1fr 1fr; }
  .footer-col:nth-child(4) { display: none; }
}

/* -------------------- Tablet (<=960px) -------------------- */
@media (max-width: 960px) {
  .nav-links { display: none; }
  .nav-toggle { display: flex; }
  .nav-search { max-width: none; }

  .hero-banner { min-height: 380px; }
  .hero-content { padding: var(--space-5); max-width: 90%; }
  .hero-content p { font-size: 0.92rem; }

  .game-detail-grid { grid-template-columns: 1fr; }
  .controls-list { grid-template-columns: 1fr; }

  .footer-grid { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
  .footer-col:nth-child(3) { display: none; }
}

/* -------------------- Mobile (<=640px) -------------------- */
@media (max-width: 640px) {
  .container { padding: 0 var(--space-4); }
  .section { padding: var(--space-6) 0; }

  .navbar-inner { gap: var(--space-3); }
  .brand-name { display: none; }

  .hero-banner { min-height: 320px; border-radius: var(--radius-md); }
  .hero-content { padding: var(--space-4); }
  .hero-content h1 { font-size: 1.5rem; }
  .hero-meta { flex-wrap: wrap; gap: var(--space-2); }
  .hero-actions { width: 100%; }
  .hero-actions .btn { flex: 1; }
  .hero-dots { right: var(--space-4); bottom: var(--space-4); }

  .section-header { flex-direction: column; align-items: flex-start; gap: var(--space-2); }

  .game-grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-3); }
  .game-card-body { padding: var(--space-3); }
  .game-card-title { font-size: 0.9rem; }

  .category-pill { min-width: 88px; padding: var(--space-3); }

  .footer-grid { grid-template-columns: 1fr; padding: var(--space-6) 0; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }

  .game-hero-content { padding: var(--space-4); }
  .game-hero-actions { width: 100%; }
  .game-hero-actions .btn { flex: 1; }
}

/* -------------------- Small mobile (<=380px) -------------------- */
@media (max-width: 380px) {
  .game-grid { grid-template-columns: 1fr 1fr; gap: var(--space-2); }
  .hero-content h1 { font-size: 1.3rem; }
}

/* -------------------- Reduced motion -------------------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* -------------------- Print -------------------- */
@media print {
  .navbar, .site-footer, .hero-banner, .nav-toggle { display: none; }
}
