/* Product4: colour-led, editable presentation based on the former site and PPT. */

body.heritage-page-slug--product4 {
    --p4-blue: #0f75bb;
    --p4-blue-dark: #244e8d;
    --p4-blue-soft: #edf5fb;
    --p4-teal: #3f9f9b;
    --p4-teal-dark: #246b68;
    --p4-teal-soft: #eaf7f5;
    --p4-green: #7da33f;
    --p4-green-dark: #4f692a;
    --p4-green-soft: #f1f6e8;
    --p4-yellow: #d8a820;
    --p4-yellow-dark: #795d16;
    --p4-yellow-soft: #fff8df;
    --p4-coral: #d87564;
    --p4-coral-dark: #874438;
    --p4-coral-soft: #fff0ed;
    --p4-ink: #263f4a;
    --p4-copy: #4d626c;
}

body.heritage-page-slug--product4 .topic-title-row {
    align-items: center;
}

body.heritage-page-slug--product4 .topic-sdgs {
    margin-left: auto;
}

body.heritage-page-slug--product4 .topic-sdgs .topic-sdg {
    width: 48px;
    height: 48px;
    filter: drop-shadow(0 4px 8px rgb(31 73 91 / 12%));
}

body.heritage-page-slug--product4 .report-module-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(32px, 4vw, 52px) 24px;
    margin-top: 30px;
}

body.heritage-page-slug--product4 .report-module-list > .report-module-anchor {
    grid-column: 1 / -1;
}

body.heritage-page-slug--product4 .report-module-list > :is(
    #original-supplier-evaluation-preserved,
    #original-supplier-risk-method-preserved,
    #ppt-2025-slide-48-environment-table,
    #ppt-2025-slide-48-social-table
) {
    grid-column: auto;
}

body.heritage-page-slug--product4 .report-module-list .report-module > .report-module__header {
    margin-bottom: 20px;
    padding: 15px 18px;
    border: 1px solid #cfe1ec;
    border-left: 5px solid var(--p4-blue);
    border-radius: 6px;
    background: linear-gradient(90deg, #e7f3fa 0%, #f7fbfd 100%);
}

body.heritage-page-slug--product4 .report-module-list .report-module__title {
    color: var(--p4-blue-dark);
    font-size: clamp(1.22rem, 1.06rem + .42vw, 1.5rem);
    font-weight: 750;
    line-height: 1.5;
}

body.heritage-page-slug--product4 .report-module-list .report-module__title svg {
    color: currentColor;
}

/* Evergreen copy retained from the former page. */
body.heritage-page-slug--product4 #original-supplier-intro-preserved .report-module {
    padding: clamp(20px, 2.4vw, 28px);
    border: 1px solid #c6dfed;
    border-left: 6px solid var(--p4-blue);
    border-radius: 8px;
    background: linear-gradient(135deg, #f4fafd 0%, #eaf5fb 100%);
    box-shadow: 0 10px 24px rgb(36 78 141 / 8%);
}

body.heritage-page-slug--product4 #original-supplier-intro-preserved .report-richtext {
    color: #385663;
    font-size: 17px;
    line-height: 1.9;
}

body.heritage-page-slug--product4 #original-supplier-intro-preserved p {
    margin: 0;
}

/* Four-colour KPI row echoes the former site's category cards. */
body.heritage-page-slug--product4 #ppt-2025-slide-45-source-kpis .report-kpi__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    border: 0;
}

body.heritage-page-slug--product4 #ppt-2025-slide-45-source-kpis .report-kpi__item {
    --p4-card-accent: var(--p4-blue);
    --p4-card-soft: var(--p4-blue-soft);
    display: flex;
    min-height: 176px;
    flex-direction: column;
    gap: 14px;
    align-items: flex-start;
    padding: 20px 18px;
    border: 1px solid color-mix(in srgb, var(--p4-card-accent) 35%, #fff);
    border-top: 6px solid var(--p4-card-accent);
    border-radius: 9px;
    background: linear-gradient(155deg, var(--p4-card-soft) 0%, #fff 88%);
    box-shadow: 0 10px 22px rgb(31 73 91 / 8%);
}

body.heritage-page-slug--product4 #ppt-2025-slide-45-source-kpis .report-kpi__item:nth-child(1) {
    --p4-card-accent: var(--p4-yellow);
    --p4-card-soft: var(--p4-yellow-soft);
}

