/* Widen the theme shell; individual content modules keep their own layout. */
body.enurgence-site-fullwidth :is(#masthead, #colophon) .container {
  width: 100% !important;
  max-width: none !important;
  padding-inline: clamp(20px, 4vw, 76px) !important;
  box-sizing: border-box;
}

body.enurgence-site-fullwidth #content,
body.enurgence-site-fullwidth #content > #main,
body.enurgence-site-fullwidth #content > #main > .container.content-container,
body.enurgence-site-fullwidth #content > #main > .content-container > .content-layout,
body.enurgence-site-fullwidth #content > #main > .content-container > .content-layout > .content-area {
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
}

body.enurgence-site-fullwidth #content > #main > .content-container > .content-layout {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
}

/* Only the theme sidebar beside the content area is removed. */
body.enurgence-site-fullwidth #content > #main > .content-container > .content-layout > .sidebar-area {
  display: none !important;
}

body.enurgence-site-fullwidth #content > #main > .content-container > .content-layout > .content-area > article:is(.page, .post) {
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box;
}

body.enurgence-site-fullwidth #content > #main > .content-container > .content-layout > .content-area > article:is(.page, .post) > :is(.page-content, .post-content, .entry-content),
body.enurgence-site-fullwidth #content > #main > .content-container > .content-layout > .content-area > article:is(.page, .post) > :is(.page-content, .post-content, .entry-content) > .prose {
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
}

/* The homepage and funnel supply their own gutters in their dedicated CSS. */
body.enurgence-site-fullwidth:where(:not(.enurgence-home-fullwidth):not(.enurgence-funnel-fullwidth):not(.page-id-86):not(.enurgence-page-fullwidth)) #content > #main > .content-container > .content-layout > .content-area > article:is(.page, .post) > :is(.page-content, .post-content, .entry-content) {
  padding: 32px clamp(20px, 4vw, 76px) !important;
}

/* Cap direct editorial text, without limiting full page blocks or app content. */
body.enurgence-site-fullwidth:where(:not(.enurgence-home-fullwidth):not(.enurgence-funnel-fullwidth):not(.page-id-86):not(.enurgence-page-fullwidth)) #content > #main > .content-container > .content-layout > .content-area > article:is(.page, .post) > .entry-content > :is(p, ul, ol, blockquote),
body.enurgence-site-fullwidth:where(:not(.enurgence-home-fullwidth):not(.enurgence-funnel-fullwidth):not(.page-id-86):not(.enurgence-page-fullwidth)) #content > #main > .content-container > .content-layout > .content-area > article:is(.page, .post) > :is(.page-content, .post-content, .entry-content) > .prose > :is(p, ul, ol, blockquote) {
  max-width: 75ch !important;
  box-sizing: border-box;
}

/* A module can opt in explicitly at its root; its descendants are unaffected. */
body.enurgence-site-fullwidth #content > #main > .content-container > .content-layout > .content-area > article:is(.page, .post) > .entry-content > :is(.enurgence-fullwidth-root, [data-enurgence-fullwidth="true"]),
body.enurgence-site-fullwidth #content > #main > .content-container > .content-layout > .content-area > article:is(.page, .post) > :is(.page-content, .post-content, .entry-content) > .prose > :is(.enurgence-fullwidth-root, [data-enurgence-fullwidth="true"]) {
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  margin-inline: 0 !important;
  box-sizing: border-box;
}

/* Existing En Urgence page shells have their own width limits and viewport breakouts. */
body.enurgence-site-fullwidth #content :is([id^="eud"][id$="-root"], [id^="eus"][id$="-root"], [id^="euq"][id$="-root"], [id^="eublog_"], [id^="eurec_"]) {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  left: auto !important;
  right: auto !important;
  box-sizing: border-box;
}
body.enurgence-site-fullwidth #content :is([id^="eud"][id$="-root"], [id^="eus"][id$="-root"], [id^="euq"][id$="-root"], [id^="eublog_"], [id^="eurec_"]) :is(.eu-shell, .eu-wrap) {
  width: 100% !important;
  max-width: none !important;
  padding-inline: clamp(20px, 4vw, 76px) !important;
  box-sizing: border-box;
}
body.enurgence-site-fullwidth #content > #main > .content-container > .content-layout > .content-area > article:is(.page, .post) > :is(.page-content, .post-content, .entry-content):has(:is([id^="eud"][id$="-root"], [id^="eus"][id$="-root"], [id^="euq"][id$="-root"], [id^="eublog_"], [id^="eurec_"])) {
  padding: 0 !important;
}

body.enurgence-site-fullwidth #content > #main > .content-container > .content-layout > .content-area > article:is(.page, .post) > :is(.page-content, .post-content, .entry-content):has(:is(.eu-local-demand, .euzen)) {
  padding: 0 !important;
}
body.enurgence-site-fullwidth #content :is(.eu-local-demand, .euzen) {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: clamp(20px, 4vw, 76px) !important;
  box-sizing: border-box;
}
body.enurgence-site-fullwidth #content :is(.eu-internal-boost > .eu-ilb-inner, .eu-phone-pro-boost > .eu-ppcb-inner, .eu-seo-links) {
  width: 100% !important;
  max-width: none !important;
  padding-inline: clamp(20px, 4vw, 76px) !important;
  box-sizing: border-box;
}

/* The Pro gateway otherwise adds its padding outside its viewport width. */
body.enurgence-site-fullwidth #content .eu-bridge-wrap,
body.enurgence-site-fullwidth #content .eu-bridge-wrap * {
  box-sizing: border-box;
}
