/* === STRIPE PAYMENT BLOCK === */

.stripe-wrapper {
    margin-top: 15px;
    animation: fadeInStripe 0.3s ease-in-out;
}

.stripe-card-container {
    background: #ffffff;
    border: 1px solid #e6e6e6;
    border-radius: 8px;
    padding: 14px 16px;
    transition: all 0.2s ease;
}

.stripe-card-container:hover {
    border-color: #ff3b1f;
}

.stripe-card-container.StripeElement--focus {
    border-color: #ff3b1f;
    box-shadow: 0 0 0 2px rgba(255, 59, 31, 0.15);
}

.stripe-card-container.StripeElement--invalid {
    border-color: #e74c3c;
}

#card-errors {
    font-size: 14px;
    color: #e74c3c;
    margin-top: 6px;
}

/* Pay Via heading */
.payment-title {
    font-weight: 600;
    font-size: 18px;
    margin-bottom: 12px;
}

/* Radio stripe option */
.input-check:checked + label {
    font-weight: 600;
    color: #ff3b1f;
}

/* Place order button */
#placeOrderBtn {
    background: #ff3b1f;
    border: none;
    border-radius: 6px;
    padding: 14px 24px;
    font-size: 16px;
    font-weight: 600;
    transition: all 0.2s ease;
}

#placeOrderBtn:hover {
    background: #e63319;
}

#placeOrderBtn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

@keyframes fadeInStripe {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
}

.payment-gateway {
    margin-bottom: 20px;
}