body.heritage-page-slug--product4 #ppt-2025-slide-45-source-kpis .report-kpi__item:nth-child(2) {
    --p4-card-accent: var(--p4-teal);
    --p4-card-soft: var(--p4-teal-soft);
}

body.heritage-page-slug--product4 #ppt-2025-slide-45-source-kpis .report-kpi__item:nth-child(3) {
    --p4-card-accent: var(--p4-green);
    --p4-card-soft: var(--p4-green-soft);
}

body.heritage-page-slug--product4 #ppt-2025-slide-45-source-kpis .report-kpi__item:nth-child(4) {
    --p4-card-accent: var(--p4-blue);
    --p4-card-soft: var(--p4-blue-soft);
}

body.heritage-page-slug--product4 #ppt-2025-slide-45-source-kpis .report-kpi__icon-wrap {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 50%;
    background: #fff;
    color: var(--p4-card-accent);
    box-shadow: 0 5px 13px color-mix(in srgb, var(--p4-card-accent) 20%, transparent);
}

body.heritage-page-slug--product4 #ppt-2025-slide-45-source-kpis .report-kpi__icon {
    width: 25px;
    height: 25px;
}

body.heritage-page-slug--product4 #ppt-2025-slide-45-source-kpis .report-kpi__content {
    width: 100%;
}

body.heritage-page-slug--product4 #ppt-2025-slide-45-source-kpis .report-kpi__content h4 {
    min-height: 0;
    margin: 0 0 7px;
    color: var(--p4-ink);
    font-size: 14px;
    line-height: 1.55;
}

body.heritage-page-slug--product4 #ppt-2025-slide-45-source-kpis .report-kpi__value strong {
    color: var(--p4-card-accent);
    font-size: clamp(1.65rem, 1.35rem + .65vw, 2.05rem);
    font-weight: 800;
    line-height: 1.15;
}

body.heritage-page-slug--product4 #ppt-2025-slide-45-source-kpis .report-kpi__content p {
    margin: 9px 0 0;
    color: var(--p4-copy);
    font-size: 14px;
    line-height: 1.6;
}

/* Paired editorial cards. */
body.heritage-page-slug--product4 :is(
    #ppt-2025-slide-45-copy,
    #ppt-2025-slide-46-copy,
    #ppt-2025-slide-48-copy
) .ppt-editorial__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

body.heritage-page-slug--product4 :is(
    #ppt-2025-slide-45-copy,
    #ppt-2025-slide-46-copy,
    #ppt-2025-slide-48-copy
) .ppt-editorial__block {
    grid-column: auto;
    min-height: 100%;
    padding: 22px 23px;
    border: 1px solid #cfe1ec;
    border-top: 5px solid var(--p4-blue);
    border-radius: 8px;
    background: var(--p4-blue-soft);
}

body.heritage-page-slug--product4 #ppt-2025-slide-45-copy .ppt-editorial__block:nth-child(2),
body.heritage-page-slug--product4 #ppt-2025-slide-48-copy .ppt-editorial__block:nth-child(1) {
    border-color: #bfded4;
    border-top-color: var(--p4-green);
    background: var(--p4-green-soft);
}

body.heritage-page-slug--product4 #ppt-2025-slide-46-copy .ppt-editorial__block:nth-child(1),
body.heritage-page-slug--product4 #ppt-2025-slide-48-copy .ppt-editorial__block:nth-child(2) {
    border-color: #efd1ca;
    border-top-color: var(--p4-coral);
    background: var(--p4-coral-soft);
}

body.heritage-page-slug--product4 #ppt-2025-slide-46-copy .ppt-editorial__block:nth-child(2) {
    border-color: #bfe1df;
    border-top-color: var(--p4-teal);
    background: var(--p4-teal-soft);
}

