:root{
    --primary:#1E3743;
    --secondary:#2F4958;
    --accent:#75B8C9;
    --warm:#B59677;
    --bg:#F5F7FA;
    --bg2:#1e3743;
    --text:#1B1B1B;
    --bs-btn-hover-color:#cbcbcb;
}

/* RESET */
*{
    box-sizing:border-box;
}

body{
    margin:0;
    background:var(--bg2);
    font-family:'Montserrat',sans-serif;
    color:var(--text);
}

/* TITULOS */
h1,h2,h3,h4,h5,h6{
    margin:0 0 .5rem;
    font-weight:700;
    line-height:1.2;
}

.section-title{
    margin:20px 0 10px;
    font-size:18px;
    color:var(--primary);
    font-weight:600;
}

/* CONTENEDOR */
.containerHome{
    max-width:500px;
    margin:60px auto;
}

/* CONTENEDOR */
.containerLink{
    max-width:800px;
    margin:60px auto;
}

/* CARD */
.card{
    background:#fff;
    padding:30px;
    border-radius:18px;
    box-shadow:0 20px 50px rgba(0,0,0,.06);
    border:none;
}

/* HEADER */
.header{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:10px;
}

/* SUBTITLE */
.subtitle{
    color:#7a8a93;
    margin-bottom:20px;
    font-size:14px;
}

/* FIELD */
.field{
    display:flex;
    flex-direction:column;
    margin-bottom:15px;
}

.field label{
    font-size:13px;
    margin-bottom:5px;
    color:#6c7a80;
}

.field input,
.field select{
    padding:13px;
    border-radius:12px;
    border:1px solid #dfe5e8;
    font-size:14px;
    transition:.2s;
}

.field input:focus,
.field select:focus{
    border-color:var(--accent);
    outline:none;
    box-shadow:0 0 0 3px rgba(117,184,201,.15);
}

/* ROW */
.row-custom{
    display:flex;
    gap:10px;
}

.half{
    width:50%;
}

/* OPTIONS */
.options{
    display:flex;
    flex-direction:column;
    gap:12px;
    margin-bottom:20px;
    padding:16px 20px;

}

.option{
    position:relative;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:16px 20px;
    border-radius:14px;
    border:1px solid #e4e9ed;
    background:#fff;
    cursor:pointer;
    transition:all .25s ease;
}

.option:hover{
    border-color:var(--accent);
    transform:translateY(-1px);
}

.option.active{
    border:2px solid var(--primary);
    background:#f3f8fa;
    transform:scale(1.02);
}

.option span{
    font-size:15px;
    color:#2c3e45;
}

.option strong{
    font-size:17px;
    font-weight:700;
    color:var(--primary);
    white-space:nowrap;
    margin-right: 20px;
}

.option-desc{
    font-size:12px;
    color:#7a8a93;
}

/* RADIO DOT */
.option::after{
    content:"";
    position:absolute;
    right:15px;
    top:50%;
    transform:translateY(-50%);
    width:12px;
    height:12px;
    border-radius:50%;
    background:#d0d7db;
    transition:.3s;
}

.option.active::after{
    background:var(--primary);
    transform:translateY(-50%) scale(1.3);
}

.option-price{
    color: var(--primary);
    font-size:17px;
}

/* BUTTON */
.btn{
    width:100%;
    background:var(--primary);
    color:#fff;
    border:none;
    padding:15px;
    border-radius:14px;
    font-weight:600;
    font-size:16px;
    cursor:pointer;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    transition:.3s;
}

.btn:hover{
    background:var(--secondary);
    transform:translateY(-1px);
}

.btn:active{
    transform:scale(.97);
}

/* NOTE */
.note{
    text-align:center;
    font-size:13px;
    color:#7a8a93;
    margin-top:10px;
}

/* BACK */
.back{
    text-align:center;
    margin-top:15px;
}

.back a{
    color:var(--secondary);
    text-decoration:none;
}

