.video-unlock-overlay[hidden]{display:none!important}

.player-shell.pornira-video-locked .fluid_video_wrapper,
.player-shell.pornira-video-locked > video{
    pointer-events:none!important;
}

/* Keep every Fluid Player control visually hidden while the sponsored gate is locked.
   The rule is scoped only to the locked state, so removing the class restores the
   existing Pornira player behaviour without touching player.js. */
.player-shell.pornira-video-locked[data-player] .fluid_controls_container,
.player-shell.pornira-video-locked[data-player] .fluid_initial_play,
.player-shell.pornira-video-locked[data-player] .pornira-center-play,
.player-shell.pornira-video-locked[data-player] .fluid_timeline_preview_container,
.player-shell.pornira-video-locked[data-player] .pornira-quality-control{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
}

.video-unlock-overlay{
    position:absolute;
    inset:0;
    z-index:120;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    width:100%;
    height:100%;
    box-sizing:border-box;
    padding:clamp(18px,4vw,42px);
    border:0;
    margin:0;
    overflow:hidden;
    color:#fff;
    text-align:center;
    font-family:Sora,system-ui,sans-serif;
    cursor:pointer;
    background:radial-gradient(
        circle at 50% 44%,
        rgba(55,24,38,.60) 0,
        rgba(17,12,17,.62) 36%,
        rgba(6,5,7,.66) 72%
    );
}

.video-unlock-overlay::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:radial-gradient(circle at 50% 42%,rgba(255,133,144,.10),transparent 48%);
}

.video-unlock-lock{
    position:relative;
    width:clamp(74px,10vw,124px);
    height:auto;
    margin-bottom:2px;
    filter:drop-shadow(0 10px 22px rgba(0,0,0,.35));
    transition:transform .18s ease,filter .18s ease;
}

.video-unlock-title{
    position:relative;
    margin:0;
    font-size:clamp(20px,2.25vw,30px);
    line-height:1.1;
    font-weight:700;
    letter-spacing:-.025em;
}

.video-unlock-copy{
    position:relative;
    max-width:460px;
    margin:0;
    color:rgba(255,255,255,.68);
    font-size:clamp(12px,1.3vw,14px);
    line-height:1.5;
    font-weight:500;
}

.video-unlock-action{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    margin-top:5px;
    padding:0 20px;
    border:1px solid rgba(255,185,194,.46);
    border-radius:999px;
    background:linear-gradient(135deg,#ff9ba5,#ff7585);
    color:#2b1118;
    box-shadow:0 7px 24px rgba(255,133,144,.18),inset 0 1px rgba(255,255,255,.38);
    font-size:13px;
    font-style:normal;
    font-weight:700;
    letter-spacing:-.01em;
    transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}

.video-unlock-overlay:focus-visible{
    outline:3px solid #ff8590;
    outline-offset:-5px;
}

@media (hover:hover) and (pointer:fine){
    .video-unlock-overlay:hover .video-unlock-lock{
        transform:translateY(-2px) scale(1.025);
        filter:drop-shadow(0 12px 26px rgba(0,0,0,.4)) drop-shadow(0 0 16px rgba(255,133,144,.1));
    }
    .video-unlock-overlay:hover .video-unlock-action{
        transform:translateY(-1px);
        filter:brightness(1.035);
        box-shadow:0 9px 28px rgba(255,133,144,.23),inset 0 1px rgba(255,255,255,.42);
    }
}

.video-unlock-overlay:active .video-unlock-action{
    transform:scale(.98);
}

@media(max-width:640px){
    .video-unlock-overlay{
        inset:0!important;
        width:auto!important;
        height:auto!important;
        min-width:100%!important;
        min-height:100%!important;
        gap:7px;
        padding:12px 18px;
        border-radius:inherit;
    }
    .video-unlock-lock{
        width:clamp(58px,18vw,82px);
        margin-bottom:0;
    }
    .video-unlock-title{
        font-size:clamp(17px,5.3vw,22px);
    }
    .video-unlock-copy{
        max-width:320px;
        font-size:11px;
        line-height:1.35;
    }
    .video-unlock-action{
        min-height:36px;
        margin-top:2px;
        padding:0 16px;
        font-size:12px;
    }
}

@media(max-width:380px){
    .video-unlock-copy{display:none}
}
