/* Notation Instructions — Screen + Print Styles */

@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,300;0,400;0,700;1,400&family=Architects+Daughter&display=swap');

/* ─── Base ─────────────────────────────────────────────────────────────────── */

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
    font-family: 'Georgia', 'Times New Roman', serif;
    font-size: 17px;
    line-height: 1.6;
    color: #222;
    background: #f5f5f0;
    max-width: 900px;
    margin: 0 auto;
    padding: 40px 30px;
}

/* ─── Typography ───────────────────────────────────────────────────────────── */

h1 {
    font-size: 2em;
    font-weight: 700;
    margin-bottom: 0.3em;
    border-bottom: 2px solid #333;
    padding-bottom: 0.2em;
}

h2 {
    font-size: 1.5em;
    font-weight: 600;
    margin-top: 2em;
    margin-bottom: 0.5em;
    border-bottom: 1px solid #aaa;
    padding-bottom: 0.15em;
}

h3 {
    font-size: 1.2em;
    font-weight: 600;
    margin-top: 1.5em;
    margin-bottom: 0.15em;
}

p {
    margin-bottom: 1em;
}

.subtitle {
    font-style: italic;
    color: #555;
    margin-bottom: 2em;
    font-size: 1.05em;
}

/* ─── Section: image above, text below ─────────────────────────────────────── */

.notation-section {
    margin: 0 0 2.5em 0;
    page-break-inside: avoid;
}

.notation-section + .notation-section {
    margin-top: -1.5em;
}

.notation-section + h4 {
    margin-top: -1.5em;
}

.notation-section .caption {
    font-size: 0.9em;
    color: #666;
    font-style: italic;
    margin-top: 0.3em;
    margin-bottom: 0.8em;
}

.notation-section img,
.notation-section object {
    display: block;
    max-width: 100%;
    height: auto;
    border: 1px solid #ddd;
    border-radius: 3px;
    background: white;
    padding: 8px;
}

.notation-section .description {
    margin-top: 0.8em;
}

.notation-section .description p {
    margin-bottom: 0.4em;
}

/* ─── Section: side-by-side (image left, text right) ───────────────────────── */

.notation-section.side-by-side {
    display: flex;
    gap: 24px;
    align-items: flex-start;
}

.notation-section.side-by-side .image-col {
    flex: 0 0 45%;
    max-width: 45%;
}

.notation-section.side-by-side .image-col img {
    width: 100%;
}

.notation-section.side-by-side .text-col {
    flex: 1;
}

/* ─── Lists ────────────────────────────────────────────────────────────────── */

ul, ol {
    margin-left: 1.5em;
    margin-bottom: 1em;
}

li {
    margin-bottom: 0.3em;
}

/* ─── Separator ────────────────────────────────────────────────────────────── */

hr {
    border: none;
    border-top: 1px solid #ccc;
    margin: 2.5em 0;
}

/* ─── Print Styles ─────────────────────────────────────────────────────────── */

@media print {
    body {
        background: white;
        font-size: 12pt;
        max-width: none;
        padding: 0;
        margin: 0;
    }

    h1 { font-size: 20pt; }
    h2 { font-size: 16pt; margin-top: 18pt; }
    h3 { font-size: 13pt; }

    .notation-section {
        page-break-inside: avoid;
        margin: 14pt 0;
    }

    .notation-section img {
        border: 0.5pt solid #ccc;
        padding: 4pt;
        max-width: 100%;
    }

    .notation-section.side-by-side {
        gap: 12pt;
    }

    /* Avoid orphaned headings */
    h2, h3 {
        page-break-after: avoid;
    }

    /* Hide screen-only elements if any */
    .screen-only {
        display: none;
    }
}
