/* Requested additions layered on top of the original site design. */

.news-slider {
    max-height: 14.5rem;
    overflow-y: auto;
    padding: 0.72rem 0.9rem;
    background: rgba(255, 255, 255, 0.66);
    border: 1px solid var(--color-border);
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(32, 38, 36, 0.04);
    scrollbar-gutter: stable;
}

.news-slider::-webkit-scrollbar {
    width: 6px;
}

.news-slider::-webkit-scrollbar-track {
    background: transparent;
}

.news-slider::-webkit-scrollbar-thumb {
    background: rgba(47, 111, 100, 0.34);
    border-radius: 999px;
}

.news-slider::-webkit-scrollbar-thumb:hover {
    background: rgba(47, 111, 100, 0.52);
}

.pub-year-group {
    display: grid;
    grid-template-columns: 4rem minmax(0, 1fr);
    gap: 1.05rem;
}

.pub-year-group + .pub-year-group {
    margin-top: 1.65rem;
}

.pub-year {
    height: fit-content;
    margin: 0;
    padding-top: 0.5rem;
    color: var(--color-accent);
    font-size: 0.78rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.03em;
}

.pub-list {
    min-width: 0;
    padding-top: 0.12rem;
    border-top: 1px solid var(--color-border);
}

.pub-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.28rem 0.7rem;
    margin-top: 0.22rem;
}

.pub-links a,
.pub-link-disabled {
    margin: 0;
    padding: 0;
    color: var(--color-link);
    background: transparent;
    border: 0;
    border-radius: 0;
    font-family: inherit;
    font-size: 0.8rem;
    font-weight: 500;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: lowercase;
}

.pub-links a::after {
    content: none;
}

.pub-links a:hover {
    color: var(--color-accent-hover);
    background: transparent;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.22em;
}

.pub-link-disabled {
    color: var(--color-text-muted);
    cursor: default;
}

@media (max-width: 768px) {
    /* Preserve the original header while preventing the affiliation row from
       reserving an oversized flex height on narrow screens. */
    .identity-affiliation {
        flex: 0 1 auto;
    }

    .news-slider {
        max-height: 16rem;
        padding: 0.55rem 0.72rem;
    }

    .pub-year-group {
        grid-template-columns: 1fr;
        gap: 0.3rem;
    }

    .pub-year {
        width: fit-content;
        padding: 0.18rem 0.55rem;
        color: var(--color-accent-hover);
        background: var(--color-surface-muted);
        border-radius: 999px;
    }

    .pub-list {
        border-top: 0;
    }
}
