[data-extra-modal-url][aria-busy="true"] { opacity: .55; cursor: progress; }
[data-extra-modal-error] { display: block; color: var(--bs-danger, #b02a37); padding: .5rem; }
.extra-product-modal .modal-dialog { max-width: min(1350px, calc(100% - 2rem)); margin-inline: auto; }
.extra-product-modal .modal-content { width: 100%; max-height: 100%; left: auto !important; right: auto !important; }
.extra-product-modal .popover-header { flex-shrink: 0; overflow-wrap: anywhere; }
.extra-product-modal .extra-popover-modal-close { flex-shrink: 0; min-width: 44px; min-height: 44px; }
.extra-product-modal .modal-body { overflow-y: auto; overscroll-behavior: contain; }
.extra-product-modal .extra-popover-description { overflow-wrap: anywhere; }
.extra-product-modal .extra-popover-description img { max-width: 100%; height: auto; }
.extra-product-modal .extra-popover-gallery-thumb { min-width: 64px; }
.extra-product-modal .extra-popover-video-thumb { background-color: #555; }
.extra-product-modal [data-extra-video-player] { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; z-index: 2; background: #000; }
@media (max-width: 767px) {
    .extra-product-modal .modal-dialog { max-width: calc(100% - 1rem); margin: .5rem auto; height: calc(100% - 1rem); }
    .extra-product-modal .extra-popover-layout { grid-template-columns: minmax(0, 1fr); }
    .extra-product-modal .extra-popover-images { grid-row: 1; border-left: 0; border-bottom: 1px solid #ddd; padding: .75rem; }
    .extra-product-modal .extra-popover-gallery-main { height: clamp(180px, 55vw, 300px); }
    .extra-product-modal .extra-popover-gallery-main img { max-height: 100%; }
    .extra-product-modal .extra-popover-gallery-stage { min-height: 180px; }
    .extra-product-modal .extra-popover-meta { gap: .25rem 1rem; }
    .extra-product-modal .extra-popover-meta span + span { border-left: 0; padding-left: 0; }
    .extra-product-modal .extra-popover-gallery-nav, .extra-product-modal .extra-popover-gallery-expand { min-width: 44px; min-height: 44px; }
}
