/**
 * Asset Loading Fix
 * 
 * Ensures asset thumbnails and previews load properly
 */

/* Fix for asset images that might be hidden or not loading */
.asset-item img,
.asset-row img,
.asset-preview img,
.asset-modal img {
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Loading state for images */
.asset-item img.loading,
.asset-row img.loading,
.asset-preview img.loading,
.asset-modal img.loading {
    opacity: 0.5 !important;
    filter: blur(2px) !important;
    transition: opacity 0.3s ease, filter 0.3s ease !important;
}

/* Loaded state */
.asset-item img:not(.loading),
.asset-row img:not(.loading),
.asset-preview img:not(.loading),
.asset-modal img:not(.loading) {
    opacity: 1 !important;
    filter: none !important;
    transition: opacity 0.3s ease, filter 0.3s ease !important;
}

/* Ensure thumbnails are visible in grid/list view */
.asset-thumbnail {
    position: relative !important;
    overflow: hidden !important;
    background: rgba(20, 20, 30, 0.8) !important;
    border-radius: 8px !important;
}

.asset-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Fix for lazy loading that might be broken */
img[data-src]:not([src]) {
    background: rgba(20, 20, 30, 0.8) !important;
    position: relative !important;
}

img[data-src]:not([src])::before {
    content: "📷" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    font-size: 24px !important;
    opacity: 0.5 !important;
}

/* Ensure modal images display properly */
.asset-modal-content img,
.modal-image-container img {
    max-width: 100% !important;
    max-height: 80vh !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
}

/* Fix for any broken image placeholders */
.asset-item:not(:has(img[src])) .asset-thumbnail::after,
.asset-row:not(:has(img[src])) .asset-thumbnail::after {
    content: "🖼️" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    font-size: 24px !important;
    color: rgba(0, 255, 255, 0.5) !important;
    z-index: 1 !important;
}

/* Ensure proper aspect ratios */
.asset-grid .asset-item .asset-thumbnail {
    aspect-ratio: 1 / 1 !important;
    min-height: 150px !important;
}

.asset-list .asset-row .asset-thumbnail {
    aspect-ratio: 1 / 1 !important;
    min-height: 60px !important;
    min-width: 60px !important;
}

/* Performance optimization for images */
.asset-item img,
.asset-row img {
    image-rendering: auto !important;
    loading: lazy !important;
}

/* High priority images (visible ones) */
.asset-item:nth-child(-n+20) img,
.asset-row:nth-child(-n+20) img {
    loading: eager !important;
}
