/* ============================================================
   SHOP.PIEDRASANTA.SPACE — Responsive
   Mobile-first breakpoints
   ============================================================ */

/* ── Tablet: ≥ 768px ── */
@media (min-width: 768px) {
  .nav__hamburger { display: none; }
  .nav__links     { display: flex; }
  .nav__drawer    { display: none !important; }
  .buy-bar        { display: none !important; }
}

/* ── Small desktop: < 1080px ── */
@media (max-width: 1080px) {
  .product-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .shop-hero__inner { gap: var(--sp-12); }

  .footer__grid--shop { grid-template-columns: 1fr 1fr; }
}

/* ── Tablet: < 960px ── */
@media (max-width: 960px) {
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .product {
    grid-template-columns: 1fr;
    gap: var(--sp-8);
  }

  .product__gallery { position: static; }

  .product__stage { max-width: 640px; }

  .cart-layout { grid-template-columns: 1fr; }

  .cart-summary { position: static; }

  .trust-strip__grid { grid-template-columns: 1fr; }

  .trust-strip__item { border-left: 0; border-top: 1px solid var(--border-subtle); }
  .trust-strip__item:first-child { border-top: 0; }
}

/* ── Mobile: < 768px ── */
@media (max-width: 767px) {
  :root { --gutter: 1.25rem; }

  .nav__links { display: none; }
  .nav__hamburger { display: flex; }
  .nav__drawer { display: flex; }

  .nav__studio { display: none; }

  .nav__logo { font-size: var(--text-lg); gap: var(--sp-2); }
  .nav__logo-sub { font-size: 9px; padding-left: var(--sp-2); }
  .nav__cart { padding: var(--sp-2) var(--sp-3); font-size: var(--text-xs); }

  /* Hero */
  .shop-hero { padding-block: var(--sp-12) var(--sp-16); }
  .shop-hero__inner { grid-template-columns: 1fr; gap: var(--sp-12); }
  .shop-hero__title { font-size: clamp(var(--text-3xl), 10vw, var(--text-4xl)); }
  .shop-hero__sub { font-size: var(--text-base); }
  .shop-hero__actions { flex-direction: column; align-items: stretch; margin-bottom: var(--sp-8); }
  .shop-hero__actions .btn { justify-content: center; }
  .shop-hero__meta { gap: var(--sp-4); font-size: 10px; }

  .collage { max-width: 380px; }

  /* Sections */
  .section { padding-block: var(--sp-16); }
  .section__head { flex-direction: column; align-items: flex-start; gap: var(--sp-4); margin-bottom: var(--sp-8); }
  .section__link { align-self: flex-start; }

  /* Grid */
  .product-grid,
  .product-grid--four { grid-template-columns: 1fr; gap: var(--sp-4); }

  .product-card__body { padding: var(--sp-4); }

  /* Page head */
  .page-head { padding-block: var(--sp-12) var(--sp-8); }
  .page-head__body { font-size: var(--text-base); }

  /* Filters */
  .filters { gap: var(--sp-1); }
  .filters__count { width: 100%; margin-left: 0; margin-top: var(--sp-2); }

  /* Product detail */
  .product { gap: var(--sp-6); padding-bottom: var(--sp-16); }
  .product__thumbs { grid-template-columns: repeat(3, 1fr); }
  .product__title { font-size: var(--text-3xl); }

  .buy-row { flex-wrap: wrap; }
  .buy-row .qty { flex: 0 0 auto; }
  .buy-row .btn { flex: 1 1 100%; }

  .product__gallery { margin-inline: calc(var(--gutter) * -1); }
  .product__stage { border-inline: 0; max-width: none; }
  .product__thumbs { padding-inline: var(--gutter); }

  /* Sticky buy bar */
  .buy-bar { display: flex; }
  .page--product { padding-bottom: 76px; }

  /* Cart page */
  .cart-lines .cart-line { grid-template-columns: 72px minmax(0, 1fr); }
  .cart-summary { padding: var(--sp-4); }

  /* Success */
  .success { padding-block: var(--sp-12) var(--sp-16); }
  .order-card { padding: var(--sp-4); }
  .success__actions .btn { width: 100%; justify-content: center; }

  /* Footer */
  .footer__grid--shop { grid-template-columns: 1fr; gap: var(--sp-8); }
  .footer__bottom { flex-direction: column; gap: var(--sp-2); align-items: flex-start; }

  /* Toast */
  .toast { width: calc(100vw - 2 * var(--gutter)); justify-content: center; bottom: var(--sp-4); }
}

/* ── Very small: < 400px ── */
@media (max-width: 400px) {
  .nav__logo-sub { display: none; }
  .shop-hero__title { font-size: var(--text-2xl); }
}
