/* Responsive overrides for v5 */

/* --- bento collapses in two steps --- */

@media (max-width: 1199px) {
  .games .bento {
    grid-template-columns: repeat(2, 1fr);
  }

  .games .game-card.feature {
    grid-column: span 2;
    grid-row: span 1;
    min-height: 300px;
  }

  .games .game-card.wide {
    grid-column: span 2;
  }
}

@media (max-width: 991px) {
  .hero {
    padding: 52px 0 72px;
    text-align: center;
  }

  .hero h1 {
    font-size: 44px;
  }

  .hero p.lead-text {
    margin-left: auto;
    margin-right: auto;
  }

  .hero .hero-cta {
    justify-content: center;
  }

  .hero .hero-facts {
    margin-left: auto;
    margin-right: auto;
  }

  .title-wrapper h2 {
    font-size: 32px;
  }

  .intro .intro-card {
    padding: 30px 26px;
  }

  .closing .closing-card {
    padding: 40px 26px;
  }

  .closing .closing-card h2 {
    font-size: 27px;
  }

  .legal .legal-card {
    padding: 32px 26px;
  }
}

@media (max-width: 767px) {
  header .navbar {
    border-radius: 20px;
    padding: 12px 14px 12px 18px;
  }

  header .navbar::before {
    border-radius: 20px 20px 0 0;
  }

  header .navbar-collapse {
    padding-top: 8px;
  }

  header .nav-link {
    padding: 9px 14px !important;
  }

  .notice-bar .notice-inner {
    font-size: 12.5px;
    padding: 9px 16px;
    text-align: left;
  }

  .hero h1 {
    font-size: 34px;
    letter-spacing: -1px;
  }

  .hero .hero-facts {
    gap: 10px;
  }

  .hero .hero-facts div {
    min-width: 0;
    flex: 1;
    padding: 12px 14px;
  }

  .hero .hero-facts div strong {
    font-size: 19px;
  }

  .hero-board {
    padding: 14px;
  }

  .games .bento {
    grid-template-columns: 1fr;
  }

  .games .game-card,
  .games .game-card.feature,
  .games .game-card.wide {
    grid-column: span 1;
    grid-row: span 1;
    min-height: 0;
  }

  .games .game-card.feature h3 {
    font-size: 24px;
  }

  .games .game-card.feature .game-icon {
    width: 50px;
    height: 50px;
    font-size: 21px;
    border-radius: 14px;
  }

  .title-wrapper {
    margin-bottom: 36px;
  }

  .title-wrapper h2 {
    font-size: 26px;
  }

  .page-hero h1 {
    font-size: 32px;
  }

  .faq .accordion-button {
    font-size: 15px;
    padding: 18px 18px;
  }

  .faq .accordion-body {
    padding: 2px 18px 20px;
  }

  footer .footer-page-link {
    margin-bottom: 12px;
  }
}

/* the backdrop grid is heavy on very small screens — thin it out */
@media (max-width: 575px) {
  body::after {
    background-size: 46px 46px;
    opacity: 0.03;
  }
}
