:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#17324d;background:#f5f8fb}*{box-sizing:border-box}body{margin:0}.wrap{width:min(920px,92%);margin:auto}.hero{background:linear-gradient(135deg,#004b87,#0077a8);color:white;padding:2.2rem 0}.hero h1{margin:0}.card{background:white;margin:1.2rem 0;padding:1.4rem;border-radius:16px;box-shadow:0 8px 28px #17324d18}.grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.wide{grid-column:1/-1}label{display:block;font-weight:650;margin:.5rem 0}input,select,textarea{width:100%;padding:.78rem;border:1px solid #9fb3c8;border-radius:9px;background:white;font:inherit}input:focus,select:focus,textarea:focus{outline:3px solid #5ec4ff55;border-color:#0077a8}.question{display:grid;grid-template-columns:1fr 130px;gap:1rem;align-items:center;padding:.75rem 0;border-bottom:1px solid #e4ebf2}.question label{margin:0}.field-validation-error,.validation-summary-errors{color:#a91e2c}.validation-summary-valid{display:none}.alert{padding:1rem;border-radius:10px;margin:1rem 0}.success{background:#dff7e8;color:#145c32}.error:not(.validation-summary-valid){background:#fff0f1}.consent{font-weight:400;background:#eef6fb;padding:1rem;border-radius:10px}.consent input{width:auto;margin-right:.45rem}button{border:0;border-radius:10px;background:#006da0;color:white;padding:.9rem 1.4rem;font-weight:700;font-size:1rem;cursor:pointer}button:disabled{opacity:.6}.footer{text-align:center;padding:2rem;color:#52677b}small,.hint,#contador{color:#5a6f83}@media(max-width:650px){.grid{grid-template-columns:1fr}.question{grid-template-columns:1fr}.wide{grid-column:auto}}

.preguntas-card {
    padding: 1.25rem;
}

.pregunta-item {
    margin-bottom: 1.75rem;
}

    .pregunta-item:last-child {
        margin-bottom: 0;
    }

.pregunta-titulo {
    display: block;
    margin-bottom: 0.4rem;
    color: #111827;
    font-weight: 700;
}

.pregunta-descripcion {
    margin: 0.35rem 0 0.65rem 0;
    padding-left: 0.15rem;
    color: #00874e;
    font-size: 0.95rem;
    font-weight: 500;
}

    .pregunta-descripcion .text-danger {
        display: inline-block;
        margin-right: 0.45rem;
        font-weight: 700;
    }

.indicador-pregunta {
    margin-right: 0.45rem;
    color: #dc3545;
    font-weight: 700;
}

.pregunta-item .form-select {
    width: 100%;
    min-height: 40px;
    border: 1px solid #d4d9df;
    border-radius: 6px;
    background-color: #fff;
}

    .pregunta-item .form-select:focus {
        border-color: #86b7fe;
        box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.2);
    }

.contador-caracteres {
    margin-top: 0.35rem;
    color: #6c757d;
    font-size: 0.85rem;
    text-align: right;
}