/* Commons guides (build/pages/commons_guides.py). Builds on the field-guide layout in org.css:
   .split, .sticky, .guide-toc, .guide-item, .prose, .first-hour. */

.gd-aside .guide-toc{max-height:calc(100vh - 220px);overflow:auto;padding-right:.4rem;scrollbar-width:thin}
.gd-note{margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--line);font-size:.88rem;color:var(--muted);line-height:1.55}
@media (max-width:900px){.gd-aside .guide-toc{max-height:none;overflow:visible}}
.gd-body{max-width:46rem;min-width:0}
.prose .btn--ink{color:var(--ink-fg);text-decoration:none}
.prose p.btns{margin:1.4rem 0}
.gd-body .guide-item h3:first-child{margin-top:0}
.gd-body .guide-item>ul:last-child,.gd-body .guide-item>ol:last-child{margin-bottom:0}
.gd-lead{margin-bottom:3rem}
.gd-callout{margin-bottom:3rem}

/* Questions to ask (Before you sign) */
.prose .gd-ask{list-style:none;padding:0;margin:0 0 1.6rem;counter-reset:ask;border-top:1px solid var(--line)}
.prose .gd-ask li{counter-increment:ask;position:relative;padding:1.1rem 0 1.1rem 2.6rem;border-bottom:1px solid var(--line);margin:0}
.gd-ask li::before{content:counter(ask,decimal-leading-zero);position:absolute;left:0;top:1.25rem;font-family:var(--f-mono);font-size:.72rem;color:var(--sun-ink)}
.gd-ask strong{display:block;font-weight:600;color:var(--text);line-height:1.45}
.gd-ask span{display:block;margin-top:.35rem;font-size:.93rem;color:var(--muted)}

/* Tables */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.6rem 0;border:1px solid var(--line);border-radius:16px;background:var(--paper-3)}
.table-scroll:focus-visible{outline-offset:2px}
.gd-table{width:100%;border-collapse:collapse;font-size:.92rem;line-height:1.45}
.gd-table caption{text-align:left;padding:1rem 1.2rem .2rem;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.gd-table th,.gd-table td{padding:.85rem 1.2rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.gd-table thead th{font-family:var(--f-mono);font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line-2);white-space:nowrap}
.gd-table tbody th{font-weight:600;color:var(--text)}
.gd-table tbody tr:last-child th,.gd-table tbody tr:last-child td{border-bottom:0}
.gd-table td{color:var(--body)}
.gd-table a{color:var(--text)}
.gd-table--compare{min-width:520px}
.gd-table--compare tbody th{font-weight:500;width:46%}
.gd-table--compare td{width:17%;min-width:5.5rem;border-left:1px dashed var(--line)}
.gd-table--summary{min-width:560px}
.prose .gd-table li{margin:0}

/* Country cards (Privacy basics) */
.gd-dl{display:grid;grid-template-columns:9.5rem minmax(0,1fr);margin:0;border-top:1px solid var(--line)}
.gd-dl dt,.gd-dl dd{margin:0;padding:1rem 0;border-bottom:1px solid var(--line)}
.gd-dl dt{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:1.2rem;padding-right:1rem}
.gd-dl dd{color:var(--body);font-size:.97rem}
@media (max-width:640px){.gd-dl{grid-template-columns:1fr}.gd-dl dt{border-bottom:0;padding-bottom:0}.gd-dl dd{padding-top:.3rem}}
.gd-status{margin:1.2rem 0 0;padding:1rem 1.2rem;border-radius:12px;background:var(--callout);border:1px solid var(--callout-line);color:var(--callout-ink);font-size:.93rem}
.gd-status .mono{display:block;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sun-ink);margin-bottom:.25rem}
.prose .gd-links{list-style:none;padding:0;margin:1.2rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem}
.prose .gd-links li{margin:0}
.gd-links a{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border:1px solid var(--line-2);border-radius:999px;font-size:.86rem;text-decoration:none;color:var(--text);transition:border-color .2s,background .2s}
.gd-links a::after{content:"\2197";font-size:.8em;color:var(--sun-ink)}
.gd-links a:hover{border-color:var(--text);background:var(--paper-3)}

