.product-detail { padding-bottom:72px; }
.product-detail__grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(380px,1.05fr); gap:56px; align-items:start; }
.product-visual { position:sticky; top:24px; display:grid; min-height:520px; place-items:center; overflow:hidden; border:1px solid var(--color-border); border-radius:22px; background:linear-gradient(145deg,#f7f9fc,#edf3fa); color:#8a9caf; font-family:var(--font-heading); font-size:var(--text-xl); font-weight:800; text-align:center; }
.product-summary__category { color:var(--color-secondary); font-size:var(--text-sm); font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.product-summary h1 { margin-top:8px; font-size:clamp(2rem,4vw,3.4rem); letter-spacing:-.03em; }
.product-summary__description { margin-top:16px; color:var(--color-neutral); font-size:var(--text-lg); }
.product-price { margin-top:24px; padding:20px; border:1px solid var(--color-border); border-radius:var(--radius-lg); background:#f8fafc; }
.product-price__label { color:var(--color-neutral); font-size:var(--text-sm); }
.product-price__value { display:block; margin-top:4px; font-family:var(--font-heading); font-size:2rem; font-weight:800; }
.option-preview { display:grid; gap:12px; margin-top:24px; }
.option-preview__item { padding:16px 18px; border:1px solid var(--color-border); border-radius:var(--radius-md); background:#fff; }
.option-preview__label { color:var(--color-neutral); font-size:var(--text-xs); font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.option-preview__value { margin-top:4px; font-weight:700; }
.spec-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.spec-item { padding:20px; border:1px solid var(--color-border); border-radius:var(--radius-md); background:#fff; }
.spec-item__label { color:var(--color-neutral); font-size:var(--text-xs); text-transform:uppercase; letter-spacing:.05em; }
.spec-item__value { margin-top:6px; font-weight:700; }
@media (max-width:900px) { .product-detail__grid { grid-template-columns:1fr; } .product-visual { position:relative; top:auto; min-height:360px; } }
@media (max-width:600px) { .spec-grid { grid-template-columns:1fr; } }

/* Phase 5: product configurator */
.product-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-configurator {
  margin-top: 28px;
  padding: 24px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-white);
  box-shadow: var(--shadow-sm);
}

.product-configurator__header {
  margin-bottom: 20px;
}

.product-configurator__header h2 {
  margin-top: 4px;
  font-size: var(--text-xl);
}

.product-configurator__eyebrow {
  color: var(--color-secondary);
  font-size: var(--text-xs);
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.product-options-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.product-option-field {
  display: grid;
  gap: 7px;
}

.product-option-field label,
.product-artwork-choice legend {
  color: var(--color-primary);
  font-size: var(--text-sm);
  font-weight: 700;
}

.product-artwork-choice {
  margin: 20px 0 0;
  border: 0;
  padding: 0;
}

.product-artwork-choice legend {
  margin-bottom: 8px;
}

.product-price-box {
  margin-top: 20px;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: #f8fafc;
}

.product-price-box__primary {
  display: grid;
  gap: 3px;
  padding: 20px;
  border-bottom: 1px solid var(--color-border);
}

.product-price-box__primary > span,
.product-price-row > span {
  color: var(--color-neutral);
  font-size: var(--text-sm);
}

.product-price-box__primary strong {
  font-family: var(--font-heading);
  font-size: 1.85rem;
}

.product-price-box__primary small {
  color: var(--color-neutral);
}

.product-price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 12px 20px;
  border-bottom: 1px solid var(--color-border);
}

.product-price-row:last-child {
  border-bottom: 0;
}

.product-price-row--total {
  background: rgba(29, 88, 184, .06);
}

.product-price-row--total strong {
  color: var(--color-secondary);
  font-family: var(--font-heading);
  font-size: var(--text-xl);
}

.product-promotions {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.product-promotion {
  border: 1px solid rgba(201, 154, 46, .3);
  border-radius: var(--radius-md);
  background: rgba(201, 154, 46, .08);
  padding: 10px 12px;
  color: #6c5114;
  font-size: var(--text-sm);
  font-weight: 700;
}

.product-configurator__actions {
  margin-top: 20px;
}

.product-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 600px) {
  .product-configurator {
    padding: 18px;
  }

  .product-options-grid {
    grid-template-columns: 1fr;
  }

  .product-price-row {
    align-items: flex-start;
  }
}
