/* 4h. RECOMMENDATIONS                                                 */
/* ================================================================== */

.rec-actions {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  flex-wrap: wrap;
  margin-bottom: var(--sp-2);
}

.rec-spinner { font-size: var(--fs-sm); color: var(--c-text-muted); font-style: italic; }
.htmx-request.htmx-indicator.rec-spinner { animation: pulse 1.2s ease-in-out infinite; }
@keyframes pulse { 0%, 100% { opacity: 0.6; } 50% { opacity: 1; } }
.rec-hint { margin-top: 0; }
.rec-error { color: var(--status-red-fg); margin-top: 0; }

.rec-list {
  list-style: none;
  padding: 0;
  margin: 0;
  max-height: var(--width-prose);
  overflow-y: auto;
  border: var(--border-width) solid var(--c-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
}

.rec-item { padding: var(--sp-3) var(--sp-4); border-bottom: var(--border-width) solid var(--c-surface-hover); }
.rec-item:last-child { border-bottom: none; }
.rec-item:nth-child(odd) { background: var(--c-surface-soft); }

.rec-header { display: flex; justify-content: space-between; align-items: baseline; gap: var(--sp-4); }
.rec-title  { font-weight: 600; font-size: var(--fs-base); color: inherit; text-decoration: none; }
.rec-title:hover { text-decoration: underline; }
.rec-meta   { font-size: var(--fs-sm); color: var(--c-text-muted); margin-top: 0.15rem; }
.rec-actions { margin-top: var(--sp-3); display: flex; align-items: center; gap: var(--sp-3); }
.rec-authors { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-top: var(--sp-2); }
