/* EZ-WK v026 unified width system.
   This file is intentionally loaded last so page-specific widths do not diverge. */
:root {
  --ezwk-layout-max: 1560px;
  --ezwk-site-max: var(--ezwk-layout-max);
  --ezwk-app-max: var(--ezwk-layout-max);
  --ezwk-gutter: clamp(18px, 4vw, 40px);
  --world-container: var(--ezwk-layout-max);
  --container: var(--ezwk-layout-max);
}

.world-shell-header__inner,
.world-shell-footer__inner {
  width: min(calc(100% - var(--ezwk-gutter) - var(--ezwk-gutter)), var(--ezwk-layout-max)) !important;
  max-width: var(--ezwk-layout-max) !important;
  margin-inline: auto !important;
}

/* Site / marketing / legal page outer widths. */
.container,
.landing-page,
.policy-page,
.landing-section,
.privacy-first,
.risk-stage,
.how-stage,
.hero-stage,
.tool-stage,
.section.container,
main > .section.container {
  width: min(calc(100% - var(--ezwk-gutter) - var(--ezwk-gutter)), var(--ezwk-layout-max)) !important;
  max-width: var(--ezwk-layout-max) !important;
  margin-inline: auto !important;
}

.container,
.section.container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Product landing pages. */
.landing-hero,
.hero.container,
.hero-split,
.hero-system-map,
.hero-map,
.feature-grid,
.tool-grid,
.principle-grid {
  max-width: var(--ezwk-layout-max) !important;
}

