/* Bright Path branded document/print stylesheet — Navy & Gold Standard
   Shared by the Blueprint generator and all future client tools/exports.
   Usage: <link rel="stylesheet" href="print.css">
   Pages mark their editing UI with .no-print and the client document with .bp-doc. */

.bp-doc {
  background: #fff;
  color: #333d4d;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  line-height: 1.6;
  max-width: 8.5in;
  margin: 0 auto;
  box-shadow: 0 10px 30px rgba(16, 28, 51, .12);
  border-radius: 12px;
  overflow: hidden;
}

/* Document band (header) */
.bp-doc-band {
  background: #1b2a4a;
  color: #fff;
  padding: 26px 36px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.bp-doc-band .bp-doc-title { font-family: 'DM Serif Display', serif; font-size: 25px; }
.bp-doc-band .bp-doc-sub { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: #b58a2e; font-weight: 800; margin-top: 4px; }
.bp-doc-band .bp-mark {
  width: 44px; height: 44px; border-radius: 50%; background: #b58a2e; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 15px; color: #fff;
}

.bp-doc-body { padding: 30px 36px; }

/* Section headings inside documents */
.bp-doc h2.bp-sec {
  font-family: 'DM Serif Display', serif;
  font-size: 17px;
  color: #1b2a4a;
  border-bottom: 2px solid #b58a2e;
  padding-bottom: 6px;
  margin: 22px 0 12px;
}
.bp-doc h2.bp-sec:first-child { margin-top: 0; }

/* Purpose statement */
.bp-purpose {
  font-family: 'DM Serif Display', serif;
  font-size: 18px;
  color: #1b2a4a;
  background: #f5eedd;
  border-left: 4px solid #b58a2e;
  border-radius: 0 10px 10px 0;
  padding: 16px 22px;
  font-style: italic;
}

/* Meta row (client / date) */
.bp-meta { display: flex; gap: 30px; margin-bottom: 18px; font-size: 12px; color: #68738a; }
.bp-meta b { color: #1b2a4a; font-weight: 700; }

/* Numbered goal list */
.bp-goals { list-style: none; counter-reset: goal; padding: 0; }
.bp-goals li {
  counter-increment: goal;
  display: flex; align-items: baseline; gap: 12px;
  padding: 8px 0; border-bottom: 1px solid #e4e6ea;
  font-size: 13.5px;
}
.bp-goals li::before {
  content: counter(goal);
  font-family: 'DM Serif Display', serif;
  color: #b58a2e; font-size: 17px; min-width: 20px; text-align: center;
}

/* Action checklist */
.bp-actions { list-style: none; padding: 0; }
.bp-actions li { display: flex; align-items: baseline; gap: 10px; padding: 7px 0; font-size: 13px; }
.bp-actions li::before {
  content: "";
  width: 13px; height: 13px; border: 2px solid #1b2a4a; border-radius: 3px;
  flex-shrink: 0; transform: translateY(2px);
}
.bp-actions li .bp-due { margin-left: auto; color: #68738a; font-size: 11.5px; white-space: nowrap; }
.bp-actions li.bp-done::before { background: #1b2a4a; }
.bp-actions li.bp-done { color: #68738a; text-decoration: line-through; }
.bp-actions li.bp-done .bp-due { text-decoration: none; }

/* Signal red — debt / needs attention only */
.bp-attention { color: #9e2b25; font-weight: 700; }

/* Document footer */
.bp-doc-footer {
  border-top: 1px solid #e4e6ea;
  margin-top: 26px; padding-top: 14px;
  display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  font-size: 10.5px; color: #68738a;
}
.bp-doc-footer .bp-tagline { font-style: italic; color: #1b2a4a; font-weight: 600; }
.bp-doc-disclaimer { font-size: 9.5px; color: #9aa3b5; margin-top: 8px; line-height: 1.5; }

/* ---------- Print rules ---------- */
@media print {
  @page { size: letter; margin: 0.5in; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  body { background: #fff !important; padding: 0 !important; }
  .no-print { display: none !important; }
  .bp-doc { box-shadow: none; border-radius: 0; max-width: none; margin: 0; }
  .bp-doc-band { border-radius: 0; }
  .bp-doc, .bp-purpose, .bp-goals li, .bp-actions li { break-inside: avoid; }
}
