/* === CLS FIX: Prevent layout shifts during page load === */

/* Stabilize main content container on mobile */
@media (max-width: 921px) {
    .site-content {
        contain: layout style;
    }
    .site-content > .ast-container {
        min-height: 50vh;
    }
}

/* Fix lazy-loaded images - prevent collapse before src loads */
img.lazyload,
img[data-src] {
    min-height: 1px;
}

/* Fix cover block images during lazy load */
.wp-block-cover .wp-block-cover__image-background.lazyload,
.wp-block-cover .wp-block-cover__image-background[data-src] {
    min-height: 100%;
    width: 100%;
    object-fit: cover;
}

/* Fix homepage hero cover block */
.home .wp-block-cover {
    min-height: 420px;
    contain: layout;
}

/* Fix MailerLite form container */
.mailerlite-form,
.ml-form-embedContainer,
.ml-form-embedWrapper {
    min-height: 320px;
    contain: layout style;
}

/* Prevent Astra entry-header reflow */
.entry-header {
    contain: layout style;
}

.home .entry-header {
    margin-bottom: 0;
    padding-bottom: 0;
}

/* Fix Astra container spacing on homepage */
.home.ast-separate-container .ast-article-single {
    padding-top: 0;
}

/* Fix group blocks that load dynamic content */
.wp-block-group[style*="background"] {
    contain: layout style;
}

/* Fix columns layout shifts on mobile */
@media (max-width: 921px) {
    .wp-block-columns {
        contain: layout style;
    }
}

/* Reserve space for Complianz cookie banner */
.cmplz-cookiebanner {
    contain: layout style;
}

/* Fix PetHub custom widgets */
.pethub-breed-selector,
.pethub-food-calculator,
.pethub-widget {
    min-height: 400px;
    contain: layout style;
}

/* Stabilize sidebar widgets */
.widget {
    contain: layout style;
}

/* Fix button blocks during load */
.wp-block-buttons {
    min-height: 48px;
}

/* Prevent font swap layout shift */
@font-face {
    font-display: swap;
}

/* Fix Astra scroll-to-top button positioning */
#ast-scroll-top {
    contain: layout style;
}

/* Fix trust/benefits bar section on homepage */
.home .wp-block-group.has-background {
    contain: layout style;
}

/* Stabilize cover block aspect ratio */
.wp-block-cover {
    contain: layout;
    overflow: clip;
}