.video-preview {
    position: relative;
    display: block;
    max-width: 560px;
    margin-top: 1.2rem;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: var(--shadow);
    background: #14213d;
    color: white;
    text-decoration: none;
}
.video-preview img { width: 100%; height: auto; }
.video-preview-play {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    display: grid;
    place-items: center;
    width: 72px; height: 72px;
    border-radius: 50%;
    background: #b51f2b;
    box-shadow: 0 4px 24px #0006;
    font-size: 32px;
    padding-left: 5px;
}
.video-preview-label {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: 1.8rem 1rem .7rem;
    background: linear-gradient(transparent, #000d);
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
}
.video-preview:hover .video-preview-play { background: #901824; }
.video-preview:focus-visible { outline: 3px solid var(--primary); outline-offset: 5px; }
.video-dialog {
    width: 100vw;
    max-width: 100vw;
    height: 100%;
    height: 100dvh;
    max-height: 100%;
    margin: 0;
    padding: 3.8rem .5rem .5rem;
    border: 0;
    background: #080808;
    color: #fff;
}
.video-dialog[open] { display: grid; place-items: center; }
.video-dialog::backdrop { background: #080808; }
.video-dialog video { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.video-dialog-close {
    position: absolute; right: 1rem; top: .7rem;
    background: #fff; color: #14213d;
    border: 0; border-radius: 999px;
    padding: .65rem 1rem; font: inherit; font-weight: 700; cursor: pointer;
}
.video-dialog-close:focus-visible { outline: 3px solid #93c5fd; outline-offset: 3px; }
