/* /styles/utilities.css */

/* Visibility helpers */
.u-visually-hidden,
.u-sr-only {                              /* alias for convenience */
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;     /* legacy but fine */
  clip-path: inset(50%) !important;      /* modern equivalent */
  white-space: nowrap !important;
  border: 0 !important;
}
.is-hidden-initial { display: none !important; }
.u-hidden { display: none !important; }   /* used by #googleDocsLoginBtn */

/* Spacing utils (exact pixel magnitudes) */
.u-mt-10 { margin-top: var(--space-10) !important; }
.u-mt-20 { margin-top: var(--space-20) !important; }
.u-mb-20 { margin-bottom: var(--space-20) !important; }

/* Simple flex helpers */
.u-flex { display: flex !important; }
.u-ai-center { align-items: center !important; }

/* Gap helpers */
.u-gap-2 { gap: var(--space-10) !important; } /* maps to 10px per visuals */
.u-gap-10 { gap: var(--space-10) !important; } /* alt name used in one output */

/* Width helper (used in one variant of HTML) */
.u-w-100 { width: 100% !important; }
/* Zero margin utility (replaces inline style="margin:0") */
.u-m-0 { margin: 0 !important; }

/* Text utilities */
.text--prewrap {
  white-space: pre-wrap;
}
