/* Product pages generated by make-products.py */
.pp-area { padding: 140px 0 80px; }
.pp-crumbs { font-size: 14px; color: #6b6b6b; margin-bottom: 24px; }
.pp-crumbs a { color: #b0522c; }
.pp-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.pp-main { width: 100%; height: auto; aspect-ratio: 1/1; object-fit: cover; border-radius: 20px; background: #f6efe9; }
.pp-thumbs { display: flex; gap: 10px; margin-top: 12px; }
.pp-thumb { padding: 0; border: 2px solid transparent; border-radius: 12px; background: none; cursor: pointer; }
.pp-thumb:hover, .pp-thumb:focus-visible { border-color: #b0522c; }
.pp-thumb img { width: 76px; height: 76px; object-fit: cover; border-radius: 10px; display: block; }
.pp-title { margin: 8px 0 12px; font-size: 34px; line-height: 1.2; }
.pp-price { font-size: 24px; font-weight: 600; color: #1a1a1a; margin: 0 0 4px; }
.pp-price-note { color: #b0522c; }
.pp-note { font-size: 14px; color: #6b6b6b; margin: 0 0 20px; }
.pp-info p { font-size: 16px; line-height: 1.7; color: #3d3d3d; }
.pp-info h2 { font-size: 20px; margin: 24px 0 8px; }
.pp-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0; }
.pp-wa { padding: 14px 26px; border-radius: 999px; background: #157a40; color: #fff; font-weight: 600; text-decoration: none; }
.pp-wa:hover { background: #0f5e31; color: #fff; }
.pp-cart { padding: 14px 24px; border-radius: 999px; border: 1.5px solid #1a1a1a; background: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.pp-cart:hover { background: #1a1a1a; color: #fff; }
.pp-ship { background: #fff6f0; border-radius: 16px; padding: 18px 20px; font-size: 15px; }
.pp-ship p { margin: 0 0 8px; font-size: 15px; }
.pp-ship a { color: #b0522c; font-weight: 600; text-decoration: underline; }
.pp-rel-h { margin: 64px 0 20px; }
.pp-rel-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 32px; }
.pp-rel { display: block; color: inherit; text-decoration: none; }
.pp-zoom { display: block; overflow: hidden; border-radius: 16px; }
.pp-rel img { display: block; width: 100%; aspect-ratio: 1/1; object-fit: cover; }
.pp-rel-title { display: block; font-weight: 600; margin-top: 10px; line-height: 1.35; }
.pp-rel-price { display: block; color: #6b6b6b; font-size: 14px; margin-top: 4px; }
@media screen and (max-width: 767px) {
  .pp-area { padding: 110px 0 56px; }
  .pp-grid { grid-template-columns: 1fr; gap: 24px; }
  .pp-title { font-size: 26px; }
  .pp-rel-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
  .pp-rel-grid .pp-rel:nth-child(3) { display: none; }
}

/* gentle zoom on hover, desktop only: touch screens have no hover, reduced motion skips it */
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .pp-rel img { transition: transform .5s cubic-bezier(.2,.7,.2,1); }
  .pp-rel:hover img, .pp-rel:focus-visible img { transform: scale(1.06); }
}
