/* Force above-the-fold content to be visible immediately */
/* Prevents Elementor entrance animations from delaying LCP */

.elementor-section-wrap > .elementor-section:first-child *,
.elementor-section-wrap > .elementor-section:nth-child(2) * {
    animation-name: none !important;
    animation-delay: 0s !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

/* Ensure hero heading is always visible for LCP */
.elementor-heading-title {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Prevent CLS on hero section */
.elementor-section-wrap > .elementor-section:first-child {
    min-height: 60vh;
}

/* ============================== */
/* CLS FIXES - Layout Shift       */
/* ============================== */

/* FIX CLS 1: Reserve space for footer to prevent shift (score: 0.052) */
#footer, .footer, .footer-1 {
    min-height: 350px;
    contain: layout style;
}

/* FIX CLS 2: Force width/height on all swiper slider images (score: unsized) */
/* Specifically targets abd.png and other client logos */
.swiper-slide-image,
img.swiper-slide-image {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 89 / 63;
    object-fit: contain;
}

/* Reserve space for the logo slider container */
.gs-logo-slider,
.gs_logo_slider,
.gs-logo-slider .swiper-container,
.gs-logo-slider .swiper-wrapper {
    min-height: 63px;
    contain: layout;
}

/* FIX CLS 3: Stabilize footer columns (score: 0.039) */
.footer .col-lg-4,
#footer .col-lg-4 {
    min-height: 120px;
}

/* FIX CLS 4: Prevent body-level shift (score: 0.019) */
/* Stabilize layout during async CSS loading */
body {
    overflow-x: hidden;
}

/* Reserve space for lazy-loaded footer badge images */
#footer img,
.footer img {
    width: auto;
    height: auto;
    min-height: 20px;
}

/* Prevent font swap CLS */
body, p, a, span, li, h1, h2, h3, h4, h5, h6 {
    font-display: swap;
}

/* Fix images aspect ratio globally to prevent CLS */
img[width][height] {
    aspect-ratio: attr(width) / attr(height);
    height: auto;
}

/* ============================== */
/* FOOTER BADGES - Consistent Logo Sizing */
/* ============================== */

.ws-footer-badges {
    display: inline-flex !important;
    align-items: center !important;
    gap: 24px !important;
    flex-wrap: wrap !important;
}

.ws-footer-badges img {
    height: 30px !important;
    width: auto !important;
    max-width: 120px !important;
    object-fit: contain !important;
}

.ws-footer-badges a {
    display: inline-flex !important;
    align-items: center !important;
}