/* Keep readable documents wide-aligned while not forcing text to full width. */
.policy-page {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.policy-document,
.policy-hero {
  width: min(100%, var(--ezwk-layout-max)) !important;
  max-width: var(--ezwk-layout-max) !important;
}
.policy-document > section,
.policy-document > .policy-highlight {
  max-width: min(1120px, 100%) !important;
}

/* App pages use the same wide shell. */
body.app-page .world-shell-header__inner,
body.app-page .world-shell-footer__inner,
body.workroute-app .world-shell-header__inner,
body.workroute-app .world-shell-footer__inner,
body.workspace-page .world-shell-header__inner,
body.workspace-page .world-shell-footer__inner {
  width: min(calc(100% - var(--ezwk-gutter) - var(--ezwk-gutter)), var(--ezwk-app-max)) !important;
  max-width: var(--ezwk-app-max) !important;
}

/* WorkRoute. */
body.workroute-app .public-app-page,
body.workroute-app .public-workspace,
body.workroute-app .report-summary,
body.workroute-app .report-sheet,
body.workroute-app .map-stage {
  width: min(calc(100% - var(--ezwk-gutter) - var(--ezwk-gutter)), var(--ezwk-app-max)) !important;
  max-width: var(--ezwk-app-max) !important;
  margin-inline: auto !important;
}
body.workroute-app .public-app-page {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* FormRecast. */
body.formrecast-app main,
body.formrecast-app .hero,
body.formrecast-app .workspace,
body.formrecast-app .transform-studio {
  width: min(calc(100% - var(--ezwk-gutter) - var(--ezwk-gutter)), var(--ezwk-app-max)) !important;
  max-width: var(--ezwk-app-max) !important;
  margin-inline: auto !important;
}
body.formrecast-app main {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.formrecast-app .comparison-panel,
body.formrecast-app .comparison-grid {
  max-width: var(--ezwk-app-max) !important;
}

/* GridTrail. */
body.workspace-page main,
body.workspace-page .workspace-main,
body.workspace-page .diagnostic-main,
body.workspace-page .summary-output,
body.workspace-page .migration-workspace,
body.workspace-page .connection-panel {
  width: min(calc(100% - var(--ezwk-gutter) - var(--ezwk-gutter)), var(--ezwk-app-max)) !important;
  max-width: var(--ezwk-app-max) !important;
  margin-inline: auto !important;
}
body.workspace-page main,
body.workspace-page .workspace-main {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* RePaper. */
body.repaper-app .shell,
body.repaper-app .studio-panel,
body.repaper-app .result-shell {
  width: min(calc(100% - var(--ezwk-gutter) - var(--ezwk-gutter)), var(--ezwk-app-max)) !important;
  max-width: var(--ezwk-app-max) !important;
  margin-inline: auto !important;
}
body.repaper-app .shell {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Legacy product CSS fallbacks still present in some route folders. */
.topbar,
.site-footer {
  padding-left: max(var(--ezwk-gutter), calc((100vw - var(--ezwk-layout-max)) / 2)) !important;
  padding-right: max(var(--ezwk-gutter), calc((100vw - var(--ezwk-layout-max)) / 2)) !important;
}

/* Mobile keeps safe gutters. */
@media (max-width: 760px) {
  :root { --ezwk-gutter: 16px; }
  .world-shell-header__inner,
  .world-shell-footer__inner,
  .container,
  .landing-page,
  .policy-page,
  .landing-section,
  body.app-page .world-shell-header__inner,
  body.app-page .world-shell-footer__inner,
  body.workroute-app .public-app-page,
  body.formrecast-app main,
  body.formrecast-app .hero,
  body.formrecast-app .workspace,
  body.formrecast-app .transform-studio,
  body.workspace-page main,
  body.workspace-page .workspace-main,
  body.repaper-app .shell {
    width: min(calc(100% - 28px), var(--ezwk-layout-max)) !important;
  }
}

/* EZ-WK v029 layout hardening */
:root{--ezwk-layout-max:1560px;--ezwk-site-max:var(--ezwk-layout-max);--ezwk-app-max:var(--ezwk-layout-max);--ezwk-gutter:clamp(18px,4vw,40px);--world-container:var(--ezwk-layout-max);--container:var(--ezwk-layout-max)}
.world-shell-header__inner,.world-shell-footer__inner,body>main,body.site-page>main,body.guide-page>main,body.policy-body>main,body.product-landing>main,body.gridtrail-landing>main{width:min(calc(100% - var(--ezwk-gutter)*2),var(--ezwk-layout-max))!important;max-width:var(--ezwk-layout-max)!important;margin-inline:auto!important}
body>main .container,body>main .section,body>main .landing-page,body>main .landing-section,body>main .guide-hero,body>main .guide-layout,body>main .guide-related,body>main .hero-stage,body>main .risk-stage,body>main .how-stage,body>main .privacy-first,body>main .policy-page,body>main .policy-hero,body>main .policy-document{width:min(100%,var(--ezwk-layout-max))!important;max-width:var(--ezwk-layout-max)!important;margin-inline:auto!important}
body>main .container,body>main .section.container,body>main .landing-section,body>main .guide-hero,body>main .guide-layout,body>main .guide-related,body>main .policy-page{padding-left:0!important;padding-right:0!important}
body.gridtrail-landing main,body.gridtrail-landing .hero,body.gridtrail-landing .risk-stage,body.gridtrail-landing .how-stage,body.gridtrail-landing .connection-panel,body.gridtrail-landing .feature-grid{width:min(calc(100% - var(--ezwk-gutter)*2),var(--ezwk-layout-max))!important;max-width:var(--ezwk-layout-max)!important;margin-inline:auto!important}
.policy-document>section,.policy-document>.policy-highlight{width:100%!important;max-width:var(--ezwk-layout-max)!important}.policy-document p,.policy-document li,.policy-document h2,.policy-document h3{max-width:1120px}
body.app-page main,body.app-page .public-app-page,body.app-page .public-workspace,body.app-page .workspace,body.app-page .workspace-main,body.app-page .transform-studio,body.app-page .shell{width:min(calc(100% - var(--ezwk-gutter)*2),var(--ezwk-app-max))!important;max-width:var(--ezwk-app-max)!important;margin-inline:auto!important}
body.app-page main .container,body.app-page main .section,body.guide-page main .container,body.guide-page main .section{max-width:var(--ezwk-layout-max)!important}
@media(max-width:760px){:root{--ezwk-gutter:16px}.world-shell-header__inner,.world-shell-footer__inner,body>main,body.app-page main{width:min(calc(100% - 28px),var(--ezwk-layout-max))!important}}
