/* LegacyLetter — the generated "Family Legacy & Estate Map" document styling.
   Used by build.html (watermarked preview) and success.html (clean + print). */

.ll-doc{
  --doc-ink:#1b2235; --doc-line:#dfe3ee; --doc-navy:#14213d; --doc-gold:#b8924a;
  background:#fff;color:var(--doc-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:14.5px;line-height:1.55;position:relative;
  padding:48px 52px;border-radius:10px;
  box-shadow:0 1px 2px rgba(20,33,61,.05),0 18px 50px rgba(20,33,61,.12);
}
.ll-doc.is-preview{user-select:none}

/* watermark */
.ll-wm{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  pointer-events:none;z-index:2;
}
.ll-wm::before{
  content:"PREVIEW";font-family:"Iowan Old Style",Palatino,Georgia,serif;
  font-size:clamp(60px,12vw,150px);font-weight:700;letter-spacing:.18em;
  color:rgba(20,33,61,.055);transform:rotate(-24deg);white-space:nowrap;
}
.ll-wm{font-size:0}

/* cover */
.ll-cover{text-align:center;border-bottom:2px solid var(--doc-navy);padding-bottom:28px;margin-bottom:30px}
.ll-crest{display:flex;justify-content:center;margin-bottom:12px}
.ll-coverkicker{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--doc-gold);font-weight:700;margin-bottom:8px}
.ll-covertitle{font-family:"Iowan Old Style",Palatino,Georgia,serif;font-size:clamp(1.8rem,4vw,2.6rem);color:var(--doc-navy);margin:0 0 .35em;line-height:1.1}
.ll-coversub{max-width:30em;margin:0 auto .9em;color:#4a5269;font-size:.96rem}
.ll-covermeta{font-size:.78rem;color:#7a8199;letter-spacing:.02em}

/* sections */
.ll-sec{margin:0 0 26px;page-break-inside:avoid}
.ll-h2{
  font-family:"Iowan Old Style",Palatino,Georgia,serif;font-size:1.18rem;color:var(--doc-navy);
  display:flex;align-items:center;gap:.6rem;margin:0 0 12px;padding-bottom:8px;
  border-bottom:1px solid var(--doc-line);
}
.ll-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;border-radius:7px;background:var(--doc-navy);color:#fff;
  font-family:-apple-system,sans-serif;font-size:.82rem;font-weight:700;flex:none;
}
.ll-sub{font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:#5b6478;margin:16px 0 8px}
.ll-secnote{font-size:.83rem;color:#6b7388;margin:-2px 0 12px;font-style:italic}

/* key-value */
.ll-kv{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--doc-line);border:1px solid var(--doc-line);border-radius:8px;overflow:hidden;margin:0 0 4px}
.ll-kv>div{background:#fff;padding:9px 13px}
.ll-kv dt{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:#7a8199;margin:0 0 1px}
.ll-kv dd{margin:0;font-weight:600;color:var(--doc-ink)}

/* tables */
.ll-table{width:100%;border-collapse:collapse;margin:4px 0 6px;font-size:.9rem}
.ll-table th{
  text-align:left;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;
  color:#6b7388;font-weight:700;padding:7px 10px;border-bottom:1.5px solid var(--doc-navy);
}
.ll-table td{padding:8px 10px;border-bottom:1px solid var(--doc-line);vertical-align:top}
.ll-table tbody tr:nth-child(even) td{background:#fafbfd}
.ll-dash{color:#b4bacb}

.ll-prose{margin:4px 0 8px;white-space:normal}
.ll-quietnote{font-size:.88rem;color:#5b6478;background:#f7f8fc;border-left:3px solid var(--doc-gold);padding:8px 12px;border-radius:0 6px 6px 0}

.ll-empty{padding:40px 0;text-align:center}
.ll-docfoot{margin-top:30px;padding-top:16px;border-top:1px solid var(--doc-line);font-size:.74rem;color:#8189a0;text-align:center;line-height:1.5}

/* ===== Engine B flag callouts (success.html only) ===== */
.ll-flags-wrap{margin:0}
.ll-flag{
  border:1px solid var(--doc-line);border-radius:12px;padding:20px 22px;margin:0 0 16px;
  background:#fff;page-break-inside:avoid;
}
.ll-flag-high{border-left:5px solid #a23b3b;background:#fdf7f6}
.ll-flag-med{border-left:5px solid #b8924a;background:#fcf9f1}
.ll-flag-clear{border-left:5px solid #2f7a5b;background:#f2f9f5}
.ll-flag-head{display:flex;align-items:center;gap:.7rem;margin-bottom:10px;flex-wrap:wrap}
.ll-flag-head h3{margin:0;font-size:1.08rem;color:var(--doc-navy);flex:1 1 auto;font-family:"Iowan Old Style",Palatino,Georgia,serif}
.ll-flag-icon{display:inline-flex;flex:none}
.ll-flag-high .ll-flag-icon{color:#a23b3b}
.ll-flag-med .ll-flag-icon{color:#9a6a16}
.ll-flag-clear .ll-flag-icon{color:#2f7a5b}
.ll-flag-sev{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:20px;background:rgba(20,33,61,.06);color:#5b6478;flex:none}
.ll-flag-high .ll-flag-sev{background:#f4dad7;color:#8e2f2f}
.ll-flag-med .ll-flag-sev{background:#f3e6c8;color:#7d5611}
.ll-flag p{margin:0 0 9px;font-size:.94rem;line-height:1.55}
.ll-flag-tag{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#a23b3b;margin-right:.4rem}
.ll-flag-med .ll-flag-tag{color:#9a6a16}
.ll-flag-tag-do{color:#2f7a5b !important}
.ll-flag-ymyl{font-size:.78rem;color:#7a8199;font-style:italic;margin:10px 0 0 !important;border-top:1px dashed var(--doc-line);padding-top:8px}

@media (max-width:560px){
  .ll-doc{padding:30px 22px}
  .ll-kv{grid-template-columns:1fr}
  .ll-table{font-size:.82rem}
  .ll-table th,.ll-table td{padding:6px 7px}
}

/* ===== Print ===== */
@media print{
  @page{margin:18mm 15mm}
  body{background:#fff !important}
  .no-print{display:none !important}
  .ll-doc{box-shadow:none !important;border-radius:0 !important;padding:0 !important;font-size:11.5pt}
  .ll-wm{display:none !important}
  .ll-sec,.ll-flag{page-break-inside:avoid}
  .ll-cover{page-break-after:auto}
  a{color:#14213d !important;text-decoration:none}
}
