/* Advisor pack — see docs/UX.md §Advisor pack, docs/STYLE-GUIDE.md §10.
 *
 * Two presentations: an on-screen reading column and an A4/letter print
 * layout. The print rules strip nav chrome, dial the background to
 * paper, and force matrix rows not to page-break mid-record. */

.pack-hero {
  min-height: 100dvh;
  padding: var(--space-12) var(--space-6) var(--space-12);
  color: var(--color-text-body);
  display: grid;
  place-content: center;
}

.pack-column {
  display: grid;
  grid-template-columns: minmax(0, 64ch);
  gap: var(--space-5);
  text-align: left;
}

.pack-empty {
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  color: var(--color-text-muted);
  padding: var(--space-4);
  border: 1px dashed var(--color-border-secondary);
  border-radius: var(--radius-md);
}

.pack-header {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-5);
  background: var(--color-bg-elevated);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border-secondary);
}

.pack-section {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-5);
  background: var(--color-bg-elevated);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border-secondary);
}

.pack-section-title {
  font-family: var(--font-display);
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--color-text-heading);
  margin: 0;
}

.pack-summary,
.pack-negative-space {
  display: grid;
  gap: var(--space-2);
  padding: var(--space-5);
  border-inline-start: 3px solid var(--color-accent-bounded);
  background: var(--color-accent-bounded-subtle);
  border-radius: var(--radius-md);
  color: var(--color-text-bounded);
}

.pack-summary p,
.pack-negative-space p {
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  line-height: 1.55;
  margin: 0;
}

.pack-footer {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  justify-content: flex-end;
  margin-block-start: var(--space-4);
}

@media (max-width: 480px) {
  .pack-hero {
    padding: var(--space-8) var(--space-4);
  }
  .pack-header,
  .pack-section,
  .pack-summary,
  .pack-negative-space {
    padding: var(--space-4);
  }
}

/* Print rules: paper background, no nav/button chrome, no shadows,
 * monochrome borders, page-break discipline. */
@media print {
  @page {
    size: A4;
    margin: 18mm 16mm;
  }
  body,
  .pack-hero {
    background: #ffffff !important;
    color: #111111 !important;
  }
  .pack-hero {
    padding: 0;
    place-content: stretch;
    min-height: 0;
  }
  .pack-column {
    grid-template-columns: 1fr;
    gap: 8mm;
  }
  .home-nav-link,
  .pack-footer,
  .version-stamp {
    display: none !important;
  }
  .pack-header,
  .pack-section,
  .pack-summary,
  .pack-negative-space {
    background: #ffffff !important;
    color: #111111 !important;
    border: 1px solid #cccccc !important;
    border-radius: 0 !important;
    padding: 6mm !important;
    page-break-inside: avoid;
  }
  .pack-summary,
  .pack-negative-space {
    border-inline-start-width: 2pt !important;
    border-inline-start-color: #4b5fa4 !important;
  }
  .hero-headline,
  .pack-section-title {
    color: #111111 !important;
    page-break-after: avoid;
  }
  .matrix-row {
    page-break-inside: avoid;
  }
}
