/* ==========================================================================
   Guangzhoulssc — Responsive rules (media queries only)
   Breakpoints: 1200 laptop, 1024 tablet, 768 large mobile, 560 mobile, 400 small
   ========================================================================== */

/* ---------- Laptop ---------- */
@media (max-width: 1200px) {
  .container { padding-inline: 18px; }
  .grid--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .shop-layout { grid-template-columns: 236px minmax(0, 1fr); gap: 22px; }
  .footer-grid { gap: 1.6rem; }
}

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
  :root { --header-h: 66px; }

  .main-nav { display: none; }
  .hamburger { display: grid; }

  .header-main { grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px; }

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

  .product-layout { grid-template-columns: 1fr; gap: 28px; }
  .cart-layout { grid-template-columns: 1fr; }
  .summary { position: static; }

  .shop-layout { grid-template-columns: 1fr; }
  .filters {
    position: fixed;
    top: 0; right: 0; bottom: 0;
    width: min(88vw, 330px);
    z-index: 200;
    border-radius: 0;
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform .35s var(--ease);
  }
  .filters.is-open { transform: translateX(0); }
  .filter-toggle { display: inline-flex; }

  .promo-grid { grid-template-columns: 1fr; }
  .split { grid-template-columns: 1fr; gap: 26px; }
  .newsletter { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .value-strip { grid-template-columns: repeat(2, 1fr); }
  .qv { grid-template-columns: 1fr; }
  .qv-media { aspect-ratio: 16 / 10; }
  .stat-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- Large mobile ---------- */
@media (max-width: 768px) {
  .topbar .container span.hide-sm { display: none; }
  .header-search { display: none; }
  .header-main { grid-template-columns: auto 1fr; }
  .mobile-search { display: block; padding-bottom: .8rem; }

  .hero-track { min-height: 460px; }
  .hero-content { padding: 2.5rem 0 4.5rem; }
  .hero-nav { display: none; }

  .section-head { flex-direction: column; align-items: flex-start; gap: .6rem; }
  .grid--2 { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }

  .cart-item { grid-template-columns: 76px minmax(0, 1fr); }
  .cart-item img { width: 76px; height: 76px; }
  .ci-actions { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: space-between; }

  .spec-table td:first-child { width: 45%; }
  .thumbs { grid-template-columns: repeat(4, 1fr); gap: 8px; }
  .footer-bottom { justify-content: center; text-align: center; }
}

/* ---------- Mobile ---------- */
@media (max-width: 560px) {
  .grid { gap: 14px; }
  .grid--4, .grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pc-body { padding: .8rem .8rem 1rem; }
  .pc-title { font-size: .9rem; }
  .price { font-size: 1rem; }
  .pc-float { opacity: 1; transform: none; }

  .value-strip { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .stat-grid { grid-template-columns: 1fr 1fr; }

  .btn { padding: .72rem 1.2rem; }
  .buy-row { flex-direction: column; align-items: stretch; }
  .buy-row .qty { align-self: flex-start; }

  .toast-stack { left: 12px; right: 12px; bottom: 12px; }
  .to-top { right: 14px; bottom: 74px; }
}

/* ---------- Small mobile ---------- */
@media (max-width: 400px) {
  h1 { font-size: 1.8rem; }
  .grid--4, .grid--3 { grid-template-columns: 1fr; }
  .logo-text span { display: none; }
  .icon-btn { width: 40px; height: 40px; }
  .container { padding-inline: 14px; }
  .thumbs { grid-template-columns: repeat(3, 1fr); }
}

/* ---------- Print ---------- */
@media print {
  .site-header, .site-footer, .to-top, .toast-stack { display: none !important; }
  body { background: #fff; }
}
