.topicLandingPage {
    margin:0 20px 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.topicTitle {
  font-size:32px;
  font-weight:bold;
  margin:25px 0 10px;
}

.articleGrid {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 800px;
  overflow: visible;
  margin: 20px 0;
  gap: 20px
}

.articleCard {
  width: 100%;
  max-width: 100%;
  cursor: pointer;
}

.articleCard:hover .cardTitle{
    text-decoration: underline;
    text-shadow: 0 0 8px rgba(255, 255, 255, 0.15);
}

.unifiedCard {
  display: flex;
  flex-direction: row;
  text-decoration: none;
  color: inherit;
  gap: 10px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.06);
}

.image-plus-summary-cont {
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 140px;
}

.cardImage {
  width: 140px;
  height: 140px;
  max-height: 100%;
  background-size: cover;
  background-position: center;
  flex-shrink: 0;
  border-top-left-radius: 6px;
}

/* Wraps both text rows */
.cardTextWrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 12px 12px;
  gap: 8px;
  flex: 1;
}

.cardSummary {
  padding: 10px 14px 0 10px;
  font-size: 14px;
  line-height: 1.3;
  margin: 0;
  text-align: justify;
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;  
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;
  color: #475569;
}

.cardSummary.desktop {
  display: none;
}

.cardTitle {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  margin: 0;
}

.source-topic {
  font-size: 14px;
  color: #666;
}

/*Desktop Style*/

@media (min-width: 650px) and (max-width: 800px) {
    .cardSummary {
        font-size: 16px;
        line-height: 1.4;
    }
}

@media (min-width: 550px) and (max-width: 800px),
(min-width: 850px) {
  .unifiedCard {
    flex-direction: row;
    align-items: stretch;
    gap: 12px;
  }
  
  .cardImage {
      height: 100%;
      min-height: 140px;
      width: 140px;
      border-bottom-left-radius: 6px;
  }

  .image-plus-summary-cont {
    width: 140px;
    max-width: 140px;
    height: auto;
  }

  .cardTextWrap {
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    padding: 12px 14px 12px 0;
  }
  
  .cardSummary.desktop {
      display: -webkit-box;
      -webkit-line-clamp: 3;
      padding: 0;
  }
  
  .cardSummary.mobile {
      display: none;
      height: 0;
      width: 0;
      max-height: 0;
      max-width: 0;
  }
}

@media (max-width: 500px) {
    .cardTitle {
      font-size: 16px;
    }
}

@media (max-width: 450px) {
    .cardImage {
      max-width: 120px;
    }
}

@media (max-width: 390px) {
    .cardImage {
      max-width: 110px;
    }
}