body.heritage-page-slug--product4 :is(
    #ppt-2025-slide-45-copy,
    #ppt-2025-slide-46-copy,
    #ppt-2025-slide-48-copy
) .ppt-editorial__block h4 {
    color: var(--p4-ink);
    font-size: 18px;
}

body.heritage-page-slug--product4 :is(
    #ppt-2025-slide-45-copy,
    #ppt-2025-slide-46-copy,
    #ppt-2025-slide-48-copy
) .ppt-editorial__block p {
    color: var(--p4-copy);
    font-size: 15.5px;
    line-height: 1.85;
}

/* Supplier action flow: lead statement followed by paired label/content rows. */
body.heritage-page-slug--product4 #ppt-2025-slide-47-copy .ppt-editorial__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 14px 18px;
}

body.heritage-page-slug--product4 #ppt-2025-slide-47-copy .ppt-editorial__block {
    margin: 0;
    padding: 19px 21px;
    border: 1px solid #d4e4e9;
    border-radius: 7px;
    background: #fff;
}

body.heritage-page-slug--product4 #ppt-2025-slide-47-copy .ppt-editorial__block:nth-child(1) {
    grid-column: 1 / -1;
    border-color: #bcd8ea;
    border-top: 5px solid var(--p4-blue);
    background: linear-gradient(90deg, var(--p4-blue-soft), #f8fbfd);
}

body.heritage-page-slug--product4 #ppt-2025-slide-47-copy .ppt-editorial__block:nth-child(2),
body.heritage-page-slug--product4 #ppt-2025-slide-47-copy .ppt-editorial__block:nth-child(4),
body.heritage-page-slug--product4 #ppt-2025-slide-47-copy .ppt-editorial__block:nth-child(6) {
    grid-column: 1 / span 4;
    display: grid;
    align-content: center;
    border: 0;
    border-left: 5px solid var(--p4-yellow);
    background: var(--p4-yellow-soft);
    color: var(--p4-yellow-dark);
    font-weight: 750;
}

body.heritage-page-slug--product4 #ppt-2025-slide-47-copy .ppt-editorial__block:nth-child(4) {
    border-left-color: var(--p4-teal);
    background: var(--p4-teal-soft);
}

body.heritage-page-slug--product4 #ppt-2025-slide-47-copy .ppt-editorial__block:nth-child(6) {
    border-left-color: var(--p4-green);
    background: var(--p4-green-soft);
}

body.heritage-page-slug--product4 #ppt-2025-slide-47-copy .ppt-editorial__block:nth-child(3),
body.heritage-page-slug--product4 #ppt-2025-slide-47-copy .ppt-editorial__block:nth-child(5),
body.heritage-page-slug--product4 #ppt-2025-slide-47-copy .ppt-editorial__block:nth-child(7) {
    grid-column: 5 / -1;
}

body.heritage-page-slug--product4 #ppt-2025-slide-47-copy .ppt-editorial__block h4,
body.heritage-page-slug--product4 #ppt-2025-slide-47-copy .ppt-editorial__block p {
    font-size: 15.5px;
    line-height: 1.8;
}

/* Former-site policy details retained as two colour-coded cards. */
body.heritage-page-slug--product4 :is(
    #original-supplier-evaluation-preserved,
    #original-supplier-risk-method-preserved
) .report-module {
    height: 100%;
    padding: 0 22px 23px;
    border: 1px solid #d4e5ea;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 9px 22px rgb(31 73 91 / 7%);
}

body.heritage-page-slug--product4 #original-supplier-evaluation-preserved .report-module > .report-module__header {
    margin-inline: -22px;
    border-color: #bde0de;
    border-left-color: var(--p4-teal);
    background: var(--p4-teal-soft);
}

body.heritage-page-slug--product4 #original-supplier-risk-method-preserved .report-module > .report-module__header {
    margin-inline: -22px;
    border-color: #eadcaa;
    border-left-color: var(--p4-yellow);
    background: var(--p4-yellow-soft);
}

