/* Cupos de la sede por jornada (cupos-sede.js). Los asientos libres se
   encienden uno tras otro: el medidor cuenta cuántos quedan, no decora. */
.cupos {
  min-width: 0; max-width: 100%; box-sizing: border-box;
  margin-top: 18px; padding: 16px 18px 14px; background: #fff; border-radius: 4px;
  box-shadow: var(--sombra, 0 6px 20px rgba(19, 32, 117, 0.08)); border-top: 4px solid var(--c, var(--navy, #132075));
}
.cupos__titulo { margin: 0 0 10px; font-size: 13px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--navy, #132075); }
.cupos__lista { display: grid; gap: 12px; min-width: 0; }
.cupos__fila { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 6px 12px; min-width: 0; }
.cupos__jornada { font-weight: 800; color: var(--navy, #132075); min-width: 64px; }
.cupos__nivel { justify-self: start; white-space: nowrap; font-size: 13.5px; font-weight: 700; padding: 3px 10px; border-radius: 999px; }
.cupos__fila--hay .cupos__nivel { background: rgba(103, 171, 0, 0.14); color: #3d6b00; }
.cupos__fila--pocos .cupos__nivel { background: rgba(211, 72, 29, 0.12); color: #a2370f; }
.cupos__fila--completo .cupos__nivel { background: rgba(19, 32, 117, 0.08); color: var(--texto-suave, #5b6478); }
.cupos__medidor { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 4px; }
.cupos__asiento { width: 14px; height: 14px; border-radius: 3px 3px 5px 5px; background: rgba(19, 32, 117, 0.18); }
.cupos__asiento--libre { background: #D3481D; animation: cuposEnciende 0.4s ease both; animation-delay: calc(0.25s + var(--j, 0) * 0.12s); }
@keyframes cuposEnciende { from { transform: scale(0.4); opacity: 0; } }
.cupos__nota { grid-column: 1 / -1; font-size: 12.5px; color: var(--texto-suave, #5b6478); }
.cupos__pie { margin: 12px 0 0; font-size: 12px; color: var(--texto-suave, #5b6478); }
@media (prefers-reduced-motion: reduce) { .cupos__asiento--libre { animation: none; } }
