.bb-print-heading {
  display: none;
}

.bb-print-compact-song {
  display: none;
}

/*
 * Widescreen stage layout.
 * The existing fullscreen reader remains unchanged on tablets and phones.
 * On desktop, song sections flow vertically and then continue in balanced
 * columns across the available width.
 */
@media screen and (min-width: 1180px) {
  .bb-stage-layout {
    --bb-lyrics-scale: 0.86;
    --bb-chord-scale: 0.88;
  }

  .bb-stage-scroll {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 3.5rem clamp(2.75rem, 4vw, 5rem) 1.75rem !important;
  }

  .bb-stage-lyrics {
    width: 100%;
    max-width: none !important;
    height: auto;
    column-count: 2;
    column-fill: balance;
    column-gap: clamp(2.5rem, 4.5vw, 5.5rem);
    column-rule: 1px solid var(--line);
  }

  .bb-stage-lyrics > section {
    break-inside: avoid-column;
    page-break-inside: avoid;
    margin-bottom: 0.75rem !important;
  }

  .bb-stage-lyrics .bb-lyric-line,
  .bb-stage-lyrics .bb-section-highlight {
    break-inside: avoid;
  }

  .bb-stage-lyrics .bb-section-copy {
    display: none;
  }
}

/*
 * Compact one-sheet print layout. A small print-only copy is prepared just
 * before the system print dialog: repeated sections become references and a
 * detailed FORM chart is reduced to its useful route summary.
 */
@page {
  size: A4 landscape;
  margin: 5mm 6mm;
}

@media print {
  body.bb-song-detail .bb-print-heading {
    margin: 0 0 2.2mm !important;
    padding: 0 0 1.7mm !important;
    border-bottom-width: 0.75pt !important;
  }

  body.bb-song-detail .bb-print-brand {
    margin-bottom: 0.45mm !important;
    font-size: 5.4pt !important;
    letter-spacing: 0.16em !important;
  }

  body.bb-song-detail .bb-print-heading h1 {
    font-size: 15.5pt !important;
    line-height: 1 !important;
  }

  body.bb-song-detail .bb-print-heading p {
    margin-top: 0.55mm !important;
    font-size: 7.1pt !important;
    line-height: 1.05 !important;
  }

  body.bb-song-detail .bb-print-meta {
    gap: 1mm 4mm !important;
    margin-top: 1mm !important;
    font-size: 5.8pt !important;
  }

  body.bb-song-detail .bb-song-lyrics {
    display: none !important;
  }

  body.bb-song-detail .bb-print-compact-song {
    --lyric-font-size: 7.2pt !important;
    --chord-font-size: 5.9pt !important;
    display: block !important;
    padding: 0 !important;
    color: #111 !important;
    column-count: 3;
    column-fill: auto;
    column-gap: 5mm;
    column-rule: 0.25pt solid #d4d4d4;
    font-family: "Manrope", Arial, sans-serif;
    font-size: var(--lyric-font-size) !important;
    line-height: 1.12 !important;
  }

  body.bb-song-detail .bb-print-compact-song.is-dense {
    --lyric-font-size: 6.35pt !important;
    --chord-font-size: 5.25pt !important;
    column-count: 4;
    column-gap: 4mm;
  }

  body.bb-song-detail .bb-print-compact-song.is-ultra-dense {
    --lyric-font-size: 5.65pt !important;
    --chord-font-size: 4.8pt !important;
    column-count: 4;
    column-gap: 3.5mm;
    line-height: 1.06 !important;
  }

  body.bb-song-detail .bb-print-compact-song > section {
    break-inside: auto !important;
    page-break-inside: auto !important;
    margin: 0 0 1.25mm !important;
    padding: 0 !important;
  }

  body.bb-song-detail .bb-print-compact-song .bb-lyric-line {
    break-inside: avoid !important;
    margin: 0 !important;
    color: #111 !important;
  }

  body.bb-song-detail .bb-print-compact-song .bb-lyric-gap {
    height: 0.65mm !important;
    min-height: 0 !important;
  }

  body.bb-song-detail .bb-print-compact-song .bb-chord-row,
  body.bb-song-detail .bb-print-compact-song .bb-chord-token {
    color: #111 !important;
    font-size: var(--chord-font-size) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
  }

  body.bb-song-detail .bb-print-compact-song .bb-text-row {
    color: #111 !important;
    font-size: var(--lyric-font-size) !important;
    line-height: 1.12 !important;
  }

  body.bb-song-detail .bb-print-compact-song.is-ultra-dense .bb-text-row {
    line-height: 1.06 !important;
  }

  body.bb-song-detail .bb-print-compact-song .bb-section-label {
    break-after: avoid-column !important;
    margin: 0 0 0.35mm !important;
    color: #555 !important;
    font-size: 5.25pt !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase;
  }

  body.bb-song-detail .bb-print-compact-song .bb-section-highlight {
    margin: 0 !important;
    padding: 0.8mm 1.2mm !important;
    border: 0 !important;
    border-left: 0.8pt solid #444 !important;
    border-radius: 0 !important;
    background: #f4f4f4 !important;
    box-shadow: none !important;
  }

  body.bb-song-detail .bb-print-compact-song mark,
  body.bb-song-detail .bb-print-compact-song hl {
    color: inherit !important;
    background: transparent !important;
  }

  body.bb-song-detail .bb-print-repeat,
  body.bb-song-detail .bb-print-inline-repeat {
    break-inside: avoid !important;
    color: #555 !important;
    font-family: "Space Grotesk", Arial, sans-serif;
    font-size: 5.3pt !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase;
  }

  body.bb-song-detail .bb-print-repeat {
    margin-bottom: 1.1mm !important;
    padding: 0.55mm 1mm !important;
    border-left: 0.7pt solid #888;
    background: #f7f7f7 !important;
  }

  body.bb-song-detail .bb-print-inline-repeat {
    margin-top: 0.35mm !important;
  }

  body.bb-song-detail .bb-print-form-summary .bb-text-row {
    color: #333 !important;
    font-family: "Space Grotesk", Arial, sans-serif;
    font-size: 5.6pt !important;
    font-weight: 650 !important;
  }
}

