/* ============================================================
   TIDYUPQUICK THEME — RESPONSIVE / MOBILE-FIRST STYLES
   ============================================================ */

/* ---- 1280px — large desktop ---- */
@media (max-width: 1280px) {
  :root { --max-width: 1100px; }
  .categories-grid { grid-template-columns: repeat(5, 1fr); gap: 1rem; }
}

/* ---- 1024px — tablet landscape / small desktop ---- */
@media (max-width: 1024px) {
  .categories-grid { grid-template-columns: repeat(3, 1fr); }
  .reviews-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .content-sidebar-wrap { grid-template-columns: 1fr; }
  .sidebar { position: static; }
  .contact-grid { grid-template-columns: 1fr; }
}

/* ---- 768px — tablet portrait ---- */
@media (max-width: 768px) {
  :root { --header-height: 64px; }

  .main-nav { display: none; }
  .header-actions .btn.nav-subscribe { display: none; }
  .hamburger { display: flex; }

  .hero { min-height: 80vh; }
  .hero-actions { flex-direction: column; align-items: flex-start; }
  .hero-stats { gap: 1.5rem; }

  .stats-bar-inner { flex-direction: column; gap: 1.5rem; }
  .stat-divider { width: 60px; height: 1px; }

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

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

  .newsletter-form { flex-direction: column; }
  .newsletter-form input { border-radius: var(--radius-sm); }
  .newsletter-form .btn { border-radius: var(--radius-sm); width: 100%; justify-content: center; }

  .section { padding: 3.5rem 0; }
}

/* ---- 640px — large mobile ---- */
@media (max-width: 640px) {
  h1 { font-size: 2rem; }
  h2 { font-size: 1.5rem; }

  .categories-grid { grid-template-columns: repeat(2, 1fr); }
  .category-card { padding: 1.25rem 0.85rem; }
  .category-icon { width: 48px; height: 48px; font-size: 1.25rem; }

  .hero-title { font-size: 2.2rem; }
  .stat-item .number { font-size: 1.75rem; }

  .brands-logos { gap: 1.5rem; }
  .brands-logos .brand-logo { font-size: 0.9rem; }

  .filter-tabs { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 0.5rem; }

  .pagination { gap: 0.3rem; }
  .page-numbers { width: 34px; height: 34px; font-size: 0.8rem; }
}

/* ---- 480px — small mobile ---- */
@media (max-width: 480px) {
  :root { --header-height: 58px; }
  .container { padding: 0 1rem; }

  .categories-grid { grid-template-columns: 1fr 1fr; gap: 0.75rem; }
  .category-title { font-size: 0.82rem; }
  .category-desc { display: none; }

  .hero { min-height: 75vh; }
  .hero-badge { font-size: 0.7rem; }
  .hero-title { font-size: 1.85rem; }
  .hero-description { font-size: 0.95rem; }
  .hero-stats { gap: 1rem; }
  .hero-stat-item .stat-number { font-size: 1.35rem; }

  .review-card-image { height: 170px; }

  .back-to-top { bottom: 1.25rem; right: 1.25rem; width: 40px; height: 40px; }

  .section { padding: 2.75rem 0; }
  .section-title { font-size: 1.35rem; }
}

/* ---- 360px — very small mobile ---- */
@media (max-width: 360px) {
  .categories-grid { grid-template-columns: 1fr; }
  .hero-title { font-size: 1.65rem; }
  .btn-lg { padding: 0.85rem 1.5rem; font-size: 0.9rem; }
}

/* ---- Print styles ---- */
@media print {
  .site-header, .site-footer, .sidebar, .newsletter-section,
  .back-to-top, .hamburger, .mobile-nav { display: none !important; }
  .page-content { margin-top: 0; }
  .content-sidebar-wrap { grid-template-columns: 1fr; }
  body { font-size: 12pt; color: #000; }
  a { color: #000; text-decoration: underline; }
}
