.shop-section { min-height: calc(100svh - 160px); }
.shop-container { max-width: 1080px; }
.shop-heading { font-size: clamp(3.5rem, 8vw, 6rem); line-height: 1; }
.shop-product {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  background: var(--bg-alt);
  border: 1px solid var(--border);
}
.shop-product-image { display: block; overflow: hidden; }
.shop-product-image img { width: 100%; height: 100%; object-fit: cover; }
.shop-product-info { align-self: center; padding: clamp(1.5rem, 4vw, 3rem); }
.shop-product h2 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.1; }
.shop-price { font-size: 1.6rem; color: var(--accent); margin: 1rem 0; font-weight: 700; }
.shop-description { max-width: 55ch; color: var(--text-muted); }
.shop-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
.shop-payment-note { font-size: 0.8rem; color: var(--text-muted); margin: 1rem 0 0; }
.shop-back { margin-bottom: 2rem; }
.shop-detail-title { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.1; }
.shop-details { margin-top: 1.5rem; }
.shop-details h2 { font-size: 1.35rem; }
.shop-details p { color: var(--text-muted); font-size: 0.95rem; }
.shop-overview { max-width: 72ch; margin: 3rem auto 0; }
.shop-overview p, .shop-overview li { color: var(--text-muted); }
.shop-overview ul { padding-left: 1.4rem; }
.shop-overview li { margin-bottom: 0.85rem; padding-left: 0.3rem; }
.shop-overview li::marker { color: var(--accent); }
@media (max-width: 600px) {
  .shop-product { grid-template-columns: 1fr; }
  .shop-product-image img { max-height: 380px; object-position: center 55%; }
  .shop-actions .btn { text-align: center; flex: 1 1 auto; }
}
