:root{--site-shell-width:min(calc(var(--theme-container) + 80px),100%)}
/* Full width: only header/navigation keep their own container; all main content expands. */
.layout-full #main .container,.layout-full #main .home-news-layout{width:calc(100% - 40px);max-width:none}
.layout-full #main .home-custom-block,.layout-full #main .section,.layout-full #main .hero,.layout-full #main .home-slider{width:100%;max-width:none}
/* Boxed: main website follows one shell; topbar, header and main menu stay full width. */
.layout-boxed{padding:0!important}
.layout-boxed>.topbar,.layout-boxed>.site-header{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
.layout-boxed>#main,.layout-boxed>.site-footer{width:var(--site-shell-width)!important;max-width:100%;margin-left:auto!important;margin-right:auto!important;background:var(--theme-bg);overflow:hidden}
.layout-boxed #main .home-news-layout{width:calc(100% - 40px);max-width:none}
.layout-boxed #main .home-custom-block{width:100%;max-width:none}
/* Framed: the main website floats inside the page background. */
.layout-framed{padding:28px!important}
.layout-framed>#main,.layout-framed>.site-footer{width:var(--site-shell-width)!important;max-width:100%;margin-left:auto!important;margin-right:auto!important;overflow:hidden;box-shadow:0 0 35px #0014}
.layout-framed #main .home-news-layout{width:calc(100% - 40px);max-width:none}
/* Bordered remains full width, with a visible outer frame. */
.layout-bordered{padding:0;border:4px solid var(--theme-secondary)}
.layout-bordered>#main{width:100%;max-width:none}
@media(max-width:700px){.layout-full #main .container,.layout-full #main .home-news-layout,.layout-boxed #main .home-news-layout,.layout-framed #main .home-news-layout{width:calc(100% - 28px)}.layout-framed{padding:0!important}}
