/* Бібліотека по планах курсів (build_pages.py --plans): кнопки замовлення «+», теми без матеріалу, плитки курсів,
   навигатор розділів, результати пошуку по всіх курсах. Підключається лише на сторінках бібліотеки після
   materials.css (тому однакова специфічність тут перемагає). */
@media screen{
.lib-chip--order{background:#fff;color:var(--color-brand-100,#8043f7);border:1px dashed #b9a2f5}
.lib-chip--order:hover,.lib-chip--order:focus-visible{border-style:solid;border-color:currentColor}
.lib-chip--order[aria-busy="true"]{opacity:.6;cursor:progress}
.lib-chip--added{background:var(--color-brand-5,#f2ecfe);color:#6a2fe0;border:1px solid transparent}
/* текст темніший за бренд: #8043f7 на #f2ecfe давав 4,48:1, нижче WCAG AA 4,5:1; #6a2fe0 дає 5,9:1 */
.lib-unit__ks .lib-chip--order{height:30px;padding:0 12px;border-radius:999px;font-size:13px}
.lib-topic--plain{background:none;box-shadow:none}
.lib-topic--plain .lib-topic__t{color:var(--color-text-body,#3d3857);font-weight:600}
/* картка без посилання на матеріал (лише «+» або без матеріалів) не клікабельна цілком, тож без підсвітки */
.lib-topic:not(:has(.lib-topic__a)):hover{border-color:var(--color-stroke,#e5dff1);box-shadow:0 6px 18px rgba(53,23,145,.05)}
.lib-topic.lib-topic--plain:not(:has(.lib-topic__a)):hover{box-shadow:none}
/* тема, на яку перейшли з пошуку (#t-…): під шапкою сайту й з рамкою */
.lib-topic,.lib-unit{scroll-margin-top:96px}
.lib-topic:target{border-color:var(--color-brand-100,#8043f7);box-shadow:0 0 0 3px rgba(128,67,247,.22)}
.lib-basis{margin:0;font-size:14px;color:#6b6585}
.lib-courses{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
/* плитка курсу: висота від 56px, довга назва предмета («Вступ до історії України та громадянської освіти (ООП)»)
   не довша за два рядки, повністю вона в title */
.lib-courses .lib-pill{width:100%;height:auto;min-height:56px;padding:8px 14px;flex-direction:column;align-items:flex-start;
 justify-content:center;gap:2px;font-size:14px;line-height:1.3}
.lib-courses .lib-pill b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
/* навигатор розділів курсу: у курсів буває 30–70 розділів. На комп'ютері видно до чотирьох рядів, решта прокруткою
   всередині списку, щоб пошук і перші теми лишались близько до першого екрана */
.lib-top .lib-index:not(.lib-index--pairs):not(.lib-index--classes) .lib-index__list{max-height:236px;overflow-y:auto;
 scrollbar-width:thin;position:relative}
/* position:relative обов'язковий: без нього приховані підписи .sr-only (position:absolute) у пунктах не обрізаються
   прокруткою списку й розтягують сторінку (на телефоні смуга розділів давала 3 105px горизонтальної прокрутки) */
/* навигатор класів на корені: короткі «5 клас» сіткою в кілька колонок і на телефоні */
.lib-top .lib-index.lib-index--classes .lib-index__list{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}
.lib-results{display:flex;flex-direction:column;gap:6px}
.lib-results__h{margin:0;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-brand-100,#8043f7)}
.lib-res{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--color-stroke,#e5dff1);border-radius:12px;
 background:#fff;text-decoration:none;color:var(--color-text-body,#3d3857)}
.lib-res:hover,.lib-res:focus-visible{border-color:var(--color-brand-100,#8043f7)}
.lib-res b{color:var(--color-text-title,#0d0a23);font-size:15px;font-weight:700}
.lib-res span{font-size:13px;color:#6b6585}
.lib-res__more{margin:0;font-size:13px;color:#6b6585}
}
/* кнопки «+» від 721px: свій min-width по найширшому з виміряних шрифтів (Commissioner, Segoe UI, Arial, Roboto,
   12,5px), як у готових чипів, щоб перенос ряду не залежав від підміни шрифту. min-width готових чипів
   («Самостійна робота» 139px) кнопкам завеликий, з ним «+ Самостійна» була розтягнута */
@media screen and (min-width:721px){
.lib-topic .lib-chip.lib-chip--order.lib-chip--testy{min-width:63px}
.lib-topic .lib-chip.lib-chip--order.lib-chip--samostiini{min-width:105px}
.lib-topic .lib-chip.lib-chip--order.lib-chip--konspekty{min-width:91px}
.lib-topic .lib-chip.lib-chip--order.lib-chip--prezentatsii{min-width:111px}
}
@media screen and (max-width:720px){
/* телефон: розділи одним рядом з прокруткою вбік (13 розділів стовпчиком займали 750px, пошук і перша тема йшли
   на другий екран) */
.lib-top .lib-index:not(.lib-index--pairs):not(.lib-index--classes) .lib-index__list{display:flex;max-height:none;
 overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;padding-bottom:6px}
.lib-top .lib-index:not(.lib-index--pairs):not(.lib-index--classes) .lib-index__list>li{flex:0 0 auto;width:min(72vw,260px);
 scroll-snap-align:start}
}
@media print{
.lib-results,.lib-chip--order,.lib-top,.lib-empty{display:none!important}
/* план курсу друкується списком розділів і тем: materials.css ховає в друку всі секції, крім головної */
.mat .mat-sec.lib-sec{display:block!important}
.lib-topic{break-inside:avoid;box-shadow:none}
}
