/* =========================================================
   NATIONAL JOURNAL LIBRARY
   Public searchable article library.
   ========================================================= */

#national-journal-library-popup{
    position:fixed;
    inset:0;
    z-index:9100;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:28px;
    background:rgba(0,0,0,.80);
}

#national-journal-library-popup.hidden{
    display:none;
}

.national-journal-library-window{
    width:min(1220px,94vw);
    max-height:86vh;
    overflow-y:auto;
    background:#05070a;
    border:2px solid #d4af37;
    padding:24px;
    box-shadow:0 24px 90px rgba(0,0,0,.76);
}

.national-journal-library-inner{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.national-journal-library-header{
    display:flex;
    flex-direction:column;
    gap:8px;
    padding-bottom:16px;
    border-bottom:1px solid rgba(212,175,55,.32);
}

.national-journal-library-header p{
    margin:0;
    color:#d4af37;
    font-size:12px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.national-journal-library-header h1{
    margin:0;
    color:#f6ecd2;
    font-size:34px;
    line-height:1.05;
}

.national-journal-library-header span{
    color:#f1e8d2;
    font-size:15px;
    line-height:1.35;
}

.national-journal-library-controls{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:12px;
}

.national-journal-library-controls input,
.national-journal-library-controls select{
    min-height:46px;
    background:#0b0b0b;
    color:#f6ecd2;
    border:1px solid rgba(212,175,55,.42);
    padding:12px;
}

.national-journal-card-size-controls{
    grid-column:1 / -1;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.national-journal-card-size-controls button{
    background:#111;
    color:#d4af37;
    border:1px solid rgba(212,175,55,.40);
    padding:10px 16px;
    cursor:pointer;
    font-weight:700;
}

.national-journal-card-size-controls button.active{
    background:#d4af37;
    color:#111;
}

.national-journal-library-grid{
    display:grid;
    gap:16px;
}

/* XS */

.national-journal-library-grid.journal-cards-xs{
    grid-template-columns:1fr;
    gap:4px;
}

.journal-cards-xs .national-journal-library-card{
    display:block;
    min-height:unset;
    background:none;
    border:none;
    border-bottom:1px solid rgba(212,175,55,.18);
    padding:0;
}

.journal-cards-xs .national-journal-library-card img{
    display:none;
}

.journal-cards-xs .national-journal-library-card-body{
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:2px;
    padding:2px 0;
}

.journal-cards-xs .national-journal-library-card-body span{
    grid-column:1;
    font-size:7px;
    letter-spacing:.18em;
}

.journal-cards-xs .national-journal-library-card-body h3{
    grid-column:1;
    font-size:11px;
    line-height:1.04;
}

.journal-cards-xs .national-journal-library-card-body p{
    display:none;
}

.journal-cards-xs .national-journal-library-card-body strong{
    grid-column:2;
    grid-row:1 / span 2;
    font-size:8px;
    align-self:center;
}

/* SMALL */

.national-journal-library-grid.journal-cards-small{
    grid-template-columns:repeat(2,1fr);
    gap:14px;
}

.journal-cards-small .national-journal-library-card{
    display:grid;
    grid-template-columns:84px 1fr;
    min-height:82px;
}

.journal-cards-small .national-journal-library-card img{
    height:82px;
}

.journal-cards-small .national-journal-library-card-body{
    padding:10px 12px;
    gap:4px;
}

.journal-cards-small .national-journal-library-card-body h3{
    font-size:16px;
    line-height:1.18;
}

.journal-cards-small .national-journal-library-card-body p{
    display:none;
}

.journal-cards-small .national-journal-library-card-body strong{
    font-size:11px;
}

/* MEDIUM */

.national-journal-library-grid.journal-cards-medium{
    grid-template-columns:repeat(2,1fr);
    gap:16px;
}

.journal-cards-medium .national-journal-library-card{
    display:grid;
    grid-template-columns:130px 1fr;
    min-height:126px;
}

.journal-cards-medium .national-journal-library-card img{
    height:126px;
}

.journal-cards-medium .national-journal-library-card-body{
    padding:16px;
}

.journal-cards-medium .national-journal-library-card-body h3{
    font-size:20px;
    line-height:1.22;
}

/* LARGE */

.national-journal-library-grid.journal-cards-large{
    grid-template-columns:1fr;
    gap:18px;
}

.journal-cards-large .national-journal-library-card{
    display:grid;
    grid-template-columns:240px 1fr;
    min-height:150px;
}

.journal-cards-large .national-journal-library-card img{
    height:150px;
}

.journal-cards-large .national-journal-library-card-body{
    padding:20px;
}

.journal-cards-large .national-journal-library-card-body h3{
    font-size:22px;
    line-height:1.14;
}

.national-journal-library-card{
    background:#090909;
    border:1px solid rgba(212,175,55,.26);
    cursor:pointer;
    overflow:hidden;
    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.national-journal-library-card:hover,
.national-journal-library-card:focus-visible{
    transform:translateY(-2px);
    border-color:rgba(212,175,55,.82);
    box-shadow:0 12px 32px rgba(0,0,0,.48);
    outline:none;
}

.national-journal-library-card img{
    width:100%;
    height:100%;
    object-fit:cover;
}

/* NO-IMAGE CARD FIX */

.journal-cards-small .national-journal-library-card.no-image{
    grid-template-columns:1fr;
}

.journal-cards-medium .national-journal-library-card.no-image{
    grid-template-columns:1fr;
}

.journal-cards-large .national-journal-library-card.no-image{
    grid-template-columns:1fr;
}

.journal-cards-small .national-journal-library-card.no-image .national-journal-library-card-body,
.journal-cards-medium .national-journal-library-card.no-image .national-journal-library-card-body,
.journal-cards-large .national-journal-library-card.no-image .national-journal-library-card-body{
    width:100%;
    padding:16px;
}

.journal-cards-small .national-journal-library-card.no-image h3,
.journal-cards-medium .national-journal-library-card.no-image h3,
.journal-cards-large .national-journal-library-card.no-image h3{
    max-width:none;
}

.national-journal-library-card-body{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:4px;
    padding:12px;
}

.national-journal-library-card-body span{
    color:#d4af37;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:11px;
}

.national-journal-library-card-body h3{
    margin:0;
    color:#f6ecd2;
    font-size:18px;
    line-height:1.08;
}

.national-journal-library-card-body p{
    margin:0;
    color:#ece4d0;
    line-height:1.28;
}

.national-journal-library-card-body strong{
    color:#b8a26a;
    font-size:13px;
}

.national-journal-library-empty{
    color:#f1e8d2;
    opacity:.72;
}

.publication-reader-library-button{
    margin-top:24px;
    width:fit-content;
    background:#d4af37;
    color:#111;
    border:1px solid #d4af37;
    padding:13px 18px;
    cursor:pointer;
    font-weight:700;
}

.publication-reader-library-button:hover{
    background:#f2d36f;
}

@media screen and (max-width:980px){

    .journal-cards-small,
    .journal-cards-medium{
        grid-template-columns:1fr !important;
    }

}

@media screen and (max-width:760px){

    #national-journal-library-popup{
        padding:0;
    }

    .national-journal-library-window{
        width:100vw;
        height:100dvh;
        max-height:100dvh;
        border-left:0;
        border-right:0;
        padding:18px;
    }

    .national-journal-library-controls{
        grid-template-columns:1fr;
    }

    .journal-cards-small .national-journal-library-card,
    .journal-cards-medium .national-journal-library-card,
    .journal-cards-large .national-journal-library-card{
        grid-template-columns:1fr;
        min-height:auto;
    }

    .national-journal-library-card img{
        width:100%;
        height:180px;
        min-height:0;
        border-right:0;
        border-bottom:1px solid rgba(212,175,55,.24);
    }

}
