/* ============================================
   DOMUS+ — RESPONSIVIDADE
   Mobile-first breakpoints
   ============================================ */

/* ---------- ≥ 480px ---------- */
@media (min-width: 480px) {
  .products-grid { grid-template-columns: repeat(2, 1fr); }
  .categories-grid { grid-template-columns: repeat(3, 1fr); }
  .palette-colors { grid-template-columns: repeat(2, 1fr); }
  .product-info__actions { flex-direction: row; }
  .product-info__actions .btn { flex: 1; }
}

/* ---------- ≥ 640px ---------- */
@media (min-width: 640px) {
  .container { padding: 0 24px; }
  .section { padding: 72px 0; }
  .section-title { font-size: 1.9rem; }
  .hero { min-height: 520px; }
  .hero-inner { padding: 96px 24px; }

  .categories-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .brands-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .products-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .inspiration-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .palette-colors { grid-template-columns: repeat(4, 1fr); }
  .atendimento-grid { grid-template-columns: repeat(2, 1fr); }

  .product-detail { grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
  .product-gallery { position: sticky; top: 84px; }

  .cart-item {
    grid-template-columns: 1fr auto auto;
    gap: 20px;
  }
  .cart-item__qty { grid-column: auto; justify-self: center; }

  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 40px; padding: 64px 24px 40px; }

  .cta-band { flex-direction: row; align-items: center; justify-content: space-between; padding: 40px; }
  .cta-band > div { flex: 1; }

  .brand-hero__banner { height: 200px; }
}

/* ---------- ≥ 900px ---------- */
@media (min-width: 900px) {
  .main-nav { display: flex; align-items: center; gap: 2px; }
  .menu-toggle { display: none; }
  .search-form { display: flex; margin-left: auto; }
  .icon-btn { margin-left: 0; }

  .hero h1 { font-size: 3.2rem; }
  .section-title { font-size: 2.1rem; }

  .categories-grid { grid-template-columns: repeat(5, 1fr); gap: 18px; }
  .products-grid { grid-template-columns: repeat(4, 1fr); gap: 24px; }
  .inspiration-grid { grid-template-columns: repeat(3, 1fr); }
  .atendimento-grid { grid-template-columns: repeat(4, 1fr); }

  .cart-layout { grid-template-columns: 1fr 360px; gap: 32px; align-items: start; }
  .cart-summary { position: sticky; top: 84px; }
}

@media (min-width: 900px) {
  .payment-methods__grid { grid-template-columns: 1fr 1fr; }
}

/* ---------- ≥ 1100px ---------- */
@media (min-width: 1100px) {
  .hero { min-height: 580px; }
  .hero-inner { padding: 120px 24px; }
  .products-grid { gap: 28px; }
}

/* ---------- Preferência de movimento reduzido ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
}

/* Toolbar da loja em telas pequenas */
@media (max-width: 479px) {
  .shop-toolbar select,
  .shop-toolbar input {
    flex-basis: 100%;
  }
}

/* Toolbar da loja em telas grandes — 2 linhas organizadas */
@media (min-width: 900px) {
  .shop-toolbar input[type="search"] { flex-basis: 100%; }
  .shop-toolbar select { flex: 1 1 150px; }
  .shop-toolbar input[type="number"] { flex: 1 1 150px; }
}

/* Galeria: 3 miniaturas por linha em mobile, 6 em telas maiores */
@media (max-width: 639px) {
  .product-gallery__thumbs {
    grid-template-columns: repeat(3, 1fr);   /* 3 → 3 miniaturas por linha, 2 linhas = 6 */
    grid-auto-rows: 60px;
  }
  .thumb { height: 60px; }
}