main > [hidden] { display: none !important; }
.product-photo-link { display: block; width: 100%; height: 100%; }
.product-photo-link img { object-fit: contain; }
.product-title a { color: inherit; text-decoration: none; }
.product-title a:hover { color: var(--gold); }
.product-detail { max-width: 1240px; margin: auto; padding: 40px 24px 80px; min-height: 65vh; }
.detail-back { display: inline-block; margin-bottom: 32px; color: var(--muted); }
.detail-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 64px; align-items: start; }
.detail-photo { width: 100%; height: min(65vh, 680px); padding: 18px; border: 1px solid var(--line); background: var(--panel); cursor: zoom-in; }
.detail-photo img { width: 100%; height: 100%; object-fit: contain; }
.gallery-caption, .gallery-hint, .detail-shipping { font-size: 13px; color: var(--muted); line-height: 1.6; }
.photo-thumbnails { display: flex; gap: 10px; overflow-x: auto; padding: 4px 0 10px; }
.photo-thumbnails button { flex: 0 0 76px; height: 92px; padding: 4px; border: 1px solid var(--line); background: var(--panel); cursor: pointer; }
.photo-thumbnails button[aria-pressed="true"] { border: 2px solid var(--gold); }
.photo-thumbnails img { width: 100%; height: 100%; object-fit: contain; }
.detail-info h1 { font-family: var(--display); font-size: clamp(28px, 3.5vw, 46px); line-height: 1.12; margin: 14px 0 20px; }
.detail-meta { color: var(--muted); }
.detail-price { font-size: 28px; margin: 24px 0; }
.detail-add { width: 100%; margin-top: 16px; }
.detail-add:disabled { opacity: .5; cursor: not-allowed; }
.detail-info h2 { margin-top: 38px; font-size: 18px; }
.detail-description { white-space: pre-line; line-height: 1.8; color: var(--silver); }
.detail-no-photo { min-height: 350px; display: grid; place-items: center; border: 1px solid var(--line); color: var(--muted); padding: 20px; }
.photo-viewer { width: 96vw; max-width: 1500px; height: 94dvh; max-height: 94dvh; padding: 0; border: 1px solid var(--line); background: var(--obsidian); color: var(--ivory); }
.photo-viewer::backdrop { background: rgba(0,0,0,.9); }
.viewer-toolbar { display: flex; align-items: center; justify-content: center; gap: 12px; height: 62px; padding: 8px; border-bottom: 1px solid var(--line); }
.viewer-toolbar button { background: var(--panel); color: var(--ivory); border: 1px solid var(--line); min-height: 40px; padding: 8px 12px; cursor: pointer; }
.viewer-stage { height: calc(100% - 62px); overflow: auto; }
.viewer-stage img { display: block; width: 100%; height: 100%; object-fit: contain; }
.zoomed .viewer-stage img { width: auto; height: auto; max-width: none; min-width: 150%; }
@media (max-width: 700px) {
  .product-detail { padding: 24px 16px 50px; }
  .detail-layout { grid-template-columns: 1fr; gap: 28px; }
  .detail-photo { height: 55vh; }
  .viewer-toolbar { gap: 5px; font-size: 12px; }
  .viewer-toolbar button { padding: 6px 9px; }
}
