.detail-gallery { display: grid; gap: 10px; }
.detail-gallery-hero { display: grid; min-height: 220px; max-height: 420px; padding: 12px; place-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--white); }
.detail-gallery-hero img { display: block; width: 100%; max-height: 390px; object-fit: contain; }
.detail-gallery-fallback { margin: 0; color: var(--muted); text-align: center; }
.detail-gallery-thumbnails { display: flex; gap: 8px; overflow-x: auto; padding: 2px 2px 6px; }
.detail-gallery-thumbnail { flex: 0 0 78px; width: 78px; height: 68px; padding: 4px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); }
.detail-gallery-thumbnail[aria-pressed="true"] { border: 2px solid var(--accent); }
.detail-gallery-thumbnail img { display: block; width: 100%; height: 100%; object-fit: contain; }
.detail-identifiers { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; margin: 2px 0; padding: 12px 14px; border-radius: 12px; background: var(--soft); }
.detail-identifiers span { color: var(--muted); }
.detail-identifiers strong { text-align: right; overflow-wrap: anywhere; }
.detail-description { margin: 0; }
.detail-specifications-heading { margin: 6px 0 -4px; font-size: 1.05rem; }
.detail-specifications { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 0 14px; margin: 0; }
.detail-specifications dt, .detail-specifications dd { margin: 0; padding: 9px 0; border-bottom: 1px solid var(--line); }
.detail-specifications dt { color: var(--muted); }
.detail-specifications dd { font-weight: 700; }
.detail-catalog-note { margin: 0; padding: 12px 14px; border-left: 3px solid var(--accent); border-radius: 0 10px 10px 0; background: var(--soft); }
.detail-source { color: var(--accent-dark); font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.product-gallery-data[hidden] { display: none; }
@media (max-width: 520px) {
  .detail-dialog .dialog-head { gap: 12px; }
  .detail-dialog .dialog-head > div { min-width: 0; }
  .detail-dialog .dialog-head h2 { font-size: 1.45rem; overflow-wrap: anywhere; }
  .detail-dialog .dialog-close { flex: 0 0 auto; }
  .detail-gallery-hero { min-height: 180px; max-height: 300px; }
  .detail-gallery-hero img { max-height: 270px; }
  .detail-specifications { grid-template-columns: 1fr; gap: 0; }
  .detail-specifications dt { padding-bottom: 1px; border-bottom: 0; font-size: .87rem; }
  .detail-specifications dd { padding-top: 0; }
  .detail-identifiers { grid-template-columns: 1fr; gap: 0; }
  .detail-identifiers strong { text-align: left; margin-bottom: 7px; }
  .detail-identifiers strong:last-child { margin-bottom: 0; }
}
