@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700;800&display=swap');

body {
    font-family: 'Poppins', sans-serif;
    margin: 0;
    padding: 0;
    background-color: #ffffff;
    color: #333;
}

.main-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 100vh;
    padding-bottom: 0;
}

.top-logos {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 25px;
    padding: 30px 10px;
    width: 100%;
}

.logo-chec { height: 50px; width: auto; }
.logo-bic { height: 40px; width: auto; }

.main-title {
    color: #00843D;
    font-size: 1.4rem;
    font-weight: 700;
    margin: 20px;
    text-align: center;
    max-width: 80%;
}

.view-container {
    width: 100%;
    max-width: 500px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px;
}

.input-underline-group {
    display: flex;
    align-items: center;
    border-bottom: 2px solid #333;
    padding: 10px 0;
    width: 100%;
    margin-bottom: 30px;
}

.icon-list { font-size: 1.2rem; margin-right: 12px; opacity: 0.7; }

#niu-input {
    border: none;
    outline: none;
    flex: 1;
    font-size: 1rem;
    font-family: 'Poppins', sans-serif;
}

.btn-info {
    background: #A6CE39;
    border: none;
    color: #fff;
    padding: 6px 18px;
    border-radius: 20px;
    font-weight: 600;
    cursor: pointer;
}

.btn-primary-outline {
    background: #E6E6E6;
    border: none;
    color: #A3A3A3;
    padding: 14px 60px;
    border-radius: 30px;
    font-weight: 700;
    font-size: 1.1rem;
    cursor: pointer;
    transition: 0.3s;
}

