:root{--page-title-display:none;}/* Start custom CSS *//* Calidad y certificaciones (583) · CSS de la página. Solo lo propio de esta página (KIT-V4 §11.5).
   Ganchos: atributos data-fm (Novamira), nunca clases e-xxxx locales. Prefijo .elementor.elementor-583 (gana a clases y
   estilos locales sin !important). Estado del recorrido: widget HTML fa11c01 (calidad.js adaptado). */

/* [fm:proceso] Control en cada fase: nodos, segmentos de la línea del lote y estados (calidad.css de la maqueta) */
.elementor.elementor-583 [data-fm="node"] {
  transition: background-color .45s cubic-bezier(.22, .61, .36, 1), border-color .45s cubic-bezier(.22, .61, .36, 1), box-shadow .45s cubic-bezier(.22, .61, .36, 1);
}
.elementor.elementor-583 [data-fm="node"]::before {
  content: ""; position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; margin: -4px 0 0 -4px; padding: 0;
  border: 0; border-radius: 50%; background: var(--fm-pera); mix-blend-mode: normal; opacity: 0; transform: scale(.4);
  transition: opacity .35s cubic-bezier(.22, .61, .36, 1), transform .45s cubic-bezier(.16, 1, .3, 1);
}
.elementor.elementor-583 [data-fm="node"] .e-svg-base {
  opacity: 0; transform: scale(.5);
  transition: opacity .35s cubic-bezier(.22, .61, .36, 1), transform .5s cubic-bezier(.16, 1, .3, 1);
}
.elementor.elementor-583 [data-fm="ruta-item"].is-current [data-fm="node"],
.elementor.elementor-583 [data-fm="fase"].is-current [data-fm="node"] { border-color: var(--fm-pera); box-shadow: 0 0 0 6px rgba(103, 189, 69, .14); }
.elementor.elementor-583 [data-fm="ruta-item"].is-current [data-fm="node"]::before,
.elementor.elementor-583 [data-fm="fase"].is-current [data-fm="node"]::before { opacity: 1; transform: none; }
.elementor.elementor-583 [data-fm="ruta-item"].is-done [data-fm="node"],
.elementor.elementor-583 [data-fm="fase"].is-done [data-fm="node"] { background-color: var(--fm-pera); border-color: var(--fm-pera); }
.elementor.elementor-583 [data-fm="ruta-item"].is-done [data-fm="node"] .e-svg-base,
.elementor.elementor-583 [data-fm="fase"].is-done [data-fm="node"] .e-svg-base { opacity: 1; transform: none; }

/* Recorrido fijo (escritorio): segmento de cada nodo al siguiente; el verde crece con --seg */
.elementor.elementor-583 [data-fm="ruta-item"]:not(:last-child)::before,
.elementor.elementor-583 [data-fm="ruta-item"]:not(:last-child)::after {
  content: ""; position: absolute; left: 13.5px; top: 46px; bottom: -18px; width: 1px; height: auto; margin: 0; padding: 0;
  border: 0; border-radius: 0; mix-blend-mode: normal; opacity: 1; transition: none; background: rgba(242, 241, 236, .2);
}
.elementor.elementor-583 [data-fm="ruta-item"]:not(:last-child)::after { background: var(--fm-pera); transform: scaleY(var(--seg, 0)); transform-origin: 50% 0; }
.elementor.elementor-583 [data-fm="ruta-name"] { transition: color .35s cubic-bezier(.22, .61, .36, 1); }
.elementor.elementor-583 [data-fm="ruta-item"].is-done [data-fm="ruta-name"] { color: var(--fm-texto); }
.elementor.elementor-583 [data-fm="ruta-item"].is-current [data-fm="ruta-name"] { color: var(--fm-pera); font-style: italic; }
.elementor.elementor-583 [data-fm="ruta-link"]:hover [data-fm="ruta-name"] { color: var(--fm-pera-claro); }
.elementor.elementor-583 [data-fm="ruta-link"]:focus-visible { outline-offset: 6px; border-radius: 8px; }

/* Tableta y móvil: la línea recorre las estaciones por la izquierda (nodo a la altura del nombre) */
@media (max-width: 1023px) {
  .elementor.elementor-583 [data-fm="fase"]:not(:last-child)::before,
  .elementor.elementor-583 [data-fm="fase"]:not(:last-child)::after {
    content: ""; position: absolute; left: 13.5px; top: 32px; bottom: calc(-1 * clamp(40px, 6vw, 56px) - 4px); width: 1px; height: auto;
    margin: 0; padding: 0; border: 0; border-radius: 0; mix-blend-mode: normal; opacity: 1; transition: none; background: rgba(242, 241, 236, .2);
  }
  .elementor.elementor-583 [data-fm="fase"]:not(:last-child)::after { background: var(--fm-pera); transform: scaleY(var(--seg, 0)); transform-origin: 50% 0; }
}
/* [/fm:proceso] *//* End custom CSS */