/* Sri Prakash database-driven Gallery additions */

.gallery-cms-toolbar{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:center;
    justify-content:space-between;
    margin:0 0 30px;
    padding:18px 20px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:20px;
    box-shadow:var(--shadow-sm);
}

.gallery-cms-toolbar__summary{
    margin:0;
    color:var(--text);
    font-weight:700;
}

.gallery-cms-year-filter{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.gallery-cms-year-filter a{
    display:inline-flex;
    min-height:38px;
    padding:8px 14px;
    align-items:center;
    justify-content:center;
    color:var(--primary);
    background:var(--light);
    border:1px solid var(--border);
    border-radius:999px;
    font-size:.78rem;
    font-weight:800;
    transition:var(--transition);
}

.gallery-cms-year-filter a:hover,
.gallery-cms-year-filter a.active{
    color:#fff;
    background:var(--primary);
    border-color:var(--primary);
}

.gallery-cms-card-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:0 0 10px;
}

.gallery-cms-card-meta span{
    display:inline-flex;
    margin:0;
    padding:5px 9px;
    color:var(--heritage-maroon);
    background:rgba(122,30,44,.08);
    border-radius:999px;
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.03em;
    text-transform:none;
}

.gallery-cms-count{
    display:inline-flex;
    margin-top:auto;
    padding-top:14px;
    color:var(--primary);
    font-weight:800;
}

.gallery-cms-pagination{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
    justify-content:center;
    margin-top:38px;
}

.gallery-cms-pagination a,
.gallery-cms-pagination span{
    display:inline-flex;
    min-width:42px;
    min-height:42px;
    padding:9px 13px;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    font-size:.8rem;
    font-weight:800;
}

.gallery-cms-pagination a{
    color:var(--primary);
    background:#fff;
    border:1px solid var(--border);
}

.gallery-cms-pagination a:hover,
.gallery-cms-pagination a.active{
    color:#fff;
    background:var(--primary);
    border-color:var(--primary);
}

.gallery-cms-pagination span{
    color:var(--muted);
    background:var(--light);
    border:1px solid var(--border);
}

.gallery-cms-source-note{
    margin-top:14px;
    color:var(--muted);
    font-size:.82rem;
}

.gallery-main-card.has-cover .gallery-main-placeholder{
    display:none;
}

.home-gallery-item{
    display:block;
    color:inherit;
}

.home-gallery-caption span{
    display:inline-flex;
    margin-top:6px;
    color:rgba(255,255,255,.82);
    font-size:.75rem;
    font-weight:700;
}

@media (max-width:720px){
    .gallery-cms-toolbar{
        align-items:flex-start;
        flex-direction:column;
    }
}

/* Year divider for event groups that contain several campus/volume albums. */
.gallery-cms-year-heading {
    grid-column: 1 / -1;
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin: 18px 0 2px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border, #e3e6ea);
}

.gallery-cms-year-heading span {
    color: var(--heritage-maroon, #7a1f2b);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.gallery-cms-year-heading h3 {
    margin: 0;
    color: var(--dark, #1f2933);
    font-size: 1.45rem;
}

@media (max-width: 640px) {
    .gallery-cms-year-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 2px;
    }
}
