/* Tiny utility set — stays small on purpose */

.u-hide { display: none !important; }
@media (max-width: 639.98px)  { .u-hide-xs { display: none !important; } }
@media (min-width: 640px) and (max-width: 899.98px) { .u-hide-sm { display: none !important; } }
@media (min-width: 900px) and (max-width: 1023.98px) { .u-hide-md { display: none !important; } }
@media (min-width: 1024px) { .u-hide-lg { display: none !important; } }

.u-sr-only {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px; overflow: hidden;
    clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

.u-text-center { text-align: center; }
.u-text-right  { text-align: right; }
.u-uppercase   { text-transform: uppercase; letter-spacing: 0.08em; }

.u-stack-1 > * + * { margin-top: var(--s-1); }
.u-stack-2 > * + * { margin-top: var(--s-2); }
.u-stack-3 > * + * { margin-top: var(--s-3); }
.u-stack-4 > * + * { margin-top: var(--s-4); }
.u-stack-5 > * + * { margin-top: var(--s-5); }
.u-stack-6 > * + * { margin-top: var(--s-6); }

.u-grid { display: grid; gap: var(--s-4); }
.u-flex { display: flex; gap: var(--s-3); }
.u-flex--between { justify-content: space-between; align-items: center; }

.u-no-wrap { white-space: nowrap; }
.u-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
