/* =========================================================
   ZINLIGHT ACADEMY 2.0
   PREMIUM PMPRO CHECKOUT
   ========================================================= */

.page-id-527 .entry-header,
.page-id-527 header.entry-header {
    display: none !important;
}

.page-id-527 .entry-content {
    margin-top: 0 !important;
}

.page-id-527 .pmpro {
    max-width: none;
}

.zl-pmpro-checkout-shell {
    box-sizing: border-box;
    width: min(1120px, 100%);
    margin: 0 auto 54px;
}

/* =========================================================
   HERO
   ========================================================= */

.zl-pmpro-checkout-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .72fr);
    gap: 28px;
    align-items: stretch;

    margin-bottom: 26px;
    padding: 30px;

    border: 1px solid rgba(24,32,111,.10);
    border-radius: 28px;

    background:
        radial-gradient(
            circle at 7% 5%,
            rgba(9,168,149,.07),
            transparent 34%
        ),
        radial-gradient(
            circle at 91% 8%,
            rgba(255,200,90,.09),
            transparent 32%
        ),
        linear-gradient(
            145deg,
            rgba(255,255,255,.985),
            rgba(255,255,255,.94)
        );

    box-shadow:
        0 24px 58px rgba(24,32,111,.11),
        inset 0 1px 0 rgba(255,255,255,.98);
}

.zl-pmpro-checkout-hero__content {
    align-self: center;
    padding: 6px 4px;
}

.zl-pmpro-checkout-hero__eyebrow {
    margin-bottom: 10px;

    color: #087E72;
    font-family: "Inter", sans-serif;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.zl-pmpro-checkout-hero__title {
    max-width: 700px;
    margin: 0 0 14px;

    color: #18206F;
    font-family: "Poppins", sans-serif;
    font-size: clamp(30px, 3.2vw, 44px);
    line-height: 1.12;
    font-weight: 700;
    letter-spacing: -.026em;
}

.zl-pmpro-checkout-hero__description {
    max-width: 720px;
    margin: 0;

    color: #475467;
    font-family: "Inter", sans-serif;
    font-size: 16px;
    line-height: 1.72;
}

.zl-pmpro-checkout-hero__signals {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
}

.zl-pmpro-checkout-hero__signals span {
    display: inline-flex;
    align-items: center;

    min-height: 34px;
    padding: 6px 11px;

    border: 1px solid rgba(9,168,149,.15);
    border-radius: 999px;

    background: rgba(9,168,149,.065);
    color: #344054;

    font-family: "Inter", sans-serif;
    font-size: 12.5px;
    line-height: 1.35;
    font-weight: 600;
}

/* =========================================================
   SELECTED PLAN CARD
   ========================================================= */

.zl-pmpro-checkout-plan {
    position: relative;
    overflow: hidden;

    padding: 24px;

    border: 1px solid rgba(255,255,255,.18);
    border-radius: 22px;

    background:
        radial-gradient(
            circle at 88% 6%,
            rgba(255,200,90,.22),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            #18206F,
            #2937A8
        );

    box-shadow:
        0 18px 36px rgba(24,32,111,.20);

    color: #FFFFFF;
}

.zl-pmpro-checkout-plan__badge {
    display: inline-flex;
    margin-bottom: 22px;
    padding: 6px 10px;

    border: 1px solid rgba(255,200,90,.45);
    border-radius: 999px;

    background: rgba(255,200,90,.14);
    color: #FFE4A4;

    font-family: "Inter", sans-serif;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .065em;
}

.zl-pmpro-checkout-plan__label {
    margin-bottom: 6px;

    color: rgba(255,255,255,.68);
    font-family: "Inter", sans-serif;
    font-size: 11.5px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: .06em;
}

.zl-pmpro-checkout-plan__name {
    margin: 0 0 15px;

    color: #FFFFFF;
    font-family: "Poppins", sans-serif;
    font-size: 21px;
    line-height: 1.3;
    font-weight: 700;
}

.zl-pmpro-checkout-plan__price {
    margin-bottom: 7px;

    color: #FFC85A;
    font-family: "Poppins", sans-serif;
    font-size: 31px;
    line-height: 1.1;
    font-weight: 700;
}

.zl-pmpro-checkout-plan__billing {
    margin-bottom: 20px;

    color: rgba(255,255,255,.80);
    font-family: "Inter", sans-serif;
    font-size: 13px;
    line-height: 1.5;
    font-weight: 500;
}

.zl-pmpro-checkout-plan__change {
    display: inline-flex;

    color: #FFFFFF !important;
    font-family: "Inter", sans-serif;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;
    text-decoration: underline !important;
    text-underline-offset: 4px;
}

/* =========================================================
   FORM INTRO
   ========================================================= */

.zl-pmpro-checkout-form-intro {
    margin-bottom: 16px;
    padding: 0 4px;
}

.zl-pmpro-checkout-form-intro__step {
    display: block;
    margin-bottom: 4px;

    color: #087E72;
    font-family: "Inter", sans-serif;
    font-size: 11.5px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: .07em;
}

.zl-pmpro-checkout-form-intro h2 {
    margin: 0 0 5px;

    color: #18206F;
    font-family: "Poppins", sans-serif;
    font-size: 24px;
    line-height: 1.25;
    font-weight: 700;
}

.zl-pmpro-checkout-form-intro p {
    margin: 0;

    color: #667085;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    line-height: 1.6;
}

/* =========================================================
   PMPRO FORM SURFACES
   ========================================================= */

.page-id-527 #pmpro_form .pmpro_form_fieldset,
.page-id-527 #pmpro_form fieldset {
    box-sizing: border-box;

    margin: 0 0 20px !important;
    padding: 24px !important;

    border: 1px solid rgba(24,32,111,.10) !important;
    border-radius: 22px !important;

    background: rgba(255,255,255,.95);

    box-shadow:
        0 16px 36px rgba(24,32,111,.075),
        inset 0 1px 0 rgba(255,255,255,.98);
}