/* LOADING */
.loading-screen{
    position:fixed;
    inset:0;
    background:#fff;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    opacity:0;
    pointer-events:none;
    transition:.3s;
}

.loading-screen.active{
    opacity:1;
    pointer-events:all;
}

.loader{
    width:40px;
    height:40px;
    border:4px solid #ddd;
    border-top:4px solid var(--primary);
    border-radius:50%;
    animation:spin 1s linear infinite;
}

@keyframes spin{
    to{ transform:rotate(360deg); }
}

/* SUCCESS */
.success-check{
    width:90px;
    height:90px;
    border-radius:50%;
    background:#22c55e;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:40px;
    animation:pop .4s ease;
}

.success-check::after{
    content:"\2714";
}

@keyframes pop{
    0%{ transform:scale(0); }
    80%{ transform:scale(1.1); }
    100%{ transform:scale(1); }
}

/* LINK */
.back-link{
    font-size:12px;
    color:#9aaeb8;
    text-decoration:none;
}

.back-link:hover{
    color:var(--primary);
}

/* SUMMARY */
.summary-total{
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-weight:700;
    font-size:20px;
    color:var(--primary);
}

.summary-total span:last-child{
    font-size:24px;
    font-weight:800;
}

/* =========================================
   ðŸ’³ CHECKOUT MÃ‰DICO PRO
========================================= */

.checkout-page .brand-header{
    text-align:center;
    margin-bottom:50px;
}

.checkout-page .brand-header img{
    height:150px;
}

.checkout-page .brand-header2 img{
    height:90px;
}

.checkout-page .brand-sub{
    font-size:12px;
    letter-spacing:2px;
    color:var(--warm);
}

.checkout-page h2{
    color:var(--primary);
    font-weight:700;
}

.checkout-page .alert{
    background:#eaf4f7;
    border:none;
    border-radius:12px;
    color:var(--primary);
}

.checkout-page .text-muted{
    color:#7b8b93 !important;
}

.checkout-page .secure-text{
    font-size:12px;
    text-align:center;
    color:#90a2ab;
}

.checkout-page #remainingRow{
    color:#c47a2c;
}

.remaining-box{
    background:#fff8ed;
    border:1px solid #f2d2a4;
    border-radius:14px;
    padding:12px 16px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.remaining-label{
    font-size:13px;
    color:#9a6b2f;
}

.remaining-amount{
    font-size:18px;
    font-weight:700;
    color:#c47a2c;
}

/* MOBILE */
@media(max-width:768px){

    .card{
        padding:20px;
    }

    h2{
        font-size:22px;
    }

}

/* =========================================
📱 RESPONSIVE REAL (FIX FINAL)
========================================= */

@media (max-width: 600px){

    /* CONTENEDOR */
    .containerHome{
        margin:20px auto;
        padding:10px;
        max-width:100%;
    }

    /* CARD */
    .card{
        padding:18px;
        border-radius:14px;
    }

    /* HEADER LOGO */
    .checkout-page .brand-header img{
        height:110px;
    }

    /* TITULOS */
    h2{
        font-size:20px;
    }

    .section-title{
        font-size:16px;
    }

    /* INPUTS */
    .field input,
    .field select{
        padding:14px;
        font-size:16px; /* 🔥 evita zoom en iPhone */
    }

    /* ROW → COLUMNA */
    .row-custom{
        flex-direction:column;
    }

    .half{
        width:100%;
    }

    /* OPTIONS */
    .options{
        padding:10px;
    }

    .option{
        flex-direction:column;
        align-items:flex-start;
        gap:6px;
        padding:14px;
    }

    .option strong{
        font-size:16px;
        margin-right:0;
    }

    /* BOTÓN */
    .btn{
        padding:14px;
        font-size:15px;
    }

    /* LOADING TEXT */
    .loading-screen p{
        font-size:14px;
        text-align:center;
        padding:0 20px;
    }
}


/* =========================================
📱 CHECKOUT RESPONSIVE PRO
========================================= */

@media (max-width: 768px){

    /* CONTENEDOR */
    .container{
        padding:15px;
    }

    /* LOGO */
    .brand-header img{
        height:55px;
    }

    /* STACK COLUMNAS */
    .row{
        display:flex;
        flex-direction:column;
    }

    /* IZQUIERDA (PRIMERO) */
    .col-lg-7{
        order:1;
        width:100%;
    }

    /* DERECHA (RESUMEN ABAJO) */
    .col-lg-5{
        order:2;
        width:100%;
        margin-top:15px;
    }

    /* CARDS */
    .card{
        padding:18px !important;
        border-radius:14px;
    }

    /* TITULO */
    h2{
        font-size:20px;
    }

    /* OPCIONES */
    .option{
        flex-direction:column;
        align-items:flex-start;
        gap:5px;
    }

    .option-price{
        font-size:16px;
    }

    /* BRICK */
    #cardPaymentBrick_container{
        margin-top:20px;
    }

    /* RESUMEN */
    .summary-total{
        font-size:18px;
    }

    /* RESTANTE */
    .remaining-box{
        flex-direction:column;
        align-items:flex-start;
        gap:5px;
    }

    /* TEXTOS */
    .secure-text{
        font-size:12px;
        padding:0 10px;
    }

}

