/* DOUBLE THE WIDTH - MAKE IT MASSIVE */

/* Override the outer wrapper modal */
div[style*="position: fixed"][style*="z-index: 2147483647"] {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background-color: rgba(0, 0, 0, 0.8) !important;
    z-index: 2147483647 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, sans-serif !important;
}

/* Override the inner white modal container - DOUBLE THE WIDTH */
div[style*="background-color: white"][style*="max-width: 500px"] {
    background-color: white !important;
    padding: 80px !important;
    border-radius: 10px !important;
    max-width: 4000px !important; /* DOUBLED - was 2000px, now 4000px */
    width: 98% !important; /* Use almost full screen width */
    min-width: 3000px !important; /* DOUBLED minimum width */
    max-height: 90vh !important;
    overflow: auto !important;
    border: 1px solid rgb(229, 231, 235) !important;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.04) 0px 10px 10px -5px !important;
}

/* Style the gray container inside - BIGGER */
div[style*="border: 2px solid rgb(204, 204, 204)"] {
    border: 2px solid rgb(204, 204, 204) !important;
    padding: 60px !important; /* More padding for bigger container */
    border-radius: 5px !important;
    background-color: rgb(249, 249, 249) !important;
    width: 100% !important;
}

/* STRIPE FORM INSIDE THE WRAPPER */
.stripe-subscription {
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    background: transparent !important;
    display: block !important;
    z-index: auto !important;
}

/* Modal form - use full width of the massive container */
.stripe-form {
    background: transparent !important;
    width: 100% !important;
    max-width: none !important;
    min-width: auto !important;
    max-height: none !important;
    border-radius: 0 !important;
    padding: 40px !important;
    box-shadow: none !important;
    overflow-y: visible !important;
    text-align: center !important;
    position: static !important;
    margin: 0 !important;
}

/* Titles - bigger for the massive container */
.stripe-form h3,
.stripe-form h4 {
    font-size: 48px !important; /* Bigger for massive container */
    color: #333 !important;
    margin-bottom: 40px !important;
    text-align: center !important;
    font-weight: bold !important;
}

/* Labels - bigger */
.stripe-form label {
    display: block !important;
    font-size: 28px !important; /* Bigger for massive container */
    color: #333 !important;
    margin-bottom: 20px !important;
    font-weight: bold !important;
}

/* Inputs - MASSIVE WIDTH to fill the huge container */
.stripe-form input {
    width: 100% !important;
    max-width: 2000px !important; /* DOUBLED - was 1000px, now 2000px */
    height: 80px !important; /* Taller */
    font-size: 26px !important; /* Bigger font */
    padding: 25px !important;
    border: 3px solid #ddd !important;
    border-radius: 10px !important;
    text-align: center !important;
    margin: 0 auto 30px auto !important;
    display: block !important;
}

/* Form groups - more spacing */
.stripe-form .form-group {
    margin-bottom: 50px !important;
    text-align: center !important;
}

/* Buttons - much bigger */
.stripe-form button {
    padding: 25px 50px !important;
    font-size: 24px !important;
    margin: 25px !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    min-width: 300px !important;
}

/* STRIPE CARD ELEMENT - MASSIVE WIDTH */
.stripe-form .card-element-container {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    width: 100% !important;
    max-width: 2000px !important; /* DOUBLED - was 1000px, now 2000px */
    margin: 50px auto !important;
    padding: 30px !important;
    border: 3px solid #ddd !important;
    border-radius: 10px !important;
    background: white !important;
}

/* STRIPE ELEMENTS - bigger */
.stripe-form .StripeElement {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: 70px !important; /* Taller */
    width: 100% !important;
    padding: 25px !important;
}

/* Price display - bigger */
.stripe-form .price {
    font-size: 32px !important;
    color: #333 !important;
    font-weight: bold !important;
    margin-bottom: 30px !important;
}

/* Security notice - bigger */
.stripe-form .security-notice {
    font-size: 18px !important;
    margin-top: 40px !important;
    color: #666 !important;
}

/* Mobile responsive */
@media (max-width: 768px) {
    div[style*="max-width: 500px"] {
        max-width: 98vw !important;
        min-width: 350px !important;
        padding: 30px 20px !important;
    }
    
    .stripe-form input,
    .stripe-form .card-element-container {
        max-width: 100% !important;
    }
    
    .stripe-form h3,
    .stripe-form h4 {
        font-size: 32px !important;
    }
    
    .stripe-form label {
        font-size: 20px !important;
    }
    
    .stripe-form input {
        font-size: 18px !important;
        height: 60px !important;
    }
}
