/* --- Herramienta de valoración --- */
.pasos{display:flex;gap:8px;margin-bottom:28px;flex-wrap:wrap}
.paso-pin{flex:1;min-width:88px;border-top:3px solid var(--linea);padding-top:9px;font-size:13px;color:var(--tinta-3);transition:.2s}
.paso-pin.on{border-color:var(--marca);color:var(--marca);font-weight:600}
.paso-pin.hecho{border-color:var(--marca)}

.pantalla{display:none}
.pantalla.on{display:block;animation:ap .25s ease}
@keyframes ap{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* selector de grado */
.grados{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:22px 0}
.grado{border:2px solid var(--linea);border-radius:var(--radio);padding:14px 12px;cursor:pointer;
  background:#fff;text-align:center;transition:.15s;font-family:inherit}
.grado:hover{border-color:var(--marca)}
.grado.sel{border-color:var(--marca);background:var(--marca-clara)}
.grado svg{width:100%;height:auto;max-width:112px;margin-bottom:8px}
.grado .g-n{font-weight:650;font-size:15px;display:block;color:var(--tinta)}
.grado .g-d{font-size:12.5px;color:var(--tinta-3);line-height:1.35;margin-top:2px;display:block}

/* simulador */
.sim{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;align-items:start;margin:22px 0}
.sim-vis{background:var(--fondo-2);border:1px solid var(--linea);border-radius:var(--radio);padding:18px;text-align:center}
.sim-vis svg{width:100%;height:auto;max-width:250px}
.sim-ctrl label{display:block;font-weight:600;margin-bottom:6px;font-size:15.5px}
input[type=range]{width:100%;accent-color:var(--marca);margin:8px 0 4px}
.rango-etq{display:flex;justify-content:space-between;font-size:12.5px;color:var(--tinta-3);margin-bottom:18px}
.zona-dato{display:flex;justify-content:space-between;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--linea)}
.zona-dato .z-n{font-weight:600;font-size:15px}
.zona-dato .z-s{font-size:13px;color:var(--tinta-3);display:block;font-weight:400;margin-top:1px}
.zona-dato .z-v{font-size:19px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.densidad{font-size:12.5px;padding:2px 8px;border-radius:20px;font-weight:600;margin-left:8px}
.d-buena{background:#e6f4ea;color:#136c33}
.d-media{background:#fdf3e0;color:#8a6608}
.d-baja{background:#fdecea;color:#a3261a}

/* formulario */
.campo{margin-bottom:17px}
.campo label{display:block;font-weight:600;margin-bottom:6px;font-size:15.5px}
.campo input[type=text],.campo input[type=email],.campo input[type=tel],.campo select{
  width:100%;padding:11px 13px;border:1px solid var(--linea);border-radius:8px;font-size:16px;
  font-family:inherit;background:#fff;color:var(--tinta)}
.campo input:focus,.campo select:focus{outline:2px solid var(--marca);outline-offset:-1px;border-color:var(--marca)}
.opciones{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:9px}
.opcion{border:2px solid var(--linea);border-radius:8px;padding:11px;cursor:pointer;background:#fff;
  font-size:15px;font-family:inherit;text-align:left;transition:.15s;color:var(--tinta)}
.opcion:hover{border-color:var(--marca)}
.opcion.sel{border-color:var(--marca);background:var(--marca-clara);font-weight:600}

.consent{display:flex;gap:10px;align-items:flex-start;margin-bottom:14px;font-size:14px;color:var(--tinta-2);line-height:1.5}
.consent input{margin-top:3px;flex-shrink:0;width:17px;height:17px;accent-color:var(--marca)}

.btn{background:var(--marca);color:#fff;border:0;border-radius:8px;padding:13px 26px;font-size:16px;
  font-weight:600;cursor:pointer;font-family:inherit;transition:.15s}
.btn:hover{background:#0c4a3b}
.btn:disabled{background:#b8c2c0;cursor:not-allowed}
.btn-sec{background:#fff;color:var(--tinta-2);border:1px solid var(--linea)}
.btn-sec:hover{background:var(--fondo-2);color:var(--tinta)}
.botonera{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}

/* informe */
.informe{border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden;margin:22px 0}
.inf-cab{background:var(--marca);color:#fff;padding:18px 20px}
.inf-cab h3{margin:0;font-size:19px;color:#fff}
.inf-cab p{margin:4px 0 0;opacity:.9;font-size:14.5px;max-width:none}
.inf-cuerpo{padding:20px}
.inf-bloque{padding-bottom:17px;margin-bottom:17px;border-bottom:1px solid var(--linea)}
.inf-bloque:last-child{border:0;margin:0;padding:0}
.inf-bloque h4{font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--tinta-3);margin-bottom:7px}
.inf-dato{font-size:21px;font-weight:700;letter-spacing:-.02em}
.inf-nota{font-size:13.5px;color:var(--tinta-3);margin-top:5px;line-height:1.5}
.fuente{font-size:12.5px;color:var(--tinta-3);margin-top:9px;padding-top:9px;border-top:1px dotted var(--linea)}
.fuente a{color:var(--tinta-3);text-decoration:underline}

.subida{border:2px dashed var(--linea);border-radius:var(--radio);padding:22px;text-align:center;
  cursor:pointer;transition:.15s;background:var(--fondo-2)}
.subida:hover{border-color:var(--marca);background:var(--marca-clara)}
.subida input{display:none}
.subida .s-t{font-weight:600;margin-bottom:4px;display:block}
.subida .s-d{font-size:14px;color:var(--tinta-3)}

.check-lista{margin:12px 0 0 0;list-style:none}
.check-lista li{padding-left:26px;position:relative;margin-bottom:9px;font-size:15.5px}
.check-lista li::before{content:'';position:absolute;left:0;top:7px;width:15px;height:8px;
  border-left:2.5px solid var(--marca);border-bottom:2.5px solid var(--marca);transform:rotate(-45deg)}

@media(max-width:700px){.sim{grid-template-columns:1fr;gap:18px}}
