.elp-links { display: flex; flex-direction: column; gap: 20px; }
.elp-card { display: flex; flex-direction: row; align-items: flex-start; text-decoration: none; border: 1px solid #ddd; border-radius: 8px; overflow: hidden; background: #fff; }
.elp-card .elp-image { flex: 0 0 240px; max-width: 240px; margin-bottom: 0; }
.elp-card .elp-image-inner { position: relative; width: 100%; padding-top: 56.25%; border-radius: 10px; overflow: hidden; }
.elp-card .elp-image-inner img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; border-radius: 10px; }
.elp-card .elp-content { padding: 12px 14px; flex: 1; min-width: 0; }

/* Wrapping */
.elp-title, .elp-description, .elp-site, .elp-featured-analysts, .elp-date, .elp-meta-line, .elp-date-line {
  white-space: normal; overflow-wrap: break-word; word-break: break-word;
}

/* Analysts + Source row */
.elp-analyst-source { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; flex-wrap: wrap; }
.elp-source { display: inline-flex; align-items: center; gap: 6px; }
.elp-favicon { width: 16px; height: 16px; border-radius: 3px; display: inline-block; }
.elp-sep { color: #aaa; }
.elp-site { color: #666; }

/* Title + Description */
.elp-title { font-size: 1rem; margin: 0 0 6px 0; }
.elp-description { margin: 0 0 8px 0; font-size: .95rem; color: #333; }

/* Date own line */
.elp-date-line { margin-top: 6px; }
.elp-date-line .elp-date { font-size: .85rem; color: #444; }

@media (max-width: 600px) {
  .elp-card { flex-direction: column; }
  .elp-card .elp-image { width: 100%; max-width: 100%; flex: 0 0 auto; margin-bottom: 10px; }
}
