/* Layout overrides only. No theme files, content, metadata or templates changed. */
body.single-post main.wp-block-group {
 box-sizing: border-box;
 width: 100%;
 max-width: 1180px;
 margin-inline: auto !important;
 --wp--style--global--content-size: 960px;
 --wp--style--global--wide-size: 960px;
 padding-inline: clamp(20px, 4vw, 32px);
}
/* The default single template nests an alignfull group inside main. */
body.single-post main.wp-block-group > .wp-block-group.alignfull {
 box-sizing: border-box;
 width: 100%;
 max-width: 100%;
 margin-inline: 0;
 padding-inline: 0;
}
/* Override both the theme's 760px article cap and inherited 645px measure. */
body.single-post main .wp-block-post-content {
 box-sizing: border-box;
 width: 100%;
 max-width: 960px;
 margin-inline: auto;
 padding-inline: 0;
 --wp--style--global--content-size: 960px;
 --wp--style--global--wide-size: 960px;
}
body.single-post main .wp-block-post-content > :where(p, ul, ol, h2, h3, h4, h5, h6, blockquote),
body.single-post main .wp-block-post-content > .wp-block-group > :where(p, ul, ol, h2, h3, h4, h5, h6, blockquote) {
 box-sizing: border-box;
 max-width: min(100%, 80ch, 820px);
 margin-inline: auto;
 overflow-wrap: anywhere;
}
body.single-post main .wp-block-post-content > :where(figure, .wp-block-image, .wp-block-gallery, .wp-block-table, pre),
body.single-post main .wp-block-post-content > :where(.alignwide, .alignfull) {
 box-sizing: border-box;
 max-width: 100%;
 margin-inline: auto;
}
body.single-post main .wp-block-post-content img {
 max-width: 100%;
 height: auto;
}
body.single-post main .wp-block-post-content :where(.wp-block-table, pre) {
 max-width: 100%;
 overflow-x: auto;
}
/* Keep classic editor tables scrollable without forcing a wider page. */
body.single-post main .wp-block-post-content > table {
 display: block;
 max-width: 100%;
 overflow-x: auto;
}

/* Homepage: replace the theme's 100vw/content-box wrapper and negative offsets. */
body.home.page main .wp-block-post-content {
 box-sizing: border-box;
 width: 100%;
 max-width: 100% !important;
 margin-inline: 0 !important;
 padding-inline: 0;
}
body.home.page main .wp-block-post-content > :is(.dg-public-hero, .dg-public-section, .dgpt-home) {
 box-sizing: border-box;
 width: calc(100% - 2 * clamp(20px, 3vw, 32px));
 max-width: 1180px !important;
 margin-inline: auto !important;
}
/* Archives use the same outer measure as the existing Insights listing. */
body:is(.archive, .blog) main.wp-block-group {
 box-sizing: border-box;
 width: calc(100% - 2 * clamp(20px, 3vw, 32px));
 max-width: 1180px !important;
 margin-inline: auto !important;
 padding-inline: 0;
 --wp--style--global--content-size: 1180px;
 --wp--style--global--wide-size: 1180px;
}
body.archive main > :is(.wp-block-query, .wp-block-query-title, .wp-block-term-description),
body.archive main .wp-block-query > .wp-block-post-template {
 box-sizing: border-box;
 width: 100%;
 max-width: 100%;
 margin-inline: 0;
}
body.archive main .wp-block-term-description p {
 max-width: min(100%, 80ch, 820px);
}
body:is(.archive, .blog) main .wp-block-query > .wp-block-post-template {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 24px;
 padding-inline: 0;
 list-style: none;
}
body:is(.archive, .blog) main .wp-block-post-template > li {
 min-width: 0;
 margin-block: 0;
 overflow-wrap: anywhere;
}
body.archive main .wp-block-post-template .dg-insight-list-card {
 box-sizing: border-box;
 width: 100%;
 max-width: 100%;
 margin-inline: 0;
 padding-inline: 24px;
}
body.archive main .wp-block-post-template .dg-insight-list-card > * {
 max-width: 100%;
}
body.archive main .wp-block-post-template img {
 max-width: 100%;
 height: auto;
}
/* One shared tool-page layout. Width belongs to this plugin, not each tool.
   Reset only the theme wrappers on the path to post-content; leave forms,
   preview grids, cards and their internal padding/design intact. */
body.dg-layout-tools main.wp-block-group {
 --dg-tools-width: 1180px;
 --dg-tools-gutter: clamp(20px, 3vw, 32px);
 --wp--style--global--content-size: var(--dg-tools-width);
 --wp--style--global--wide-size: var(--dg-tools-width);
 box-sizing: border-box;
 width: 100%;
 max-width: none;
 margin-inline: auto !important;
 padding-inline: var(--dg-tools-gutter);
 margin-block-start: 32px !important;
}
body.dg-layout-tools main :is(.wp-block-group, .wp-block-post-content):has(.wp-block-post-content),
body.dg-layout-tools main .wp-block-post-content {
 box-sizing: border-box;
 width: 100%;
 max-width: var(--dg-tools-width);
 min-width: 0;
 margin-inline: auto !important;
 padding-inline: 0;
 --wp--style--global--content-size: var(--dg-tools-width);
 --wp--style--global--wide-size: var(--dg-tools-width);
}
body.dg-layout-tools main .wp-block-post-title,
body.dg-layout-tools main .wp-block-post-content > * {
 box-sizing: border-box;
 width: 100%;
 max-width: var(--dg-tools-width);
 min-width: 0;
 margin-inline: auto;
}
/* Readable prose without narrowing the full tool form/preview surface. */
body.dg-layout-tools main .wp-block-post-content > :is(p, ul, ol, blockquote),
body.dg-layout-tools main .dgpt :is(.dgpt-guide, .dgpt-faq, .dgpt-intro) > :is(p, ul, ol),
body.dg-layout-tools main .dgpt .dgpt-faq details > p {
 max-width: min(100%, 80ch, 820px);
 overflow-wrap: anywhere;
}
body.dg-layout-tools main .wp-block-post-content :is(input, select, textarea, img, video, iframe) {
 max-width: 100%;
 min-width: 0;
}
body.dg-layout-tools main .wp-block-post-content > :is(pre, table, .wp-block-table) {
 max-width: 100%;
 overflow-x: auto;
}
body.dg-layout-tools main.wp-block-group > .wp-block-group:has(> h1.wp-block-post-title) {
 padding-block-start: 0 !important;
}
@media (max-width: 1024px) {
 body:is(.archive, .blog) main .wp-block-query > .wp-block-post-template {
  grid-template-columns: repeat(2, minmax(0, 1fr));
 }
}
@media (max-width: 650px) {
 body:is(.archive, .blog) main .wp-block-query > .wp-block-post-template {
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
 }
}