body.heritage-page-slug--product4 :is(
    #original-supplier-evaluation-preserved,
    #original-supplier-risk-method-preserved
) .report-richtext {
    color: var(--p4-copy);
    font-size: 15.5px;
    line-height: 1.85;
}

/* The long target table stays a real table with a coloured header and scroll. */
body.heritage-page-slug--product4 #ppt-2025-slide-46-table-1 {
    --table-v2-border: #bfd9e9;
    --table-v2-header-bg: var(--p4-blue);
    --table-v2-header-fg: #fff;
    --table-v2-subheader-bg: #dcecf7;
    --table-v2-subheader-fg: var(--p4-blue-dark);
    --table-v2-row-alt: #f3f8fc;
    --table-v2-accent: var(--p4-blue);
}

body.heritage-page-slug--product4 #ppt-2025-slide-46-table-1 .table-v2-shell {
    margin: 0;
}

body.heritage-page-slug--product4 #ppt-2025-slide-46-table-1 .table-v2-scroll {
    border: 1px solid #b7d4e7;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgb(36 78 141 / 8%);
}

body.heritage-page-slug--product4 #ppt-2025-slide-46-table-1 .table-v2-table {
    min-width: 940px;
}

body.heritage-page-slug--product4 #ppt-2025-slide-46-table-1 .table-v2-row--header .table-v2-cell {
    background: var(--p4-blue);
    color: #fff;
    font-weight: 750;
}

body.heritage-page-slug--product4 #ppt-2025-slide-46-table-1 tbody .table-v2-cell:nth-child(4) {
    color: #497b2d;
    font-weight: 800;
}

body.heritage-page-slug--product4 #ppt-2025-supplier-target-notes .report-module {
    padding: 17px 20px;
    border-left: 5px solid var(--p4-green);
    border-radius: 5px;
    background: #f6f9f1;
}

body.heritage-page-slug--product4 #ppt-2025-supplier-target-notes .report-richtext {
    font-size: 14px;
    line-height: 1.75;
}

/* Risk tables use the former site's environmental-green/social-orange coding. */
body.heritage-page-slug--product4 :is(
    #ppt-2025-slide-48-environment-table,
    #ppt-2025-slide-48-social-table
) .report-module {
    height: 100%;
    padding: 0 18px 20px;
    border: 1px solid var(--table-v2-border);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 9px 22px rgb(31 73 91 / 7%);
}

body.heritage-page-slug--product4 #ppt-2025-slide-48-environment-table {
    --table-v2-border: #cbdca7;
    --table-v2-header-bg: #6f9138;
    --table-v2-header-fg: #fff;
    --table-v2-row-alt: #f4f8ec;
    --table-v2-accent: var(--p4-green);
}

body.heritage-page-slug--product4 #ppt-2025-slide-48-social-table {
    --table-v2-border: #efcabe;
    --table-v2-header-bg: #c45f4d;
    --table-v2-header-fg: #fff;
    --table-v2-row-alt: #fff4f1;
    --table-v2-accent: var(--p4-coral);
}

body.heritage-page-slug--product4 #ppt-2025-slide-48-environment-table .report-module > .report-module__header,
body.heritage-page-slug--product4 #ppt-2025-slide-48-social-table .report-module > .report-module__header {
    margin-inline: -18px;
}

body.heritage-page-slug--product4 #ppt-2025-slide-48-environment-table .report-module > .report-module__header {
    border-color: #cbdca7;
    border-left-color: var(--p4-green);
    background: var(--p4-green-soft);
}

body.heritage-page-slug--product4 #ppt-2025-slide-48-social-table .report-module > .report-module__header {
    border-color: #efcabe;
    border-left-color: var(--p4-coral);
    background: var(--p4-coral-soft);
}

body.heritage-page-slug--product4 :is(
    #ppt-2025-slide-48-environment-table,
    #ppt-2025-slide-48-social-table
) .table-v2-shell {
    margin: 0;
}

