.visually-hidden, .sr-only { position: absolute !important; /* !important: must hide whatever component positioning applies */ width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* The native select behind a combobox stays in the DOM (validation, forms) but must never take
   layout width: layout rules such as `.filter__field select { width: 100% }` outrank the
   components layer, and an absolute 100 % box measured from .cl__layout made the page scroll
   sideways; the utilities layer wins over every layer of ours. */
select[data-enhanced] { position: absolute; inline-size: 1px; block-size: 1px; min-inline-size: 0; min-block-size: 0; max-inline-size: 1px; margin: 0; padding: 0; opacity: 0; pointer-events: none; }
.text-muted { color: var(--m-fg-muted); }
.text-danger { color: var(--m-danger-ink); }
.text-success { color: var(--m-success-ink); }
.text-right { text-align: right; }
.flex { display: flex; gap: calc(var(--m-space) * 2); align-items: center; }
.flex-wrap { flex-wrap: wrap; }
.grow { flex: 1; }
.stack { display: flex; flex-direction: column; gap: calc(var(--m-space) * 3); }
.mt-4 { margin-top: calc(var(--m-space) * 4); }
.mb-4 { margin-bottom: calc(var(--m-space) * 4); }
.hide-mobile { display: none; }
@media (min-width: 40rem) { .hide-mobile { display: initial; } .hide-desktop { display: none; } }

/* Bootstrap-style .btn* aliases live in jazzmin-aliases.css (opt-in through custom_css). */
.float-right { float: right; }
