/* Brass fingering / slide-position chart pages (layouts/_partials/charts/pages/brass*.html).
   Loaded by the page partial next to extras.css and chart-print.css; uses the site's colour variables. */

.mtp-brass-answer { margin-bottom: 20px; }
.mtp-brass-lead { margin: 0 0 8px; max-width: 78ch; }
.mtp-brass-cap { caption-side: top; text-align: left; margin: 0 0 6px; padding: 0; color: var(--mtp-muted); font-size: 13px; line-height: 1.45; }
.mtp-brass-legend { margin: -14px 0 24px; max-width: 86ch; }
.mtp-brass-h2 { margin: 0 0 4px; }
.mtp-brass-h3 { margin: 18px 0 4px; font-size: 1.25rem; }
.mtp-sr { position: absolute; left: 0; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.mtp-brass-mod { margin: 34px 0 0; }
.mtp-brass-mod h2 { margin-top: 0; }

/* ---- valve circles ---- */
.mtp-fing { display: inline-flex; gap: 5px; vertical-align: middle; }
.mtp-fing i {
  display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box;
  width: 24px; height: 24px; border-radius: 50%; border: 1.5px solid var(--mtp-brass); font-style: normal;
}
.mtp-fing i b { font-size: 10.5px; font-weight: 600; color: var(--mtp-muted); line-height: 1; }
.mtp-fing i.on { background: var(--mtp-brass); }
.mtp-fing i.on b { color: var(--mtp-night); }
.mtp-fing i.t { border-style: dashed; margin-right: 3px; }
.mtp-fing i.t.on { border-style: solid; }

/* ---- trombone grid ---- */
.mtp-brass-grid { font-size: 14.5px; margin-bottom: 8px; }
.mtp-brass-grid thead th { text-align: center; padding: 6px 8px; }
.mtp-brass-grid thead th small { font-size: 9px; letter-spacing: .06em; font-weight: 600; }
.mtp-brass-grid tbody th { white-space: nowrap; }
.mtp-brass-grid tbody th small, .mtp-brass-grid td small { color: var(--mtp-muted); font-weight: 400; font-size: .82em; }
.mtp-brass-grid td { text-align: center; padding: 8px 6px; font-variant-numeric: tabular-nums; }
.mtp-brass-grid td.mtp-brass-dist { color: var(--mtp-muted); white-space: nowrap; }
.mtp-brass-grid td.n[data-name] { cursor: pointer; }
.mtp-brass-grid td.n[data-name]:hover, .mtp-brass-grid td.n[data-name]:focus-visible { background: rgba(196, 154, 73, .12); outline: none; }
.mtp-brass-grid td.same { background: var(--mtp-brass); color: var(--mtp-night); font-weight: 700; }
.mtp-brass-grid td.f-pedal, .mtp-brass-grid td.f-rare, .mtp-brass-grid th.ped { color: var(--mtp-muted); }
.mtp-brass-grid td.f-flat { font-style: italic; color: var(--mtp-muted); }
.mtp-brass-grid td.f-new { font-weight: 700; color: var(--mtp-brass-bright); }
.mtp-brass-grid td.f-new::after { content: ""; }
.mtp-brass-grid td sup { font-size: .72em; margin-left: 1px; }
.mtp-brass-trig { margin-top: 26px; }
.mtp-brass-trig td.mtp-brass-same { color: var(--mtp-muted); font-size: 13px; white-space: nowrap; }

/* ---- finder ---- */
.mtp-brass-finder th[data-play-note] { white-space: nowrap; }
.mtp-brass-finder .pos { display: inline-block; padding: 0 7px; border: 1px solid var(--mtp-line); border-radius: 12px; font-variant-numeric: tabular-nums; }
.mtp-brass-finder .pos:first-child { border-color: var(--mtp-brass); color: var(--mtp-brass-bright); font-weight: 600; }
.mtp-brass-finder .pos.short { font-size: .9em; }
.mtp-brass-finder .pos.trig { border-style: dashed; }
.mtp-brass-finder .sep, .mtp-brass-finder .none { color: var(--mtp-muted); }
.mtp-brass-finder td, .mtp-brass-finder th { padding-top: 6px; padding-bottom: 6px; }

@media screen and (min-width: 900px) {
  .mtp-brass-finder { display: block; width: 100%; }
  .mtp-brass-finder thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .mtp-brass-finder tbody { display: block; columns: 2; column-gap: 40px; }
  .mtp-brass-finder tr { display: grid; grid-template-columns: 9.5em minmax(0, 1fr) 4.6em; align-items: center; break-inside: avoid; border-bottom: 1px solid var(--mtp-line); }
  .mtp-brass-finder th, .mtp-brass-finder td { border-bottom: 0; }
}

/* ---- staves ---- */
.mtp-brass-staveblock { margin: 10px 0 4px; padding: 6px 12px 2px; background: var(--mtp-raised); border: 1px solid var(--mtp-line); border-radius: 2px; }
.mtp-brass-stavehead { margin: 4px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; font-size: 14.5px; }
.mtp-brass-stavehead .mtp-play { margin-left: 0; }
.mtp-brass-stave { min-height: 60px; }
.mtp-brass-stave svg { max-width: none; height: auto; }

/* ---- cents ---- */
.mtp-brass-cents th { font-variant-numeric: tabular-nums; }
.mtp-brass-cents tr.off td:last-child { color: var(--mtp-paper); }
.mtp-brass-bar { display: inline-block; width: 100px; height: 8px; margin-right: 8px; vertical-align: middle; background: var(--mtp-line); border-radius: 4px; overflow: hidden; }
.mtp-brass-bar i { display: block; height: 100%; max-width: 100%; background: var(--mtp-brass); }
.mtp-brass-bar i.neg { background: var(--mtp-brass-bright); }

/* ---- horn ---- */
.mtp-brass-horn td, .mtp-brass-horn th { vertical-align: middle; }
.mtp-brass-horn .mtp-brass-snd, .mtp-brass-tuba .mtp-brass-snd { color: var(--mtp-muted); }
.mtp-brass-horn td.mtp-brass-side { padding: 5px 8px; }
.mtp-brass-horn td.pref .mtp-fing { padding: 4px 6px; margin: -5px -6px; border: 1.5px solid var(--mtp-brass-bright); border-radius: 6px; }
.mtp-brass-horn .none, .mtp-brass-tuba .none { color: var(--mtp-muted); }
.mtp-brass-old td .mtp-chart-small { margin-left: 4px; }

/* ---- tuba ---- */
.mtp-brass-tuba td, .mtp-brass-tuba th { vertical-align: middle; }
.mtp-brass-tuba tr.v4 th, .mtp-brass-sizes tr.v4 th { background: rgba(196, 154, 73, .06); }
.mtp-brass-tuba .mtp-brass-also strong { font-weight: 600; }
.mtp-brass-also .alt { color: var(--mtp-muted); font-size: 13px; }
.mtp-brass-fnum { display: block; margin-top: 2px; color: var(--mtp-muted); font-size: 12px; }
.mtp-brass-sizes td, .mtp-brass-sizes th { padding-top: 5px; padding-bottom: 5px; }
.mtp-brass-tune { color: var(--mtp-muted); font-size: 13px; }
.mtp-brass-two { margin-top: 10px; }
.mtp-brass-low { margin-bottom: 8px; }

/* ---- instrument figure and specifications ---- */
.mtp-brass-instgrid { display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: 16px 28px; align-items: start; }
.mtp-brass-fig { margin: 0; }
.mtp-brass-fig img { display: block; width: 100%; height: auto; border: 1px solid var(--mtp-line); background: var(--mtp-raised); }
.mtp-brass-fig figcaption { margin-top: 6px; color: var(--mtp-muted); font-size: 12.5px; line-height: 1.45; }
.mtp-brass-fig figcaption a { color: var(--mtp-brass-bright); }
.mtp-brass-specs { margin: 0; font-size: 14.5px; }
.mtp-brass-specs th { width: 9.5em; white-space: normal !important; vertical-align: top; }
.mtp-brass-specs td { vertical-align: top; }
.mtp-brass-src { color: var(--mtp-muted); font-size: 12px; white-space: nowrap; }

/* ---- FAQ and practice ---- */
.mtp-brass-faq details { border-top: 1px solid var(--mtp-line); padding: 0; max-width: 78ch; }
.mtp-brass-faq details:last-of-type { border-bottom: 1px solid var(--mtp-line); }
.mtp-brass-faq summary { cursor: pointer; padding: 12px 4px; font-weight: 600; color: var(--mtp-paper); line-height: 1.4; }
.mtp-brass-faq summary:hover { color: var(--mtp-brass-bright); }
.mtp-brass-faq details p { margin: 0 0 14px; padding: 0 4px; line-height: 1.6; }
.mtp-brass-practice ol { max-width: 78ch; padding-left: 1.3em; line-height: 1.6; }
.mtp-brass-practice li { margin: 0 0 8px; }

@media screen and (max-width: 720px) {
  .mtp-brass-instgrid { grid-template-columns: minmax(0, 1fr); }
  .mtp-brass-legend { margin-top: -10px; }
  .mtp-brass-grid { font-size: 13.5px; }
  .mtp-brass-grid td, .mtp-brass-grid thead th { padding-left: 4px; padding-right: 4px; }
  .mtp-brass-staveblock { padding-left: 8px; padding-right: 8px; }
  .mtp-brass-src { white-space: normal; }
  .mtp-brass-specs th { width: 7em; }
  .mtp-brass-bar { width: 60px; }
}

/* ---- print: black ink, one or two A4 pages per chart ---- */
@media print {
  .mtp-brass-lead { font-size: 8.5pt; margin: 0 0 3pt; }
  .mtp-brass-cap { font-size: 8.5pt; color: #000 !important; margin: 0 0 2pt; }
  .mtp-brass-legend { font-size: 8pt !important; margin: 2pt 0 8pt; line-height: 1.3; }
  .mtp-brass-h2 { font-size: 14pt; margin: 0 0 2pt; }
  .mtp-brass-h3 { font-size: 11pt; margin: 6pt 0 2pt; }
  .mtp-sheet .mtp-chart-small { font-size: 8.5pt; line-height: 1.3; }
  .mtp-sheet .mtp-play { display: none !important; }

  .mtp-brass-grid { font-size: 9.5pt; margin: 0 0 4pt; width: 100%; }
  .mtp-brass-grid th, .mtp-brass-grid td { padding: 3.2pt 2pt !important; }
  .mtp-brass-grid thead th { font-size: 8pt; letter-spacing: 0; }
  .mtp-brass-grid thead th small { font-size: 7.5pt; }
  .mtp-brass-grid td.f-pedal, .mtp-brass-grid td.f-rare { color: #000 !important; }
  .mtp-brass-grid td.f-flat { font-style: italic; }
  .mtp-brass-grid td.f-new { font-weight: 700; text-decoration: underline; }
  .mtp-brass-trig { margin-top: 10pt; }
  .mtp-brass-trig td.mtp-brass-same { font-size: 8.5pt; }
  .mtp-brass-grid td small { font-size: 7.5pt; }

  .mtp-brass-finder { font-size: 9.5pt; }
  .mtp-split-brass tr { grid-template-columns: 24mm 1fr 22mm !important; }
  .mtp-brass-finder .pos { border: 0 !important; padding: 0 2pt; font-weight: 700; }
  .mtp-brass-finder .pos.short { font-weight: 400; }
  .mtp-brass-finder .pos:first-child { font-weight: 700; }
  .mtp-brass-finder .pos.trig { text-decoration: underline; }
  .mtp-brass-finder th, .mtp-brass-finder td { padding: 2.4pt 4pt !important; }

  .mtp-brass-lead, .mtp-brass-cap { max-width: none; }
  .mtp-fing { gap: 2.4pt; }
  .mtp-fing i { width: 13.5pt; height: 13.5pt; border-width: 1pt; border-color: #000 !important; }
  .mtp-fing i b { font-size: 7.5pt; color: #000 !important; }
  .mtp-fing i.on { background: #000 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .mtp-fing i.on b { color: #fff !important; }
  .mtp-fing i.t { margin-right: 1.5pt; }
  .mtp-sr { position: absolute; left: 0; }

  .mtp-split-horn tr { grid-template-columns: 18mm 18mm 19mm 26mm !important; }
  .mtp-split-horn th, .mtp-split-horn td { padding: 2.5pt 3pt !important; font-size: 9pt; }
  .mtp-brass-horn td.pref .mtp-fing { border: 1.2pt solid #000 !important; padding: 1.5pt 2pt; margin: -2pt -2pt; border-radius: 3pt; }
  .mtp-brass-horn .mtp-brass-snd { color: #000 !important; }

  .mtp-split-tuba tr { grid-template-columns: 19mm 19mm 24mm 1fr !important; }
  .mtp-split-tuba th, .mtp-split-tuba td { padding: 1.3pt 3pt !important; font-size: 9pt; }
  .mtp-brass-tuba .mtp-brass-also .alt { font-size: 8pt; display: inline; }
  .mtp-brass-tuba .mtp-brass-also br { display: none; }
  .mtp-brass-tuba .mtp-brass-also .alt::before { content: ' '; }
  .mtp-brass-grid td sup, .mtp-brass-tuba th sup { font-size: 7.5pt; }
  .mtp-brass-tuba .mtp-brass-snd { color: #000 !important; }
  .mtp-brass-sizes { font-size: 9pt; margin: 3pt 0 6pt; }
  .mtp-brass-sizes th, .mtp-brass-sizes td { padding: 1.4pt 4pt !important; }
  .mtp-brass-fnum { display: inline; margin-left: 4pt; font-size: 8pt; }
  .mtp-brass-tune { font-size: 8pt; color: #000 !important; }
  .mtp-brass-two { display: grid; grid-template-columns: 1.3fr 1fr; gap: 0 14pt; }
  .mtp-brass-low { font-size: 9pt; margin: 2pt 0 3pt; }
  .mtp-brass-low th, .mtp-brass-low td { padding: 1.4pt 4pt !important; }
}
