.blast-auth { max-width: 38rem; margin: 1.5rem 0; }
.blast-auth-panel { padding: 1.2rem; border: 1px solid #ddd; margin-bottom: 1rem; }
.blast-auth label { display: block; margin: .8rem 0; }
.blast-auth input:not([type=checkbox]) { display: block; width: 100%; }
.blast-auth nav { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
.blast-auth [role=status] { margin-top: .75rem; }
.blast-auth button:disabled { opacity: .6; }
.blast-auth .blast-password-field { position: relative; }
.blast-auth .blast-password-field input { padding-right: 4.5rem; }
.blast-auth .blast-password-toggle { position: absolute; top: 0; right: 0; bottom: 0; min-width: 44px; padding: 0 1rem; border: 0; border-radius: 0; background: transparent; color: #111; font: inherit; font-weight: 600; cursor: pointer; }
.blast-auth .blast-password-toggle:is(:hover, :focus, :active) { border: 0; background: transparent; color: #555; outline: none; box-shadow: none; }
.blast-auth .blast-password-toggle:focus-visible { color: #111; outline: 2px solid #111; outline-offset: -6px; }
.blast-auth .blast-password-toggle[hidden] { display: none; }

.blast-checkout-auth { margin: 1.5rem 0; }
.blast-checkout-auth summary { cursor: pointer; list-style: none; }
.blast-checkout-auth summary::-webkit-details-marker { display: none; }
.blast-checkout-auth summary span { text-decoration: underline; }
.blast-checkout-auth [hidden] { display: none !important; }
.blast-checkout-auth .woocommerce-error.blast-checkout-auth-error {
    background: #ff9800;
    color: #fff !important;
    font-weight: 600;
    line-height: 1.5;
}

/* Keep Elementor's production checkout typography, sizing and responsive layout. */
.blast-checkout-auth.e-woocommerce-login-section { margin: 0 0 24px; }
.blast-checkout-auth .blast-auth { max-width: none; margin: 0; }
.blast-checkout-auth details[open] > summary { margin-bottom: 24px; }
.blast-checkout-auth .blast-auth-panel p,
.blast-checkout-auth .blast-auth-panel label { color: #fff; }
.blast-checkout-auth .blast-checkout-login { margin-bottom: 1rem; }
.blast-checkout-auth .blast-checkout-login .e-login-wrap .e-login-wrap-start { width: 100%; flex: 1 1 100%; }
.blast-checkout-auth .blast-checkout-login button.woocommerce-button[data-submit] {
    background-color: var(--e-global-color-f100c45, #f90);
    border-color: var(--e-global-color-f100c45, #f90);
    color: var(--e-global-color-text, #fff);
}
.blast-checkout-auth .blast-checkout-login label { display: inline; margin-top: 0; }
.blast-checkout-auth .blast-checkout-login .woocommerce-form-login__rememberme { margin: 0; }
.blast-checkout-auth .blast-checkout-login input:not([type=checkbox]) { display: inline-block; }
.blast-checkout-auth .blast-checkout-login [data-status]:empty { display: none; }

.blast-checkout-auth .blast-checkout-create-link { color: #fff; }
