/* =========================================================
   Tuni Campus Library - v2
   Shared facility: SPVN Tuni + ICSE Tuni
========================================================= */

.tuni-library-intro .common-image-panel img{
    min-height:360px;
    object-fit:cover;
}

.library-quote{
    margin-top:24px;
    padding:20px 22px;
    border-left:4px solid var(--primary);
    background:#fff;
    border-radius:0 16px 16px 0;
    font-size:1.08rem;
    font-weight:700;
    line-height:1.65;
}

.library-quote span{
    display:block;
    margin-top:8px;
    font-size:.92rem;
    font-weight:600;
    opacity:.72;
}

.library-stat-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}

.library-stat-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:20px;
    padding:22px;
    box-shadow:var(--shadow-sm);
}

.library-stat-card strong{
    display:block;
    margin-bottom:8px;
    font-size:1.45rem;
    line-height:1.2;
    color:var(--primary);
}

.library-stat-card span{
    display:block;
    line-height:1.45;
}

.library-hours-grid{
    display:grid;
    grid-template-columns:.9fr 1.2fr 1.2fr;
    gap:18px;
}

.library-hours-card{
    padding:24px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:22px;
    box-shadow:var(--shadow-sm);
}

.library-hours-card-main{
    background:linear-gradient(135deg,rgba(128,0,32,.07),rgba(128,0,32,.015));
}

.library-hours-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    margin-bottom:16px;
    border-radius:14px;
    background:#f5eef0;
    font-size:1.35rem;
}

.library-hours-label{
    display:block;
    margin-bottom:8px;
    font-weight:800;
    color:var(--dark);
}

.library-hours-card strong{
    display:block;
    font-size:1.55rem;
    color:var(--primary);
}

.library-hours-card ul{
    margin:10px 0 0;
    padding-left:20px;
}

.library-hours-card li + li{
    margin-top:9px;
}

.library-table-wrap{
    overflow-x:auto;
    background:#fff;
    border:1px solid var(--border);
    border-radius:20px;
    box-shadow:var(--shadow-sm);
}

.library-table{
    width:100%;
    min-width:760px;
    border-collapse:collapse;
}

.library-table th,
.library-table td{
    padding:14px 16px;
    border-bottom:1px solid var(--border);
    text-align:left;
    vertical-align:top;
}

.library-table th{
    background:#f7f9fc;
    color:var(--dark);
}

.library-total-row td{
    font-weight:800;
    background:#fafafa;
}

.library-reading-grid{
    display:grid;
    grid-template-columns:.75fr 1.25fr;
    gap:22px;
}

.newspaper-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.newspaper-card{
    min-height:104px;
    padding:16px;
    border:1px solid var(--border);
    border-radius:16px;
    background:#f8fafc;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.newspaper-card span{
    font-size:.78rem;
    text-transform:uppercase;
    letter-spacing:.06em;
    opacity:.65;
}

.newspaper-card strong{
    font-size:1.08rem;
    line-height:1.35;
}

.magazine-list{
    margin:0;
    padding-left:24px;
    column-count:2;
    column-gap:34px;
}

.magazine-list li{
    break-inside:avoid;
    padding:8px 0 8px 4px;
    border-bottom:1px dashed rgba(0,0,0,.10);
}

.library-rule-list li{
    margin-bottom:9px;
}

.library-librarian-card{
    display:grid;
    grid-template-columns:minmax(180px,240px) 1fr;
    gap:24px;
    align-items:center;
    padding:24px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:24px;
    box-shadow:var(--shadow-sm);
}

.library-librarian-card img{
    width:100%;
    aspect-ratio:4/5;
    object-fit:cover;
    border-radius:18px;
}

.library-librarian-qualification{
    font-weight:700;
    color:var(--primary);
}

.library-programme-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}

.library-programme-card{
    display:flex;
    gap:14px;
    padding:20px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:18px;
    box-shadow:var(--shadow-sm);
}

.library-programme-mark{
    flex:0 0 34px;
    width:34px;
    height:34px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f5eef0;
    color:var(--primary);
    font-weight:900;
}

.library-programme-card h3{
    margin:0 0 6px;
    font-size:1rem;
}

.library-programme-card p{
    margin:0;
    font-size:.92rem;
}

.reading-stars-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}

.reading-star-card{
    overflow:hidden;
    background:#fff;
    border:1px solid var(--border);
    border-radius:20px;
    box-shadow:var(--shadow-sm);
}

.reading-star-card img{
    width:100%;
    aspect-ratio:4/5;
    object-fit:cover;
    display:block;
}

.reading-star-card > div{
    padding:15px 16px 17px;
}

.reading-star-card h3{
    margin:0 0 5px;
    font-size:1rem;
}

.reading-star-card p{
    margin:0;
    font-size:.9rem;
}

.tuni-library-gallery{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}

.tuni-library-gallery-item{
    display:block;
    overflow:hidden;
    border-radius:18px;
    background:#f3f4f6;
    aspect-ratio:16/9;
}

.tuni-library-gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .25s ease;
}

.tuni-library-gallery-item:hover img{
    transform:scale(1.035);
}

.library-more{
    margin-top:24px;
}

.library-more summary{
    cursor:pointer;
    width:max-content;
    max-width:100%;
    padding:11px 18px;
    border:1px solid var(--border);
    border-radius:999px;
    background:#fff;
    font-weight:800;
    color:var(--primary);
    list-style:none;
}

.library-more summary::-webkit-details-marker{
    display:none;
}

.library-more[open] summary{
    margin-bottom:22px;
}

.library-more-grid{
    margin-top:4px;
}

@media (max-width: 980px){
    .library-stat-grid,
    .reading-stars-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .library-hours-grid,
    .library-reading-grid{
        grid-template-columns:1fr;
    }

    .library-programme-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .tuni-library-gallery{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 680px){
    .library-stat-grid,
    .reading-stars-grid,
    .library-programme-grid,
    .tuni-library-gallery,
    .newspaper-grid{
        grid-template-columns:1fr;
    }

    .magazine-list{
        column-count:1;
    }

    .library-librarian-card{
        grid-template-columns:1fr;
    }

    .library-librarian-card img{
        max-width:280px;
    }
}