@media screen and (min-width: 1720px) {
  .bb-stage-layout {
    --bb-lyrics-scale: 0.82;
    --bb-chord-scale: 0.84;
  }

  .bb-stage-lyrics {
    column-count: 3;
    column-gap: clamp(2rem, 3.25vw, 4.25rem);
  }
}

@media screen and (min-width: 2400px) {
  .bb-stage-lyrics {
    column-count: 4;
  }
}

@media screen and (min-width: 1180px) and (max-height: 780px) {
  .bb-stage-layout {
    --bb-lyrics-scale: 0.72;
    --bb-chord-scale: 0.76;
  }

  .bb-stage-scroll {
    padding-top: 3rem !important;
    padding-bottom: 1rem !important;
  }
}

/*
 * Dedicated print sheet.
 * Browser print preview applies this automatically before the system dialog.
 */
@page {
  size: A4 landscape;
  margin: 10mm 11mm 9mm;
}

@media print {
  html,
  body {
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: #111 !important;
  }

  body {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  body.bb-song-detail .bb-song-view {
    display: block !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: #111 !important;
  }

  body.bb-song-detail .bb-song-view > :not(.bb-song-sheet),
  body.bb-song-detail .bb-bottom-nav,
  body.bb-song-detail .bb-song-header,
  body.bb-song-detail .bb-bottom-drawer,
  body.bb-song-detail .bb-programme-fab,
  body.bb-song-detail .bb-player-fab,
  body.bb-song-detail .bb-autoscroll-mini,
  body.bb-song-detail button {
    display: none !important;
  }

  body.bb-song-detail .bb-song-sheet {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #111 !important;
  }

  body.bb-song-detail .bb-print-heading {
    display: block !important;
    margin: 0 0 5mm !important;
    padding: 0 0 3.5mm !important;
    border-bottom: 1.2pt solid #181818;
  }

  body.bb-song-detail .bb-print-brand {
    margin-bottom: 1.2mm;
    color: #666 !important;
    font-family: "Space Grotesk", Arial, sans-serif;
    font-size: 6.8pt;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
  }

  body.bb-song-detail .bb-print-heading h1 {
    margin: 0 !important;
    color: #111 !important;
    font-family: "Space Grotesk", Arial, sans-serif;
    font-size: 21pt !important;
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -0.025em;
  }

  body.bb-song-detail .bb-print-heading p {
    margin: 1mm 0 0 !important;
    color: #555 !important;
    font-family: "Manrope", Arial, sans-serif;
    font-size: 9.5pt;
    line-height: 1.2;
  }

  body.bb-song-detail .bb-print-meta {
    display: flex !important;
    flex-wrap: wrap;
    gap: 2mm 5mm;
    margin-top: 2.5mm;
    color: #333 !important;
    font-family: "Space Grotesk", Arial, sans-serif;
    font-size: 7.5pt;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  body.bb-song-detail .bb-print-meta span {
    position: relative;
  }

  body.bb-song-detail .bb-print-meta span + span::before {
    position: absolute;
    left: -3mm;
    content: "·";
    color: #999;
  }

  body.bb-song-detail .bb-song-lyrics {
    --lyric-font-size: 10.3pt !important;
    --chord-font-size: 8.4pt !important;
    display: block !important;
    padding: 0 !important;
    color: #111 !important;
    column-count: 2;
    column-fill: auto;
    column-gap: 11mm;
    column-rule: 0.35pt solid #d8d8d8;
    font-family: "Manrope", Arial, sans-serif;
  }

  body.bb-song-detail .bb-song-lyrics > section {
    break-inside: avoid-column;
    page-break-inside: avoid;
    margin: 0 0 3.2mm !important;
    padding: 0 !important;
  }

  body.bb-song-detail .bb-song-lyrics .bb-lyric-line {
    break-inside: avoid;
    color: #111 !important;
  }

  body.bb-song-detail .bb-song-lyrics .bb-chord-row,
  body.bb-song-detail .bb-song-lyrics .bb-chord-token {
    color: #121212 !important;
    font-weight: 700 !important;
  }

  body.bb-song-detail .bb-song-lyrics .bb-text-row {
    color: #111 !important;
  }

  body.bb-song-detail .bb-song-lyrics .bb-section-label {
    margin: 0 0 1.1mm !important;
    color: #555 !important;
    font-size: 7.2pt !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase;
  }

  body.bb-song-detail .bb-song-lyrics .bb-section-highlight {
    margin: 0 !important;
    padding: 2.2mm 2.8mm !important;
    border: 0 !important;
    border-left: 1.4pt solid #222 !important;
    border-radius: 0 2mm 2mm 0 !important;
    background: #f2f2f2 !important;
    box-shadow: none !important;
  }

  body.bb-song-detail .bb-song-lyrics mark,
  body.bb-song-detail .bb-song-lyrics hl {
    color: inherit !important;
    background: transparent !important;
  }
}

/* Final cascade overrides for the compact print sheet. */
@page {
  size: A4 landscape;
  margin: 5mm 6mm;
}

@media print {
  body.bb-song-detail .bb-print-heading {
    margin: 0 0 2.2mm !important;
    padding: 0 0 1.7mm !important;
    border-bottom-width: 0.75pt !important;
  }

  body.bb-song-detail .bb-print-brand {
    margin-bottom: 0.45mm !important;
    font-size: 5.4pt !important;
    letter-spacing: 0.16em !important;
  }

  body.bb-song-detail .bb-print-heading h1 {
    font-size: 15.5pt !important;
    line-height: 1 !important;
  }

  body.bb-song-detail .bb-print-heading p {
    margin-top: 0.55mm !important;
    font-size: 7.1pt !important;
    line-height: 1.05 !important;
  }

  body.bb-song-detail .bb-print-meta {
    gap: 1mm 4mm !important;
    margin-top: 1mm !important;
    font-size: 5.8pt !important;
  }

  body.bb-song-detail .bb-song-lyrics {
    display: none !important;
  }

  html,
  body,
  body.bb-song-detail,
  body.bb-song-detail #root,
  body.bb-song-detail .bb-song-view,
  body.bb-song-detail .bb-song-sheet {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    break-before: auto !important;
    break-after: auto !important;
    break-inside: auto !important;
    page-break-before: auto !important;
    page-break-after: auto !important;
    page-break-inside: auto !important;
  }

  body.bb-song-detail #root,
  body.bb-song-detail .bb-song-view {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    background-image: none !important;
  }

  body.bb-song-detail::before,
  body.bb-song-detail::after,
  body.bb-song-detail #root::before,
  body.bb-song-detail #root::after,
  body.bb-song-detail .bb-song-view::before,
  body.bb-song-detail .bb-song-view::after {
    display: none !important;
    content: none !important;
  }

  body.bb-song-detail .bb-print-heading {
    break-after: avoid-page !important;
    page-break-after: avoid !important;
  }

  body.bb-song-detail .bb-print-compact-song,
  body.bb-song-detail .bb-print-compact-song.is-dense,
  body.bb-song-detail .bb-print-compact-song.is-ultra-dense {
    width: 100% !important;
    max-width: none !important;
    column-fill: balance !important;
    break-before: avoid-page !important;
    break-after: avoid-page !important;
    page-break-before: avoid !important;
    page-break-after: avoid !important;
  }

  body.bb-song-detail #root,
  body.bb-song-detail .bb-song-view,
  body.bb-song-detail .bb-song-sheet {
    width: 285mm !important;
    margin: 0 !important;
  }

  body.bb-song-detail .bb-print-compact-song {
    --lyric-font-size: 8.2pt !important;
    --chord-font-size: 6.6pt !important;
  }

  body.bb-song-detail .bb-print-compact-song.is-dense {
    --lyric-font-size: 6.35pt !important;
    --chord-font-size: 5.25pt !important;
  }

  body.bb-song-detail .bb-print-compact-song.is-ultra-dense {
    --lyric-font-size: 5.65pt !important;
    --chord-font-size: 4.8pt !important;
  }

  body.bb-song-detail .bb-print-compact-song .bb-section-label {
    font-size: 5.8pt !important;
  }
}
