/* Course and printables pages. Shared look is in base.css. */
nav.modes { margin: .35rem 0 .9rem; border-bottom: 1px dotted var(--rule); padding-bottom: .5rem; }

.course { overflow-wrap: break-word; }
.course h1 { font: 700 1.25em/1.25 "Noto Sans", Arial, sans-serif; text-transform: uppercase;
             letter-spacing: 1px; color: var(--head); margin: .2rem 0 .8rem; text-wrap: balance; }
.course h1.course-title { text-transform: none; letter-spacing: 0; }
.course h2 { font: 700 1em/1.3 "Noto Sans", Arial, sans-serif; text-transform: uppercase; letter-spacing: 1px;
             color: var(--head); margin: 1.6rem 0 .5rem; padding-top: .5rem; border-top: 1px dotted var(--rule); }
.course h3 { font: 700 .875em/1.3 "Noto Sans", Arial, sans-serif; text-transform: uppercase; letter-spacing: .5px;
             color: var(--head); margin: 1.3rem 0 .4rem; }
.course p, .course li { margin: 0 0 .7rem; }
.course ul, .course ol { padding-left: 1.3em; margin: 0 0 .9rem; }
.course a { color: var(--head); text-decoration-style: dotted; text-underline-offset: 3px; }
.course code { font: .85em Monaco, Consolas, monospace; }
.course hr { border: 0; border-top: 1px dotted var(--rule-row); margin: 1.5rem 0; }
.part { margin: 0; }

/* Arabic inside running text and tables */
.course .ar { font-family: "Noto Naskh Arabic", "Geeza Pro", serif; font-size: 1.35em; line-height: 1.2;
              unicode-bidi: isolate; color: var(--head); }
.course li > .ar:only-child, .course p > .ar:only-child { font-size: 1.6em; }
.course td .ar { font-size: 1.7em; line-height: 1.5; }

/* Tables scroll sideways inside themselves, never the page */
.course table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse;
                margin: 0 0 1rem; font-size: .9em; font-variant-numeric: tabular-nums; }
.course th { font: 700 .75em "Noto Sans", Arial, sans-serif; text-transform: uppercase; letter-spacing: .02em;
             text-align: left; color: var(--muted); border-bottom: 1px dotted var(--rule); padding: .3rem .6rem .3rem 0; }
.course td { border-bottom: 1px dotted var(--rule-row); padding: .3rem .6rem .3rem 0; vertical-align: middle; }
.course tr:last-child td { border-bottom: 0; }

.toc-block { margin: 1rem 0 1.5rem; }
.toc { margin-bottom: .6rem; }
.toc li { margin: 0 0 .25rem; }

details.answers { margin-top: 1.5rem; border-top: 1px dotted var(--rule); padding-top: .5rem; }
details.answers summary { cursor: pointer; }
details.answers[open] summary { margin-bottom: .6rem; }

.pager { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1.5rem;
         border-top: 1px dotted var(--rule); padding-top: .6rem; font-size: .9em; }
.pager a { color: var(--head); text-decoration: none; }
.pager a:last-child { text-align: right; margin-left: auto; }

.course .files { list-style: none; padding: 0; }
.files li { border-bottom: 1px dotted var(--rule-row); padding: .5rem 0; margin: 0; }
.files a { font-weight: 700; }
