/* g09 – पुस्तकालय / शैक्षणिक सार्वजनिक पेज */
.g09-page { background: #fff; border-radius: 18px; box-shadow: var(--mpm-shadow); border: 1px solid var(--mpm-border); padding: 1.5rem 1.25rem; }
@media (min-width: 768px) { .g09-page { padding: 2rem 2rem; } }
.g09-page .section-title .g09-kicker { display: block; text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; font-weight: 600; color: var(--mpm-primary); margin-bottom: .2rem; }

.g09-filter { background: linear-gradient(90deg, #fff7e0, #fff3f3); border: 1px solid #f6e3b4; border-radius: 14px; padding: .9rem 1rem; margin-bottom: 1.25rem; }
.g09-filter .form-label { font-size: .85rem; font-weight: 600; color: var(--mpm-ink); margin-bottom: .25rem; }

.g09-docs .doc-item { margin-bottom: 0; height: 100%; }
.g09-docs .doc-item .g09-title { font-weight: 500; line-height: 1.35; }
.g09-docs .doc-item .g09-meta { font-size: .8rem; color: var(--mpm-muted); }
.doc-item .g09-num { flex: 0 0 auto; min-width: 2rem; height: 2rem; border-radius: 50%; background: var(--mpm-primary-light); color: var(--mpm-primary-dark); font-weight: 600; font-size: .85rem; display: inline-flex; align-items: center; justify-content: center; }
.doc-item .g09-dl { flex: 0 0 auto; font-size: .82rem; font-weight: 600; color: var(--mpm-primary); white-space: nowrap; }
.doc-item .g09-dl i { font-size: 1rem; color: inherit; }
.doc-item i.g09-ico { font-size: 1.7rem; }
.doc-item i.bi-link-45deg, .doc-item i.bi-globe2 { color: #2563eb; }
.doc-item i.bi-file-earmark-word-fill { color: #2b579a; }
.doc-item i.bi-file-earmark-excel-fill { color: #217346; }
.doc-item i.bi-file-earmark-image-fill { color: #7c3aed; }
.doc-item:focus-visible { outline: 3px solid var(--mpm-accent); outline-offset: 2px; }

.g09-cover { background: #fff; border: 1px solid var(--mpm-border); border-radius: 16px; overflow: hidden; box-shadow: var(--mpm-shadow); height: 100%; display: flex; flex-direction: column; transition: transform .15s, box-shadow .15s; }
.g09-cover:hover { transform: translateY(-4px); box-shadow: var(--mpm-shadow-lg); }
.g09-cover .g09-cover-img { aspect-ratio: 3 / 4; background: #f3f4f6; overflow: hidden; display: block; }
.g09-cover .g09-cover-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.g09-cover .g09-cover-foot { padding: .65rem .8rem; text-align: center; margin-top: auto; }

.g09-letters { display: flex; flex-wrap: wrap; gap: .35rem; margin: .5rem 0 1rem; }
.g09-letters .btn { min-width: 2.3rem; border-radius: 10px; }
.g09-radio .form-check-input:checked { background-color: var(--mpm-primary); border-color: var(--mpm-primary); }
.g09-book-wrap { max-height: 560px; overflow: auto; border: 1px solid var(--mpm-border); border-radius: 12px; background: #fff; }
.g09-book-wrap table { margin-bottom: 0; font-size: .9rem; }
.g09-book-wrap thead th { position: sticky; top: 0; z-index: 2; }
.g09-book-wrap tbody tr:nth-child(odd) { background: #fffdf3; }
.g09-wait { display: none; color: var(--mpm-muted); font-size: .9rem; }
.g09-wait.show { display: inline-flex; align-items: center; gap: .5rem; }
.g09-notfound { background: #fee2e2; color: #991b1b; font-weight: 600; text-align: center; padding: .6rem; }

.g09-prose { text-align: justify; line-height: 1.85; }
.g09-stat { border-radius: 14px; padding: 1rem; background: var(--mpm-primary-light); text-align: center; height: 100%; }
.g09-stat .num { font-size: 1.5rem; font-weight: 700; color: var(--mpm-primary-dark); }