.page-id-527 #pmpro_form legend,
.page-id-527 #pmpro_form .pmpro_form_legend {
    padding: 0 5px;

    color: #18206F;
    font-family: "Poppins", sans-serif;
    font-size: 19px;
    line-height: 1.35;
    font-weight: 700;
}

.page-id-527 #pmpro_form .pmpro_form_label,
.page-id-527 #pmpro_form label {
    color: #344054;
    font-family: "Inter", sans-serif;
    font-size: 13.5px;
    line-height: 1.45;
    font-weight: 700;
}

.page-id-527 #pmpro_form input[type="text"],
.page-id-527 #pmpro_form input[type="email"],
.page-id-527 #pmpro_form input[type="password"],
.page-id-527 #pmpro_form input[type="tel"],
.page-id-527 #pmpro_form input[type="number"],
.page-id-527 #pmpro_form select,
.page-id-527 #pmpro_form textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 48px;

    padding: 11px 13px;

    border: 1px solid #D0D5DD;
    border-radius: 10px;

    background: #FFFFFF;
    color: #182033;

    font-family: "Inter", sans-serif;
    font-size: 15px;
    line-height: 1.4;

    box-shadow: 0 1px 2px rgba(16,24,40,.04);

    transition:
        border-color .18s ease,
        box-shadow .18s ease;
}

.page-id-527 #pmpro_form textarea {
    min-height: 112px;
}

.page-id-527 #pmpro_form input:focus,
.page-id-527 #pmpro_form select:focus,
.page-id-527 #pmpro_form textarea:focus {
    outline: none;

    border-color: #09A895;

    box-shadow:
        0 0 0 3px rgba(9,168,149,.12),
        0 1px 2px rgba(16,24,40,.04);
}

/* Two-column PMPro field groups. */
.page-id-527 #pmpro_form .pmpro_cols-2 {
    gap: 16px;
}

/* =========================================================
   MESSAGES / VALIDATION
   ========================================================= */

