/* ============================================================
   T0wnGame – Responsive Stylesheet
   ============================================================ */

/* ── Large Desktop ────────────────────────────────────────── */
@media (max-width: 1280px) {
  .footer-grid {
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 2rem;
  }
}

/* ── Tablet / Small Desktop ───────────────────────────────── */
@media (max-width: 1024px) {
  .about-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .about-image-wrap {
    max-width: 600px;
    margin: 0 auto;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}

/* ── Tablet Portrait ──────────────────────────────────────── */
@media (max-width: 768px) {
  section { padding: 3.5rem 0; }

  .nav-links,
  .nav-cta { display: none; }

  .nav-toggle { display: flex; }

  .hero {
    min-height: 90vh;
    text-align: center;
  }
  .hero-content { max-width: 100%; }
  .hero-buttons { justify-content: center; }
  .hero-disclaimer { justify-content: center; }

  .games-grid {
    grid-template-columns: 1fr;
    max-width: 480px;
    margin: 0 auto;
  }

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

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1.75rem;
  }
  .footer-brand { grid-column: 1 / -1; }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }
  .footer-legal-links { justify-content: center; }

  .contact-form-wrap { padding: 1.75rem; }
}

/* ── Mobile ───────────────────────────────────────────────── */
@media (max-width: 480px) {
  section { padding: 2.75rem 0; }

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

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

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

  .age-gate-modal { padding: 2rem 1.25rem; }

  .regulators-row { gap: 1.25rem 2rem; }

  .prose-content { padding: 0; }

  .hero { min-height: 85vh; }
}

@media (max-width: 360px) {
  .responsible-grid { grid-template-columns: 1fr; }
  .age-gate-buttons { flex-direction: column; }
  .age-gate-buttons .btn { width: 100%; }
}

/* ── Games responsive ─────────────────────────────────────── */
@media (max-width: 860px) {
  #tabSlots > div,
  #tabPoker > div {
    grid-template-columns: 1fr !important;
  }
  .slot-machine { max-width: 100%; }
}

@media (max-width: 480px) {
  .slot-paytable-grid { grid-template-columns: repeat(4, 1fr); }
  .slot-reel { height: 180px; }
  .reel-symbol { height: 60px; font-size: 1.8rem; }
}

/* ── Print ────────────────────────────────────────────────── */
@media print {
  .site-nav, footer, .cookie-banner, .age-gate-overlay { display: none !important; }
  body { background: #fff; color: #000; }
  .prose-content p, .prose-content li { color: #333; }
}
