/* Shared page grid. Reading measures and self-contained widgets remain independent. */
body.j3-page {--j3-content-width:1240px;--j3-page-gutter:40px;}
@media(max-width:760px){body.j3-page{--j3-page-gutter:20px;}}
body.j3-page :is(.j3-hero,.j3-section,.pp-hero,.cover),body.j3-page #roi,body.j3-page #jl-footer {padding-inline:var(--j3-page-gutter);}
body.j3-page :is(.j3-hero-host,.j3-section-frame,#roi > .w,.pp-hero > .w,.cover > .w,#jl-footer .jlf-w) {
  width:100%;max-width:var(--j3-content-width)!important;margin-inline:auto;box-sizing:border-box;
}
body.j3-page :is(#roi > .w,.pp-hero > .w,.cover > .w) {padding-inline:0;}
body.j3-page .j3-nav-row {width:100%;max-width:calc(var(--j3-content-width) + 2 * var(--j3-page-gutter));padding-inline:var(--j3-page-gutter);box-sizing:border-box;}
/* These page shells contain their own gutters. */
body.j3-page :is(.j3-about-hero,.about-body,.j3-document #jl-root > .w,.j3-developer main.w,.j3-blank-content) {
  width:100%;max-width:calc(var(--j3-content-width) + 2 * var(--j3-page-gutter))!important;padding-inline:var(--j3-page-gutter);margin-inline:auto;box-sizing:border-box;
}
body.j3-page .j3-journal,
body.j3-page .j3-not-found,
body.j3-page[data-j3-page="buy-a-ukrainian-phone-number"] .site-shell {
  width:calc(100% - 2 * var(--j3-page-gutter));max-width:var(--j3-content-width)!important;margin-inline:auto;padding-inline:0;box-sizing:border-box;
}
/* Sections inside an already bounded checkout shell must not add another gutter. */
body.j3-page[data-j3-page="buy-a-ukrainian-phone-number"] .site-shell .j3-section {padding-inline:0;}
body.j3-page[data-j3-page] .j3-app-frame {padding-inline:var(--j3-page-gutter);}
body.j3-page:is([data-j3-page="ai-assistants-live-demo"],[data-j3-page="demo-barbershop"],[data-j3-page="demo-real-estate"],[data-j3-page="jotlink-sales-handbook"]) .j3-app-content {
  width:100%;max-width:var(--j3-content-width)!important;margin-inline:auto;
}

/* Document sections already sit inside the shared outer page shell. */
body.j3-page:is(.j3-document,.j3-developer) .j3-section {padding-inline:0;}