.page-id-527 #pmpro_form .pmpro_message {
    margin: 0 0 18px;
    padding: 14px 16px;

    border-radius: 12px;

    font-family: "Inter", sans-serif;
    font-size: 14px;
    line-height: 1.55;
}

.page-id-527 #pmpro_form .pmpro_error,
.page-id-527 #pmpro_form .pmpro_message.pmpro_error {
    border: 1px solid rgba(180,35,24,.20);
    background: #FFF4F2;
    color: #912018;
}

/* =========================================================
   SECONDARY PMPRO BUTTONS
   ========================================================= */

.page-id-527 #pmpro_form .pmpro_btn:not(#pmpro_btn-submit) {
    min-height: 42px;
    padding: 9px 15px;

    border: 1px solid rgba(24,32,111,.18);
    border-radius: 9px;

    background: #FFFFFF;
    color: #18206F;

    font-family: "Inter", sans-serif;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
}

/* =========================================================
   CHECKOUT REASSURANCE
   ========================================================= */

.zl-pmpro-checkout-assurance {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;

    margin: 12px 0 20px;
}

.zl-pmpro-checkout-assurance__item {
    padding: 15px;

    border: 1px solid rgba(9,168,149,.13);
    border-radius: 14px;

    background:
        linear-gradient(
            145deg,
            rgba(9,168,149,.055),
            rgba(255,255,255,.84)
        );
}

.zl-pmpro-checkout-assurance__item strong {
    display: block;
    margin-bottom: 4px;

    color: #18206F;
    font-family: "Inter", sans-serif;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;
}

.zl-pmpro-checkout-assurance__item span {
    display: block;

    color: #667085;
    font-family: "Inter", sans-serif;
    font-size: 12.5px;
    line-height: 1.5;
}

/* =========================================================
   PRIMARY CHECKOUT ACTION
   ========================================================= */

.page-id-527 #pmpro_form .pmpro_form_submit {
    margin-top: 20px;
}

.page-id-527 #pmpro_btn-submit {
    width: 100%;
    min-height: 54px;

    padding: 13px 24px;

    border: 1px solid #18206F !important;
    border-radius: 12px !important;

    background:
        linear-gradient(
            135deg,
            #18206F,
            #2937A8
        ) !important;

    color: #FFFFFF !important;

    font-family: "Inter", sans-serif !important;
    font-size: 15px !important;
    line-height: 1.2;
    font-weight: 800 !important;

    box-shadow:
        0 12px 28px rgba(24,32,111,.20);

    cursor: pointer;

    transition:
        transform .18s ease,
        box-shadow .18s ease;
}

.page-id-527 #pmpro_btn-submit:hover {
    transform: translateY(-1px);

    box-shadow:
        0 15px 32px rgba(24,32,111,.25);
}

/* =========================================================
   LINKS
   ========================================================= */

.page-id-527 #pmpro_form a {
    color: #087E72;
    font-weight: 600;
    text-underline-offset: 3px;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .zl-pmpro-checkout-shell {
        margin-bottom: 34px;
    }

    .zl-pmpro-checkout-hero {
        grid-template-columns: 1fr;
        gap: 18px;

        margin-bottom: 22px;
        padding: 21px;

        border-radius: 21px;
    }

    .zl-pmpro-checkout-hero__eyebrow {
        font-size: 11px;
    }

    .zl-pmpro-checkout-hero__title {
        font-size: 29px;
        line-height: 1.17;
    }

    .zl-pmpro-checkout-hero__description {
        font-size: 15px;
        line-height: 1.65;
    }

    .zl-pmpro-checkout-hero__signals {
        flex-direction: column;
    }

    .zl-pmpro-checkout-hero__signals span {
        width: 100%;
        box-sizing: border-box;
        border-radius: 10px;
    }

    .zl-pmpro-checkout-plan {
        padding: 20px;
        border-radius: 18px;
    }

    .zl-pmpro-checkout-plan__price {
        font-size: 28px;
    }

    .zl-pmpro-checkout-form-intro h2 {
        font-size: 21px;
    }

    .page-id-527 #pmpro_form .pmpro_form_fieldset,
    .page-id-527 #pmpro_form fieldset {
        padding: 19px !important;
        border-radius: 18px !important;
    }

    .page-id-527 #pmpro_form .pmpro_cols-2 {
        grid-template-columns: 1fr !important;
    }

    .zl-pmpro-checkout-assurance {
        grid-template-columns: 1fr;
    }

    .page-id-527 #pmpro_btn-submit {
        min-height: 52px;
    }
}
/* =========================================================
   ACADEMY 2.0 CHECKOUT - PLAN CARD CONTRAST FIX
   ========================================================= */

