/* ============================================================================
   EMPTY STATE — single source of truth.
   Canonical CSS for zero-result / zero-data placeholders (.empty + icon/title/
   body/cta, the --info/--ok icon tints, and the compact --inline row). Shared by
   comp-empty-state.html and any future consumer. Import AFTER colors_and_type.css
   (+ _buttons.css for the CTA buttons).
   ============================================================================ */

.empty {
  background: var(--gov-color-neutral-0);
  border: 1px solid var(--color-border-default);
  border-radius: 6px;
  padding: 36px 20px;
  text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
}
/* The class display would otherwise beat the UA [hidden] rule (see pitfalls
   "CSS specificity") — hosts toggle the component with the hidden attr. */
.empty[hidden] { display: none; }
.empty__icon {
  width: 56px; height: 56px;
  border-radius: 999px;
  background: var(--gov-color-neutral-50);
  color: var(--color-fg-tertiary);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 26px;
  margin-bottom: 4px;
}
.empty--info  .empty__icon { background: var(--gov-color-info-50);    color: var(--gov-color-info-500); }
.empty--ok    .empty__icon { background: var(--gov-color-success-50); color: var(--gov-color-success-500); }
.empty__title { font: 600 16px var(--font-sans); color: var(--color-fg-default); margin: 0; }
.empty__body  { font-size: 13.5px; color: var(--color-fg-secondary); max-width: 360px; line-height: 1.5; margin: 0; }
.empty__body a {
  color: var(--gov-color-primary-500); border-radius: 2px;
  transition: color 120ms ease-out, box-shadow 220ms cubic-bezier(0.16, 1, 0.3, 1);
}
.empty__body a:hover,
.empty__body a[data-state~="hover"] { color: var(--gov-color-primary-700); }
.empty__body a:active,
.empty__body a[data-state~="pressed"] { color: var(--gov-color-primary-800); }
.empty__cta { margin-top: 8px; display: inline-flex; gap: 8px; }

/* Buttons come from the shared _buttons.css component (real hover / pressed /
   focus / disabled + dark). The old bespoke local .btn / --primary / --secondary
   copy was deleted — it had none of those states. */

/* Inline empty — slim, for filtered tables */
.empty--inline {
  padding: 20px;
  flex-direction: row; text-align: left;
  gap: 14px; align-items: center;
}
.empty--inline .empty__icon { width: 36px; height: 36px; font-size: 18px; margin: 0; }
.empty--inline .empty__title { font-size: 14px; }
.empty--inline .empty__body  { font-size: 12.5px; }

/* Bare — drops the component's own frame, for embedding inside an already-
   framed surface (a table's empty row, a modal body). */
.empty--bare { border: 0; background: transparent; border-radius: 0; }
