:root {
    --vp-bg:#121315;
    --vp-surface:#1c1f23;
    --vp-surface-2:#272b30;
    --vp-text:#f8f7f3;
    --vp-muted:#a9adb3;
    --vp-accent:#f0642d;
    --vp-gold:#f2ba32;
    --vp-green:#28b75b;
    --vp-border:rgba(255,255,255,.13);
    --vp-radius:8px;
}
.vidiopay-home,.vidiopay-catalog,.vidiopay-detail,.vidiopay-library,.vidiopay-account,.vidiopay-plans{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-sizing:border-box}
.vidiopay-home *,.vidiopay-catalog *,.vidiopay-detail *,.vidiopay-library *,.vidiopay-account *,.vidiopay-plans *{box-sizing:border-box}
.vidiopay-home,.vidiopay-detail,.vidiopay-account,.vidiopay-catalog,.vidiopay-library,.vidiopay-plans{color:var(--vp-text)}
.vidiopay-button,.vidiopay-secondary-button,.vidiopay-filter-button,.vidiopay-card-watch,.vidiopay-trailer-button{appearance:none;border:0;text-decoration:none;cursor:pointer;font:inherit}
.vidiopay-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--vp-accent);color:#171717!important;border-radius:10px;padding:12px 18px;font-weight:800;line-height:1.2;text-decoration:none!important}
.vidiopay-button:hover{filter:brightness(1.08);transform:translateY(-1px)}
.vidiopay-secondary-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.35);color:var(--vp-text)!important;border-radius:10px;padding:11px 18px;font-weight:700;background:rgba(255,255,255,.06)}
.vidiopay-eyebrow{display:inline-flex;background:var(--vp-accent);color:#171717;border-radius:999px;padding:6px 12px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.vidiopay-hero{padding:clamp(34px,7vw,90px) clamp(20px,5vw,70px);border-radius:24px;background:radial-gradient(circle at 90% 0,rgba(240,100,45,.28),transparent 36%),linear-gradient(120deg,#34383d,#1e2024 62%,#151618);box-shadow:0 24px 60px rgba(0,0,0,.25);margin-bottom:34px}
.vidiopay-hero h1{font-size:clamp(34px,6vw,68px);line-height:1.02;letter-spacing:-.035em;margin:18px 0 10px;max-width:900px;color:var(--vp-text)}
.vidiopay-hero p{font-size:clamp(15px,2vw,19px);color:#d4d6d8;max-width:720px;margin:0 0 24px;line-height:1.6}
.vidiopay-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.vidiopay-section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:34px 0 16px}
.vidiopay-section-heading h2{margin:0;color:inherit;font-size:clamp(22px,3vw,32px);line-height:1.15}
.vidiopay-section-heading p{margin:0;color:var(--vp-muted);font-size:14px}
.vidiopay-shelf-grid{display:grid;grid-template-columns:repeat(var(--vp-shelf-cols-desktop,4),minmax(0,1fr))!important;gap:20px}
.vidiopay-grid{display:grid;grid-template-columns:repeat(var(--vp-columns,5),minmax(0,1fr));gap:clamp(15px,2vw,24px)}
.vidiopay-card{min-width:0;background:var(--vp-surface);border-radius:var(--vp-radius);overflow:hidden;box-shadow:0 12px 28px rgba(0,0,0,.18);transition:transform .22s ease,box-shadow .22s ease;color:var(--vp-text)}
.vidiopay-card:hover{transform:translateY(-5px);box-shadow:0 20px 38px rgba(0,0,0,.28)}
.vidiopay-poster{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:2/3;background:#34383d center/cover no-repeat;text-decoration:none!important;overflow:hidden}
.vidiopay-poster:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.62),transparent 42%);opacity:.7;transition:opacity .2s}
.vidiopay-card:hover .vidiopay-poster:after{opacity:.9}
.vidiopay-poster-play{position:relative;z-index:2;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.93);color:#171717;font-size:18px;padding-left:3px;box-shadow:0 8px 20px rgba(0,0,0,.3);opacity:.88;transition:transform .2s,opacity .2s}
.vidiopay-card:hover .vidiopay-poster-play{transform:scale(1.08);opacity:1}
.vidiopay-ribbon,.vidiopay-owned{position:absolute;top:12px;z-index:3;padding:5px 9px;border-radius:6px;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.vidiopay-ribbon{left:12px;background:var(--vp-accent);color:#181818}
.vidiopay-owned{right:12px;background:var(--vp-green);color:#101712}
.vidiopay-card-body{padding:15px 16px 18px;display:flex;flex-direction:column;gap:8px;min-height:180px}
.vidiopay-card-body h3{margin:0;font-size:17px;line-height:1.2;color:var(--vp-text)}
.vidiopay-card-body h3 a{color:inherit!important;text-decoration:none!important}
.vidiopay-vj{color:#e0e2e4;font-size:12px;font-weight:700}
.vidiopay-card-meta{color:var(--vp-muted);font-size:12px;text-transform:uppercase;letter-spacing:.03em}
.vidiopay-card-price{font-size:14px;font-weight:900;color:var(--vp-gold);margin-top:auto}
.vidiopay-card.is-owned .vidiopay-card-price{color:#71dc91}
.vidiopay-card-actions{display:flex;align-items:center;gap:10px;margin-top:4px}
.vidiopay-card-watch{flex:1;display:inline-flex;align-items:center;justify-content:center;background:#c9ccd0;color:#26272a!important;border-radius:9px;padding:9px 10px;font-size:12px;font-weight:800;text-transform:uppercase;text-decoration:none!important}
.vidiopay-card-watch.is-owned{background:var(--vp-green);color:#101712!important}
.vidiopay-trailer-button.is-link{background:transparent;color:#f4f4f4;padding:5px 0;text-decoration:underline;font-size:12px;font-weight:700}
.vidiopay-format-chips{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:16px}
.vidiopay-chip{border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:8px 15px;background:rgba(255,255,255,.05);color:inherit!important;text-decoration:none!important;font-size:12px;font-weight:800;text-transform:uppercase}
.vidiopay-chip:hover,.vidiopay-chip.is-active{background:var(--vp-accent);border-color:var(--vp-accent);color:#161616!important}
.vidiopay-filters{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(135px,.8fr)) auto;gap:10px;margin:0 0 22px}
.vidiopay-filters input,.vidiopay-filters select,.vidiopay-checkout-form input,.vidiopay-plan-checkout input{width:100%;border:1px solid var(--vp-border);border-radius:9px;padding:10px 11px;background:#fff;color:#242424;font:inherit;min-height:43px}
.vidiopay-filter-button{background:#33383e;color:#fff;border-radius:9px;padding:10px 17px;font-weight:800}
.vidiopay-pagination{display:flex;gap:7px;flex-wrap:wrap;margin-top:26px}
.vp-page{display:inline-flex;min-width:38px;height:38px;align-items:center;justify-content:center;background:#e8e9ea;border-radius:8px;color:#222!important;text-decoration:none!important}
.vp-page.is-current{background:var(--vp-accent);font-weight:900}
.vidiopay-empty{padding:24px;border:1px dashed rgba(120,120,120,.4);border-radius:14px;text-align:center;color:#72767b;background:rgba(127,127,127,.05)}
.vidiopay-detail{max-width:1180px;margin:0 auto}
.vidiopay-watch-stage{border-radius:20px;overflow:hidden;background:#050505;box-shadow:0 20px 50px rgba(0,0,0,.24)}
.vidiopay-player-wrap{background:#000;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center}
.vidiopay-player{width:100%;height:100%;max-height:78vh;background:#000}
.vidiopay-external-player{position:relative;aspect-ratio:16/9;background:#111 center/cover no-repeat;display:flex;align-items:center;justify-content:center}
.vidiopay-external-player:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.22),rgba(0,0,0,.66))}
.vidiopay-external-frame{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000;z-index:3}
.vidiopay-external-launch{position:relative;z-index:2;border:0;border-radius:999px;background:#fff;color:#161616;padding:13px 19px;font-size:14px;font-weight:900;cursor:pointer;box-shadow:0 12px 28px rgba(0,0,0,.3)}
.vp-play-icon{margin-right:8px}
.vidiopay-launch-status{position:absolute;z-index:2;bottom:18px;left:18px;right:18px;text-align:center;color:#fff;font-size:13px}
.vidiopay-locked{min-height:480px;background:#24282d center/cover no-repeat;display:flex;align-items:center;justify-content:center;padding:32px;text-align:center}
.vidiopay-locked-inner{max-width:520px;margin:auto}
.vidiopay-locked h2{font-size:clamp(28px,5vw,48px);margin:16px 0 14px;color:#fff}
.vidiopay-offer-main{display:flex;justify-content:center;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:17px}
.vidiopay-price{font-size:22px;color:var(--vp-gold)}
.vidiopay-model{color:#d9dbdd;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.vidiopay-checkout-form,.vidiopay-plan-checkout{display:flex;gap:10px;align-items:end;justify-content:center;flex-wrap:wrap;margin-top:12px}
.vidiopay-checkout-form label,.vidiopay-plan-checkout label{display:flex;flex-direction:column;gap:5px;text-align:left;font-size:12px;font-weight:700;color:var(--vp-muted);min-width:min(260px,100%)}
.vidiopay-trailer-button{background:var(--vp-accent);color:#171717;border-radius:10px;padding:10px 15px;font-weight:800}
.vidiopay-trailer-button.is-ghost{margin-top:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);color:#fff}
.vidiopay-title-row{display:flex;justify-content:space-between;align-items:start;gap:18px;margin:24px 0 12px}
.vidiopay-title-row h2{font-size:clamp(26px,4vw,42px);margin:0;color:inherit}
.vidiopay-excerpt{color:var(--vp-muted);margin:8px 0 0}
.vidiopay-meta-strip{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 24px}
.vidiopay-meta-strip span{background:rgba(255,255,255,.07);border:1px solid var(--vp-border);border-radius:999px;padding:7px 11px;font-size:12px;color:#ddd}
.vidiopay-description{color:#d3d4d6;line-height:1.7;border-top:1px solid var(--vp-border);padding-top:22px}
.vidiopay-access-meta{padding:10px 14px;margin:0;background:#17191c;color:#b9bdc2;font-size:12px;text-align:center}
.vp-success,.vp-notice{padding:12px 14px;border-radius:10px;margin-bottom:14px;font-weight:700}.vp-success{background:#dff8e7;color:#155b2c}.vp-notice{background:#fff0c7;color:#755500}
.vidiopay-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.vidiopay-plan-card{position:relative;background:var(--vp-surface);color:var(--vp-text);border:1px solid var(--vp-border);border-radius:20px;padding:24px;box-shadow:0 12px 28px rgba(0,0,0,.14)}
.vidiopay-plan-card.is-featured{border-color:rgba(240,100,45,.75);box-shadow:0 16px 36px rgba(240,100,45,.12)}
.vidiopay-plan-badge{position:absolute;top:14px;right:14px;background:var(--vp-accent);color:#171717;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900;text-transform:uppercase}
.vidiopay-plan-card h3{font-size:24px;margin:0 0 12px;color:inherit}
.vidiopay-plan-price{display:flex;align-items:baseline;gap:7px;margin:8px 0 12px}.vidiopay-plan-price strong{font-size:30px;color:var(--vp-gold)}.vidiopay-plan-price span{color:var(--vp-muted)}
.vidiopay-plan-card>p,.vidiopay-plan-copy{color:#c6c9cc;line-height:1.6}.vidiopay-plan-active{background:rgba(40,183,91,.16);border:1px solid rgba(40,183,91,.45);color:#7fe6a0;border-radius:10px;padding:11px 12px;font-weight:800}
.vidiopay-account-hero{background:linear-gradient(125deg,#2b3036,#1a1d21);border-radius:20px;padding:28px;margin-bottom:26px}.vidiopay-account-hero h2{font-size:34px;margin:10px 0 4px;color:inherit}.vidiopay-account-hero p{margin:0;color:var(--vp-muted)}
.vidiopay-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.84);opacity:0;pointer-events:none;transition:opacity .18s}.vidiopay-modal.is-open{opacity:1;pointer-events:auto}.vidiopay-modal-open{overflow:hidden!important}
.vidiopay-modal-dialog{position:relative;width:min(1000px,96vw);background:#0d0e10;border-radius:18px;padding:18px;box-shadow:0 30px 80px rgba(0,0,0,.5);color:#fff}.vidiopay-modal-close{position:absolute;top:10px;right:10px;z-index:3;width:38px;height:38px;border-radius:50%;border:0;background:rgba(0,0,0,.65);color:#fff;font-size:26px;cursor:pointer}.vidiopay-modal-title{margin:0 48px 12px 0;font-size:20px;color:#fff}.vidiopay-modal-media{aspect-ratio:16/9;background:#000}.vidiopay-modal-media iframe,.vidiopay-modal-media video{width:100%;height:100%;border:0;background:#000}
@media (max-width:1100px){.vidiopay-grid{grid-template-columns:repeat(min(var(--vp-columns,5),4),minmax(0,1fr))}.vidiopay-shelf-grid{grid-template-columns:repeat(var(--vp-shelf-cols-tablet,3),minmax(0,1fr))!important}.vidiopay-filters{grid-template-columns:1fr 1fr 1fr}.vidiopay-filters .vp-search{grid-column:1/-1}.vidiopay-filter-button{grid-column:auto}}
@media (max-width:760px){.vidiopay-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vidiopay-shelf-grid{grid-template-columns:repeat(var(--vp-shelf-cols-mobile,2),minmax(0,1fr))!important;gap:12px}.vidiopay-card-body{padding:12px;min-height:166px}.vidiopay-card-body h3{font-size:14px}.vidiopay-poster-play{width:44px;height:44px}.vidiopay-filters{grid-template-columns:1fr}.vidiopay-filters .vp-search{grid-column:auto}.vidiopay-title-row{flex-direction:column}.vidiopay-locked{min-height:360px;padding:22px}.vidiopay-checkout-form,.vidiopay-plan-checkout{align-items:stretch}.vidiopay-checkout-form label,.vidiopay-plan-checkout label{width:100%}.vidiopay-button{width:100%}}
@media (max-width:420px){.vidiopay-grid{grid-template-columns:1fr 1fr}.vidiopay-shelf-grid{grid-template-columns:repeat(var(--vp-shelf-cols-mobile,2),minmax(0,1fr))!important}.vidiopay-card-actions{flex-direction:column;align-items:stretch}.vidiopay-trailer-button.is-link{text-align:left}.vidiopay-vj{display:none}}
@media (prefers-reduced-motion:reduce){.vidiopay-card,.vidiopay-button,.vidiopay-poster-play,.vidiopay-modal{transition:none!important}}

.vidiopay-card.is-current-episode{outline:2px solid var(--vp-accent);outline-offset:2px}

.vidiopay-currency-switcher{display:flex;justify-content:flex-end;margin:0 0 18px}.vidiopay-currency-switcher label{display:flex;align-items:center;gap:8px;color:var(--vp-muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.vidiopay-currency-switcher select,.vidiopay-checkout-form select,.vidiopay-plan-checkout select,.vidiopay-checkout-form input,.vidiopay-plan-checkout input{background:#17191c;color:#fff;border:1px solid var(--vp-border);border-radius:8px;padding:10px 12px;min-height:42px}.vidiopay-checkout-form select,.vidiopay-plan-checkout select{min-width:180px}

/* VidioPay OTT / My List additions */
.vidiopay-title-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.vidiopay-watchlist-button{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;border-radius:9px;padding:10px 15px;font-weight:800;cursor:pointer}
.vidiopay-watchlist-button.is-saved{background:var(--vp-green);border-color:var(--vp-green);color:#101712}
.vidiopay-card{position:relative}
.vidiopay-card-list{position:absolute;z-index:5;right:12px;top:150px;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(12,14,16,.82);color:#fff;font-size:21px;font-weight:900;line-height:1;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.28)}
.vidiopay-card-list.is-saved{background:var(--vp-green);border-color:var(--vp-green);color:#101712}
.vidiopay-card-list:disabled,.vidiopay-watchlist-button:disabled{opacity:.55;cursor:wait}
.vidiopay-plan-caps{font-size:12px!important;color:#9fd7ea!important;font-weight:800;letter-spacing:.02em}
@media (max-width:760px){.vidiopay-title-actions{width:100%}.vidiopay-watchlist-button,.vidiopay-trailer-button{flex:1}.vidiopay-card-list{top:128px}}

/* v0.6 no-payment testing notices */
.vp-test-notice{border:1px solid rgba(35,126,163,.35);box-shadow:0 8px 20px rgba(0,0,0,.08)}

/* v0.6.1 guest checkout */
.vidiopay-guest-note,.vidiopay-checkout-identity{width:100%;padding:12px 14px;border:1px solid var(--vp-border);border-radius:6px;background:rgba(150,203,224,.08);color:var(--vp-muted);font-size:13px;line-height:1.55;text-align:left}
.vidiopay-guest-note strong,.vidiopay-checkout-identity strong{color:#fff}
.vidiopay-checkout-name-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}
.vidiopay-checkout-name-grid label{min-width:0!important;width:100%}
.vidiopay-checkout-security{width:100%;margin:0;color:var(--vp-muted);font-size:12px;line-height:1.55;text-align:left}
@media (max-width:760px){.vidiopay-checkout-name-grid{grid-template-columns:1fr}}


/* VidioPay customer authentication */
.vidiopay-auth{max-width:980px;margin:32px auto;color:var(--vp-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.vidiopay-auth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.vidiopay-auth-card,.vidiopay-security-card{background:var(--vp-surface);border:1px solid var(--vp-border);border-radius:6px;padding:clamp(22px,4vw,36px);box-shadow:0 16px 36px rgba(0,0,0,.2)}
.vidiopay-auth-card h2,.vidiopay-security-card h3{color:var(--vp-text);margin:14px 0 10px}
.vidiopay-auth-card p,.vidiopay-security-card p{color:var(--vp-muted);line-height:1.65}
.vidiopay-auth-form{display:flex;flex-direction:column;gap:14px;margin-top:18px}
.vidiopay-auth-form label{display:flex;flex-direction:column;gap:6px;color:var(--vp-muted);font-size:13px;font-weight:700}
.vidiopay-auth-form input[type="email"],.vidiopay-auth-form input[type="password"]{width:100%;min-height:46px;border:1px solid var(--vp-border);border-radius:6px;background:#fff;color:#222;padding:10px 12px;font:inherit}
.vidiopay-auth-form .vidiopay-auth-check{display:flex;flex-direction:row;align-items:center;gap:8px;font-weight:600}
.vidiopay-auth-check input{width:auto}
.vidiopay-auth-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}.vidiopay-auth-actions form{margin:0}
.vidiopay-auth-new{margin-top:18px;padding-top:16px;border-top:1px solid var(--vp-border)}
.vidiopay-account-security{margin-top:34px}.vidiopay-security-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:20px}
@media(max-width:760px){.vidiopay-auth-grid,.vidiopay-security-grid{grid-template-columns:1fr}}


/* VidioPay OTT production UI */
.vidiopay-ott-hero{min-height:460px;background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(28px,6vw,72px);border-radius:12px;overflow:hidden}.vidiopay-hero-copy{max-width:680px}.vidiopay-profiles{margin:0 0 18px}.vidiopay-profile-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.vidiopay-profile-chip{padding:8px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:inherit;text-decoration:none}.vidiopay-profile-chip.is-active{background:#96CBE0;color:#10232c;border-color:#96CBE0}.vidiopay-profile-cards,.vidiopay-device-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.vidiopay-profile-card,.vidiopay-device-card,.vidiopay-profile-create{border:1px solid rgba(127,147,160,.25);border-radius:6px;padding:16px}.vidiopay-profile-create{margin-top:14px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.vidiopay-profile-create label span{display:block;margin-bottom:6px}.vidiopay-device-card{display:flex;gap:14px;align-items:center;justify-content:space-between}.vp-inline-form{display:inline-block;margin-left:8px}.vidiopay-link-button{background:none;border:0;text-decoration:underline;cursor:pointer;color:inherit}.vidiopay-maturity-block{padding:42px}.vidiopay-series-browser{margin:32px 0}.vidiopay-season{border:1px solid rgba(127,147,160,.22);border-radius:6px;margin:10px 0;overflow:hidden}.vidiopay-season summary{cursor:pointer;padding:14px 16px;font-weight:700;display:flex;justify-content:space-between}.vidiopay-season-episodes{display:grid}.vidiopay-episode-row{display:grid;grid-template-columns:48px 1fr auto;gap:12px;padding:14px 16px;border-top:1px solid rgba(127,147,160,.16);text-decoration:none;color:inherit;align-items:center}.vidiopay-episode-row small{display:block;opacity:.72;margin-top:4px}.vidiopay-episode-row.is-current{background:rgba(150,203,224,.12)}.vidiopay-player-wrap{position:relative}.vidiopay-skip-intro{position:absolute;right:18px;bottom:72px;z-index:5;padding:9px 14px;border-radius:6px;border:1px solid rgba(255,255,255,.55);background:rgba(0,0,0,.72);color:#fff;cursor:pointer}.vidiopay-next-episode{position:absolute;right:18px;bottom:72px;z-index:6;width:min(330px,calc(100% - 36px));padding:16px;border-radius:6px;background:rgba(8,12,16,.94);color:#fff;box-shadow:0 10px 34px rgba(0,0,0,.35)}.vidiopay-next-episode span,.vidiopay-next-episode small{display:block;margin:5px 0}.vidiopay-next-cancel{background:none;border:0;color:#dce7ec;text-decoration:underline;cursor:pointer;margin-left:8px}.vidiopay-mux-player{width:100%;aspect-ratio:16/9;display:block}

/* DEV10.5 SMS OTP recovery UI */
.vidiopay-sms-recovery{
    margin-top:20px;
    padding-top:20px;
    border-top:1px solid var(--vp-border);
}
.vidiopay-sms-recovery-heading h3{
    margin:0 0 8px;
    color:var(--vp-text);
}
.vidiopay-sms-recovery-heading p{
    margin:0;
    color:var(--vp-muted);
    line-height:1.6;
}
.vidiopay-sms-recovery .vidiopay-auth-form{
    margin-top:14px;
}
.vidiopay-auth-form input[type="tel"],
.vidiopay-auth-form input[type="text"]{
    width:100%;
    min-height:46px;
    border:1px solid var(--vp-border);
    border-radius:6px;
    background:#fff;
    color:#222;
    padding:10px 12px;
    font:inherit;
}
.vp-sms-status{
    min-height:22px;
    margin-top:12px;
    color:var(--vp-muted);
    font-size:13px;
    line-height:1.5;
}
.vp-sms-status[data-state="success"]{
    color:var(--vp-green);
}
.vp-sms-status[data-state="error"]{
    color:#f6b2b2;
}
.vp-sms-verified{
    margin-top:14px;
    padding:12px 14px;
    border:1px solid rgba(40,183,91,.45);
    border-radius:6px;
    background:rgba(40,183,91,.12);
    color:#8ce8a8;
    font-weight:700;
}
.vp-sms-request-form[hidden],
.vp-sms-verify-form[hidden],
.vp-sms-verified[hidden]{
    display:none!important;
}


/* DEV11.3 unified mobile recovery UI */
.vidiopay-mobile-recovery{
    margin-top:20px;
    padding-top:20px;
    border-top:1px solid var(--vp-border);
}

.vidiopay-mobile-recovery-heading h3{
    margin:0 0 8px;
    color:var(--vp-text);
}

.vidiopay-mobile-recovery-heading p{
    margin:0;
    color:var(--vp-muted);
    line-height:1.6;
}

.vidiopay-mobile-recovery .vidiopay-auth-form{
    margin-top:14px;
}

.vp-recovery-channel-options{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    margin:0;
    padding:0;
    border:0;
}

.vp-recovery-channel-options legend{
    width:100%;
    margin:0 0 5px;
    color:var(--vp-muted);
    font-size:13px;
    font-weight:700;
}

.vp-recovery-channel-option{
    display:inline-flex!important;
    flex-direction:row!important;
    align-items:center;
    gap:7px!important;
    width:auto!important;
    min-height:40px;
    padding:8px 12px;
    border:1px solid var(--vp-border);
    border-radius:6px;
    cursor:pointer;
}

.vp-recovery-channel-option input{
    width:auto!important;
    margin:0;
}

.vp-recovery-status{
    min-height:22px;
    margin-top:12px;
    color:var(--vp-muted);
    font-size:13px;
    line-height:1.5;
}

.vp-recovery-status[data-state="success"]{
    color:var(--vp-green);
}

.vp-recovery-status[data-state="error"]{
    color:#f6b2b2;
}

.vp-recovery-verified{
    margin-top:14px;
    padding:12px 14px;
    border:1px solid rgba(40,183,91,.45);
    border-radius:6px;
    background:rgba(40,183,91,.08);
}

.vp-recovery-verified strong{
    color:var(--vp-text);
}

.vp-recovery-verified p{
    margin:5px 0 0;
}


/* VidioPay alternate audio selector */
.vidiopay-audio-control {
    display: flex;
    justify-content: flex-end;
    margin-top: 10px;
}

.vidiopay-audio-control[hidden] {
    display: none !important;
}

.vidiopay-audio-control label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: inherit;
    font-size: 0.9rem;
}

.vidiopay-audio-select {
    min-width: 150px;
    max-width: 260px;
    padding: 7px 30px 7px 10px;
    border: 1px solid currentColor;
    border-radius: 6px;
    background: transparent;
    color: inherit;
    font: inherit;
}


.vidiopay-shelf-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}
.vidiopay-view-all{flex:0 0 auto;color:var(--vp-accent,#96CBE0);font-weight:700;text-decoration:none}
.vidiopay-view-all:hover{text-decoration:underline}
.vidiopay-shelf-archive{width:min(1500px,100%);margin:0 auto;padding:clamp(20px,3vw,42px) 0}
.vidiopay-shelf-pagination{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:32px}


/* VIDIOPAY RC2 PROFILE MANAGEMENT */
.vidiopay-profile-card,
.vidiopay-profile-create {
    border-radius: 8px;
}

.vp-profile-card-top {
    display: flex;
    align-items: center;
    gap: 14px;
}

.vp-profile-card-top h3 {
    margin: 0 0 4px;
}

.vp-profile-card-top p {
    margin: 0;
    opacity: .78;
}

.vp-profile-avatar {
    display: inline-flex;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-family: inherit;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
}

.vp-avatar--sky {
    background: #96cbe0;
    color: #143342;
}

.vp-avatar--ocean {
    background: #286b88;
    color: #fff;
}

.vp-avatar--jade {
    background: #69b6a0;
    color: #17392f;
}

.vp-avatar--sunset {
    background: #e6a18c;
    color: #502c23;
}

.vp-avatar--sand {
    background: #e4c88e;
    color: #4b3b1c;
}

.vp-avatar--slate {
    background: #758a9c;
    color: #fff;
}

.vidiopay-profile-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 8px;
}

.vidiopay-profile-chip .vp-profile-avatar {
    flex-basis: 30px;
    width: 30px;
    height: 30px;
    font-size: 14px;
}

.vp-profile-rating {
    margin: 12px 0;
}

.vp-profile-active {
    display: inline-block;
    font-size: .9em;
    font-weight: 700;
    color: #398eab;
}

.vp-profile-edit {
    margin-top: 14px;
    border-top: 1px solid rgba(127,147,160,.24);
    padding-top: 12px;
}

.vp-profile-edit summary {
    cursor: pointer;
    font-weight: 600;
}

.vp-profile-edit form {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.vp-profile-edit label,
.vidiopay-profile-create label {
    min-width: 0;
}

.vp-profile-edit label > span,
.vidiopay-profile-create label > span {
    display: block;
    margin-bottom: 6px;
}

.vp-profile-edit input[type="text"],
.vp-profile-edit select,
.vidiopay-profile-create input[type="text"],
.vidiopay-profile-create select {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 10px 12px;
    border: 1px solid rgba(127,147,160,.45);
    border-radius: 8px;
    background: transparent;
    color: inherit;
    font: inherit;
}

.vp-profile-checkbox {
    display: flex;
    gap: 8px;
    align-items: center;
}

.vp-profile-checkbox > span {
    margin-bottom: 0 !important;
}

.vp-profile-delete {
    margin-top: 12px;
}

.vp-profile-feedback {
    margin: 14px 0;
    font-weight: 600;
}

/*
 * VIDIOPAY PREMIUM CINEMA — DEV UI-1
 * Developed by FRANKHOST
 * Additive presentation layer; no payment/streaming changes.
 */

/* Foundation */
:is(.vidiopay-home,.vidiopay-catalog,.vidiopay-detail,
.vidiopay-library,.vidiopay-account,.vidiopay-plans,
.vidiopay-auth,.vidiopay-profiles,.vidiopay-series-browser) {
 --vp-bg:#09131d;
 --vp-surface:#132332;
 --vp-text:#edf6fa;
 --vp-muted:#afc2ce;
 --vp-border:rgba(164,204,224,.18);
 --vp-accent:#96cbe0;
 --vp-gold:#d8ba81;
 --vp-green:#91d9b5;
 --vp-radius:8px;
 color:var(--vp-text);
 font-family:"Quicksand",system-ui,sans-serif;
 line-height:1.55;
 -webkit-font-smoothing:antialiased;
}
:is(.vidiopay-home,.vidiopay-catalog,.vidiopay-detail,
.vidiopay-library,.vidiopay-account,.vidiopay-plans,
.vidiopay-auth,.vidiopay-profiles) :is(h1,h2,h3) {
 font-family:"Playfair Display",Georgia,serif;
 font-weight:600;
 letter-spacing:-.025em;
 line-height:1.22;
}
:is(.vidiopay-home,.vidiopay-catalog,.vidiopay-detail,
.vidiopay-library,.vidiopay-account,.vidiopay-plans,
.vidiopay-auth,.vidiopay-profiles) a {
 text-underline-offset:3px;
}
:is(.vidiopay-home,.vidiopay-catalog,.vidiopay-detail,
.vidiopay-library,.vidiopay-account,.vidiopay-plans,
.vidiopay-auth,.vidiopay-profiles) :focus-visible {
 outline:2px solid #96cbe0;
 outline-offset:3px;
}

/* Cinematic home and hero */
.vp-wc-hero,.vidiopay-hero,.vidiopay-ott-hero {
 position:relative;
 isolation:isolate;
 overflow:hidden;
 border-radius:8px;
 background-color:#101f2d;
}
.vp-wc-hero {
 border:1px solid rgba(150,203,224,.12);
 box-shadow:0 24px 65px rgba(0,0,0,.27);
}
.vp-wc-hero-media {
 background-size:cover;
 background-position:center;
}
.vp-wc-hero-shade {
 background:linear-gradient(90deg,
 rgba(6,15,24,.94) 0%,
 rgba(8,19,30,.76) 43%,
 rgba(8,19,30,.12) 100%);
}
.vp-wc-hero-content {
 max-width:min(800px,90%);
}
.vp-wc-hero-copy h1,
.vp-wc-hero-content h1,
.vidiopay-hero h1 {
 font-family:"Playfair Display",Georgia,serif;
 font-size:clamp(35px,4.8vw,66px);
 line-height:1.09;
 letter-spacing:-.035em;
 color:#f5f8fb;
 text-wrap:balance;
}
.vp-wc-primary,.vidiopay-hero .vidiopay-button {
 background:#96cbe0;
 color:#0b1a27!important;
 border:1px solid #96cbe0;
 border-radius:8px;
 font-weight:800;
}
.vp-wc-secondary {
 background:rgba(255,255,255,.07);
 border:1px solid rgba(230,245,251,.4);
 border-radius:8px;
 color:#f3f8fc!important;
}
.vidiopay-hero {
 padding:clamp(38px,5.8vw,80px);
 background:
 linear-gradient(108deg,rgba(8,21,33,.98),rgba(21,53,71,.85)),
 #102535;
 border:1px solid rgba(150,203,224,.16);
 box-shadow:0 22px 55px rgba(0,0,0,.18);
}

/* Shelves and section headings */
.vidiopay-section-heading {
 display:flex;
 align-items:end;
 justify-content:space-between;
 gap:20px;
 margin:40px 0 16px;
 padding-bottom:13px;
 border-bottom:1px solid rgba(150,203,224,.14);
}
.vidiopay-section-heading h2,
.vidiopay-shelf-heading h2 {
 color:#f0f7fa;
 font-size:clamp(23px,2.3vw,31px);
 line-height:1.18;
}
.vidiopay-section-heading p {
 color:#a9bdc9;
}
.vidiopay-shelf-grid {
 display:grid;
 grid-template-columns:repeat(var(--vp-shelf-cols-desktop,4),minmax(0,1fr))!important;
 gap:clamp(14px,1.6vw,23px);
 align-items:stretch;
}
.vidiopay-grid {
 display:grid;
 grid-template-columns:repeat(var(--vp-columns,5),minmax(0,1fr));
 gap:clamp(14px,1.6vw,23px);
}
.vidiopay-shelf {
 min-width:0;
 margin-bottom:34px;
}
.vidiopay-view-all {
 color:#a9d9eb!important;
 font-weight:700;
 text-decoration:none!important;
}
.vidiopay-view-all:hover {
 color:#fff!important;
}

/* Landscape catalog cards */
.vidiopay-card {
 position:relative;
 display:flex;
 flex-direction:column;
 min-width:0;
 background:linear-gradient(155deg,#182b3b,#101e2b);
 color:#edf6fa;
 border:1px solid rgba(150,203,224,.13);
 border-radius:8px;
 overflow:hidden;
 box-shadow:0 10px 24px rgba(0,0,0,.15);
 transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.vidiopay-card:hover {
 transform:translateY(-4px);
 border-color:rgba(150,203,224,.46);
 box-shadow:0 20px 38px rgba(0,0,0,.28);
}
.vidiopay-poster {
 position:relative;
 display:flex;
 width:100%;
 aspect-ratio:16/10;
 background-color:#203b4f;
 background-position:center;
 background-size:cover;
 overflow:hidden;
}
.vidiopay-poster:after {
 background:linear-gradient(0deg,rgba(3,12,20,.62),transparent 65%);
 opacity:.78;
}
.vidiopay-poster-play {
 width:47px;
 height:47px;
 font-size:17px;
 color:#f5fbff;
 background:rgba(6,22,34,.72);
 border:1px solid rgba(232,246,252,.6);
 box-shadow:0 8px 24px rgba(0,0,0,.22);
 backdrop-filter:blur(9px);
}
.vidiopay-card:hover .vidiopay-poster-play {
 transform:scale(1.08);
 background:#96cbe0;
 color:#0b1a27;
}
.vidiopay-ribbon,.vidiopay-owned {
 top:11px;
 font-family:"Quicksand",sans-serif;
 letter-spacing:.05em;
 border-radius:5px;
 padding:6px 9px;
}
.vidiopay-ribbon {
 background:rgba(8,23,35,.86);
 color:#e3f4fa;
 border:1px solid rgba(223,242,251,.17);
}
.vidiopay-owned {
 background:#a8e6c8;
 color:#10251b;
}
.vidiopay-card-list {
 top:12px;
 right:12px;
 width:34px;
 height:34px;
 background:rgba(7,22,34,.86);
 border:1px solid rgba(255,255,255,.34);
 z-index:5;
}
.vidiopay-card-body {
 flex:1;
 padding:15px 16px 16px;
 gap:9px;
 min-height:0;
 background:transparent;
}
.vidiopay-card-body h3 {
 font-family:"Playfair Display",Georgia,serif;
 font-size:clamp(16px,1.4vw,19px);
 line-height:1.28;
 font-weight:600;
 margin:0;
}
.vidiopay-card-body h3 a {
 color:#f0f7fb!important;
 text-decoration:none!important;
}
.vidiopay-card-meta,.vidiopay-vj {
 color:#a6bbca;
 font-size:12px;
 letter-spacing:.01em;
}
.vidiopay-card-price {
 margin-top:auto;
 font-size:13px;
 font-weight:800;
 color:#e5c78c;
}
.vidiopay-card-actions {
 display:flex;
 gap:9px;
 margin-top:3px;
}
.vidiopay-card-watch {
 flex:1;
 min-height:39px;
 background:rgba(150,203,224,.08);
 color:#cdeaf6!important;
 border:1px solid rgba(150,203,224,.38);
 border-radius:8px;
 padding:9px 13px;
 font-size:12px;
 font-weight:800;
 letter-spacing:.03em;
 text-decoration:none!important;
}
.vidiopay-card-watch:hover {
 background:#96cbe0;
 color:#0a1925!important;
}

/* Buttons, filters and navigation */
.vidiopay-button {
 min-height:44px;
 background:#96cbe0;
 color:#0b1c29!important;
 border:1px solid #96cbe0;
 border-radius:8px;
 padding:11px 19px;
 font-family:"Quicksand",sans-serif;
 font-weight:800;
 box-shadow:none;
}
.vidiopay-button:hover {
 background:#c1e4f1;
 filter:none;
 transform:translateY(-1px);
}
.vidiopay-secondary-button,.vidiopay-filter-button,
.vidiopay-trailer-button,.vidiopay-watchlist-button {
 min-height:42px;
 border-radius:8px;
 border:1px solid rgba(150,203,224,.35);
 background:rgba(150,203,224,.08);
 color:#e5f5fa!important;
 font-family:"Quicksand",sans-serif;
 font-weight:700;
}
.vidiopay-chip {
 border-radius:8px;
 background:rgba(150,203,224,.07);
 border:1px solid rgba(150,203,224,.24);
 color:#d6e8ef!important;
}
.vidiopay-chip.is-active,.vidiopay-chip:hover {
 background:#96cbe0;
 color:#081822!important;
 border-color:#96cbe0;
}
.vidiopay-filters {
 padding:17px;
 background:#122431;
 border:1px solid rgba(150,203,224,.15);
 border-radius:8px;
 gap:12px;
}
.vidiopay-filters input,.vidiopay-filters select {
 background:#0c1b28;
 color:#ecf5fb;
 border:1px solid rgba(150,203,224,.25);
 border-radius:8px;
 min-height:44px;
}
.vidiopay-filter-button {
 background:#203b4d;
 padding:10px 18px;
}
.vidiopay-currency-switcher select {
 border-radius:8px;
}

/* Video page and secure media player */
.vidiopay-detail {
 max-width:1240px;
 margin-inline:auto;
}
.vidiopay-watch-stage {
 overflow:hidden;
 background:#050c12;
 border:1px solid rgba(150,203,224,.16);
 border-radius:8px;
 box-shadow:0 25px 55px rgba(0,0,0,.3);
}
.vidiopay-player-wrap {
 position:relative;
 display:block;
 width:100%;
 aspect-ratio:16/9;
 min-height:0;
 background:#030609;
 overflow:hidden;
}
.vidiopay-player {
 display:block;
 width:100%;
 height:100%;
 max-height:none;
 object-fit:contain;
 background:#000;
}
.vidiopay-protected-start {
 position:absolute;
 left:50%;
 top:50%;
 z-index:6;
 transform:translate(-50%,-50%);
 min-width:170px;
 background:#96cbe0;
 color:#0b1b27!important;
 border:1px solid #96cbe0;
 box-shadow:0 12px 36px rgba(0,0,0,.45);
}
.vidiopay-protected-start:hover {
 background:#c5e7f2;
 transform:translate(-50%,-50%);
}
.vidiopay-protected-start[hidden],
.vidiopay-device-start-status[hidden] {
 display:none!important;
}
.vidiopay-device-start-status {
 position:absolute;
 z-index:7;
 bottom:16px;
 left:16px;
 right:16px;
 margin:0;
 text-align:center;
 font-size:13px;
 font-weight:700;
 color:#fff;
 text-shadow:0 2px 10px #000;
 pointer-events:none;
}
.vidiopay-external-player {
 border-radius:8px;
 overflow:hidden;
}
.vidiopay-title-row {
 align-items:start;
 gap:23px;
 margin-top:27px;
}
.vidiopay-title-row h2 {
 font-size:clamp(27px,3.3vw,42px);
 color:#edf6fa;
}
.vidiopay-excerpt,.vidiopay-description {
 color:#b7cad4;
 line-height:1.75;
}
.vidiopay-meta-strip span {
 border:1px solid rgba(150,203,224,.2);
 background:#162b3a;
 color:#d2e7f0;
 border-radius:7px;
}

/* Locked film: image left, purchasing panel right */
.vidiopay-locked {
 position:relative;
 isolation:isolate;
 display:flex;
 justify-content:flex-end;
 align-items:center;
 min-height:510px;
 padding:clamp(20px,3.5vw,44px);
 background-color:#102535;
 background-size:cover;
 background-position:center;
 text-align:left;
 overflow:hidden;
}
.vidiopay-locked:before {
 content:"";
 position:absolute;
 inset:0;
 z-index:0;
 background:linear-gradient(90deg,
 rgba(4,15,24,.16) 0%,
 rgba(5,18,29,.56) 40%,
 rgba(5,17,27,.95) 78%);
}
.vidiopay-locked-inner {
 position:relative;
 z-index:1;
 flex:0 1 480px;
 max-width:100%;
 margin:0;
 padding:clamp(22px,2.6vw,32px);
 background:rgba(9,24,37,.89);
 backdrop-filter:blur(14px);
 border:1px solid rgba(150,203,224,.26);
 border-radius:8px;
 box-shadow:0 20px 46px rgba(0,0,0,.28);
}
.vidiopay-locked h2 {
 font-family:"Playfair Display",Georgia,serif;
 font-size:clamp(27px,2.8vw,37px);
 color:#fff;
 margin:6px 0 15px;
}
.vidiopay-offer-main {
 justify-content:flex-start;
 margin-bottom:14px;
}
.vidiopay-price {
 color:#e6cb92;
 font-size:25px;
 font-weight:800;
}
.vidiopay-checkout-form {
 display:grid;
 grid-template-columns:minmax(0,1fr);
 align-items:stretch;
 justify-content:stretch;
 gap:11px;
 width:100%;
 margin-top:16px;
}
.vidiopay-checkout-form label,
.vidiopay-plan-checkout label {
 display:flex;
 flex-direction:column;
 min-width:0;
 width:100%;
 gap:6px;
 font-family:"Quicksand",sans-serif;
 font-size:12px;
 font-weight:700;
 color:#c3dbe7;
}
.vidiopay-checkout-form :is(input,select),
.vidiopay-plan-checkout :is(input,select) {
 width:100%;
 min-width:0;
 min-height:45px;
 border:1px solid rgba(150,203,224,.28);
 border-radius:8px;
 background:#0b1b29;
 color:#eff8fc;
 padding:10px 12px;
 font:inherit;
}
.vidiopay-checkout-form .vidiopay-button {
 width:100%;
}
.vidiopay-checkout-name-grid {
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:10px;
}

/* Premium subscription pricing */
.vidiopay-plans {
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:clamp(14px,2vw,23px);
 align-items:stretch;
}
.vidiopay-plan-card {
 display:flex;
 flex-direction:column;
 gap:10px;
 position:relative;
 min-width:0;
 border-radius:8px;
 border:1px solid rgba(150,203,224,.2);
 background:linear-gradient(155deg,#193044,#0c1d2b);
 padding:clamp(20px,2.1vw,29px);
 color:#ecf6fa;
 box-shadow:0 14px 36px rgba(0,0,0,.18);
}
.vidiopay-plan-card.is-featured {
 border:1px solid #96cbe0;
 box-shadow:0 18px 46px rgba(43,123,155,.2);
 background:linear-gradient(152deg,#24465d,#11283b 56%,#101f2e);
}
.vidiopay-plan-card h3 {
 font-family:"Playfair Display",Georgia,serif;
 font-size:27px;
 margin:3px 0 5px;
 color:#f7fbfe;
}
.vidiopay-plan-price {
 margin:6px 0 12px;
 flex-wrap:wrap;
}
.vidiopay-plan-price strong {
 color:#e8ce9b;
 font-size:clamp(25px,2.5vw,34px);
}
.vidiopay-plan-price span {
 color:#bed0da;
}
.vidiopay-plan-card>p,.vidiopay-plan-copy {
 color:#c1d2dd;
 line-height:1.65;
}
.vidiopay-plan-caps {
 color:#9dd4e8!important;
 font-size:12px;
}
.vidiopay-plan-badge {
 position:absolute;
 top:15px;
 right:15px;
 background:#96cbe0;
 color:#0a1924;
 border-radius:6px;
 font-weight:800;
}
.vidiopay-plan-checkout {
 display:grid;
 grid-template-columns:minmax(0,1fr);
 gap:11px;
 width:100%;
 align-items:stretch;
 margin-top:auto;
 padding-top:16px;
 border-top:1px solid rgba(150,203,224,.17);
}
.vidiopay-plan-checkout .vidiopay-button {
 width:100%;
}
.vidiopay-guest-note,.vidiopay-checkout-security {
 color:#b7ceda;
 font-size:12px;
 line-height:1.6;
}

/* Accounts, profiles, library and devices */
.vidiopay-account-hero,
.vidiopay-auth-card,
.vidiopay-profile-card,
.vidiopay-device-card,
.vidiopay-security-card {
 background:linear-gradient(145deg,#193044,#112332);
 border:1px solid rgba(150,203,224,.18);
 border-radius:8px;
 color:#ecf5fa;
 box-shadow:0 12px 30px rgba(0,0,0,.13);
}
.vidiopay-account-hero {
 padding:clamp(22px,3vw,34px);
}
.vidiopay-account-hero h2 {
 font-family:"Playfair Display",Georgia,serif;
 color:#f3f9fc;
}
.vidiopay-device-list,
.vidiopay-profile-cards,
.vidiopay-security-grid {
 gap:16px;
}
.vidiopay-profile-card,
.vidiopay-device-card,
.vidiopay-security-card {
 padding:18px;
}
.vidiopay-auth-form :is(input,select),
.vidiopay-profile-create :is(input,select) {
 border-radius:8px;
 min-height:44px;
}
.vidiopay-library .vidiopay-empty,
.vidiopay-catalog .vidiopay-empty,
.vidiopay-account .vidiopay-empty {
 background:rgba(150,203,224,.055);
 border:1px dashed rgba(150,203,224,.3);
 color:#bad1de;
 border-radius:8px;
}
.vidiopay-modal-dialog {
 border:1px solid rgba(150,203,224,.19);
 border-radius:8px;
 background:#0b1926;
}
.vidiopay-modal-title {
 font-family:"Playfair Display",Georgia,serif;
}
.vp-wc-footer {
 border-top:1px solid rgba(199,166,107,.37);
}

/* Responsive scaling */
@media (max-width:1100px) {
 .vidiopay-shelf-grid {
  grid-template-columns:repeat(var(--vp-shelf-cols-tablet,3),minmax(0,1fr))!important;
 }
 .vidiopay-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
 }
 .vidiopay-plans {
  grid-template-columns:repeat(2,minmax(0,1fr));
 }
}
@media (max-width:720px) {
 .vidiopay-shelf-grid {
  grid-template-columns:repeat(var(--vp-shelf-cols-mobile,2),minmax(0,1fr))!important;
  gap:12px;
 }
 .vidiopay-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
 }
 .vidiopay-card-body {
  padding:12px;
 }
 .vidiopay-card-body h3 {
  font-size:15px;
 }
 .vidiopay-section-heading {
  align-items:start;
  gap:12px;
  margin-top:28px;
 }
 .vidiopay-plans {
  grid-template-columns:1fr;
 }
 .vidiopay-locked {
  min-height:480px;
  justify-content:center;
  padding:16px;
 }
 .vidiopay-locked:before {
  background:linear-gradient(180deg,
   rgba(6,17,28,.22),rgba(6,17,28,.95) 46%);
 }
 .vidiopay-locked-inner {
  width:100%;
  padding:20px;
 }
 .vidiopay-title-row {
  flex-direction:column;
 }
 .vidiopay-checkout-name-grid {
  grid-template-columns:1fr;
 }
 .vp-wc-hero-content {
  max-width:100%;
 }
}
@media (max-width:440px) {
 .vidiopay-card-actions {
  flex-direction:column;
  align-items:stretch;
 }
 .vidiopay-card-body h3 {
  font-size:14px;
 }
 .vidiopay-poster-play {
  width:39px;
  height:39px;
 }
 .vidiopay-ribbon {
  font-size:9px;
  max-width:78%;
 }
 .vidiopay-plan-card {
  padding:19px;
 }
 .vidiopay-locked-inner {
  padding:16px;
 }
}
@media (prefers-reduced-motion:reduce) {
 .vidiopay-card,
 .vidiopay-poster-play,
 .vidiopay-button {
  transition:none!important;
  transform:none!important;
 }
}

/*
 * VIDIOPAY PREMIUM UI — DEV UI-2
 * Brighter editorial balance, 3px buttons,
 * uncluttered movie cards.
 * Developed by FRANKHOST.
 */

/* Bright premium background around cinematic content */

body:has(.vidiopay-catalog) .site-content,
body:has(.vidiopay-plans) .site-content,
body:has(.vidiopay-detail) .site-content,
body:has(.vidiopay-library) .site-content,
body:has(.vidiopay-account) .site-content,
body:has(.vidiopay-auth) .site-content {
 background:
  radial-gradient(ellipse at 92% 2%,
   rgba(150,203,224,.32),transparent 43%),
  linear-gradient(180deg,#f3f8fa,#e9f2f6 80%);
 color:#142a39;
}

:is(.vidiopay-home,.vidiopay-catalog,.vidiopay-detail,
.vidiopay-library,.vidiopay-account,.vidiopay-auth,
.vidiopay-profiles) {
 --vp-muted:#506b7b;
 color:#172d3d;
}

/* Keep editorial titles legible against the light canvas */

.vidiopay-section-heading h2,
.vidiopay-shelf-heading h2,
.vidiopay-title-row h2,
.vidiopay-account h2,
.vidiopay-library h2,
.vidiopay-catalog h2 {
 color:#142a3a;
}

.vidiopay-section-heading p,
.vidiopay-excerpt,
.vidiopay-description {
 color:#4c6575;
}

.vidiopay-section-heading {
 border-bottom:1px solid rgba(26,72,96,.18);
}

.vidiopay-view-all {
 color:#176386!important;
}

/* Dark movie cards against the lighter gallery background */

.vidiopay-card {
 background:linear-gradient(150deg,#1d3548,#112533);
 border:1px solid rgba(19,62,88,.19);
 box-shadow:0 12px 27px rgba(19,49,67,.13);
}

.vidiopay-card-body {
 color:#eaf4f9;
}

.vidiopay-card-body h3,
.vidiopay-card-body h3 a {
 color:#f1f8fc!important;
}

.vidiopay-card-meta {
 color:#adc5d1;
}

/* Remove the small '+' overlay from video cards.
   The My List feature remains available elsewhere. */

.vidiopay-card .vidiopay-card-list {
 display:none!important;
}

/* A more balanced browse filter bar */

.vidiopay-filters {
 background:#fff;
 border:1px solid #d1e2e9;
 box-shadow:0 8px 24px rgba(22,63,88,.055);
}

.vidiopay-filters input,
.vidiopay-filters select {
 background:#f3f8fa;
 color:#193345;
 border:1px solid #cbdfe8;
}

.vidiopay-chip {
 background:#e0eef4;
 color:#174560!important;
 border-color:#c8dfe9;
}

.vidiopay-chip:hover,
.vidiopay-chip.is-active {
 background:#96cbe0;
 color:#0b2433!important;
}

.vidiopay-currency-switcher label {
 color:#38566a;
}

/* Preserve the dark cinematic player and purchasing panel */

.vidiopay-watch-stage,
.vidiopay-locked,
.vidiopay-player-wrap,
.vidiopay-external-player {
 color:#f2f8fb;
}

.vidiopay-detail .vidiopay-description {
 color:#405e70;
}

.vidiopay-plan-card {
 color:#edf6fa;
}

/* All VidioPay button surfaces: 3px corners.
   Movie cards and content panels remain 8px. */

:is(.vidiopay-home,.vidiopay-catalog,.vidiopay-detail,
.vidiopay-library,.vidiopay-account,.vidiopay-plans,
.vidiopay-auth,.vidiopay-profiles)
:is(button,input[type="submit"],input[type="button"],
input[type="reset"]) {
 border-radius:3px!important;
}

:is(
.vidiopay-button,
.vidiopay-secondary-button,
.vidiopay-filter-button,
.vidiopay-card-watch,
.vidiopay-trailer-button,
.vidiopay-watchlist-button,
.vidiopay-protected-start,
.vidiopay-external-launch,
.vidiopay-modal-close,
.vidiopay-chip,
.vidiopay-link-button,
.vp-wc-primary,
.vp-wc-secondary,
.vp-wc-hero-actions a,
.vp-page
) {
 border-radius:3px!important;
}

.vidiopay-button,
.vidiopay-card-watch,
.vp-wc-primary,
.vp-wc-secondary {
 transition:background-color .2s ease,
  color .2s ease,border-color .2s ease;
}

/* Lighter empty states */

.vidiopay-catalog .vidiopay-empty,
.vidiopay-library .vidiopay-empty,
.vidiopay-account .vidiopay-empty {
 background:#fff;
 border:1px dashed #bdd7e4;
 color:#466376;
}

/* Mobile tuning */

@media(max-width:720px) {
 .vidiopay-section-heading h2 {
  font-size:24px;
 }
 .vidiopay-filters {
  padding:14px;
 }
 .vidiopay-card {
  box-shadow:0 6px 19px rgba(19,49,67,.12);
 }
}


/*
 * VIDIOPAY PREMIUM UI — DEV UI-3
 * Layout gutters, Quicksand controls, heart watchlist.
 * Developed by FRANKHOST.
 */

/* Comfortable horizontal spacing */
.vidiopay-shelf,
.vidiopay-catalog,
.vidiopay-detail,
.vidiopay-library,
.vidiopay-account,
.vidiopay-plans,
.vidiopay-profiles {
 box-sizing:border-box;
 width:100%;
 max-width:1480px;
 margin-left:auto;
 margin-right:auto;
 padding-left:clamp(22px,4vw,72px);
 padding-right:clamp(22px,4vw,72px);
}

.vidiopay-shelf {
 margin-bottom:36px;
}

.vidiopay-shelf-grid,
.vidiopay-grid {
 box-sizing:border-box;
 min-width:0;
}

/* Quicksand is mandatory for buttons and controls */
:is(.vidiopay-home,.vidiopay-catalog,.vidiopay-detail,
.vidiopay-library,.vidiopay-account,.vidiopay-plans,
.vidiopay-auth,.vidiopay-profiles)
:is(button,input[type="submit"],input[type="button"],
input[type="reset"],.vidiopay-button,.vidiopay-card-watch,
.vidiopay-chip,.vidiopay-secondary-button) {
 font-family:"Quicksand",system-ui,sans-serif!important;
 font-weight:700;
 border-radius:3px!important;
}

.vp-wc-primary,
.vp-wc-secondary,
.vp-wc-hero-actions a,
.vp-wc-footer button,
.vp-wc-footer .button {
 font-family:"Quicksand",system-ui,sans-serif!important;
 border-radius:3px!important;
}

/* Restore My List control as an understated heart */
.vidiopay-card .vidiopay-card-list {
 display:inline-flex!important;
 align-items:center;
 justify-content:center;
 position:absolute;
 top:12px;
 right:12px;
 z-index:6;
 width:36px;
 height:36px;
 min-height:36px;
 padding:0!important;
 border-radius:3px!important;
 border:1px solid rgba(238,250,255,.45);
 background:rgba(7,25,38,.84);
 color:transparent!important;
 font-size:0!important;
 line-height:0;
 cursor:pointer;
}

.vidiopay-card .vidiopay-card-list::before {
 content:"♡";
 display:flex;
 align-items:center;
 justify-content:center;
 position:absolute;
 inset:0;
 color:#fff;
 font-family:Arial,sans-serif;
 font-size:26px;
 font-weight:400;
 line-height:1;
}

.vidiopay-card .vidiopay-card-list.is-saved {
 background:rgba(7,25,38,.94);
 border-color:rgba(150,203,224,.8);
}

.vidiopay-card .vidiopay-card-list.is-saved::before {
 content:"♥";
 color:#96cbe0;
}

.vidiopay-card .vidiopay-card-list:hover {
 background:#23475b;
 border-color:#96cbe0;
}

.vidiopay-card .vidiopay-card-list:focus-visible {
 outline:2px solid #96cbe0;
 outline-offset:3px;
}

/* Footer copy and navigation must use Quicksand */
.vp-wc-footer,
.vp-wc-footer :is(p,span,small,li,a,nav,button),
.vp-wc-footer-brand,
.vp-wc-footer-bottom,
.vp-wc-footer-inner {
 font-family:"Quicksand",system-ui,sans-serif!important;
}

.vp-wc-footer :is(h1,h2,h3,h4) {
 font-family:"Playfair Display",Georgia,serif!important;
}

.vp-wc-footer :is(p,li,a) {
 line-height:1.7;
}

@media(max-width:720px) {
 .vidiopay-shelf,
 .vidiopay-catalog,
 .vidiopay-detail,
 .vidiopay-library,
 .vidiopay-account,
 .vidiopay-plans,
 .vidiopay-profiles {
  padding-left:18px;
  padding-right:18px;
 }
}



/* VIDIOPAY_OTT_H4_1_PROFILE_LANGUAGE_PREFS_V1 */
/* Addition only: pre-H4.1 rules and card/layout styles remain byte-for-byte unchanged. */
.vidiopay-player-wrap { position: relative; }
.vidiopay-player-wrap .vidiopay-subtitle-control {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 12;
    max-width: calc(100% - 24px);
    background: rgba(18, 27, 34, .92);
    color: #ffffff;
    border: 1px solid rgba(255,255,255,.3);
    border-radius: 8px;
    padding: 8px 10px;
}
.vidiopay-player-wrap .vidiopay-subtitle-control[hidden] {
    display: none !important;
}
.vidiopay-player-wrap .vidiopay-subtitle-control label {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    font-family: inherit;
    font-size: .9rem;
    font-weight: 600;
}
.vidiopay-player-wrap .vidiopay-subtitle-select {
    min-width: 120px;
    max-width: 210px;
    min-height: 38px;
    border: 1px solid rgba(255,255,255,.4);
    border-radius: 8px;
    background: #ffffff;
    color: #182d39;
    padding: 7px 30px 7px 10px;
    font-family: inherit;
    font-size: 14px;
}
@media (max-width: 640px) {
    .vidiopay-player-wrap .vidiopay-subtitle-control { top: 8px; right: 8px; padding: 6px; }
    .vidiopay-player-wrap .vidiopay-subtitle-control label { font-size: 12px; }
    .vidiopay-player-wrap .vidiopay-subtitle-select { min-width: 100px; max-width: 150px; }
}

/* VidioPay OTT-H4.2 episode navigator v1. Append-only; legacy theme stays untouched. */
.vidiopay-h42-browser .vidiopay-h42-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:12px;padding:12px 0}
.vidiopay-h42-browser .vidiopay-h42-episode{display:flex;align-items:stretch;gap:12px;min-width:0;min-height:130px;padding:10px;border:1px solid var(--vp-border,rgba(255,255,255,.16));border-radius:8px;background:var(--vp-surface,#1c1f23);color:var(--vp-text,#f8f7f3);text-decoration:none!important;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.1)}
.vidiopay-h42-browser .vidiopay-h42-episode:hover,.vidiopay-h42-browser .vidiopay-h42-episode:focus-visible{border-color:var(--vp-accent,#96cbe0);outline-offset:2px}
.vidiopay-h42-browser .vidiopay-h42-episode.is-current{border-color:var(--vp-accent,#96cbe0)}
.vidiopay-h42-browser .vidiopay-h42-poster{position:relative;display:block;flex:0 0 39%;align-self:stretch;min-width:0;aspect-ratio:16/9;border-radius:6px;background:#222a32;overflow:hidden}
.vidiopay-h42-browser .vidiopay-h42-poster img{width:100%;height:100%;object-fit:cover;display:block}
.vidiopay-h42-browser .vidiopay-h42-poster-fallback{display:flex;align-items:center;justify-content:center;min-height:100%;font-size:22px;color:#96cbe0}
.vidiopay-h42-browser .vidiopay-h42-copy{display:flex;flex:1;flex-direction:column;min-width:0;gap:5px}
.vidiopay-h42-browser .vidiopay-h42-topline{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:11px;color:var(--vp-muted,#a9adb3)}
.vidiopay-h42-browser .vidiopay-h42-title{font-size:14px;line-height:1.35;color:var(--vp-text,#f8f7f3)}
.vidiopay-h42-browser .vidiopay-h42-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.5;color:var(--vp-muted,#a9adb3)}
.vidiopay-h42-browser .vidiopay-h42-cta{margin-top:auto;font-size:12px;font-weight:700;color:var(--vp-accent,#96cbe0)}
.vidiopay-h42-browser .vidiopay-h42-progress{display:block;height:4px;border-radius:8px;background:rgba(127,127,127,.35);overflow:hidden}
.vidiopay-h42-browser .vidiopay-h42-progress>span{display:block;height:100%;border-radius:inherit;background:var(--vp-accent,#96cbe0)}
@media(max-width:520px){.vidiopay-h42-browser .vidiopay-h42-grid{grid-template-columns:minmax(0,1fr)}.vidiopay-h42-browser .vidiopay-h42-poster{flex-basis:35%}}
