/* ==========================================================================
   Article Card — shared layout for News + Web Search (theme-aware)
   Image is optional — when absent, body spans full width.
   ========================================================================== */

.article-card {
  background: none;
  border: none;
  padding: 0;
  width: 100%;
  max-width: 100%;
}

.article-card__img {
  display: block;
  max-width: min(500px, 90%);
  max-height: 500px;
  width: auto;
  height: auto;
  border-radius: 10px;
}

.article-card__body {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.article-card__dek {
  font-size: 1rem;
  color: var(--text-primary);
  margin: 0;
  line-height: 1.55;
  letter-spacing: -0.005em;
}

.article-card__dek em {
  color: var(--text-secondary);
  font-style: italic;
}

.article-card__sources {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-family: var(--font-mono, 'JetBrains Mono', ui-monospace, monospace);
  font-size: 0.66rem;
  color: var(--text-tertiary);
  letter-spacing: 0.06em;
}

.article-card__src {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 9px 3px 3px;
  border-radius: 999px;
  background: var(--bg-input);
  border: 1px solid var(--border);
  color: var(--text-secondary);
}

.article-card__src-ico {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.52rem;
  font-weight: 600;
  color: white;
  flex-shrink: 0;
}

.article-card__meta {
  margin-left: 4px;
  color: var(--text-tertiary);
}
