/*!
 * Grant proposal · form page additions (pr-builder.css)
 * Load after pd-builder.css: the form reuses its .pdb-* look. Only the budget total and the
 * document preview (cover letter, contents, header and footer) are added here.
 * The preview is always a white page, like the Word file, in light and dark themes. Its colours and fonts
 * come from the selected document theme through --pr-* custom properties (PR.themeVars in pr-export.js).
 */
.pdb-root .prb-total { grid-column: 1 / -1; display: flex; gap: 8px 20px; flex-wrap: wrap; font-size: 14px; padding: 10px 14px; background: var(--b-soft); border-radius: 10px; }
.pdb-root .prb-total b { font-variant-numeric: tabular-nums; }
.pdb-root .pdb-btn[disabled] { opacity: .6; cursor: progress; }

.pdb-root .prb-preview { min-width: 0; }
.pdb-root .prb-note { color: var(--b-sub); font-size: 13px; margin: 0 auto 12px; max-width: 794px; }
.pdb-root .prb-page { background: #FFFFFF; color: #1F1F23; max-width: 794px; margin: 0 auto; padding: 56px 64px; border: 1px solid var(--b-line); border-radius: 6px; box-shadow: 0 10px 30px -18px rgba(0, 0, 0, .35); font-family: var(--pr-body, Calibri, Carlito, 'Segoe UI', system-ui, sans-serif); font-size: 15px; line-height: 1.55; overflow-wrap: anywhere; }
.pdb-root .prb-page h1 { font-size: 24px; font-weight: 700; line-height: 1.2; color: var(--pr-primary, #1E5A43); margin: 8px 0 14px; }
.pdb-root .prb-page h2 { font-size: 19px; font-weight: 700; line-height: 1.25; color: var(--pr-primary, #1E5A43); margin: 26px 0 8px; }
.pdb-root .prb-page h3 { font-size: 16px; font-weight: 700; color: var(--pr-primary, #1E5A43); margin: 16px 0 6px; }
.pdb-root .prb-page p { margin: 0 0 10px; }
.pdb-root .prb-page ul { list-style: disc; padding-left: 22px; margin: 0 0 10px; }
.pdb-root .prb-page li { list-style: disc; margin: 2px 0; }
.pdb-root .prb-page a { color: var(--pr-primary, #1E5A43); text-decoration: underline; }
.pdb-root .prb-page img { display: block; max-height: 70px; max-width: 220px; margin: 0 0 8px; }
.pdb-root .prb-page img.prb-photo { max-height: 340px; max-width: 100%; width: auto; border-radius: 4px; }
.pdb-root .prb-page .prb-b { font-weight: 700; }
.pdb-root .prb-page .prb-i { font-style: italic; }
.pdb-root .prb-page .prb-lg { font-size: 18px; }
.pdb-root .prb-page .prb-r { text-align: right; }
.pdb-root .prb-page .prb-muted { color: #5F5F66; font-size: 13px; }
.pdb-root .prb-page .prb-big { font-size: 26px; font-weight: 700; line-height: 1.25; color: var(--pr-primary, #1E5A43); }
.pdb-root .prb-page .prb-sig { margin-top: 32px; }
.pdb-root .prb-page .prb-rule { border-bottom: 1px solid #999999; margin: 4px 0 18px; }
.pdb-root .prb-page .prb-todo { background: #FFF3B0; color: #5C4700; font-style: italic; padding: 0 4px; }
.pdb-root .prb-page .prb-brk { border-top: 1px dashed #BDBDB5; margin: 32px -64px 20px; padding: 4px 64px 0; text-align: right; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #5F5F66; }
.pdb-root .prb-page .prb-tbl { overflow-x: auto; margin: 4px 0 14px; }
.pdb-root .prb-page table { width: 100%; border-collapse: collapse; font-size: 14px; }
.pdb-root .prb-page th, .pdb-root .prb-page td { border: 1px solid #BDBDB5; padding: 6px 8px; text-align: left; vertical-align: top; }
.pdb-root .prb-page thead th { background: var(--pr-soft, #E2EEE7); font-weight: 700; }
.pdb-root .prb-page .prb-kv th { background: #F4F4F1; font-weight: 600; width: 35%; }
.pdb-root .prb-page tfoot td { background: #F4F4F1; font-weight: 700; }
.pdb-root .prb-page .prb-num { text-align: right; font-variant-numeric: tabular-nums; }

@media (max-width: 560px) {
  .pdb-root .prb-page { padding: 28px 20px; font-size: 14px; }
  .pdb-root .prb-page .prb-brk { margin: 28px -20px 16px; padding: 4px 20px 0; }
}

/* Running header and footer, as on every page of the Word file */
.pdb-root .prb-page .prb-hdr, .pdb-root .prb-page .prb-ftr { display: flex; align-items: center; gap: 8px 16px; flex-wrap: wrap; font-size: 12px; color: #5F5F66; }
.pdb-root .prb-page .prb-hdr { border-bottom: 1px solid #BDBDB5; padding-bottom: 6px; margin: 0 0 28px; }
.pdb-root .prb-page .prb-hdr img { max-height: 24px; max-width: 90px; margin: 0; }
.pdb-root .prb-page .prb-hdr b { color: var(--pr-primary, #1E5A43); }
.pdb-root .prb-page .prb-hdr span, .pdb-root .prb-page .prb-ftr span:last-child { margin-left: auto; }
.pdb-root .prb-page .prb-ftr { border-top: 1px solid #BDBDB5; padding-top: 6px; margin: 32px 0 -24px; }

/* Cover page: the covering letter on its own, framed by abstract art */
.pdb-root .prb-page .prb-cover { display: flex; flex-direction: column; min-height: 960px; }
.pdb-root .prb-page .prb-cover .prb-sig + img.prb-strip, .pdb-root .prb-page .prb-cover p:last-of-type { margin-bottom: 24px; }

/* Contents page */
.pdb-root .prb-page .prb-contents { font-size: 26px; color: var(--pr-primary, #1E5A43); margin: 0 0 16px; }
.pdb-root .prb-page ol.prb-toc { list-style: none; padding: 0; margin: 0 0 8px; }
.pdb-root .prb-page ol.prb-toc li { list-style: none; display: flex; align-items: baseline; gap: 8px; margin: 0; padding: 4px 0; }
.pdb-root .prb-page ol.prb-toc i { flex: 1; border-bottom: 2px dotted #BDBDB5; transform: translateY(-4px); }
@media (max-width: 560px) { .pdb-root .prb-page .prb-cover { min-height: 0; } }

/* Word counter in each section header */
.pdb-root .prb-wc { margin-left: auto; font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--b-warn); background: var(--b-inset); border: 1px solid var(--b-line); border-radius: 20px; padding: 3px 10px; }
.pdb-root .prb-wc.prb-wc-ok { color: var(--b-acc); }
.pdb-root .prb-wc.prb-wc-ok::before { content: "✓ "; }

/* Cover page */
.pdb-root .prb-page .prb-coverpage { display: flex; flex-direction: column; min-height: 960px; }
.pdb-root .prb-page img.prb-coverlogo { max-height: 90px; max-width: 240px; margin: 0 0 16px; }
.pdb-root .prb-page .prb-covtitle { font-size: 34px; line-height: 1.15; color: var(--pr-primary, #1E5A43); margin: 28px 0 10px; }
.pdb-root .prb-page .prb-meta { margin: 0 0 12px; font-size: 16px; }
.pdb-root .prb-page .prb-meta > span:first-child { display: block; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #5F5F66; }

/* Figures, quotes and lists in the body */
.pdb-root .prb-page img.prb-fig { display: block; width: 100%; max-width: none; max-height: none; height: auto; margin: 6px 0 16px; border-radius: 6px; }
.pdb-root .prb-page img.prb-strip { height: 8px; border-radius: 0; margin: auto 0 0; }
.pdb-root .prb-page .prb-quote { margin: 4px 0 16px; padding: 4px 0 4px 16px; border-left: 4px solid var(--pr-light, #86D6AE); font-size: 20px; font-style: italic; color: var(--pr-primary, #1E5A43); }
.pdb-root .prb-page ol.prb-ol { list-style: decimal; padding-left: 24px; margin: 0 0 10px; }
.pdb-root .prb-page ol.prb-ol li { list-style: decimal; margin: 4px 0; }
.pdb-root .prb-page .prb-social td.prb-ico { width: 44px; text-align: center; }
.pdb-root .prb-page .prb-social img { display: inline-block; width: 24px; height: 24px; max-height: none; margin: 0; }
.pdb-root .prb-page .prb-social th { background: #F4F4F1; font-weight: 600; width: 28%; }
@media (max-width: 560px) { .pdb-root .prb-page .prb-coverpage { min-height: 0; } }

/* Headings use the theme's heading font */
.pdb-root .prb-page :is(h1, h2, h3, .prb-big, .prb-covtitle, .prb-quote) { font-family: var(--pr-head, inherit); }

/* ---------- Theme button and picker ---------- */
.pdb-root .prb-sw { display: inline-flex; width: 30px; height: 16px; border-radius: 4px; overflow: hidden; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15); flex: none; }
.pdb-root .prb-sw i { flex: 1; }
.pdb-root .prb-themefield { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 12px; border: 1px solid var(--b-line); border-radius: 10px; background: var(--b-inset); }
.pdb-root .prb-themefield svg { width: 110px; height: auto; border-radius: 6px; box-shadow: 0 0 0 1px var(--b-line); flex: none; }
.pdb-root .prb-themefield b { display: block; font-size: 15px; }
.pdb-root .prb-themefield small { color: var(--b-sub); }
.pdb-root .prb-themefield .pdb-btn { margin-left: auto; }

.pdb-root dialog.prb-themes { position: fixed; inset: 0 0 0 auto; margin: 0; width: min(460px, 100vw); height: 100dvh; max-height: 100dvh; max-width: 100vw; padding: 0; border: 0; border-left: 1px solid var(--b-line); background: var(--b-panel); color: var(--b-text); box-shadow: -20px 0 50px -20px rgba(0, 0, 0, .35); font-family: var(--b-font); font-size: 14px; }
.pdb-root dialog.prb-themes[open] { display: flex; flex-direction: column; }
.pdb-root dialog.prb-themes::backdrop { background: rgba(23, 23, 26, .18); }
.pdb-root .prb-th-head { padding: 18px 20px 10px; border-bottom: 1px solid var(--b-line); display: grid; gap: 4px; position: relative; }
.pdb-root .prb-th-head h2 { font-family: var(--b-head); font-weight: 400; font-size: 26px; line-height: 1.1; padding-right: 44px; }
.pdb-root .prb-th-head p { color: var(--b-sub); font-size: 13px; }
.pdb-root .prb-th-x { position: absolute; top: 14px; right: 14px; }
.pdb-root .prb-th-tools { padding: 12px 20px; display: grid; gap: 10px; border-bottom: 1px solid var(--b-line); }
.pdb-root .prb-chips { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.pdb-root .prb-chips > span { font-size: 12px; font-weight: 700; color: var(--b-sub); margin-right: 2px; }
.pdb-root .prb-chip { appearance: none; font: inherit; font-size: 12.5px; font-weight: 600; color: var(--b-text); background: var(--b-panel); border: 1px solid var(--b-line2); border-radius: 20px; padding: 4px 10px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.pdb-root .prb-chip[aria-pressed="true"] { background: var(--b-acc); border-color: var(--b-acc); color: var(--b-accfg); }
.pdb-root .prb-chip i { width: 10px; height: 10px; border-radius: 50%; display: inline-block; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .2); }
.pdb-root .prb-th-count { padding: 8px 20px 0; color: var(--b-sub); font-size: 12.5px; }
.pdb-root .prb-th-grid { list-style: none; margin: 0; padding: 10px 20px 20px; overflow-y: auto; flex: 1; display: grid; grid-template-columns: repeat(auto-fill, minmax(124px, 1fr)); gap: 12px; align-content: start; }
.pdb-root .prb-th-grid li { list-style: none; }
.pdb-root .prb-th-card { appearance: none; width: 100%; font: inherit; text-align: left; background: var(--b-panel); border: 1px solid var(--b-line); border-radius: 10px; padding: 6px; cursor: pointer; display: grid; gap: 4px; color: var(--b-text); }
.pdb-root .prb-th-card:hover { border-color: var(--b-sub); }
.pdb-root .prb-th-card[aria-pressed="true"] { border-color: var(--b-acc); box-shadow: 0 0 0 2px var(--b-acc); }
.pdb-root .prb-th-card svg { width: 100%; height: auto; display: block; border-radius: 6px; box-shadow: 0 0 0 1px var(--b-line); }
.pdb-root .prb-th-card b { font-size: 12.5px; line-height: 1.25; }
.pdb-root .prb-th-card small { font-size: 11.5px; color: var(--b-sub); line-height: 1.25; }
.pdb-root .prb-th-foot { padding: 12px 20px; border-top: 1px solid var(--b-line); display: flex; gap: 10px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.pdb-root .prb-th-foot > span:first-child { color: var(--b-sub); font-size: 13px; }
.pdb-root .prb-th-foot > span:last-child { display: flex; gap: 8px; }
@media (max-width: 560px) { .pdb-root .prb-th-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- Page templates: cover layouts (data from PR.template().cover) ---------- */
.pdb-root .prb-page .prb-cv { display: flex; flex-direction: column; flex: 1; }
.pdb-root .prb-page .prb-cv .prb-covtitle { margin-top: 18px; }
.pdb-root .prb-page .prb-cvsub { font-size: 17px; margin-bottom: 14px; }
.pdb-root .prb-page .prb-cvorg { margin: 6px 0 2px; }
.pdb-root .prb-page .prb-cvtype { margin-bottom: 18px; }
.pdb-root .prb-page .prb-cv-hero .prb-covtitle { font-size: 42px; margin-top: 4px; }
.pdb-root .prb-page .prb-cvband { background: var(--pr-primary, #1E5A43); color: #fff; border-radius: 6px; padding: 26px 28px 18px; margin-bottom: 18px; }
.pdb-root .prb-page .prb-cvband .prb-covtitle, .pdb-root .prb-page .prb-cvband .prb-cvsub { color: #fff; margin-top: 0; }
.pdb-root .prb-page .prb-cvsplit { display: grid; grid-template-columns: 44% 1fr; gap: 24px; align-items: center; margin-bottom: 18px; }
.pdb-root .prb-page .prb-cvsplit .prb-covtitle { font-size: 30px; margin-top: 0; }
.pdb-root .prb-page .prb-cv-centred, .pdb-root .prb-page .prb-cvframe { text-align: center; align-items: center; }
.pdb-root .prb-page img.prb-cvnarrow { width: 72%; margin-left: auto; margin-right: auto; }
.pdb-root .prb-page .prb-cv-centred .prb-coverlogo, .pdb-root .prb-page .prb-cvframe .prb-coverlogo { margin-left: auto; margin-right: auto; }
.pdb-root .prb-page .prb-cvspace { height: 160px; }
.pdb-root .prb-page .prb-cv-minimal .prb-covtitle { font-size: 42px; }
.pdb-root .prb-page .prb-cvaccent { height: 4px; background: var(--pr-primary, #1E5A43); margin: 4px 0 18px; }
.pdb-root .prb-page img.prb-cvbottom { margin-top: auto; }
.pdb-root .prb-page .prb-cvframe { display: flex; flex-direction: column; flex: 1; border: 3px solid var(--pr-primary, #1E5A43); border-radius: 4px; padding: 30px 32px; margin: -24px -32px; }
.pdb-root .prb-page .prb-cvside { display: grid; grid-template-columns: 30% 1fr; gap: 24px; flex: 1; margin: -56px 0 -56px -64px; }
.pdb-root .prb-page .prb-cvcol { background: var(--pr-primary, #1E5A43); color: #fff; padding: 56px 20px; display: flex; flex-direction: column; justify-content: center; }
.pdb-root .prb-page .prb-cvcol .prb-coverlogo { background: #fff; padding: 6px; border-radius: 4px; max-width: 100%; }
.pdb-root .prb-page .prb-cvcol .prb-todo { color: #5C4700; }
.pdb-root .prb-page .prb-cvside > div:last-child { padding: 56px 0; }
.pdb-root .prb-page .prb-cv-sidebar .prb-covtitle { font-size: 30px; }
.pdb-root .prb-page .prb-cvmag { border-left: 8px solid var(--pr-accent, #E3B23C); padding-left: 16px; margin-bottom: 14px; }
.pdb-root .prb-page .prb-cvmag .prb-covtitle { font-size: 42px; margin-top: 0; }
.pdb-root .prb-page .prb-cvgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
@media (max-width: 560px) {
  .pdb-root .prb-page .prb-cvsplit, .pdb-root .prb-page .prb-cvside { grid-template-columns: 1fr; margin: 0; }
  .pdb-root .prb-page .prb-cvframe { margin: 0; padding: 16px; }
}

/* ---------- Page templates: heading styles (data-hs) ---------- */
.pdb-root .prb-page[data-hs="underline"] h2:not(.prb-contents) { border-bottom: 2px solid var(--pr-primary, #1E5A43); padding-bottom: 5px; }
.pdb-root .prb-page[data-hs="band"] h2:not(.prb-contents) { background: var(--pr-soft, #E2EEE7); padding: 7px 12px; border-radius: 4px; }
.pdb-root .prb-page[data-hs="bar"] h2:not(.prb-contents) { border-left: 6px solid var(--pr-primary, #1E5A43); padding-left: 12px; }
.pdb-root .prb-page[data-hs="caps"] h2:not(.prb-contents) { text-transform: uppercase; letter-spacing: .08em; font-size: 16px; border-top: 1px solid var(--pr-primary, #1E5A43); padding-top: 9px; }

/* ---------- Page templates: table styles (data-ts) ---------- */
.pdb-root .prb-page[data-ts="striped"] :is(th, td) { border-left: 0; border-right: 0; border-color: #D9D9D4; }
.pdb-root .prb-page[data-ts="striped"] thead th { background: var(--pr-primary, #1E5A43); color: #fff; }
.pdb-root .prb-page[data-ts="striped"] tbody tr:nth-child(even) td { background: var(--pr-bg, #EEF5F0); }
.pdb-root .prb-page[data-ts="striped"] .prb-kv th, .pdb-root .prb-page[data-ts="striped"] .prb-social th { background: var(--pr-bg, #EEF5F0); }
.pdb-root .prb-page[data-ts="minimal"] table { border-top: 2px solid var(--pr-primary, #1E5A43); border-bottom: 2px solid var(--pr-primary, #1E5A43); }
.pdb-root .prb-page[data-ts="minimal"] :is(th, td) { border: 0; border-bottom: 1px solid #D9D9D4; background: none; }
.pdb-root .prb-page[data-ts="minimal"] thead th { color: var(--pr-primary, #1E5A43); border-bottom: 1.5px solid var(--pr-primary, #1E5A43); }
.pdb-root .prb-page[data-ts="minimal"] :is(.prb-kv, .prb-social) th, .pdb-root .prb-page[data-ts="minimal"] tfoot td { background: none; }
.pdb-root .prb-page[data-ts="bold"] :is(th, td) { border-color: #D9D9D4; }
.pdb-root .prb-page[data-ts="bold"] thead th { background: var(--pr-primary, #1E5A43); color: #fff; }
.pdb-root .prb-page[data-ts="bold"] :is(.prb-kv, .prb-social) th, .pdb-root .prb-page[data-ts="bold"] tfoot td { background: var(--pr-soft, #E2EEE7); }
.pdb-root .prb-page[data-ts="boxed"] table { border: 2px solid var(--pr-primary, #1E5A43); }
.pdb-root .prb-page[data-ts="boxed"] :is(th, td) { border-color: #D9D9D4; }
.pdb-root .prb-page[data-ts="boxed"] :is(.prb-kv, .prb-social) th { background: var(--pr-soft, #E2EEE7); }

/* Template button icon */
.pdb-root .prb-tplico { width: 18px; height: 18px; flex: none; color: var(--b-acc); }

/* ---------- Page designs: every page (data-dz, data-mg, data-just, data-mid, data-toc on .prb-page) ---------- */
.pdb-root .prb-page { position: relative; }
.pdb-root .prb-page .prb-c { text-align: center; }
.pdb-root .prb-page img.prb-mid { margin-left: auto; margin-right: auto; }
.pdb-root .prb-page[data-mg="wide"] { padding-left: 84px; padding-right: 84px; }
.pdb-root .prb-page[data-mg="side"] { padding-left: 104px; }
.pdb-root .prb-page[data-just="1"] p:not(.prb-r):not(.prb-c):not(.prb-meta) { text-align: justify; }
.pdb-root .prb-page[data-mid="1"] h2:not(.prb-contents) { text-align: center; }
.pdb-root .prb-page[data-dz="sidebar"] { box-shadow: inset 30px 0 0 var(--pr-primary, #1E5A43), 0 10px 30px -18px rgba(0, 0, 0, .35); }
.pdb-root .prb-page[data-dz="line"] { background-image: linear-gradient(var(--pr-accent, #E3B23C), var(--pr-accent, #E3B23C)); background-size: 4px calc(100% - 112px); background-position: 40px 56px; background-repeat: no-repeat; }
.pdb-root .prb-page[data-dz="frame"] { outline: 3px solid var(--pr-primary, #1E5A43); outline-offset: -18px; }
.pdb-root .prb-page .prb-dz { position: relative; height: 0; }
.pdb-root .prb-page .prb-dz-corner img { position: absolute; top: -56px; right: -64px; width: 150px; height: 150px; max-height: none; margin: 0; pointer-events: none; }
.pdb-root .prb-page[data-mg="wide"] .prb-dz-corner img { right: -84px; }
.pdb-root .prb-page .prb-dz-top img { position: absolute; top: -56px; left: -64px; width: calc(100% + 128px); height: 8px; max-width: none; max-height: none; margin: 0; }
.pdb-root .prb-page[data-mg="wide"] .prb-dz-top img { left: -84px; width: calc(100% + 168px); }
.pdb-root .prb-page[data-mg="side"] .prb-dz-top img { left: -104px; width: calc(100% + 168px); }
.pdb-root .prb-page img.prb-dz-wave { display: block; width: calc(100% + 128px); max-width: none; max-height: none; margin: 4px -64px -56px; height: auto; }
.pdb-root .prb-page[data-mg="wide"] img.prb-dz-wave { width: calc(100% + 168px); margin-left: -84px; margin-right: -84px; }
.pdb-root .prb-page[data-mg="side"] img.prb-dz-wave { width: calc(100% + 168px); margin-left: -104px; }
.pdb-root .prb-page img.prb-dz-wave + .prb-brk { margin-top: 0; }

/* Running header styles */
.pdb-root .prb-page .prb-hdr-band { background: var(--pr-primary, #1E5A43); color: #fff; border: 0; padding: 6px 10px; border-radius: 3px; }
.pdb-root .prb-page .prb-hdr-band b, .pdb-root .prb-page .prb-hdr-band span { color: #fff; }
.pdb-root .prb-page .prb-hdr-accent { border-bottom: 3px solid var(--pr-primary, #1E5A43); }
.pdb-root .prb-page .prb-hdr-accent i { width: 10px; height: 10px; background: var(--pr-accent, #E3B23C); display: inline-block; }
.pdb-root .prb-page .prb-hdr-centred { justify-content: center; text-transform: uppercase; letter-spacing: .14em; font-size: 11px; }
.pdb-root .prb-page .prb-hdr-centred span, .pdb-root .prb-page .prb-hdr-right span { margin-left: 0; }
.pdb-root .prb-page .prb-hdr-right { justify-content: flex-end; border-bottom: 0; }
.pdb-root .prb-page .prb-hdr-split { border-bottom: 0; }
/* Running footer styles */
.pdb-root .prb-page .prb-ftr b { color: var(--pr-primary, #1E5A43); font-size: 14px; }
.pdb-root .prb-page .prb-ftr-num { justify-content: flex-end; border-top: 0; }
.pdb-root .prb-page .prb-ftr-band { justify-content: center; background: var(--pr-soft, #E2EEE7); border-top: 0; padding: 6px; color: #1F1F23; border-radius: 3px; }
.pdb-root .prb-page .prb-ftr-band span:last-child, .pdb-root .prb-page .prb-ftr-dash span:last-child, .pdb-root .prb-page .prb-ftr-ornament span:last-child { margin-left: 0; }
.pdb-root .prb-page .prb-ftr-dash, .pdb-root .prb-page .prb-ftr-ornament { justify-content: center; border-top: 0; }
.pdb-root .prb-page .prb-ftr-ornament { color: var(--pr-primary, #1E5A43); letter-spacing: .2em; }
.pdb-root .prb-page .prb-ftr-split { border-top: 0; }
.pdb-root .prb-page .prb-ftr-split b { margin-left: auto; }

/* Contents page styles */
.pdb-root .prb-page ol.prb-toc .prb-tn { display: none; }
.pdb-root .prb-page[data-toc="plain"] ol.prb-toc i { border-bottom-color: transparent; }
.pdb-root .prb-page[data-toc="numbers"] ol.prb-toc .prb-tn { display: inline-block; width: 40px; font-size: 18px; color: var(--pr-primary, #1E5A43); font-family: var(--pr-head, inherit); }
.pdb-root .prb-page[data-toc="numbers"] ol.prb-toc .prb-tl { display: none; }
.pdb-root .prb-page[data-toc="numbers"] ol.prb-toc li { border-bottom: 1px solid #E3E3DE; padding: 6px 0; }
.pdb-root .prb-page[data-toc="numbers"] ol.prb-toc i { border-bottom-color: transparent; }

/* Colour band letterhead */
.pdb-root .prb-page .prb-lhband { background: var(--pr-primary, #1E5A43); color: #fff; padding: 14px 20px; border-radius: 4px; margin: 0 0 18px; }
.pdb-root .prb-page .prb-lhband p { margin: 0; }
.pdb-root .prb-page .prb-lhband p:last-child { color: var(--pr-soft, #E2EEE7); font-size: 13px; }

/* ---------- Download menu ---------- */
.pdb-root .prb-dlmenu { position: fixed; z-index: 50; width: min(340px, calc(100vw - 16px)); background: var(--b-panel); color: var(--b-text); border: 1px solid var(--b-line2); border-radius: 12px; box-shadow: 0 18px 40px -16px rgba(0, 0, 0, .35); padding: 8px; display: grid; gap: 2px; }
.pdb-root .prb-dlmenu[hidden] { display: none; }
.pdb-root .prb-dl-h { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; color: var(--b-sub); padding: 4px 10px 6px; }
.pdb-root .prb-dlmenu [data-dl] { appearance: none; font: inherit; text-align: left; background: none; border: 0; border-radius: 8px; padding: 9px 10px; display: grid; gap: 2px; cursor: pointer; color: var(--b-text); }
.pdb-root .prb-dlmenu [data-dl]:hover, .pdb-root .prb-dlmenu [data-dl]:focus-visible { background: var(--b-soft); }
.pdb-root .prb-dlmenu [data-dl] b { font-size: 14px; }
.pdb-root .prb-dlmenu [data-dl] small { font-size: 12px; color: var(--b-sub); }
.pdb-root .prb-dl-note { font-size: 11.5px; color: var(--b-sub); padding: 8px 10px 4px; border-top: 1px solid var(--b-line); margin-top: 4px; line-height: 1.4; }

/* Link from a form section to its writing guide */
.pdb-root .prb-guide { color: var(--b-acc); font-weight: 600; white-space: nowrap; }
