.elementor-597 .elementor-element.elementor-element-3198909{--display:flex;}:root{--page-title-display:none;}/* Start custom CSS for shortcode, class: .elementor-element-88df9ff *//* =================================================
   PAINTBOX LONDON — 3 PREMIUM MEMBERSHIP BOXES
   Scoped to Paid Member Subscriptions only
================================================= */

/* OUTER CONTAINER */
body .pms-form {
    max-width: 850px !important;
    margin: 35px auto !important;
    padding: 28px !important;
    background: #FFFFFF !important;
    border: 1px solid #EDE0E6 !important;
    border-radius: 24px !important;
    box-shadow: 0 15px 45px rgba(65, 25, 45, 0.08) !important;
    font-family: "Roboto", sans-serif !important;
    box-sizing: border-box !important;
}

/* =========================================
   BOX 1 — MEMBERSHIP PLAN
========================================= */

body .pms-subscription-plans {
    display: block !important;
    width: 100% !important;
    margin: 0 auto 25px !important;
    padding: 0 !important;
}

body .pms-subscription-plan {
    position: relative !important;
    width: 100% !important;
    padding: 30px 25px 25px !important;
    margin: 0 !important;
    background: #FFF8FB !important;
    border: 1px solid #E8C8D7 !important;
    border-radius: 17px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

/* Plan icon */
body .pms-subscription-plan::before {
    content: "\2655";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 18px;
    background: #F7E5ED;
    border-radius: 14px;
    color: #AC1C5F;
    font-size: 27px;
}

/* Plan title */
body .pms-subscription-plan-name,
body .pms-subscription-plan > label {
    font-family: "Playfair Display", serif !important;
    font-size: 27px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    color: #AC1C5F !important;
}

/* Plan description */
body .pms-subscription-plan p,
body .pms-subscription-plan-description {
    font-family: "Roboto", sans-serif !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: #7A7A7A !important;
}

/* Plan radio */
body .pms-subscription-plan input[type="radio"] {
    accent-color: #AC1C5F !important;
}

/* =========================================
   BOX 2 — CREATE YOUR ACCOUNT
========================================= */

/* Separate field group when supported by PMS */
body .pms-form .pms-form-fields-wrapper {
    display: block !important;
    padding: 28px !important;
    margin: 0 0 25px !important;
    background: #FFFFFF !important;
    border: 1px solid #E8DDE3 !important;
    border-radius: 17px !important;
    box-shadow: 0 5px 20px rgba(65, 25, 45, 0.035) !important;
}

/* Account section icon using the first field area */
body .pms-form .pms-form-fields-wrapper::before {
    content: "\2659  Create Your Account";
    display: block;
    margin-bottom: 24px;
    padding-bottom: 17px;
    border-bottom: 1px solid #F0E4EA;
    font-family: "Playfair Display", serif;
    font-size: 25px;
    font-weight: 500;
    line-height: 1.4;
    color: #AC1C5F;
}

/* Labels */
body .pms-form label {
    display: inline-block;
    margin-bottom: 8px !important;
    font-family: "Roboto", sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #51454C !important;
}

/* Inputs */
body .pms-form input[type="text"],
body .pms-form input[type="email"],
body .pms-form input[type="password"],
body .pms-form input[type="tel"],
body .pms-form input[type="number"],
body .pms-form select,
body .pms-form textarea {
    width: 100% !important;
    min-height: 53px !important;
    padding: 14px 15px !important;
    background: #FFFCFD !important;
    border: 1px solid #E4D7DE !important;
    border-radius: 10px !important;
    font-family: "Roboto", sans-serif !important;
    font-size: 15px !important;
    color: #454047 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    transition: border-color .25s ease,
                box-shadow .25s ease;
}

/* Input focus */
body .pms-form input:focus,
body .pms-form select:focus,
body .pms-form textarea:focus {
    border-color: #AC1C5F !important;
    box-shadow: 0 0 0 3px rgba(172, 28, 95, .09) !important;
    outline: none !important;
}

/* Fields spacing */
body .pms-form .pms-field,
body .pms-form .pms-form-field {
    margin-bottom: 20px !important;
}

/* =========================================
   BOX 3 — PAYMENT
========================================= */

/* Payment area */
body .pms-form .pms-payment-methods,
body .pms-form .pms-payment-method,
body .pms-form .pms-billing-details,
body .pms-form .pms-payment-gateway,
body .pms-form .pms-credit-card-information {
    display: block !important;
    padding: 25px !important;
    margin: 0 0 25px !important;
    background: #FFF8FB !important;
    border: 1px solid #E8C8D7 !important;
    border-radius: 17px !important;
    box-shadow: none !important;
}

/* Payment heading */
body .pms-form .pms-payment-methods::before,
body .pms-form .pms-payment-method::before,
body .pms-form .pms-billing-details::before {
    content: "\25C8  Payment Details";
    display: block;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid #EEDCE5;
    font-family: "Playfair Display", serif;
    font-size: 25px;
    font-weight: 500;
    line-height: 1.4;
    color: #AC1C5F;
}

/* Radio and checkbox */
body .pms-form input[type="radio"],
body .pms-form input[type="checkbox"] {
    accent-color: #AC1C5F !important;
}

/* =========================================
   PREMIUM SUBSCRIBE BUTTON
========================================= */

body .pms-form input[type="submit"],
body .pms-form button[type="submit"],
body .pms-form .pms-submit,
body .pms-form .pms-submit-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 56px !important;
    padding: 16px 35px !important;
    background: #AC1C5F !important;
    border: 1px solid #AC1C5F !important;
    border-radius: 35px !important;
    color: #FFFFFF !important;
    font-family: "Roboto", sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    box-shadow: 0 6px 16px rgba(172, 28, 95, .16) !important;
    transition: all .25s ease !important;
}

