
/* ==========================================================
   PUBLIC FRAME 1280 FINAL - 2026-08-07
   Default + Modern + Transport + Category + Article
   One exact outer axis from Topbar through Footer.
   ========================================================== */
:root{--hns-public-frame:1280px;}

/* Outer bars/blocks */
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .topbar.topbar-upgraded.header-language-zone,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) header.site-shell.brand-row.brand-row-search.header-top-strip,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) #mainNavigation.main-menu-wrap,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) main.site-shell.page-with-sidebars,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .footer-main{
    width:100% !important;
    max-width:var(--hns-public-frame) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
}

/* Remove hidden double-gutters in nested shells */
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .topbar.topbar-upgraded.header-language-zone > .site-shell.topbar-upgraded-inner,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) #mainNavigation.main-menu-wrap > .site-shell.main-menu-shell,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .footer-main > .site-shell.footer-cols{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
}

/* Main is the 1280 reference frame. No 20px theme-modern side padding. */
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) main.site-shell.page-with-sidebars{
    padding-left:0 !important;
    padding-right:0 !important;
}

/* DEFAULT homepage fills the center column exactly */
body.home-layout-magazine:not(.home-layout-news):not(.home-layout-education) main.site-shell.page-with-sidebars > .content-center,
body.home-layout-magazine:not(.home-layout-news):not(.home-layout-education) main.site-shell.page-with-sidebars > .content-center.full-width,
body.home-layout-magazine:not(.home-layout-news):not(.home-layout-education) .home-layout-stage.home-layout-magazine{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
}
body.home-layout-magazine:not(.home-layout-news):not(.home-layout-education) .home-layout-stage.home-layout-magazine > *{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
}

/* MODERN / TRANSPORT homepage exact same outer frame */
body.home-layout-modern main.site-shell.page-with-sidebars,
body.home-layout-transport main.site-shell.page-with-sidebars{
    width:100% !important;
    max-width:var(--hns-public-frame) !important;
    padding-left:0 !important;
    padding-right:0 !important;
}
body.home-layout-modern main.site-shell.page-with-sidebars > .content-center,
body.home-layout-transport main.site-shell.page-with-sidebars > .content-center,
body.home-layout-modern .modern-home,
body.home-layout-transport .modern-home{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
}

/* Category / Article public inner pages */
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .public-inner-page{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
}
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .content-center{
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
}
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .public-inner-page > .page-hero,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .public-inner-page > .article-content,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .public-inner-page > .list-item-modern,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .public-inner-page > .document-library-zone,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .public-inner-page > .modern-pagination,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .public-inner-page > .empty-state{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
}

/* When there are sidebars, the TOTAL grid remains exactly 1280.
   Content does not add its own extra outer margins. */
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) main.site-shell.page-with-sidebars{
    gap:12px !important;
}
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) main.site-shell.page-with-sidebars.has-left.has-right{
    grid-template-columns:250px minmax(0,1fr) 250px !important;
}
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) main.site-shell.page-with-sidebars.has-left.no-right{
    grid-template-columns:250px minmax(0,1fr) !important;
}
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) main.site-shell.page-with-sidebars.no-left.has-right{
    grid-template-columns:minmax(0,1fr) 250px !important;
}
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) main.site-shell.page-with-sidebars.no-left.no-right{
    grid-template-columns:minmax(0,1fr) !important;
}

/* Footer outer edge and first/last cards start on same 1280 axis */
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .footer-main{
    overflow:hidden !important;
}

/* Responsive: one shared 10px inner gutter, never calc(100% - 24px). */
@media(max-width:1280px){
    body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .topbar.topbar-upgraded.header-language-zone,
    body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) header.site-shell.brand-row.brand-row-search.header-top-strip,
    body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) #mainNavigation.main-menu-wrap,
    body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) main.site-shell.page-with-sidebars,
    body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .footer-main{
        max-width:100% !important;
    }
}
@media(max-width:991px){
    body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) main.site-shell.page-with-sidebars,
    body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) main.site-shell.page-with-sidebars.has-left.has-right,
    body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) main.site-shell.page-with-sidebars.has-left.no-right,
    body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) main.site-shell.page-with-sidebars.no-left.has-right,
    body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) main.site-shell.page-with-sidebars.no-left.no-right{
        grid-template-columns:minmax(0,1fr) !important;
        padding-left:10px !important;
        padding-right:10px !important;
    }
}
