/* Real product models share the collection's existing composition. */
.collection-product-photo { display: block; width: 100%; height: 100%; }
.collection-product[data-collection-model] { cursor: default; }
.collection-model-viewer { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; pointer-events: none; --poster-color: transparent; --progress-bar-color: var(--accent); transition: opacity 300ms; }
.collection-model-viewer::part(default-progress-bar) { display: none; }
.collection-product[data-model-state="ready"] .collection-model-viewer { opacity: 1; pointer-events: auto; }
.collection-product[data-model-state="ready"] .collection-product-photo { visibility: hidden; }
.collection-product:is([data-model-state="loading"], [data-model-state="error"]) .collection-enlarge { visibility: hidden; }
.collection-model-controls { position: absolute; left: 50%; bottom: -56px; transform: translateX(-50%); display: flex; gap: 8px; z-index: 4; visibility: hidden; }
.collection-product[data-model-state="ready"] .collection-model-controls { visibility: visible; }
.collection-model-controls button { display: inline-flex; align-items: center; justify-content: center; padding: 0; width: 44px; height: 44px; border: 1px solid #18221f26; border-radius: 50%; background: #ffffffcc; backdrop-filter: blur(12px); }
.collection-model-controls button:hover { background: #fff; }
.collection-model-controls svg { width: 17px; height: 17px; }
.collection-model-status { position: absolute; left: 0; right: 0; bottom: -34px; text-align: center; color: var(--muted); font-size: 12px; pointer-events: none; }
.collection-product[data-model-state="ready"] .collection-model-status { width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.scene-collection[data-zone="women"].has-products .collection-background { background: radial-gradient(ellipse at 40% 38%, #fff4f5 0%, #f6e3ea 46%, #f0d1df 100%); }
@media (max-width: 700px) {
  .has-products .collection-product:has(.collection-model-viewer) { padding-bottom: 52px; }
  .has-products .collection-product:has(.collection-model-viewer) .collection-model-viewer { height: calc(100% - 52px); }
  .collection-model-controls { bottom: 0; }
  .collection-product:has(.collection-model-viewer) .collection-enlarge { bottom: 52px; }
  .collection-model-status { bottom: 8px; }
}
@media (prefers-reduced-motion: reduce) { .collection-model-viewer { transition: none; } }
