/* Single post presentation. */

.single-post .entry-header .entry-categories a {
  color: inherit;
  text-decoration: none;
}

.single-post .entry-header .entry-categories a:hover,
.single-post .entry-header .entry-categories a:focus-visible {
  color: #1a769f;
}

.single-post .entry-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}

.single-post .entry-tags a {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.32rem 0.65rem;
  border: 1px solid #003366;
  border-radius: 999px;
  background: rgba(255, 243, 200, 0.18);
  color: #003366;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.1;
  text-decoration: none;
}

.single-post .entry-tags a:hover,
.single-post .entry-tags a:focus-visible {
  border-color: #000000;
  background: #003366;
  color: #fff3c8;
}

/*
 * Let post blocks control their own vertical spacing. Full-width sections
 * should meet the masthead and footer directly without a black spacer band.
 */
.single-post .entry-content {
  padding-block: 0;
  margin-block: 0;
}

.single-post .entry-header + .entry-content {
  margin-top: 0;
}

.single-post .entry-content > .alignfull:first-child {
  margin-top: 0 !important;
}

.single-post .entry-content > .alignfull:last-child {
  margin-bottom: 0 !important;
}

.single-post .site-main + .site-footer {
  margin-top: 0;
}

/* Keep comfortable reading-room spacing for conventional text-first posts. */
.single-post .entry-content > :first-child:not(.alignfull) {
  margin-top: clamp(2.5rem, 5vw, 4rem);
}

.single-post .entry-content > :last-child:not(.alignfull) {
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

@media (max-width: 42rem) {
  .single-post .entry-tags {
    gap: 0.4rem;
  }

  .single-post .entry-tags a {
    font-size: 0.74rem;
  }

  .single-post .entry-content > :first-child:not(.alignfull) {
    margin-top: 2rem;
  }

  .single-post .entry-content > :last-child:not(.alignfull) {
    margin-bottom: 2rem;
  }
}
