/*
===========================================================================
CHANGE LOG
File: /var/www/html/nsgia.com/static/css/library.css
Type: Page-scoped stylesheet (loaded only on /library via extra_css block)
Purpose: Styles for the reference library index and viewer pages.
Self-contained: concrete values matching the portal (Playfair Display
headings, Source Sans Pro body) and the document palette. No external tokens.
===========================================================================
2026-06-14 v1.0 - Initial creation
===========================================================================
*/

.library-section {
    max-width: 900px;
    margin: 2.5rem auto;
    padding: 0 1.5rem;
    font-family: 'Source Sans Pro', Arial, sans-serif;
    color: #1b1b1b;
    line-height: 1.6;
}

.library-section h1 {
    font-family: 'Playfair Display', Georgia, serif;
    color: #1f3349;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.library-lede {
    color: #55606b;
    font-size: 1.1rem;
    margin-bottom: 2rem;
}

.library-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.library-item {
    margin-bottom: 1.75rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #d8dee6;
}

.library-item:last-child {
    border-bottom: none;
}

.library-item-title {
    font-size: 1.15rem;
    font-weight: 600;
    color: #1f3349;
    text-decoration: none;
    display: inline-block;
}

.library-item-title:hover,
.library-item-title:focus {
    color: #2f5d62;
    text-decoration: underline;
}

.library-item-meta {
    color: #6b7682;
    font-size: 0.82rem;
    letter-spacing: 0.4px;
    margin-top: 0.35rem;
}

.library-item-description {
    color: #1b1b1b;
    margin-top: 0.6rem;
    margin-bottom: 0;
}

.library-empty {
    color: #6b7682;
    font-style: italic;
}

/* ===========================================
   VIEWER PAGE (/library/view/<slug>/)
   =========================================== */

.library-view {
    max-width: 1100px;
    margin: 2rem auto;
    padding: 0 1.5rem;
    font-family: 'Source Sans Pro', Arial, sans-serif;
    color: #1b1b1b;
}

.library-view-header {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #d8dee6;
}

.library-view-back {
    display: inline-block;
    font-size: 0.85rem;
    color: #2f5d62;
    text-decoration: none;
    margin-bottom: 0.75rem;
}

.library-view-back:hover,
.library-view-back:focus {
    color: #14222f;
    text-decoration: underline;
}

.library-view-title {
    font-family: 'Playfair Display', Georgia, serif;
    color: #1f3349;
    font-weight: 600;
    margin: 0 0 0.5rem 0;
}

.library-view-description {
    color: #55606b;
    margin: 0 0 1rem 0;
    line-height: 1.6;
}

.library-view-actions {
    margin-top: 0.5rem;
}

.library-view-download {
    display: inline-block;
    padding: 0.5rem 1rem;
    background: #1f3349;
    color: #ffffff;
    text-decoration: none;
    border-radius: 4px;
    font-size: 0.85rem;
}

.library-view-download:hover,
.library-view-download:focus {
    background: #14222f;
}

.library-view-pdf-wrap {
    width: 100%;
    height: 85vh;
    min-height: 700px;
    background: #f4f7fa;
    border: 1px solid #d8dee6;
    border-radius: 4px;
    overflow: hidden;
    position: relative;
}

.library-view-pdf {
    display: block;
    width: 100% !important;
    height: 100% !important;
    border: 0;
}

.library-view-fallback {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: #6b7682;
    z-index: -1;
}
