.access-badge {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 4px 10px; border-radius: 20px;
    font-size: 0.72rem; font-weight: 600;
    letter-spacing: 0.04em; text-transform: uppercase;
    color: #fff; white-space: nowrap; user-select: none;
}
.badge-open-access  { background-color: #2e7d32; }
.badge-hybrid       { background-color: #f57c00; }
.badge-restricted   { background-color: #616161; }
.badge-embargoed    { background-color: #1565c0; }

.cover-badge-overlay {
    position: absolute; bottom: 0; left: 0; right: 0;
    padding: 6px 8px; background: rgba(0,0,0,0.55);
    display: flex; justify-content: center;
}
.status-badge { display: inline-block; padding: 3px 8px; border-radius: 4px;
    font-size: 0.70rem; font-weight: 600; text-transform: uppercase; }
.status-published   { background:#e8f5e9; color:#2e7d32; }
.status-forthcoming { background:#fff3e0; color:#e65100; }
.status-draft       { background:#f3f4f6; color:#616161; }
.status-retracted   { background:#fce4ec; color:#b71c1c; }