.page-id-527 .zl-pmpro-checkout-plan,
.page-id-527 .zl-pmpro-checkout-plan h2,
.page-id-527 .zl-pmpro-checkout-plan .zl-pmpro-checkout-plan__name {
    color: #FFFFFF !important;
}

.page-id-527 .zl-pmpro-checkout-plan__name {
    opacity: 1 !important;
    text-shadow: 0 1px 1px rgba(0,0,0,.08);
}

.page-id-527 .zl-pmpro-checkout-plan__label {
    color: rgba(255,255,255,.72) !important;
}

.page-id-527 .zl-pmpro-checkout-plan__billing {
    color: rgba(255,255,255,.86) !important;
}

.page-id-527 .zl-pmpro-checkout-plan__price {
    color: #FFC85A !important;
}

.page-id-527 .zl-pmpro-checkout-plan__change {
    color: #FFFFFF !important;
}
/* =========================================================
   ACADEMY 2.0 CHECKOUT - MEMBERSHIP INFO CLEANUP
   ========================================================= */

/*
 * The premium level description already presents price,
 * duration and renewal terms. Hide PMPro's duplicate prose
 * while retaining the underlying checkout functionality.
 */
.page-id-527 #pmpro_level_cost .pmpro_level_cost_text,
.page-id-527 #pmpro_level_cost .pmpro_level_expiration_text {
    display: none !important;
}

/* Remove empty spacing left by the hidden duplicate terms. */
.page-id-527 #pmpro_level_cost {
    margin: 0 !important;
    padding: 0 !important;
}

.page-id-527 #pmpro_level_cost:empty {
    display: none !important;
}
/* =========================================================
   ACADEMY 2.0 CHECKOUT - ACCOUNT AND FINAL ACTION POLISH
   ========================================================= */

/* ---------------------------------------------------------
   ACCOUNT INFORMATION
   Remove PMPro's inner card appearance. The fieldset itself
   is already the premium Academy surface.
   --------------------------------------------------------- */

.page-id-527 #pmpro_user_fields > .pmpro_card {
    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;

    box-shadow: none !important;
}

.page-id-527 #pmpro_user_fields > .pmpro_card > .pmpro_card_title {
    margin: 0 0 18px !important;
    padding: 0 !important;

    color: #18206F !important;
    font-family: "Poppins", sans-serif !important;
    font-size: 22px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

.page-id-527 #pmpro_user_fields > .pmpro_card > .pmpro_card_content {
    padding: 0 !important;
}

/* Logged-in account context. */
.page-id-527 #pmpro_account_loggedin {
    padding: 16px 18px;

    border: 1px solid rgba(9,168,149,.16);
    border-radius: 13px;

    background:
        linear-gradient(
            145deg,
            rgba(9,168,149,.065),
            rgba(255,255,255,.82)
        );

    color: #344054;

    font-family: "Inter", sans-serif;
    font-size: 15px;
    line-height: 1.65;
}

.page-id-527 #pmpro_account_loggedin strong {
    color: #18206F;
}

/* Logged-out "Already have an account?" footer. */
.page-id-527 #pmpro_user_fields .pmpro_card_actions {
    margin: 20px 0 0 !important;
    padding: 16px 18px !important;

    border: 1px solid rgba(24,32,111,.08) !important;
    border-radius: 12px !important;

    background: #F8FAFC !important;

    color: #475467;

    font-family: "Inter", sans-serif;
    font-size: 14px;
    line-height: 1.55;
}

