/* Página del informe de riesgo (vista previa y compra). */
.inf-hero { padding: 7.5rem 0 2.5rem; color: #fff; }
.inf-hero h1 { font-family: Montserrat, sans-serif; font-weight: 700; font-size: clamp(1.8rem, 3.6vw, 2.8rem); }
.inf-hero .lead { color: #c9d4df; max-width: 46rem; }
.inf-pasos { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: 1.6rem 0 0; counter-reset: paso; }
.inf-pasos li { counter-increment: paso; padding: .35rem .9rem; border-radius: 999px; font-size: .85rem; color: #9fb0c1; border: 1px solid rgba(255, 255, 255, .15); }
.inf-pasos li::before { content: counter(paso) ". "; }
.inf-pasos li.activo { background: var(--dx-accent); border-color: var(--dx-accent); color: #fff; }
.inf-pasos li.hecho { color: #dfe6ee; border-color: rgba(18, 161, 80, .6); }
.inf-main { padding: 2.5rem 0 4rem; min-height: 50vh; }
.inf-main section.inf-vista { padding: 0; }

.inf-doc { background: #fff; border: 1px solid var(--dx-line); border-radius: 16px; padding: clamp(1.2rem, 3vw, 2.2rem); max-width: 60rem; margin: 0 auto; box-shadow: 0 18px 50px rgba(20, 33, 46, .08); }
.inf-doc-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; border-bottom: 2px solid var(--dx-accent); padding-bottom: 1rem; margin-bottom: 1.2rem; }
.inf-h { font-family: Montserrat, sans-serif; margin: 1.6rem 0 .8rem; }
.inf-kpi { border: 1px solid var(--dx-line); border-radius: 10px; padding: .8rem 1rem; height: 100%; }
.inf-kpi b { font-family: Montserrat, sans-serif; font-size: 1.6rem; display: block; line-height: 1.1; }
.inf-kpi small { color: var(--dx-muted); }
.inf-cat { display: grid; grid-template-columns: 1fr 160px 70px; gap: .8rem; align-items: center; padding: .55rem 0; border-bottom: 1px solid #edf0f3; }
.inf-cat .bar { height: 8px; border-radius: 4px; background: #edf0f3; overflow: hidden; }
.inf-cat .bar span { display: block; height: 100%; }
.inf-hall { border: 1px solid var(--dx-line); border-radius: 10px; padding: .8rem 1rem; margin-bottom: .6rem; }
.inf-sev { font-size: .72rem; font-weight: 700; padding: .15rem .55rem; border-radius: 999px; color: #fff; margin-right: .5rem; }
.sev-critical { background: #d33a2c; } .sev-high { background: #f39c1f; } .sev-medium { background: #f2c230; color: #3a2c00; } .sev-low { background: #8a95a1; }
.inf-oculta { filter: blur(5px); user-select: none; }

/* Zona bloqueada: relleno ficticio desenfocado con la tarjeta de compra encima */
.inf-bloqueado { position: relative; margin-top: 1rem; min-height: 34rem; }
.inf-borroso { filter: blur(6px); opacity: .75; user-select: none; pointer-events: none; }
.inf-cta { position: absolute; left: 50%; top: 2rem; transform: translateX(-50%); width: min(30rem, 94%); box-shadow: 0 24px 60px rgba(20, 33, 46, .22); border-color: rgba(18, 161, 80, .35); }
.inf-cta:hover { transform: translateX(-50%); }
.inf-precio { font-family: Montserrat, sans-serif; font-size: 2.2rem; font-weight: 700; color: var(--dx-ink); }

@media (max-width: 575.98px) {
  .inf-cat { grid-template-columns: 1fr 70px; }
  .inf-cat .bar { display: none; }
  .inf-doc-head .dx-ring { width: 104px; height: 104px; }
  .inf-doc-head .dx-ring > div { width: 82px; height: 82px; }
  .inf-bloqueado { min-height: 40rem; }
}
