/* Calculadora de días hábiles (app herramientas).

   Colores y fuentes: los tokens --lt-* de legaltica-ds.css. Cada uno lleva su
   valor de reserva porque el embebible (iframe en webs ajenas) NO carga
   legaltica-ds.css: solo esta hoja. Los --herr-* sin --lt-* detrás son colores
   que la web no tiene como token (el verde de «cuenta», la banda de aviso).

   Nada de estilos en línea en las plantillas: el CSP no tiene 'unsafe-inline'. */

.lt-herr {
  --herr-font-head: var(--lt-font-head, 'Space Grotesk', system-ui, -apple-system, sans-serif);
  --herr-font-body: var(--lt-font-body, 'Manrope', system-ui, -apple-system, sans-serif);
  --herr-canvas: var(--lt-canvas, #F7F5F1);
  --herr-surface: var(--lt-surface, #FFFFFF);
  --herr-border: var(--lt-border, #E7E2DA);
  --herr-border-fuerte: var(--lt-checkbox-border, #D8D2C8);
  --herr-divider: var(--lt-divider, #EFEBE5);
  --herr-ink: var(--lt-ink, #16202E);
  --herr-ink-soft: var(--lt-ink-soft, #3D4756);
  --herr-text-2: var(--lt-text-2, #5B6472);
  --herr-muted: var(--lt-text-muted, #666D7A);
  --herr-faint: var(--lt-text-faint, #9AA5B4);       /* solo decorativo: no pasa AA como texto */
  --herr-primary: var(--lt-primary, #C54343);
  --herr-primary-hover: var(--lt-primary-hover, #B23F3F);
  --herr-primary-light: var(--lt-primary-light, #E07A6B);
  --herr-dark: var(--lt-ink, #16202E);
  --herr-on-dark: var(--lt-on-dark, #B9C2CE);
  --herr-no-cuenta-ink: var(--lt-ph-ink, #9C948A);
  /* Sin token en la web */
  --herr-hundido: #ECE7DE;          /* fondo del control segmentado y de las pestañas */
  --herr-cuenta-bg: #E3EFE7;
  --herr-cuenta-ink: #1F5B3A;       /* 7,1:1 sobre --herr-cuenta-bg */
  --herr-banda-bg: #F4E7CF;
  --herr-banda-borde: #E7D4AE;
  --herr-banda-ink: #7A4F0F;
  --herr-error-bg: #FEF3F2;
  --herr-error-ink: #B42318;
  --herr-r-card: 22px;
  --herr-r-ctl: 12px;

  font-family: var(--herr-font-body);
  color: var(--herr-ink);
}
.lt-herr *, .lt-herr *::before, .lt-herr *::after { box-sizing: border-box; }
.lt-herr [hidden] { display: none; }
.lt-herr button, .lt-herr input, .lt-herr select { font-family: inherit; }
/* Táctil: sin el retardo del doble toque para hacer zoom */
.lt-herr button, .lt-herr a, .lt-herr label, .lt-herr input, .lt-herr select, .lt-herr summary { touch-action: manipulation; }
.lt-herr a:focus-visible { outline: 3px solid var(--herr-primary); outline-offset: 2px; border-radius: 4px; }
.lt-herr__sr {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0;
}

/* Destinos del desplazamiento guiado y de los enlaces de error: quedan bajo la cabecera fija del
   sitio (--lt-header-h-effective; en el embebible no existe y vale 0) y por encima de la barra
   fija del móvil (--herr-dock-h, la pone el JS). */
.lt-herr__paso, .lt-herr__campo, .lt-herr__enviar, .lt-herr__salida, .lt-herr__caducado {
  scroll-margin-top: calc(var(--lt-header-h-effective, 0px) + 12px);
  scroll-margin-bottom: calc(var(--herr-dock-h, 0px) + 12px);
}

.lt-herr--pagina { max-width: 1180px; margin: 0 auto; padding: 24px 16px 64px; }
@media (min-width: 768px) { .lt-herr--pagina { padding: 32px 24px 80px; } }

/* --- Banda «datos pendientes de revisión» --- */
.lt-herr__banda {
  margin: 0 0 20px; padding: 10px 16px; border: 1px solid var(--herr-banda-borde); border-radius: 10px;
  background: var(--herr-banda-bg); color: var(--herr-banda-ink); font-size: 13px; font-weight: 600;
  letter-spacing: .02em;
}

/* --- Cabecera --- */
.lt-herr__cabecera { display: flex; flex-direction: column; gap: 14px; margin-bottom: 24px; }
.lt-herr__h1 {
  margin: 0; font-family: var(--herr-font-head); font-weight: 700; font-size: clamp(30px, 4.4vw, 50px);
  line-height: 1.05; letter-spacing: -.025em; color: var(--herr-ink); text-wrap: balance;
}
.lt-herr__h1-resalte { color: var(--herr-primary); }
.lt-herr__entradilla { margin: 0; max-width: 64ch; font-size: 16px; line-height: 1.55; color: var(--herr-ink-soft); }
.lt-herr__chips { display: flex; flex-direction: row; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.lt-herr__chip {
  padding: 7px 12px; border: 1px solid var(--herr-border-fuerte); border-radius: 999px;
  font-family: var(--herr-font-head); font-size: 12.5px; font-weight: 500; line-height: 1; color: var(--herr-text-2);
}

/* --- Formulario --- */
.lt-herr__form {
  display: flex; flex-direction: column; gap: 28px; 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__paso { margin: 0; padding: 0; border: 0; min-width: 0; }
.lt-herr__paso-titulo {
  display: flex; align-items: center; gap: 12px; margin: 0 0 14px; padding: 0;
  font-family: var(--herr-font-head); font-size: clamp(20px, 2.2vw, 24px); font-weight: 600; letter-spacing: -.01em;
  color: var(--herr-ink);
}
.lt-herr__num { font-family: var(--herr-font-head); font-size: 13px; font-weight: 500; color: var(--herr-muted); }
/* Pasos (20-10): el número va en un círculo y, al completar el paso, el ✓ ocupa ese mismo círculo (antes
   salían «02» y el ✓ uno al lado del otro). El activo, con el círculo en rojo. Los marca el JS. */
.lt-herr__paso-titulo .lt-herr__num,
.lt-herr__paso-check {
  flex: none; align-self: flex-start; display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; margin-top: .05em; border-radius: 999px; font-size: 14px; line-height: 1;
}
.lt-herr__paso-titulo .lt-herr__num {
  font-weight: 600; color: var(--herr-muted); box-shadow: inset 0 0 0 1.5px var(--herr-border-fuerte);
  transition: color .2s, background-color .2s, box-shadow .2s;
}
.lt-herr__paso.is-activo > .lt-herr__paso-titulo .lt-herr__num {
  color: #fff; background: var(--herr-primary); box-shadow: none; font-weight: 700;
}
.lt-herr__paso-check { background: var(--herr-cuenta-ink); color: #fff; }
.lt-herr__paso-check svg { width: 14px; height: 14px; }
.lt-herr__paso-check[hidden] { display: none; }
.lt-herr__paso-titulo:has(> .lt-herr__paso-check:not([hidden])) > .lt-herr__num,
.lt-herr__paso.is-completo > .lt-herr__paso-titulo > .lt-herr__num { display: none; }

.lt-herr__tipos { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); }
.lt-herr__tipo {
  position: relative; display: flex; flex-direction: column; gap: 6px; padding: 15px 16px 16px;
  border: 1.5px solid var(--herr-border); border-radius: 14px; background: var(--herr-canvas); cursor: pointer;
  transition: border-color .2s, background .2s, box-shadow .2s;
}
.lt-herr__tipo:hover { border-color: var(--herr-ink); }
.lt-herr__tipo:has(input:checked) {
  border-color: var(--herr-ink); background: var(--herr-surface); box-shadow: 0 12px 24px -16px rgba(22, 32, 46, .45);
}
.lt-herr__tipo:has(input:focus-visible) { outline: 3px solid var(--herr-primary); outline-offset: 2px; }
.lt-herr__tipo input, .lt-herr__seg-op input {
  position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none;
}
.lt-herr__tipo-cab { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.lt-herr__tipo-nombre { font-weight: 700; font-size: 15px; line-height: 1.25; }
.lt-herr__tipo-ejemplo { font-size: 13px; line-height: 1.45; color: var(--herr-muted); }
.lt-herr__punto {
  flex: none; display: flex; align-items: center; justify-content: center; width: 18px; height: 18px;
  border: 1.5px solid var(--herr-border-fuerte); border-radius: 999px;
}
.lt-herr__punto::after {
  content: ''; width: 8px; height: 8px; border-radius: 999px; background: var(--herr-primary);
  transform: scale(0); transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
}
.lt-herr__tipo:has(input:checked) .lt-herr__punto { border-color: var(--herr-ink); }
.lt-herr__tipo:has(input:checked) .lt-herr__punto::after { transform: scale(1); }
.lt-herr__tipo--mini { padding: 12px 14px; }

.lt-herr__campos { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.lt-herr__campo { display: flex; flex-direction: column; gap: 8px; min-width: 0; margin: 0; padding: 0; border: 0; }
.lt-herr__campo--ancho { grid-column: 1 / -1; }
.lt-herr__etiqueta { padding: 0; font-size: 13px; font-weight: 600; line-height: 1.2; color: var(--herr-text-2); }
/* 20-10: un campo de opciones (fieldset + legend) a la misma altura que uno de texto (label). La <legend> no
   recibe el gap del flex y Bootstrap le pone float, 100 % y su margen: se deja como una etiqueta más. */
fieldset.lt-herr__campo > legend.lt-herr__etiqueta { float: none; width: auto; margin: 0 0 8px; font-size: 13px; line-height: 1.2; }
fieldset.lt-herr__campo > legend.lt-herr__etiqueta + * { clear: none; }
.lt-herr__control {
  width: 100%; height: 50px; padding: 0 14px; border: 1.5px solid var(--herr-border); border-radius: var(--herr-r-ctl);
  background: var(--herr-surface); font-size: 16px; font-weight: 500; color: var(--herr-ink);   /* < 16px: iOS hace zoom */
  transition: border-color .2s, box-shadow .2s;
}
.lt-herr__control:focus { outline: none; border-color: var(--herr-ink); box-shadow: 0 0 0 4px rgba(22, 32, 46, .08); }
select.lt-herr__control { cursor: pointer; }

/* Control segmentado de la operación: tres radios */
/* 20-10: 50 px de alto en total (40 + 2 × 5), como una casilla de texto, para que no se descuadren en fila */
.lt-herr__seg { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; padding: 5px; border-radius: var(--herr-r-ctl); background: var(--herr-hundido); }
.lt-herr__seg-op { position: relative; display: flex; cursor: pointer; }
.lt-herr__seg-op span {
  flex: 1; display: flex; align-items: center; justify-content: center; min-height: 40px; padding: 6px 5px;
  border-radius: 9px; font-size: 14px; font-weight: 700; line-height: 1.2; text-align: center; color: var(--herr-muted);
  transition: background .25s, color .25s, box-shadow .25s;
}
.lt-herr__seg-op:has(input:checked) span { background: var(--herr-surface); color: var(--herr-ink); box-shadow: 0 2px 6px rgba(22, 32, 46, .12); }
.lt-herr__seg-op:has(input:focus-visible) span { outline: 3px solid var(--herr-primary); outline-offset: 1px; }

/* Sin JS: se ve solo el campo de la operación marcada (y todos si el navegador no sabe :has) */
.lt-herr__form:has(input[name="op"][value="sumar"]:checked) [data-op]:not([data-op="sumar"]),
.lt-herr__form:has(input[name="op"][value="meses"]:checked) [data-op]:not([data-op="meses"]),
.lt-herr__form:has(input[name="op"][value="contar"]:checked) [data-op]:not([data-op="contar"]) { display: none; }

.lt-herr__numero {
  display: flex; height: 50px; overflow: hidden; border: 1.5px solid var(--herr-border); border-radius: var(--herr-r-ctl);
  background: var(--herr-surface);
}
.lt-herr__numero:focus-within { border-color: var(--herr-ink); box-shadow: 0 0 0 4px rgba(22, 32, 46, .08); }
.lt-herr__numero .lt-herr__control {
  flex: 1; min-width: 0; height: 100%; border: 0; border-radius: 0; box-shadow: none; text-align: center;
  font-family: var(--herr-font-head); font-size: 22px; font-weight: 600; -moz-appearance: textfield; appearance: textfield;
}
.lt-herr__numero .lt-herr__control::-webkit-inner-spin-button,
.lt-herr__numero .lt-herr__control::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.lt-herr__paso-btn {
  flex: none; width: 50px; border: 0; background: transparent; font-size: 22px; line-height: 1; color: var(--herr-ink);
  cursor: pointer; transition: background .2s;
}
.lt-herr__paso-btn:first-child { border-right: 1px solid var(--herr-divider); }
.lt-herr__paso-btn:last-child { border-left: 1px solid var(--herr-divider); }
.lt-herr__paso-btn:hover { background: var(--herr-canvas); }
.lt-herr__paso-btn:active { background: var(--herr-hundido); }
.lt-herr__paso-btn:focus-visible { outline: 3px solid var(--herr-primary); outline-offset: -3px; }

/* Opciones avanzadas */
.lt-herr__avanzadas { border-top: 1px solid var(--herr-divider); padding-top: 4px; }
.lt-herr__avanzadas > summary, .lt-herr__saltados > summary {
  display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 12px 0; cursor: pointer; list-style: none;
  font-weight: 700; font-size: 15px; color: var(--herr-ink);
}
.lt-herr__avanzadas > summary::-webkit-details-marker, .lt-herr__saltados > summary::-webkit-details-marker { display: none; }
.lt-herr__avanzadas > summary:focus-visible, .lt-herr__saltados > summary:focus-visible { outline: 3px solid var(--herr-primary); outline-offset: 2px; border-radius: 6px; }
.lt-herr__mas {
  flex: none; display: flex; align-items: center; justify-content: center; width: 24px; height: 24px;
  border: 1px solid var(--herr-border-fuerte); border-radius: 999px; font-weight: 500; transition: transform .35s cubic-bezier(.2, .8, .2, 1);
}
details[open] > summary .lt-herr__mas { transform: rotate(45deg); }
.lt-herr__pista { font-size: 13px; font-weight: 500; color: var(--herr-muted); }
.lt-herr__avanzadas-cuerpo { display: flex; flex-direction: column; gap: 14px; padding: 4px 0 10px; }
@media (min-width: 768px) { .lt-herr__avanzadas-cuerpo { padding-left: 34px; } }
.lt-herr__ayuda { margin: 0; max-width: 62ch; font-size: 14px; line-height: 1.5; color: var(--herr-text-2); }
.lt-herr__extra { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; }
.lt-herr__extra .lt-herr__campo { flex: 0 1 220px; }
.lt-herr__boton-oscuro {
  height: 50px; padding: 0 18px; border: 0; border-radius: var(--herr-r-ctl); background: var(--herr-ink); color: #fff;
  font-weight: 700; font-size: 14px; cursor: pointer;
}
.lt-herr__boton-oscuro:focus-visible { outline: 3px solid var(--herr-primary); outline-offset: 2px; }
.lt-herr__fichas { display: flex; flex-direction: row; flex-wrap: wrap; gap: 8px; width: 100%; margin: 0; padding: 0; list-style: none; }
.lt-herr__fichas:empty { display: none; }
.lt-herr__ficha {
  display: inline-flex; align-items: center; gap: 2px; height: 44px; padding: 0 0 0 14px; border: 1px solid var(--herr-border);
  border-radius: 999px; background: var(--herr-surface); font-size: 14px; font-weight: 600;
}
/* El aspa se ve de 26px pero se toca en 44 */
.lt-herr__ficha button {
  position: relative; isolation: isolate; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px;
  border: 0; border-radius: 999px; background: transparent; color: var(--herr-text-2); font-size: 12px; cursor: pointer;
}
.lt-herr__ficha button::before {
  content: ''; position: absolute; inset: 9px; z-index: -1; border-radius: 999px; background: var(--herr-canvas);
}
.lt-herr__ficha button:focus-visible { outline: 3px solid var(--herr-primary); outline-offset: -4px; }

/* Enviar */
.lt-herr__enviar { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; }
.lt-herr__calcular {
  flex: 1 1 280px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; height: 58px;
  padding: 0 24px; border: 0; border-radius: 14px; background: var(--herr-primary); color: #fff;
  font-family: var(--herr-font-body); font-size: 17px; font-weight: 700; cursor: pointer;
  box-shadow: 0 14px 30px -14px rgba(197, 67, 67, .7); transition: transform .2s, background .2s, box-shadow .2s;
}
.lt-herr__calcular:hover { background: var(--herr-primary-hover); transform: translateY(-1px); color: #fff; }
.lt-herr__calcular:focus-visible { outline: 3px solid var(--herr-ink); outline-offset: 3px; }
.lt-herr__orientativo { flex: 1 1 240px; margin: 0; font-size: 13px; line-height: 1.5; color: var(--herr-muted); }

.lt-herr__error { display: block; margin: 4px 0 0; color: var(--herr-error-ink); font-size: 13px; font-weight: 600; }

/* «Has cambiado los datos» (lo enseña el JS) */
.lt-herr__caducado {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px; width: 100%;
  padding: 14px 18px; border: 0; border-radius: var(--herr-r-ctl); background: var(--herr-dark); color: #fff;
  font-size: 14px; font-weight: 500; line-height: 1.4; text-align: left; cursor: pointer;
}
.lt-herr__caducado-accion { font-weight: 700; white-space: nowrap; }
.lt-herr__caducado:focus-visible { outline: 3px solid var(--herr-primary); outline-offset: 2px; }

/* --- Avisos de error (también los usan los tests) --- */
.lt-herr__aviso {
  margin: 0 0 16px; padding: 12px 16px; border-left: 3px solid #F79009; border-radius: 8px; background: #FFFAEB;
  font-size: 14px; line-height: 1.5;
}
.lt-herr__aviso--error { border-left-color: var(--herr-error-ink); background: var(--herr-error-bg); }
.lt-herr__aviso a { color: var(--herr-error-ink); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.lt-herr__aviso a + a::before { content: '· '; color: var(--herr-ink); font-weight: 400; text-decoration: none; display: inline-block; margin-right: 4px; }

/* --- Resultado --- */
.lt-herr__salida { padding-top: 32px; }
.lt-herr__salida:empty { padding-top: 0; }
.lt-herr__resultados { display: flex; flex-direction: column; gap: 20px; }

.lt-herr__quien { display: flex; flex-direction: column; gap: 10px; }
.lt-herr__quien-cab { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 14px; }
.lt-herr__quien-h { margin: 0; font-family: var(--herr-font-head); font-size: clamp(20px, 2.2vw, 24px); font-weight: 600; color: var(--herr-ink); }
.lt-herr__diferencia { margin: 0; font-size: 15px; font-weight: 700; color: var(--herr-ink); }
.lt-herr__pestanas { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; padding: 5px; border-radius: 16px; background: var(--herr-hundido); }
.lt-herr__pestana {
  display: flex; flex-direction: column; gap: 4px; min-width: 0; min-height: 44px; padding: 12px 14px; border-radius: 12px;
  color: var(--herr-muted); text-decoration: none; transition: background .25s, color .25s, box-shadow .25s;
}
.lt-herr__pestana:hover { color: var(--herr-ink); text-decoration: none; }
.lt-herr__pestana:focus-visible { outline: 3px solid var(--herr-primary); outline-offset: 1px; }
.lt-herr__pestana-nombre { font-weight: 700; font-size: 15px; line-height: 1.25; }
.lt-herr__pestana-dato { font-family: var(--herr-font-head); font-size: 13px; font-weight: 600; }
.lt-herr__pestana.is-activa, .lt-herr__pestana[aria-selected="true"] {
  background: var(--herr-surface); color: var(--herr-ink); box-shadow: 0 10px 24px -12px rgba(22, 32, 46, .45);
}
.lt-herr__pestana[aria-selected="true"] .lt-herr__pestana-dato { color: var(--herr-primary); }
.lt-herr__resultados--pestanas .lt-herr__resultado:not(.is-activo) { display: none; }

.lt-herr__resultado {
  display: flex; flex-wrap: wrap; overflow: hidden; scroll-margin-top: 96px;
  background: var(--herr-surface); border: 1px solid var(--herr-border); border-radius: var(--herr-r-card);
}
.lt-herr__res-principal {
  flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 18px; padding: clamp(20px, 3vw, 34px);
  background: var(--herr-canvas); border-right: 1px solid var(--herr-divider);
}
.lt-herr__res-detalle { flex: 2 1 440px; min-width: 0; display: flex; flex-direction: column; gap: 18px; padding: clamp(20px, 3vw, 30px); }
.lt-herr__res-cab { display: flex; flex-direction: column; gap: 6px; }
/* Titular del resultado: recibe el foco del JS (tabindex=-1) para los lectores de pantalla */
.lt-herr__si, .lt-herr__quien-h { scroll-margin-top: calc(var(--lt-header-h-effective, 0px) + 12px); }
.lt-herr__si:focus, .lt-herr__quien-h:focus { outline: none; }
.lt-herr__si:focus-visible, .lt-herr__quien-h:focus-visible { outline: 3px solid var(--herr-primary); outline-offset: 3px; border-radius: 4px; }
.lt-herr__si {
  margin: 0; font-family: var(--herr-font-head); font-size: 13px; font-weight: 600; letter-spacing: .1em;
  text-transform: uppercase; color: var(--herr-primary);
}
.lt-herr__norma { margin: 0; font-size: 13px; line-height: 1.45; color: var(--herr-muted); }
.lt-herr__norma a { color: inherit; text-decoration: underline; text-decoration-color: var(--herr-border-fuerte); text-underline-offset: 2px; }
.lt-herr__norma a:hover { color: var(--herr-primary); }

.lt-herr__progreso { display: flex; flex-direction: column; gap: 6px; }
.lt-herr__contador { margin: 0; font-size: 14px; font-weight: 600; color: var(--herr-text-2); }
.lt-herr__barra { height: 4px; overflow: hidden; border-radius: 4px; background: var(--herr-divider); }
.lt-herr__barra span { display: block; width: 100%; height: 100%; border-radius: 4px; background: var(--herr-primary); }

.lt-herr__vence { display: flex; flex-direction: column; gap: 2px; }
.lt-herr__vence p { margin: 0; }
.lt-herr__vence-pre { font-size: 17px; color: var(--herr-ink-soft); }
.lt-herr__dia, .lt-herr__cifra {
  font-family: var(--herr-font-head); font-weight: 700; font-size: clamp(44px, 5.4vw, 64px); line-height: 1;
  letter-spacing: -.03em; color: var(--herr-primary);
}
.lt-herr__principal { margin: 0; }
.lt-herr__fecha {
  font-family: var(--herr-font-head); font-weight: 600; font-size: clamp(22px, 2.6vw, 30px); line-height: 1.15;
  letter-spacing: -.01em; color: var(--herr-ink);
}
.lt-herr__vence .lt-herr__prorroga { margin-top: 8px; font-size: 14px; line-height: 1.5; color: var(--herr-ink-soft); }

.lt-herr__cifras {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 0; overflow: hidden;
  border: 1px solid var(--herr-border); border-radius: var(--herr-r-ctl); background: var(--herr-border);
}
.lt-herr__cifras-item { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 5px; padding: 12px; background: var(--herr-surface); }
.lt-herr__cifras dt { font-size: 11.5px; font-weight: 600; line-height: 1.3; letter-spacing: .03em; color: var(--herr-muted); }
.lt-herr__cifras dd { margin: 0; font-family: var(--herr-font-head); font-size: 26px; font-weight: 600; line-height: 1; color: var(--herr-ink); }
.lt-herr__cifras-item.is-contado dd { color: var(--herr-cuenta-ink); }
.lt-herr__cifras-item.is-saltado dd { color: var(--herr-muted); }

.lt-herr__desde, .lt-herr__fecha-datos { margin: 0; font-size: 13px; line-height: 1.5; color: var(--herr-muted); }
.lt-herr__acciones { display: flex; flex-wrap: wrap; gap: 8px; }
.lt-herr__boton-sec {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 12px 16px; border: 1px solid var(--herr-border-fuerte);
  border-radius: 10px; background: var(--herr-surface); color: var(--herr-ink); font-size: 14px; font-weight: 700; line-height: 1;
  text-decoration: none; cursor: pointer; transition: border-color .2s, transform .2s;
}
.lt-herr__boton-sec:hover { border-color: var(--herr-ink); color: var(--herr-ink); text-decoration: none; transform: translateY(-1px); }
.lt-herr__boton-sec:focus-visible { outline: 3px solid var(--herr-primary); outline-offset: 2px; }

/* Leyenda (el calendario y sus muestras están en dias_habiles.css) */
.lt-herr__leyenda { display: flex; flex-direction: row; flex-wrap: wrap; gap: 10px 16px; margin: 0; padding: 0; list-style: none; font-size: 12.5px; color: var(--herr-text-2); }
.lt-herr__leyenda li { display: flex; align-items: center; gap: 7px; }

/* Desglose y notas */
.lt-herr__saltados { border-top: 1px solid var(--herr-divider); }
.lt-herr__saltados > summary { font-size: 14px; }
.lt-herr__motivos { margin: 0; padding: 0 0 6px; list-style: none; }
@media (min-width: 768px) { .lt-herr__motivos { padding-left: 34px; } }
.lt-herr__motivo {
  display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px solid var(--herr-divider);
  font-size: 14px; line-height: 1.4; color: var(--herr-ink-soft);
}
.lt-herr__motivo:last-child { border-bottom: 0; }
.lt-herr__motivo-norma { color: var(--herr-muted); }
.lt-herr__motivo-n { flex: none; font-family: var(--herr-font-head); font-weight: 600; color: var(--herr-text-2); white-space: nowrap; }
.lt-herr__saltados-ninguno { margin: 0; padding-top: 14px; border-top: 1px solid var(--herr-divider); font-size: 14px; color: var(--herr-text-2); }
.lt-herr__notas { display: flex; flex-direction: column; gap: 8px; }
.lt-herr__nota {
  display: flex; align-items: flex-start; gap: 11px; margin: 0; padding: 12px 14px; border-radius: 11px;
  background: var(--herr-canvas); font-size: 13.5px; line-height: 1.55; color: var(--herr-ink-soft);
}
.lt-herr__i {
  flex: none; width: 19px; height: 19px; border-radius: 999px; background: var(--herr-ink); color: #fff;
  font-family: var(--herr-font-head); font-size: 12px; font-weight: 700; line-height: 19px; text-align: center;
}

/* CTA del abogado */
.lt-herr__cta {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 24px; margin-top: 20px;
  padding: 24px 28px; border-radius: 20px; background: var(--herr-dark); color: #fff;
}
.lt-herr__cta-titulo {
  flex: 1 1 320px; margin: 0; font-family: var(--herr-font-head); font-size: clamp(20px, 2.4vw, 28px); font-weight: 600;
  line-height: 1.2; letter-spacing: -.01em; color: #fff;
}
.lt-herr__cta--urgente { box-shadow: inset 4px 0 0 var(--herr-primary-light); }
/* El ancla #lt-herr-cta no queda bajo la cabecera fija */
.lt-herr__cta, .lt-herr-tasas__cta-discreto { scroll-margin-top: calc(var(--lt-header-h-effective, 72px) + 12px); }
.lt-herr__cta-boton {
  flex: none; display: inline-flex; align-items: center; justify-content: center; padding: 16px 24px; border-radius: 11px;
  background: var(--herr-primary); color: #fff; font-family: var(--herr-font-body); font-size: 15px; font-weight: 700;
  line-height: 1; text-decoration: none;
}
.lt-herr__cta-boton:hover { background: var(--herr-primary-hover); color: #fff; text-decoration: none; }
.lt-herr__cta-boton:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

/* --- Guía editorial --- */
.lt-herr__guia { display: grid; gap: 28px; margin-top: 72px; }
@media (min-width: 992px) {
  .lt-herr__guia { grid-template-columns: minmax(240px, 1fr) 2fr; gap: 52px; align-items: start; }
  .lt-herr__guia-indice { position: sticky; top: calc(var(--lt-header-h-effective, 72px) + 24px); }
}
.lt-herr__guia-indice { display: flex; flex-direction: column; gap: 12px; }
.lt-herr__eyebrow {
  margin: 0; font-family: var(--herr-font-head); font-size: 12.5px; font-weight: 600; letter-spacing: .14em;
  text-transform: uppercase; color: var(--herr-primary);
}
.lt-herr__guia-h2 {
  margin: 0; font-family: var(--herr-font-head); font-size: clamp(28px, 3.4vw, 42px); font-weight: 700; line-height: 1.05;
  letter-spacing: -.02em; color: var(--herr-ink);
}
.lt-herr__indice { margin: 8px 0 0; padding: 0; list-style: none; }
.lt-herr__indice a {
  display: flex; align-items: baseline; gap: 12px; padding: 10px 0; border-top: 1px solid var(--herr-border);
  font-size: 14.5px; font-weight: 600; line-height: 1.35; color: var(--herr-ink); text-decoration: none;
}
.lt-herr__indice a:hover { color: var(--herr-primary); text-decoration: none; }
.lt-herr__guia-cuerpo { display: flex; flex-direction: column; min-width: 0; }
.lt-herr__seccion { padding: 26px 0; border-top: 1px solid var(--herr-border); scroll-margin-top: 96px; }
.lt-herr__seccion-h {
  display: flex; align-items: baseline; gap: 16px; margin: 0 0 12px; font-family: var(--herr-font-head);
  font-size: clamp(22px, 2.4vw, 30px); font-weight: 600; line-height: 1.15; letter-spacing: -.01em; color: var(--herr-ink);
}
.lt-herr__seccion-num { flex: none; font-weight: 700; color: var(--herr-primary); }
.lt-herr__seccion p { margin: 0; max-width: 66ch; font-size: 16.5px; line-height: 1.7; color: var(--herr-ink-soft); }
.lt-herr__despacho {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 20px; margin-top: 18px;
  padding: 24px; border: 1px solid var(--herr-border); border-radius: 18px; background: var(--herr-surface);
}
.lt-herr__despacho > div { flex: 1 1 280px; }
.lt-herr__despacho-titulo { margin: 0 0 4px; font-family: var(--herr-font-head); font-size: 22px; font-weight: 600; color: var(--herr-ink); }
.lt-herr__despacho-texto { margin: 0; font-size: 14px; line-height: 1.55; color: var(--herr-text-2); }

/* --- Barra fija inferior del móvil (la crea dias_habiles.js; sin JS no existe) --- */
.lt-herr__dock { display: none; }
@media (max-width: 767.98px) {
  body.lt-herr-con-dock { padding-bottom: var(--herr-dock-h, 0px); }
  .lt-herr__dock {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030; display: flex; flex-wrap: wrap; align-items: center;
    gap: 8px 12px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--herr-border); background: var(--herr-surface);
    box-shadow: 0 -12px 28px -18px rgba(22, 32, 46, .45);
    transform: translateY(0); visibility: visible; transition: transform .25s ease, visibility 0s linear 0s;
  }
  .lt-herr__dock.is-oculta { transform: translateY(110%); visibility: hidden; transition: transform .25s ease, visibility 0s linear .25s; }
  .lt-herr__dock-estado { flex: 1 1 140px; min-width: 0; margin: 0; font-size: 14px; font-weight: 600; line-height: 1.3; color: var(--herr-text-2); }
  .lt-herr__dock-estado strong { display: block; font-family: var(--herr-font-head); font-size: 17px; font-weight: 700; color: var(--herr-ink); }
  .lt-herr__dock.is-resultado .lt-herr__dock-estado strong { color: var(--herr-primary); }
  .lt-herr__dock-acciones { flex: 0 0 auto; display: flex; gap: 8px; margin-left: auto; }
  .lt-herr__dock-boton, .lt-herr__dock-cta {
    display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 16px;
    border: 0; border-radius: 12px; font-family: var(--herr-font-body); font-size: 15px; font-weight: 700; line-height: 1;
    text-decoration: none; cursor: pointer; white-space: nowrap;
  }
  .lt-herr__dock-boton { background: var(--herr-primary); color: #fff; }
  .lt-herr__dock-boton[aria-disabled="true"] { background: var(--herr-hundido); color: var(--herr-muted); cursor: not-allowed; }
  .lt-herr__dock.is-resultado .lt-herr__dock-boton { background: var(--herr-surface); color: var(--herr-ink); box-shadow: inset 0 0 0 1.5px var(--herr-border-fuerte); }
  /* Con el contenedor delante: las reglas de enlace de la web (a:link…) pesan más que una clase sola */
  .lt-herr__dock a.lt-herr__dock-cta, .lt-herr__dock a.lt-herr__dock-cta:link, .lt-herr__dock a.lt-herr__dock-cta:visited,
  .lt-herr__dock a.lt-herr__dock-cta:hover { background: var(--herr-primary); color: #fff; text-decoration: none; }
  .lt-herr__dock-boton:focus-visible, .lt-herr__dock-cta:focus-visible { outline: 3px solid var(--herr-ink); outline-offset: 2px; }
}

/* --- Embebible: solo esta hoja, sin legaltica-ds.css --- */
.lt-herr-embed { margin: 0; background: var(--lt-canvas, #F7F5F1); }
.lt-herr--embed { padding: 12px; }
.lt-herr--embed .lt-herr__form { box-shadow: none; }

@media (prefers-reduced-motion: reduce) {
  .lt-herr *, .lt-herr *::before, .lt-herr *::after { transition: none !important; }
}

/* --- Arreglos comunes traídos de las ramas al integrar (19-10-2026) ---
   Cada herramienta los había arreglado solo en su ámbito (laboral T13a I1/I2, prescripción R25,
   revisor R31): aquí valen para todas, días hábiles incluida. Los bloques propios de más abajo pueden
   seguir afinando; estos son el mínimo común. */
/* legaltica-ds.css baja en móvil `button.lt-btn` y `a.lt-btn` a 12,5 px con especificidad (0,1,1):
   con el contenedor delante gana esta. CTA con 48 px de toque. */
.lt-herr button.lt-herr__calcular { font-size: 17px; }
.lt-herr a.lt-herr__cta-boton, .lt-herr a.lt-herr__cta-boton:link, .lt-herr a.lt-herr__cta-boton:visited {
  min-height: 48px; padding: 14px 22px; font-size: 16px; line-height: 1.2; text-align: center; white-space: normal;
}
/* La opción no elegida del segmentado con --herr-text-2 (4,86:1 sobre --herr-hundido; el muted daba 4,23). */
.lt-herr .lt-herr__seg-op span { color: var(--herr-text-2); }
.lt-herr .lt-herr__seg-op:has(input:checked) span { color: var(--herr-ink); }
/* Campo con error: borde en el color del error, además del texto y de aria-invalid. */
.lt-herr .lt-herr__control[aria-invalid="true"],
.lt-herr .lt-herr__campo:has(.lt-herr__error) .lt-herr__control { border-color: var(--herr-error-ink); }
/* Esquina de la CTA urgente: borde en vez de sombra inset, que asomaba en la curva. */
.lt-herr .lt-herr__cta--urgente { box-shadow: none; border-left: 4px solid var(--herr-primary-light); }
/* El botón de la barra mientras falta algo no está desactivado (lleva a lo que falta): 4,5:1. */
@media (max-width: 767.98px) {
  .lt-herr .lt-herr__dock-boton[aria-disabled="true"] { color: var(--herr-text-2); }
}

/* =====================================================================
   Piezas SEO comunes (fase 1, 20-10-2026; contrato en docs/herramientas/SEO.md):
   migas, «Actualizado el …», FAQ en acordeón sin JS y «Fuentes oficiales». Las pinta
   herramientas/templates/herramientas/seo/_*.html desde `seo` (PaginaSEO). Van fuera de
   .lt-herr para que el hub las use también; cada token lleva su reserva (el embebible no
   carga legaltica-ds.css).
   ===================================================================== */
.lt-herr-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }

.lt-herr-migas { margin: 0 0 8px; font-size: 13.5px; color: var(--lt-text-2, #5B6472); }
.lt-herr-migas__lista { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; margin: 0; padding: 0; list-style: none; }
.lt-herr-migas__paso { display: inline-flex; align-items: center; }
.lt-herr-migas__paso + .lt-herr-migas__paso::before {
  content: ''; width: 6px; height: 6px; margin: 0 10px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor;
  transform: rotate(45deg); opacity: .55;
}
.lt-herr-migas a {
  display: inline-flex; align-items: center; min-height: 44px; color: var(--lt-text-2, #5B6472); text-decoration: underline;
  text-decoration-color: var(--lt-border, #E7E2DA); text-underline-offset: 3px;
}
.lt-herr-migas a:hover { color: var(--lt-primary, #C54343); text-decoration-color: currentColor; }
.lt-herr-migas a:focus-visible { outline: 3px solid var(--lt-primary, #C54343); outline-offset: 2px; border-radius: 4px; }
.lt-herr-migas [aria-current] { color: var(--lt-ink, #16202E); font-weight: 600; }

.lt-herr-actualizado {
  display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 13.5px; color: var(--lt-text-2, #5B6472);
}
.lt-herr-actualizado__punto { width: 8px; height: 8px; border-radius: 50%; background: var(--lt-verified, #2C6E63); }

.lt-herr-faq { margin: 40px 0 0; }
.lt-herr-faq__h {
  margin: 0 0 14px; font-family: var(--lt-font-head, 'Space Grotesk', system-ui, sans-serif); font-weight: 600;
  font-size: clamp(22px, 2.6vw, 28px); letter-spacing: -.02em; color: var(--lt-ink, #16202E);
}
.lt-herr-faq__lista { border-top: 1px solid var(--lt-border, #E7E2DA); }
.lt-herr-faq__item { border-bottom: 1px solid var(--lt-border, #E7E2DA); }
.lt-herr-faq__pregunta {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; padding: 14px 2px;
  list-style: none; cursor: pointer; font-size: 16px; font-weight: 600; line-height: 1.4; color: var(--lt-ink, #16202E);
}
.lt-herr-faq__pregunta::-webkit-details-marker { display: none; }
.lt-herr-faq__pregunta:hover { color: var(--lt-primary, #C54343); }
.lt-herr-faq__pregunta:focus-visible { outline: 3px solid var(--lt-primary, #C54343); outline-offset: 2px; border-radius: 6px; }
.lt-herr-faq__signo { position: relative; flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--lt-divider, #EFEBE5); }
.lt-herr-faq__signo::before, .lt-herr-faq__signo::after {
  content: ''; position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; margin: -1px 0 0 -6px;
  border-radius: 2px; background: currentColor; transition: transform .2s;
}
.lt-herr-faq__signo::after { transform: rotate(90deg); }
.lt-herr-faq__item[open] .lt-herr-faq__signo::after { transform: rotate(0deg); }
.lt-herr-faq__respuesta { max-width: 72ch; padding: 0 2px 18px; font-size: 15px; line-height: 1.65; color: var(--lt-ink-soft, #3D4756); }
.lt-herr-faq__respuesta p { margin: 0 0 10px; }
.lt-herr-faq__respuesta p:last-child { margin-bottom: 0; }

.lt-herr-fuentes { margin: 32px 0 0; }
.lt-herr-fuentes__h {
  margin: 0 0 10px; font-family: var(--lt-font-head, 'Space Grotesk', system-ui, sans-serif); font-weight: 600;
  font-size: 18px; color: var(--lt-ink, #16202E);
}
.lt-herr-fuentes__lista { margin: 0; padding: 0; list-style: none; }
.lt-herr-fuentes__item {
  display: flex; flex-direction: column; gap: 2px; padding: 10px 0; border-bottom: 1px solid var(--lt-divider, #EFEBE5);
}
.lt-herr-fuentes__enlace {
  display: inline-flex; align-items: center; min-height: 32px; font-size: 14.5px; font-weight: 600;
  color: var(--lt-ink, #16202E); text-decoration: underline; text-underline-offset: 3px;
}
.lt-herr-fuentes__enlace:hover { color: var(--lt-primary, #C54343); }
.lt-herr-fuentes__enlace:focus-visible { outline: 3px solid var(--lt-primary, #C54343); outline-offset: 2px; border-radius: 4px; }
.lt-herr-fuentes__meta { font-size: 13px; color: var(--lt-text-2, #5B6472); }

@media (prefers-reduced-motion: reduce) {
  .lt-herr-faq__signo::before, .lt-herr-faq__signo::after { transition: none; }
}

/* «Siguiente paso» (fase 3): uno o dos enlaces a otra herramienta o a su guía de trámite (herramientas/siguiente.py). */
.lt-herr-siguiente { margin: 32px 0; }
.lt-herr-siguiente__h { font-family: var(--herr-font-head); font-size: 20px; font-weight: 600; color: var(--herr-ink); margin: 0 0 12px; }
.lt-herr-siguiente__lista { display: grid; grid-template-columns: 1fr; gap: 12px; list-style: none; margin: 0; padding: 0; }
@media (min-width: 768px) { .lt-herr-siguiente__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.lt-herr-siguiente__enlace {
  display: flex; flex-direction: column; gap: 4px; height: 100%; min-height: 44px; padding: 16px 18px;
  border: 1px solid var(--herr-border); border-radius: 16px; background: var(--herr-surface); text-decoration: none;
}
.lt-herr-siguiente__enlace:hover, .lt-herr-siguiente__enlace:focus-visible { border-color: var(--herr-primary); text-decoration: none; }
.lt-herr-siguiente__enlace:focus-visible { outline: 3px solid var(--herr-primary); outline-offset: 2px; }
.lt-herr-siguiente__anchor { font-family: var(--herr-font-head); font-size: 17px; font-weight: 600; color: var(--herr-primary); }
.lt-herr-siguiente__texto { font-size: 14px; line-height: 1.5; color: var(--herr-muted); }

/* --- CTA a abogados siempre visible (20-10-2026; _cta_fijo.html y cta_fijo.js) ------------------------------- */
.lt-herr-ctafijo {
  /* Va fuera de .lt-herr (antes del pie): sus variables no llegan, se declaran aquí con las mismas reservas. */
  --herr-surface: var(--lt-surface, #FFFFFF); --herr-border: var(--lt-border, #E7E2DA);
  --herr-ink: var(--lt-ink, #16202E); --herr-primary: var(--lt-primary, #C54343);
  font-family: var(--lt-font-body, 'Manrope', system-ui, -apple-system, sans-serif);
  position: fixed; right: 24px; bottom: 24px; z-index: 1020; display: flex; align-items: center; gap: 14px;
  max-width: calc(100vw - 48px); padding: 10px 10px 10px 18px; border: 1px solid var(--herr-border);
  border-radius: 999px; background: var(--herr-surface); box-shadow: 0 18px 40px -18px rgba(22, 32, 46, .45);
  transition: transform .25s ease, opacity .25s ease, visibility 0s linear 0s;
}
.lt-herr-ctafijo.is-oculta { transform: translateY(16px); opacity: 0; visibility: hidden;
  transition: transform .25s ease, opacity .25s ease, visibility 0s linear .25s; }
.lt-herr-ctafijo__pregunta { margin: 0; font-size: 14px; font-weight: 600; line-height: 1.3; color: var(--herr-ink); white-space: nowrap; }
.lt-herr-ctafijo a.lt-herr-ctafijo__boton, .lt-herr-ctafijo a.lt-herr-ctafijo__boton:link,
.lt-herr-ctafijo a.lt-herr-ctafijo__boton:visited {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 999px;
  background: var(--herr-primary); color: #fff; font-size: 15px; font-weight: 700; line-height: 1;
  text-decoration: none; white-space: nowrap;
}
.lt-herr-ctafijo__flecha { margin-left: 6px; }
.lt-herr-ctafijo a.lt-herr-ctafijo__boton:hover { filter: brightness(.95); color: #fff; }
.lt-herr-ctafijo a.lt-herr-ctafijo__boton:focus-visible { outline: 3px solid var(--herr-ink); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .lt-herr-ctafijo, .lt-herr-ctafijo.is-oculta { transition: none; } }
/* Lo que recibe el foco (o se enlaza con #) no se queda debajo de la píldora ni de las barras fijas (WCAG 2.4.11).
   En escritorio, además, cta_fijo.js aparta la píldora si tapa el campo en el que se escribe. */
html { scroll-padding-bottom: calc(var(--herr-ctafijo-visible-h, 0px) + 40px); }
/* Móvil: barra fina a todo el ancho. Con la barra de «Calcular» a la vista no se apilan: el CTA pasa a esa barra como
   botón secundario (.lt-herr__dock-abogados, lo pone cta_fijo.js) y esta se esconde. */
@media (max-width: 767.98px) {
  html { scroll-padding-bottom: calc(var(--herr-ctafijo-visible-h, 0px) + var(--herr-dock-h, 0px) + 16px); }
  body.lt-herr-con-ctafijo { padding-bottom: calc(var(--herr-ctafijo-h, 0px) + var(--herr-dock-h, 0px)); }
  .lt-herr-ctafijo {
    left: 0; right: 0; bottom: 0; max-width: none; justify-content: space-between; gap: 10px;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px)) 16px; border-width: 1px 0 0; border-radius: 0;
    box-shadow: 0 -10px 24px -18px rgba(22, 32, 46, .45);
  }
  .lt-herr-ctafijo__pregunta { flex: 1 1 0; min-width: 0; font-size: 13.5px; white-space: normal; }
  /* Botón largo («…constitucionalistas»): parte en dos líneas antes que dejar la pregunta en cuatro. */
  .lt-herr-ctafijo a.lt-herr-ctafijo__boton, .lt-herr-ctafijo a.lt-herr-ctafijo__boton:link,
  .lt-herr-ctafijo a.lt-herr-ctafijo__boton:visited {
    flex: 0 1 auto; max-width: 64%; min-height: 44px; padding: 6px 14px; font-size: 14px; line-height: 1.2;
    white-space: normal; text-align: center;
  }
  .lt-herr__dock { bottom: var(--herr-ctafijo-visible-h, 0px); }
  .lt-herr__dock--con-abogados .lt-herr__dock-estado { flex-basis: 96px; }
  .lt-herr__dock a.lt-herr__dock-abogados, .lt-herr__dock a.lt-herr__dock-abogados:link,
  .lt-herr__dock a.lt-herr__dock-abogados:visited {
    display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 14px;
    border-radius: 12px; background: var(--herr-surface); color: var(--herr-primary);
    box-shadow: inset 0 0 0 1.5px var(--herr-border-fuerte); font-family: var(--herr-font-body); font-size: 15px;
    font-weight: 700; line-height: 1; text-decoration: none; white-space: nowrap;
  }
  .lt-herr__dock-abogados-flecha { margin-left: 6px; }
  .lt-herr__dock a.lt-herr__dock-abogados[hidden] { display: none; }
  .lt-herr__dock a.lt-herr__dock-abogados:focus-visible { outline: 3px solid var(--herr-ink); outline-offset: 2px; }
}
@media (max-width: 359.98px) { .lt-herr-ctafijo__pregunta { display: none; } }
@media print { .lt-herr-ctafijo { display: none; } }
