/* ===================== FILE > PRINT TO PDF ===================== */
/* The print copy (#printRoot) is built by print-pdf.js only when File > Print to PDF is clicked,
   and removed again after printing. It never shows on screen. */
#printRoot{display:none;}

@media print{
  @page{ size:A4 portrait; margin:0; }
  html, body{ background:#FFFFFF !important; margin:0 !important; padding:0 !important; }
  body.sidebar-open{ overflow:visible !important; }
  body > *:not(#printRoot){ display:none !important; }

  #printRoot{
    display:block !important;
    /* Everything prints in #B33F40 on white. The app's colour tokens are remapped here so the
       chart SVGs (which read these variables) follow the same scheme. */
    --pp-ink:#B33F40;
    --bg-deep:#FFFFFF; --bg-panel:#FFFFFF; --bg-panel-2:#FFFFFF;
    --gold:#B33F40; --gold-soft:#B33F40; --maroon:#B33F40;
    --ink:#B33F40; --ink-dim:#B33F40; --line:#E7C4C4;
    --good:#B33F40; --retro:#B33F40;
    --chart-bg:#FFFFFF; --chart-panel:#FFFFFF; --chart-line:#D9A5A5; --chart-accent:#B33F40;
    --chart-text:#B33F40; --chart-dim:#B33F40; --chart-faint:#D9A5A5;
    --chart-highlight:#F8E3E3; --chart-highlight-2:#FBEFEF; --chart-highlight-3:#FCF2F2;
    --chart-retro:#B33F40; --chart-good:#B33F40;
    --bg-glow-1:#FFFFFF; --bg-glow-2:#FFFFFF; --btn-text:#FFFFFF;
    background:#FFFFFF;
    color:#B33F40;
    font-family:Georgia, 'Noto Serif Devanagari', 'Nirmala UI', 'Mangal', serif;
    font-size:12.5pt;
    line-height:1.4;
    -webkit-print-color-adjust:exact; print-color-adjust:exact;
    padding:0 17mm;
  }
  #printRoot *{ color:#B33F40 !important; text-shadow:none !important; box-shadow:none !important; }

  /* ---- Lotus border: fixed elements repeat on every printed page ---- */
  .pp-frame{ position:fixed; inset:0; pointer-events:none; z-index:0; }
  .pp-lotus{ position:fixed; width:13mm; height:13mm; }
  .pp-lotus-tl{ top:5mm; left:6mm; }
  .pp-lotus-tc{ top:5mm; left:50%; margin-left:-6.5mm; }
  .pp-lotus-tr{ top:5mm; right:6mm; }
  .pp-lotus-bl{ bottom:5mm; left:6mm; }
  .pp-lotus-bc{ bottom:5mm; left:50%; margin-left:-6.5mm; }
  .pp-lotus-br{ bottom:5mm; right:6mm; }
  .pp-rule{ position:fixed; left:22mm; right:22mm; height:0; border-top:0.6pt solid #B33F40; }
  .pp-rule-top{ top:11.5mm; }
  .pp-rule-bottom{ bottom:11.5mm; }

  /* ---- One table per section: thead/tfoot spacers repeat on each page ---- */
  .pp-sheet{ width:100%; border-collapse:collapse; break-before:page; page-break-before:always; position:relative; z-index:1; }
  .pp-sheet.pp-cover-sheet{ break-before:auto; page-break-before:auto; }
  .pp-sheet > thead > tr > td, .pp-sheet > tfoot > tr > td, .pp-sheet > tbody > tr > td.pp-cell{
    padding:0 !important; border:none !important; white-space:normal !important; vertical-align:top;
  }
  .pp-space-top{ height:22mm; }
  .pp-space-bottom{ height:21mm; }
  .pp-sheet thead{ display:table-header-group; }
  .pp-sheet tfoot{ display:table-footer-group; }
  .pp-sheet > tbody > tr:hover{ background:none !important; }

  .pp-section-title{
    font-family:Georgia, serif; font-weight:400; font-size:22pt; text-align:center;
    margin:0 0 5mm; padding-bottom:2mm; border-bottom:0.8pt solid #B33F40;
  }

  /* ---- Cover page ---- */
  .pp-cover{ display:flex; flex-direction:column; align-items:center; text-align:center; height:250mm; justify-content:center; gap:5mm; }
  .pp-cover-img{ height:140mm; width:auto; max-width:100%; object-fit:contain; }
  .pp-cover-logo .app-logo{ display:inline-flex; align-items:center; gap:4mm; }
  .pp-cover-logo .app-logo-yantra{ width:30mm; height:30mm; }
  .pp-cover-logo .app-logo-bija{ font-size:18pt !important; margin-top:2mm; }
  .pp-cover-logo .app-logo-line1{ font-size:26pt; }
  .pp-cover-logo .app-logo-line2{ font-size:22pt; }
  .pp-cover-name{ font-family:Georgia, serif; font-size:32pt; font-weight:700; margin-top:2mm; }
  .pp-cover-title{ font-family:Georgia, serif; font-size:24pt; letter-spacing:0.08em; text-transform:uppercase; }

  /* ---- Tab content made static and readable ---- */
  #printRoot .card{ background:#FFFFFF !important; border:0.6pt solid #E7C4C4; border-radius:3mm; padding:4mm 5mm; margin:0 0 5mm; }
  #printRoot .card h2{ font-size:16pt; margin:0 0 3mm; padding-bottom:1.5mm; cursor:default; }
  #printRoot .card.collapsed .card-body{ display:block !important; }
  #printRoot h3{ font-size:14pt; margin:4mm 0 2mm; }
  #printRoot .table-scroll{ overflow:visible !important; }
  #printRoot table{ width:100%; border-collapse:collapse; font-size:11pt; }
  #printRoot th, #printRoot td{ white-space:normal !important; padding:1.3mm 2mm; border-bottom:0.5pt solid #E7C4C4; }
  #printRoot th{ font-size:10.5pt; border-bottom:0.8pt solid #B33F40; background:#FBEFEF !important; }
  #printRoot tr{ break-inside:avoid; page-break-inside:avoid; }
  #printRoot thead{ display:table-header-group; }
  #printRoot .akshar-hit{ background:#F3CFCF !important; }
  #printRoot .akshar-hit-row{ background:#FBEFEF !important; }
  #printRoot .two-col{ display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; gap:5mm; }
  #printRoot .chart-box{ background:#FFFFFF !important; border:0.6pt solid #E7C4C4; padding:2mm; break-inside:avoid; page-break-inside:avoid; }
  #printRoot .chart-box svg{ width:100%; height:auto; max-height:120mm; display:block; margin:0 auto; }
  #printRoot .chart-caption, #printRoot .note, #printRoot .varga-desc, #printRoot .chakra-desc{ font-size:10.5pt; }
  #printRoot svg text{ fill:#B33F40; }
  #printRoot svg{ overflow:visible; }
  #printRoot .card h2, #printRoot h3, .pp-chakra-title{ break-after:avoid; page-break-after:avoid; }
  #printRoot .stat .k, #printRoot .sign-badge .lbl{ font-size:9.8pt; }
  #printRoot .stat .v, #printRoot .sign-badge .val{ font-size:12pt; }
  #printRoot .stat{ padding:1.6mm 2.2mm !important; min-height:0 !important; }
  #printRoot .sign-badge{ padding:1.6mm 2.2mm !important; }
  .pp-basic-col .card h3{ margin:2.5mm 0 1.5mm !important; font-size:12.5pt !important; }
  .pp-basic-col .card{ padding:3mm 4mm !important; }
  #printRoot .asp-line, #printRoot .winner-tag, #printRoot .bhrigu-label{ opacity:0 !important; }

  /* Basic Data: two independent columns (no gaps under the shorter card), naming reference full width below */
  .pp-basic-cols{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:5mm; align-items:start; }
  .pp-basic-col > .card{ margin-bottom:4mm; }
  .pp-two-col .pp-basic-cols .two-col{ grid-template-columns:minmax(0,1fr) !important; gap:3mm; }
  #printRoot .attr-grid, #printRoot .summary-grid{ display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; gap:2.5mm !important; }
  .pp-two-col table{ font-size:10.5pt; }
  .pp-basic > .card{ margin-top:1mm; break-inside:avoid; page-break-inside:avoid; }
  .pp-basic > .card th, .pp-basic > .card td{ padding:0.6mm 2mm !important; font-size:10pt !important; }
  .pp-basic > .card h3{ margin:2mm 0 1mm !important; font-size:12.5pt !important; }
  .pp-basic > .card .note{ margin:0 0 1mm !important; }
  .pp-basic > .card .two-col{ grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; }


  /* Lagna Chart: charts + planetary positions on the first page */
  .pp-lagna .pp-lagna-charts .chart-box{ padding-top:3mm; }
  #printRoot .pp-lagna .pp-lagna-charts .chart-box svg{ max-height:54mm; }
  .pp-lagna .pp-lagna-charts .chart-caption{ font-size:11.5pt; margin-top:1.5mm; }
  .pp-bhrigu{ font-size:11.5pt; margin-top:1mm; }
  .pp-lagna .pp-keep{ break-inside:avoid; page-break-inside:avoid; }
  .pp-lagna .pp-keep th, .pp-lagna .pp-keep td{ padding:0.6mm 1.4mm !important; font-size:10.2pt !important; line-height:1.25; }
  .pp-lagna .pp-lagna-charts, .pp-lagna .pp-keep{ margin-bottom:3.5mm !important; padding-top:3mm !important; padding-bottom:3mm !important; }
  .pp-dasha-title{ font-size:14.5pt !important; margin:5mm 0 1.5mm !important; }
  .pp-dasha-note{ margin:0 0 2mm !important; }
  .pp-dasha{ margin-bottom:3mm; }
  .pp-dasha td, .pp-dasha th{ padding:0.7mm 2mm !important; font-size:10.3pt !important; }
  #printRoot .pp-dasha tr.pp-current td{ background:#F6D9D9 !important; font-weight:700; }

  /* Divisional charts grid */
  .pp-varga-grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:4mm; }
  .pp-varga{ margin:0; break-inside:avoid; page-break-inside:avoid; }
  .pp-varga .chart-box svg{ max-height:60mm; }
  .pp-varga figcaption{ font-size:10pt; line-height:1.3; margin-top:1.5mm; }
  .pp-varga figcaption b{ display:block; font-size:11.5pt; }
  .pp-sub{ margin-top:0 !important; }
  .pp-new-page{ break-before:page; page-break-before:always; }

  /* Chakras: each one gets its own heading; content flows on to the next page when needed */
  .pp-chakra-title{ font-family:Georgia, serif; font-weight:400; font-size:17pt; margin:0 0 3mm; border-bottom:0.6pt solid #E7C4C4; padding-bottom:1.5mm; }
  .pp-chakra-next{ margin-top:6mm; }
  .pp-chakra .chart-box svg{ max-height:150mm; }

  /* Larger print type (+2pt): long values may wrap inside their cell so wide tables still fit the page width
     (otherwise the browser would shrink the whole PDF to fit, cancelling the bigger type). */
  #printRoot th, #printRoot td{ overflow-wrap:normal; word-break:normal; }
  #printRoot td *, #printRoot th *{ white-space:normal !important; }
  #printRoot .pp-sheet > tbody > tr > td.pp-cell{ max-width:176mm; }
  #printRoot table:not(.pp-sheet){ max-width:100%; }
  .pp-lagna table:not(.pp-sheet) th, .pp-lagna table:not(.pp-sheet) td{ padding-left:1mm !important; padding-right:1mm !important; }
  /* narrower header text so wide tables need less scaling */
  #printRoot th{ text-transform:none !important; letter-spacing:0 !important; }
  .pp-lagna .pp-keep th, .pp-lagna .pp-keep td{ padding:0.35mm 0.6mm !important; line-height:1.2 !important; }
  /* long daily-motion values may wrap inside their cell */
  .pp-lagna .pp-keep td .mono{ overflow-wrap:anywhere; }
  /* keep bar charts and chart pictures in one piece */
  #printRoot .shadbala-bars, #printRoot .chart-box, #printRoot svg{ break-inside:avoid; page-break-inside:avoid; }
}