/* Program directory */
.gd-progs{display:grid;gap:1rem}
.gd-prog{padding:1.5rem 1.6rem;border-radius:18px;background:var(--paper-3);border:1px solid var(--line)}
.gd-prog .mono{margin:0 0 .3rem;color:var(--sun-ink);letter-spacing:.06em}
.prose .gd-prog h3{margin:0 0 .9rem;font-family:var(--f-display);font-weight:380;font-size:1.4rem;letter-spacing:-.01em}
.gd-prog dl{margin:0;display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:.55rem 1rem;font-size:.95rem}
.gd-prog dt{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:.25rem}
.gd-prog dd{margin:0;color:var(--body)}
@media (max-width:640px){.gd-prog dl{grid-template-columns:1fr;gap:.2rem}.gd-prog dd{margin-bottom:.6rem}}
.gd-prog-foot{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem;margin:1.1rem 0 0;padding-top:1rem;border-top:1px solid var(--line);font-size:.9rem}
.gd-prog-foot a{font-weight:600}
.gd-checked{margin-left:auto;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

/* Numbered lists with a title and description */
.prose .gd-fails,.prose .gd-fixes{list-style:none;padding:0;margin:0 0 1.6rem;border-top:1px solid var(--line)}
.prose .gd-fails li,.prose .gd-fixes li{position:relative;margin:0;padding:1rem 0 1rem 2.4rem;border-bottom:1px solid var(--line)}
.gd-fails li::before{content:"";position:absolute;left:.15rem;top:1.35rem;width:.95rem;height:.95rem;background:linear-gradient(45deg,transparent 43%,var(--ember-ink) 43%,var(--ember-ink) 57%,transparent 57%),linear-gradient(-45deg,transparent 43%,var(--ember-ink) 43%,var(--ember-ink) 57%,transparent 57%)}
.prose .gd-fixes{counter-reset:fix}
.prose .gd-fixes li{counter-increment:fix;scroll-margin-top:100px}
.gd-fixes li::before{content:counter(fix,decimal-leading-zero);position:absolute;left:0;top:1.15rem;font-family:var(--f-display);font-size:1.25rem;font-weight:300;color:var(--sun-ink);line-height:1}
.gd-fails strong,.gd-fixes strong{display:block;font-weight:600;color:var(--text)}
.gd-fails span,.gd-fixes span{display:block;margin-top:.25rem;color:var(--body);font-size:.97rem}

/* Callback steps (light background) */
.gd-steps{counter-reset:st;list-style:none;padding:0!important;margin:0 0 1.6rem}
.gd-steps li{counter-increment:st;display:grid;grid-template-columns:3rem 1fr;gap:.8rem;margin:0;padding:1.1rem 0;border-bottom:1px solid var(--line)}
.gd-steps li:first-child{border-top:1px solid var(--line)}
.gd-steps li::before{content:counter(st);font-family:var(--f-display);font-size:2rem;font-weight:300;line-height:1;color:var(--sun-ink)}
.gd-steps p{margin:0;color:var(--body)}
.gd-steps strong{display:block;color:var(--text);font-weight:600;margin-bottom:.15rem}

/* Briefing script */
.gd-script{position:relative;margin:1.4rem 0 0;padding:2rem 2rem 1.4rem 2.4rem;border-radius:18px;background:var(--paper-3);border:1px solid var(--line);font-family:var(--f-display);font-size:1.12rem;line-height:1.55;color:var(--text)}
.gd-script::before{content:"";position:absolute;left:0;top:1.6rem;bottom:1.6rem;width:3px;border-radius:3px;background:var(--sun)}
@media (max-width:640px){.gd-script{padding:1.4rem 1.2rem 1rem 1.5rem;font-size:1.04rem}}

/* Report list on night */
.gd-report{color:var(--on-night-2);padding-left:1.2rem}
.gd-report a{color:var(--sun-2)}

/* Sources */
.gd-reviewed{margin-top:2rem;font-family:var(--f-display);font-size:1.5rem;font-weight:340}
.gd-reviewed .mono{display:block;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sun-ink);margin-bottom:.2rem}
.gd-sources{list-style:none;padding:0;margin:0;counter-reset:src;border-top:1px solid var(--line-2)}
.gd-sources li{counter-increment:src;position:relative;display:grid;gap:.15rem;padding:1rem 0 1rem 2.6rem;border-bottom:1px solid var(--line-2)}
.gd-sources li::before{content:counter(src,decimal-leading-zero);position:absolute;left:0;top:1.1rem;font-family:var(--f-mono);font-size:.72rem;color:var(--sun-ink)}
.gd-sources .mono{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.gd-sources a{color:var(--text);font-weight:500;text-decoration-color:var(--sun)}
.gd-url{font-family:var(--f-mono);font-size:.72rem;color:var(--muted);overflow-wrap:anywhere}

/* Poster (/commons/payment-fraud/poster) */
.poster-wrap{padding:clamp(2rem,1rem + 3vw,4rem) 0 clamp(3rem,2rem + 4vw,6rem)}
.poster-tools{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;align-items:center;margin:0 auto 1.6rem;max-width:820px;font-size:.92rem}
.poster{max-width:820px;margin:0 auto;background:var(--night);color:var(--on-night);border-radius:28px;padding:clamp(2rem,1.2rem + 4vw,4.2rem);position:relative;overflow:hidden;isolation:isolate}
.poster::before{content:"";position:absolute;width:520px;height:520px;right:-200px;top:-260px;border-radius:50%;background:radial-gradient(circle,var(--sun) 0,#e8792c 45%,rgba(232,121,44,0) 70%);opacity:.75;z-index:-1}
.poster-kicker{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sun);margin:0 0 1rem}
.poster-title{font-family:var(--f-display);font-weight:300;font-size:clamp(2.6rem,1.6rem + 4.4vw,5rem);line-height:.98;letter-spacing:-.03em;margin:0 0 1.2rem}
.poster-title em{font-style:italic;color:var(--sun-2)}
.poster-sub{font-family:var(--f-display);font-size:clamp(1.1rem,1rem + .4vw,1.35rem);line-height:1.4;color:var(--on-night-2);max-width:34em;margin:0}
.poster-steps{list-style:none;counter-reset:ps;padding:0;margin:2.4rem 0 0;border-top:1px solid var(--line-night-2)}
.poster-steps li{counter-increment:ps;display:grid;grid-template-columns:3.2rem 1fr;gap:.2rem 1rem;padding:1.05rem 0;border-bottom:1px solid var(--line-night-2)}
.poster-steps li::before{content:counter(ps);grid-row:span 2;font-family:var(--f-display);font-size:2.4rem;font-weight:300;line-height:1;color:var(--sun)}
.poster-steps strong{font-size:1.15rem;font-weight:600}
.poster-steps span{color:var(--on-night-2);font-size:.98rem;line-height:1.5}
.poster-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;margin-top:2rem;font-size:.98rem;color:var(--on-night-2)}
.poster-foot strong{color:var(--on-night)}
.poster-fill{display:flex;align-items:flex-end;gap:.6rem;margin-top:.9rem;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--on-night-3)}
.poster-blank{flex:1;min-width:8rem;max-width:22rem;border-bottom:1.5px solid var(--on-night-3)}
.poster-brand{display:flex;align-items:center;gap:.5rem;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.06em;color:var(--on-night-3)}
.poster-brand .logo__mark{width:16px;height:16px}

