/* VGLIA — utilidades.
   Un conjunto corto y cerrado. No es un framework de utilidades: si algo se
   repite lo bastante como para necesitar diez clases, es un componente. */

/* Disposición */
.u-flex { display: flex; }
.u-inline-flex { display: inline-flex; }
.u-grid { display: grid; }
.u-block { display: block; }
.u-hidden { display: none; }

.u-items-center { align-items: center; }
.u-items-start { align-items: flex-start; }
.u-items-baseline { align-items: baseline; }
.u-justify-between { justify-content: space-between; }
.u-justify-center { justify-content: center; }
.u-justify-end { justify-content: flex-end; }
.u-wrap { flex-wrap: wrap; }
.u-col { flex-direction: column; }
.u-grow { flex: 1; }
.u-shrink-0 { flex-shrink: 0; }
.u-min-w-0 { min-width: 0; }

/* Huecos */
.u-gap-1 { gap: var(--space-1); }
.u-gap-2 { gap: var(--space-2); }
.u-gap-3 { gap: var(--space-3); }
.u-gap-4 { gap: var(--space-4); }
.u-gap-6 { gap: var(--space-6); }

/* Márgenes verticales */
.u-mt-2 { margin-top: var(--space-2); }
.u-mt-4 { margin-top: var(--space-4); }
.u-mt-6 { margin-top: var(--space-6); }
.u-mb-2 { margin-bottom: var(--space-2); }
.u-mb-4 { margin-bottom: var(--space-4); }
.u-mb-6 { margin-bottom: var(--space-6); }

/* Texto */
.u-text-center { text-align: center; }
.u-text-right { text-align: right; }
.u-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.u-balance { text-wrap: balance; }

/* Contenedores */
.u-container { width: 100%; max-width: var(--container-lg); margin-inline: auto; }
.u-container--wide { max-width: var(--container-xl); }
.u-container--narrow { max-width: var(--container-md); }

/* Visibilidad por ancho */
@media (max-width: 768px) { .u-hide-sm { display: none !important; } }
@media (max-width: 1024px) { .u-hide-md { display: none !important; } }
