/* ============================================================
   PROCESO DE CERTIFICACIÓN — INDUSTRIAS ANCE
   CSS consolidado
   Acento: #00049E único para todo el sitio, sin overrides
   por microsite (antes: verde Alimentos/Sustentabilidad,
   turquesa Salud, celeste STPS — ya eliminados)
   ============================================================ */

.ance-proceso {
  position: relative;
  width: 100%;
  background: #fff;
  overflow: hidden;
}

.ance-proceso-inner {
  padding-top: .1rem;
  padding-right: 5rem;
  padding-bottom: 7rem;
  padding-left: 5rem;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

.ance-proceso-titulo {
  font-size: 28px;
  font-weight: 700;
  color: #111;
  margin-bottom: 0.5rem; 
  text-transform: uppercase;
}

.ance-proceso-titulo span {
  font-weight: 300;
  color: #a0a0a0;
}

.ance-proceso-indicador {
  font-size: 13px;
  color: #00049e;
  font-weight: 600;
  margin-bottom: 5rem;
}

.ance-proceso-wrap {
  position: relative;
  height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.ance-proceso-card {
  position: absolute;
  transition: transform 0.35s ease, opacity 0.35s ease, filter 0.35s ease;
  display: flex;
  flex-direction: column;
  border-radius: 14px;
  border: 1.5px solid rgba(0, 4, 158, 0.3);
  overflow: hidden;
  background: #fff;
}

.ance-proceso-card.activo {
  width: 220px; height: 280px;
  z-index: 10;
  border-color: #00049e;
  border-width: 2px;
  transform: translateX(0) scale(1);
  filter: none;
  opacity: 1;
}

.ance-proceso-card.prev1 {
  width: 160px; height: 220px; z-index: 8;
  transform: translateX(-240px) scale(0.85);
  filter: blur(1.5px); opacity: 0.6;
}
.ance-proceso-card.prev2 {
  width: 140px; height: 200px; z-index: 6;
  transform: translateX(-420px) scale(0.75);
  filter: blur(3px); opacity: 0.4;
}
.ance-proceso-card.prev3 {
  width: 120px; height: 180px; z-index: 4;
  transform: translateX(-570px) scale(0.65);
  filter: blur(4px); opacity: 0.2;
}
.ance-proceso-card.next1 {
  width: 160px; height: 220px; z-index: 8;
  transform: translateX(240px) scale(0.85);
  filter: none; opacity: 0.7;
}
.ance-proceso-card.next2 {
  width: 140px; height: 200px; z-index: 6;
  transform: translateX(420px) scale(0.75);
  filter: none; opacity: 0.5;
}
.ance-proceso-card.next3 {
  width: 120px; height: 180px; z-index: 4;
  transform: translateX(570px) scale(0.65);
  filter: none; opacity: 0.3;
}

.ance-proceso-card-header {
  padding: 0.8rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}

.ance-proceso-paso-label {
  font-size: 11px;
  font-weight: 600;
  color: #00049e;
  text-transform: uppercase;
}

.ance-proceso-num {
  font-size: 36px;
  font-weight: 700;
  color: rgba(0, 4, 158, 0.2);
  line-height: 1;
}

.ance-proceso-card-body {
  padding: 0.8rem 1rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.ance-proceso-card-titulo {
  font-size: 14px;
  font-weight: 700;
  color: #111;
  line-height: 1.3;
  text-align: center;
  transition: opacity 0.2s ease;
}

.ance-proceso-card:not(.activo) .ance-proceso-card-titulo {
  opacity: 0.4;
}

.ance-proceso-card-desc {
  font-size: 11px;
  color: #888;
  text-align: center;
  line-height: 1.4;
}

.ance-proceso-card-footer {
  background: #00049e;
  padding: 0.6rem 1rem;
  text-align: center;
  font-size: 11px;
  font-weight: 600;
  color: #fff;
  flex-shrink: 0;
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}

.ance-proceso-progress {
  margin-top: 2.5rem;
  display: flex;
  align-items: center;
  gap: 16px;
}

.ance-proceso-bar-wrap {
  flex: 1;
  height: 3px;
  background: rgba(0, 4, 158, 0.15);
  border-radius: 2px;
}

.ance-proceso-bar {
  height: 100%;
  background: #00049e;
  border-radius: 2px;
  transition: width 0.4s ease;
}

.ance-proceso-progress-label {
  font-size: 12px;
  color: #a0a0a0;
  white-space: nowrap;
}

/* ── Footer variantes ────────────────────────────────────── */
.ance-proceso-card-footer.footer-warning  { background: #e67e22; }
.ance-proceso-card-footer.footer-cancel   { background: #c0392b; }
.ance-proceso-card-footer.footer-success  { background: #27ae60; }
.ance-proceso-card-footer.footer-cumple   { background: #00b0f0; }
.ance-proceso-card-footer.footer-nocumple { background: #5a4fcf; }

/* ── Fork card ───────────────────────────────────────────── */
.ance-proceso-fork {
  position: absolute;
  width: 220px;
  border-radius: 14px;
  overflow: hidden;
  isolation: isolate;
  will-change: transform;
  opacity: 0;
  pointer-events: none;
  transition: transform 0.35s ease, opacity 0.35s ease, filter 0.35s ease;
  z-index: 1;
}
.ance-proceso-fork.activo { opacity: 1; pointer-events: auto; z-index: 10; transform: translateX(0) scale(1); }
.ance-proceso-fork.prev1  { transform: translateX(-240px) scale(0.85); opacity: 0.6; z-index: 8; filter: blur(1.5px); }
.ance-proceso-fork.prev2  { transform: translateX(-420px) scale(0.75); opacity: 0.4; z-index: 6; filter: blur(3px); }
.ance-proceso-fork.prev3  { transform: translateX(-570px) scale(0.65); opacity: 0.2; z-index: 4; filter: blur(4px); }
.ance-proceso-fork.next1  { transform: translateX(240px) scale(0.85); opacity: 0.7; z-index: 8; }
.ance-proceso-fork.next2  { transform: translateX(420px) scale(0.75); opacity: 0.5; z-index: 6; }
.ance-proceso-fork.next3  { transform: translateX(570px) scale(0.65); opacity: 0.3; z-index: 4; }
.ance-proceso-fork.hidden { opacity: 0 !important; pointer-events: none !important; transform: translateX(900px) scale(0.5) !important; }

.ance-proceso-fork-top {
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  padding: 28px 16px; text-align: center; gap: 6px;
  min-height: 120px; cursor: default;
  background: #00b0f0;
  border-bottom: 2px solid rgba(255,255,255,0.5);
}
.ance-proceso-fork-bottom {
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  padding: 28px 16px; text-align: center; gap: 6px;
  min-height: 120px; cursor: default;
  background: #00049e;
}
.ance-proceso-fork-icon  { font-size: 22px; color: rgba(255,255,255,0.9); }
.ance-proceso-fork-label { font-size: 16px; font-weight: 800; color: #fff; text-transform: uppercase; }
.ance-proceso-fork-desc  { font-size: 11px; color: rgba(255,255,255,0.8); line-height: 1.3; }

/* ── Split card ──────────────────────────────────────────── */
.ance-proceso-split {
  position: absolute;
  width: 220px; height: 280px;
  border-radius: 14px;
  overflow: hidden;
  isolation: isolate;
  will-change: transform;
  display: flex; flex-direction: column;
  transition: transform 0.35s ease, opacity 0.35s ease, filter 0.35s ease;
}
.ance-proceso-split.activo { z-index: 10; transform: translateX(0) scale(1); opacity: 1; filter: none; }
.ance-proceso-split.prev1  { width: 160px; height: 220px; z-index: 8; transform: translateX(-240px) scale(0.85); filter: blur(1.5px); opacity: 0.6; }
.ance-proceso-split.prev2  { width: 140px; height: 200px; z-index: 6; transform: translateX(-420px) scale(0.75); filter: blur(3px); opacity: 0.4; }
.ance-proceso-split.prev3  { width: 120px; height: 180px; z-index: 4; transform: translateX(-570px) scale(0.65); filter: blur(4px); opacity: 0.2; }
.ance-proceso-split.next1  { width: 160px; height: 220px; z-index: 8; transform: translateX(240px) scale(0.85); filter: none; opacity: 1; }
.ance-proceso-split.next2  { width: 140px; height: 200px; z-index: 6; transform: translateX(420px) scale(0.75); filter: none; opacity: 1; }
.ance-proceso-split.next3  { width: 120px; height: 180px; z-index: 4; transform: translateX(570px) scale(0.65); filter: none; opacity: 1; }
.ance-proceso-split.hidden { opacity: 0 !important; pointer-events: none !important; transform: translateX(900px) scale(0.5) !important; }

/* ── Colores de mitades ──────────────────────────────────── */
.ance-proceso-split__cumple {
  flex: 1; background: #00b0f0;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  padding: 10px 12px; text-align: center; gap: 4px;
}
.ance-proceso-split__nocumple {
  flex: 1; background: #00049e;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  padding: 10px 12px; text-align: center; gap: 3px;
}
.ance-proceso-split__turquoise {
  flex: 1; background: #00b4c4;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  padding: 10px 12px; text-align: center; gap: 4px;
}
.ance-proceso-split__green {
  flex: 1; background: #82ca9c;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  padding: 10px 12px; text-align: center; gap: 4px;
}
.ance-proceso-split__green-dark {
  flex: 1; background: #4ea878;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  padding: 10px 12px; text-align: center; gap: 4px;
}
.ance-proceso-split__empty {
  flex: 1; background: rgba(0,176,240,0.15);
}

/* Separador automático entre mitades */
.ance-proceso-split > div:not(:last-child) {
  border-bottom: 2px solid rgba(255,255,255,0.4);
}

/* Textos — todos blancos */
.ance-proceso-split__badge {
  font-size: 9px; font-weight: 700;
  letter-spacing: 1px; text-transform: uppercase;
  color: rgba(255,255,255,0.8);
}
.ance-proceso-split__titulo {
  font-size: 12px; font-weight: 700;
  line-height: 1.3; text-align: center; color: #fff;
}
.ance-proceso-split__tiempo { font-size: 10px; color: rgba(255,255,255,0.75); }

/* ── Ocultas fuera de pantalla ───────────────────────────── */
.ance-proceso-card.hidden,
.ance-proceso-split.hidden,
.ance-proceso-fork.hidden {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateX(900px) scale(0.5) !important;
}

/* ── Móvil ───────────────────────────────────────────────── */
@media (max-width: 768px) {
  .ance-proceso-inner { padding: 4rem 1.5rem; }
  .ance-proceso-wrap  { height: 260px; }
  .ance-proceso-card.activo { width: 180px; height: 240px; }
  .ance-proceso-card.prev1  { width: 120px; height: 180px; transform: translateX(-190px) scale(0.85); }
  .ance-proceso-card.next1  { width: 120px; height: 180px; transform: translateX(190px) scale(0.85); }
  .ance-proceso-card.prev2, .ance-proceso-card.prev3,
  .ance-proceso-card.next2, .ance-proceso-card.next3 { opacity: 0; pointer-events: none; }
  .ance-proceso-split.activo { width: 180px; height: 240px; }
  .ance-proceso-split.prev1, .ance-proceso-split.next1 { width: 120px; height: 180px; }
  .ance-proceso-split.prev1 { transform: translateX(-190px) scale(0.85); }
  .ance-proceso-split.next1 { transform: translateX(190px) scale(0.85); }
  .ance-proceso-split.prev2, .ance-proceso-split.prev3,
  .ance-proceso-split.next2, .ance-proceso-split.next3 { opacity: 0; pointer-events: none; }
  .ance-proceso-fork { width: 180px; }
}

/* AJUSTE: page-node-95 conserva su ajuste tipográfico, no es de color */
body.page-node-95 .ance-proceso-card-desc {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #111 !important;
}

/* Oculta el footer cuando no tiene tiempo (queda vacío) */
.ance-proceso-card-footer:empty {
  display: none;
  padding: 0;
}

/* Línea divisoria entre título y desc, cuando la card tiene ambos */
.ance-proceso-card-desc {
  border-top: 1px solid rgba(0,176,240,0.2);
  padding-top: 10px;
  margin-top: 6px;
}