/* Stile comune ai fogli di esercizi stampabili (A4) */
@font-face{font-family:"Adventor";src:url("../assets/fonts/texgyre/texgyreadventor-regular.woff2") format("woff2");font-weight:400}
@font-face{font-family:"Adventor";src:url("../assets/fonts/texgyre/texgyreadventor-bold.woff2") format("woff2");font-weight:700}
@font-face{font-family:"Noto Music";src:url("../assets/fonts/noto-music-regular.ttf") format("truetype");font-display:block}
:root{--rosso:#c7381f;--arancione:#e79e3a;--chiaro:#f2dcbd;--bruno:#2a0e09;--servizio:#6e4b40;--font:'Heros Cn','Century Gothic','Trebuchet MS',sans-serif}
@font-face{font-family:"Heros Cn";src:url("../assets/fonts/texgyre/texgyreheroscn-regular.woff2") format("woff2");font-weight:400}
@font-face{font-family:"Heros Cn";src:url("../assets/fonts/texgyre/texgyreheroscn-bold.woff2") format("woff2");font-weight:700}
*{box-sizing:border-box}
body{margin:0;background:#e9e9e9;font-family:var(--font);color:#000;font-size:11pt;line-height:1.35}
.bar{display:flex;gap:10px;justify-content:center;padding:14px;font-size:14px}
.bar button,.bar a{font:700 14px var(--font);padding:.5em 1.1em;border:2px solid #000;border-radius:999px;background:#fff;cursor:pointer;color:#000;text-decoration:none}
.bar button{background:var(--rosso);border-color:var(--rosso);color:#fff}
.page{width:210mm;min-height:297mm;margin:0 auto 14px;background:#fff;padding:13mm 14mm}
.head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid #000;padding-bottom:2.5mm;margin-bottom:4mm}
.brand{font-weight:700;font-size:15pt}.brand b{color:var(--rosso)}
.head span{font-size:10pt}
h1{font-size:24pt;margin:0 0 1mm;line-height:1}
h1 em,h2 em{font-style:normal;color:var(--rosso)}
.sub{margin:0 0 4mm;font-size:11.5pt}
h2{font-size:13pt;margin:5mm 0 1.5mm;break-after:avoid}
h2 small{font-weight:400;font-size:9.5pt;opacity:.7}
.ex{margin:0 0 1.5mm}
.ex b{color:var(--rosso)}
ol.q,ul.q{margin:1mm 0 0;padding-left:5.5mm}
ol.q li,ul.q li{margin-bottom:1.6mm}
.recap{display:grid;grid-template-columns:repeat(3,1fr);gap:3.5mm}
.recap div{border:1.5px solid #000;border-radius:4mm;padding:2.5mm 3mm}
.recap h3{margin:0 0 1mm;font-size:11pt;color:var(--rosso)}
.recap p{margin:0;font-size:9.5pt}
.note{border-left:4px solid var(--arancione);background:#fdf6ea;padding:1.5mm 3mm;margin:1.5mm 0;font-size:10pt}
.pair{border:1.5px dashed #000;border-radius:3mm;padding:1.5mm 3mm;margin:1.5mm 0;font-size:10pt}
.pair b{color:var(--rosso)}
.challenge{border:2px solid var(--rosso);border-radius:4mm;padding:2mm 3.5mm;margin-top:4mm}
.challenge h2{margin-top:0;color:var(--rosso)}
.blank{display:inline-block;min-width:22mm;border-bottom:1.2px solid #000;height:1.15em;vertical-align:bottom}
.blank.w{min-width:60mm}
.lines div{border-bottom:1px solid #000;height:6mm}
table{border-collapse:collapse;width:100%;font-size:10pt}
td,th{border:1.2px solid #000;padding:1.3mm 2.2mm;text-align:left;vertical-align:middle}
th{background:var(--chiaro)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:4mm}
.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:3mm}
svg.st,svg.kb{width:100%;height:auto;display:block}
svg.rs{width:100%;height:auto;display:block;margin:.5mm 0 2.5mm}
svg.rs[data-rhythm]{max-width:166mm;margin-left:auto;margin-right:auto}
.score{width:100%;height:auto;display:block;border:1px solid #ccc}
.cap{font-size:9pt;text-align:center;margin-top:.5mm}
.hint{font-size:9pt;opacity:.75}
/* pallini del battito */
.dots{display:flex;align-items:center;gap:3.2mm;flex-wrap:wrap;margin:2mm 0 3mm;min-height:9mm}
.dot{width:4.2mm;height:4.2mm;border-radius:50%;background:#000;display:inline-block;flex:none}
.dot.f{width:6.2mm;height:6.2mm;background:var(--rosso)}
.dot.mf{width:5.2mm;height:5.2mm;background:var(--arancione)}
/* griglia della partitura del corpo */
.body-grid{margin:1.5mm 0 3mm}
.body-grid table{table-layout:fixed}
.body-grid td{text-align:center;font-weight:700;padding:1.2mm .5mm;font-size:10.5pt}
.body-grid td.bl{border-left:3px solid #000}
.body-grid td.lab{width:42mm;text-align:left;font-weight:400;font-size:9pt}
.body-grid td.lab b{color:var(--rosso);font-size:10pt}
.legend{display:flex;flex-wrap:wrap;gap:2mm 5mm;font-size:10pt;margin:1mm 0}
.legend span b{display:inline-block;min-width:9mm;text-align:center;border:1.2px solid #000;border-radius:2mm;margin-right:1mm}
/* soluzioni: più piccole e capovolte */
.page.sol{font-size:9pt}
.page.sol .flip{transform:rotate(180deg)}
.page.sol h2{font-size:10.5pt;margin:3mm 0 1mm}
.page.sol p,.page.sol li{margin:0 0 1mm}
@media print{
  body{background:#fff}
  .bar{display:none}
  .page{margin:0;width:auto;min-height:auto;padding:0;break-after:page}
  .page:last-child{break-after:auto}
  @page{size:A4;margin:11mm}
}

/* direzione G+I: identità del sito (spigoli vivi, rosso #c7381f, titoli in Heros Cn maiuscolo) */
*{border-radius:0 !important}
body{color:var(--bruno);font-size:11.5pt}
h1,h2{text-transform:uppercase;letter-spacing:.01em}
.head span,.hint{color:var(--servizio)}
.bar button,.bar a{border-radius:0}
