/* All module routes share the template's width and component-radius contract. */
.nx-site .nx-module-page{box-sizing:border-box;width:min(calc(100% - 2 * var(--site-space,24px)),var(--site-width));max-width:100%;margin-inline:auto;padding-block:28px;--nx-page-width:var(--site-width);--nx-content-width:var(--site-width);--nx-container-width:var(--site-width);--bs-border-radius:var(--site-radius);--bs-border-radius-sm:var(--site-radius);--bs-border-radius-lg:var(--site-radius);--bs-border-radius-xl:var(--site-radius)}
.nx-site .nx-module-page>:is(div,section,article,main,form){box-sizing:border-box;width:100%;max-width:100%;margin-inline:0}
.nx-site .nx-module-page:not(:has(.nx-static-content)) :is(.container,.container-fluid,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl){width:100%;max-width:100%;padding-inline:0;margin-inline:0}
.nx-site .nx-module-page :is(.card,.card-header,.card-footer,.btn,.form-control,.form-select,.input-group-text,.alert,.modal-content,.dropdown-menu){border-radius:var(--site-radius)}
/* Statische Seiten erlauben volle Hero-Breite; Inhaltscontainer setzt die Seite selbst. */
.nx-site .nx-module-page:has(.nx-static-content){width:100%;max-width:none;padding:0}
