/* ==========================================================================
   Localmed — responsive.css  (Mobile First → escala para cima)
   ========================================================================== */

/* ---------- ≥ 600px (tablets pequenos) ---------- */
@media (min-width: 600px) {
  .cat-grid { grid-template-columns: repeat(3, 1fr); }
  .products-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-strip .container { grid-template-columns: repeat(4, 1fr); }
  .benefits-grid { grid-template-columns: repeat(2, 1fr); }
  .testi-grid { grid-template-columns: repeat(2, 1fr); }
  .stat-cards { grid-template-columns: repeat(2, 1fr); }
  .form-grid { grid-template-columns: repeat(2, 1fr); }
  .field.full { grid-column: 1 / -1; }
  .stats-band-grid { grid-template-columns: repeat(4, 1fr); }
  .values-grid { grid-template-columns: repeat(2, 1fr); }
  .newsletter form { flex-wrap: nowrap; }
}

/* ---------- ≥ 860px (tablet / landscape) ---------- */
@media (min-width: 860px) {
  .hero-grid { grid-template-columns: 1.05fr .95fr; }
  .cat-grid { grid-template-columns: repeat(4, 1fr); }
  .products-grid { grid-template-columns: repeat(3, 1fr); }
  .benefits-grid { grid-template-columns: repeat(2, 1fr); }
  .testi-grid { grid-template-columns: repeat(3, 1fr); }
  .newsletter-card { grid-template-columns: 1.1fr 1fr; }
  .product-detail { grid-template-columns: 1fr 1fr; }
  .cart-layout { grid-template-columns: 1.7fr 1fr; }
  .checkout-layout { grid-template-columns: 1.6fr 1fr; }
  .catalog { grid-template-columns: 280px 1fr; }
  .account-layout { grid-template-columns: 270px 1fr; }
  .contact-layout { grid-template-columns: 1fr 1.3fr; }
  .about-hero { grid-template-columns: 1fr 1fr; }
  .auth-wrap { grid-template-columns: 1fr 1fr; }
  .auth-aside { display: flex; }
  .footer-grid { grid-template-columns: 1.6fr 1fr 1fr 1.3fr; }
  .stat-cards { grid-template-columns: repeat(3, 1fr); }
  .pd-trust { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- ≥ 1024px (desktop) ---------- */
@media (min-width: 1024px) {
  .benefits-grid { grid-template-columns: repeat(4, 1fr); }
  .values-grid { grid-template-columns: repeat(4, 1fr); }
  .stat-cards { grid-template-columns: repeat(4, 1fr); }
  .products-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }
}

/* ==========================================================================
   COMPORTAMENTO MOBILE — esconder nav desktop, mostrar drawer
   ========================================================================== */
@media (max-width: 1023px) {
  .main-nav { display: none; }
  .menu-toggle { display: grid; }
  .topbar-left span.hide-sm { display: none; }
}

@media (max-width: 859px) {
  :root { --header-h: 66px; }
  .search { order: 3; flex-basis: 100%; max-width: none; }
  .header-inner { flex-wrap: wrap; gap: 12px 16px; height: auto; padding-block: 12px; }
  .filter-toggle { display: inline-flex; }
  .filters { position: fixed; top: 0; left: 0; bottom: 0; width: min(86vw, 340px); z-index: 201; border-radius: 0; transform: translateX(-100%); transition: transform .35s var(--ease); overflow-y: auto; }
  .filters.open { transform: translateX(0); }
  .summary { position: static; }
  .hero-badge { display: none; }
  .topbar { display: none; }
}

@media (max-width: 599px) {
  .cat-grid { grid-template-columns: repeat(2, 1fr); }
  .products-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .pc-body { padding: 12px; }
  .pc-title { font-size: .9rem; }
  .pc-price .now { font-size: 1.05rem; }
  .hero-stats { gap: 20px; }
  .hero-stats .num { font-size: 1.5rem; }
  .cart-item { grid-template-columns: 70px 1fr; }
  .cart-item img { width: 70px; height: 70px; }
  .section { padding-block: 48px; }
  .to-top { bottom: 16px; left: 16px; }
  .toast-wrap { left: 16px; right: 16px; bottom: 16px; }
  .toast { min-width: 0; max-width: none; }
  .stepper .lbl { display: none; }
  .pd-trust { grid-template-columns: 1fr; }
}

@media (max-width: 380px) {
  .products-grid { grid-template-columns: 1fr; }
}

/* ---------- Acessibilidade: reduzir movimento ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .reveal { opacity: 1 !important; transform: none !important; }
}

/* ---------- Impressão ---------- */
@media print {
  .site-header, .site-footer, .topbar, .to-top, .toast-wrap, .pc-quick, .header-actions { display: none !important; }
  body { background: #fff; color: #000; }
}
