/* Fix for preventing unstyled content during AJAX transitions */

/* Hide uninitialized sliders during transitions */
.project-listings-container[style*="opacity: 0"] .click:not(.slick-initialized) {
    display: none !important;
}

/* Ensure proper styling during opacity transitions */
.project-listings-container {
    min-height: 400px; /* Prevent layout shift */
}

/* Hide content that's being transitioned */
.project-listings-container[style*="opacity: 0.3"] {
    pointer-events: none;
}

/* Smooth transition for all project cards */
.project-listings-container .property-listing {
    transition: all 0.2s ease-in-out;
}

/* Prevent flash of unstyled content */
.project-listings-container .click img {
    transition: opacity 0.1s ease-in-out;
}

/* Hide uninitialized image sliders */
.click:not(.slick-initialized) img:not(:first-child) {
    display: none !important;
}

/* Ensure badges stay properly positioned during transitions */
.project-listings-container .label {
    transition: none !important;
}

/* Loading state styling */
.project-listings-container[style*="opacity: 0"] {
    background: rgba(255, 255, 255, 0.8);
    position: relative;
}

.project-listings-container[style*="opacity: 0"]::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    z-index: 1000;
}

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