: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:18px;
}
.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(auto-fill,minmax(190px,1fr));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-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,.vidiopay-shelf-grid{grid-template-columns:repeat(2,minmax(0,1fr));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,.vidiopay-shelf-grid{grid-template-columns:1fr 1fr}.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}
