/* Publications: magazine cover cards, year links and issue detail. */

.pub-grid { grid-template-columns: repeat(4, 1fr); }
.pub-grid .card__media { aspect-ratio: 4 / 5; background: var(--white); border-bottom: 1px solid var(--grey-card); }
.pub-grid .card__media > img { object-fit: contain; }

.pub-more { margin: 28px 0 0; text-align: center; }

.pub-years { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; }
.pub-years__link { padding: 6px 16px; border: 2px solid var(--maroon); border-radius: 999px; font-size: 14px; font-weight: 500; text-decoration: none; color: var(--maroon); background: var(--white); }
.pub-years__link:hover, .pub-years__link.is-current { background: var(--maroon); color: var(--white); }

.pub-year + .pub-year { margin-top: 44px; }
.pub-year__title { margin: 0 0 18px; font-size: 22px; font-weight: 600; color: var(--maroon); }
.pub-year__title a { text-decoration: none; }
.pub-year__title a:hover { text-decoration: underline; }

.pub-detail { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: 48px; align-items: start; }
.pub-detail__cover { border-radius: var(--radius); overflow: hidden; background: var(--white); box-shadow: 0 6px 24px rgba(0, 0, 0, .14); }
.pub-detail__cover > img { width: 100%; }
.pub-detail__cover .card__placeholder { aspect-ratio: 4 / 5; }
.pub-detail__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.pub-detail__note { margin: 0; color: var(--muted); }
.pub-btn-outline { border: 2px solid var(--maroon); color: var(--maroon); }
.pub-btn-outline:hover { background: var(--maroon); color: var(--white); }

@media (max-width: 1100px) {
    .pub-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 720px) {
    .pub-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .pub-grid .card__body { padding: 12px 12px 14px; }
    .pub-grid .card__title { font-size: 15px; }
    .pub-detail { grid-template-columns: 1fr; gap: 28px; }
    .pub-detail__cover { max-width: 360px; }
}
