/* FILMPARTY_STEP9B_MOVIE_DOWNLOAD_VIP_LOCK_CSS */
/* FILMPARTY_STEP9B_1_MODAL_CENTER_MOBILE_STABLE */

.fp-download-vip-locked-details {
    position: relative;
    overflow: visible;
}

.fp-download-vip-locked-details[open] > :not(summary) {
    display: none !important;
}

.fp-download-vip-locked-details > summary.fp-download-vip-locked-summary {
    cursor: pointer;
    user-select: none;
}

.fp-download-vip-locked-details > summary.fp-download-vip-locked-summary::-webkit-details-marker {
    display: none;
}

.fp-download-vip-locked-details > summary.fp-download-vip-locked-summary::marker {
    content: "";
}

.fp-download-vip-locked-details > summary.fp-download-vip-locked-summary::after {
    display: none !important;
    content: none !important;
}

.fp-download-vip-locked-details > summary.fp-download-vip-locked-summary::before {
    opacity: 0;
    visibility: hidden;
}

.fp-download-vip-locked-summary {
    display: block !important;
}

.fp-download-vip-lock-icon {
    position: absolute;
    left: 16px;
    top: 50%;
    z-index: 2;
    inline-size: 28px;
    block-size: 28px;
    flex: 0 0 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid rgba(251, 191, 36, .52);
    background:
        radial-gradient(circle at 32% 24%, rgba(255,255,255,.42), transparent 28%),
        linear-gradient(145deg, rgba(251,191,36,.26), rgba(120,53,15,.18));
    box-shadow:
        0 10px 28px rgba(245,158,11,.22),
        inset 0 1px 0 rgba(255,255,255,.32);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transform: translateY(-50%);
    pointer-events: none;
}

.fp-download-vip-lock-icon svg {
    inline-size: 15px;
    block-size: 15px;
    fill: #fbbf24;
    filter: drop-shadow(0 0 8px rgba(251,191,36,.55));
}

/* Stable full-screen modal layer */
html.fp-download-vip-modal-open,
html.fp-download-vip-modal-open body {
    overflow: hidden !important;
    overscroll-behavior: none !important;
    touch-action: none;
}

.fp-download-vip-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147482500 !important;

    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;

    height: 100vh !important;
    min-height: 100vh !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding:
        max(18px, env(safe-area-inset-top))
        max(16px, env(safe-area-inset-right))
        max(18px, env(safe-area-inset-bottom))
        max(16px, env(safe-area-inset-left)) !important;

    box-sizing: border-box !important;
    overflow: hidden !important;
    isolation: isolate !important;
    transform: none !important;
    contain: layout paint style !important;
}

@supports (height: 100dvh) {
    .fp-download-vip-modal {
        height: 100dvh !important;
        min-height: 100dvh !important;
    }
}

@supports (height: 100svh) {
    .fp-download-vip-modal {
        height: 100svh !important;
        min-height: 100svh !important;
    }
}

.fp-download-vip-modal[hidden] {
    display: none !important;
}

.fp-download-vip-modal-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 0 !important;
    background: rgba(2, 6, 23, .62);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.fp-download-vip-modal-card {
    position: relative !important;
    z-index: 2 !important;

    width: min(430px, calc(100vw - 34px));
    max-width: 430px;
    max-height: calc(100vh - 36px);
    overflow: auto;

    margin: auto !important;
    padding: 26px 22px 22px;
    border-radius: 28px;
    text-align: center;
    color: #fff;
    border: 1px solid rgba(251, 191, 36, .30);
    background:
        radial-gradient(circle at 50% -12%, rgba(251,191,36,.28), transparent 40%),
        linear-gradient(145deg, rgba(15,23,42,.92), rgba(15,23,42,.70));
    box-shadow:
        0 28px 90px rgba(0,0,0,.50),
        inset 0 1px 0 rgba(255,255,255,.18);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    transform: translateZ(0);
    -webkit-overflow-scrolling: touch;
}

@supports (height: 100dvh) {
    .fp-download-vip-modal-card {
        max-height: calc(100dvh - 36px);
    }
}

.fp-download-vip-modal-x {
    position: absolute;
    inset-inline-start: 14px;
    top: 14px;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 999px;
    color: rgba(255,255,255,.82);
    background: rgba(255,255,255,.10);
    cursor: pointer;
}

.fp-download-vip-modal-lock {
    width: 66px;
    height: 66px;
    margin: 0 auto 14px;
    display: grid;
    place-items: center;
    border-radius: 22px;
    border: 1px solid rgba(251,191,36,.44);
    background:
        radial-gradient(circle at 35% 22%, rgba(255,255,255,.42), transparent 28%),
        linear-gradient(145deg, rgba(251,191,36,.24), rgba(120,53,15,.16));
    box-shadow: 0 18px 42px rgba(245,158,11,.22);
}

.fp-download-vip-modal-lock svg {
    width: 34px;
    height: 34px;
    fill: #fbbf24;
    filter: drop-shadow(0 0 10px rgba(251,191,36,.48));
}

.fp-download-vip-modal-card h2 {
    margin: 0 0 10px;
    font-size: 18px;
    font-weight: 900;
}

.fp-download-vip-modal-card p {
    margin: 0;
    color: rgba(255,255,255,.78);
    line-height: 1.9;
    font-size: 13px;
}

.fp-download-vip-modal-actions {
    display: flex;
    gap: 10px;
    justify-content: center;
    margin-top: 20px;
    flex-wrap: wrap;
}

.fp-download-vip-modal-actions a,
.fp-download-vip-modal-actions button {
    min-height: 42px;
    border-radius: 16px;
    padding: 10px 18px;
    border: 1px solid rgba(255,255,255,.14);
    text-decoration: none;
    font: inherit;
    cursor: pointer;
}

.fp-download-vip-modal-actions a {
    color: #111827;
    font-weight: 900;
    background: linear-gradient(135deg, #fde68a, #f59e0b);
    box-shadow: 0 16px 38px rgba(245,158,11,.24);
}

.fp-download-vip-modal-actions button {
    color: rgba(255,255,255,.82);
    background: rgba(255,255,255,.10);
}

@media (max-width: 640px) {
    .fp-download-vip-lock-icon {
        left: 13px;
        inline-size: 26px;
        block-size: 26px;
        flex-basis: 26px;
    }

    .fp-download-vip-lock-icon svg {
        inline-size: 14px;
        block-size: 14px;
    }

    .fp-download-vip-modal {
        align-items: center !important;
        justify-content: center !important;
        padding: 16px !important;
    }

    .fp-download-vip-modal-card {
        width: min(390px, calc(100vw - 32px));
        max-height: calc(100vh - 32px);
        border-radius: 24px;
        padding: 24px 18px 20px;
    }

    @supports (height: 100dvh) {
        .fp-download-vip-modal-card {
            max-height: calc(100dvh - 32px);
        }
    }

    .fp-download-vip-modal-actions {
        flex-direction: column;
    }

    .fp-download-vip-modal-actions a,
    .fp-download-vip-modal-actions button {
        width: 100%;
    }
}
