/* ==========================================================================
   Carry Company — Responsive
   ========================================================================== */
@media (max-width: 1180px) {
  .product-grid, .shop-grid { grid-template-columns: repeat(3, 1fr); }
  .nav-inner { padding: 14px 24px; }
  .section { padding: var(--sp-9) 24px; }
}

@media (max-width: 960px) {
  .nav-links { display: none; }
  .hamburger { display: flex; }
  .hero-inner { grid-template-columns: 1fr; gap: 48px; padding: 20px 0; }
  .hero-right { order: -1; }
  .product-showcase { max-width: 400px; }
  .story-grid { grid-template-columns: 1fr; gap: 48px; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 32px; }
  .product-grid, .shop-grid { grid-template-columns: repeat(2, 1fr); }
  .shop-layout { grid-template-columns: 1fr; }
  .filters { position: static; }
  .pdp { grid-template-columns: 1fr; gap: 40px; }
  .pdp-info { position: static; }
  .buy-bar { display: flex; }
}

@media (max-width: 640px) {
  body { font-size: 14px; }
  .announce-bar { font-size: 10px; }
  .nav-inner { padding: 12px 16px; gap: 8px; }
  .brand-name { display: none; }
  .hero { padding: 40px 20px 40px; }
  .section { padding: var(--sp-8) 20px; }
  .section-head { margin-bottom: 32px; }
  .hero-trust { gap: 28px; }
  .trust-num { font-size: 30px; }
  .btn { padding: 14px 22px; font-size: 13px; }
  .story-visual { aspect-ratio: 1; }
  .sv-card { font-size: 20px; padding: 16px; }
  .story-stats { gap: 28px; }
  .stat-num { font-size: 36px; }
  .footer-top { grid-template-columns: 1fr; gap: 28px; }
  .footer { padding: var(--sp-8) 20px var(--sp-5); }
  .shop-layout, .page-header, .pdp { padding-left: 20px; padding-right: 20px; }
  .pdp-gallery { grid-template-columns: 70px 1fr; }
  .product-grid, .shop-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .pc-info { padding: 10px 2px 4px; }
  .pc-name { font-size: 13px; }
  .pc-price-now { font-size: 13px; }
  .spec-1, .spec-2, .spec-3 { display: none; }
}