body.heritage-page-slug--product4 :is(
    #ppt-2025-slide-48-environment-table,
    #ppt-2025-slide-48-social-table
) .table-v2-scroll {
    border-radius: 6px;
}

body.heritage-page-slug--product4 :is(
    #ppt-2025-slide-48-environment-table,
    #ppt-2025-slide-48-social-table
) .table-v2-table {
    min-width: 100%;
}

body.heritage-page-slug--product4 :is(
    #ppt-2025-slide-48-environment-table,
    #ppt-2025-slide-48-social-table
) .table-v2-cell {
    text-align: center;
}

body.heritage-page-slug--product4 :is(
    #ppt-2025-slide-48-environment-table,
    #ppt-2025-slide-48-social-table
) tbody th.table-v2-cell {
    text-align: left;
    font-weight: 700;
}

body.heritage-page-slug--product4 :is(
    #ppt-2025-slide-48-environment-table,
    #ppt-2025-slide-48-social-table
) tbody tr:nth-child(1) th.table-v2-cell {
    background: #e8f5e4;
    color: #34743a;
}

body.heritage-page-slug--product4 :is(
    #ppt-2025-slide-48-environment-table,
    #ppt-2025-slide-48-social-table
) tbody tr:nth-child(2) th.table-v2-cell {
    background: #fff1bf;
    color: #805f00;
}

body.heritage-page-slug--product4 :is(
    #ppt-2025-slide-48-environment-table,
    #ppt-2025-slide-48-social-table
) tbody tr:nth-child(3) th.table-v2-cell {
    background: #fbe0e4;
    color: #9d3344;
}

/* Local procurement remains editable and receives two distinct colour panels. */
body.heritage-page-slug--product4 #ppt-2025-local-procurement .social-groups__list {
    gap: 18px;
}

body.heritage-page-slug--product4 #ppt-2025-local-procurement .social-groups__item {
    padding: 22px;
    border: 1px solid #bedfdc;
    border-top: 6px solid var(--p4-teal);
    border-radius: 8px;
    background: linear-gradient(150deg, var(--p4-teal-soft), #fff 86%);
    box-shadow: 0 9px 22px rgb(31 73 91 / 7%);
}

body.heritage-page-slug--product4 #ppt-2025-local-procurement .social-groups__item:nth-child(2) {
    border-color: #cadba7;
    border-top-color: var(--p4-green);
    background: linear-gradient(150deg, var(--p4-green-soft), #fff 86%);
}

body.heritage-page-slug--product4 #ppt-2025-local-procurement .social-groups__icon {
    color: var(--p4-teal-dark);
}

body.heritage-page-slug--product4 #ppt-2025-local-procurement .social-groups__item:nth-child(2) .social-groups__icon {
    color: var(--p4-green-dark);
}

body.heritage-page-slug--product4 #ppt-2025-local-procurement .social-groups__item h4 {
    color: var(--p4-ink);
    font-size: 18px;
}

body.heritage-page-slug--product4 #ppt-2025-local-procurement .social-groups__item p {
    color: var(--p4-copy);
    font-size: 15.5px;
    line-height: 1.9;
}

@media (hover: hover) {
    body.heritage-page-slug--product4 :is(
        .report-kpi__item,
        .ppt-editorial__block,
        #original-supplier-evaluation-preserved .report-module,
        #original-supplier-risk-method-preserved .report-module,
        #ppt-2025-slide-48-environment-table .report-module,
        #ppt-2025-slide-48-social-table .report-module,
        #ppt-2025-local-procurement .social-groups__item
    ):hover {
        transform: translateY(-2px);
        box-shadow: 0 13px 28px rgb(31 73 91 / 11%);
    }
}

/* Keep paired detail cards readable once the left navigation narrows the page. */
@media (max-width: 1279.98px) {
    body.heritage-page-slug--product4 .report-module-list > :is(
        #original-supplier-evaluation-preserved,
        #original-supplier-risk-method-preserved,
        #ppt-2025-slide-48-environment-table,
        #ppt-2025-slide-48-social-table
    ) {
        grid-column: 1 / -1;
    }
}

