/* ==========================================================
   Mufasa — Stripe Express Checkout + Payment Element
   Só atua se os nós do Stripe existirem; PagBank/MP intactos.
   ========================================================== */

.mufasa-checkout-page form.checkout {
    position: relative;
}

/*
 * Fora da etapa Pagamento o ECE precisa existir no DOM e permanecer no viewport:
 * Chrome/Google Pay zera availablePaymentMethods se o botão nascer off-screen
 * (o Stripe então remove o nó e o wallet some para sempre).
 * Caixa pequena no canto, quase transparente, inert depois do mount — não cobre o form.
 */
.mc-stripe-express:not(.is-visible) {
    position: fixed !important;
    top: 8px !important;
    right: 8px !important;
    left: auto !important;
    width: 320px !important;
    height: 48px !important;
    overflow: hidden !important;
    opacity: 0.02 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

.mc-stripe-express:not(.is-visible) *,
.mc-stripe-express:not(.is-visible) iframe {
    pointer-events: none !important;
}

.mc-stripe-express:not(.is-visible) .blockUI {
    display: none !important;
}

/* Stripe ECE chama jQuery.blockUI no body. Fora do Pagamento isso congela a página. */
body.mufasa-checkout-page:not(.mc-on-payment-step):not(.wc-stripe-ece-processing) > .blockUI {
    display: none !important;
    pointer-events: none !important;
}

.mc-stripe-express.is-visible {
    position: static !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: auto !important;
    max-width: none;
}

.mc-stripe-express.is-visible.has-wallets {
    margin: 0 0 8px !important;
}

.mufasa-checkout-page .woocommerce-notices-wrapper:empty {
    display: none;
}

.mufasa-checkout-page .woocommerce-notices-wrapper .woocommerce-error,
.mufasa-checkout-page .woocommerce-notices-wrapper .woocommerce-info,
.mufasa-checkout-page .woocommerce-notices-wrapper .woocommerce-message {
    margin: 0 0 16px;
    padding: 12px 14px;
    border-radius: 5px;
    font-size: 13px;
    line-height: 1.4;
}

.mufasa-checkout-page .woocommerce-notices-wrapper .woocommerce-error {
    background: #fdecea;
    color: #d72c0d;
}

.mufasa-checkout-page #wc-stripe-express-checkout-element {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    clear: both;
}

.mufasa-checkout-page #wc-stripe-express-checkout-element iframe {
    max-width: none;
}

.mufasa-checkout-page #wc-stripe-express-checkout-button-separator {
    margin: 14px 0 18px !important;
    font-size: 13px;
    color: var(--mc-muted, #737373);
    letter-spacing: 0.02em;
    text-transform: lowercase;
}

/* Fieldset do UPE: a “bordinha” extra em volta do cartão */
.mufasa-checkout-page .mc-method-body #wc-stripe-upe-form,
.mufasa-checkout-page .mc-method-body fieldset.wc-payment-form,
.mufasa-order-pay-page #payment fieldset.wc-payment-form,
.mufasa-order-pay-page #payment #wc-stripe-upe-form {
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0;
    background: transparent;
    box-shadow: none;
}

.mufasa-checkout-page .mc-method-body .wc-stripe-upe-element,
.mufasa-order-pay-page #payment .wc-stripe-upe-element {
    margin: 0 0 4px;
}

.mufasa-checkout-page .mc-method-body #wc-stripe-hidden-style-input,
.mufasa-order-pay-page #payment #wc-stripe-hidden-style-input {
    display: none !important;
}

.mufasa-checkout-page .mc-method-body .woocommerce-SavedPaymentMethods-saveNew,
.mufasa-order-pay-page #payment .woocommerce-SavedPaymentMethods-saveNew {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 12px 0 0;
    padding: 0;
    border: 0;
    box-shadow: none;
}

.mufasa-checkout-page .mc-method-body .woocommerce-SavedPaymentMethods-saveNew label,
.mufasa-order-pay-page #payment .woocommerce-SavedPaymentMethods-saveNew label {
    display: inline;
    margin: 0;
    font-weight: 400;
    color: var(--mc-muted, #737373);
}

.mufasa-checkout-page .mc-method-body .woocommerce-SavedPaymentMethods-saveNew input[type="checkbox"],
.mufasa-order-pay-page #payment .woocommerce-SavedPaymentMethods-saveNew input[type="checkbox"] {
    width: auto;
    margin: 3px 0 0;
    flex-shrink: 0;
}

.mufasa-checkout-page .mc-method-body .testmode-info,
.mufasa-order-pay-page #payment .testmode-info {
    margin: 0 0 10px;
    font-size: 12px;
}
