/*
Theme Name: VelvetScreen
Version: 1.3.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: velvetscreen
*/
:root {
    --vss-bg: #07111f;
    --vss-bg-2: #0b1526;
    --vss-panel: #101c30;
    --vss-panel-2: #111f35;
    --vss-line: #263754;
    --vss-text: #e8edf6;
    --vss-muted: #8898b4;
    --vss-coral: #ff7d89;
    --vss-yellow: #f4c643;
    --vss-blue: #274473;
    --vss-max: 1120px;
    --vss-side: 284px;
}
* {
    box-sizing: border-box;
}
body {
    margin: 0;
    background:
    radial-gradient(circle at 15% -10%, rgba(46, 88, 151, .3), transparent 40rem),
    linear-gradient(#07111f, #081321 55%, #06101d);
    color: var(--vss-text);
    font: 13px/1.55 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
a {
    color: inherit;
    text-decoration: none;
}
img {
    display: block;
    max-width: 100%;
    height: auto;
}
button,
input,
textarea {
    font: inherit;
}
.vss-skip {
    position: fixed;
    top: -90px;
    left: 14px;
    z-index: 9999;
    padding: 9px 12px;
    background: #fff;
    color: #111;
}
.vss-skip:focus {
    top: 14px;
}
.vss-portal {
    width: min(calc(100% - 28px), var(--vss-max));
    margin: 18px auto 0;
}
.vss-hd-header {
    overflow: visible;
    border-radius: 18px;
    box-shadow: 0 20px 55px rgba(0,0,0,.22);
}
.vss-header-top {
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 18px 18px 0 0;
    background: rgba(14,25,44,.94);
}
.vss-header-grid {
    display: grid;
    grid-template-columns: 230px minmax(300px, 1fr) auto;
    min-height: 88px;
    align-items: center;
    gap: 28px;
    padding: 15px 18px;
}
.vss-brand {
    display: inline-flex;
    align-items: center;
}
.vss-brand img {
    width: auto;
    max-width: 220px;
    max-height: 54px;
    aspect-ratio: 35 / 8;
    object-fit: contain;
}
.vss-brand strong {
    font-size: 24px;
    font-weight: 900;
}
.vss-primary-search {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 48px;
    width: 100%;
    height: 48px;
    overflow: visible;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 13px;
    background: #f8fafc;
    box-shadow: 0 10px 28px rgba(0,0,0,.2);
}
.vss-primary-search input {
    min-width: 0;
    padding: 0 16px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #172033;
}
.vss-primary-search button {
    border: 0;
    border-left: 1px solid #d9e0e9;
    border-radius: 0 13px 13px 0;
    background: #fff;
    color: #243b63;
    font-size: 18px;
    cursor: pointer;
}
.vss-quick {
    position: absolute;
    top: calc(100% + 7px);
    right: 0;
    left: 0;
    z-index: 90;
    padding: 8px 12px;
    border: 1px solid var(--vss-line);
    border-radius: 12px;
    background: #0d182a;
    color: #e7edf7;
    box-shadow: 0 22px 50px rgba(0,0,0,.45);
}
.vss-quick[hidden] {
    display: none;
}
.vss-quickitem {
    display: grid;
    grid-template-columns: 48px minmax(0,1fr);
    gap: 10px;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.vss-quickitem img {
    width: 48px;
    height: 72px;
    object-fit: cover;
    border-radius: 7px;
}
.vss-film-count {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #8b9bb5;
    font-size: 10px;
    white-space: nowrap;
}
.vss-film-count > span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #38d287;
    box-shadow: 0 0 13px rgba(56,210,135,.6);
}
.vss-film-count strong {
    color: #dbe4f3;
}
.vss-nav {
    border: 1px solid rgba(255,255,255,.06);
    border-top: 0;
    background: #0f1c30;
}
.vss-nav-inner {
    display: flex;
    min-height: 52px;
    align-items: center;
    gap: 4px;
    overflow-x: auto;
    scrollbar-width: none;
}
.vss-nav-inner::-webkit-scrollbar {
    display: none;
}
.vss-nav-home,
.vss-nav-menu > li > a {
    display: flex;
    min-height: 36px;
    align-items: center;
    gap: 6px;
    padding: 0 12px;
    border-radius: 9px;
    color: #cdd5e5;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}
.vss-nav-home {
    background: linear-gradient(135deg, #274473, #243a66);
    color: #fff;
}
.vss-nav-menu {
    display: flex;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.vss-nav-home:hover,
.vss-nav-menu > li > a:hover,
.vss-nav-menu > .current-menu-item > a {
    background: #1e3152;
    color: #fff;
}
.vss-quickbar {
    border: 1px solid rgba(255,255,255,.06);
    border-top: 0;
    border-radius: 0 0 18px 18px;
    background: #0b1526;
}
.vss-quickbar-inner {
    display: flex;
    min-height: 42px;
    align-items: center;
    gap: 13px;
    overflow-x: auto;
    padding: 0 16px;
    scrollbar-width: none;
}
.vss-quickbar-inner strong {
    color: var(--vss-coral);
    font-size: 10px;
    text-transform: uppercase;
    white-space: nowrap;
}
.vss-quickbar-inner a {
    color: #8898b4;
    font-size: 10px;
    white-space: nowrap;
}
.vss-quickbar-inner small {
    color: var(--vss-yellow);
}
.vss-main {
    min-height: 72vh;
}
.vss-page-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) var(--vss-side);
    gap: 20px;
    align-items: start;
    margin-top: 22px;
}
.vss-feed {
    min-width: 0;
}
.vss-home-title {
    margin: 0 0 14px;
    padding: 12px 15px;
    border: 1px solid var(--vss-line);
    border-radius: 13px;
    background: #111d30;
    color: #fff;
    font-size: 17px;
    font-weight: 850;
}
.vss-film-panel,
.vss-paging-panel {
    margin-bottom: 18px;
}
.vss-ranking {
    display: grid;
    grid-template-columns: repeat(6, minmax(0,1fr));
    gap: 7px;
    margin-bottom: 14px;
}
.vss-ranking a {
    display: grid;
    min-height: 39px;
    place-items: center;
    padding: 5px 7px;
    border: 1px solid #263754;
    border-radius: 9px;
    background: #111d30;
    color: #aebbd0;
    font-size: 9px;
    font-weight: 850;
    text-align: center;
}
.vss-ranking a:hover {
    border-color: #416199;
    background: #1a2a46;
    color: #fff;
}
.vss-hd-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 14px;
    align-items: start;
}
.vss-hd-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #263754;
    border-radius: 13px;
    background: #101c30;
    box-shadow: 0 10px 26px rgba(0,0,0,.18);
    transition: transform .18s ease, border-color .18s ease;
}
.vss-hd-card:hover {
    transform: translateY(-4px);
    border-color: #416199;
    background: #111f35;
}
.vss-hd-poster {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 2 / 3;
    background: #17243a;
}
.vss-hd-poster img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.vss-hd-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(5,11,21,.72), transparent 43%);
}
.vss-hd-imdb,
.vss-hd-year,
.vss-hd-label {
    position: absolute;
    z-index: 2;
    padding: 4px 6px;
    border-radius: 6px;
    font-size: 8px;
    font-weight: 900;
}
.vss-hd-imdb {
    top: 8px;
    right: 8px;
    background: var(--vss-yellow);
    color: #342b0a;
}
.vss-hd-year {
    top: 8px;
    left: 8px;
    background: rgba(8,16,28,.88);
    color: #fff;
}
.vss-hd-label {
    right: 8px;
    bottom: 8px;
    background: rgba(8,16,28,.85);
    color: #fff;
}
.vss-hd-play {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    margin: auto;
    border-radius: 50%;
    background: rgba(255,125,137,.9);
    color: #fff;
    opacity: 0;
    transform: scale(.8);
    transition: opacity .18s ease, transform .18s ease;
}
.vss-hd-card:hover .vss-hd-play {
    opacity: 1;
    transform: scale(1);
}
.vss-hd-title {
    overflow: hidden;
    margin: 0;
    padding: 10px 10px 3px;
    color: #e8edf6;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.vss-hd-title a:hover {
    color: var(--vss-coral);
}
.vss-hd-meta {
    padding: 0 10px 10px;
    color: #7385a0;
    font-size: 9px;
}
.vss-sidebar {
    display: grid;
    gap: 18px;
}
.vss-side-card {
    overflow: hidden;
    border: 1px solid var(--vss-line);
    border-radius: 13px;
    background: #101b2e;
}
.vss-side-card > header {
    padding: 12px 14px;
    border-bottom: 1px solid var(--vss-line);
    background: #13213a;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}
.vss-category-list {
    padding: 7px 13px 12px;
}
.vss-category-list a {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 1px;
    border-bottom: 1px solid rgba(255,255,255,.055);
    color: #9eacc2;
    font-size: 10px;
}
.vss-category-list a:hover {
    color: #fff;
}
.vss-category-list small {
    color: #64758f;
}
.vss-side-posts {
    padding: 6px 12px 10px;
}
.vss-side-posts a {
    display: grid;
    grid-template-columns: 58px minmax(0,1fr);
    gap: 10px;
    padding: 9px 0;
    border-bottom: 1px solid rgba(255,255,255,.055);
}
.vss-side-posts img {
    width: 58px;
    height: 86px;
    object-fit: cover;
    border-radius: 7px;
}
.vss-side-posts strong {
    display: block;
    color: #e6ecf6;
    font-size: 10px;
    line-height: 1.35;
}
.vss-side-posts small {
    color: #71829c;
    font-size: 9px;
}
.navigation.pagination {
    margin: 0;
}
.nav-links {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.page-numbers {
    min-width: 34px;
    padding: 7px 9px;
    border: 1px solid #2c405f;
    border-radius: 7px;
    background: #111d30;
    color: #8fa0b9;
    text-align: center;
}
.page-numbers.current {
    border-color: #45659b;
    background: #274473;
    color: #fff;
}
.vss-single,
.vss-archiveframe,
.vss-page {
    width: 100%;
    margin: 22px auto 0;
}
.vss-story {
    display: grid;
    grid-template-columns: minmax(0,1fr) 250px;
    gap: 24px;
    align-items: center;
    padding: 22px;
    border: 1px solid var(--vss-line);
    border-radius: 14px;
    background: #111d30;
}
.vss-storycopy > span {
    color: var(--vss-coral);
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}
.vss-story h1 {
    margin: 6px 0;
    color: #fff;
    font-size: clamp(30px, 5vw, 48px);
    line-height: 1;
}
.vss-story p,
.vss-story em {
    color: #aab6c9;
}
.vss-story figure {
    margin: 0;
}
.vss-story figure img {
    width: 250px;
    aspect-ratio: 2 / 3;
    object-fit: cover;
    border-radius: 10px;
}
.vss-genres a {
    color: #90a9d6;
    margin-right: 7px;
}
.vss-databand,
.vss-screen,
.vss-trailer,
.vss-related,
.vss-comments {
    margin-top: 18px;
    padding: 15px;
    border: 1px solid var(--vss-line);
    border-radius: 13px;
    background: #101b2e;
}
.vss-databand dl {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 10px;
}
.vss-databand dt {
    color: #71829d;
    font-size: 9px;
    text-transform: uppercase;
}
.vss-databand dd {
    margin: 3px 0 0;
}
.vss-databand button {
    padding: 8px 12px;
    border: 1px solid var(--vss-coral);
    border-radius: 8px;
    background: transparent;
    color: #fff;
}
.vss-screen header {
    display: flex;
    align-items: baseline;
    gap: 10px;
}
.vss-screen header small {
    color: var(--vss-coral);
}
.vss-player {
    overflow: hidden;
    border: 8px solid #05090f;
    border-radius: 10px;
    background: #000;
}
.vss-player iframe,
.vss-player video,
.vss-player embed,
.vss-trailer iframe {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    border: 0;
}
.vss-parts {
    display: flex;
    gap: 7px;
    flex-wrap: wrap;
    margin-top: 10px;
}
.vss-parts a,
.vss-parts span {
    padding: 6px 9px;
    border: 1px solid #304766;
    border-radius: 7px;
    background: #14243d;
}
.vss-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 14px;
}
.vss-footer {
    margin: 55px 0 0;
    padding: 26px 18px 34px;
    border-top: 1px solid #22324c;
    color: #72829a;
}
.vss-footer-rule {
    display: none;
}
.vss-footer-edition strong {
    display: block;
    color: #dbe3ef;
    font-size: 18px;
}
.vss-footer-links ul {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin: 12px 0;
    padding: 0;
    list-style: none;
}
@media (max-width: 900px) {
    .vss-header-grid {
        grid-template-columns: 190px minmax(0,1fr);
    }
    .vss-film-count {
        display: none;
    }
    .vss-page-grid {
        grid-template-columns: minmax(0,1fr) 240px;
        gap: 14px;
    }
    .vss-hd-grid,
    .vss-grid {
        grid-template-columns: repeat(3, minmax(0,1fr));
    }
}
@media (max-width: 720px) {
    .vss-portal {
        width: min(calc(100% - 16px), var(--vss-max));
        margin-top: 8px;
    }
    .vss-header-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .vss-brand {
        justify-self: center;
    }
    .vss-nav-inner {
        padding: 0 7px;
    }
    .vss-page-grid {
        display: block;
    }
    .vss-sidebar {
        display: none;
    }
    .vss-ranking {
        overflow-x: auto;
        grid-template-columns: repeat(6, 105px);
    }
    .vss-hd-grid,
    .vss-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 10px;
    }
    .vss-story {
        grid-template-columns: 1fr;
    }
    .vss-story figure img {
        width: min(230px, 65vw);
    }
    .vss-databand dl {
        grid-template-columns: 1fr 1fr;
    }
}
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        transition: none !important;
        animation: none !important;
        scroll-behavior: auto !important;
    }
}
/* Single film — FilmVS visual composition, VelvetScreen implementation */
.vss-single-stage {
    max-width:1180px;
    margin:24px auto 34px;
    padding:0 18px;
    display:grid;
    gap:18px
}
.vss-feature-card,.vss-movie-sheet,.vss-editorial-block {
    background:#111a29;
    border:1px solid #26344a;
    border-radius:15px;
    box-shadow:0 18px 50px rgba(0,0,0,.18);
    overflow:hidden
}
.vss-feature-head {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:20px 22px;
    background:linear-gradient(135deg,#14233a,#0f1826)
}
.vss-feature-head h1 {
    margin:4px 0 0;
    color:#fff;
    font-size:27px
}
.vss-kicker,.vss-feature-head>div>span {
    color:#8ba4c8;
    font-size:11px;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase
}
.vss-breadcrumb {
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    margin-top:8px;
    color:#7085a4;
    font-size:12px
}
.vss-breadcrumb a {
    color:#9db3d3
}
.vss-like-button {
    border:1px solid #354a68;
    border-radius:999px;
    background:#18263a;
    color:#fff;
    padding:10px 14px;
    font-weight:800
}
.vss-like-button strong {
    margin-left:6px;
    color:#ffca4b
}
.vss-partbar {
    padding:10px 20px;
    border-top:1px solid #26344a;
    border-bottom:1px solid #26344a;
    background:#0c1420
}
.vss-player-canvas {
    aspect-ratio:16/9;
    background:#05090e
}
.vss-player-canvas iframe,.vss-player-canvas video {
    display:block;
    width:100%;
    height:100%;
    border:0
}
.vss-movie-sheet {
    display:grid;
    grid-template-columns:210px 1fr;
    gap:22px;
    padding:20px
}
.vss-sheet-poster {
    margin:0
}
.vss-sheet-poster img {
    display:block;
    width:100%;
    height:auto;
    border-radius:10px;
    box-shadow:0 12px 28px rgba(0,0,0,.35)
}
.vss-sheet-title span,.vss-editorial-block>header span {
    display:block;
    color:#6e8fbe;
    font-size:11px;
    font-weight:900;
    letter-spacing:.15em;
    text-transform:uppercase
}
.vss-sheet-title h2,.vss-editorial-block>header h2 {
    margin:4px 0 0;
    color:#fff
}
.vss-sheet-copy>p {
    color:#b7c2d2;
    line-height:1.75
}
.vss-sheet-meta {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px 18px
}
.vss-sheet-meta>div {
    display:grid;
    grid-template-columns:82px 1fr;
    gap:8px;
    padding:7px 0;
    border-bottom:1px solid #243147
}
.vss-sheet-meta strong {
    color:#ffca4b;
    font-size:12px
}
.vss-sheet-meta span {
    color:#c6d0df;
    font-size:12px
}
.vss-editorial-block>header {
    padding:15px 18px;
    border-bottom:1px solid #26344a;
    background:#121e2f
}
.vss-trailer-frame {
    aspect-ratio:16/9
}
.vss-trailer-frame iframe {
    width:100%;
    height:100%;
    border:0;
    display:block
}
.vss-related-grid {
    padding:16px
}
.vss-comments-block {
    padding-bottom:16px
}
.vss-comments-block>header {
    margin-bottom:16px
}
@media(max-width:760px) {
    .vss-feature-head {
        align-items:flex-start;
        flex-direction:column
    }
    .vss-movie-sheet {
        grid-template-columns:150px 1fr
    }
    .vss-sheet-meta {
        grid-template-columns:1fr
    }
    .vss-sheet-meta>div {
        grid-template-columns:74px 1fr
    }
}
@media(max-width:520px) {
    .vss-single-stage {
        padding:0 10px
    }
    .vss-movie-sheet {
        grid-template-columns:1fr
    }
    .vss-sheet-poster {
        max-width:180px
    }
    .vss-feature-head h1 {
        font-size:22px
    }
}

/* Single film: FilmVS source composition */
.vss-single-stage--fullwidth {
    width: 1180px;
    max-width: calc(100% - 28px);
    margin: 18px auto 36px;
}

.vss-feature-card--player {
    overflow: hidden;
    border-radius: 16px;
}

.vss-feature-head--source {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
}

.vss-feature-head--source h1 {
    margin-bottom: 8px;
}

.vss-movie-sheet--source {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.vss-movie-sheet--source .vss-sheet-poster img {
    width: 160px;
    height: 230px;
    object-fit: cover;
}

.vss-movie-sheet--source .vss-sheet-copy > p {
    max-width: 900px;
}

@media (max-width: 760px) {
    .vss-single-stage--fullwidth {
        max-width: calc(100% - 18px);
    }

    .vss-feature-head--source,
    .vss-movie-sheet--source {
        grid-template-columns: 1fr;
    }

    .vss-movie-sheet--source .vss-sheet-poster img {
        width: 150px;
        height: 215px;
    }
}


/* VelvetScreen AJAX comments */
.vss-commentbox { padding:0 18px 4px; }
.vss-commentlist { margin:0; padding:0; list-style:none; }
.vss-commentlist .comment { margin:0 0 12px; padding:14px; border:1px solid var(--vss-line); border-radius:12px; background:#0f1929; }
.vss-commentlist .children { margin:12px 0 0 20px; padding:0; list-style:none; }
.vss-comment-reply,
.vss-commentbox #submit { appearance:none; border:1px solid var(--vss-coral); border-radius:8px; background:transparent; color:#fff; cursor:pointer; font:inherit; font-weight:700; }
.vss-comment-reply { padding:6px 10px; }
.vss-commentbox #submit { padding:10px 15px; background:var(--vss-coral); color:#07111f; }
.vss-commentbox #submit:disabled { opacity:.55; cursor:wait; }
.vss-commentbox textarea,
.vss-commentbox input[type="text"],
.vss-commentbox input[type="email"],
.vss-commentbox input[type="url"] { width:100%; box-sizing:border-box; border:1px solid var(--vss-line); border-radius:9px; background:#0b1422; color:#fff; padding:10px 12px; }
@media(max-width:520px){ .vss-commentlist .children{margin-left:10px;} }

.vss-comment-status { display:none; margin:0 0 14px; padding:10px 12px; border:1px solid var(--vss-line); border-radius:9px; background:#0b1422; }
.vss-comment-status.is-visible { display:block; }

.vss-sheet-meta .vss-rating-row {
    grid-column:1/-1;
}
.vss-rating {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
}
.vss-rating-stars {
    display:flex;
    flex-wrap:wrap;
    gap:4px;
}
.vss-rating-stars button {
    appearance:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    border:0;
    border-radius:6px;
    background:transparent;
    color:#526176;
    padding:0;
    cursor:pointer;
    font-size:18px;
    line-height:1;
}
.vss-rating-stars button:hover,
.vss-rating-stars button:focus-visible,
.vss-rating-stars button.is-selected {
    color:#ffca4b;
}
.vss-rating-stars button:disabled {
    cursor:default;
}
.vss-rating-summary b,
.vss-rating-summary em {
    color:#fff;
    font-style:normal;
}

.vss-archivehead{margin-bottom:14px}.vss-pagination{margin-top:18px}
@media(max-width:720px){.vss-page-grid{display:block;width:100%}.vss-feed{width:100%;min-width:0}.vss-sidebar{display:none!important}}


/* Single film: lightweight trailer embed */
.vss-trailer-lite { position:relative; aspect-ratio:16/9; overflow:hidden; background:#05090e; }
.vss-trailer-poster { position:absolute; inset:0; display:block; width:100%; height:100%; margin:0; padding:0; border:0; background:#05090e; cursor:pointer; }
.vss-trailer-poster img { display:block; width:100%; height:100%; object-fit:cover; }
.vss-trailer-poster::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.34)); }
.vss-trailer-play { position:absolute; top:50%; left:50%; z-index:2; display:grid; place-items:center; width:68px; height:48px; transform:translate(-50%,-50%); border-radius:14px; background:rgba(220,35,35,.96); color:#fff; font-size:24px; line-height:1; box-shadow:0 10px 30px rgba(0,0,0,.35); }
.vss-trailer-poster:focus-visible { outline:3px solid #fff; outline-offset:-3px; }
.vss-trailer-lite iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }

/* Single film CLS stabilization */
body.single-post .vss-main {
    display: flow-root;
}
body.single-post .vss-single-stage--fullwidth {
    isolation: isolate;
}
body.single-post .vss-player-canvas {
    position: relative;
    width: 100%;
    min-width: 0;
    min-height: 0;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    contain: layout paint;
}
body.single-post .vss-player-canvas > iframe,
body.single-post .vss-player-canvas > video,
body.single-post .vss-player-canvas > embed,
body.single-post .vss-player-canvas > object,
body.single-post .vss-player-canvas > p:has(iframe),
body.single-post .vss-player-canvas > div:has(iframe) {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    border: 0;
}
body.single-post .vss-player-canvas > p:has(iframe) iframe,
body.single-post .vss-player-canvas > div:has(iframe) iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}
