.library-controls{display:flex;flex-wrap:wrap;gap:20px;align-items:end;background:#f0e8db;border:1px solid #ddcdb8;padding:22px;margin-bottom:28px;scroll-margin-top:140px}.library-search{flex:1 1 260px;font-size:15px;color:#746a68}.library-search input{display:block;width:100%;margin-top:7px;padding:12px 16px;font:17px 'TNV Sans',sans-serif;border:1px solid #cbb99b;background:white;border-radius:6px}.library-controls .book-filters{flex:2;align-items:end;gap:16px}.library-controls select{min-width:0;width:100%;border-radius:6px;font-size:16px}.library-controls .book-filters label{flex:1;min-width:145px;font-size:15px}.library-controls #book-count{width:100%;font-size:15px}.library-filter-toggle{display:none}#book-reset{order:4;border:0;background:none;color:#641b30;text-decoration:underline;padding:10px;white-space:nowrap}.books-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.book h3{font-size:24px}.book-info{padding:18px}.book-actions{flex-wrap:wrap}.book-actions a{font-size:13px}.book-cover{padding:20px}.library-pages{display:flex;justify-content:center;gap:10px;margin:30px 0}.library-pages button{padding:8px 16px;border:1px solid #c5ac84;background:white;color:#641b30}.library-pages [aria-current]{background:#641b30;color:white}.book-detail-grid{display:grid;grid-template-columns:320px 1fr;gap:50px;margin-top:30px}.book-detail-grid>img{width:100%;box-shadow:0 8px 25px #32101e22}.book-detail-grid h1{font:400 40px 'TNV Serif',serif;color:#641b30}.book-detail-grid p{font-size:18px}.related-books{margin-top:35px}.related-books h2{font-size:26px}.related-books a{text-decoration:underline;color:#641b30}@media(max-width:950px){.books-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.book-detail-grid{grid-template-columns:250px 1fr;gap:28px}}@media(max-width:650px){.books-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.library-controls{padding:16px;gap:12px}.library-filter-toggle{display:block;border:1px solid #c5ac84;background:white;color:#641b30;padding:10px 16px;font-size:16px}.library-controls .book-filters{display:none;flex-basis:100%;flex-wrap:wrap}.library-controls .book-filters.is-open{display:flex}.library-controls .book-filters label{width:auto;min-width:120px}.book h3{font-size:21px}.book-info{padding:14px 10px}.book-cover{padding:12px}.book-actions a{font-size:12px}.book-detail-grid{grid-template-columns:1fr}.book-detail-grid>img{max-width:270px;margin:auto}.book-detail-grid h1{font-size:33px}}

.book-series{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0;font-size:14px}.book-series span{width:100%;color:#746a68}.book-series a{display:inline-block;border:1px solid #bb965c;border-radius:5px;padding:5px 12px;color:#641b30;background:#fff9ed;font-weight:600}.book-series a[aria-current]{background:#641b30;color:white;border-color:#641b30}.book-series a:hover{background:#e8c991;color:#40101e}

.book-series a[hidden]{display:none}.book-series{margin-top:14px}.book-series a{min-height:36px;display:inline-flex;align-items:center;justify-content:center}.book-info{padding-bottom:20px}

/* Reserve enough space for the longest topic and each selected value. */
.library-controls .library-search { flex: 1 1 15rem; min-width: 0; }
.library-controls .book-filters { flex: 3 1 43rem; flex-wrap: wrap; }
.library-controls .book-filters label { flex: 1 1 10rem; min-width: min(100%, 10rem); }
.library-controls .book-filters label:first-child { flex: 1.6 1 16rem; min-width: min(100%, 16rem); }
.library-controls .book-filters select { box-sizing: border-box; padding-inline: 10px 4px; }
@media (max-width: 650px) {
  .library-controls .library-search { flex: 1 1 10rem; }
  .library-controls .book-filters { flex-basis: 100%; }
  .library-controls .book-filters label:first-child { flex-basis: 100%; }
}

.library-support{display:flex;flex-wrap:wrap;align-items:center;gap:24px;border-top:1px solid #dacbb7;padding:24px 0}
.library-support>div:first-child{flex:2 1 240px}
.library-support h2{font-family:'TNV Serif',Georgia,serif;font-size:24px;line-height:1.35}
.library-bank{flex:1 1 185px;text-align:center}
.library-bank img{display:block;width:min(180px,100%);height:auto;aspect-ratio:1;margin:auto;object-fit:contain;image-rendering:pixelated}
.library-bank p{font-size:13px;line-height:1.55}
.library-bank a,.library-bank button,.library-purchase button{display:inline-block;margin:4px;padding:8px 10px;border:1px solid #c8ad85;border-radius:4px;font:inherit;font-size:14px;background:#fffaf2;color:#55172a;cursor:pointer}
.library-bank small,.library-purchase small{display:block}
