/* Main Shimmer Class */
.shimmer {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%) !important;
    background-size: 200% 100% !important;
    animation: shimmer 1.5s infinite;
    position: relative;
    overflow: hidden;
    color: transparent !important;
    border-color: transparent !important;
}

/* Hide all child elements when shimmer is active */
.shimmer * {
    visibility: hidden !important;
    color: transparent !important;
}

/* Hide text content */
.shimmer::selection {
    background: transparent;
}

.shimmer::-moz-selection {
    background: transparent;
}

/* Shimmer wave effect */
.shimmer::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.6), transparent);
    animation: shimmer-wave 1.5s infinite;
    z-index: 1;
}

@keyframes shimmer {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}

@keyframes shimmer-wave {
    0% {
        left: -100%;
    }
    100% {
        left: 100%;
    }
}

/* Dark theme variant - Hides content completely */
.shimmer-dark {
    background: linear-gradient(90deg, #2a2a2a 25%, #3a3a3a 50%, #2a2a2a 75%) !important;
    background-size: 200% 100% !important;
    animation: shimmer 1.5s infinite;
    position: relative;
    overflow: hidden;
    color: transparent !important;
    border-color: transparent !important;
}

/* Hide all child elements when dark shimmer is active */
.shimmer-dark * {
    visibility: hidden !important;
    color: transparent !important;
}

.shimmer-dark::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
    animation: shimmer-wave 1.5s infinite;
    z-index: 1;
}
