/* Shop page — product sections for made-to-order lighting fixtures. */

.shop-product { padding: 90px 0; }
.shop-product--deep { background: var(--col-bg-deep); }

.shop-product-head { max-width: 640px; margin: 0 auto 40px; text-align: center; }
.shop-product-head .g-sec-num { display: block; font-family: 'IBM Plex Mono', monospace; color: var(--col-accent); font-size: 13px; letter-spacing: .1em; margin-bottom: 10px; }
.shop-product-desc { color: var(--col-muted); font-size: 16px; line-height: 1.7; margin: 16px auto 26px; }
.shop-enquire { display: inline-flex; }

.shop-gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 200px;
  gap: 10px;
}
.shop-gallery-main { grid-column: span 2; grid-row: span 2; }
.shop-gallery a { display: block; overflow: hidden; border-radius: 4px; background: var(--col-bg-panel); }
.shop-gallery img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s var(--ease-out, ease); }
.shop-gallery a:hover img { transform: scale(1.06); }
.shop-gallery--single { grid-template-columns: 1fr; grid-auto-rows: 480px; max-width: 560px; margin: 0 auto; }
.shop-gallery--single .shop-gallery-main { grid-column: span 1; grid-row: span 1; }

@media (max-width: 820px) {
  .shop-gallery { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 160px; }
  .shop-gallery-main { grid-column: span 2; grid-row: span 2; }
  .shop-product { padding: 60px 0; }
}