body .pms-form input[type="submit"]:hover,
body .pms-form button[type="submit"]:hover,
body .pms-form .pms-submit:hover,
body .pms-form .pms-submit-button:hover {
    background: #861448 !important;
    border-color: #861448 !important;
    transform: translateY(-2px);
    box-shadow: 0 9px 20px rgba(172, 28, 95, .20) !important;
}

/* Links */
body .pms-form a {
    color: #AC1C5F !important;
    text-decoration: none;
}

body .pms-form a:hover {
    text-decoration: underline;
}

/* =========================================
   MOBILE RESPONSIVE
========================================= */

@media (max-width: 600px) {
    body .pms-form {
        padding: 16px !important;
        margin: 20px auto !important;
        border-radius: 17px !important;
    }

    body .pms-subscription-plan {
        padding: 23px 18px !important;
    }

    body .pms-form .pms-form-fields-wrapper {
        padding: 20px 16px !important;
    }

    body .pms-form .pms-payment-methods,
    body .pms-form .pms-payment-method,
    body .pms-form .pms-billing-details,
    body .pms-form .pms-payment-gateway {
        padding: 19px 15px !important;
    }

    body .pms-form .pms-form-fields-wrapper::before,
    body .pms-form .pms-payment-methods::before,
    body .pms-form .pms-payment-method::before,
    body .pms-form .pms-billing-details::before {
        font-size: 22px;
    }

    body .pms-form input[type="submit"],
    body .pms-form button[type="submit"],
    body .pms-form .pms-submit,
    body .pms-form .pms-submit-button {
        width: 100% !important;
    }
}

/* =========================================================
   PAINTBOX LONDON — STRIPE PAYMENT BOX DESIGN
   Scoped ONLY to the Stripe Connect payment section
========================================================= */

/* OUTER PAYMENT BOX */
body .pms-form #pms-stripe-connect {
    display: block !important;
    width: 100% !important;
    margin: 0 0 25px !important;
    padding: 25px !important;

    background: #FFF8FB !important;
    border: 1px solid #E8C8D7 !important;
    border-radius: 17px !important;

    box-shadow: none !important;
    box-sizing: border-box !important;
    list-style: none !important;
}

/* REMOVE DEFAULT LIST SPACING */
body .pms-form #pms-stripe-connect > li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* PAYMENT DETAILS HEADING */
body .pms-form #pms-stripe-connect > li.pms-field-type-heading {
    margin: 0 0 22px !important;
    padding: 0 0 16px !important;
    border-bottom: 1px solid #EEDCE5 !important;
}

/* HEADING TYPOGRAPHY */
body .pms-form #pms-stripe-connect > li.pms-field-type-heading h3 {
    margin: 0 !important;
    padding: 0 !important;

    font-family: "Playfair Display", serif !important;
    font-size: 25px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    color: #AC1C5F !important;
}

/* STRIPE PAYMENT ELEMENT CONTAINER */
body .pms-form #pms-stripe-connect #pms-stripe-payment-elements {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
}

/* KEEP STRIPE CONTENT WITHIN THE BOX */
body .pms-form #pms-stripe-connect .StripeElement {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* PAYMENT AREA SPACING */
body .pms-form #pms-stripe-connect .pms-paygate-extra-fields {
    box-sizing: border-box !important;
}

/* MOBILE RESPONSIVE */
@media (max-width: 600px) {

    body .pms-form #pms-stripe-connect {
        padding: 19px 15px !important;
        margin-bottom: 20px !important;
        border-radius: 17px !important;
    }

    body .pms-form #pms-stripe-connect > li.pms-field-type-heading {
        margin-bottom: 18px !important;
        padding-bottom: 13px !important;
    }

    body .pms-form #pms-stripe-connect > li.pms-field-type-heading h3 {
        font-size: 22px !important;
    }
}/* End custom CSS */