body { background-color: #ffffff; color: #333; margin: 0; font-family: 'Nunito', sans-serif; }
header { background-color: #fff; padding: 20px 0 10px 0; text-align: center; }
.header-divider { border: 0; border-top: 1px solid #e0e0e0; margin: 10px auto 30px auto; max-width: 1000px; }
#form-checkout { background-color: #fff; max-width: 700px; margin: 0 auto 50px auto; padding: 40px; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.05); }
#form-checkout h2, 
#form-checkout h3 {
    font-size: 1.2rem !important; 
    font-weight: 700; 
    text-transform: uppercase;
    border-bottom: 2px solid #f1f1f1 !important; 
    padding-bottom: 10px; 
    margin-bottom: 20px;
    margin-left: 0 !important; 
    padding-left: 0 !important;
    text-align: left; 
    color: #000;
}

.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
label { display: block; margin-bottom: 8px; font-weight: 600; font-size: 0.95rem; }
input:not([type="checkbox"]), textarea, select { width: 100%; padding: 12px; margin-bottom: 20px; border: 1px solid #ddd; border-radius: 5px; box-sizing: border-box; }


#resumen-pedido span {
    color: #000 !important; 
    font-weight: 700 !important;
    font-size: 1.15rem !important; 
}


.terminos-condiciones {
    margin-top: 30px; 
}

.terminos-condiciones input[type="checkbox"] {
    width: 13px !important; 
    height: 13px !important;
    cursor: pointer;
    margin-right: 10px;
}

.btn-pedido-verde { 
    display: block; 
    width: 100%; 
    max-width: 350px; 
    margin: 30px auto 15px auto; 
    background-color: #28a745; 
    color: white; 
    padding: 13px; 
    border: none; 
    border-radius: 15px; 
    font-size: 1rem; 
    font-weight: 600; 
    text-transform: uppercase; 
    cursor: pointer; 
    margin-bottom: 25px;
}

.privacidad { 
    text-align: center; 
    font-size: 12px; 
    color: #999; 
    margin-top: 20px; 
}

.instruccion-pdf { font-size: 0.9rem; background: #fff9e6; padding: 15px; border-left: 4px solid #ffc107; margin-bottom: 20px; }

.color-indicador {
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 50%; 
    border: 1px solid #d1d1d1; 
    margin-left: 8px; 
    vertical-align: middle; 
    box-shadow: 0 1px 3px rgba(0,0,0,0.1); 
}

#resumen-pedido table td {
    vertical-align: middle;
}