@media (max-width: 991.98px) {
    body.heritage-page-slug--product4 #ppt-2025-slide-45-source-kpis .report-kpi__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.heritage-page-slug--product4 #ppt-2025-slide-45-source-kpis .report-kpi__item {
        min-height: 156px;
    }
}

@media (max-width: 767.98px) {
    body.heritage-page-slug--product4 .topic-sdgs {
        width: 100%;
        margin-left: 0;
    }

    body.heritage-page-slug--product4 .topic-sdgs .topic-sdg {
        width: 38px;
        height: 38px;
    }

    body.heritage-page-slug--product4 .report-module-list {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }

    body.heritage-page-slug--product4 .report-module-list > :is(
        #original-supplier-evaluation-preserved,
        #original-supplier-risk-method-preserved,
        #ppt-2025-slide-48-environment-table,
        #ppt-2025-slide-48-social-table
    ) {
        grid-column: 1;
    }

    body.heritage-page-slug--product4 :is(
        #ppt-2025-slide-45-copy,
        #ppt-2025-slide-46-copy,
        #ppt-2025-slide-48-copy
    ) .ppt-editorial__grid,
    body.heritage-page-slug--product4 #ppt-2025-local-procurement .social-groups__list {
        grid-template-columns: minmax(0, 1fr);
    }

    body.heritage-page-slug--product4 #ppt-2025-slide-47-copy .ppt-editorial__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body.heritage-page-slug--product4 #ppt-2025-slide-47-copy .ppt-editorial__block:nth-child(n) {
        grid-column: 1;
    }

    body.heritage-page-slug--product4 #ppt-2025-slide-47-copy .ppt-editorial__block:nth-child(2),
    body.heritage-page-slug--product4 #ppt-2025-slide-47-copy .ppt-editorial__block:nth-child(4),
    body.heritage-page-slug--product4 #ppt-2025-slide-47-copy .ppt-editorial__block:nth-child(6) {
        padding-block: 14px;
    }

    body.heritage-page-slug--product4 #ppt-2025-slide-46-table-1 .table-v2-scroll {
        box-shadow: none;
    }

    body.heritage-page-slug--product4 :is(
        #ppt-2025-slide-48-environment-table,
        #ppt-2025-slide-48-social-table
    ) .table-v2-table {
        font-size: 13.5px;
    }

    body.heritage-page-slug--product4 :is(
        #ppt-2025-slide-48-environment-table,
        #ppt-2025-slide-48-social-table
    ) .table-v2-cell {
        min-width: 0;
        padding: 10px 8px;
    }
}

@media (max-width: 575.98px) {
    body.heritage-page-slug--product4 .report-module-list .report-module > .report-module__header {
        padding: 13px 15px;
    }

    body.heritage-page-slug--product4 #ppt-2025-slide-45-source-kpis .report-kpi__item {
        min-height: 0;
        padding: 16px 14px;
    }

    body.heritage-page-slug--product4 :is(
        #ppt-2025-slide-45-copy,
        #ppt-2025-slide-46-copy,
        #ppt-2025-slide-48-copy
    ) .ppt-editorial__block,
    body.heritage-page-slug--product4 #ppt-2025-slide-47-copy .ppt-editorial__block {
        padding: 18px;
    }
}

@media (max-width: 339.98px) {
    body.heritage-page-slug--product4 #ppt-2025-slide-45-source-kpis .report-kpi__list {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    body.heritage-page-slug--product4 :is(
        .report-kpi__item,
        .ppt-editorial__block,
        .report-module,
        .social-groups__item
    ) {
        transition: none;
    }
}

@media print {
    body.heritage-page-slug--product4 .report-module-list {
        display: block;
    }

    body.heritage-page-slug--product4 .report-module-anchor {
        margin-bottom: 24px;
        break-inside: avoid;
    }

    body.heritage-page-slug--product4 .table-v2-scroll {
        overflow: visible;
        box-shadow: none;
    }
}
