:root {
    --ml-vs-purple: #565594;
    --ml-vs-purple-hover: #5d5ca1;
    --ml-vs-blue: #3185b3;
    --ml-vs-blue-hover: #16618c;
    --ml-vs-yellow: #fad02b;
    --ml-vs-soft-yellow: #ffefad;
    --ml-vs-soft-blue: #dceef8;
    --ml-vs-text: #191d26;
    --ml-vs-border: rgba(86, 85, 148, .24);
    --ml-vs-white: #fff;
}

/* =========================================================
   AUKOJIMO FORMA
   ========================================================= */

.vs-donation-form {
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
    padding: 36px;
    border: 1px solid var(--ml-vs-border);
    border-radius: 28px;
    background: var(--ml-vs-soft-blue);
    box-shadow: 0 18px 45px rgba(25, 29, 38, .08);
    font-family: "Nunito Sans", sans-serif;
}

.vs-donation-form *,
.vs-donation-form *::before,
.vs-donation-form *::after {
    box-sizing: border-box;
}

.vs-donation-form .homepage-hero-section__subscription-form--row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    width: 100%;
    margin-bottom: 18px;
}

.vs-donation-form .homepage-hero-section__subscription-form--row:first-of-type {
    display: block;
    margin-bottom: 24px;
    color: var(--ml-vs-purple);
    font-size: 30px;
    font-weight: 700 !important;
    line-height: 1.15;
    text-align: center;
    text-transform: uppercase;
}

.vs-donation-form .btn-regular {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    height: 54px;
    padding: 0 18px;
    margin: 0;
    border: 2px solid transparent;
    border-radius: 999px;
    background: var(--ml-vs-white);
    color: var(--ml-vs-purple);
    box-shadow: none;
    font-family: "Nunito Sans", sans-serif;
    font-size: 17px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    text-transform: none;
    transition:
        border-color .2s ease,
        background-color .2s ease,
        color .2s ease,
        transform .2s ease;
}

.vs-donation-form button.btn-regular {
    cursor: pointer;
}

.vs-donation-form .btn-regular:hover,
.vs-donation-form .btn-regular:focus {
    border-color: var(--ml-vs-purple);
    background: var(--ml-vs-white);
    color: var(--ml-vs-purple);
    outline: none;
    transform: translateY(-1px);
}

.vs-donation-form .btn-regular.is-active {
    border-color: var(--ml-vs-purple);
    background: var(--ml-vs-purple);
    color: var(--ml-vs-white);
}

.vs-donation-form .homepage-hero-section__subscription-form--input {
    appearance: none;
    -webkit-appearance: none;
}

.vs-donation-form .homepage-hero-section__subscription-form--input::placeholder {
    color: rgba(86, 85, 148, .72);
    opacity: 1;
}

.vs-donation-form .homepage-hero-section__subscription-form--input:focus {
    border-color: var(--ml-vs-purple);
    background: var(--ml-vs-white);
    box-shadow: 0 0 0 3px rgba(86, 85, 148, .12);
}

.vs-donation-form .homepage-hero-section__submit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 58px;
    padding: 0 42px;
    margin: 10px 0 0;
    border: 0;
    border-radius: 999px;
    background: var(--ml-vs-purple);
    color: var(--ml-vs-white);
    box-shadow: none;
    font-family: "Nunito Sans", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color .2s ease, transform .2s ease;
}

.vs-donation-form .homepage-hero-section__submit-btn:hover,
.vs-donation-form .homepage-hero-section__submit-btn:focus {
    background: var(--ml-vs-purple-hover);
    color: var(--ml-vs-white);
    outline: none;
    transform: translateY(-1px);
}

/* =========================================================
   DONACIJOS CHECKOUT
   ========================================================= */

body.vs-donation-checkout {
    color: var(--ml-vs-text);
    font-family: "Nunito Sans", sans-serif;
}

