/* A single editorial shell. Background bands remain full bleed; their content aligns. */
body.mlc-site-layout {
    --mlc-site-max: 1440px;
    --mlc-site-gutter: clamp(28px, 6.5vw, 104px);
    --mlc-home-shell-max: var(--mlc-site-max);
    --mlc-home-shell-gutter: var(--mlc-site-gutter);
}

body.mlc-site-layout #header :is(.header-top, .header-main, .header-bottom) > .container,
body.mlc-site-layout #header .header-row.container,
body.mlc-site-layout #header #main-menu.container,
body.mlc-site-layout #nav-panel > .container,
body.mlc-site-layout .page-top > .container,
body.mlc-site-layout #main > :is(.container, .container-fluid),
body.mlc-site-layout #footer :is(.footer-main, .footer-bottom) > .container,
body.mlc-site-layout .mlc-cinematic-inner,
body.mlc-site-layout .mlc-home .mlc-home-wrap {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--mlc-site-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--mlc-site-gutter);
    padding-right: var(--mlc-site-gutter);
}

/* Homepage artwork and section backgrounds span the viewport, not the text shell. */
body.mlc-site-layout.mlc-premium-homepage #main > .container-fluid {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}
body.mlc-site-layout.mlc-premium-homepage .mlc-cinematic-hero {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

/* Porto's row/column gutters already cancel each other. Do not add a second
   shell inside that content column (WPBakery and shortcode root wrappers). */
body.mlc-site-layout #main .page-content > .wpb-content-wrapper > .porto-inner-container {
    margin-left: 0;
    margin-right: 0;
}
body.mlc-site-layout #main .page-content .porto-wrap-container.container {
    width: 100%;
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}
body.mlc-site-layout #main .mlcontact,
body.mlc-site-layout #main .mlc-root.mlc-profile,
body.mlc-site-layout #main .mlc-root.mlc-profile-editorial {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}
body.mlc-site-layout #main .mlcontact-intro {
    padding-left: 0;
    padding-right: 0;
}

@media (max-width: 1050px) {
    body.mlc-site-layout { --mlc-site-gutter: 40px; }
}
@media (max-width: 850px) {
    body.mlc-site-layout { --mlc-site-gutter: 32px; }
}
@media (max-width: 750px) {
    body.mlc-site-layout { --mlc-site-gutter: 28px; }
}
@media (max-width: 520px) {
    body.mlc-site-layout { --mlc-site-gutter: 25px; }
}
