.product-detail-section {
  padding: clamp(34px, 5vw, 72px) 6vw 78px;
  background: linear-gradient(180deg, #fbf8f2 0%, #fff 52%);
}

.product-detail-grid {
  width: min(1180px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr);
  gap: clamp(34px, 6vw, 78px);
  align-items: start;
}

.product-gallery { min-width: 0; }
.product-main-image {
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: #f1efeb;
  border: 1px solid var(--line);
  border-radius: 24px;
}
.product-main-image img { width: 100%; height: 100%; object-fit: contain; }
.product-thumbnails { display: flex; gap: 10px; margin-top: 14px; overflow-x: auto; padding-bottom: 4px; }
.product-thumb {
  flex: 0 0 74px;
  overflow: hidden;
  padding: 0;
  aspect-ratio: 4 / 5;
  background: #f1efeb;
  border: 2px solid transparent;
  border-radius: 12px;
  cursor: pointer;
}
.product-thumb img { width: 100%; height: 100%; object-fit: cover; }
.product-thumb.active { border-color: var(--brand); }
.product-thumbnails[data-single-image="true"] .product-thumb { cursor: default; }

.product-summary { padding-top: clamp(2px, 2vw, 24px); }
.product-summary .eyebrow { margin-bottom: 12px; color: var(--brand); font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.product-summary h1 { margin: 0 0 16px; font: 800 clamp(30px, 4vw, 48px)/1.12 Sora, Arial, sans-serif; letter-spacing: -.025em; }
.product-sku { margin: 0 0 18px; color: var(--brand-dark); font-size: 17px; }
.product-intro { margin: 0 0 26px; color: var(--muted); font-size: 16px; }
.product-facts { margin: 0 0 24px; border-block: 1px solid var(--line); }
.product-facts > div { display: grid; grid-template-columns: 145px 1fr; gap: 18px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.product-facts > div:last-child { border-bottom: 0; }
.product-facts dt { color: var(--muted); font-size: 13px; font-weight: 700; }
.product-facts dd { margin: 0; font-weight: 650; }
.product-facts ul { display: flex; flex-wrap: wrap; gap: 5px 12px; margin: 0; padding: 0; list-style: none; }

.product-inquiry-button {
  width: 100%;
  min-height: 52px;
  padding: 12px 18px;
  color: #fff;
  background: var(--brand);
  border: 1px solid var(--brand);
  border-radius: 12px;
  font-weight: 800;
  cursor: pointer;
}
.product-inquiry-button:hover { background: var(--brand-dark); border-color: var(--brand-dark); }
.product-inquiry-button.selected { color: #176039; background: #def5e5; border-color: #a5d9b6; }
.product-inquiry-status { min-height: 24px; margin: 8px 0 0; color: #176039; font-size: 13px; }
.product-secondary-actions { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 16px; }
.product-secondary-actions a, .text-link { color: var(--brand-dark); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

.related-product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.related-product-card { overflow: hidden; color: var(--text); background: #fff; border: 1px solid var(--line); border-radius: 17px; }
.related-product-card img { width: 100%; aspect-ratio: 4 / 5; object-fit: contain; background: #f1efeb; }
.related-product-card span { display: block; padding: 15px; }
.related-product-card strong { display: block; font: 750 14px/1.45 Sora, Arial, sans-serif; }
.related-product-card small { display: block; margin-top: 7px; color: var(--muted); }
.related-product-card:hover { transform: translateY(-2px); border-color: #dfc8bd; }
.product-context { text-align: center; }
.product-context p { color: var(--muted); }

@media (max-width: 860px) {
  .product-detail-section { padding-inline: 5vw; }
  .product-detail-grid { grid-template-columns: 1fr; gap: 30px; }
  .product-main-image { max-height: 72vh; }
  .product-summary { padding-top: 0; }
  .related-product-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px) {
  .product-detail-section { padding-top: 24px; padding-bottom: 52px; }
  .product-summary { padding-right: 80px; }
  .product-summary h1 { font-size: 28px; }
  .product-facts > div { grid-template-columns: 1fr; gap: 4px; }
  .related-product-grid { grid-template-columns: 1fr; }
  .product-secondary-actions { display: grid; }
}