body.vs-donation-checkout .checkout-page-title,
body.vs-donation-checkout .woocommerce-billing-fields > h3,
body.vs-donation-checkout #order_review_heading {
    color: var(--ml-vs-purple);
    font-family: "Nunito Sans", sans-serif;
    font-weight: 700;
}

body.vs-donation-checkout .woocommerce-billing-fields,
body.vs-donation-checkout .woocommerce-checkout-review-order {
    padding: 30px;
    border: 1px solid var(--ml-vs-border);
    border-radius: 24px;
    background: var(--ml-vs-white);
    box-shadow: 0 14px 35px rgba(25, 29, 38, .06);
}

body.vs-donation-checkout .form-row label {
    margin-bottom: 7px;
    color: var(--ml-vs-text);
    font-size: 15px;
    font-weight: 700;
}

body.vs-donation-checkout .form-row input.input-text,
body.vs-donation-checkout .form-row select,
body.vs-donation-checkout .select2-container .select2-selection {
    min-height: 50px;
    border: 1px solid var(--ml-vs-border);
    border-radius: 14px;
    background: var(--ml-vs-white);
    box-shadow: none;
    color: var(--ml-vs-text);
    font-size: 16px;
}

body.vs-donation-checkout .form-row input.input-text:focus,
body.vs-donation-checkout .form-row select:focus {
    border-color: var(--ml-vs-purple);
    box-shadow: 0 0 0 3px rgba(86, 85, 148, .12);
}

body.vs-donation-checkout .form-row-first,
body.vs-donation-checkout .form-row-last {
    width: calc(50% - 8px);
}

body.vs-donation-checkout .form-row-first {
    margin-right: 16px;
}

body.vs-donation-checkout .form-row-wide {
    clear: both;
}

body.vs-donation-checkout #ml_consent_terms_field,
body.vs-donation-checkout #ml_consent_privacy_field {
    margin-top: 14px;
    padding: 15px 17px;
    border-radius: 14px;
    background: var(--ml-vs-soft-blue);
}

body.vs-donation-checkout #ml_consent_terms_field label,
body.vs-donation-checkout #ml_consent_privacy_field label {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.45;
}

body.vs-donation-checkout #ml_consent_terms_field a,
body.vs-donation-checkout #ml_consent_privacy_field a {
    color: var(--ml-vs-purple);
    text-decoration: underline;
    text-underline-offset: 2px;
}

body.vs-donation-checkout .ml-donation-summary {
    margin-bottom: 22px;
    padding: 24px;
    border-radius: 20px;
    background: var(--ml-vs-soft-yellow);
    text-align: center;
}

body.vs-donation-checkout .ml-donation-summary__amount {
    margin: 0;
    color: var(--ml-vs-purple);
    font-size: clamp(34px, 4vw, 52px);
    font-weight: 700;
    line-height: 1;
}

body.vs-donation-checkout #payment {
    border: 0;
    border-radius: 20px;
    background: var(--ml-vs-soft-blue);
}

body.vs-donation-checkout #payment ul.payment_methods {
    padding: 22px;
    border-bottom: 1px solid var(--ml-vs-border);
}

body.vs-donation-checkout #payment div.payment_box {
    border-radius: 14px;
    background: var(--ml-vs-white);
    color: var(--ml-vs-text);
}

body.vs-donation-checkout #payment div.form-row {
    padding: 22px;
}

body.vs-donation-checkout #place_order {
    width: 100%;
    min-height: 58px;
    margin: 0;
    border: 0;
    border-radius: 999px;
    background: var(--ml-vs-purple) !important;
    color: var(--ml-vs-white) !important;
    box-shadow: none;
    font-family: "Nunito Sans", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    text-transform: uppercase;
    transition: background-color .2s ease, transform .2s ease;
}

body.vs-donation-checkout #place_order:hover {
    background: var(--ml-vs-purple-hover) !important;
    transform: translateY(-1px);
}

