/* module: 16-helpers (utilitarios globales) – KEEP-ORDER */

/* Utilidades de visibilidad */
.hidden {
    display: none !important;
}

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

/* Alineación de texto */
.text-left {
    text-align: left !important;
}

.text-center {
    text-align: center !important;
}

.text-right {
    text-align: right !important;
}

/* Espaciados mínimos */
.mt-0 {
    margin-top: 0 !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.mt-sm {
    margin-top: 0.5rem !important;
}

.mb-sm {
    margin-bottom: 0.5rem !important;
}

.mt-md {
    margin-top: 1rem !important;
}

.mb-md {
    margin-bottom: 1rem !important;
}

.mt-lg {
    margin-top: 1.5rem !important;
}

.mb-lg {
    margin-bottom: 1.5rem !important;
}

.pt-0 {
    padding-top: 0 !important;
}

.pb-0 {
    padding-bottom: 0 !important;
}

.pt-sm {
    padding-top: 0.5rem !important;
}

.pb-sm {
    padding-bottom: 0.5rem !important;
}

.pt-md {
    padding-top: 1rem !important;
}

.pb-md {
    padding-bottom: 1rem !important;
}

.pt-lg {
    padding-top: 1.5rem !important;
}

.pb-lg {
    padding-bottom: 1.5rem !important;
}

/* Display/Flex helpers */
.flex {
    display: flex !important;
}

.inline-flex {
    display: inline-flex !important;
}

.justify-center {
    justify-content: center !important;
}

.justify-between {
    justify-content: space-between !important;
}

.items-center {
    align-items: center !important;
}

.gap-sm {
    gap: 0.5rem !important;
}

.gap-md {
    gap: 1rem !important;
}

.gap-lg {
    gap: 1.5rem !important;
}

/* Ancho/Alto quick */
.w-100 {
    width: 100% !important;
}

.h-100 {
    height: 100% !important;
}

.w-auto {
    width: auto !important;
}

.h-auto {
    height: auto !important;
}

/* Utilidades de posición */
.relative {
    position: relative !important;
}

.absolute {
    position: absolute !important;
}

.fixed {
    position: fixed !important;
}

/* Utilidades de overflow */
.overflow-hidden {
    overflow: hidden !important;
}

.overflow-auto {
    overflow: auto !important;
}

/* Utilidades de cursor */
.cursor-pointer {
    cursor: pointer !important;
}

.cursor-not-allowed {
    cursor: not-allowed !important;
}

/* Utilidades de transición */
.transition-none {
    transition: none !important;
}

.transition-fast {
    transition: all 0.15s ease !important;
}

.transition-normal {
    transition: all 0.25s ease !important;
}

.transition-slow {
    transition: all 0.4s ease !important;
}
