@media print {
  :root {
    --print-gold: #b8860b;
  }

  @page {
    size: auto;
    /* Extra bottom margin so body copy clears the fixed print footer */
    margin: 1.5cm 1.2cm 2.3cm 2.5cm;
  }

  html,
  body {
    height: auto !important;
    min-height: 0 !important;
    background: #ffffff !important;
    color: #000000 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 9pt !important;
    line-height: 1.35 !important;
    display: block !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  body {
    padding-bottom: 2cm !important;
  }

  .wrap,
  .layout,
  #songsheetRoot {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    flex: none !important;
  }

  .wrap,
  .layout,
  .sheet,
  #songsheetRoot {
    background: #ffffff !important;
    color: #000000 !important;
    box-shadow: none !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  .wrap,
  .layout,
  .sheet {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .nav,
  .sticky-playbar,
  .sticky-control-actions,
  .sticky-control-toggles,
  .sticky-control-meta,
  .sticky-control-keytime,
  .tempo-pill,
  .tempo-slider,
  .tempo-btn,
  .tempo-readout,
  .transport-group,
  .btn,
  .btn-play,
  .btn-stop,
  .backing-track-play-circle,
  .backing-track-frame,
  .yt-panel,
  .spotify-panel,
  .instruction-card,
  .instruction-card-actions,
  .instruction-card-row,
  .yt-actions-inline,
  .yt-fallback-hint,
  .yt-close,
  .spotify-close,
  .rhythm-player-close,
  .chord-drawer,
  .chord-helper-bubble,
  .song-end-actions,
  .next-step-prompt,
  .timeline,
  .line-playhead,
  .toggle,
  .pattern-preview-control,
  .pattern-preview-select,
  .backing-track-play-btn,
  .mobile-play-header,
  .no-print {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    position: static !important;
  }

  .title-row {
    display: none !important;
  }

  .title-row .instruction-card,
  .title-row .title-card-top,
  .title-row .title-card-note,
  .title-row .song-meta,
  .title-row .title-card-pattern-notation,
  .title-row .title-card-pattern-graphic-wrap {
    display: none !important;
  }

  .title-row .title-card {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  .title-row .title-card-pattern {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    display: block !important;
  }

  .title-row .title-card-pattern-name {
    display: block !important;
    color: #000000 !important;
    font-size: 10pt !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  .title-row .title-card-pattern-name::before {
    content: "Pattern: ";
    color: #6b7280;
    font-weight: 600;
  }

  .print-sheet-header {
    display: block !important;
    margin: 0 0 0.15cm !important;
    padding: 0 !important;
    border-bottom: 0 !important;
    break-after: avoid;
    page-break-after: avoid;
  }

  .print-song-main {
    margin-top: 0.1cm !important;
  }

  .print-sheet-brand {
    display: block !important;
    margin: 0 0 0.15cm !important;
    min-width: 0 !important;
  }

  .print-sheet-logo {
    display: block !important;
    width: 2.2cm !important;
    height: auto !important;
    max-width: 100% !important;
  }

  .print-sheet-brand-copy {
    display: none !important;
  }

  .print-sheet-brand-dot,
  .print-sheet-brand-beat,
  .print-sheet-brand-tm {
    display: none !important;
  }

  .print-sheet-title-group {
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 0.4cm !important;
    width: 100% !important;
  }

  .print-sheet-title-group h1 {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--print-gold) !important;
    font-family: Outfit, Inter, Arial, sans-serif !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em;
  }

  #songsheetRoot[data-instrument="baritone"] .print-sheet-title-group h1 {
    color: #2a9db5 !important;
  }

  .print-sheet-header-left {
    min-width: 0 !important;
  }

  .print-sheet-artist {
    margin-top: 0.05cm !important;
    color: #6b7280 !important;
    font-size: 10pt !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
  }

  .print-sheet-meta {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    justify-content: flex-end !important;
    gap: 0 0.35cm !important;
    color: #000000 !important;
    font-size: 9pt !important;
    margin-top: 0.03cm !important;
    text-align: right !important;
  }

  .print-sheet-meta span {
    display: inline !important;
    width: auto !important;
    white-space: nowrap !important;
  }

  .print-sheet-meta span strong {
    color: #6b7280 !important;
    font-weight: 600 !important;
  }

  .print-only-strum-band {
    display: none !important;
  }

  .print-strum-notation {
    display: flex !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    gap: 0.12cm 0.24cm !important;
    margin: 0 0 0.18cm !important;
    padding: 0.06cm 0 0.12cm !important;
    border-bottom: 1px solid #d1d5db !important;
    color: #000000 !important;
    font-size: 9pt !important;
    line-height: 1.2 !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .print-strum-notation-label {
    color: #6b7280 !important;
    font-weight: 700 !important;
  }

  .print-strum-notation-name {
    color: var(--print-gold) !important;
    font-weight: 700 !important;
  }

  .print-strum-notation-pattern {
    color: #000000 !important;
    font-family: "Courier New", monospace !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em !important;
  }

  .print-strum-band {
    display: block !important;
    margin: 0 0 0.2cm !important;
    padding: 0.05cm 0 0.15cm !important;
    border-bottom: 1px solid var(--print-gold) !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  /* Print strum band: hide dot grid, show plain arrow row */
  .print-strum-band .psb-measure-graphic {
    display: none !important;
  }

  .print-strum-band .psb-arrow-row {
    display: flex !important;
    width: 100% !important;
    justify-content: space-around !important;
    align-items: center !important;
    padding: 0.05cm 0 !important;
  }

  .print-strum-band .psb-arrow-slot {
    display: inline-block !important;
    font-size: 12pt !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-align: center !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .print-strum-band .psb-arrow-down {
    color: #2a7a2a !important;
    font-weight: 800 !important;
  }

  .print-strum-band .psb-arrow-up {
    color: #1a55a0 !important;
    font-weight: 600 !important;
    font-size: 9pt !important;
  }

  .print-strum-band .psb-arrow-mute {
    color: #b86000 !important;
    font-weight: 700 !important;
  }

  .print-strum-band .psb-arrow-rest {
    color: #aaaaaa !important;
    font-weight: 400 !important;
  }

  .print-strum-band .psb-arrow-accent {
    font-weight: 900 !important;
  }

  .print-strum-band .psb-arrow-light {
    opacity: 0.6 !important;
  }

  .print-strum-band .psb-arrow-ghost {
    opacity: 0.3 !important;
  }

  .psb-label {
    color: var(--print-gold) !important;
    font-family: Outfit, Inter, Arial, sans-serif !important;
    font-size: 7pt !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    margin-bottom: 0.05cm !important;
  }

  .psb-measures-row {
    display: flex !important;
    width: 100% !important;
  }

  .psb-measure-wrap {
    min-width: 0 !important;
    border-left: 1px solid #d1d5db !important;
  }

  .psb-measure-wrap:first-child {
    border-left: 0 !important;
  }

  .psb-measure-graphic {
    width: 100% !important;
  }

  .print-song-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 3.75cm;
    grid-template-areas: "main chords";
    gap: 0.3cm;
    align-items: start;
  }

  body[data-print-chord-layout="right"] .print-song-grid {
    grid-template-columns: minmax(0, 1fr) 3.75cm !important;
    grid-template-areas: "main chords" !important;
  }

  .print-song-main {
    grid-area: main;
    min-width: 0;
  }

  .print-chord-column {
    grid-area: chords;
    min-width: 0;
    display: block !important;
    break-inside: auto;
    page-break-inside: auto;
  }

  body[data-print-chord-layout="top"] .print-song-grid {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto;
    grid-template-areas:
      "chords"
      "main";
    gap: 0.35cm 0;
    align-items: start;
  }

  body[data-print-chord-layout="top"] .print-chord-column {
    padding-bottom: 0.28cm;
    margin-bottom: 0.12cm;
    border-bottom: 1px solid #d1d5db !important;
  }

  body[data-print-chord-layout="top"] .print-chord-list {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    gap: 0.2cm 0.3.75cm !important;
  }

  body[data-print-chord-layout="top"] .print-chord-card {
    flex: 0 0 auto;
  }

  body[data-print-chord-layout="none"] .print-chord-column {
    display: none !important;
  }

  body[data-print-chord-layout="none"] .print-song-grid {
    grid-template-columns: 1fr !important;
    grid-template-areas: "main" !important;
  }

  .print-chord-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.18cm !important;
  }

  .print-chord-card {
    display: block !important;
    padding: 0.08cm 0 !important;
    break-inside: avoid;
    page-break-inside: avoid;
    border: 0 !important;
    background: transparent !important;
  }

  .print-chord-name,
  .chord-card-name {
    color: #000000 !important;
    font-size: 9pt !important;
    font-weight: 700 !important;
    margin: 0 0 0.12cm !important;
  }

  .print-chord-meta,
  .chord-card-meta {
    display: none !important;
    color: #6b7280 !important;
    font-size: 8pt !important;
  }

  .print-chord-card .chord-diagram,
  .print-chord-column .chord-diagram {
    width: 1.8cm !important;
    height: auto !important;
  }

  .chord-diagram {
    color: #000000 !important;
  }

  .diagram-grid,
  .diagram-top {
    stroke: #000000 !important;
    stroke-width: 1.2 !important;
  }

  .diagram-dot {
    fill: var(--print-gold) !important;
  }

  .diagram-finger,
  .diagram-open,
  .diagram-fret-number {
    fill: #000000 !important;
    color: #000000 !important;
    font-size: 8px !important;
    font-weight: 700 !important;
  }

  .print-inline-line {
    display: block !important;
    width: 100% !important;
    margin: 0 0 0.22cm !important;
    color: #000 !important;
  }

  .ipl-cell {
    display: inline !important;
    min-width: 0 !important;
    padding: 0 !important;
    font-size: 9pt !important;
    line-height: 1.5 !important;
    overflow-wrap: break-word !important;
  }

  .ipl-cell + .ipl-cell {
    margin-left: 0.16cm !important;
  }

  .print-inline-line--compact {
    gap: 0 !important;
  }

  .print-inline-line--compact .ipl-cell {
    display: inline !important;
    flex: none !important;
    max-width: none !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }

  .ipl-chord {
    color: var(--print-gold) !important;
    font-weight: 700 !important;
    font-size: 8pt !important;
    margin-right: 0.08cm !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .ipl-baritone .ipl-chord {
    color: #2a9db5 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .ipl-lyric {
    color: #000 !important;
    font-weight: 400 !important;
  }

  /* Keep each authored section (verse/chorus block) on one page when it fits */
  .section {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .section-title {
    margin: 0 0 0.2cm !important;
    color: var(--print-gold) !important;
    font-family: Outfit, Inter, Arial, sans-serif !important;
    font-size: 10pt !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    break-after: avoid;
    page-break-after: avoid;
  }

  .section-title span {
    color: var(--print-gold) !important;
    font-size: inherit !important;
    font-weight: inherit !important;
  }

  .song-line {
    margin: 0 0 0.18cm !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .song-line + .song-line {
    margin-top: 0.12cm !important;
  }

  .chord-change {
    position: static !important;
    transform: none !important;
    color: #000000 !important;
    font-size: 8pt !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .chord-change::before {
    display: none !important;
  }

  .lyrics-track {
    margin-top: 0.03.75cm !important;
  }

  .lyrics-track-plain {
    display: block !important;
  }

  .lyrics,
  .lyrics-full {
    color: #000000 !important;
    font-size: 9pt !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    word-spacing: normal !important;
    letter-spacing: normal !important;
    overflow-wrap: break-word !important;
  }

  .songsheet-print-footer {
    display: block !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    margin: 0 !important;
    padding: 0.18cm 0 0 !important;
    border-top: 1px solid #d1d5db !important;
    background: #ffffff !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .songsheet-print-footer .songsheet-footer-note {
    margin: 0 0 0.22cm !important;
    padding: 0 !important;
    max-width: none !important;
    text-align: center !important;
    font-size: 8.5pt !important;
    color: #374151 !important;
    line-height: 1.35 !important;
  }

  .songsheet-print-attribution {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-size: 9px !important;
    color: #6b7280 !important;
    line-height: 1.3 !important;
  }

  .measures,
  .ghost-dot-row,
  .lyrics-track,
  .lyrics-track-grid,
  .timeline,
  .line-playhead,
  .measure-spacer,
  .chord-rail,
  .chord-change {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
}
