/* === Visibility Utilities === */

.d-none         { display: none; }
.d-flex         { display: flex; }
.d-grid         { display: grid; }
.d-block        { display: block; }
.d-inline-block { display: inline-block; }
.d-inline-flex  { display: inline-flex; }

.flex-wrap       { flex-wrap: wrap; }
.flex-nowrap     { flex-wrap: nowrap; }
.flex-col        { flex-direction: column; }
.flex-row        { flex-direction: row; }

.items-center    { align-items: center; }
.items-start     { align-items: flex-start; }
.items-end       { align-items: flex-end; }
.items-stretch   { align-items: stretch; }

.justify-center  { justify-content: center; }
.justify-between { justify-content: space-between; }
.justify-end     { justify-content: flex-end; }

.gap-xs  { gap: var(--spacing-xs); }
.gap-sm  { gap: var(--spacing-sm); }
.gap-md  { gap: var(--spacing-md); }
.gap-lg  { gap: var(--spacing-lg); }

.w-full  { width: 100%; }
.h-full  { height: 100%; }

.overflow-hidden { overflow: hidden; }
.overflow-auto   { overflow: auto; }

.sr-only {
    position: absolute;
    width: 1px; height: 1px;
    margin: -1px; padding: 0;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
    white-space: nowrap;
}
