/* Page Transition Effects - Flash Prevention & Smooth Fade In */

/* Prevent flash of unstyled content (FOUC) - Modified for form compatibility */
html {
    visibility: visible;
    opacity: 1;
}

/* Show content after page is loaded */
html.loaded {
    visibility: visible;
    opacity: 1;
}

/* Body fade-in animation - Disabled for form compatibility */
body {
    opacity: 1;
}

body.page-loaded {
    opacity: 1;
}

/* Smooth page transitions for internal links */
.page-transition-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ffffff;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}

.page-transition-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* Loading spinner for page transitions */
.page-transition-spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #970164;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: translate(-50%, -50%) rotate(0deg); }
    100% { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Prevent layout shift during loading - Fixed for immediate visibility */
.content-wrapper {
    min-height: 100vh;
    opacity: 1;
    transform: translateY(0);
}

.content-wrapper.loaded {
    opacity: 1;
    transform: translateY(0);
}

/* Smooth scrolling for better UX */
html {
    scroll-behavior: smooth;
}

/* Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
    html,
    body,
    .content-wrapper,
    .page-transition-overlay {
        transition: none !important;
        animation: none !important;
    }
    
    html {
        scroll-behavior: auto;
    }
}

/* WordPress specific elements fade-in */
.wp-block-group,
.wp-block-columns,
.wp-block-cover {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.4s ease-out, transform 0.4s ease-out;
}

.wp-block-group.animate-in,
.wp-block-columns.animate-in,
.wp-block-cover.animate-in {
    opacity: 1;
    transform: translateY(0);
}

/* Form elements smooth appearance - Fixed for immediate visibility */
.byk-form-wrapper {
    opacity: 1;
    transform: translateY(0);
}

.byk-form-wrapper.loaded {
    opacity: 1;
    transform: translateY(0);
}
