/* ============================================================
   INFINITY CARD GAME — Responsive
   Breakpoint principal: 940px (mobile ↔ desktop)
   ============================================================ */

/* ---- Tablet & Mobile (< 940px) ---- */
@media (max-width: 940px) {
  /* Header */
  .site-nav { display: none; }
  .btn-hamburger { display: flex; }

  /* Mobile nav */
  .mobile-nav { display: block; }

  /* Hero */
  .home-hero-inner {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .home-hero-content { align-items: center; }
  .home-hero-content p { margin: 0 auto; }
  .home-hero-visual { display: none; }

  /* Differentials */
  .diff-grid { grid-template-columns: 1fr 1fr; }

  /* Trust bar */
  .trust-bar { grid-template-columns: 1fr 1fr; gap: var(--space-5); }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr 1fr; gap: var(--space-8); }
  .footer-brand { grid-column: 1 / -1; }

  /* Catalog */
  .catalog-layout { grid-template-columns: 1fr; }
  .filter-panel { display: none; position: static; }
  .filter-panel.mobile-open { display: block; }
  .btn-toggle-filters { display: flex; }

  /* Sobre */
  .sobre-grid { grid-template-columns: 1fr; }
  .sobre-visual { display: none; }

  /* Contact */
  .contact-grid { grid-template-columns: 1fr; }

  /* Políticas */
  .policy-layout { grid-template-columns: 1fr; }
  .policy-nav { display: none; }

  /* Produto PDP */
  .pdp-layout { grid-template-columns: 1fr; }
  .pdp-gallery { position: static; }

  /* Kit grid */
  .kit-grid { grid-template-columns: 1fr; }

  /* WhatsApp float - hide label on small */
  .whatsapp-float span { display: none; }
  .whatsapp-float { padding: var(--space-3); }
}

/* ---- Tablet only (768–940px) ---- */
@media (min-width: 768px) and (max-width: 940px) {
  .product-grid { grid-template-columns: repeat(3, 1fr); }
  .category-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ---- Small mobile (< 768px) ---- */
@media (max-width: 767px) {
  :root { --container-pad: 16px; }

  /* Product grid */
  .product-grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-3); }

  /* Category grid */
  .category-grid { grid-template-columns: repeat(2, 1fr); }

  /* Trust bar */
  .trust-bar {
    grid-template-columns: 1fr 1fr;
    padding: var(--space-5);
    gap: var(--space-4);
  }
  .trust-title { font-size: var(--text-base); }
  .trust-sub { display: none; }

  /* Differentials */
  .diff-grid { grid-template-columns: 1fr 1fr; gap: var(--space-4); }
  .diff-text span { display: none; }

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

  /* Section */
  .section { padding: var(--space-10) 0; }
  .section-sm { padding: var(--space-6) 0; }

  /* Kit grid */
  .kit-grid { grid-template-columns: 1fr; }

  /* Valores */
  .valores-grid { grid-template-columns: 1fr; }

  /* Home CTA */
  .home-cta { padding: var(--space-8) var(--space-5); }
  .home-cta .btn-group { flex-direction: column; align-items: center; }
  .home-cta .btn-group .btn { width: 100%; max-width: 300px; }

  /* PDP */
  .pdp-actions { flex-direction: column; }
  .pdp-actions .btn { flex: none; width: 100%; }

  /* Turbo rules */
  .turbo-rules { grid-template-columns: 1fr 1fr; }

  /* TCG future grid */
  .tcg-future-grid { grid-template-columns: 1fr; }

  /* Singles — horizontal scroll hint */
  .singles-table-wrap { -webkit-overflow-scrolling: touch; }

  /* Notify form */
  .notify-form { padding: var(--space-5); }

  /* Search modal */
  .search-modal { top: 5%; }

  /* Header */
  .logo-text { font-size: var(--text-base); }
  .logo img { height: 28px; }
}

/* ---- Tiny (< 400px) ---- */
@media (max-width: 400px) {
  .product-grid { grid-template-columns: 1fr 1fr; gap: var(--space-2); }
  .product-card-body { padding: var(--space-3); }
  .product-card-footer { padding: var(--space-2) var(--space-3); }
  .turbo-rules { grid-template-columns: 1fr; }
  .diff-grid { grid-template-columns: 1fr; }
}

/* ---- Large desktop (> 1280px) ---- */
@media (min-width: 1280px) {
  .product-grid { grid-template-columns: repeat(4, 1fr); }
  .category-grid { grid-template-columns: repeat(6, 1fr); }
}

/* ---- Extra large (> 1440px) ---- */
@media (min-width: 1440px) {
  :root { --container-pad: 48px; }
}
