/* Moraph for Good: print a display pack (/commons/print-pack; build/pages/printpack.py, assets/js/pack.js).
   The sheets themselves are styled by sessions.css (handouts) and guides.css (guides); this file lays out the chooser,
   the preview and the printed pack: a contents page, then each sheet on a new page. */
html:not(.js) .js-only{display:none!important}
.js .no-js-only{display:none!important}

.pk-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;align-items:start}
@media (min-width:960px){.pk-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.pk-side{position:sticky;top:96px}}
.pk-form{gap:1.4rem}
.pk-step legend{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap}
.pk-num{font:500 .8rem/1 var(--f-mono);letter-spacing:.1em;color:var(--sun-ink)}
.pk-opt{font:400 .95rem/1.4 var(--f-sans);color:var(--muted)}
.pk-hint{margin:0;color:var(--muted);font-size:.95rem}
.pk-group{border:0;margin:0;padding:0;min-inline-size:0}
.pk-group + .pk-group{margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.pk-group legend{font:600 1rem/1.4 var(--f-sans);margin:0 0 .4rem;padding:0;float:left}
.pk-all{clear:none;float:right;font:500 .88rem/1.3 var(--f-sans);color:var(--text);background:none;border:1px solid var(--line-2);border-radius:999px;padding:.45rem .9rem;min-height:36px;cursor:pointer}
.pk-all:hover{border-color:var(--text)}
.pk-all:focus-visible{outline:2px solid var(--sun-ink);outline-offset:2px}
.pk-checks{clear:both;display:grid;gap:.7rem;padding-top:.8rem}
.pk-check label,.pk-radios label{cursor:pointer;overflow-wrap:anywhere;min-width:0}
.pk-meta{display:block;font-size:.8rem;color:var(--muted);margin-top:.1rem}
.pk-meta.mono{font-family:var(--f-mono);letter-spacing:0}
.pk-radios{display:grid;gap:.7rem}
@media (max-width:420px){.pk-group legend,.pk-all{float:none}.pk-all{display:block;margin-bottom:.2rem}}

.pk-bar{padding:1.6rem;border-radius:20px;background:var(--paper-3);border:1px solid var(--line)}
.pk-bar .mono{margin:0 0 .4rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pk-est{font-family:var(--f-display);font-size:1.25rem;line-height:1.35;margin:0 0 .6rem;color:var(--text)}
.pk-status{margin:0;font-size:.95rem;color:var(--body)}
.pk-status.is-busy{color:var(--muted)}
.pk-status.is-ok{color:var(--ok);font-weight:500}
.pk-status.is-error{color:var(--err-ink);background:var(--err-bg);border:1px solid var(--err-line);border-radius:12px;padding:.8rem 1rem}
@media screen and (prefers-color-scheme:dark){:root:not([data-theme=light]) .pk-status.is-ok{color:var(--leaf)}}
@media screen{:root[data-theme=dark] .pk-status.is-ok{color:var(--leaf)}}
.pk-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.2rem}
.pk-actions .btn{height:auto;min-height:48px;padding:.7rem 1.3rem;line-height:1.2}
.pk-actions .btn:disabled{opacity:.5;cursor:not-allowed}
.pk-tip{margin:1rem 0 0;font-size:.88rem;color:var(--muted)}

.pk-nojs{margin-bottom:2rem}
.pk-nojs-country{border-top:1px solid var(--callout-line);padding:.7rem 0}
.pk-nojs-country summary{cursor:pointer;font-weight:600}
.pk-nojs-prog{margin:1rem 0 .2rem;font-weight:600}
.pk-nojs ul{margin:.2rem 0 0;padding-left:1.2rem}
.pk-nojs li{margin:.3rem 0}

/* The preview: the pack as paper, light in either theme */
.pk-preview{margin-top:3rem}
.pk-preview-label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.pk-doc{display:grid;gap:2rem;border-radius:14px;
  --paper:#f5efe3; --paper-2:#ede5d4; --paper-3:#faf7f0; --white:#fff; --text:#13201b; --body:#2b3933; --muted:#52615a;
  --line:#ddd2bd; --line-2:#cbbfa6; --sun-ink:#8f5300; --callout:#fbefd9; --callout-line:#efd6a8; --callout-ink:#4a3410;
  --callout-strong:#2e2006; --ember-ink:#b33a0b; color-scheme:light}
.pk-doc:focus-visible{outline:2px solid var(--sun);outline-offset:6px}
.pk-doc .sheet{margin:0;max-width:none;width:100%}
.pk-doc .pk-guide{color:var(--text)}
.pk-short{margin:0 0 .8rem;font-size:.72rem;letter-spacing:.06em;color:#5a625e;overflow-wrap:anywhere}
.pk-guide .gd-body{max-width:none}
.pk-guide .pk-part{margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid #9aa29e}
.pk-guide .pk-part .sticky{position:static}
.pk-guide .first-hour li{border-color:var(--line)}
.pk-guide .first-hour li p,.pk-guide .gd-report{color:var(--body)}
.pk-guide .first-hour li strong{color:var(--text)}
.pk-guide .gd-report a{color:inherit}
.pk-guide .eyebrow{color:var(--sun-ink)}
.pk-guide h3{font-family:var(--f-display);font-weight:400;font-size:1.5rem;line-height:1.25;margin:1.6rem 0 .6rem}
.pk-guide h4{font-size:1.1rem;margin:1.2rem 0 .4rem}
.pk-toc{list-style:none;counter-reset:pk;padding:0;margin:1.4rem 0 0}
.pk-toc li{counter-increment:pk;display:grid;grid-template-columns:2.2rem minmax(0,1fr);column-gap:.6rem;padding:.7rem 0;border-top:1px solid #9aa29e;break-inside:avoid}
.pk-toc li:last-child{border-bottom:1px solid #9aa29e}
.pk-toc li::before{content:counter(pk,decimal-leading-zero);grid-row:span 3;font:500 .8rem/1.6 var(--f-mono);color:#8a5a00}
.pk-toc strong{font-weight:600}
.pk-toc-kind{font-size:.85rem;color:#5a625e}
.pk-toc-addr{font-size:.8rem;overflow-wrap:anywhere}
.pk-noprint-note{display:none}

@media print{
  /* Only the pack prints: no hero, chooser, sign-up or call to action */
  main:has(.pk-page) > section:not(.pk-page),.pk-layout,.pk-nojs,.pk-preview-label{display:none!important}
  .pk-preview{margin:0}
  .pk-doc{display:block;gap:0}
  .pk-doc .sheet{border:0;border-radius:0;padding:0;background:#fff}
  .pk-item{break-before:page}
  /* A sheet's last bottom margin would be dropped at the page break anyway; dropping it here keeps the measured counts exact */
  .pk-doc .sheet > :last-child,.pk-doc .sheet > :last-child > :last-child{margin-bottom:0}
  .pk-guide .pk-part{break-before:auto}
  .pk-guide .split{display:block}
  /* Nothing put together yet: say where to start instead of printing an empty page */
  .pk-preview[hidden] + .pk-noprint-note{display:block;font-size:12pt}
  /* The contents page: two columns, so a full pack's list fits on one page in normal print */
  .pk-cover .ws-intro{font-size:10.5pt}
  .pk-toc{columns:2;column-gap:8mm;margin-top:4mm}
  .pk-toc li{padding:1.6mm 0;font-size:10pt;line-height:1.3}
  .pk-toc li:last-child{border-bottom:0}
  .pk-toc-kind,.pk-toc-addr{font-size:8.5pt}
  .pk-cover .ws-foot{margin-top:5mm}
  html.print-large .pk-cover .ws-intro,html.print-large .pk-toc li{font-size:16pt}
  html.print-large .pk-toc{columns:1}
  html.print-large .pk-toc-kind,html.print-large .pk-toc-addr,html.print-large .pk-short{font-size:16pt}
}
