/* the free library (1 Nov 2026) - matches the shop's look, big type */
.lib { max-width: 1100px; margin: 0 auto; padding: 10px 20px 40px; text-align: center; }
.lib h1 { font: 400 clamp(34px, 6vw, 56px)/1.1 var(--serif); margin: 4px 0 14px; white-space: normal; overflow-wrap: break-word; }
.lb-intro { font-size: 20px; max-width: 640px; margin: 0 auto 26px; }
.lb-intro a, .lb-note a { color: #13294B; font-weight: 700; }
.lb-mine { margin: 6px 0 30px; }
.lb-note { font-size: 18px; margin: -10px 0 0; }
.lb-more { font: 400 32px var(--serif); margin: 26px 0 18px; }
.lb-grid { list-style: none; margin: 0 0 30px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 24px; text-align: left; }
.lb-book { display: flex; flex-direction: column; gap: 6px; height: 100%; box-sizing: border-box; padding: 18px 18px 16px; background: #F7EBD6 url(/img/paper.jpg); border: 3px solid #13294B; border-radius: 16px; box-shadow: 6px 7px 0 #13294B; }
.lb-grid-mine .lb-book { background: #13294B; color: #F7EBD6; box-shadow: 6px 7px 0 #E2553D; }
.lb-pill { align-self: flex-start; border: 2px solid currentColor; border-radius: 99px; padding: 2px 12px; font: 700 13px var(--sans); letter-spacing: .1em; text-transform: uppercase; color: #E2553D; }
.lb-book b { font: 400 25px/1.2 var(--serif); color: inherit; margin-top: 4px; }
.lb-by { font-size: 19px; color: #3B5577; }
.lb-grid-mine .lb-by { color: #CFE1EC; }
.lb-read { margin-top: auto; display: flex; align-items: center; justify-content: center; min-height: 52px; border-radius: 12px; background: #13294B; color: #F7EBD6; font: 700 19px var(--sans); text-decoration: none; box-shadow: 4px 4px 0 #E2553D; }
.lb-grid-mine .lb-read { background: #E2553D; color: #13294B; box-shadow: 4px 4px 0 #F7EBD6; }
.lb-print { font-size: 17px; color: inherit; text-align: center; margin-top: 8px; }
.lb-disc { font-size: 15px; color: #3B5577; max-width: 640px; margin: 10px auto 18px; }
.lb-back .cta { width: auto; color: #F7EBD6; text-decoration: none; }
@media (max-width: 560px) { .lb-grid { grid-template-columns: 1fr; gap: 16px; } }