.btn-primary-outline:hover { background: #d8d8d8; }

.subtitle-alert {
    color: #0033a0;
    font-size: 0.85rem;
    text-align: center;
    margin-bottom: 25px;
    line-height: 1.4;
}

.account-badge {
    background: #E6E6E6;
    padding: 12px 30px;
    border-radius: 25px;
    font-size: 1.1rem;
    margin-bottom: 15px;
    font-weight: 400;
}

.account-badge strong { font-weight: 700; }

.client-name { font-size: 1rem; margin-bottom: 25px; color: #444; }

.btn-add-account {
    background: #00843D;
    color: #fff;
    border: none;
    padding: 12px 35px;
    border-radius: 30px;
    font-weight: 600;
    margin-bottom: 30px;
    cursor: pointer;
}

.amount-card {
    background: #F4F4F4;
    width: 100%;
    border-radius: 15px;
    padding: 20px;
    margin-bottom: 30px;
    box-sizing: border-box;
}

.amount-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.check-circle {
    background: #00843D;
    color: #fff;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
}

.amount-row .label { font-weight: 600; font-size: 1.1rem; flex: 1; margin-left: 12px; }
.amount-row .value { font-weight: 700; font-size: 1.25rem; color: #00843D; }

.btn-pay-now {
    background: #00843D;
    color: #fff;
    border: none;
    padding: 16px 80px;
    border-radius: 30px;
    font-weight: 700;
    font-size: 1.2rem;
    cursor: pointer;
    width: 100%;
    max-width: 350px;
}

.responsive-container {
    width: 90%;
    max-width: 450px;
    margin: 20px auto;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    overflow: hidden;
}

.card-inner { padding: 25px; }

.header-pay {
    background: #1a1a1a;
    color: white;
    padding: 30px 20px;
    text-align: center;
    margin: -25px -25px 25px -25px;
}

.pay-title { font-size: 0.9rem; font-weight: 700; margin: 0; text-transform: uppercase; letter-spacing: 1px; }
.pay-subtitle { font-size: 0.8rem; color: #bbb; margin: 5px 0 15px; }
.total-amount { font-size: 2.2rem; font-weight: 800; margin: 5px 0; }

.section-label { font-size: 0.95rem; font-weight: 700; margin-bottom: 15px; display: block; color: #333; }

.input-row { display: flex; gap: 10px; margin-bottom: 15px; }

.input-box {
    border: 1px solid #ddd;
    border-radius: 12px;
    padding: 12px 15px;
    background: #fbfbfb;
    flex: 1;
}

.input-box small { display: block; font-size: 0.7rem; color: #888; margin-bottom: 4px; }
.input-box input { border: none; outline: none; width: 100%; font-size: 1rem; background: transparent; }

.input-box.prefix { flex: 0.35; background: #f0f0f0; }

.methods-title { font-weight: 700; margin-bottom: 20px; text-align: left; border-bottom: 1px solid #eee; padding-bottom: 10px; }

.method-card {
    display: flex;
    align-items: center;
    border: 1px solid #eee;
    border-radius: 15px;
    padding: 18px;
    cursor: pointer;
    margin-bottom: 12px;
    transition: 0.3s;
}

.method-card:hover { border-color: #00843D; background: #f6fff9; }
.method-icon { font-size: 1.8rem; margin-right: 15px; }
.method-info strong { display: block; font-size: 1rem; }
.method-info small { font-size: 0.8rem; color: #777; }

.input-rounded, .select-rounded {
    width: 100%;
    padding: 15px 20px;
    border: 1px solid #ddd;
    border-radius: 30px;
    outline: none;
    margin-bottom: 15px;
    font-size: 1rem;
    box-sizing: border-box;
}

.grid-card { display: grid; grid-template-cols: 1fr 1fr 1fr; gap: 10px; margin-bottom: 5px; }

.footer-payment-info {
    text-align: center;
    margin: 40px 0;
    color: #666;
    font-size: 0.9rem;
}

.logo-pse-small { width: 90px; margin-top: 10px; }

.footer-banner {
    width: 100%;
    margin-top: auto;
}

.footer-banner img {
    width: 100%;
    height: auto;
    display: block;
}

.error-text { color: #d93025; font-size: 0.85rem; margin-bottom: 15px; font-weight: 600; }

@media (max-width: 600px) {
    .main-title { font-size: 1.2rem; }
    .btn-pay-now { width: 90%; padding: 15px 0; }
    .responsive-container { width: 95%; margin: 10px auto; border-radius: 10px; }
}






.form-section {
    margin-top: 10px;
    text-align: left;
}

.section-label {
    font-size: 0.9rem;
    font-weight: 700;
    margin-bottom: 15px;
    display: block;
    color: #333;
}

.input-row {
    display: flex;
    gap: 12px;
    margin-bottom: 15px;
}

.input-box {
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    padding: 10px 15px;
    background: #fdfdfd;
    display: flex;
    flex-direction: column;
    transition: border-color 0.3s ease;
}

.input-box:focus-within {
    border-color: #00843D;
}

.input-box small {
    display: block;
    font-size: 0.7rem;
    color: #999;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.input-box input {
    border: none;
    outline: none;
    width: 100%;
    font-size: 1rem;
    background: transparent;
    font-family: 'Poppins', sans-serif;
    color: #333;
}

.input-box.prefix {
    flex: 0.35;
    background: #f5f5f5;
    border-color: #eee;
    user-select: none;
}

.prefix-content {
    font-size: 1rem;
    font-weight: 600;
    color: #555;
    padding-top: 2px;
}

.input-box.phone {
    flex: 1;
}

.input-box.full {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 20px;
}

.btn-next {
    width: 100%;
    background: #00843D;
    color: #fff;
    border: none;
    padding: 16px;
    border-radius: 30px;
    font-weight: 700;
    font-size: 1.1rem;
    cursor: pointer;
    transition: background 0.3s;
}

.btn-next:hover {
    background: #006b31;
}




.btn-primary-outline {
    background: #E6E6E6; /* Gris inicial */
    border: none;
    color: #A3A3A3; /* Texto gris inicial */
    padding: 14px 60px;
    border-radius: 30px;
    font-weight: 700;
    font-size: 1.1rem;
    cursor: not-allowed;
    transition: all 0.3s ease;
    width: 100%;
    max-width: 350px;
}

/* Esta es la clase que se activa con JS */
.btn-primary-outline.active {
    background: #00843D !important; /* Verde CHEC */
    color: #ffffff !important;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0, 132, 61, 0.3);
}

.btn-primary-outline:disabled {
    opacity: 0.6;
    cursor: wait;
}