/* certificates/cert-render.css
   Visual layer for the 7 certificate fronts + the shared back (verso).
   Geometry ported verbatim from the approved mocks (backstage/mocks/certificate/).
   Everything is scoped under .cdx-cert-page so it never leaks into Codex.

   The renderer (cert-render.js) emits:
     <div class="cdx-cert-page" data-pal="THEME">
       <div class="cdxc-sheet f-KEY"> ...front... </div>
     </div>
   so .cdxc-sheet is the A4 sheet and .f-KEY / .back ride on it. */

/* Cert fonts, imported here so the cert always has them — Lora for the names,
   Inter/JetBrains for body/mono, Comfortaa for the logo wordmark. The app shell
   (theme.css) loads everything EXCEPT Lora, so without this the names fell back to
   a generic serif; and the PDF rasterizer embeds whatever the document has loaded,
   so the downloaded PDF needs these too. (@import must precede the rules below.) */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Lora:wght@500;600;700&family=JetBrains+Mono:wght@400;500;600&family=Comfortaa:wght@400;700&display=swap');

/* ── brand constants (scoped, not :root, to avoid colliding with Codex tokens) ── */
.cdx-cert-page {
  --navy:#061a51; --teal:#14b8a6; --teal-dark:#0d9488; --green:#047857;
  --paper:#fafdfc; --cream:#faf7f2; --ink:#1d2b33; --muted:#5b7975; --rule:#e3e8e6;
  --acc-light:#7de8d6;
  --lora:'Lora',serif; --inter:'Inter',sans-serif; --mono:'JetBrains Mono',ui-monospace,monospace;
}
/* ── colour themes ── */
.cdx-cert-page[data-pal="navy"] { --grad:linear-gradient(135deg,#0b2f73 0%,#061a51 60%,#04123a 100%); --gradr:linear-gradient(118deg,#04123a 0%,#061a51 48%,#0b2f73 100%); --accent:#14b8a6; --ink2:#061a51; --pdark:#0d9488; --glow:rgba(20,184,166,.55); --deep:#04123a; --soft:#0b2f73; }
.cdx-cert-page[data-pal="teal"] { --grad:linear-gradient(135deg,#0d9488 0%,#047857 60%,#134e4a 100%); --gradr:linear-gradient(118deg,#134e4a 0%,#0d9488 55%,#14b8a6 110%); --accent:#14b8a6; --ink2:#134e4a; --pdark:#0d9488; --glow:rgba(125,232,214,.55); --deep:#0a3f3a; --soft:#0d9488; }
.cdx-cert-page[data-pal="duo"]  { --grad:linear-gradient(135deg,#061a51 0%,#0c5f7a 64%,#14b8a6 122%); --gradr:linear-gradient(118deg,#14b8a6 -8%,#0c5f7a 48%,#061a51 100%); --accent:#14b8a6; --ink2:#061a51; --pdark:#0d9488; --glow:rgba(20,184,166,.6); --deep:#04123a; --soft:#0c5f7a; }

/* ── A4 landscape sheet ── */
.cdx-cert-page .cdxc-sheet { box-sizing:border-box; width:297mm; height:210mm; background:var(--paper); color:var(--ink); position:relative; overflow:hidden; font-family:var(--inter); }
.cdx-cert-page * { line-height:1.5; }
.cdx-cert-page .dots { position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.16) .7px,transparent .7px); background-size:18px 18px; opacity:.6; pointer-events:none; z-index:0; }
.cdx-cert-page .eyebrow { font-family:var(--inter); font-weight:500; font-size:12px; letter-spacing:.3em; text-transform:uppercase; }
.cdx-cert-page .bmark svg, .cdx-cert-page .mk svg { width:100%; height:auto; display:block; }
.cdx-cert-page .qr { background:#fff; padding:4px; border-radius:4px; display:block; }
.cdx-cert-page .qr svg { display:block; width:100%; height:100%; }
.cdx-cert-page .sc { font-family:var(--inter); text-transform:uppercase; letter-spacing:.34em; font-weight:500; }
.cdx-cert-page .glyph-wm { position:absolute; pointer-events:none; z-index:0; }
.cdx-cert-page .glyph-wm svg { width:100%; height:auto; display:block; }
.cdx-cert-page .pwm { position:absolute; pointer-events:none; }
.cdx-cert-page .pwm svg { width:100%; height:100%; display:block; }

/* ============================================================ VETOR */
.cdx-cert-page .f-vetor { background:var(--paper); display:flex; flex-direction:column; overflow:hidden; }
.cdx-cert-page .f-vetor .vt-slab { position:absolute; top:0; right:0; bottom:0; width:148mm; background:var(--gradr); clip-path:polygon(28% 0,100% 0,100% 100%,0 100%); z-index:0; }
.cdx-cert-page .f-vetor .vt-slab .dots { opacity:.5; }
.cdx-cert-page .f-vetor .vt-ghost { position:absolute; right:-46mm; top:50%; transform:translateY(-50%); width:215mm; opacity:.16; z-index:1; pointer-events:none; }
.cdx-cert-page .f-vetor .vt-ghost svg { width:100%; height:auto; display:block; }
.cdx-cert-page .f-vetor .vt-grid { position:absolute; inset:0; background-image:radial-gradient(rgba(6,26,81,.05) .8px,transparent .8px); background-size:20px 20px; z-index:0; pointer-events:none; }
.cdx-cert-page .f-vetor > .vt-content { position:relative; z-index:3; flex:1; display:flex; flex-direction:column; padding:17mm 22mm 14mm; }
.cdx-cert-page .f-vetor .vt-top { display:flex; justify-content:space-between; align-items:flex-start; }
.cdx-cert-page .f-vetor .vt-top .bmark { width:52mm; }
.cdx-cert-page .f-vetor .vt-top .vt-tag { font-family:var(--mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:#fff; text-align:right; line-height:1.9; opacity:.9; }
.cdx-cert-page .f-vetor .vt-mid { flex:1; display:flex; flex-direction:column; justify-content:center; max-width:174mm; }
.cdx-cert-page .f-vetor .vt-mid .eyebrow { color:var(--pdark); margin-bottom:6mm; }
.cdx-cert-page .f-vetor .vt-mid .lead { font-weight:300; font-size:15px; color:var(--muted); margin-bottom:3mm; }
.cdx-cert-page .f-vetor .vt-mid .name { font-family:var(--inter); font-weight:600; font-size:60px; line-height:.98; letter-spacing:-.02em; color:var(--ink2); }
.cdx-cert-page .f-vetor .vt-mid .gbar { width:64mm; height:5px; border-radius:5px; background:var(--grad); margin:7mm 0 6mm; box-shadow:0 4px 16px var(--glow); }
.cdx-cert-page .f-vetor .vt-mid .stmt { font-size:15px; line-height:1.7; color:var(--ink); max-width:150mm; }
.cdx-cert-page .f-vetor .vt-mid .stmt b { font-weight:600; color:var(--ink2); }
.cdx-cert-page .f-vetor .vt-foot { display:flex; justify-content:space-between; align-items:flex-end; gap:18mm; }
.cdx-cert-page .f-vetor .vt-foot .meta { font-size:10.5px; color:var(--muted); line-height:1.95; letter-spacing:.01em; }
.cdx-cert-page .f-vetor .vt-foot .meta b { color:var(--ink2); font-weight:600; }
.cdx-cert-page .f-vetor .vt-vchip { display:flex; align-items:center; gap:11px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.3); border-radius:14px; padding:8px 12px; backdrop-filter:blur(4px); }
.cdx-cert-page .f-vetor .vt-vchip .qr { width:21mm; height:21mm; }
.cdx-cert-page .f-vetor .vt-vchip .vx { color:#fff; }
.cdx-cert-page .f-vetor .vt-vchip .vx .l { font-family:var(--mono); font-size:8.5px; letter-spacing:.16em; text-transform:uppercase; opacity:.78; }
.cdx-cert-page .f-vetor .vt-vchip .vx .c { font-family:var(--mono); font-weight:600; font-size:15px; letter-spacing:.08em; margin:2px 0; }
.cdx-cert-page .f-vetor .vt-vchip .vx .u { font-size:9.5px; opacity:.82; }

/* ============================================================ CONSOLE */
.cdx-cert-page .f-console { background:#fff; display:flex; flex-direction:column; padding:0; overflow:hidden; }
.cdx-cert-page .f-console .cs-rail { position:absolute; top:0; left:0; bottom:0; width:9mm; background:var(--grad); z-index:2; }
.cdx-cert-page .f-console .cs-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(6,26,81,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(6,26,81,.035) 1px,transparent 1px); background-size:26px 26px; z-index:0; pointer-events:none; }
.cdx-cert-page .f-console .cs-ghost { position:absolute; right:-30mm; top:-30mm; width:130mm; opacity:.05; z-index:0; pointer-events:none; }
.cdx-cert-page .f-console .cs-ghost svg { width:100%; height:auto; display:block; }
.cdx-cert-page .f-console > .cs-wrap { position:relative; z-index:3; flex:1; display:flex; flex-direction:column; padding:16mm 22mm 14mm 30mm; }
.cdx-cert-page .f-console .cs-top { display:flex; justify-content:space-between; align-items:flex-start; }
.cdx-cert-page .f-console .cs-top .bmark { width:50mm; }
.cdx-cert-page .f-console .cs-status { display:flex; align-items:center; gap:8px; font-family:var(--mono); font-size:11px; color:var(--pdark); border:1px solid var(--rule); border-radius:8px; padding:6px 12px; background:var(--paper); }
.cdx-cert-page .f-console .cs-status .d { width:8px; height:8px; border-radius:50%; background:var(--teal); box-shadow:0 0 0 4px rgba(20,184,166,.18); }
.cdx-cert-page .f-console .cs-mid { flex:1; display:flex; flex-direction:column; justify-content:center; }
.cdx-cert-page .f-console .cs-mid .kicker { font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:5mm; }
.cdx-cert-page .f-console .cs-mid .kicker b { color:var(--ink2); }
.cdx-cert-page .f-console .cs-mid .lead { font-weight:300; font-size:15px; color:var(--muted); margin-bottom:2mm; }
.cdx-cert-page .f-console .cs-mid .name { font-family:var(--inter); font-weight:600; font-size:70px; line-height:1; letter-spacing:-.02em; color:var(--ink2); }
.cdx-cert-page .f-console .cs-mid .gbar { width:58mm; height:5px; border-radius:5px; background:var(--grad); margin:6mm 0 6mm; }
.cdx-cert-page .f-console .cs-mid .stmt { font-size:14.5px; line-height:1.7; color:var(--ink); max-width:178mm; }
.cdx-cert-page .f-console .cs-mid .stmt b { font-weight:600; color:var(--ink2); }
.cdx-cert-page .f-console .cs-foot { display:grid; grid-template-columns:1fr auto; gap:18mm; align-items:end; }
.cdx-cert-page .f-console .cs-fields { display:grid; grid-template-columns:1fr 1fr 1fr; gap:5mm 8mm; }
.cdx-cert-page .f-console .cs-fields .fld .k { font-family:var(--mono); font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.cdx-cert-page .f-console .cs-fields .fld .v { font-size:12.5px; color:var(--ink2); font-weight:500; margin-top:2px; }
.cdx-cert-page .f-console .cs-block { width:74mm; border:1px solid var(--rule); border-radius:12px; overflow:hidden; box-shadow:0 12px 30px rgba(6,26,81,.1); }
.cdx-cert-page .f-console .cs-block .bb { display:flex; align-items:center; gap:6px; padding:7px 12px; background:var(--ink2); }
.cdx-cert-page .f-console .cs-block .bb i { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.34); display:inline-block; }
.cdx-cert-page .f-console .cs-block .bb i:nth-child(2){ background:var(--teal); }
.cdx-cert-page .f-console .cs-block .bb span { font-family:var(--mono); font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.72); margin-left:6px; }
.cdx-cert-page .f-console .cs-block .bd { display:flex; align-items:center; gap:12px; padding:12px; background:#fff; }
.cdx-cert-page .f-console .cs-block .bd .qr { width:24mm; height:24mm; }
.cdx-cert-page .f-console .cs-block .bd .tx { font-family:var(--mono); font-size:10px; line-height:1.7; color:var(--muted); min-width:0; overflow-wrap:anywhere; }
.cdx-cert-page .f-console .cs-block .bd .tx .row b { color:var(--pdark); }
.cdx-cert-page .f-console .cs-block .bd .tx .code { font-size:14px; font-weight:600; color:var(--ink2); letter-spacing:.06em; margin-top:3px; }

/* ============================================================ MONOGRAMA */
.cdx-cert-page .f-mono { background:radial-gradient(120% 90% at 18% 8%, rgba(20,184,166,.05), transparent 60%), var(--cream); padding:0; display:flex; }
.cdx-cert-page .f-mono .frame { position:absolute; inset:11mm; border:1px solid var(--rule); z-index:1; pointer-events:none; }
.cdx-cert-page .f-mono .frame::before { content:""; position:absolute; inset:2.4mm; border:1px solid rgba(6,26,81,.10); }
.cdx-cert-page .f-mono .wm { right:-34mm; top:50%; transform:translateY(-50%); width:170mm; opacity:.045; }
.cdx-cert-page .f-mono .inner { position:relative; z-index:2; flex:1; display:flex; flex-direction:column; padding:22mm 26mm; }
.cdx-cert-page .f-mono .m-top { display:flex; justify-content:space-between; align-items:flex-start; }
.cdx-cert-page .f-mono .m-top .bmark { width:46mm; }
.cdx-cert-page .f-mono .m-top .ref { text-align:right; }
.cdx-cert-page .f-mono .m-top .ref .sc { font-size:9px; color:var(--muted); letter-spacing:.28em; }
.cdx-cert-page .f-mono .m-top .ref .no { font-family:var(--inter); font-size:15px; color:var(--ink2); margin-top:3px; letter-spacing:.02em; }
.cdx-cert-page .f-mono .m-body { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.cdx-cert-page .f-mono .m-eyebrow { font-family:var(--inter); font-size:11px; letter-spacing:.44em; text-transform:uppercase; color:var(--pdark); font-weight:600; }
.cdx-cert-page .f-mono .m-orn { display:flex; align-items:center; justify-content:center; gap:11px; margin:11mm 0 9mm; color:var(--muted); }
.cdx-cert-page .f-mono .m-orn::before, .cdx-cert-page .f-mono .m-orn::after { content:""; width:26mm; height:1px; background:linear-gradient(90deg, transparent, var(--rule), transparent); }
.cdx-cert-page .f-mono .m-orn span { font-family:var(--inter); font-style:italic; font-size:15px; color:var(--muted); }
.cdx-cert-page .f-mono .m-name { font-family:var(--inter); font-weight:500; font-size:74px; line-height:1.0; letter-spacing:-.015em; color:var(--ink2); }
.cdx-cert-page .f-mono .m-stmt { font-family:var(--inter); font-weight:400; font-size:17px; line-height:1.75; color:var(--ink); max-width:182mm; margin:9mm auto 0; }
.cdx-cert-page .f-mono .m-stmt b { font-weight:600; color:var(--ink2); font-style:italic; }
.cdx-cert-page .f-mono .m-foot { display:grid; grid-template-columns:1fr 1fr auto; gap:16mm; align-items:end; padding-top:8mm; border-top:1px solid var(--rule); }
.cdx-cert-page .f-mono .m-foot .ft .sc { font-size:8.5px; color:var(--muted); letter-spacing:.26em; display:block; margin-bottom:5px; }
.cdx-cert-page .f-mono .m-foot .ft .vv { font-family:var(--inter); font-size:14px; color:var(--ink2); }
.cdx-cert-page .f-mono .m-foot .sig .ln { width:62mm; border-top:1px solid var(--ink2); margin-bottom:6px; }
.cdx-cert-page .f-mono .m-foot .sig .sg { font-family:var(--inter); font-style:italic; font-size:21px; color:var(--ink2); line-height:1; margin-bottom:7px; margin-top:-2mm; }
.cdx-cert-page .f-mono .m-foot .val { display:flex; align-items:center; gap:11px; }
.cdx-cert-page .f-mono .m-foot .val .qr { width:19mm; height:19mm; box-shadow:0 2px 10px rgba(6,26,81,.10); }
.cdx-cert-page .f-mono .m-foot .val .vt { font-size:9px; color:var(--muted); line-height:1.7; letter-spacing:.02em; }
.cdx-cert-page .f-mono .m-foot .val .vt .c { font-family:var(--inter); font-size:14px; font-weight:600; color:var(--ink2); letter-spacing:.08em; }

/* ============================================================ REDESIGN (shared)
   No serif (names already switched Lora→Inter above); a tidy sans weight for the
   names + the Monograma lead; ONE unified validation block; and a width clamp so
   the Vetor text never crosses into the right colour field. */
.cdx-cert-page .name, .cdx-cert-page .m-name { font-weight:600; letter-spacing:-.015em; text-wrap:balance; }
.cdx-cert-page .f-mono .m-name { font-weight:600; }
.cdx-cert-page .f-mono .m-orn span { font-style:normal; text-transform:uppercase; letter-spacing:.04em; font-size:11px; }
.cdx-cert-page .f-mono .m-top .ref .no { font-weight:600; font-size:13px; }

/* Keep ALL the Vetor front text on the paper side, clear of the gradient slab. */
.cdx-cert-page .f-vetor .vt-mid { max-width:124mm; }
.cdx-cert-page .f-vetor .vt-mid .stmt, .cdx-cert-page .f-vetor .vt-mid .name { max-width:124mm; }

/* Unified validation block (replaces the per-model badges). */
.cdx-cert-page .cert-valblock { display:flex; align-items:center; gap:11px; }
.cdx-cert-page .cert-valblock .cert-val-qr { width:20mm; height:20mm; background:#fff; padding:4px; border-radius:5px; flex:0 0 auto; }
.cdx-cert-page .cert-valblock .cert-val-qr svg { display:block; width:100%; height:100%; }
.cdx-cert-page .cert-val-label { font-family:var(--inter); font-size:8.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--pdark); font-weight:700; }
.cdx-cert-page .cert-val-url { font-size:10.5px; color:var(--muted); margin-top:2px; }
.cdx-cert-page .cert-val-code { font-family:var(--mono); font-size:13.5px; font-weight:600; letter-spacing:.08em; color:var(--ink2); margin-top:1px; }
.cdx-cert-page .cert-val-card { background:#fff; border:1px solid var(--rule); border-radius:12px; padding:8px 13px; box-shadow:0 6px 18px rgba(6,26,81,.08); }
.cdx-cert-page .cert-signed-note { font-family:var(--inter); font-size:8.5px; line-height:1.32; color:var(--pdark); font-weight:600; margin-top:5px; max-width:58mm; }
.cdx-cert-page .cert-signed-note b { font-weight:800; }

/* ============================================================ VERSO (shared) */
.cdx-cert-page .back { padding:15mm 22mm 13mm; display:flex; flex-direction:column; background:var(--paper); color:var(--ink); }
.cdx-cert-page .back .bhead { display:flex; justify-content:space-between; align-items:flex-start; }
.cdx-cert-page .back .bhead .ht .kicker { font-size:11px; letter-spacing:.28em; text-transform:uppercase; color:var(--pdark); font-weight:700; margin-bottom:8px; }
.cdx-cert-page .back .bhead .ht .title { font-family:var(--inter); font-weight:500; font-size:30px; line-height:1.1; color:var(--ink2); letter-spacing:-.01em; max-width:185mm; }
.cdx-cert-page .back .bhead .hc { text-align:right; display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
.cdx-cert-page .back .bhead .hc .bmark { width:42mm; }
.cdx-cert-page .back .bhead .hc .code { font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); font-weight:600; }
.cdx-cert-page .back .bhead .hc .code b { display:block; font-size:13px; letter-spacing:.08em; color:var(--ink2); margin-top:2px; }
.cdx-cert-page .back .rule { width:56px; height:3px; background:var(--accent); margin:12px 0 0; }
.cdx-cert-page .back .bcols { flex:1; display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:18mm; margin-top:7mm; }
.cdx-cert-page .back .curriculum { display:flex; flex-direction:column; min-width:0; }
.cdx-cert-page .back .ci { display:grid; grid-template-columns:40px 1fr; gap:14px; padding:6.5px 0; border-bottom:1px solid var(--rule); align-items:baseline; }
.cdx-cert-page .back .ci:last-child { border-bottom:none; }
.cdx-cert-page .back .ci .n { font-family:var(--inter); font-size:22px; font-weight:600; color:var(--pdark); }
.cdx-cert-page .back .ci h4 { font-family:var(--inter); font-size:14px; font-weight:700; color:var(--ink2); margin-bottom:3px; }
.cdx-cert-page .back .ci p { font-size:12.5px; color:var(--muted); line-height:1.5; margin:0; }
.cdx-cert-page .back .side { display:flex; flex-direction:column; min-width:0; border-left:1px solid var(--rule); padding-left:16mm; }
.cdx-cert-page .back .cargo { display:flex; border:1px solid var(--rule); border-radius:8px; overflow:hidden; margin-bottom:7mm; }
.cdx-cert-page .back .cargo .s { flex:1; padding:11px 6px; text-align:center; border-right:1px solid var(--rule); }
.cdx-cert-page .back .cargo .s:last-child { border-right:none; }
.cdx-cert-page .back .cargo .v { font-family:var(--inter); font-size:23px; font-weight:600; color:var(--ink2); line-height:1; }
.cdx-cert-page .back .cargo .v.sm { font-size:15px; }
.cdx-cert-page .back .cargo .l { font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-top:5px; }
.cdx-cert-page .back .mblk { margin-bottom:5mm; }
.cdx-cert-page .back .mblk .ml { font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:3px; }
.cdx-cert-page .back .mblk .mv { font-size:12.5px; color:var(--ink2); font-weight:500; overflow-wrap:anywhere; }
.cdx-cert-page .back .mblk .mv small { display:block; color:var(--muted); font-weight:400; margin-top:1px; font-size:10.5px; overflow-wrap:anywhere; }
.cdx-cert-page .back .vcard { margin-top:auto; display:flex; align-items:center; gap:12px; background:var(--cream); border:1px solid var(--rule); border-radius:10px; padding:5mm; }
.cdx-cert-page .back .vcard .qr { width:22mm; height:22mm; flex:0 0 auto; }
.cdx-cert-page .back .vcard .tx .b { font-family:var(--inter); font-size:13px; font-weight:600; color:var(--ink2); }
.cdx-cert-page .back .vcard .tx { min-width:0; }
.cdx-cert-page .back .vcard .tx p { font-size:11px; color:var(--ink); margin:2px 0 0; overflow-wrap:anywhere; }
.cdx-cert-page .back .vcard .tx .c { font-weight:700; color:var(--pdark); letter-spacing:.06em; }
.cdx-cert-page .back .pfoot { display:flex; justify-content:space-between; margin-top:6mm; padding-top:8px; border-top:1px solid var(--rule); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); font-weight:600; }

/* ── print: one sheet per A4 landscape page ── */
@media print {
  /* The "A4 landscape" keyword maps straight to the print dialog's Orientation
     control, so it forces landscape even when the dialog's saved default is
     portrait — explicit "297mm 210mm" was silently falling back to portrait on
     some Chrome setups. margin:0 for full-bleed. */
  @page { size:A4 landscape; margin:0; }
  html, body { margin:0; padding:0; }
  /* Force the themed gradients/background colours to print even when the dialog's
     "Background graphics" box is unchecked. Without this the coloured fronts come
     out blank white (the cert "loses all the colours of the preview"). */
  .cdx-cert-page, .cdx-cert-page * { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  /* Chrome's print rasterizer draws an OPAQUE backing rectangle behind any element
     carrying a filter / box-shadow / backdrop-filter / text-shadow once backgrounds
     print — which shows as a white box around the logo and the name on the dark
     themes. Drop these purely-decorative effects in print. The orb/glow blurs are
     on .au-orb/.ho-orb/.glow (filter), NOT on .bmark, so the soft glows survive. */
  .cdx-cert-page * { text-shadow:none !important; box-shadow:none !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important; }
  .cdx-cert-page .bmark { filter:none !important; }
  /* Size the page+sheet to fill the page box. The sheet is 100% of .cdx-cert-page
     (the exact page box) instead of a fixed 297mm×210mm: a fixed mm size rounds a
     sub-pixel over the page box, so the browser shrink-to-fits and that scaling
     leaves the white bars. 100% can't overflow. */
  .cdx-cert-page { display:block; width:297mm; height:210mm; margin:0; overflow:hidden; page-break-after:always; break-after:page; }
  .cdx-cert-page:last-child { page-break-after:auto; break-after:auto; }
  .cdx-cert-page .cdxc-sheet { width:100%; height:100%; box-shadow:none; }
}
