/* Products share the brand reference fan and retain their softer corners. */
.product-deck .brand-reference figure,
.product-deck .reference-card { border-radius: var(--product-photo-radius, 28px); }
.product-deck .brand-reference img { inset: 0; width: 100%; height: 100%; object-fit: cover; }
.product-deck .brand-reference figure { max-width: none; }
.product-deck .brand-reference h3 { font-size: 15px; font-weight: 500; line-height: 1.5; margin: 0 0 5px; }
.product-deck.is-ready .reference-card { cursor: zoom-in; }
.product-deck .reference-selection { max-width: 750px; }
.product-image-link { display: block; width: 100%; height: 100%; }
.product-viewer:not([open]) { display: none; }
.product-viewer {
  width: min(1160px, calc(100vw - 48px));
  height: min(980px, calc(100svh - 48px));
  max-width: none;
  max-height: none;
  margin: auto;
  padding: 22px;
  border: 1px solid #ffffffb3;
  border-radius: 28px;
  background: #fafafa;
  color: #1d1d1f;
  box-shadow: 0 24px 90px #0003;
  overflow: hidden;
  overscroll-behavior: contain;
}
.product-viewer[open] { display: flex; flex-direction: column; gap: 18px; }
.product-viewer::backdrop { background: #15151b94; -webkit-backdrop-filter: blur(9px); backdrop-filter: blur(9px); }
.product-viewer-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex: none; }
.product-viewer-header h2 { font-size: 19px; line-height: 1.4; font-weight: 600; letter-spacing: -.025em; }
.product-viewer-category { font-size: 12px; line-height: 1.5; color: #666; margin-top: 4px; }
.product-viewer-close { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border: 1px solid #e2e2e4; border-radius: 50%; padding: 0; background: #fff; color: #232326; cursor: pointer; }
.product-viewer-close svg { width: 18px; height: 18px; }
.product-viewer-close:hover { background: #ececee; }
.product-viewer-close:focus-visible { outline: 2px solid #284cef; outline-offset: 3px; }
.product-viewer-media { position: relative; display: flex; align-items: center; justify-content: center; flex: 1; min-height: 0; overflow: hidden; border-radius: 18px; background: #f0f0f2; }
.product-viewer-media img { width: 100%; height: 100%; object-fit: contain; user-select: none; -webkit-user-drag: none; }
.product-viewer-status { position: absolute; bottom: 16px; left: 16px; right: 16px; padding: 12px 16px; border-radius: 12px; background: #fffffff2; color: #333; font-size: 14px; line-height: 1.6; text-align: center; }
.product-viewer-status[hidden] { display: none; }
.product-viewer-open, .product-viewer-open body { overflow: hidden; }
@media (max-width: 620px) {
  .product-viewer { width: calc(100vw - 24px); height: calc(100svh - 24px); padding: 16px; border-radius: 22px; }
  .product-viewer[open] { gap: 14px; }
  .product-viewer-header { gap: 12px; }
  .product-viewer-header h2 { font-size: 16px; }
  .product-viewer-category { font-size: 11px; }
  .product-viewer-media { border-radius: 14px; }
  .product-deck .reference-deck-footer { flex-wrap: wrap; }
}