body.vs-donation-checkout .woocommerce-error,
body.vs-donation-checkout .woocommerce-message,
body.vs-donation-checkout .woocommerce-info {
    border-radius: 14px;
}

/*
 * Donation-only checkout cleanup.
 * WooCommerce / Flatsome still render empty column wrappers after the
 * shipping and order-note fields are removed in PHP. Do not let global
 * checkout card styles turn those empty wrappers into visible cards.
 */
body.vs-donation-checkout #customer_details > .col-2,
body.vs-donation-checkout #customer_details .woocommerce-shipping-fields,
body.vs-donation-checkout #customer_details .shipping_address,
body.vs-donation-checkout #customer_details .woocommerce-additional-fields,
body.vs-donation-checkout #customer_details .woocommerce-additional-fields__field-wrapper {
    display: none !important;
    min-height: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.vs-donation-checkout #customer_details > .col-1,
body.vs-donation-checkout #customer_details .woocommerce-billing-fields {
    margin-bottom: 0 !important;
}

/* Neutralise older/global summary sizing that pushed the amount over payment. */
body.vs-donation-checkout #order_review,
body.vs-donation-checkout #order_review.woocommerce-checkout-review-order {
    min-height: 0 !important;
    height: auto !important;
}

body.vs-donation-checkout #order_review .ml-donation-summary {
    display: block !important;
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 0 22px !important;
    padding: 26px 20px !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 20px !important;
    background: var(--ml-vs-soft-yellow) !important;
    box-shadow: none !important;
    transform: none !important;
}

body.vs-donation-checkout #order_review .ml-donation-summary__amount {
    display: block !important;
    position: static !important;
    inset: auto !important;
    width: auto !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

body.vs-donation-checkout #order_review #payment {
    position: static !important;
    margin: 0 !important;
    transform: none !important;
}

/* v2.6: unique summary classes avoid legacy ML/global checkout rules. */
body.vs-donation-checkout #order_review {
    display: block !important;
    align-items: initial !important;
    justify-content: initial !important;
}

body.vs-donation-checkout #order_review .vs-donation-review {
    display: block !important;
    position: static !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 0 22px !important;
    padding: 28px 20px !important;
    border: 0 !important;
    border-radius: 20px !important;
    background: var(--ml-vs-soft-yellow) !important;
    box-shadow: none !important;
    transform: none !important;
}

body.vs-donation-checkout #order_review .vs-donation-review__amount {
    display: block !important;
    position: static !important;
    width: auto !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--ml-vs-purple) !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: clamp(34px, 4vw, 52px) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
    transform: none !important;
}

/* Naudojamas vienas billing adresas; antro pristatymo adreso kortelės nereikia. */
body.woocommerce-checkout:not(.vs-donation-checkout) .woocommerce-shipping-fields,
body.woocommerce-checkout:not(.vs-donation-checkout) .shipping_address {
    display: none !important;
}

@media (max-width: 849px) {
    .vs-donation-form {
        padding: 26px 20px;
        border-radius: 22px;
    }

    .vs-donation-form .homepage-hero-section__subscription-form--row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .vs-donation-form .homepage-hero-section__subscription-form--row:first-of-type {
        font-size: 25px;
    }

    body.vs-donation-checkout .woocommerce-billing-fields,
    body.vs-donation-checkout .woocommerce-checkout-review-order {
        padding: 22px 18px;
        border-radius: 20px;
    }

    body.vs-donation-checkout .form-row-first,
    body.vs-donation-checkout .form-row-last {
        width: 100%;
        margin-right: 0;
    }
}

@media (max-width: 549px) {
    .vs-donation-form .homepage-hero-section__subscription-form--row {
        grid-template-columns: 1fr;
    }

    .vs-donation-form .btn-regular,
    .vs-donation-form .homepage-hero-section__submit-btn {
        min-height: 54px;
        font-size: 16px;
    }
}


/* Aukos rūšies pasirinkimas */

