/* KKK: responsive article cards for homepage and category pages */
.kkk-article-card {
  display: grid;
  grid-template-columns: minmax(190px, 34%) minmax(0, 1fr);
  gap: 1.15rem;
  align-items: start;
  margin: 1.25rem 0;
  padding: 1rem;
  background: #fff;
  border: 1px solid rgba(0, 102, 0, .18);
  border-radius: 12px;
  box-shadow: 0 3px 12px rgba(0, 0, 0, .07);
  overflow: hidden;
}
.kkk-article-card__image { display: block; min-width: 0; }
.kkk-article-card__image img {
  display: block; width: 100%; height: 190px; object-fit: cover;
  border-radius: 8px; border: 0;
}
.kkk-article-card__image img.portrait { object-fit: contain; background: #f5f5f0; }
.kkk-article-card__body { min-width: 0; }
.kkk-article-card__body h2 { margin: 0 0 .45rem; line-height: 1.2; }
.kkk-article-card__body h2 a { color: #006600; text-decoration: none; }
.kkk-article-card__body h2 a:hover { text-decoration: underline; }
.kkk-article-card__date { color: #686868; font-size: .88rem; margin: 0 0 .55rem; }
/* Leadtexte: verbindlich die KKK-Fließtextschrift aus style.css verwenden.
   Das gilt auch für ältere HTML-Inhalte mit eigenen/inline gesetzten Schriften. */
.kkk-leadtext {
  font-family: 'Yanone Kaffeesatz', sans-serif !important;
  font-size: 20px !important;
  font-weight: 200;
  line-height: 1.35;
  color: #333333;
  overflow-wrap: anywhere;
}
.kkk-leadtext * {
  font-family: 'Yanone Kaffeesatz', sans-serif !important;
  font-size: inherit !important;
  color: inherit;
}
.kkk-leadtext a { color: #006600 !important; font-weight: 600; }
.kkk-leadtext strong, .kkk-leadtext b { font-weight: 700; }
.kkk-leadtext em, .kkk-leadtext i { font-style: italic; }
.kkk-leadtext > :first-child { margin-top: 0; }
.kkk-leadtext > :last-child { margin-bottom: 0; }
.kkk-leadtext img { max-width: 100%; height: auto; }
.kkk-article-card__more { display: inline-block; margin-top: .8rem; color: #006600; font-weight: 700; text-decoration: none; }
.kkk-article-card__more:hover { text-decoration: underline; }
.kkk-feature-leadtext { clear: both; }
@media (min-width: 900px) {
  .kkk-article-card--featured { grid-template-columns: minmax(280px, 43%) minmax(0, 1fr); padding: 1.2rem; }
  .kkk-article-card--featured .kkk-article-card__image img { height: 260px; }
}
@media (max-width: 640px) {
  .kkk-article-card { grid-template-columns: minmax(0, 1fr); gap: .75rem; padding: .8rem; margin: 1rem 0; }
  .kkk-article-card__image img { height: auto; max-height: 270px; object-fit: cover; }
  .kkk-article-card--featured .kkk-article-card__image img { height: auto; max-height: none; min-height: 210px; aspect-ratio: 4 / 3; }
  .kkk-article-card__body h2 { font-size: 1.35rem; }
}

/* Fester hervorgehobener Artikel auf der Startseite: Bild und Text nebeneinander */
.kkk-feature-article {
  display: grid;
  grid-template-columns: minmax(180px, 36%) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  margin: .75rem 1rem 1.25rem;
}
.kkk-feature-article__image { display: block; min-width: 0; }
.kkk-feature-article__image img { display: block; width: 100%; height: auto; max-height: 300px; object-fit: cover; border: 0; }
.kkk-feature-article__image img.portrait { object-fit: contain; }
.kkk-feature-article__text { min-width: 0; }
.kkk-top-tags-title { margin-top: 1.2rem; }
.kkk-top-tags { list-style: none; margin: .5rem 10px 1rem; padding: 0; display: flex; flex-wrap: wrap; gap: .45rem; }
.kkk-top-tags li { margin: 0; padding: 0; }
.kkk-top-tags a { display: inline-block; padding: .3rem .6rem; border-radius: 1rem; background: #FFFFCC; border: 1px solid #006600; color: #006600; font-family: 'Yanone Kaffeesatz', sans-serif; font-size: 18px; text-decoration: none; }
.kkk-top-tags a:hover { background: #006600; color: #fff; }
@media (max-width: 640px) {
  .kkk-feature-article { grid-template-columns: minmax(0, 1fr); margin: .75rem .5rem 1rem; }
  .kkk-feature-article__image img { max-height: 280px; object-fit: contain; }
}
