/* Wistia Video Widget Styles */

.wistia-video-container {
    position: relative;
    display: block;
    width: 100%;
}

.wistia-video-container wistia-player {
    display: block;
    max-width: 100% !important;
    width: 100% !important;
    height: auto;
}

.wistia-video-container.aspect-ratio-mode wistia-player {
    aspect-ratio: var(--video-aspect-ratio, 16/9);
    height: auto !important;
}

.wistia-video-container wistia-player:not(:defined) {
    background: center / contain no-repeat;
    display: block;
    filter: blur(5px);
    transition: filter 0.3s ease;
}

.wistia-video-container wistia-player:defined {
    filter: none;
}

.wistia-video-container .wistia_embed {
    display: block;
    max-width: 100% !important;
    width: 100% !important;
    height: auto;
}

.wistia-video-container.aspect-ratio-mode .wistia_embed {
    aspect-ratio: var(--video-aspect-ratio, 16/9);
    height: auto !important;
}

.wistia-video-container .wistia_embed:not(.wistia_embed_initialized) {
    background: center / contain no-repeat;
    display: block;
    filter: blur(5px);
    transition: filter 0.3s ease;
}

.wistia-video-container .wistia_embed.wistia_embed_initialized {
    filter: none;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .wistia-video-container wistia-player {
        width: 100% !important;
        height: auto !important;
    }
    
    .wistia-video-container .wistia_embed {
        width: 100% !important;
        height: auto !important;
    }
}

/* Additional container constraint to prevent overflow */
.wistia-video-container {
    overflow: hidden;
    max-width: 100%;
    box-sizing: border-box;
}

/* Focus styles for accessibility */
.wistia-video-container wistia-player:focus {
    outline: 2px solid #0073aa;
    outline-offset: 2px;
}

/* Loading state */
.wistia-video-container.loading .wistia_embed:not(.wistia_embed_initialized) {
    background-color: #f0f0f0;
    border-radius: 8px;
}

/* Focus styles for accessibility */
.wistia-video-container .wistia_embed:focus {
    outline: 2px solid #0073aa;
    outline-offset: 2px;
}