/* Shared factory and product video presentation */
#factory-video-section[hidden] { display: none; }
.video-showcase { max-width: 960px; margin: 28px auto 0; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 16px; background: #111; box-shadow: 0 8px 28px rgba(0,0,0,.12); }
.video-showcase video, .video-showcase iframe { display: block; width: 100%; height: 100%; border: 0; object-fit: contain; }
.video-error { color: #fff; padding: 24px; text-align: center; }
@media (max-width: 600px) { .video-showcase { border-radius: 10px; } }.gallery-video[hidden] { display: none; }
.product-main-image-wrap .gallery-video { width: 100%; margin: 0; border-radius: 8px; box-shadow: none; }
.product-main-image-wrap:has(.gallery-video:not([hidden])) { flex-direction: column; gap: 12px; }
.product-video-thumb { font: inherit; font-size: 12px; font-weight: 600; color: var(--primary); background: #f5f7fa; }
.product-main-image-wrap > a { display: none; }
.product-main-image-wrap:has(.gallery-video:not([hidden])) > a { display: inline-flex; }

.media-external-link[hidden] { display: none; }
.media-external-link { font-size: 13px; color: var(--primary); }
.product-thumb { position: relative; padding: 0; }
.media-play-badge { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; text-shadow: 0 1px 6px #000; background: rgba(0,0,0,.2); font-size: 22px; }
.product-video-thumb:not(:has(img)) .media-play-badge { position: static; background: transparent; color: var(--primary); font-size: 14px; text-shadow: none; }
