/* File: src/css/specific/news.css
   Purpose: News & Blog (stacked list) responsive styles, no inline CSS
*/

/* wrapper sits on top of .info-wrap and overrides its width */
.nb-wrap {
  width: min(80vw, 1800px);
  max-width: 100%;
  margin: 0 auto;
}

/* sections + items */
.nb-section { margin: 24px 0 8px; }

/* Bigger year subheadings */
.nb-h2 {
  margin: 0 0 8px;
  font-weight: 700;
  font-size: clamp(1.4rem, 1.1rem + 0.8vw, 1.9rem);
}

.nb-post { padding: 14px 0; border-top: 1px solid rgba(255,255,255,.15); }
.nb-post:first-child { border-top: 0; padding-top: 0; }

/* MUCH BIGGER meta line */
.nb-meta {
  font-size: clamp(1.2rem, 1rem + 0.9vw, 1.7rem); /* larger on all screens */
  font-weight: 700;
  opacity: .98;
  letter-spacing: .2px;
  line-height: 1.2;
  margin: 2px 0 2px;
}

/* Title stays italic */
.nb-title {
  margin: 4px 0 6px;
  font-weight: 600;
  font-size: clamp(1.05rem, .95rem + .35vw, 1.25rem);
  font-style: italic;
}

.nb-title button {
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-align: left;
  text-decoration: underline;
  cursor: pointer;
}

.nb-body { display: none; }

.nb-post.open .nb-body { display: block; }

.nb-blurb { margin: 0; opacity: .95; }
.nb-links { margin-top: 8px; }
.nb-links .text-link { text-decoration: underline; }

/* loosen layout on very small screens so it doesn't feel cramped */
@media (max-width: 720px) {
  .nb-wrap { width: 94vw; }
  .nb-post { padding: 16px 0; }
}
@media (min-width:1281px) {
  .nb-post { padding: 18px 0; }
}
