/* Clear levels: territory, province, programme, project. */
.dpf-public .dpf-level-heading { display: grid; gap: 6px; min-width: 0; }
.dpf-public .dpf-level-heading > small { color: inherit; font: 700 10px/1.2 Arial,sans-serif; letter-spacing: .13em; text-transform: uppercase; }
.dpf-public .dpf-level-heading > .dpf-public-group-title { color: inherit; font: 700 clamp(21px,2.1vw,26px)/1.2 Arial,sans-serif; letter-spacing: normal; }
.dpf-public .dpf-public-group { border-top: 0; box-shadow: none; }
.dpf-public .dpf-public-group > summary { background: var(--dpf-blue-dark); color: #fff; padding: 20px 24px; }
.dpf-public .dpf-public-group > summary:hover { background: #003f60; }
.dpf-public .dpf-public-group > summary::after { color: #fff; }
.dpf-public .dpf-public-group-meta { height: auto; padding: 8px 13px; background: #fff !important; color: var(--dpf-blue-dark); font-size: 12px; }
.dpf-public .dpf-public-group-meta .dpf-count-word { white-space: pre; }
/* Closed territories and programmes share light cards; only the open one is dark. */
.dpf-public .dpf-public-group:is([data-dpf-level="territory"],[data-dpf-level="program"]):not([open]) { border-top: 5px solid var(--dpf-blue); box-shadow: 0 10px 22px rgba(20,33,43,.045); }
.dpf-public .dpf-public-group:is([data-dpf-level="territory"],[data-dpf-level="program"]):not([open]):nth-child(even) { border-top-color: var(--dpf-red); }
.dpf-public .dpf-public-group:is([data-dpf-level="territory"],[data-dpf-level="program"]):not([open]) > summary { background: #fff; color: var(--dpf-blue-dark); min-height: 76px; padding: 19px 24px; }
.dpf-public .dpf-public-group:is([data-dpf-level="territory"],[data-dpf-level="program"]):not([open]) > summary:hover { background: var(--dpf-hover); }
.dpf-public .dpf-public-group:is([data-dpf-level="territory"],[data-dpf-level="program"]):not([open]) > summary .dpf-level-heading > small,
.dpf-public .dpf-public-group:is([data-dpf-level="territory"],[data-dpf-level="program"]):not([open]) > summary .dpf-count-word { display: none; }
.dpf-public .dpf-public-group:is([data-dpf-level="territory"],[data-dpf-level="program"]):not([open]) > summary .dpf-public-group-title { color: var(--dpf-blue-dark); font: 700 clamp(21px,2.1vw,26px)/1.2 Arial,sans-serif; letter-spacing: normal; }
.dpf-public .dpf-public-group:is([data-dpf-level="territory"],[data-dpf-level="program"]):not([open]) > summary::after { color: var(--dpf-blue); }
.dpf-public .dpf-public-group:is([data-dpf-level="territory"],[data-dpf-level="program"]):not([open]) > summary .dpf-public-group-meta { background: var(--dpf-blue) !important; color: #fff; height: 34px; min-width: 34px; padding: 0 10px; font-size: 14px; }
.dpf-public .dpf-public-group:is([data-dpf-level="territory"],[data-dpf-level="program"]):not([open]):nth-child(even) > summary .dpf-public-group-meta { background: var(--dpf-red) !important; }
.dpf-public .dpf-public-subgroups { background: #fff; border-top: 0; gap: 24px; padding: 22px; }
.dpf-public .dpf-public-subgroup[data-dpf-level="province"] { border: 1px solid var(--dpf-line); border-radius: 7px; }
.dpf-public .dpf-public-subgroup[data-dpf-level="province"] > summary { background: var(--dpf-blue); padding: 19px 22px; }
.dpf-public .dpf-public-subgroup[data-dpf-level="province"] > summary:hover { background: #005681; }
.dpf-public .dpf-public-subgroup[data-dpf-level="province"] > summary .dpf-level-heading,
.dpf-public .dpf-public-subgroup[data-dpf-level="province"] > summary .dpf-level-name,
.dpf-public .dpf-public-subgroup[data-dpf-level="province"] > summary::after { color: #fff; }
.dpf-public .dpf-level-name { font: 700 21px/1.25 Arial,sans-serif; }
.dpf-public .dpf-public-subgroup > summary em { background: #fff; color: var(--dpf-blue-dark); font-weight: 600; }
.dpf-public .dpf-public-subgroup[data-dpf-level="territory"] > summary { background: #edf3f6; }
.dpf-public .dpf-public-program-lists { gap: 28px; }
.dpf-public .dpf-public-program-list { border: 0; background: transparent; border-radius: 0; overflow: visible; }
.dpf-public .dpf-program-heading { display: flex; align-items: end; gap: 20px; margin: 0 0 14px; }
.dpf-public .dpf-program-heading > div { min-width: 0; }
.dpf-public .dpf-program-heading small { display: block; margin-bottom: 5px; color: var(--dpf-red); font: 700 10px/1.2 Arial,sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.dpf-public .dpf-program-heading h3 { margin: 0; padding: 0; color: var(--dpf-red); background: transparent; font: 700 19px/1.3 Arial,sans-serif; }
.dpf-public .dpf-program-rule { border-bottom: 1px solid #c6d9e4; flex: 1 1 40px; min-width: 20px; margin-bottom: 9px; }
.dpf-public .dpf-program-count { flex: 0 0 auto; margin-bottom: 3px; color: var(--dpf-muted); font-size: 12px; white-space: nowrap; }
.dpf-public .dpf-public-program-list > .dpf-public-projects { padding: 0; border: 0; background: transparent; gap: 9px; }
.dpf-public .dpf-public-project { border: 1px solid var(--dpf-line); box-shadow: none; }
.dpf-public .dpf-public-project > summary { padding: 17px 19px; min-height: 60px; }
.dpf-public .dpf-public-project > summary > .dpf-project-name { font-size: 15px; font-weight: 600; overflow-wrap: anywhere; }
.dpf-public .dpf-public-project > summary > .dpf-project-counts { display: flex; flex-wrap: wrap; gap: 7px; justify-content: end; }
.dpf-public .dpf-project-counts > em { background: #edf2f5; color: #476276; font-size: 11px; font-weight: 600; }
.dpf-public .dpf-public-project[open] > summary { background: #f4f8fa; }
.dpf-public .dpf-public-subprojects .dpf-public-project > summary { min-height: 50px; padding: 13px 16px; }
.dpf-public .dpf-public-subprojects > .dpf-related-group-title { color: var(--dpf-blue-dark); letter-spacing: .04em; font-size: 12px; }
@media (max-width: 782px) {
    .dpf-public .dpf-public-subgroups { padding: 14px; gap: 18px; }
    .dpf-public .dpf-public-group > summary,
    .dpf-public .dpf-public-subgroup > summary { padding: 16px; }
    .dpf-public .dpf-public-group > summary .dpf-public-group-meta { grid-column: 1; justify-self: start; }
    .dpf-public .dpf-public-subgroup > summary em { grid-column: 1; justify-self: start; }
    .dpf-public .dpf-public-group > summary::after,
    .dpf-public .dpf-public-subgroup > summary::after,
    .dpf-public .dpf-public-project > summary::after { grid-column: 2; grid-row: 1; }
    .dpf-public .dpf-program-heading { flex-wrap: wrap; gap: 8px; }
    .dpf-public .dpf-program-heading > div { flex: 1 1 100%; }
    .dpf-public .dpf-program-heading h3 { font-size: 17px; overflow-wrap: anywhere; }
    .dpf-public .dpf-program-rule { order: 3; margin-bottom: 6px; }
    .dpf-public .dpf-public-project > summary { padding: 14px; }
    .dpf-public .dpf-public-project > summary > .dpf-project-counts { grid-column: 1 / -1; justify-content: start; }
    .dpf-public .dpf-project-counts > em { grid-column: auto; }
    .dpf-public .dpf-public-group:is([data-dpf-level="territory"],[data-dpf-level="program"]):not([open]) > summary { grid-template-columns: minmax(0,1fr) auto auto; padding: 19px 18px; }
    .dpf-public .dpf-public-group:is([data-dpf-level="territory"],[data-dpf-level="program"]):not([open]) > summary .dpf-public-group-meta { grid-column: 2; grid-row: 1; }
    .dpf-public .dpf-public-group:is([data-dpf-level="territory"],[data-dpf-level="program"]):not([open]) > summary::after { grid-column: 3; grid-row: 1; }
}
