/* OVERLAY */
#nyf-sub {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.6);
    z-index: 9999;
}

/* MODAL */
.nyf-sub-modal {
    width: 90vw;
    max-width: 800px;
    height: 560px;
    margin: 10vh auto;
    background: #fff;
    position: relative;
    overflow: hidden;
}

/* CLOSE */
#nyf-sub-close {
    position: absolute;
    top: 10px;
    right: 12px;
    border: 0;
    background: none;
    font-size: 20px;
    cursor: pointer;
    z-index: 2;
}

/* LAYOUT */
.nyf-sub-popup-content {
    display: flex;
    height: 100%;
    min-width: 0;
}

.nyf-sub-left,
.nyf-sub-right {
    min-width: 0;
}

/* LEFT IMAGE */
.nyf-sub-left {
    width: 50%;
    height: 100%;
    overflow: hidden;
}

.nyf-sub-left img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* RIGHT CONTENT */
.nyf-sub-right {
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.nyf-sub-inner {
    text-align: center;
    width: 100%;
}

/* FORM */
.nyf-sub-form {
    display: flex;
    gap: 8px;
    margin-top: 15px;
}

.nyf-sub-form input {
    flex: 1;
    min-width: 0;
}

/* =========================
   MOBILE FIXES (KEEP COLUMNS)
   ========================= */
@media (max-width: 768px) {

    .nyf-sub-modal {
        height: auto;
        max-height: 90vh;
        overflow: hidden;
    }

    /* give priority to content */
    .nyf-sub-left {
        width: 60%;
    }

    .nyf-sub-right {
        width: 60%;
        padding: 15px;
    }

    .nyf-sub-inner {
        font-size: 14px;
    }

    /* stack inputs instead of breaking layout */
    .nyf-sub-form {
        flex-direction: column;
    }

    .nyf-sub-form button {
        width: 100%;
    }

    .nyf-sub-modal h3 {
        font-size: 18px;
    }
}

/* VERY SMALL SCREENS */
@media (max-width: 420px) {

    .nyf-sub-left {
        width: 60%;
    }

    .nyf-sub-right {
        width: 65%;
    }

    .nyf-sub-inner {
        font-size: 13px;
    }


    .nyf-sub-modal h3 {
        font-size: 15px;
    }
}

#nyf-sub img {
    margin: 0!important;
}

.nyf-sub-popup-footer {
    padding: 1rem;
    text-align: center;
    justify-content: center;
    border-top: 1px solid lightgrey;
    display: none;
}

.nyf-sub-popup-footer .lazy_recaptcha_container {
    margin: 0;
}