/* =========================================
✨ MEJORAS SOLO CHECKOUT (NO AFECTA HOME)
========================================= */

.checkout-page .field input,
.checkout-page .field select{
    padding:14px 16px;
    border-radius:12px;
    transition:all .25s ease;
}

.checkout-page .field input:focus,
.checkout-page .field select:focus{
    box-shadow:0 0 0 3px rgba(117,184,201,.15);
}

/* BOTÓN MEJORADO */
.checkout-page .btn:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 18px rgba(0,0,0,.08);
}

/* WIZARD SOLO CHECKOUT */
.checkout-page .wizard-steps span{
    opacity:.4;
}

.checkout-page .wizard-steps span.active{
    opacity:1;
    font-weight:600;
}

/* RESULTADO */
.checkout-page .result-box{
    padding:22px;
    border-radius:14px;
    background:rgba(0,0,0,0.03);
}

.checkout-page .step{
    display:none;
}

.checkout-page .step.active{
    display:block;
}
.checkout-page .nav-buttons{
    display:flex;
    gap:10px;
    margin-top:20px;
}

.checkout-page .nav-buttons .btn{
    width:auto; /* 🔥 quita el full width */
    flex:1;
}

.checkout-page .result-box{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
}

.checkout-page .copy-group{
    width:100%;
    max-width:420px;
    margin-top:15px;
}

/* INPUT LINK */
.checkout-page .copy-group input{
    width:100%;
    padding:12px;
    border-radius:10px;
    border:1px solid #dfe5e8;
    background:#f8fafb;
    font-size:13px;
    text-align:center;
    overflow:hidden;
    text-overflow:ellipsis;
}

.checkout-page .copy-group{
    width:100%;
    max-width:420px;
    margin:15px auto 10px;
}

.checkout-page .copy-group button{
    position:absolute;
    right:5px;
    top:50%;
    transform:translateY(-50%);
    padding:6px 12px;
    font-size:13px;
    border-radius:8px;
}

.checkout-page .copy-group input:focus{
    outline:none;
    border-color:var(--accent);
    box-shadow:0 0 0 3px rgba(117,184,201,.15);
}

.checkout-page .result-box h3{
    margin-top:10px;
    margin-bottom:10px;
}

/* BOTÓN COPIAR */
.checkout-page .btn-copy{
    width:100%;
    max-width:420px;
    margin:0 auto;
    display:block;
}

/* ESPACIADO GENERAL */
.checkout-page .result-box{
    gap:10px;
}