/* Native content uses the approved v5 composition classes and shared tokens. */
.c4c-content-section .wp-block-group{box-sizing:border-box}
.c4c-content-section :where(.wp-block-group,.wp-block-heading,.wp-block-image,.wp-block-list,.wp-block-table){margin-block:0}
.c4c-content-section .wp-block-image{min-width:0;max-width:100%}
.c4c-content-section .wp-block-image img{display:block;width:100%;height:100%}
.c4c-content-section .wp-block-image:has(img){align-self:stretch}
.c4c-content-section .wp-block-button{display:contents}
.c4c-content-section .wp-block-button__link{font-size:var(--wp--preset--font-size--ui-label);font-weight:700;border-radius:0}
.c4c-content-section .is-style-c4c-text-link>.wp-block-button__link{background:transparent;color:inherit;padding:0;text-align:inherit;border:0}
.c4c-content-section :is(.wp-block-group,.wp-block-heading,p,.wp-block-list,.wp-block-list li,.wp-block-table,.wp-block-image figcaption).has-text-color,
.c4c-content-section :is(.wp-block-heading,p,li,figcaption) :is(mark,span[style],a[style]){color:var(--c4c-foreground,var(--fg,var(--wp--preset--color--ink)))!important}
.c4c-content-section :is(.wp-block-group,.wp-block-heading,p,.wp-block-list,.wp-block-table).has-background{background:transparent!important}
.c4c-content-section :is(p,.wp-block-heading).has-background{padding:0}
.c4c-content-section :where(.wp-block-table){overflow-x:auto}
.c4c-content-section [data-editor-hidden="true"],.c4c-content-section[data-editor-hidden="true"]{opacity:.6}
:is(.c4c-content-section,.wp-block-c4c-content-region)[data-arrangement="stacked"]{display:grid;grid-template-columns:minmax(0,1fr)}
:is(.c4c-content-section,.wp-block-c4c-content-region)[data-arrangement="split"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--wp--preset--spacing--column-gap)}
:is(.c4c-content-section,.wp-block-c4c-content-region)[data-arrangement="grid"]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--wp--preset--spacing--md)}
:is(.c4c-content-section,.wp-block-c4c-content-region)[data-arrangement="grid"][data-columns="1"]{grid-template-columns:minmax(0,1fr)}
:is(.c4c-content-section,.wp-block-c4c-content-region)[data-arrangement="grid"][data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
:is(.c4c-content-section,.wp-block-c4c-content-region)[data-arrangement="grid"][data-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
.c4c-content-section :where(.block-list-appender){grid-column:1/-1}
.c4c-refinement .v5-page .c4c-content-media-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--gap);align-items:stretch}
.c4c-content-media-layout>.c4c-content-media-copy{min-width:0;grid-column:1;grid-row:1}
.c4c-content-media-layout>.c4c-content-media-visual{min-width:0;grid-column:2;grid-row:1;display:grid;align-content:center}
.c4c-content-media-copy :is(.section-copy,.section-content){display:block;grid-column:auto}
.c4c-content-media-copy>.section-content:empty{display:none}
.c4c-content-media-layout[data-image-position="left"]>.c4c-content-media-copy{grid-column:2}
.c4c-content-media-layout[data-image-position="left"]>.c4c-content-media-visual{grid-column:1}
.c4c-refinement .v5-page .c4c-content-media-layout:is([data-image-position="top"],[data-image-position="bottom"]){grid-template-columns:minmax(0,1fr)}
.c4c-content-media-layout:is([data-image-position="top"],[data-image-position="bottom"])>.c4c-content-media-copy{grid-column:1;grid-row:1}
.c4c-content-media-layout:is([data-image-position="top"],[data-image-position="bottom"])>.c4c-content-media-visual{grid-column:1;grid-row:2}
.c4c-content-media-layout[data-image-position="top"]>.c4c-content-media-copy{grid-row:2}
.c4c-content-media-layout[data-image-position="top"]>.c4c-content-media-visual{grid-row:1}
.c4c-refinement .v5-page .c4c-content-section[data-arrangement="stacked"]{display:flex;flex-direction:column;align-items:stretch}
.c4c-refinement .v5-page .c4c-content-section[data-arrangement="split"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.c4c-refinement .v5-page .c4c-content-section[data-arrangement="grid"]{display:grid;grid-template-columns:repeat(var(--c4c-content-columns,3),minmax(0,1fr))}
.c4c-content-section[data-columns="1"]{--c4c-content-columns:1}
.c4c-content-section[data-columns="2"]{--c4c-content-columns:2}
.c4c-content-section[data-columns="4"]{--c4c-content-columns:4}
.c4c-content-section:not([data-arrangement="approved"])>*{grid-column:auto;grid-row:auto;min-width:0}
@media(max-width:767px){
  :is(.c4c-content-section,.wp-block-c4c-content-region)[data-arrangement]:not([data-arrangement="approved"]){grid-template-columns:minmax(0,1fr)}
  .c4c-refinement .v5-page .c4c-content-section:is([data-arrangement="split"],[data-arrangement="grid"]),.c4c-refinement .v5-page .c4c-content-media-layout{grid-template-columns:minmax(0,1fr)}
  .c4c-content-media-layout>.c4c-content-media-copy,.c4c-content-media-layout>.c4c-content-media-visual,.c4c-content-media-layout[data-image-position="left"]>.c4c-content-media-copy,.c4c-content-media-layout[data-image-position="left"]>.c4c-content-media-visual{grid-column:1;grid-row:auto}
}

/* Explicit choices override source compositions in both the canvas and public
   page. Approved composition deliberately keeps the original source rules. */
:is(.c4c-content-section,.wp-block-c4c-content-region)[data-arrangement]:not([data-arrangement="approved"]){display:grid!important;gap:var(--wp--preset--spacing--md);align-items:start}
:is(.c4c-content-section,.wp-block-c4c-content-region)[data-arrangement="stacked"]{grid-template-columns:minmax(0,1fr)!important}
:is(.c4c-content-section,.wp-block-c4c-content-region)[data-arrangement="split"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
:is(.c4c-content-section,.wp-block-c4c-content-region)[data-arrangement="grid"]{grid-template-columns:repeat(var(--c4c-content-columns,3),minmax(0,1fr))!important}
[data-columns="1"]{--c4c-content-columns:1}[data-columns="2"]{--c4c-content-columns:2}[data-columns="3"]{--c4c-content-columns:3}[data-columns="4"]{--c4c-content-columns:4}
:is(.c4c-content-section,.wp-block-c4c-content-region)[data-arrangement]:not([data-arrangement="approved"])>*{grid-area:auto!important;min-width:0;max-width:100%}
.c4c-content-section.c4c-content-media-layout{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:var(--wp--preset--spacing--column-gap);align-items:start}
.c4c-content-section.c4c-content-media-layout:is([data-image-position="top"],[data-image-position="bottom"]){grid-template-columns:minmax(0,1fr)!important}
.c4c-content-section .c4c-content-media-origin{display:none!important}
.c4c-content-media-copy :is(.section-content,.section-copy,.c4c-v4-media-copy){display:block!important;grid-area:auto!important}
.c4c-content-media-copy :is(.section-media,.section-media-layout,.c4c-v4-media-visual):not(:has(img,video,p,h2,h3,figcaption)){display:none!important}
.c4c-content-media-visual>figure{margin:0}
.c4c-content-section.c4c-content-media-layout:not(:has(>.c4c-content-media-visual)){grid-template-columns:minmax(0,1fr)!important}
.c4c-content-section.c4c-section-compact{padding-block:var(--wp--preset--spacing--lg)!important}
.c4c-content-section.c4c-section-narrow :is(p,.wp-block-list){max-width:52ch!important}
.c4c-content-section.c4c-hero-scale-compact{min-height:0!important;padding-block:var(--wp--preset--spacing--lg)!important}
.c4c-content-section.c4c-hero-scale-cinematic{min-height:42rem!important;padding-block:var(--wp--preset--spacing--xl)!important}
.c4c-content-section.c4c-hero-align-center :is(.hero-copy,.hero-title,h1){text-align:center!important}
.c4c-content-section.c4c-hero-align-center :is(.hero-copy>p,h1){margin-inline:auto}
.c4c-content-section.c4c-hero-align-left :is(.hero-copy,.hero-title,h1){text-align:left!important}
.c4c-content-section[data-c4c-accent="champion-gold"]{--line:var(--wp--preset--color--champion-gold)}
.c4c-content-section[data-c4c-accent="champagne"]{--line:var(--wp--preset--color--champagne)}
.c4c-content-section[data-c4c-accent="wave-teal"]{--line:var(--wp--preset--color--wave-teal)}
.c4c-content-section[data-c4c-accent="bronze-shadow"]{--line:var(--wp--preset--color--bronze-shadow)}
.c4c-content-section[data-c4c-accent]:not([data-c4c-accent="auto"]){border-block-start:2px solid var(--line)}
/* These native patterns also work outside a generated .v5-page wrapper. */
.c4c-content-section.composition-capabilities .composition-capability-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:32px;align-items:center}
.c4c-content-section.composition-capabilities .composition-capability-copy{grid-column:1;grid-row:1;min-width:0}
.c4c-content-section.composition-capabilities .composition-logo-item{grid-column:2;grid-row:1;min-width:0;background:var(--wp--preset--color--white);padding:20px}
.c4c-content-section.composition-capabilities .composition-logo-item img{display:block;width:100%;height:96px;max-width:280px;object-fit:contain;margin:auto}
.c4c-content-section.composition-logos-left .composition-capability-item{grid-template-columns:minmax(220px,320px) minmax(0,1fr)}
.c4c-content-section.composition-logos-left .composition-capability-copy{grid-column:2}
.c4c-content-section.composition-logos-left .composition-logo-item{grid-column:1}
.c4c-content-section.composition-capabilities .composition-capability-item:not(:has(.composition-logo-item)){grid-template-columns:minmax(0,1fr)}
.c4c-content-section [data-caption-hidden="true"] figcaption{display:none!important}
.c4c-content-section .block-editor-block-list__block.wp-block-image img{object-fit:var(--c4c-image-fit,cover)!important;object-position:var(--c4c-image-position,50% 50%)!important}
/* Appenders participate in the editor layout. Absolute parent appenders can
   otherwise cover a nested collection's Add item control. */
.editor-styles-wrapper :is(.c4c-content-section,.wp-block-c4c-content-region)>.block-list-appender{position:relative!important;inset:auto!important;grid-column:1/-1!important;width:100%;min-height:32px;margin-block-start:12px}
@media(max-width:767px){
  .c4c-content-section.composition-capabilities .composition-capability-item{grid-template-columns:minmax(0,1fr)}
  .c4c-content-section.composition-capabilities :is(.composition-capability-copy,.composition-logo-item){grid-column:1;grid-row:auto}
  :is(.c4c-content-section,.wp-block-c4c-content-region)[data-arrangement]:not([data-arrangement="approved"]),.c4c-content-section.c4c-content-media-layout{grid-template-columns:minmax(0,1fr)!important}
  .c4c-content-section.c4c-content-media-layout>.c4c-content-media-copy,.c4c-content-section.c4c-content-media-layout>.c4c-content-media-visual{grid-column:1!important;grid-row:auto}
  .c4c-content-section.c4c-content-media-layout[data-image-position="top"]>.c4c-content-media-visual{grid-row:1}
  .c4c-content-section.c4c-content-media-layout[data-image-position="top"]>.c4c-content-media-copy{grid-row:2}
  .c4c-content-section.c4c-hero-scale-cinematic{min-height:0!important}
}
/* Structure pass (docs/v5-structure-decisions.md): a merged sub-section and a section title
   outside a copy group keep the shared section-title scale and spacing. */
.v5-page :is(.c4c-merged-section,.legal-status)>:is(h2,.c4c-h2){font-size:var(--type-section,clamp(2rem,3.5vw,3.5rem));line-height:1.12;max-width:23ch}
.v5-page .c4c-merged-section{margin-top:clamp(56px,7vw,100px)}
.v5-page .c4c-merged-section>:is(h2,.c4c-h2){margin-bottom:32px}
/* Editor canvas matches the public page: content hidden from the website collapses until its
   section is selected. It stays in List View and reappears, dimmed, when the section is selected. */
.editor-styles-wrapper .c4c-content-section:not(.is-selected,.has-child-selected) [data-editor-hidden="true"]:not(.is-selected,.has-child-selected){display:none!important}
/* Feature previews: the editor wraps the server-rendered feature in its block wrapper, which
   becomes the grid item. Give it the full row its public root takes, and show the editing
   hint only while the block is selected. */
.editor-styles-wrapper .c4c-content-section [data-type^="c4c/"]:not([data-type^="c4c/content-"],[data-type^="c4c/design-"]){display:block!important;grid-column:1/-1;min-width:0}
.editor-styles-wrapper [data-type^="c4c/"]:not(.is-selected)>.c4c-feature-hint{display:none}
/* Privacy, cookie and accessibility pages */
.v5-legal .c4c-content-section:not(.page-hero) .wp-block-heading{margin-block:0 1rem}
.v5-legal .c4c-content-section:not(.page-hero) h3.wp-block-heading{margin-block-start:2rem}
.v5-legal .c4c-content-section:not(.page-hero) :is(p,.wp-block-list,.wp-block-table){margin-block:0 1rem}
.v5-legal .c4c-legal-draft-note{border-top:3px solid var(--wp--preset--color--bronze-shadow);background:var(--wp--preset--color--parchment);padding:1rem 1.25rem}
.v5-legal .c4c-legal-draft-note p{margin:0}
.v5-legal .c4c-legal-placeholder{background:var(--wp--preset--color--champagne);color:var(--wp--preset--color--ink);padding:0 .2em}
.v5-legal .c4c-privacy-preferences>button{min-height:44px;padding:.75rem 1.25rem;border:1px solid currentColor;text-decoration:none;margin-block-end:1rem}
.v5-legal .wp-block-table table{min-width:40rem}
.v5-legal :is(p,li){overflow-wrap:anywhere}
/* Section layout pass (docs/v5-section-audit.md): the structural rules that survive the Impact
   Report redesign. Empty groups reserve no space; the visual layout lives in blocks/v5-report.css. */
:is(.c4c-refinement,.editor-styles-wrapper) :is(.v5-page,.is-preview-mode) .c4c-content-section.composition-section:not(.v5-chapter-opening)>.section-content:empty{display:none}
:is(.c4c-refinement,.editor-styles-wrapper) :is(.v5-page,.is-preview-mode) .composition-capability-item>.composition-capability-copy:not(:has(:is(h3,p,a))){display:none}
:is(.c4c-refinement,.editor-styles-wrapper) :is(.v5-page,.is-preview-mode) .composition-home-capabilities .capability-grid>article>:not(:has(.partner-logo,img)):not(.partner-logo){display:none}
/* P4: two-column data tables become stacked cards on phones, as the Metric framework does; the
   header row stays visible as real text and the table keeps its semantics. */
@media(max-width:599px){
  :is(.c4c-refinement,.editor-styles-wrapper) :is(.v5-page,.is-preview-mode):not(.v5-legal) .c4c-content-section:not(#impact-metric-framework) .brief-table :is(table,thead,tbody,tr,th,td){display:block;width:100%;box-sizing:border-box}
  :is(.c4c-refinement,.editor-styles-wrapper) :is(.v5-page,.is-preview-mode):not(.v5-legal) .c4c-content-section:not(#impact-metric-framework) .brief-table thead tr{padding:14px 20px}
  :is(.c4c-refinement,.editor-styles-wrapper) :is(.v5-page,.is-preview-mode):not(.v5-legal) .c4c-content-section:not(#impact-metric-framework) .brief-table thead :is(th,td){padding:0;border:0}
  :is(.c4c-refinement,.editor-styles-wrapper) :is(.v5-page,.is-preview-mode):not(.v5-legal) .c4c-content-section:not(#impact-metric-framework) .brief-table thead td:empty{display:none}
  :is(.c4c-refinement,.editor-styles-wrapper) :is(.v5-page,.is-preview-mode):not(.v5-legal) .c4c-content-section:not(#impact-metric-framework) .brief-table tbody tr{margin:0 0 16px;border:1px solid var(--line)}
  :is(.c4c-refinement,.editor-styles-wrapper) :is(.v5-page,.is-preview-mode):not(.v5-legal) .c4c-content-section:not(#impact-metric-framework) .brief-table tbody :is(th,td){border:0;padding:16px 20px 0}
  :is(.c4c-refinement,.editor-styles-wrapper) :is(.v5-page,.is-preview-mode):not(.v5-legal) .c4c-content-section:not(#impact-metric-framework) .brief-table tbody td{padding-bottom:16px}
}
