/* =============================================================================
   utilities.css: single-purpose helpers (highest layer).
   ========================================================================== */
@layer utilities {

.vh, .visually-hidden {
  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; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important;
}

/* Breakpoint visibility (never forces a display value when visible) */
@media (max-width: 56.24rem) { .only-desktop { display: none !important; } }
@media (min-width: 56.25rem) { .only-phone { display: none !important; } }

.nowrap { white-space: nowrap; }
.num { font-variant-numeric: tabular-nums; }
.text-muted { color: var(--color-text-muted); }
.text-sm { font-size: var(--text-sm); }
.text-md { font-size: var(--text-md); }
.fw-bold { font-weight: var(--weight-bold); }
.mt-0 { margin-top: 0 !important; }
.mt-2 { margin-top: var(--space-2) !important; }
.mt-4 { margin-top: var(--space-4) !important; }
.mt-5 { margin-top: var(--space-5) !important; }
.mb-0 { margin-bottom: 0 !important; }
.mb-4 { margin-bottom: var(--space-4) !important; }
.w-full { width: 100%; }

@media print { .no-print { display: none !important; } }

}
