/* Newsletter capture + recent-posts list */
.newsletter { margin: 2rem 0; }
.newsletter__title { margin: 0 0 .25rem; font-size: 1.25rem; }
.newsletter__blurb { margin: 0 0 .75rem; opacity: .8; font-size: .95rem; }
.newsletter__row { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
.newsletter__label { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.newsletter__input {
  flex: 1 1 16rem; min-width: 0; padding: .55rem .7rem;
  border: 1px solid rgba(128,128,128,.4); border-radius: 6px;
  background: transparent; color: inherit; font: inherit;
}
.newsletter__input:focus { outline: 2px solid rgba(43,108,176,.5); outline-offset: 1px; }
.newsletter__button {
  padding: .55rem 1.1rem; border: 0; border-radius: 6px; cursor: pointer;
  background: #2b6cb0; color: #fff; font: inherit; white-space: nowrap;
}
.newsletter__button:hover { background: #245c98; }
html.dark .newsletter__button, html[data-mode="dark"] .newsletter__button { background: #7fb3ff; color: #0d1117; }
html.dark .newsletter__button:hover, html[data-mode="dark"] .newsletter__button:hover { background: #6aa2f0; }

.recent-posts { list-style: none; padding: 0; margin: .5rem 0 1.25rem; }
.recent-posts li { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; padding: .4rem 0; border-bottom: 1px solid rgba(128,128,128,.18); }
.recent-posts__link { text-decoration: none; }
.recent-posts__link:hover { text-decoration: underline; }
.recent-posts__date { opacity: .6; font-size: .85rem; white-space: nowrap; }