.vs-donation-form .vs-donation-type {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 22px;
    padding: 6px;
    border-radius: 999px;
    background: rgba(86, 85, 148, .10);
}

.vs-donation-form .vs-donation-type__option {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    margin: 0;
    padding: 0 20px;
    border-radius: 999px;
    color: var(--ml-vs-purple);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.vs-donation-form .vs-donation-type__option input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.vs-donation-form .vs-donation-type__option:hover {
    transform: translateY(-1px);
}

.vs-donation-form .vs-donation-type__option.is-active {
    background: var(--ml-vs-purple);
    color: #fff;
}

@media (max-width: 549px) {
    .vs-donation-form .vs-donation-type {
        grid-template-columns: 1fr;
        border-radius: 22px;
    }

    .vs-donation-form .vs-donation-type__option {
        border-radius: 18px;
    }
}


/* v2.1 interaktyvių būsenų pataisymai */

.vs-donation-form .vs-donation-type__option {
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

.vs-donation-form .vs-donation-type__option,
.vs-donation-form .amount-row button.amount {
    position: relative;
    z-index: 2;
    pointer-events: auto !important;
}

.vs-donation-form .vs-donation-current-type {
    grid-column: 1 / -1;
    color: var(--ml-vs-purple);
    font-size: 30px;
    font-weight: 700;
    line-height: 1.15;
    text-align: center;
    text-transform: uppercase;
}

.vs-donation-form button.is-active {
    border-color: var(--ml-vs-purple) !important;
    background: var(--ml-vs-purple) !important;
    color: #fff !important;
}


/* =========================================================
   AČIŪ PUSLAPIS
   ========================================================= */

.vs-donation-thanks {
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
    padding: 70px 50px;
    color: var(--ml-vs-text);
    font-family: "Nunito Sans", sans-serif;
    text-align: center;
}

.vs-donation-thanks__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 94px;
    height: 94px;
    margin: 0 auto 30px;
    border-radius: 50%;
    background: var(--ml-vs-soft-yellow);
    color: var(--ml-vs-purple);
    font-size: 46px;
    line-height: 1;
}

.vs-donation-thanks h1,
.vs-donation-thanks h2 {
    margin: 0 0 24px;
    color: var(--ml-vs-purple);
    font-family: "Nunito Sans", sans-serif;
    font-size: clamp(38px, 5vw, 64px);
    font-weight: 700;
    line-height: 1;
}

.vs-donation-thanks__lead {
    margin-bottom: 32px;
    font-size: 21px;
    font-weight: 700;
}

.vs-donation-thanks__summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 0 0 34px;
}

.vs-donation-thanks__summary > div {
    padding: 22px 18px;
    border-radius: 20px;
    background: var(--ml-vs-soft-blue);
}

.vs-donation-thanks__summary span,
.vs-donation-thanks__summary strong {
    display: block;
}

.vs-donation-thanks__summary span {
    margin-bottom: 7px;
    font-size: 14px;
    font-weight: 700;
    opacity: .72;
}

.vs-donation-thanks__summary strong {
    color: var(--ml-vs-purple);
    font-size: 20px;
    line-height: 1.25;
}

.vs-donation-thanks > p:not(.vs-donation-thanks__lead) {
    max-width: 680px;
    margin: 0 auto 32px;
    font-size: 18px;
    line-height: 1.55;
}

.vs-donation-thanks__button.button {
    width: auto;
    min-width: 290px;
    margin: 0;
}

.vs-donation-thanks--invalid {
    padding-top: 50px;
    padding-bottom: 50px;
}

@media (max-width: 849px) {
    .vs-donation-thanks {
        padding: 50px 20px;
    }

    .vs-donation-thanks__summary {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 549px) {
    .vs-donation-thanks h1,
    .vs-donation-thanks h2 {
        font-size: 36px;
    }

    .vs-donation-thanks__button.button {
        width: 100%;
        min-width: 0;
    }
}
