/* --- News List Page --- */
.news {
  max-width: 900px;
  margin: 0 auto 2.5rem auto !important;
  padding: 0 !important;
}

.news h1 {
  font-size: 2.2rem;
  color: var(--savoy-blue);
  font-weight: 700;
  margin: 2.5rem 0 1.5rem 0;
  letter-spacing: 0.02em;
  text-align: left;
  border-bottom: 2px solid var(--savoy-blue-2);
  padding-bottom: 0.5rem;
}

.news ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.news li {
  margin-bottom: 2.5rem;
  padding-bottom: 2rem;
  border-bottom: 1.5px solid #e8eaf6;
}

.news li:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

/* align date always to the right of the title */
.news h2 {
  margin: 0 0 0.5rem 0;
  font-size: 1.3rem;
  color: var(--savoy-blue);
  font-weight: 600;
  letter-spacing: 0.01em;
}

.news h2 a {
  color: var(--savoy-blue);
  text-decoration: none;
  transition: color 0.18s;
}

.news h2 a:hover {
  color: var(--royal-blue-web-color);
  text-decoration: underline;
}

.news .date {
  color: var(--vista-blue);
  font-size: 1.01rem;
  font-style: italic;
  margin-bottom: 0.7rem;
    display: block;
    text-align: right;
    margin-top: 0rem; /* Adjust to align with title */
    margin-right: 0.5rem; /* Add some space from the right edge */
    padding-left: 1rem; /* Optional padding for better alignment */
    float: right; /* Align to the right */
    clear: both; /* Ensure it doesn't overlap with the title */
}

.news p {
  color: #444;
  font-size: 1.08rem;
  margin: 0.2rem 0 0 0;
  line-height: 1.6;
}

/* --- News Single Page --- */
.news-article {
  max-width: 900px;
  margin: 0 auto 2.5rem auto !important;
  padding: 0 !important;
}

.news-article h1 {
  font-size: 2rem;
  color: var(--savoy-blue);
  font-weight: 700;
  margin: 2.5rem 0 1.5rem 0;
  letter-spacing: 0.01em;
}

.news-article .date {
  color: var(--vista-blue);
  font-size: 1.01rem;
  font-style: italic;
  margin-bottom: 0.7rem;
  display: block;
}

.news-article .author {
  color: var(--savoy-blue-2);
  font-size: 1.01rem;
  margin-bottom: 1.2rem;
}

.news-article .content {
  color: #333;
  font-size: 1.13rem;
  line-height: 1.7;
  margin-bottom: 2.2rem;
}

.news-article a {
  color: var(--savoy-blue);
  text-decoration: underline;
  transition: color 0.18s;
}

.news-article a:hover {
  color: var(--royal-blue-web-color);
}

/* Limit images in news articles to the width of the article */
.news-article img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 1.2em auto;
  box-sizing: border-box;
}

@media (max-width: 700px) {
  .news, .news-article {
    padding: 1.2rem 0.5rem 2rem 0.5rem;
  }
  .news h1, .news-article h1 {
    font-size: 1.3rem;
    padding-bottom: 0.2rem;
  }
  .news h2 {
    font-size: 1.08rem;
  }
  .news-article .content {
    font-size: 1rem;
  }
}