@media print{
  @page{margin:12mm}
  .site-header,.site-footer,.skip,.no-print,.cta-band{display:none!important}
  body{background:#fff}
  .poster-wrap{padding:0}
  .poster-wrap .wrap{padding:0;max-width:none}
  .poster{max-width:none;border-radius:0;padding:14mm 12mm;background:#fff!important;color:#000;border:3px solid #000;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .poster::before{display:none}
  .poster-kicker,.poster-steps li::before{color:#000}
  .poster-title{font-size:46pt;color:#000}
  .poster-title em{color:#000;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}
  .poster-sub,.poster-steps span,.poster-foot,.poster-brand{color:#222}
  .poster-steps,.poster-steps li{border-color:#000}
  .poster-foot strong{color:#000}
  .poster-blank{border-color:#000}
  .poster-steps li{break-inside:avoid}
  .poster{padding:9mm 10mm;font-size:10.5pt}
  .poster-kicker{margin-bottom:3mm}
  .poster-title{font-size:40pt;margin-bottom:4mm}
  .poster-sub{font-size:12.5pt}
  .poster-steps{margin-top:6mm}
  .poster-steps li{padding:3mm 0;grid-template-columns:12mm 1fr}
  .poster-steps li::before{font-size:24pt}
  .poster-steps strong{font-size:12pt}
  .poster-steps span{font-size:10.5pt}
  .poster-foot{margin-top:6mm;display:block}
  .poster-foot>div{margin-bottom:3mm}
  .poster-blank{min-width:55mm;max-width:none}
  .poster-fill{color:#222}
  main{break-inside:avoid}
  /* Guides print cleanly too */
  .page-hero{background:#fff;color:#000}
  .page-hero .arc{display:none}
  .page-hero .h1,.page-hero .lede,.page-hero .crumbs,.page-hero .tag{color:#000}
  .gd-aside{display:none}
  .split{display:block}
  .night{background:#fff;color:#000}
  .first-hour li p,.first-hour li strong,.gd-report{color:#000}
  .table-scroll{overflow:visible;border-color:#999}
  .gd-table--compare,.gd-table--summary{min-width:0}
}

/* Deadlines by jurisdiction (Records requests) */
.prose .gd-deadlines{list-style:none;padding:0;margin:1.6rem 0 0;border-top:1px solid var(--line-2)}
.prose .gd-deadlines li{margin:0;padding:1.3rem 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,13rem) minmax(0,1fr);gap:.3rem 1.6rem}
.gd-dl-head strong{display:block;font-weight:600;color:var(--text)}
.gd-dl-head span{display:block;font-size:.88rem;color:var(--muted);line-height:1.4;margin-top:.2rem}
.gd-dl-time{margin:0;font-family:var(--f-display);font-size:1.18rem;line-height:1.38;color:var(--text)}
.gd-dl-note{grid-column:2;margin:.2rem 0 0;font-size:.9rem;color:var(--muted)}
.gd-dl-note a{white-space:nowrap}
@media (max-width:640px){.prose .gd-deadlines li{grid-template-columns:1fr}.gd-dl-note{grid-column:1}}
.gd-dl-head{grid-row:span 2}
@media (max-width:640px){.gd-dl-head{grid-row:auto}.poster::before{right:-330px;top:-380px;opacity:.6}.poster-kicker{letter-spacing:.12em}}
