/* utilities.css — sr-only already in base, helpers for prose/print */

.u-mt-0   { margin-top: 0 !important; }
.u-mt-8   { margin-top: var(--s-8) !important; }
.u-mt-16  { margin-top: var(--s-16) !important; }
.u-mt-24  { margin-top: var(--s-24) !important; }
.u-mt-32  { margin-top: var(--s-32) !important; }
.u-mt-48  { margin-top: var(--s-48) !important; }

.u-mb-0   { margin-bottom: 0 !important; }
.u-mb-16  { margin-bottom: var(--s-16) !important; }
.u-mb-24  { margin-bottom: var(--s-24) !important; }
.u-mb-32  { margin-bottom: var(--s-32) !important; }

.u-center { text-align: center; }
.u-dim    { color: var(--c-text-dim); }
.u-accent { color: var(--c-accent); }
.u-mono   { font-family: var(--f-mono); font-size: 0.8125rem; }

.u-tabular-nums { font-variant-numeric: tabular-nums; }

.u-reveal {
  opacity: 1;
  transition: opacity var(--dur) var(--ease);
}
.u-reveal[data-reveal="pending"] {
  opacity: 0;
}

.u-hidden { display: none !important; }

.u-marginalia-desk-only {
  /* visible only on desktop as side note */
}
@media (max-width: 1023px) {
  .u-marginalia-desk-only {
    display: block;
    margin: var(--s-16) 0;
    max-width: none;
  }
}

/* Print styles */
@media print {
  body {
    background: #fff;
    color: #000;
  }
  .site-header,
  .site-footer,
  .ec-filters,
  .nav-toggle,
  .mobile-nav,
  .ec-form,
  #CybotCookiebotDialog,
  .grecaptcha-badge {
    display: none !important;
  }
  .folio-card,
  .ec-panel {
    border-color: #999 !important;
    background: #fff !important;
  }
  a {
    color: #000 !important;
    text-decoration: underline !important;
  }
  h1, h2, h3 {
    page-break-after: avoid;
  }
  p, li {
    orphans: 3;
    widows: 3;
  }
}