/* ---------------------------------------------------------
   FINAL CHECKOUT PANEL
   --------------------------------------------------------- */

.page-id-527 .zl-pmpro-checkout-assurance {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;

    margin: 24px 0 0 !important;
    padding: 24px 24px 18px !important;

    border: 1px solid rgba(24,32,111,.10);
    border-bottom: 0;
    border-radius: 22px 22px 0 0;

    background:
        radial-gradient(
            circle at 5% 0%,
            rgba(9,168,149,.055),
            transparent 30%
        ),
        radial-gradient(
            circle at 94% 0%,
            rgba(255,200,90,.08),
            transparent 32%
        ),
        rgba(255,255,255,.97);

    box-shadow:
        0 18px 40px rgba(24,32,111,.09);
}

.page-id-527 .zl-pmpro-checkout-assurance__header {
    grid-column: 1 / -1;

    margin-bottom: 5px;
    padding-bottom: 17px;

    border-bottom: 1px solid rgba(24,32,111,.08);
}

.page-id-527 .zl-pmpro-checkout-assurance__eyebrow {
    display: block;
    margin-bottom: 5px;

    color: #087E72;

    font-family: "Inter", sans-serif;
    font-size: 11.5px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: .075em;
}

.page-id-527 .zl-pmpro-checkout-assurance__header h2 {
    margin: 0 0 5px;

    color: #18206F;

    font-family: "Poppins", sans-serif;
    font-size: 23px;
    line-height: 1.3;
    font-weight: 700;
}

.page-id-527 .zl-pmpro-checkout-assurance__header p {
    max-width: 760px;
    margin: 0;

    color: #667085;

    font-family: "Inter", sans-serif;
    font-size: 14px;
    line-height: 1.6;
}

/* Reassurance cards now live inside the final action surface. */
.page-id-527 .zl-pmpro-checkout-assurance__item {
    padding: 14px 15px;

    border: 1px solid rgba(9,168,149,.12);
    border-radius: 13px;

    background:
        linear-gradient(
            145deg,
            rgba(9,168,149,.05),
            rgba(255,255,255,.90)
        );
}

/* Continue the same white surface around PMPro's real submit control. */
.page-id-527 #pmpro_form .pmpro_form_submit {
    box-sizing: border-box;

    margin: 0 0 28px !important;
    padding: 0 24px 24px !important;

    border: 1px solid rgba(24,32,111,.10);
    border-top: 0;
    border-radius: 0 0 22px 22px;

    background: rgba(255,255,255,.97);

    box-shadow:
        0 18px 40px rgba(24,32,111,.09);
}

.page-id-527 #pmpro_submit_span {
    display: block;
    width: 100%;
}

.page-id-527 #pmpro_btn-submit {
    width: min(100%, 430px) !important;
    min-height: 56px;

    margin: 0;

    font-size: 15px !important;
}

/* Keep validation feedback visually attached to the final step. */
.page-id-527 #pmpro_message_bottom {
    margin: 0 !important;
}

/* Processing feedback. */
.page-id-527 #pmpro_processing_message {
    margin-top: 12px;

    color: #667085;

    font-family: "Inter", sans-serif;
    font-size: 13px;
    line-height: 1.5;
}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .page-id-527 #pmpro_user_fields > .pmpro_card > .pmpro_card_title {
        font-size: 20px !important;
    }

    .page-id-527 #pmpro_account_loggedin {
        padding: 14px 15px;
        font-size: 14.5px;
    }

    .page-id-527 .zl-pmpro-checkout-assurance {
        grid-template-columns: 1fr;

        padding: 20px 18px 14px !important;

        border-radius: 18px 18px 0 0;
    }

    .page-id-527 .zl-pmpro-checkout-assurance__header h2 {
        font-size: 21px;
    }

    .page-id-527 #pmpro_form .pmpro_form_submit {
        padding: 0 18px 20px !important;
        border-radius: 0 0 18px 18px;
    }

    .page-id-527 #pmpro_btn-submit {
        width: 100% !important;
        min-height: 54px;
    }
}