/* Modern “coming soon” / thin-content states — works in light & dark (data-theme) */

.coming-soon {
  position: relative;
  border-radius: 1.25rem;
  padding: 2.25rem 1.75rem;
  margin: 1.5rem 0 2rem;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--border-color, #cbd5e1) 85%, transparent);
  background: color-mix(in srgb, var(--card-bg, #fff) 92%, transparent);
  box-shadow:
    0 1px 2px color-mix(in srgb, #000 6%, transparent),
    0 18px 48px color-mix(in srgb, #1e3a5f 8%, transparent);
}

[data-theme="dark"] .coming-soon {
  border-color: color-mix(in srgb, #94a3b8 25%, transparent);
  background: color-mix(in srgb, #0f172a 85%, #1e293b);
  box-shadow:
    0 1px 2px color-mix(in srgb, #000 35%, transparent),
    0 20px 50px color-mix(in srgb, #000 45%, transparent);
}

.coming-soon-glow {
  position: absolute;
  inset: -40% -20% auto;
  height: 70%;
  background: radial-gradient(
    ellipse 80% 60% at 50% 0%,
    color-mix(in srgb, var(--accent, #3b82f6) 35%, transparent),
    transparent 70%
  );
  pointer-events: none;
  opacity: 0.9;
}

[data-theme="dark"] .coming-soon-glow {
  background: radial-gradient(
    ellipse 80% 60% at 50% 0%,
    color-mix(in srgb, #38bdf8 22%, transparent),
    transparent 70%
  );
}

.coming-soon-inner {
  position: relative;
  z-index: 1;
  max-width: 36rem;
  margin: 0 auto;
  text-align: center;
}

.coming-soon-eyebrow {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--accent, #2563eb) 85%, #64748b);
  margin: 0 0 0.75rem;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent, #3b82f6) 12%, transparent);
}

[data-theme="dark"] .coming-soon-eyebrow {
  color: #7dd3fc;
  background: color-mix(in srgb, #38bdf8 14%, transparent);
}

.coming-soon-title {
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 0.75rem;
  color: var(--text-primary, #0f172a);
}

[data-theme="dark"] .coming-soon-title {
  color: #f1f5f9;
}

.coming-soon-desc {
  font-size: 1rem;
  line-height: 1.6;
  margin: 0 0 1.5rem;
  color: var(--text-muted, #475569);
}

[data-theme="dark"] .coming-soon-desc {
  color: #94a3b8;
}

.coming-soon-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  align-items: center;
}

.coming-soon-btn-primary.coming-soon-btn-primary {
  min-width: 10rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.coming-soon-btn-subtle.coming-soon-btn-subtle {
  min-width: 8rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.coming-soon--compact {
  padding: 1.5rem 1.25rem;
  margin: 1rem 0 1.5rem;
}

.coming-soon--compact .coming-soon-title {
  font-size: 1.2rem;
}

.coming-soon--compact .coming-soon-desc {
  font-size: 0.95rem;
  margin-bottom: 1rem;
}

@media (prefers-reduced-motion: no-preference) {
  .coming-soon-glow {
    animation: coming-soon-pulse 7s ease-in-out infinite alternate;
  }
}

@keyframes coming-soon-pulse {
  from {
    opacity: 0.65;
    transform: translateY(0) scale(1);
  }
  to {
    opacity: 1;
    transform: translateY(4px) scale(1.02);
  }
}

.page-hero-soon {
  display: block;
  font-weight: 600;
  font-size: 0.55em;
  letter-spacing: 0.02em;
  color: color-mix(in srgb, var(--accent, #2563eb) 90%, transparent);
  margin-top: 0.35rem;
}

[data-theme="dark"] .page-hero-soon {
  color: #7dd3fc;
}
