@layer components {
  .alert-dialog {
    border: 0;
    padding: 0;
    background-color: var(--color-bg);
    box-shadow: var(--shadow-standard);
    border-radius: 0.5rem;
    width: min(100% - 2rem, 28rem);

    &::backdrop {
      background-color: color-mix(in srgb, var(--color-text) 50%, transparent);
    }
  }

  .alert-dialog-body {
    padding: 1.5rem;

    > :first-child {
      margin-block-start: 0;
    }

    > :last-child {
      margin-block-end: 0;
    }
  }

  .alert-dialog-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    border-block-start: 1px solid var(--color-border);

    form {
      margin: 0;
    }
  }
}

/* Unlayered: needs to beat _reset.css's `h{1..6} { margin: 0 }` and any
   future paragraph/list resets, which are themselves unlayered. */
.alert-dialog-title {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.4;
  margin-block: 0 1.75rem;
}

.alert-dialog-consequences {
  list-style: disc;
  padding-inline-start: 1.25rem;
  margin-block: 0;
  display: grid;
  gap: 0.5rem;
  font-size: 0.9375rem;
  line-height: 1.5;
}

.alert-dialog-message {
  margin-block: 0;
  font-size: 0.9375rem;
  line-height: 1.5;
}

.alert-dialog-warning {
  margin-block: 1rem 0;
  color: var(--text-muted);
  font-size: 0.875rem;
}
