/* ── Flash messages ──────────────────────────────── */

.flash-container {
  position: fixed;
  top: var(--space-6);
  left: 50%;
  translate: -50% 0;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  width: min(90%, 28rem);
}

.flash {
  padding: var(--space-3) var(--space-5);
  border-radius: var(--radius-lg);
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  font-weight: 600;
  text-align: center;
  box-shadow: var(--shadow-lg);
  animation: flash-in-out 3.5s ease-in-out forwards;
  pointer-events: none;
}

.flash--notice {
  background-color: var(--color-green);
  color: #fff;
}

.flash--alert {
  background-color: var(--color-destructive);
  color: #fff;
}

/* ── Email verification banner ────────────────────── */

.verification-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-5);
  background: rgba(232, 123, 53, 0.1);
  border-block-end: 1px solid rgba(232, 123, 53, 0.2);
  font-size: 0.875rem;
  font-weight: 600;
}

.verification-banner__text {
  color: var(--color-foreground);
}

.verification-banner__btn {
  background: none;
  border: none;
  color: var(--color-primary);
  font-weight: 700;
  font-size: 0.875rem;
  cursor: pointer;
  text-decoration: underline;
  padding: 0;

  &:hover {
    color: var(--color-primary-dark);
  }
}

@keyframes flash-in-out {
  0% {
    opacity: 0;
    translate: 0 -0.5rem;
  }
  8% {
    opacity: 1;
    translate: 0 0;
  }
  75% {
    opacity: 1;
    translate: 0 0;
  }
  100% {
    opacity: 0;
    translate: 0 -0.5rem;
  }
}
