/* ============================================================
   Checkout Auth CSS - Override MemberPress ReadyLaunch Defaults
   ============================================================ */

/* --- GLOBAL: Force link colors (MemberPress :visited override) --- */
body a,
body a:visited,
body a:link {
    /* color: inherit; */
    text-decoration: none;
}

/* --- FORM CONTAINER --- */
.mepr-signup-form.mepr-form {
    max-width: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.mepr-signup-form fieldset {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.mepr-signup-form .mp-form-row {
    margin: 0 !important;
}

.mepr-checkout-container {
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Remove form-wrapper default padding & border from MemberPress */
.mepr-checkout-container .form-wrapper,
.form-wrapper {
    border-left: none !important;
    border: none !important;
    padding: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
}

.mepr-checkout-container .invoice-wrapper {
    max-width: none !important;
}

/* --- INPUT OVERRIDES --- */
/* Override .mepr-form input and .form-wrapper .mp-form-row input defaults */
.mepr-form input[type="text"],
.mepr-form input[type="email"],
.mepr-form input[type="tel"],
.mepr-form input[type="password"],
.mepr-form input[type="number"],
.mepr-form input[type="url"],
.mepr-form input[type="search"],
.mepr-form textarea,
.mepr-signup-form input[type="text"],
.mepr-signup-form input[type="email"],
.mepr-signup-form input[type="tel"],
.mepr-signup-form input[type="password"],
.mepr-signup-form input[type="number"],
.form-wrapper input[type="text"],
.form-wrapper input[type="email"],
.form-wrapper input[type="tel"],
.form-wrapper input[type="password"],
.form-wrapper input[type="number"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: white !important;
    height: auto !important;
    margin: 0 !important;
    padding: 15px 13px !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    box-sizing: border-box !important;
}

.mepr-form input::placeholder,
.mepr-signup-form input::placeholder,
.form-wrapper input::placeholder {
    color: #a0a0a0 !important;
}

/* --- SUBMIT BUTTON --- */
.mepr-signup-form .mepr-submit,
.mp-form-submit input[type="submit"] {
    background: #FFFF01 !important;
    background-color: #FFFF01 !important;
    color: #3d2901 !important;
    font-weight: 700 !important;
    font-size: 1.125rem !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    height: 54px !important;
    width: 100% !important;
    border-radius: 999px !important;
    border: 4px solid rgba(255, 255, 255, 0.2) !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 10px 15px -3px rgba(255, 255, 1, 0.1) !important;
}

.mepr-signup-form .mepr-submit:hover,
.mp-form-submit input[type="submit"]:hover {
    background: #E6E600 !important;
    background-color: #E6E600 !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 10px 30px rgba(255, 255, 1, 0.2) !important;
}

/* --- ERROR STYLING --- */
.mepr-signup-form .mepr-form-has-errors {
    background: rgba(239, 68, 68, 0.2) !important;
    border: 1px solid rgba(239, 68, 68, 0.3) !important;
    border-radius: 0.5rem !important;
    padding: 1rem !important;
    color: #ef4444 !important;
    font-size: 0.875rem !important;
    text-align: center !important;
    margin: 1rem 0 !important;
}

/* --- PAYMENT METHODS --- */
.mepr-payment-methods-wrapper {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

.mepr-payment-methods-icons img {
    max-height: 40px !important;
}

.mepr-payment-methods-radios {
    background: transparent !important;
}

.mepr-payment-methods-radios input[type="radio"] {
    accent-color: #FFFF01 !important;
}

/* --- CHECKBOX --- */
.mepr-signup-form input[type="checkbox"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 0 !important;
    height: 0 !important;
}

/* --- LABELS --- */
.mepr-signup-form label {
    color: white !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
}

.mepr-signup-form .mp-form-label label {
    display: none !important;
}

/* --- COUPON --- */
.mepr-coupon-code {
    background: #101010 !important;
    background-color: #101010 !important;
    border: 1px solid #555 !important;
    border-radius: 6px !important;
    color: white !important;
    padding: 15px 13px !important;
}

.mepr-coupon-code:focus {
    border-color: #FFFF01 !important;
    outline: none !important;
}

/* --- MISC --- */
.mepr-signup-form .mepr-loading-gif {
    display: inline-block !important;
    margin-left: 1rem !important;
    vertical-align: middle !important;
}

/* --- HIDE PAYMENT METHODS SECTION (single method = Midtrans default) --- */
.mepr-payment-methods-wrapper.mepr-hidden {
    display: none !important;
}

.mepr_spacer {
    height: 0 !important;
    margin: 0 !important;
}

.mepr-welcome-image {
    display: none !important;
}

/* --- FORM SPACING (match space-y-[19px]) --- */
.form-wrapper > * + * {
    margin-top: 19px !important;
}

/* --- MEMBERPRESS-RENDERED FIELDS (address, custom fields, phone) --- */
/* Wrapper row */
.form-wrapper .mp-form-row {
    margin: 0 !important;
}

/* Labels for MP-rendered rows */
.form-wrapper .mp-form-row .mp-form-label label,
.form-wrapper .mp-form-row label {
    display: block !important;
    color: white !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    letter-spacing: -0.48px !important;
    margin-bottom: 8px !important;
}

/* All inputs/selects/textareas inside MP-rendered rows get the styled wrapper look */
.form-wrapper .mp-form-row input.mepr-form-input,
.form-wrapper .mp-form-row select.mepr-form-input,
.form-wrapper .mp-form-row textarea.mepr-form-input {
    background: #101010 !important;
    background-color: #101010 !important;
    border: 1px solid #555 !important;
    border-radius: 6px !important;
    color: white !important;
    padding: 15px 13px !important;
    width: 100% !important;
    font-size: 0.875rem !important;
    letter-spacing: -0.42px !important;
    box-sizing: border-box !important;
    height: auto !important;
    margin: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease !important;
}

.form-wrapper .mp-form-row input.mepr-form-input:focus,
.form-wrapper .mp-form-row select.mepr-form-input:focus,
.form-wrapper .mp-form-row textarea.mepr-form-input:focus {
    border-color: #FFFF01 !important;
    outline: none !important;
    box-shadow: none !important;
}

.form-wrapper .mp-form-row input.mepr-form-input::placeholder,
.form-wrapper .mp-form-row textarea.mepr-form-input::placeholder {
    color: #a0a0a0 !important;
}

/* Select arrow for country/state selects */
.form-wrapper .mp-form-row select.mepr-form-input {
    appearance: auto !important;
    -webkit-appearance: auto !important;
    background-image: none !important;
    cursor: pointer !important;
}

/* Phone field: intl-tel-input wrapper rendered by MemberPress */
.form-wrapper .mp-form-row .iti {
    width: 100% !important;
    display: block !important;
}

.form-wrapper .mp-form-row .iti__flag-container {
    background: #1a1a1a !important;
    border-right: 1px solid #555 !important;
    border-radius: 6px 0 0 6px !important;
}

.form-wrapper .mp-form-row .iti.iti--separate-dial-code .iti__selected-flag {
    background: transparent !important;
    padding: 0 12px !important;
}

.form-wrapper .mp-form-row .iti__country-list {
    background: #101010 !important;
    border: 1px solid #555 !important;
    color: white !important;
    z-index: 9999 !important;
}

.form-wrapper .mp-form-row .iti__country:hover {
    background: #1a1a1a !important;
}

.form-wrapper .mp-form-row .iti__dial-code {
    color: #a0a0a0 !important;
}

/* cc-error / inline error messages */
.form-wrapper .mp-form-row .cc-error {
    display: none !important;
    color: #ef4444 !important;
    font-size: 0.75rem !important;
    margin-top: 4px !important;
}

/* Address group: stack rows vertically with gap */
.form-wrapper .mp-address-group > .mp-form-row + .mp-form-row {
    margin-top: 12px !important;
}

/* --- HIDE mp-hide-pw button (we use custom SVG toggle) --- */
.mp-hide-pw > button.mp-hide-pw {
    display: none !important;
}
