/* ======================================================
   GOLDEN EMU — Responsive Stylesheet
   ====================================================== */

/* ── Large desktops ── */
@media (max-width: 1200px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .footer-brand { grid-column: span 3; }
}

/* ── Tablets / Small desktops ── */
@media (max-width: 1024px) {
  .hero-content {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .hero-text p { max-width: 100%; margin-inline: auto; }
  .hero-disclaimer { margin-inline: auto; }
  .hero-btns { justify-content: center; }
  .hero-visual { display: none; }
  .contact-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: span 2; }
}

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

  /* Nav */
  .main-nav {
    position: fixed;
    top: 0;
    right: -100%;
    height: 100vh;
    width: min(320px, 85vw);
    background: var(--navy-mid);
    border-left: 1px solid var(--navy-border);
    flex-direction: column;
    padding: 5rem 2rem 2rem;
    transition: right 0.35s ease;
    z-index: 999;
    box-shadow: -8px 0 40px rgba(0,0,0,0.5);
  }
  .main-nav.open { right: 0; }
  .nav-list {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    width: 100%;
  }
  .nav-list li { width: 100%; }
  .nav-list li a {
    padding: 0.75rem 1rem;
    font-size: 1rem;
    width: 100%;
    display: block;
  }
  .nav-cta { margin-left: 0; margin-top: 1rem; width: 100%; }
  .nav-cta .btn { width: 100%; justify-content: center; }
  .hamburger { display: flex; z-index: 1001; }

  /* Age gate */
  .age-gate-card { padding: 2rem 1.5rem; }

  /* Hero */
  #hero { min-height: auto; padding: 5rem 0 3rem; }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .footer-brand { grid-column: span 2; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .footer-legal-links { justify-content: center; }

  /* Prose */
  .prose-wrap h2 { font-size: 1.25rem; }

  /* Slot */
  .reel { width: 72px; height: 72px; font-size: 2.2rem; }
  .slot-machine { padding: 1.5rem; }

  /* Leaderboard */
  .leaderboard-table th:nth-child(4),
  .leaderboard-table td:nth-child(4) { display: none; }

  /* Form */
  .form-row { grid-template-columns: 1fr; }

  /* Contact form */
  .contact-form-wrap { padding: 1.75rem 1.25rem; }

  /* Paytable */
  .paytable-rows { grid-template-columns: repeat(2, 1fr); }
}

/* ── Mobile ── */
@media (max-width: 480px) {
  h1 { font-size: 2rem; }
  h2 { font-size: 1.5rem; }

  .container { padding-inline: 1rem; }
  .btn { padding: 0.65rem 1.5rem; }
  .btn-lg { padding: 0.75rem 1.75rem; }

  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: span 1; }
  .footer-regulators { gap: 0.75rem; }
  .footer-regulators a { font-size: 0.72rem; padding: 0.35rem 0.7rem; }

  .slot-balance-bar { flex-direction: column; }
  .slot-reels { gap: 0.4rem; padding: 0.85rem; }
  .reel { width: 60px; height: 60px; font-size: 1.8rem; }

  .card-hand { gap: 0.4rem; }
  .playing-card { width: 60px; height: 86px; font-size: 1.2rem; }

  .lb-podium { flex-direction: row; align-items: flex-end; gap: 0.75rem; }

  .resp-strip { flex-direction: column; padding: 1.5rem; }

  .age-gate-btns .btn { min-width: 110px; }

  .hero-stat-row { display: none; }

  .leaderboard-table th:nth-child(3),
  .leaderboard-table td:nth-child(3) { display: none; }

  .paytable-rows { grid-template-columns: repeat(2,1fr); }

  section { padding: 2.5rem 0; }
}

/* ── Mobile XS ── */
@media (max-width: 360px) {
  .reel { width: 52px; height: 52px; font-size: 1.5rem; }
  .playing-card { width: 52px; height: 76px; font-size: 1rem; }
  .playing-card .card-suit { font-size: 1.3rem; }
}
