/* ============================================================
   PRINT SYSTEM
   1) @media print rules for regular pages (clean output)
   2) .sheet system for the A4 printable pack (screen + print)
   ============================================================ */

/* -------------------------------------------------
   1) Global print cleanup for standard site pages
   ------------------------------------------------- */
@media print {
  .site-head, .site-foot, .nav-toggle, .btn, .week-nav,
  .progress-strip, .hero__cta, .skip, .no-print { display: none !important; }
  body { background: #fff; color: #000; }
  a { color: #000; text-decoration: none; }
  .band--dark { background: #fff !important; color: #000 !important; }
  .band--dark h1, .band--dark h2, .band--dark h3, .band--dark h4 { color: #000 !important; }
  .section { padding-block: 1.2rem; }
}

/* -------------------------------------------------
   2) A4 printable pack — used by /printables/print.html
      Renders each "sheet" as one A4 page. Works on screen
      (previewed on a canvas) and prints 1 sheet : 1 page.
   ------------------------------------------------- */
:root {
  --sheet-w: 210mm;
  --sheet-h: 297mm;
  --sheet-pad: 16mm;
}

.print-stage {
  background: #E7DECF;
  padding: 24px 12px 60px;
  display: flex; flex-direction: column; align-items: center; gap: 20px;
}
.print-toolbar {
  position: sticky; top: 0; z-index: 10; width: 100%;
  background: var(--c-ink); color: var(--c-page);
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 0.8rem clamp(1rem, 4vw, 2rem); flex-wrap: wrap;
}
.print-toolbar .ttl { font-family: var(--font-serif); font-size: 1.1rem; letter-spacing: 0.02em; }
.print-toolbar .actions { display: flex; gap: 0.6rem; }

.sheet {
  width: var(--sheet-w); min-height: var(--sheet-h);
  background: #FCF9F3; color: #201C17;
  padding: var(--sheet-pad);
  box-shadow: 0 10px 40px -18px rgba(0,0,0,0.5);
  position: relative;
  display: flex; flex-direction: column;
  font-family: var(--font-sans); font-size: 10.2pt; line-height: 1.5;
}
.sheet * { max-width: none; }

/* Sheet chrome */
.sheet__head {
  display: flex; align-items: flex-start; justify-content: space-between;
  border-bottom: 1.5pt solid #201C17; padding-bottom: 8pt; gap: 12pt;
}
.sheet__brand { font-family: var(--font-serif); text-transform: uppercase; letter-spacing: 0.08em;
  font-size: 12pt; font-weight: 600; }
.sheet__brand .dot { color: #6B6A48; }
.sheet__kicker { font-size: 6.6pt; letter-spacing: 0.24em; text-transform: uppercase; color: #6A6154; }
.sheet__wk { text-align: right; }
.sheet__wk .w { font-family: var(--font-serif); font-size: 22pt; line-height: 0.9; color: #6B6A48; }
.sheet__wk .l { font-size: 6.6pt; letter-spacing: 0.2em; text-transform: uppercase; color: #6A6154; }

.sheet__type { font-size: 7pt; letter-spacing: 0.26em; text-transform: uppercase; color: #6B6A48; margin-top: 12pt; }
.sheet__title { font-family: var(--font-serif); font-size: 22pt; line-height: 1.05; margin-top: 3pt; font-weight: 500; }
.sheet__purpose { color: #3B352D; font-size: 9.4pt; margin-top: 5pt; max-width: 58ch; }

.sheet__body { margin-top: 12pt; flex: 1; }
.sheet__body > * + * { margin-top: 10pt; }

.sheet-sec { break-inside: avoid; }
.sheet-sec__h {
  font-family: var(--font-sans); font-weight: 600; font-size: 9pt; letter-spacing: 0.12em;
  text-transform: uppercase; color: #201C17; border-bottom: 0.6pt solid #DED2BE;
  padding-bottom: 3pt; margin-bottom: 5pt;
  display: flex; align-items: baseline; gap: 6pt;
}
.sheet-sec__h::before { content: ""; width: 5pt; height: 5pt; background: #6B6A48; transform: rotate(45deg); display: inline-block; }
.sheet-sec p { font-size: 9.4pt; color: #201C17; }
.sheet-sec ul { list-style: none; padding: 0; margin: 0; }
.sheet-sec ul li { position: relative; padding-left: 13pt; margin-top: 3.5pt; font-size: 9.4pt; }
.sheet-sec ul li::before { content: ""; position: absolute; left: 0; top: 5pt;
  width: 4pt; height: 4pt; border: 0.8pt solid #6B6A48; transform: rotate(45deg); }

/* Two-column zones inside a sheet */
.sheet-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 12pt; }

/* Writable lines for worksheets */
.write-lines { margin-top: 4pt; }
.write-lines .ln { border-bottom: 0.5pt solid #C9BDA9; height: 15pt; }

/* Checkbox rows */
.check-row { display: flex; gap: 7pt; align-items: flex-start; margin-top: 4pt; font-size: 9.4pt; }
.check-row .bx { width: 9pt; height: 9pt; border: 0.8pt solid #201C17; flex: none; margin-top: 1.5pt; border-radius: 1pt; }

.sheet__foot {
  margin-top: 12pt; padding-top: 6pt; border-top: 0.6pt solid #DED2BE;
  display: flex; justify-content: space-between; gap: 10pt;
  font-size: 6.8pt; letter-spacing: 0.14em; text-transform: uppercase; color: #6A6154;
}

/* Screen preview scaling on small viewports */
@media (max-width: 800px) {
  .print-stage { padding: 12px 0 40px; }
  .sheet { width: 100%; min-height: auto; box-shadow: none; padding: 20px; }
}

/* Actual printing: one sheet per physical page */
@media print {
  @page { size: A4; margin: 0; }
  html, body { background: #fff; }
  .print-stage { background: #fff; padding: 0; gap: 0; }
  .print-toolbar, .no-print { display: none !important; }
  .sheet {
    width: 210mm; min-height: 297mm; box-shadow: none; margin: 0;
    break-after: page; page-break-after: always;
  }
  .sheet:last-child { break-after: auto; page-break-after: auto; }
}
