/* Scoped checkout styling: intentionally avoids changing the store theme outside this gateway. */
.payment_box.payment_method_multistore_stripe_onsite_v2 {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    margin: 14px 0 0 !important;
    padding: 0 !important;
}

.payment_box.payment_method_multistore_stripe_onsite_v2::before {
    display: none !important;
}

.msp-checkout-shell {
    width: 100%;
    box-sizing: border-box;
    padding: 20px;
    border: 1px solid #e4e7ec;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(16, 24, 40, .06);
}

.msp-checkout-heading {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 18px;
    color: #101828;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.35;
}

.msp-stripe-badge {
    margin-left: auto;
    padding: 5px 9px;
    border: 1px solid #eaecf0;
    border-radius: 999px;
    color: #667085;
    background: #f9fafb;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

.msp-lock,
.msp-shield {
    position: relative;
    display: inline-block;
    flex: 0 0 auto;
}

.msp-lock {
    width: 13px;
    height: 11px;
    border-radius: 3px;
    background: #4f35d9;
}

.msp-lock::before {
    content: "";
    position: absolute;
    left: 3px;
    top: -7px;
    width: 7px;
    height: 8px;
    box-sizing: border-box;
    border: 2px solid #4f35d9;
    border-bottom: 0;
    border-radius: 7px 7px 0 0;
}

.msp-checkout-description {
    margin: -8px 0 16px;
    color: #667085;
    font-size: 14px;
}

.msp-checkout-description p { margin: 0 !important; }
.msp-payment-element { width: 100%; }

.msp-secure-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 15px;
    color: #667085;
    font-size: 12px;
    line-height: 1.4;
}

.msp-shield {
    width: 11px;
    height: 13px;
    border: 1.5px solid #667085;
    border-radius: 6px 6px 8px 8px;
}

.msp-payment-error {
    display: none;
    margin-top: 12px;
    padding: 10px 12px;
    border: 1px solid #fecdca;
    border-radius: 8px;
    color: #b42318;
    background: #fef3f2;
    font-size: 13px;
}

.msp-payment-error:not(:empty) { display: block; }

@media (max-width: 600px) {
    .msp-checkout-shell { padding: 15px; border-radius: 12px; }
    .msp-checkout-heading { align-items: flex-start; flex-wrap: wrap; }
    .msp-stripe-badge { margin-left: 0; }
}
