/* Screen-reader only helper */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* Flow spacing helper */
.flow > * + * {
  margin-top: var(--flow-space, 1rem);
}

/* Text alignment helpers */
.text-center { text-align: center; }
.text-right { text-align: right; }

/* Margin top helpers */
.mt-0 { margin-top: 0 !important; }
.mt-1 { margin-top: 0.5rem; }
.mt-2 { margin-top: 1rem; }
.mt-3 { margin-top: 1.5rem; }

/* Simple responsive grid */
.grid-2 {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

/* Pill badge */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  background: rgba(29, 78, 216, 0.08);
  color: var(--brand);
  padding: 0.25rem 0.85rem;
  border-radius: 999px;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Quick utility helpers */
.shadowed {
  box-shadow: var(--shadow-soft);
}

.rounded { border-radius: var(--radius); }

.soft-bg {
  background: rgba(148, 163, 184, 0.15);
  padding: 1rem;
  border-radius: var(--radius);
}

/* Honeypot field (hidden from users) */
.hp-field {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
