/* News Feed – CRO-optimiert, scoped unter #news-feed-root */

#news-feed-root {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  line-height: 1.45;
  color: #1a2e1f;
}

#news-feed-root .nf-feed-header {
  margin-bottom: 1rem;
  text-align: center;
}

#news-feed-root .nf-kicker {
  margin: 0 0 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6b7c72;
}

#news-feed-root .nf-title {
  margin: 0;
  font-size: clamp(1.125rem, 2vw, 1.35rem);
  font-weight: 600;
  color: #3d4f44;
}

#news-feed-root .nf-subtitle {
  display: none;
}

/* Mobile: horizontal snap carousel */
#news-feed-root .nf-list {
  display: flex;
  flex-wrap: nowrap;
  gap: 1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 0.25rem;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  list-style: none;
  margin: 0;
  padding: 0 0 0.25rem;
}

#news-feed-root .nf-list::-webkit-scrollbar {
  display: none;
}

#news-feed-root .nf-list-item {
  flex: 0 0 min(85vw, 300px);
  scroll-snap-align: start;
  min-width: 0;
}

/* Desktop: 3-column grid */
@media (min-width: 768px) {
  #news-feed-root .nf-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow-x: visible;
    gap: 0.875rem;
  }

  #news-feed-root .nf-list-item {
    flex: unset;
  }
}

#news-feed-root .nf-grid.nf-grid--loading {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  scrollbar-width: none;
}

#news-feed-root .nf-grid.nf-grid--loading::-webkit-scrollbar {
  display: none;
}

@media (min-width: 768px) {
  #news-feed-root .nf-grid.nf-grid--loading {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    overflow: visible;
  }
}

#news-feed-root .nf-skeleton {
  flex: 0 0 min(85vw, 300px);
  height: 11rem;
  border-radius: 0.625rem;
  background: #eef1ef;
}

@media (min-width: 768px) {
  #news-feed-root .nf-skeleton {
    flex: unset;
  }
}

#news-feed-root .nf-error {
  margin: 0 0 0.75rem;
  padding: 0.5rem 0.75rem;
  border-radius: 0.5rem;
  border: 1px solid #fcd34d;
  background: #fffbeb;
  color: #92400e;
  font-size: 0.8125rem;
}

/* Dezente News-Card */
#news-feed-root .nf-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border-radius: 0.625rem;
  border: 1px solid #e4e8e5;
  background: #f6f8f7;
  box-shadow: none;
}

#news-feed-root .nf-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 0.875rem 1rem 0.75rem;
}

#news-feed-root .nf-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 0.4rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #8a9690;
}

#news-feed-root .nf-card-title {
  margin: 0 0 0.35rem;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.35;
  color: #3d4f44;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#news-feed-root .nf-card-teaser {
  margin: 0 0 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: #6b7c72;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#news-feed-root .nf-source-link {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #8a9690;
  text-decoration: none;
}

#news-feed-root .nf-source-link:hover {
  color: #4b5c52;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* CTA – Conversion-Fokus */
#news-feed-root .nf-cta-panel {
  padding: 0.625rem 1rem 0.875rem;
  background: transparent;
  border-top: 1px solid #e4e8e5;
}

#news-feed-root .nf-cta-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.625rem 0.875rem;
  border-radius: 999px;
  background: linear-gradient(180deg, #338a38 0%, #2e7d32 100%);
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(46, 125, 50, 0.35);
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

#news-feed-root .nf-cta-btn:hover {
  background: linear-gradient(180deg, #2e7d32 0%, #1b5e20 100%);
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(46, 125, 50, 0.45);
}

#news-feed-root .nf-cta-btn:focus-visible {
  outline: 2px solid #2e7d32;
  outline-offset: 2px;
}

.dark #news-feed-root .nf-title,
.dark #news-feed-root .nf-card-title {
  color: #dce8df;
}

.dark #news-feed-root .nf-card {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.1);
}

.dark #news-feed-root .nf-cta-panel {
  border-top-color: rgba(255, 255, 255, 0.1);
}

.dark #news-feed-root .nf-skeleton {
  background: rgba(255, 255, 255, 0.06);
}
