/* Age restriction modal for Social Event Flow */

.sef-age {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: none;
}

.sef-age--visible {
  display: block;
}

.sef-age__backdrop {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top, rgba(244, 181, 68, 0.14), transparent 60%),
    rgba(0, 0, 0, 0.86);
}

.sef-age__dialog {
  position: relative;
  max-width: 520px;
  margin: 6vh auto;
  padding: var(--space-6);
  border-radius: var(--radius-lg);
  background: radial-gradient(circle at top left, rgba(244, 181, 68, 0.18), transparent 55%),
    linear-gradient(145deg, rgba(12, 16, 24, 0.98), rgba(4, 6, 12, 0.98));
  box-shadow: var(--shadow-elevated);
  border: 1px solid rgba(244, 181, 68, 0.5);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  transform: translateY(24px);
  opacity: 0;
  transition: opacity var(--transition-slow) var(--easing-smooth),
    transform var(--transition-slow) var(--easing-smooth);
}

.sef-age--visible .sef-age__dialog {
  transform: translateY(0);
  opacity: 1;
}

.sef-age__badge {
  position: absolute;
  top: -16px;
  right: var(--space-6);
  padding-inline: 0.9rem;
  padding-block: 0.35rem;
  border-radius: var(--radius-pill);
  background: radial-gradient(circle at 20% 0, #ffe8b1 0, #f4b544 36%, #c58115 80%);
  color: #120a00;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  box-shadow: var(--shadow-glow-primary);
}

.sef-age__title {
  margin-top: var(--space-1);
  margin-bottom: var(--space-2);
}

.sef-age__desc {
  margin-bottom: 0;
}

.sef-age__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-2);
}

.sef-age__btn {
  flex: 1 1 auto;
  justify-content: center;
}

.sef-age__note {
  margin-top: var(--space-2);
  font-size: var(--text-xs);
  color: var(--gray-400);
}

@media (max-width: 640px) {
  .sef-age__dialog {
    margin-inline: var(--space-4);
    padding: var(--space-5);
  }
}

@media (prefers-reduced-motion: reduce) {
  .sef-age__dialog {
    transition: none;
  }
}
