/* P9 — CLS: reserve space for common layout shifts */

/* Hosted Elementor video (homepage hero + any page) */
.elementor-widget-video .elementor-wrapper {
    background-color: #000;
}

.elementor-widget-video .elementor-wrapper video.elementor-video {
    object-fit: cover;
}

/* Homepage hero — aspect ratio before post-85774.css loads */
.elementor-element-efba360 .elementor-wrapper {
    --video-aspect-ratio: 1.77777;
    aspect-ratio: 16 / 9;
}

/* Fixed header overlays content; avoid reflow when fonts/images load in header */
header.elementor-location-header {
    min-height: 72px;
}

header.elementor-location-header img {
    height: auto;
    max-width: 100%;
}

/* Cookie bar is fixed — keep it from affecting document flow */
#cookie-notice {
    contain: layout style paint;
    will-change: transform;
}

/* Embedded iframes without inline height from Elementor */
.elementor-widget-video iframe,
.elementor-widget-google_maps iframe,
iframe[src*="youtube.com"],
iframe[src*="vimeo.com"] {
    max-width: 100%;
}
