.ad-video-controls { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; margin: 6px 0; }
.ad-video-controls button { border: 1px solid #ffffff55; border-radius: 16px; padding: 5px 10px; background: #172033; color: #fff; font: inherit; font-size: 12px; cursor: pointer; }
.ad-video-controls button:focus-visible { outline: 2px solid #60a5fa; outline-offset: 2px; }
.ad-video-controls button:disabled { opacity: .7; cursor: default; }
/* A video banner must remain visible on mobile, unlike image thumbnails. */
#ad-banner-modal.ad-has-video .ad-banner-media { display: block; }

.ad-popup-content.ad-video-fit,
.ad-popup-content-preview.ad-video-fit {
    width: var(--ad-fit-width) !important;
    max-width: calc(100vw - 40px);
    max-height: var(--ad-fit-max-height);
    margin-inline: auto;
    padding: 0;
    overflow-y: auto;
    transition: opacity .4s ease;
}
.ad-popup-content.ad-video-fit .ad-img-container,
.ad-popup-content-preview.ad-video-fit .ad-img-container-preview {
    height: auto !important;
    flex: none;
}
.ad-popup-content.ad-video-fit .ad-img-container video,
.ad-popup-content-preview.ad-video-fit .ad-img-container-preview video {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    transform: none !important;
}
.ad-video-fit .ad-footer,
.ad-video-fit .ad-footer-preview { padding: 10px; }
.ad-video-fit .ad-footer h3,
.ad-video-fit .ad-footer-preview h3 {
    font-size: 14px;
    line-height: 1.3;
    margin: 0 0 8px;
    overflow-wrap: anywhere;
}
@media (max-height: 500px) {
    .ad-video-fit .ad-footer h3,
    .ad-video-fit .ad-footer-preview h3 {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
    }
}
