/**
 * WYSIWYG chart display — fallback when saved HTML has no inline font-size.
 * Match GigDocumentEditor defaults (18px bold Arial).
 *
 * Contract: inline styles from TinyMCE (font-size, line-height, font-family, etc.)
 * always win. Do not add font-size or line-height !important on these containers.
 *
 * line-height: 1.2 is the only fallback (no per-view overrides).
 */
.document-content,
.gig-document-content,
.song-content {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

.document-content p,
.gig-document-content p,
.song-content p {
  margin: 0.2em 0;
}

.document-content strong,
.document-content b,
.gig-document-content strong,
.gig-document-content b,
.song-content strong,
.song-content b {
  font-weight: 700;
}

.document-content .font-serif,
.gig-document-content .font-serif,
.song-content .font-serif {
  font-family: "Times New Roman", Times, serif;
}

.document-content .font-sans,
.gig-document-content .font-sans,
.song-content .font-sans {
  font-family: Arial, Helvetica, sans-serif;
}

.document-content .font-monospace,
.gig-document-content .font-monospace,
.song-content .font-monospace {
  font-family: "Courier New", Courier, monospace;
}

@media print {
  .document-content,
  .gig-document-content,
  .song-content {
    /* Keep fallback at editor default; do not let wide nbsp lines expand
       the page (browser shrink-to-fit would make all charts look tiny). */
    font-size: 18px;
    font-weight: 700;
    max-width: 100%;
    overflow-x: hidden;
  }
}

/* ─── Content display rules shared by perform view + music stand ─── */

.document-content,
.gig-document-content,
.song-content {
  font-weight: 700;
}

/* Force readable backgrounds on imported content */
.document-content *,
.gig-document-content *,
.song-content * {
  background-color: transparent !important;
}

/* Paragraph spacing */
.document-content p,
.gig-document-content p,
.song-content p {
  margin: 0.5em 0;
}

/* Preserve empty paragraphs (spacing / blank lines from WYSIWYG editor) */
.document-content p:empty,
.gig-document-content p:empty,
.song-content p:empty {
  margin: 0.5em 0;
  height: 1em;
  min-height: 1em;
}

.document-content p:empty:before,
.gig-document-content p:empty:before,
.song-content p:empty:before {
  content: '\00a0';
}

/* Handle empty divs (Google Docs imports) */
.document-content div:empty,
.gig-document-content div:empty,
.song-content div:empty {
  margin: 0.5em 0;
  height: 1em;
  min-height: 1em;
  display: block;
}

.document-content div:empty:before,
.gig-document-content div:empty:before,
.song-content div:empty:before {
  content: '\00a0';
}

/* Google Docs ujudUb empty-line divs */
.document-content div.ujudUb:has(strong span:empty),
.gig-document-content div.ujudUb:has(strong span:empty),
.song-content div.ujudUb:has(strong span:empty),
.document-content div[class*="ujudUb"]:has(> strong > span:empty),
.gig-document-content div[class*="ujudUb"]:has(> strong > span:empty),
.song-content div[class*="ujudUb"]:has(> strong > span:empty) {
  margin: 0.5em 0 !important;
  min-height: 1em !important;
  height: 1em !important;
  display: block !important;
}

.document-content div:has(> strong:only-child > span:empty:only-child),
.gig-document-content div:has(> strong:only-child > span:empty:only-child),
.song-content div:has(> strong:only-child > span:empty:only-child) {
  margin: 0.5em 0 !important;
  min-height: 1em !important;
  height: 1em !important;
  display: block !important;
}

/* Fallback for browsers without :has support */
.document-content div.ujudUb strong span:empty,
.gig-document-content div.ujudUb strong span:empty,
.song-content div.ujudUb strong span:empty {
  display: inline-block;
  min-width: 1px;
}

/* Quill indentation */
.ql-indent-1 { margin-left: 2em !important; }
.ql-indent-2 { margin-left: 4em !important; }
.ql-indent-3 { margin-left: 6em !important; }
.ql-indent-4 { margin-left: 8em !important; }
.ql-indent-5 { margin-left: 10em !important; }
.ql-indent-6 { margin-left: 12em !important; }
.ql-indent-7 { margin-left: 14em !important; }
.ql-indent-8 { margin-left: 16em !important; }

/* Perform / stand page chrome around chart content */
.performance-doc-content {
  min-height: 600px;
}

.pdf-canvas-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 800px;
}

.pdf-canvas {
  max-width: 100%;
  height: auto;
  display: block;
  background: #fff; /* PDF pages are paper; exempt chart surface */
  box-shadow: 0 2px 8px var(--overlay-black-35, rgba(0, 0, 0, 0.1));
}

.pdf-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--space-14, 40px);
  color: var(--muted, #666);
}

.performance-doc-image img {
  max-width: 100%;
  height: auto;
}

@media print {
  .no-print { display: none !important; }
  .performance-doc-content { box-shadow: none; }
}
