/* ==========================================================================
   Display & Visibility Utilities
   ========================================================================== */

/* Display Types */
.display-block {
    display: block;
}

.display-flex {
    display: flex;
}

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

.display-grid {
    display: grid;
}

.display-none, .hidden, .visually-hidden {
    display: none;
}

.display-inline {
    display: inline;
}

.display-inline-block {
    display: inline-block;
}

/* Visibility */
.visibility-hidden {
    visibility: hidden;
}

.visibility-visible {
    visibility: visible;
}

/* Conditional Visibility */
.visible-if-only-child {
    display: none;
}
.visible-if-only-child:only-child {
    display: block;
}

.hidden-if-only-child {
    display: block;
}
.hidden-if-only-child:only-child {
    display: none;
}

/* Responsive Display */
@media (max-width: 767px) {
    .mobile-only {
        display: block !important;
    }

    .desktop-only {
        display: none !important;
    }

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

    .mobile-hidden {
        display: none !important;
    }
}

@media (min-width: 768px) {
    .mobile-only {
        display: none !important;
    }

    .desktop-only {
        display: block !important;
    }

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

    .desktop-hidden {
        display: none !important;
    }
}