/* Product cards keep their original 11rem photographs. 3D is opt-in in detail. */
.product-detail-media.coin-detail-media { flex-direction: column; gap: 1rem; margin-bottom: 1.25rem; padding: .75rem; background: #f8f6ed; }
.coin-view-controls { display: flex; justify-content: center; gap: .5rem; flex-wrap: wrap; }
.coin-view-button { min-height: 44px; padding: .5rem .85rem; border: 1px solid #b6c0b4; border-radius: 4px; background: transparent; color: #0b3d2e; font: inherit; font-size: 1rem; line-height: 1.3; cursor: pointer; }
.coin-view-button[aria-pressed="true"] { background: #0b3d2e; border-color: #0b3d2e; color: #fff; }
.coin-view-button:not([aria-pressed="true"]):hover { background: #e8eadf; }
.coin-view-button:focus-visible, .coin-photo-link:focus-visible, model-viewer:focus-visible { outline: 2px solid #0b3d2e; outline-offset: 3px; }
.coin-photo-panel, .coin-model-panel { width: 100%; }
.product-card-media .liberty-coin-image { width: 10rem; height: 10rem; mix-blend-mode: multiply; }
.coin-photo-panel[hidden], .coin-model-panel[hidden], .coin-viewport > img[hidden] { display: none; }
.coin-photo-link { display: flex; align-items: center; justify-content: center; background: #f8f6ed; }
.product-detail-media .coin-photo-link img { display: block; width: 100%; height: auto; max-height: 16.3125rem; aspect-ratio: 1; object-fit: contain; mix-blend-mode: multiply; }
.product-detail-media .coin-photo-link img[src*="liberty-high-relief"] { width: 92%; }
.coin-view-controls .coin-view-button { min-width: 6rem; }
.coin-viewport { position: relative; width: min(100%, 20rem); aspect-ratio: 1; margin-inline: auto; }
.coin-viewport > img, .coin-viewport > model-viewer { position: absolute; inset: 0; width: 100%; height: 100%; }
.coin-viewport > img { object-fit: contain; }
.coin-viewport > model-viewer { background: transparent; --poster-color: transparent; --progress-bar-color: #b89b5b; touch-action: pan-y; }
.coin-viewport > model-viewer:not([data-ready]) { visibility: hidden; }
.coin-help, .coin-model-note { text-align: center; color: #43594b; margin: .5rem 0 0; }
.coin-help { font-size: .78rem; }
.coin-model-note { max-width: 23rem; margin-inline: auto; font-size: .7rem; line-height: 1.5; }
@media (prefers-reduced-motion: reduce) { .coin-viewport * { scroll-behavior: auto; } }
