/* Articles page specific styles */

/* Override body constraints for articles page */
body {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
  /* Don't override padding-top - let navigation.css handle it for responsive navbar */
}

.selected-articles {
  padding: 2rem 0;
  width: 100%;
}

.selected-articles h1 {
  margin-bottom: 0.5rem;
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 2rem;
}

.selected-articles .dek {
  max-width: 750px;
  margin: 0 auto 2rem;
  font-size: 1.05rem;
  padding: 0 2rem;
}

/* Left align heading and description on mobile */
@media (max-width: 768px) {
  .selected-articles {
    padding-top: 3rem;
  }

  .selected-articles h1 {
    text-align: left;
    padding: 0 3rem;
    margin-left: 0;
    margin-right: 0;
    max-width: none;
  }

  .selected-articles .dek {
    text-align: left;
    padding: 0 3rem;
    margin-left: 0;
    margin-right: 0;
    max-width: none;
  }
}

@media (max-width: 480px) {
  .selected-articles h1 {
    padding: 0 2rem;
  }

  .selected-articles .dek {
    padding: 0 2rem;
  }
}

/* Full-width article grid */
.article-grid {
  width: 100vw;
  margin: 0;
  padding: 2rem 8rem;
  box-sizing: border-box;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

@media (min-width: 1400px) {
  .article-grid {
    padding: 2rem 12rem;
  }
}

@media (min-width: 1200px) and (max-width: 1399px) {
  .article-grid {
    padding: 2rem 10rem;
  }
}

@media (min-width: 769px) and (max-width: 1199px) {
  .article-grid {
    padding: 2rem 6rem;
  }
}

@media (max-width: 768px) {
  .article-grid {
    padding: 2rem 3rem;
  }
}

@media (max-width: 480px) {
  .article-grid {
    padding: 2rem 2rem;
  }
}

/* Fix image aspect ratio for wider cards */
.article-image {
  overflow: hidden;
  background-color: var(--nc-bg-3);
}

.article-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

.selected-section { margin-top: 2rem; }
.selected-section h3 { margin: 1.5rem 0 0.5rem; font-weight: 600; }
.selected-list { list-style: none; padding: 0; margin: 0; }
.selected-list li { margin: 0.6rem 0; line-height: 1.4; }
.selected-list a { text-decoration: underline; }
.selected-list .pub { opacity: 0.8; }
