/* Skeleton Shimmer CSS */
.shimmer {
    background: #f6f7f8;
    background-image: linear-gradient(to right, #f6f7f8 0%, #edeef1 20%, #f6f7f8 40%, #f6f7f8 100%);
    background-repeat: no-repeat;
    background-size: 800px 104px;
    display: inline-block;
    position: relative;
    animation: shimmer 1.5s infinite linear;
}

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

.skeleton-card {
    background: #fff;
    border-radius: 12px;
    padding: 15px;
    border: 1px solid #f0f0f0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    height: 100%;
}

.skeleton-img {
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 8px;
}

.skeleton-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.skeleton-line {
    height: 12px;
    border-radius: 4px;
}

.lazy-section {
    min-height: 250px;
    margin-bottom: 40px;
    clear: both;
    display: block;
    width: 100%;
}

.lazy-section.loading {
    opacity: 0.6;
}

.lazy-section.loaded {
    opacity: 1;
    transition: opacity 0.4s ease;
}
