/* ========================================
   STRIPE PAYMENT GATEWAY - DARK THEME
   ======================================== */

/* Stripe Element Base Styling */
.StripeElement {
    padding: 12px;
    background: #0f1419 !important;
    border: 1px solid #374151 !important;
    border-radius: 0.5rem !important;
    transition: all 0.2s ease !important;
}

.StripeElement--focus {
    border-color: #0079F2 !important;
    box-shadow: 0 0 0 3px rgba(0, 121, 242, 0.1) !important;
}

.StripeElement--invalid {
    border-color: #ef4444 !important;
}

.StripeElement--webkit-autofill {
    background-color: #1a1f2e !important;
}

/* Stripe Elements Container */
#stripeElements {
    background: #1a1f2e !important;
    border: 1px solid #374151 !important;
    border-radius: 0.75rem !important;
    padding: 1.5rem !important;
    margin: 1rem 0 !important;
}

/* Stripe Card Inputs Wrapper */
.stripe-cards-inputs {
    background: transparent !important;
}

/* Labels */
#stripeElements label {
    color: #e5e7eb !important;
    font-weight: 500 !important;
    margin-bottom: 0.5rem !important;
    display: block !important;
}

/* Individual Input Containers */
#stripeCreditCard,
#stripeExpiryDate,
#stripeCvc {
    background: #0f1419 !important;
    border: 1px solid #374151 !important;
    border-radius: 0.5rem !important;
    padding: 12px !important;
    min-height: 44px !important;
}

#stripeCreditCard:focus-within,
#stripeExpiryDate:focus-within,
#stripeCvc:focus-within {
    border-color: #0079F2 !important;
    box-shadow: 0 0 0 3px rgba(0, 121, 242, 0.1) !important;
}

/* Card Type Display */
#stripeCardType {
    color: #9ca3af !important;
    font-size: 0.85rem !important;
    margin-top: 0.25rem !important;
}

/* Payment Request Button Container */
#paymentRequestButton {
    margin-bottom: 1rem !important;
}

/* Form Control Override for Stripe Divs */
#stripeElements .form-control {
    background: #0f1419 !important;
    border: 1px solid #374151 !important;
    color: #e5e7eb !important;
    border-radius: 0.5rem !important;
    min-height: 44px !important;
}

#stripeElements .form-control:focus,
#stripeElements .form-control:focus-within {
    border-color: #0079F2 !important;
    box-shadow: 0 0 0 3px rgba(0, 121, 242, 0.1) !important;
}

/* Row spacing */
#stripeElements .row {
    margin-bottom: 1rem !important;
}

/* Column styling */
#stripeElements .col-md-6,
#stripeElements .col-md-3,
#stripeElements .col-sm-7,
#stripeElements .col-sm-2,
#stripeElements .col-sm-4,
#stripeElements .col-sm-6 {
    margin-bottom: 1rem !important;
}

/* Control Label */
#stripeElements .control-label {
    color: #e5e7eb !important;
    font-weight: 500 !important;
}

/* CC Billing Address Row */
#stripeElements .cc-billing-address {
    margin-bottom: 1rem !important;
}

/* CVV Where Link */
#stripeCvcWhere {
    color: #9ca3af !important;
}

#stripeCvcWhere a,
#stripeCvcWhere button {
    color: #0079F2 !important;
}

/* Error message styling */
.stripe-error,
#stripeElements .error {
    color: #ef4444 !important;
    font-size: 0.85rem !important;
    margin-top: 0.25rem !important;
}

/* Heading if present */
#stripeElements h4,
#stripeElements h5 {
    color: #e5e7eb !important;
    font-weight: 600 !important;
    margin-bottom: 1rem !important;
    padding-bottom: 0.5rem !important;
    border-bottom: 1px solid #374151 !important;
}

/* Clearfix */
#stripeElements .clearfix {
    background: transparent !important;
}
