/* Product detail page (server-rendered) */
.pdp-page { background: var(--bg-color, #0d0c0a); color: var(--text-color, #f5f0e6); min-height: 100vh; }
.pdp-main { max-width: 1100px; margin: 0 auto; padding: 6.5rem 1.25rem 3rem; }
.pdp-main--narrow { max-width: 640px; }
.pdp-breadcrumbs { font-size: 0.85rem; opacity: 0.8; margin-bottom: 1.5rem; }
.pdp-breadcrumbs a { color: var(--accent, #d8812c); }
.pdp-layout { display: grid; gap: 2rem; grid-template-columns: 1fr; }
@media (min-width: 860px) {
  .pdp-layout { grid-template-columns: 1.05fr 0.95fr; align-items: start; }
}
.pdp-gallery { position: sticky; top: 5.5rem; }
.pdp-primary-img {
  width: 100%; height: auto; max-height: 70vh; object-fit: contain;
  border-radius: 8px; background: rgba(255,255,255,0.04); display: block;
}
.pdp-img-placeholder {
  aspect-ratio: 1; background: rgba(255,255,255,0.06); border-radius: 8px;
}
.pdp-thumbs { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.75rem; }
.pdp-thumb {
  border: 1px solid rgba(255,255,255,0.15); padding: 0; background: transparent;
  border-radius: 4px; cursor: pointer; overflow: hidden;
}
.pdp-thumb img { display: block; width: 64px; height: 64px; object-fit: cover; }
.pdp-type {
  text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.75rem;
  color: var(--accent, #d8812c); margin: 0 0 0.5rem;
}
.pdp-title {
  font-family: 'Playfair Display', serif; font-size: clamp(1.75rem, 4vw, 2.4rem);
  margin: 0 0 0.75rem; line-height: 1.2;
}
.pdp-price { font-size: 1.35rem; font-weight: 600; margin: 0 0 0.35rem; }
.pdp-stock { margin: 0 0 1.25rem; opacity: 0.85; font-size: 0.95rem; }
.pdp-stock--out { color: #ff6b6b; }
.pdp-buybox {
  display: flex; flex-direction: column; gap: 0.75rem;
  padding: 1.25rem; border: 1px solid rgba(255,255,255,0.1);
  border-radius: 10px; background: rgba(255,255,255,0.03); margin-bottom: 1.5rem;
}
.pdp-label { font-size: 0.85rem; opacity: 0.85; }
.pdp-variant-select {
  width: 100%; padding: 0.65rem 0.75rem; border-radius: 6px;
  border: 1px solid rgba(255,255,255,0.2); background: #1a1814; color: inherit;
}
.pdp-add, .pdp-checkout { width: 100%; }
.pdp-desc-heading { font-size: 1.1rem; margin: 0 0 0.75rem; }
.pdp-desc { line-height: 1.65; opacity: 0.92; }
.pdp-desc p { margin: 0 0 0.85rem; }
.pdp-back { margin-top: 2rem; font-size: 0.95rem; }
.pdp-back a { color: var(--accent, #d8812c); }
.pdp-status { margin-top: 0.5rem; font-size: 0.9rem; min-height: 1.25em; }
