/* Anti-flicker styles for smooth page load */

/* Hide content initially to prevent flash */
body:not(.page-loaded) .gallery-slider,
body:not(.page-loaded) .model-card,
body:not(.page-loaded) .illustration-card,
body:not(.page-loaded) .project-widget {
    opacity: 0 !important;
}

/* Hide hero name initially for typewriter effect */
#hero {
    min-height: 200px;
}

#hero .typed-name {
    min-height: 1.1em;
    display: block;
    width: 100%;
}

/* Gallery slider setup */
.gallery-slider {
    opacity: 0;
    visibility: visible;
    min-height: 300px;
    position: relative;
    transition: opacity 0.3s ease;
}

.page-loaded .gallery-slider {
    opacity: 1;
}

/* Prevent widgets from flickering on load */
.gallery-slider .project-widget {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: none !important;
}

/* Grid items smooth appearance */
.model-card,
.illustration-card {
    opacity: 0;
    visibility: visible;
}

.page-loaded .model-card,
.page-loaded .illustration-card {
    opacity: 1;
}

/* Only enable transitions after page is loaded */
.page-loaded .gallery-slider .project-widget {
    transition: transform 0.4s cubic-bezier(0.4, 0.0, 0.2, 1),
                box-shadow 0.4s cubic-bezier(0.4, 0.0, 0.2, 1) !important;
}

/* Prevent layout shift */
.models-grid,
.illustrations-grid {
    min-height: 400px;
}

.page-loaded .models-grid,
.page-loaded .illustrations-grid {
    min-height: auto;
}

