/* ========================================
   Empty state — boletería style
   Used wherever a list is empty (salas, predicciones, etc.).
   Dashed paper-feel border, mono caption, centred icon.
   ======================================== */

.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 48px 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.015), transparent);
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius-lg);
  color: var(--ink-soft);
  text-align: center;
}
.empty-state > .icon {
  opacity: 0.45;
  color: var(--muted);
}
.empty-state > p {
  font-family: var(--mono);
  font-size: 11.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0;
  max-width: 32ch;
  line-height: 1.6;
}

/* CTA inside empty state — let it stand out without competing */
.empty-state > .btn-primary,
.empty-state > a.btn-primary {
  margin-top: 6px;
}

/* ========================================
   Rich variant — for prominent empty states
   (main page focus). Centered badge icon with
   accent glow, title + description hierarchy.
   ======================================== */
.empty-state.-rich {
  padding: 64px 32px;
  gap: 14px;
  min-height: 340px;
  background:
    radial-gradient(ellipse 60% 50% at 50% 0%, var(--accent-dim) 0%, transparent 65%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent);
}

.empty-state__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: radial-gradient(circle at center, rgba(10, 219, 198, 0.18) 0%, rgba(10, 219, 198, 0.04) 70%);
  border: 1px dashed var(--line-strong);
  color: var(--accent);
  margin-bottom: 4px;
}
.empty-state__icon > .icon { opacity: 1; }

.empty-state__title {
  font-family: var(--font);
  font-size: 18px;
  font-weight: 600;
  color: var(--fg);
  letter-spacing: -0.01em;
  text-transform: none;
  margin: 0;
}

.empty-state.-rich > p,
.empty-state__desc {
  font-family: var(--font);
  font-size: 13.5px;
  color: var(--fg-2);
  letter-spacing: 0;
  text-transform: none;
  max-width: 44ch;
  line-height: 1.55;
  margin: 0;
}
.empty-state__desc strong { color: var(--fg); font-weight: 600; }
.empty-state__highlight { color: var(--accent); font-weight: 500; }

.empty-state.-rich > .btn-primary,
.empty-state.-rich > a.btn-primary {
  margin-top: 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
}
