/*
 * Lucaffè Layout Host Guard 1.0.0
 * Targeted layout ownership only. No visual redesign and no global 100vw rule.
 */

html.lucaffe-lhg-active,
body.lucaffe-lhg-active {
    max-width: 100%;
    overflow-x: hidden;
}

/* Only ancestors explicitly marked by the ES5 controller are released. */
.lucaffe-lhg-release {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
}

.lucaffe-lhg-column {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
    flex-grow: 1 !important;
    flex-shrink: 0 !important;
}

/* Full-bleed roots keep their own colors, spacing, radius and animation. */
.lucaffe-lhg-full {
    position: relative !important;
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

/* Editorial stories remain intentionally centred rather than stretched. */
.lucaffe-lhg-contained {
    position: relative !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
}

.lucaffe-lhg-contained .lhps-frame,
.lucaffe-lhg-contained .lhps-track,
.lucaffe-lhg-contained .lhps-slide,
.lucaffe-lhg-contained .lhps-intro {
    min-width: 0;
    max-width: 100%;
}

.lucaffe-lhg-contained img,
.lucaffe-lhg-full img,
.lucaffe-lhg-full video,
.lucaffe-lhg-full canvas,
.lucaffe-lhg-full svg {
    max-width: 100%;
}

/* Older Safari does not understand overflow: clip. */
@supports not (overflow: clip) {
    html.lucaffe-lhg-active,
    body.lucaffe-lhg-active {
        overflow-x: hidden;
    }
}

@media (max-width: 820px) {
    .lucaffe-lhg-contained {
        max-width: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .lucaffe-lhg-full *,
    .lucaffe-lhg-contained * {
        scroll-behavior: auto !important;
    }
}
