/* responsive.css -- 768 / 1024 / 1280 breakpoints */

/* ── Tablet (max 1024px) ── */
@media (max-width: 1024px) {
  .header__nav-utility {
    display: none;
  }

  .header__hamburger {
    display: flex;
  }

  .header__nav-main {
    display: none;
  }

  .hero__inner {
    grid-template-columns: 1fr;
    gap: var(--s-32);
  }

  .grid-55-45,
  .grid-60-40 {
    grid-template-columns: 1fr;
    gap: var(--s-32);
  }

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

  .contact-grid {
    grid-template-columns: 1fr;
    gap: var(--s-32);
  }

  .db-layout {
    grid-template-columns: 1fr;
  }

  .db-sidebar {
    position: static;
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-8);
    margin-bottom: var(--s-32);
    border-bottom: 1px solid var(--c-border);
    padding-bottom: var(--s-16);
  }

  .db-sidebar__title {
    width: 100%;
  }

  .db-sidebar__link {
    border-left: none;
    border-bottom: 2px solid transparent;
    padding: var(--s-4) var(--s-8);
  }

  .db-sidebar__link--active {
    border-bottom-color: var(--c-accent);
    border-left-color: transparent;
  }

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

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

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

/* ── Mobile (max 768px) ── */
@media (max-width: 768px) {
  .section {
    padding: var(--s-48) 0;
  }

  .hero {
    padding: var(--s-40) 0 var(--s-32);
  }

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

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

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

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

  .footer__testimonials-inner {
    grid-template-columns: 1fr;
  }

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

  .footer__partners-inner {
    flex-wrap: wrap;
    gap: var(--s-16);
  }

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

  .filter-bar {
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    padding-bottom: var(--s-8);
  }

  .filter-btn {
    white-space: nowrap;
    flex-shrink: 0;
  }

  .tabs {
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
  }

  .tab-btn {
    white-space: nowrap;
    flex-shrink: 0;
  }

  .age-gate__box {
    padding: var(--s-32) var(--s-24);
  }

  .age-gate__buttons {
    flex-direction: column;
  }

  .scoreboard__score-num {
    font-size: 1.5rem;
  }

  .btn-group {
    flex-direction: column;
  }

  .btn-group .btn {
    width: 100%;
    text-align: center;
  }
}

/* ── Large screens (min 1280px) ── */
@media (min-width: 1280px) {
  .container {
    padding: 0 var(--s-32);
  }
}
