/* Consulta pública del trámite */
.consulta { max-width: 40rem; }
.consulta__formulario { background: var(--white); border: 1px solid var(--border); border-radius: var(--radio); padding: var(--espacio-4); box-shadow: var(--sombra); margin-bottom: var(--espacio-4); }
.consulta__formulario input { text-transform: uppercase; }
.consulta__formulario #digitos { text-transform: none; letter-spacing: 0.3em; max-width: 8rem; }
.consulta__advertencia { margin: var(--espacio-4) 0; padding: var(--espacio-3); background: #fff7e0; border: 1px solid var(--yellow); border-radius: var(--radio-chico); }
.aviso { padding: var(--espacio-3) var(--espacio-4); border-radius: var(--radio-chico); margin-bottom: var(--espacio-4); }
.aviso--error { background: #fdeeee; border: 1px solid var(--danger); color: #8f1f1f; }
.aviso--alto { background: #fff7e0; border: 2px solid var(--yellow); }
.aviso--alto h2 { font-size: 1.25rem; margin-bottom: var(--espacio-2); }
.aviso--alto p { margin-bottom: var(--espacio-3); }
.estado__texto { font-size: var(--texto-l); margin-bottom: var(--espacio-4); }
.fechas { display: grid; gap: var(--espacio-2); margin-bottom: var(--espacio-4); }
.fechas div { display: flex; flex-wrap: wrap; gap: var(--espacio-2); }
.fechas dt { font-weight: 600; color: var(--text-muted); }
.fechas dd { margin: 0; }
.mensajes { list-style: none; padding: 0; display: grid; gap: var(--espacio-3); margin-bottom: var(--espacio-4); }
.mensajes li { background: var(--white); border: 1px solid var(--border); border-left: 4px solid var(--blue); border-radius: var(--radio-chico); padding: var(--espacio-3); }
.mensajes__fecha { font-size: var(--texto-s); color: var(--text-muted); margin-bottom: var(--espacio-1); }
.mensajes__texto { white-space: pre-wrap; overflow-wrap: anywhere; }

/* Estado y avance */
.estado { background: var(--white); border: 1px solid var(--border); border-left: 6px solid var(--blue); border-radius: var(--radio); padding: var(--espacio-4); margin-bottom: var(--espacio-4); box-shadow: var(--sombra); }
.estado__etiqueta { font-size: var(--texto-s); font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: var(--espacio-1); }
.estado h2 { font-size: 1.6rem; margin-bottom: var(--espacio-2); }
.estado .estado__texto { margin-bottom: 0; }
.estado--listo, .estado--entregado { border-left-color: #11632f; }
.estado--cancelado { border-left-color: #8f1f1f; background: #fdeeee; }
.progreso { list-style: none; padding: 0; margin: 0 0 var(--espacio-4); display: grid; gap: 0; }
.progreso__paso { display: flex; align-items: flex-start; gap: var(--espacio-3); position: relative; padding-bottom: var(--espacio-3); }
.progreso__paso:not(:last-child)::before { content: ""; position: absolute; left: 1.05rem; top: 2.2rem; bottom: 0; width: 2px; background: var(--border); }
.progreso__paso--hecho:not(:last-child)::before { background: #11632f; }
.progreso__marca { flex: none; display: inline-grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; border: 2px solid var(--border); background: var(--white); font-weight: 700; color: var(--text-muted); }
.progreso__paso--hecho .progreso__marca { background: #11632f; border-color: #11632f; color: var(--white); }
.progreso__paso--actual .progreso__marca { background: var(--navy); border-color: var(--navy); color: var(--white); }
.progreso__texto { display: grid; padding-top: 0.15rem; }
.progreso__nombre { font-weight: 700; }
.progreso__situacion { font-size: var(--texto-s); color: var(--text-muted); }
.progreso__paso--actual .progreso__nombre { color: var(--navy); }
.progreso__paso--pendiente .progreso__nombre { color: var(--text-muted); font-weight: 600; }
.ayuda { margin: var(--espacio-5) 0 var(--espacio-3); padding: var(--espacio-4); background: var(--blue-pale-2); border: 1px solid var(--border); border-radius: var(--radio); }
.ayuda h2 { font-size: 1.25rem; margin-bottom: var(--espacio-2); }
.ayuda .horarios { margin: var(--espacio-3) 0; }
@media (min-width: 48rem) {
  .progreso { grid-template-columns: repeat(5, 1fr); gap: var(--espacio-2); }
  .progreso__paso { flex-direction: column; align-items: center; text-align: center; padding-bottom: 0; }
  .progreso__paso:not(:last-child)::before { left: calc(50% + 1.4rem); right: calc(-50% + 1.4rem); top: 1.05rem; bottom: auto; width: auto; height: 2px; }
  .progreso__texto { justify-items: center; }
  .consulta { max-width: 52rem; }
}
.horarios div { display: flex; justify-content: space-between; gap: var(--espacio-3); padding: var(--espacio-1) 0; border-bottom: 1px dashed var(--border); }
.horarios dt { font-weight: 600; }
.horarios dd { margin: 0; }
.ayuda .horarios { max-width: 22rem; }
