/* Llamadas perdidas: cuatro nodos en línea unidos por un trazo que se tiende y un pulso que viaja; debajo, el alta */
#llamadas .ll__circuito {
  position: relative;
  margin-top: clamp(2.25rem, 5vw, 4rem);
}
#llamadas .ll__pista {
  position: absolute;
  top: calc(1.9rem - 1px);
  left: calc(50% / var(--n));
  right: calc(50% / var(--n));
  height: 2px;
  overflow: hidden;
  border-radius: 2px;
  background: rgb(var(--aiw-texto) / 0.14);
}
#llamadas .ll__trazo {
  position: absolute;
  inset: 0;
  background: rgb(var(--aiw-acento));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1.6s cubic-bezier(0.45, 0, 0.2, 1) 0.2s;
}
#llamadas .ll__pulso {
  position: absolute;
  inset: 0;
  opacity: 0;
}
#llamadas .ll__pulso::after {
  content: "";
  position: absolute;
  top: -2px;
  right: 0;
  width: 70px;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgb(var(--aiw-acento2)));
}
#llamadas .ll__circuito[data-visto] .ll__trazo {
  transform: scaleX(1);
}
#llamadas .ll__circuito[data-visto] .ll__pulso {
  animation: llamadas-pulso 2.6s cubic-bezier(0.5, 0, 0.3, 1) 2.2s infinite;
}
#llamadas [data-quieto] .ll__pulso {
  display: none;
}

#llamadas .ll__nodos {
  position: relative;
  display: grid;
  grid-template-columns: repeat(var(--n), minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}
#llamadas .ll__nodo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  padding: 0 clamp(0.5rem, 1.5vw, 1.25rem);
  text-align: center;
}
#llamadas .ll__icono {
  display: grid;
  place-items: center;
  width: 3.8rem;
  height: 3.8rem;
  border: 1.5px solid rgb(var(--aiw-texto) / 0.22);
  border-radius: 20px 20px 20px 6px;
  background: rgb(var(--aiw-fondo));
  color: rgb(var(--aiw-texto) / 0.7);
  transition: background-color 0.45s, border-color 0.45s, color 0.45s, transform 0.45s, box-shadow 0.45s;
  transition-delay: calc(var(--i) * 0.42s + 0.2s);
}
#llamadas .ll__icono .a-medida__icono {
  display: grid;
}
#llamadas .ll__icono svg {
  width: 1.6rem;
  height: 1.6rem;
}
#llamadas .ll__circuito[data-visto] .ll__icono {
  border-color: rgb(var(--aiw-acento));
  background: rgb(var(--aiw-acento));
  color: rgb(var(--aiw-sobreacento));
  transform: translateY(-2px);
  box-shadow: 0 14px 30px -16px rgb(var(--aiw-acento));
}
#llamadas .ll__circuito[data-visto] .ll__nodo:last-child .ll__icono {
  border-color: rgb(var(--aiw-acento2));
  background: rgb(var(--aiw-acento2));
  /* tinta sobre el ámbar en los dos temas: sobre el ámbar, el blanco no se lee */
  color: rgb(14 26 43);
  box-shadow: 0 0 0 6px rgb(var(--aiw-acento2) / 0.18), 0 14px 30px -16px rgb(var(--aiw-acento2));
}
#llamadas .ll__titulo {
  font-family: var(--aiw-fuente-titulos);
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.015em;
}
#llamadas .ll__texto {
  max-width: 24ch;
  font-size: 0.95rem;
  line-height: 1.5;
  color: rgb(var(--aiw-suave));
}
#llamadas .ll__nodo:nth-child(3) .ll__texto {
  max-width: 28ch;
  font-style: italic;
  color: rgb(var(--aiw-texto) / 0.9);
}

/* el pie: el lema y la comprobación del alta */
#llamadas .ll__pie {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: center;
  margin-top: clamp(2.5rem, 5vw, 4rem);
  padding-top: clamp(2rem, 4vw, 3rem);
  border-top: 1px solid rgb(var(--aiw-texto) / 0.12);
}
#llamadas .ll__lema {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  font-family: var(--aiw-fuente-titulos);
  font-size: clamp(1.3rem, 2.3vw, 1.9rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.02em;
}
#llamadas .ll__lema-icono {
  display: grid;
  flex: none;
  place-items: center;
  width: 2rem;
  height: 2rem;
  margin-top: 0.1em;
  border-radius: 50%;
  background: rgb(var(--lc-verde));
  color: rgb(255 255 255);
}
#llamadas .ll__lema-icono svg {
  width: 1.1rem;
  height: 1.1rem;
}
#llamadas .ll__alta {
  display: flex;
  gap: 1rem;
  padding: 1.4rem 1.5rem;
  border: 1px solid rgb(var(--aiw-texto) / 0.14);
  border-radius: var(--lc-r) var(--lc-r) var(--lc-r) var(--lc-cola);
  background: rgb(var(--aiw-texto) / 0.05);
}
#llamadas .ll__alta-icono {
  display: grid;
  flex: none;
  place-items: center;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 14px 14px 14px 4px;
  background: rgb(var(--aiw-acento) / 0.2);
  color: rgb(var(--aiw-texto));
}
#llamadas .ll__alta-icono .a-medida__icono {
  display: grid;
}
#llamadas .ll__alta-icono svg {
  width: 1.3rem;
  height: 1.3rem;
}
#llamadas .ll__alta-texto {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  font-size: 0.98rem;
  line-height: 1.55;
  color: rgb(var(--aiw-suave));
}
#llamadas .ll__alta-texto p:first-child {
  color: rgb(var(--aiw-texto));
}
#llamadas .ll__acciones {
  margin-top: 2rem;
}

@keyframes llamadas-pulso {
  0% {
    opacity: 0;
    transform: translateX(-100%);
  }
  12% {
    opacity: 1;
  }
  88% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateX(0);
  }
}
@keyframes llamadas-baja {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  12% {
    opacity: 1;
  }
  88% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  #llamadas .ll__circuito[data-visto] .ll__pulso {
    animation: none;
  }
}

/* móvil: el circuito en vertical, con los nodos a la derecha del trazo */
@media (max-width: 759px) {
  #llamadas .ll__pista {
    top: 1.6rem;
    bottom: 1.6rem;
    left: calc(1.6rem - 1px);
    right: auto;
    width: 2px;
    height: auto;
  }
  #llamadas .ll__trazo {
    transform: scaleY(0);
    transform-origin: top;
  }
  #llamadas .ll__circuito[data-visto] .ll__trazo {
    transform: scaleY(1);
  }
  #llamadas .ll__pulso::after {
    top: auto;
    right: -2px;
    bottom: 0;
    width: 6px;
    height: 60px;
    background: linear-gradient(180deg, transparent, rgb(var(--aiw-acento2)));
  }
  #llamadas .ll__circuito[data-visto] .ll__pulso {
    animation-name: llamadas-baja;
  }
  #llamadas .ll__nodos {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
  #llamadas .ll__nodo {
    display: grid;
    grid-template-columns: 3.2rem 1fr;
    column-gap: 1rem;
    row-gap: 0.25rem;
    align-items: start;
    padding: 0;
    text-align: left;
  }
  #llamadas .ll__icono {
    grid-row: span 2;
    width: 3.2rem;
    height: 3.2rem;
  }
  #llamadas .ll__titulo {
    padding-top: 0.2rem;
  }
  #llamadas .ll__texto,
  #llamadas .ll__nodo:nth-child(3) .ll__texto {
    max-width: none;
  }
  #llamadas .ll__pie {
    grid-template-columns: 1fr;
  }
}
