/**
 * Viewport / full-width layout fixes
 * - 100vw is wider than the visible area when a vertical scrollbar is present
 * - That causes horizontal overflow and makes the page look shifted left on large screens
 */

html {
    overflow-x: clip;
    scrollbar-gutter: stable;
}

body {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
}

html.lenis,
html.lenis body {
    overflow-x: clip;
}

.page_wrap {
    width: 100%;
    max-width: 100%;
}

/* Dev grid overlay — must not show outside Webflow design mode */
.guide_wrap {
    display: none !important;
}

/* Full-bleed blocks: replace 100vw to avoid scrollbar overflow */
.marquee-advanced,
.cms-marquee-advanced,
.typo-scroll,
.typo-scroll-2,
.typo-scroll-3,
.typo-scroll-4 {
    width: 100% !important;
    max-width: 100%;
}

/* Break out of .u-container for edge-to-edge marquees without using 100vw */
.u-container > .marquee-advanced,
.u-container > .cms-marquee-advanced {
    width: calc(100% + var(--site--margin) * 2) !important;
    max-width: none;
    margin-left: calc(var(--site--margin) * -1);
    margin-right: calc(var(--site--margin) * -1);
}

/* Layout variants that stretch with 100vw */
.u-layout:where(.w-variant-58b19052-6f23-ab5e-5e89-54288af57e85),
.u-layout:where(.w-variant-560ed4d9-9e8c-5c39-4619-fc154cdf9f19),
.u-layout:where(.w-variant-4fee4cc0-701f-2817-944f-2c0261b9c2f3),
.u-layout:where(.w-variant-6bb5e515-55a9-1fc8-d29b-ff898d8b40f7) {
    width: 100% !important;
    max-width: 100%;
}

/* Use more horizontal space on very large monitors (default cap is 120rem / 1920px) */
@media (min-width: 120rem) {
    :root {
        --max-width--main: min(96vw, 140rem);
    }
}

/* Fixed utility layer should not affect layout or block interaction */
.u-position-fixed {
    pointer-events: none;
    inset: 0;
    width: 100%;
    height: 0;
    overflow: visible;
}

.u-position-fixed > * {
    pointer-events: none;
}
