/*
 * modal.css — Grievance modal overlay
 *
 * Full-page dark backdrop + centered navy rounded card.
 * Matches APRIL reference: dark navy card, white text, orange email, outlined button.
 * Open/close state toggled via .modal--hidden and .modal-backdrop--hidden classes.
 */

/* ── Backdrop ─────────────────────────────────────────────────── */

.modal-backdrop {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.72);
  z-index: calc(var(--z-modal) - 1);
  opacity: 1;
  transition: opacity var(--transition-modal);
}

.modal-backdrop--hidden {
  opacity: 0;
  pointer-events: none;
}

/* ── Modal wrapper ────────────────────────────────────────────── */

.modal {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-lg);
  opacity: 1;
  transition: opacity var(--transition-modal);
}

.modal--hidden {
  opacity: 0;
  pointer-events: none;
}

/* ── Card ─────────────────────────────────────────────────────── */

.modal__card {
  position: relative;
  background-color: var(--color-navy);
  border: 1px solid var(--color-navy-light);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-modal);
  padding: var(--space-xl);
  width: 100%;
  max-width: 560px;
  color: var(--color-white);
}

/* ── Close button ─────────────────────────────────────────────── */

.modal__close {
  position: absolute;
  top: var(--space-md);
  right: var(--space-md);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: var(--color-grey-light);
  border-radius: var(--radius-sm);
  transition: color var(--transition-fast), background-color var(--transition-fast);
}

.modal__close:hover {
  color: var(--color-white);
  background-color: var(--color-navy-mid);
}

/* ── Header ───────────────────────────────────────────────────── */

.modal__label {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-caps);
  text-transform: uppercase;
  color: var(--color-grey-light);
  margin-bottom: var(--space-sm);
}

.modal__title {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  color: var(--color-white);
  margin-bottom: var(--space-lg);
}

/* ── Divider ──────────────────────────────────────────────────── */

.modal__divider {
  border: none;
  border-top: 1px solid var(--color-grey-border);
  margin-bottom: var(--space-lg);
}

/* ── Body text ────────────────────────────────────────────────── */

.modal__body {
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  color: var(--color-grey-light);
  margin-bottom: var(--space-lg);
}

.modal__email {
  color: var(--color-orange);
  font-weight: var(--font-weight-medium);
  text-decoration: underline;
  transition: color var(--transition-fast);
}

.modal__email:hover {
  color: var(--color-orange-dark);
}

/* ── Alternative means ────────────────────────────────────────── */

.modal__alt-heading {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-caps);
  text-transform: uppercase;
  color: var(--color-grey-light);
  margin-bottom: var(--space-sm);
}

.modal__alt-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  margin-bottom: var(--space-xl);
}

.modal__alt-list li {
  font-size: var(--font-size-sm);
  color: var(--color-grey-light);
  line-height: var(--line-height-base);
  padding-left: var(--space-md);
  position: relative;
}

.modal__alt-list li::before {
  content: '–';
  position: absolute;
  left: 0;
  color: var(--color-grey-mid);
}

.modal__alt-list strong {
  color: var(--color-white);
  font-weight: var(--font-weight-medium);
}

/* ── Download button ──────────────────────────────────────────── */

.modal__btn {
  display: inline-block;
  font-family: var(--font-family);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-caps);
  text-transform: uppercase;
  color: var(--color-white);
  border: 2px solid var(--color-white);
  border-radius: var(--radius-sm);
  padding: var(--space-sm) var(--space-lg);
  transition: color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);
}

.modal__btn:hover {
  background-color: var(--color-white);
  color: var(--color-navy);
}
