/* Comprobador de prescripción (app herramientas).

   Se carga DESPUÉS de herramientas.css y solo añade lo que aquella no tiene (prefijo lt-herr-prescripcion__).
   Todo cuelga de .lt-herr, así que los --herr-* (que a su vez leen los --lt-* de legaltica-ds.css con su
   valor de reserva) están disponibles, también en el embebible. No se define ningún token nuevo: las
   categorías usan pares que ya existen (oscuro, «cuenta», «banda» y primario). Unificar con
   herramientas.css al integrar.

   Nada de estilos en línea en las plantillas (CSP sin 'unsafe-inline'): las posiciones de la línea de
   tiempo y de la barra de tramos van en atributos x/width de un <svg>, que no son estilo. */

/* ------------------------------------------------------------------ Formulario */

/* Subtipo de deuda: radios en forma de píldora. Cinco opciones no caben en el control
   segmentado de días hábiles a 360 px; aquí envuelven. */
.lt-herr-prescripcion__subtipos { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 0; padding: 0; border: 0; min-width: 0; }
.lt-herr-prescripcion__subtipos > legend { padding: 0; margin-bottom: 8px; }
.lt-herr-prescripcion__pildora { position: relative; display: inline-flex; cursor: pointer; }
.lt-herr-prescripcion__pildora input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.lt-herr-prescripcion__pildora span {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1.5px solid var(--herr-border);
  border-radius: 999px; background: var(--herr-canvas); font-size: 14px; font-weight: 600; color: var(--herr-ink-soft);
  transition: border-color .2s, background .2s, color .2s;
}
.lt-herr-prescripcion__pildora:hover span { border-color: var(--herr-ink); }
.lt-herr-prescripcion__pildora:has(input:checked) span { border-color: var(--herr-ink); background: var(--herr-ink); color: #fff; }
.lt-herr-prescripcion__pildora:has(input:focus-visible) span { outline: 3px solid var(--herr-primary); outline-offset: 2px; }

/* Sin JavaScript, lo que depende del supuesto sale de los radios con :has (sin :has, el navegador enseña
   todo y el servidor descarta lo que no toca). `data-solo` es una lista de supuestos separada por espacios.
   Con un supuesto marcado se oculta lo que no es suyo; las etiquetas y ayudas de la fecha, que el servidor
   deja con `hidden` salvo la del supuesto actual, se destapan aquí (la regla de `.lt-herr [hidden]` pesa
   menos que estas). */
.lt-herr__form:has(input[name="supuesto"][value="deuda_civil"]:checked) [data-solo]:not([data-solo~="deuda_civil"]) { display: none; }
.lt-herr__form:has(input[name="supuesto"][value="deuda_civil"]:checked) span[data-solo~="deuda_civil"][data-fuera] { display: inline; }
.lt-herr__form:has(input[name="supuesto"][value="pago_periodico"]:checked) [data-solo]:not([data-solo~="pago_periodico"]) { display: none; }
.lt-herr__form:has(input[name="supuesto"][value="pago_periodico"]:checked) span[data-solo~="pago_periodico"][data-fuera] { display: inline; }
.lt-herr__form:has(input[name="supuesto"][value="danos_extracontractual"]:checked) [data-solo]:not([data-solo~="danos_extracontractual"]) { display: none; }
.lt-herr__form:has(input[name="supuesto"][value="danos_extracontractual"]:checked) span[data-solo~="danos_extracontractual"][data-fuera] { display: inline; }
.lt-herr__form:has(input[name="supuesto"][value="laboral"]:checked) [data-solo]:not([data-solo~="laboral"]) { display: none; }
.lt-herr__form:has(input[name="supuesto"][value="laboral"]:checked) span[data-solo~="laboral"][data-fuera] { display: inline; }
.lt-herr__form:has(input[name="supuesto"][value="despido"]:checked) [data-solo]:not([data-solo~="despido"]) { display: none; }
.lt-herr__form:has(input[name="supuesto"][value="despido"]:checked) span[data-solo~="despido"][data-fuera] { display: inline; }
/* Con el despido el paso de interrupciones no se pregunta */
.lt-herr__form:has(input[name="supuesto"][value="despido"]:checked) [data-sin="despido"] { display: none; }
/* Las casillas extra del accidente de tráfico, solo con ese subtipo */
.lt-herr__form:not(:has(input[name="subtipo"][value="accidente_trafico"]:checked)) [data-solo-subtipo="accidente_trafico"] { display: none; }
/* Multas: la etiqueta de la fecha sigue a «¿sanción firme?» */
/* Casillas civiles de la URL general: la etiqueta del rol marcado (deudor, acreedor o neutra; P1-1). No van con
   `hidden`: theme.min.css lleva `[hidden] { display: none !important }` y sin JS no se podrían destapar. El
   servidor marca con `data-rol-fuera` las que no son del rol actual; con :has manda el radio marcado. */
.lt-herr-prescripcion span[data-rol-fuera], .lt-herr-prescripcion span[data-fuera] { display: none; }
.lt-herr__form:has(input[name="rol"][value="reclamo"]:checked) span[data-rol]:not([data-rol="reclamo"]),
.lt-herr__form:has(input[name="rol"][value="otro"]:checked) span[data-rol]:not([data-rol="otro"]),
.lt-herr__form:has(input[name="rol"][value="debo"]:checked) span[data-rol]:not([data-rol="debo"]) { display: none; }
.lt-herr__form:has(input[name="rol"][value="reclamo"]:checked) span[data-rol="reclamo"],
.lt-herr__form:has(input[name="rol"][value="otro"]:checked) span[data-rol="otro"],
.lt-herr__form:has(input[name="rol"][value="debo"]:checked) span[data-rol="debo"] { display: inline; }
.lt-herr__form:has(input[name="firmeza"][value="si"]:checked) [data-firmeza="no"] { display: none; }
.lt-herr__form:has(input[name="firmeza"][value="si"]:checked) span[data-firmeza="si"][data-fuera] { display: inline; }
.lt-herr__form:has(input[name="firmeza"]:checked:not([value="si"])) [data-firmeza="si"] { display: none; }
.lt-herr__form:has(input[name="firmeza"]:checked:not([value="si"])) span[data-firmeza="no"][data-fuera] { display: inline; }

/* Enlaces a los supuestos que tienen página propia */
.lt-herr-prescripcion__otros {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0 4px; margin: 14px 0 0; padding: 8px 0 0;
  border-top: 1px dashed var(--herr-border); font-size: 14px; color: var(--herr-text-2);
}
.lt-herr-prescripcion__otros a {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px 0 0; margin-right: 8px; border-radius: 8px;
  font-weight: 700; color: var(--herr-ink); text-decoration: underline; text-decoration-color: var(--herr-border-fuerte);
  text-underline-offset: 3px;
}
.lt-herr-prescripcion__otros a:hover { color: var(--herr-primary); text-decoration-color: currentColor; }
/* Los de la general son opciones, no notas al pie: píldoras como las de los subtipos (auditoría H26) */
.lt-herr-prescripcion__otros--pildoras { gap: 8px; }
.lt-herr-prescripcion__otros--pildoras a {
  gap: 6px; margin: 0; padding: 0 16px; border: 1.5px solid var(--herr-border); border-radius: 999px;
  background: var(--herr-canvas); font-size: 14px; font-weight: 600; color: var(--herr-ink-soft); text-decoration: none;
  transition: border-color .2s, color .2s;
}
.lt-herr-prescripcion__otros--pildoras a:hover { border-color: var(--herr-ink); color: var(--herr-ink); }
.lt-herr-prescripcion__otros--pildoras a:focus-visible { outline: 3px solid var(--herr-primary); outline-offset: 2px; }

/* Ayuda persistente bajo una etiqueta */
.lt-herr-prescripcion__ayuda { margin: -2px 0 0; font-size: 13px; line-height: 1.45; color: var(--herr-muted); }

.lt-herr-prescripcion__marca-todo { margin: -6px 0 12px; }
.lt-herr-prescripcion__sin-alta { align-self: end; }

/* Casillas de interrupción: tarjetas con casilla cuadrada (las de radio son redondas) */
.lt-herr-prescripcion__casillas { display: grid; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.lt-herr-prescripcion__casilla {
  position: relative; display: flex; align-items: flex-start; gap: 12px; min-height: 52px; padding: 13px 14px;
  border: 1.5px solid var(--herr-border); border-radius: 12px; background: var(--herr-canvas); cursor: pointer;
  font-size: 15px; font-weight: 600; line-height: 1.35; color: var(--herr-ink);
  transition: border-color .2s, background .2s;
}
.lt-herr-prescripcion__casilla:hover { border-color: var(--herr-ink); }
.lt-herr-prescripcion__casilla input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.lt-herr-prescripcion__caja {
  flex: none; display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; margin-top: 1px;
  border: 1.5px solid var(--herr-border-fuerte); border-radius: 5px; background: var(--herr-surface); color: transparent;
  transition: background .2s, border-color .2s, color .2s;
}
.lt-herr-prescripcion__casilla:has(input:checked) { border-color: var(--herr-ink); background: var(--herr-surface); }
.lt-herr-prescripcion__casilla:has(input:checked) .lt-herr-prescripcion__caja { border-color: var(--herr-ink); background: var(--herr-ink); color: #fff; }
.lt-herr-prescripcion__casilla:has(input:focus-visible) { outline: 3px solid var(--herr-primary); outline-offset: 2px; }

/* «No, nada» y «No lo sé»: misma casilla, separadas por una «o» para que se lea que excluyen */
.lt-herr-prescripcion__o {
  display: flex; align-items: center; gap: 12px; margin: 14px 0 10px; font-size: 13px; font-weight: 600; color: var(--herr-muted);
}
.lt-herr-prescripcion__o::before, .lt-herr-prescripcion__o::after { content: ''; flex: 1; height: 1px; background: var(--herr-divider); }
.lt-herr-prescripcion__excluyentes { display: grid; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); }

/* «¿Cuándo fue la última vez?»: solo si hay alguna casilla de suceso marcada */
.lt-herr-prescripcion__cuando { margin-top: 14px; max-width: 320px; }
.lt-herr__form:not(:has(input[data-suceso]:checked)) .lt-herr-prescripcion__cuando { display: none; }

/* Comunidad: no se pregunta; se dice y se puede cambiar */
.lt-herr-prescripcion__region {
  display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; padding: 12px 14px; border-radius: 12px;
  background: var(--herr-canvas); font-size: 14px; line-height: 1.45; color: var(--herr-text-2);
}
.lt-herr-prescripcion__region strong { color: var(--herr-ink); }
.lt-herr-prescripcion__region details { display: contents; }
.lt-herr-prescripcion__region summary {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 6px 0 0; cursor: pointer; list-style: none;
  font-weight: 700; color: var(--herr-ink); text-decoration: underline; text-underline-offset: 3px;
}
.lt-herr-prescripcion__region summary::-webkit-details-marker { display: none; }
.lt-herr-prescripcion__region summary:focus-visible { outline: 3px solid var(--herr-primary); outline-offset: 2px; border-radius: 6px; }
.lt-herr-prescripcion__region select { flex: 1 1 100%; margin-top: 6px; }

/* ------------------------------------------------------------------ Resultado */

/* El veredicto: banda a todo el ancho de la tarjeta, encima de las dos columnas.
   Cada categoría tiene icono, texto y color propios: nunca solo el color. */
.lt-herr-prescripcion__veredicto {
  flex: 1 1 100%; display: flex; align-items: center; gap: 14px; margin: 0; padding: 16px clamp(20px, 3vw, 34px);
  font-family: var(--herr-font-head); font-size: clamp(20px, 2.4vw, 26px); font-weight: 700; line-height: 1.2;
  letter-spacing: -.01em; scroll-margin-top: calc(var(--lt-header-h-effective, 0px) + 12px);
}
.lt-herr-prescripcion__veredicto:focus { outline: none; }
.lt-herr-prescripcion__veredicto:focus-visible { outline: 3px solid var(--herr-primary); outline-offset: -3px; }
.lt-herr-prescripcion__icono { flex: none; width: 34px; height: 34px; }
.lt-herr-prescripcion__veredicto small {
  display: block; margin-top: 3px; font-family: var(--herr-font-body); font-size: 13px; font-weight: 500; letter-spacing: 0;
}
/* Sin opacidad: a 13 px el subtítulo necesita 4,5:1 en las cinco bandas (revisión C-1); la jerarquía va en el peso. */
.lt-herr-prescripcion__veredicto--prescrita { background: var(--herr-dark); color: #fff; }
.lt-herr-prescripcion__veredicto--vigente { background: var(--herr-cuenta-bg); color: var(--herr-cuenta-ink); }
.lt-herr-prescripcion__veredicto--depende { background: var(--herr-banda-bg); color: var(--herr-banda-ink); }
.lt-herr-prescripcion__veredicto--caduca { background: var(--herr-primary); color: #fff; }
.lt-herr-prescripcion__veredicto--mixto { background: var(--herr-hundido); color: var(--herr-ink); border-bottom: 1.5px solid var(--herr-ink); }

/* Barra de avance con proporción real (la de días hábiles siempre va llena): SVG, no style= */
.lt-herr-prescripcion__barra { display: block; width: 100%; height: 4px; }
.lt-herr-prescripcion__barra .b-fondo { fill: var(--herr-divider); }
.lt-herr-prescripcion__barra .b-hecho { fill: var(--herr-primary); }

/* «Depende»: el motivo hace de titular; no hay cifra roja, porque no hay certeza que enseñar */
.lt-herr-prescripcion__motivo { margin: 0; font-family: var(--herr-font-head); font-size: clamp(19px, 2vw, 22px); font-weight: 600; line-height: 1.35; color: var(--herr-ink); }

/* Texto de apoyo bajo la cifra protagonista */
.lt-herr-prescripcion__lead { margin: 0; max-width: 46ch; font-size: 15.5px; line-height: 1.55; color: var(--herr-ink-soft); }
.lt-herr-prescripcion__lead strong { color: var(--herr-ink); }
/* La cifra puede ser «214 días» o «5 años»: la unidad va más pequeña para que quepa a 360 px */
.lt-herr-prescripcion__unidad { font-size: .5em; letter-spacing: -.01em; }

/* Intervalo: dos fechas unidas por un corchete. Solo cuando la ley no fija un día. */
.lt-herr-prescripcion__intervalo { display: flex; flex-direction: column; gap: 8px; }
.lt-herr-prescripcion__intervalo-pre { margin: 0; font-size: 15px; color: var(--herr-ink-soft); }
.lt-herr-prescripcion__intervalo-fechas { display: flex; align-items: stretch; gap: 0; margin: 0; }
.lt-herr-prescripcion__intervalo-fecha {
  flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; justify-content: space-between; gap: 2px;
  padding: 12px 14px;
  border: 1.5px solid var(--herr-border-fuerte); background: var(--herr-surface);
}
.lt-herr-prescripcion__intervalo-fecha:first-child { border-radius: 12px 0 0 12px; border-right-style: dashed; }
.lt-herr-prescripcion__intervalo-fecha:last-child { border-radius: 0 12px 12px 0; border-left: 0; }
.lt-herr-prescripcion__intervalo-fecha span { font-size: 12px; font-weight: 600; color: var(--herr-muted); }
.lt-herr-prescripcion__intervalo-fecha time { font-family: var(--herr-font-head); font-size: 20px; font-weight: 600; line-height: 1.15; color: var(--herr-ink); }
.lt-herr-prescripcion__intervalo-fecha.is-la-tuya { border-color: var(--herr-ink); }
.lt-herr-prescripcion__intervalo-fecha.is-la-tuya span { color: var(--herr-ink); }
.lt-herr-prescripcion__intervalo-fecha span strong { font-weight: 700; }
.lt-herr-prescripcion__intervalo-fecha time { white-space: nowrap; margin-top: auto; }

/* Línea de tiempo: la barra de progreso de días hábiles, estirada a años y con hitos.
   El SVG es decorativo (aria-hidden); la lista <ol> de debajo es el contenido real. */
.lt-herr-prescripcion__linea { display: flex; flex-direction: column; gap: 12px; }
.lt-herr-prescripcion__linea-h { margin: 0; font-family: var(--herr-font-head); font-size: 17px; font-weight: 600; color: var(--herr-ink); }
.lt-herr-prescripcion__pista { display: block; width: 100%; height: 34px; overflow: visible; }
.lt-herr-prescripcion__pista .p-fondo { fill: var(--herr-divider); }
.lt-herr-prescripcion__pista .p-hecho { fill: var(--herr-primary); }
.lt-herr-prescripcion__pista .p-pasado { fill: var(--herr-border-fuerte); }
.lt-herr-prescripcion__pista .p-pausa { fill: var(--herr-banda-borde); }
.lt-herr-prescripcion__pista .p-marca { fill: var(--herr-ink); }
.lt-herr-prescripcion__pista .p-hoy { fill: var(--herr-surface); stroke: var(--herr-ink); stroke-width: 2.5; }
.lt-herr-prescripcion__pista .p-vence { fill: var(--herr-primary); stroke: var(--herr-surface); stroke-width: 2.5; }
.lt-herr-prescripcion__hitos { margin: 0; padding: 0; list-style: none; }
.lt-herr-prescripcion__hito {
  display: grid; grid-template-columns: 14px minmax(0, 1fr) auto; align-items: baseline; gap: 4px 10px; padding: 9px 0;
  border-bottom: 1px solid var(--herr-divider); font-size: 14px; line-height: 1.4; color: var(--herr-ink-soft);
}
.lt-herr-prescripcion__hito:last-child { border-bottom: 0; }
.lt-herr-prescripcion__hito time { font-family: var(--herr-font-head); font-weight: 600; color: var(--herr-text-2); white-space: nowrap; }
.lt-herr-prescripcion__muestra { width: 10px; height: 10px; border-radius: 3px; background: var(--herr-ink); align-self: center; }
.lt-herr-prescripcion__muestra.is-vence { background: var(--herr-primary); border-radius: 999px; }
.lt-herr-prescripcion__muestra.is-pausa { background: var(--herr-banda-borde); }
.lt-herr-prescripcion__muestra.is-hoy { background: var(--herr-surface); box-shadow: inset 0 0 0 2px var(--herr-ink); border-radius: 999px; }
.lt-herr-prescripcion__hito.is-clave { color: var(--herr-ink); font-weight: 700; }
.lt-herr-prescripcion__hito.is-clave time { color: var(--herr-primary); }

/* Régimen transitorio de 2015: lo que nadie más explica. Tres reglas, dos tachadas. */
.lt-herr-prescripcion__transitorio {
  display: flex; flex-direction: column; gap: 14px; padding: clamp(18px, 2.4vw, 24px);
  border: 1.5px solid var(--herr-ink); border-radius: 18px; background: var(--herr-surface);
}
.lt-herr-prescripcion__transitorio-h { margin: 0; font-family: var(--herr-font-head); font-size: clamp(19px, 2vw, 22px); font-weight: 700; line-height: 1.2; color: var(--herr-ink); }
.lt-herr-prescripcion__transitorio p { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--herr-ink-soft); }
.lt-herr-prescripcion__reglas { margin: 0; padding: 0; list-style: none; border: 1px solid var(--herr-border); border-radius: 12px; overflow: hidden; }
.lt-herr-prescripcion__regla {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 4px 14px; padding: 12px 14px;
  border-bottom: 1px solid var(--herr-divider); font-size: 14px; line-height: 1.4; color: var(--herr-muted);
}
.lt-herr-prescripcion__regla:last-child { border-bottom: 0; }
.lt-herr-prescripcion__regla-fecha { font-family: var(--herr-font-head); font-size: 17px; font-weight: 600; white-space: nowrap; }
/* Tachada sigue siendo información: gris legible (3:1 o más) y el tachado marca el descarte (revisión I-4) */
.lt-herr-prescripcion__regla.is-descartada .lt-herr-prescripcion__regla-fecha { color: var(--herr-muted); text-decoration: line-through; }
.lt-herr-prescripcion__regla.is-aplica { background: var(--herr-cuenta-bg); color: var(--herr-cuenta-ink); font-weight: 600; }
.lt-herr-prescripcion__regla.is-aplica .lt-herr-prescripcion__regla-fecha { color: var(--herr-cuenta-ink); }
.lt-herr-prescripcion__regla-etiqueta { display: block; font-size: 12px; font-weight: 700; }
.lt-herr-prescripcion__sentencia { font-size: 13px !important; color: var(--herr-muted) !important; }
.lt-herr-prescripcion__sentencia a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

/* «Lo que lo cambia todo»: los interruptores del supuesto */
.lt-herr-prescripcion__cambia { display: flex; flex-direction: column; gap: 10px; }
.lt-herr-prescripcion__cambia-h { margin: 0; font-family: var(--herr-font-head); font-size: 17px; font-weight: 600; line-height: 1.3; color: var(--herr-ink); }
.lt-herr-prescripcion__cambia ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.lt-herr-prescripcion__cambia li { display: flex; align-items: flex-start; gap: 10px; font-size: 14.5px; line-height: 1.5; color: var(--herr-ink-soft); }
.lt-herr-prescripcion__cambia li svg { flex: none; width: 18px; height: 18px; margin-top: 2px; color: var(--herr-primary); }

/* Pagos periódicos: resultado mixto. Una barra por tramos y su lista. */
.lt-herr-prescripcion__tramos { display: flex; flex-direction: column; gap: 12px; }
.lt-herr-prescripcion__barra-tramos { display: block; width: 100%; height: 28px; border-radius: 8px; overflow: hidden; }
.lt-herr-prescripcion__barra-tramos .t-prescrita { fill: var(--herr-ink); }
.lt-herr-prescripcion__barra-tramos .t-depende { fill: var(--herr-banda-borde); }
.lt-herr-prescripcion__barra-tramos .t-vigente { fill: var(--herr-cuenta-ink); }
.lt-herr-prescripcion__barra-tramos .t-raya { stroke: var(--herr-surface); stroke-width: 2; }
.lt-herr-prescripcion__extremos { display: flex; justify-content: space-between; gap: 10px; margin: -4px 0 0; font-size: 12.5px; font-weight: 600; color: var(--herr-muted); }
.lt-herr-prescripcion__grupos { display: flex; flex-direction: column; gap: 8px; margin: 0; }
.lt-herr-prescripcion__grupo {
  display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: start; gap: 2px 12px; padding: 12px 14px;
  border-radius: 12px; background: var(--herr-canvas);
}
.lt-herr-prescripcion__grupo svg { width: 22px; height: 22px; }
.lt-herr-prescripcion__grupo dt { font-weight: 700; font-size: 15px; line-height: 1.3; color: var(--herr-ink); }
.lt-herr-prescripcion__grupo dd { margin: 0; grid-column: 2; font-size: 13.5px; line-height: 1.45; color: var(--herr-text-2); }
.lt-herr-prescripcion__grupo .lt-herr-prescripcion__grupo-n {
  grid-column: 3; grid-row: 1 / span 2; align-self: center; font-family: var(--herr-font-head); font-size: 26px; font-weight: 600; color: var(--herr-ink);
}
.lt-herr-prescripcion__grupo.is-prescrita svg { color: var(--herr-ink); }
.lt-herr-prescripcion__grupo.is-depende { background: var(--herr-banda-bg); }
.lt-herr-prescripcion__grupo.is-depende svg, .lt-herr-prescripcion__grupo.is-depende dt { color: var(--herr-banda-ink); }
.lt-herr-prescripcion__grupo.is-vigente svg { color: var(--herr-cuenta-ink); }

/* Despido: lo que hay que hacer, en pasos */
.lt-herr-prescripcion__pasos { margin: 0; padding: 0; list-style: none; counter-reset: paso; display: flex; flex-direction: column; gap: 10px; }
.lt-herr-prescripcion__pasos li {
  counter-increment: paso; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 12px; font-size: 14.5px; line-height: 1.55; color: var(--herr-ink-soft);
}
.lt-herr-prescripcion__pasos li::before {
  content: counter(paso); display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 999px;
  background: var(--herr-ink); color: #fff; font-family: var(--herr-font-head); font-size: 14px; font-weight: 700;
}
.lt-herr-prescripcion__pasos strong { color: var(--herr-ink); }

/* Bloque fijo bajo cualquier resultado (spec §6.4 y §10.1). Sustituye a .lt-herr__orientativo--resultado. */
.lt-herr-prescripcion__fijo {
  display: flex; flex-direction: column; gap: 12px; margin-top: 16px; padding: 18px 20px; border: 1px solid var(--herr-border);
  border-radius: 16px; background: var(--herr-surface);
}
.lt-herr-prescripcion__aviso { margin: 0; font-size: 14px; line-height: 1.6; color: var(--herr-ink-soft); }
.lt-herr-prescripcion__aviso strong { color: var(--herr-ink); }
.lt-herr-prescripcion__ficha { display: grid; gap: 1px; margin: 0; border-top: 1px solid var(--herr-divider); }
.lt-herr-prescripcion__ficha > div { display: flex; flex-wrap: wrap; gap: 2px 12px; padding: 10px 0 0; font-size: 13.5px; line-height: 1.45; }
.lt-herr-prescripcion__ficha dt { flex: 0 0 150px; font-weight: 700; color: var(--herr-text-2); }
.lt-herr-prescripcion__ficha dd { flex: 1 1 220px; margin: 0; color: var(--herr-ink-soft); }
.lt-herr-prescripcion__ficha a { display: inline-block; min-height: 44px; padding: 12px 0; color: var(--herr-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.lt-herr-prescripcion__pendiente {
  display: inline-block; padding: 2px 8px; border-radius: 6px; background: var(--herr-banda-bg); color: var(--herr-banda-ink); font-weight: 700;
}

/* CTA a la herramienta 4 (burofax): manda con «no prescrita» + «reclamo» en civil.
   El abogado queda como enlace secundario dentro de la misma tarjeta: un solo botón lleno. */
.lt-herr-prescripcion__burofax {
  display: grid; gap: 14px 28px; margin-top: 20px; padding: 24px 28px; border: 1.5px solid var(--herr-ink); border-radius: 20px;
  background: var(--herr-surface);
}
@media (min-width: 768px) { .lt-herr-prescripcion__burofax { grid-template-columns: minmax(0, 1fr) auto; align-items: center; } }
.lt-herr-prescripcion__burofax .lt-herr-prescripcion__burofax-titulo { margin: 0 0 6px; font-family: var(--herr-font-head); font-size: clamp(20px, 2.4vw, 26px); font-weight: 600; line-height: 1.2; color: var(--herr-ink); }
.lt-herr-prescripcion__burofax p { margin: 0; max-width: 60ch; font-size: 14.5px; line-height: 1.55; color: var(--herr-ink-soft); }
.lt-herr-prescripcion__burofax-acciones { display: flex; flex-direction: column; align-items: stretch; gap: 6px; }
.lt-herr-prescripcion__burofax-acciones .lt-herr__cta-boton { min-height: 52px; }
.lt-herr-prescripcion__secundario {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 8px; font-size: 14px; font-weight: 700;
  color: var(--herr-ink); text-decoration: underline; text-underline-offset: 3px;
}
.lt-herr-prescripcion__secundario:hover { color: var(--herr-primary); }
.lt-herr-prescripcion__secundario:focus-visible { outline: 3px solid var(--herr-primary); outline-offset: 2px; border-radius: 6px; }

/* Dos botones en la CTA oscura (despido: herramienta 3 + laboralista) */
.lt-herr-prescripcion__cta-acciones { display: flex; flex-wrap: wrap; gap: 10px; }
.lt-herr__cta .lt-herr-prescripcion__cta-sec {   /* el color de enlace del sitio gana a una sola clase */
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 14px 20px; border-radius: 11px;
  box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .45); color: #fff; font-size: 15px; font-weight: 700; line-height: 1; text-decoration: none;
}
.lt-herr__cta .lt-herr-prescripcion__cta-sec:hover { box-shadow: inset 0 0 0 1.5px #fff; color: #fff; text-decoration: none; }
.lt-herr__cta .lt-herr-prescripcion__cta-sec:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

/* ------------------------------------------------------------------ Página de delitos */
.lt-herr-prescripcion__tabla-caja {
  padding: clamp(18px, 3vw, 34px); background: var(--herr-surface); border: 1px solid var(--herr-border); border-radius: var(--herr-r-card);
  box-shadow: 0 40px 80px -56px rgba(22, 32, 46, .35);
}
.lt-herr-prescripcion__tabla { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.45; }
.lt-herr-prescripcion__tabla caption {
  caption-side: top; padding: 0 0 14px; text-align: left; font-family: var(--herr-font-head); font-size: clamp(20px, 2.2vw, 24px);
  font-weight: 600; color: var(--herr-ink);
}
.lt-herr-prescripcion__tabla th[scope="col"] { padding: 0 0 10px; text-align: left; font-size: 13px; font-weight: 600; color: var(--herr-text-2); border-bottom: 1.5px solid var(--herr-ink); }
.lt-herr-prescripcion__tabla th[scope="col"]:last-child { text-align: right; }
.lt-herr-prescripcion__tabla td, .lt-herr-prescripcion__tabla th[scope="row"] { padding: 14px 0; border-bottom: 1px solid var(--herr-divider); vertical-align: top; }
.lt-herr-prescripcion__tabla th[scope="row"] { padding-right: 16px; text-align: left; font-weight: 500; color: var(--herr-ink-soft); }
.lt-herr-prescripcion__tabla td { text-align: right; white-space: nowrap; font-family: var(--herr-font-head); font-size: 20px; font-weight: 600; color: var(--herr-ink); }
.lt-herr-prescripcion__tabla tr.is-nunca td { color: var(--herr-primary); white-space: normal; font-size: 17px; }
.lt-herr-prescripcion__tabla-pie { margin: 12px 0 0; font-size: 13px; line-height: 1.5; color: var(--herr-muted); }
.lt-herr-prescripcion__tabla-pie a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

/* ------------------------------------------------------------------ Barra fija */
/* El icono del veredicto delante del resumen: la categoría no se lee solo por el color */
@media (max-width: 767.98px) {
  .lt-herr__dock .lt-herr-prescripcion__dock-icono { display: inline-block; width: 18px; height: 18px; margin-right: 6px; vertical-align: -3px; }
  .lt-herr__dock.is-resultado .lt-herr-prescripcion__dock-sub { display: block; margin-top: 1px; font-size: 13px; font-weight: 600; color: var(--herr-text-2); }
}

/* ------------------------------------------------------------------ Cabecera, CTA y guía */
/* «¿Es otra cosa?» de las landings: debajo de la herramienta, con la pieza de enlaces del paso 02 */
.lt-herr-prescripcion__volver { margin: 24px 0 0; }

/* Enlaces extra de la CTA oscura del despido (días hábiles) */
.lt-herr-prescripcion__enlaces { flex: 1 1 100%; display: flex; flex-wrap: wrap; gap: 0 18px; margin: 0; padding: 0; list-style: none; }
.lt-herr-prescripcion__enlaces a {
  display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 700; color: #fff;
  text-decoration: underline; text-underline-offset: 3px;
}
.lt-herr-prescripcion__enlaces a:hover { color: #fff; text-decoration-thickness: 2px; }
.lt-herr-prescripcion__enlaces a:focus-visible { outline: 3px solid #fff; outline-offset: 3px; border-radius: 4px; }

/* Preguntas frecuentes: cada <details> es la fila `lt-herr__saltados` de la hoja común */
.lt-herr-prescripcion__faq .lt-herr-prescripcion__pregunta > summary { min-height: 44px; font-size: 16px; line-height: 1.35; }
.lt-herr-prescripcion__pregunta > p { padding: 0 0 14px; font-size: 15.5px; }
@media (min-width: 768px) { .lt-herr-prescripcion__pregunta > p { padding-left: 34px; } }

@media (prefers-reduced-motion: reduce) {
  .lt-herr-prescripcion__pildora span, .lt-herr-prescripcion__casilla, .lt-herr-prescripcion__caja { transition: none; }
}

/* Paso de fechas: una o dos fechas, sin estirarse a todo el ancho en escritorio */
.lt-herr-prescripcion__campos-fecha { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 320px)); }

/* Nada desborda a 360 px: las cifras y fechas largas pasan a la línea siguiente */
.lt-herr-prescripcion__veredicto, .lt-herr-prescripcion__lead, .lt-herr-prescripcion__motivo { overflow-wrap: anywhere; }
.lt-herr-prescripcion__ficha dt { flex-basis: 120px; }
@media (max-width: 479.98px) {
  .lt-herr-prescripcion__intervalo-fecha time { font-size: 17px; }
  .lt-herr-prescripcion__tabla td { font-size: 18px; }
  .lt-herr-prescripcion__burofax { padding: 20px 18px; }
}

/* Objetivos de 44 px (verificación en navegador): el botón de la CTA salía a 39-41 px (lo encoge .lt-btn)
   y los enlaces del índice de la guía a 41. */
.lt-herr-prescripcion .lt-herr__cta-boton { min-height: 44px; }
.lt-herr-prescripcion .lt-herr__indice a { padding: 12px 0; min-height: 44px; }

/* Las cifras de «prescrita» son 1, 2 o 3 (sin transitorio ni pausa covid queda solo el plazo): tantas
   columnas como cifras, para que no quede un hueco gris al lado. */
.lt-herr-prescripcion .lt-herr__cifras { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }

/* Fecha: con el teclado, Chromium pasa el foco al botón del calendario dentro del propio input y el
   input deja de casar con :focus; el anillo se mantiene con :focus-within. */
.lt-herr-prescripcion .lt-herr__control:focus-within { outline: 3px solid var(--herr-primary); outline-offset: 2px; border-color: var(--herr-ink); }

/* Revisión de diseño (ronda 1). Lo que viene de herramientas.css se corrige aquí, acotado a esta herramienta
   (unificar al integrar). */
/* M-1: la opción no marcada del control segmentado no llegaba a 4,5:1 con --herr-muted */
.lt-herr-prescripcion .lt-herr__seg-op span { color: var(--herr-text-2); }
.lt-herr-prescripcion .lt-herr__seg-op:has(input:checked) span { color: var(--herr-ink); }
/* M-2: etiquetas de las cifras legibles y la pausa covid no parece desactivada */
.lt-herr-prescripcion .lt-herr__cifras dt { font-size: 12.5px; }
.lt-herr-prescripcion .lt-herr__cifras-item.is-saltado dd { color: var(--herr-ink); }
/* I-3: una cifra nunca se parte en dos líneas */
.lt-herr-prescripcion .lt-herr__cifras dd { white-space: nowrap; }
/* I-3: en escritorio la columna principal cabe «el 28 de diciembre de 2020» en una línea */
@media (min-width: 1024px) { .lt-herr-prescripcion .lt-herr__res-principal { flex-basis: 440px; } }
/* M-5: la esquina de la CTA urgente: borde en vez de sombra inset, que asomaba en la curva */
.lt-herr-prescripcion .lt-herr__cta--urgente { box-shadow: none; border-left: 4px solid var(--herr-primary-light); }
/* M-9: campo con error, borde en el color del error (además del texto y de aria-invalid) */
.lt-herr-prescripcion .lt-herr__control[aria-invalid="true"],
.lt-herr-prescripcion .lt-herr__campo:has(.lt-herr__error) .lt-herr__control { border-color: var(--herr-error-ink); }
/* «Comprobar» de la barra mientras falta algo: no está desactivado (lleva a lo que falta), así que su texto
   necesita 4,5:1; con --herr-muted sobre --herr-hundido daba 4,23 (medido en la ronda 1). */
@media (max-width: 767.98px) {
  .lt-herr-prescripcion .lt-herr__dock-boton[aria-disabled="true"] { color: var(--herr-text-2); }
}

/* --- Fase 2: confianza, respuesta directa, tabla de plazos, plegables y pie de la guía ------------------ */
.lt-herr-prescripcion__confianza { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-top: 12px; }
.lt-herr-prescripcion__confianza .lt-herr-actualizado { margin: 0; }
.lt-herr-prescripcion__confianza-fuentes { font-size: 13px; color: var(--herr-text-2); text-decoration: underline; text-underline-offset: 2px; }
.lt-herr-prescripcion .lt-herr__chip a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.lt-herr-prescripcion__respuesta { margin: 0 0 28px; padding: 18px 20px; border-left: 4px solid var(--herr-primary); background: var(--herr-surface); border-radius: 0 12px 12px 0; font-size: 17px; line-height: 1.6; color: var(--herr-ink); }
.lt-herr-prescripcion__respuesta p { margin: 0; }
.lt-herr-prescripcion .lt-herr__guia-cuerpo a { color: var(--herr-ink); text-decoration: underline; text-underline-offset: 2px; }
.lt-herr-prescripcion__tabla-marco { overflow-x: auto; }
.lt-herr-prescripcion__tabla--plazos th[scope="col"]:last-child { text-align: left; }
.lt-herr-prescripcion__tabla--plazos td { text-align: left; white-space: normal; padding-right: 12px; font-family: inherit; font-size: 14px; font-weight: 400; color: var(--herr-ink-soft); }
.lt-herr-prescripcion__tabla--plazos td.lt-herr-prescripcion__tabla-plazo { white-space: nowrap; font-family: var(--herr-font-head); font-size: 17px; font-weight: 600; color: var(--herr-ink); }
.lt-herr-prescripcion__tabla-nota, .lt-herr-prescripcion__variantes { margin-top: 12px; font-size: 14px; line-height: 1.55; color: var(--herr-text-2); }
.lt-herr-prescripcion__tabla-nota p { margin: 0; }
.lt-herr-prescripcion__variantes a { font-weight: 600; }
.lt-herr-prescripcion__despachos { margin: 28px 0 0; padding-top: 16px; border-top: 1px solid var(--herr-divider); font-size: 14px; color: var(--herr-text-2); }
.lt-herr-prescripcion__plegable > summary { display: flex; align-items: center; gap: 10px; cursor: pointer; list-style: none; min-height: 44px; }
.lt-herr-prescripcion__plegable > summary::-webkit-details-marker { display: none; }
.lt-herr-prescripcion__plegable > summary:focus-visible { outline: 3px solid var(--herr-primary); outline-offset: 2px; }
.lt-herr-prescripcion__plegable[open] > summary .lt-herr__mas { transform: rotate(45deg); }
@media (max-width: 639.98px) {
  .lt-herr-prescripcion__tabla--plazos thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .lt-herr-prescripcion__tabla--plazos tr { display: block; padding: 12px 0; border-bottom: 1px solid var(--herr-divider); }
  .lt-herr-prescripcion__tabla--plazos th[scope="row"], .lt-herr-prescripcion__tabla--plazos td { display: block; padding: 2px 0; border: 0; }
  .lt-herr-prescripcion__tabla--plazos th[scope="row"] { font-weight: 600; color: var(--herr-ink); }
  .lt-herr-prescripcion__tabla--plazos td[data-col]::before { content: attr(data-col) ": "; font-weight: 600; color: var(--herr-text-2); font-family: var(--herr-font-body, inherit); font-size: 13px; }
}
.lt-herr-prescripcion__embed-h { margin: 0 0 16px; font-family: var(--herr-font-head); font-size: 20px; font-weight: 700; line-height: 1.2; color: var(--herr-ink); }
.lt-herr-prescripcion__plazos { scroll-margin-top: 88px; }
