/* ------------------------------------------------------------------
   Apothem Blog — additions on top of the parent site's main.css.
   Scope: only what WordPress-generated content needs that the hand-
   written template demo didn't. Keep this file small.
   ------------------------------------------------------------------ */

/* Post body (the_content output has no template classes) */
.entry-content { font-size: 1.05rem; line-height: 1.8; }
.entry-content > * + * { margin-top: 1.25rem; }
.entry-content h2, .entry-content h3, .entry-content h4 { margin-top: 2.5rem; margin-bottom: .75rem; }
.entry-content h2 { font-size: 1.5rem; }
.entry-content h3 { font-size: 1.25rem; }
.entry-content h4 { font-size: 1.1rem; }
.entry-content ul, .entry-content ol { padding-left: 1.4rem; }
.entry-content li + li { margin-top: .4rem; }
.entry-content a:not(.btn) { text-decoration: underline; text-underline-offset: 3px; }
.entry-content img, .entry-content figure img { border-radius: 1rem; height: auto; max-width: 100%; }
.entry-content figure { margin: 2rem 0; }
.entry-content figcaption { font-size: .875rem; color: var(--bs-secondary-color, #6c757d); margin-top: .5rem; text-align: center; }

/* Blockquote — same look as the template's demo quote */
.entry-content blockquote {
  background: #fff;
  padding: 2rem 2.5rem;
  margin: 2.5rem 0;
  border-radius: 1rem;
  border-top: 4px solid var(--bs-primary);
  box-shadow: 0 1rem 3rem rgba(0,0,0,.08);
  color: var(--bs-secondary-color, #6c757d);
}
.entry-content blockquote p:last-child { margin-bottom: 0; }

/* Code */
.entry-content pre {
  background: #0f172a; color: #e2e8f0;
  padding: 1.25rem 1.5rem; border-radius: .75rem;
  overflow-x: auto; font-size: .9rem; line-height: 1.6;
}
.entry-content :not(pre) > code {
  background: rgba(0,0,0,.06); color: inherit;
  padding: .15em .4em; border-radius: .3em; font-size: .9em;
}

/* Tables */
.entry-content table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.entry-content th, .entry-content td { padding: .75rem 1rem; border-bottom: 1px solid rgba(0,0,0,.08); text-align: left; }
.entry-content th { font-weight: 600; }

/* Embeds */
.entry-content iframe { max-width: 100%; border-radius: 1rem; }
.entry-content .wp-block-embed__wrapper { position: relative; }

/* Card images: fixed ratio so a grid of mixed-size uploads lines up */
.single-article:not(.feature-article) .article-img img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
/* Wide cards are side-by-side: image fills the card's full height, template handles it. */
.feature-article .article-img img { width: 100%; height: 100%; object-fit: cover; object-position: center; }

/* Avatar (get_avatar emits width/height attrs; keep it square) */
.avatar img { width: 40px; height: 40px; object-fit: cover; }

/* Pagination disabled state */
.pagination .page-link { cursor: pointer; }
.btn.disabled { pointer-events: none; opacity: .5; }

/* Category pills in the header: highlight the active one */
.page-header .btn-pill.active { background: var(--bs-primary); color: #fff; }

/* Tags */
.entry-content + div a[rel="tag"], .tag-cloud-link {
  display: inline-block; font-size: .8rem; padding: .25rem .75rem; margin: 0 .25rem .5rem 0;
  border-radius: 999px; background: rgba(0,0,0,.05);
}

/* Admin bar offset for a fixed header */
.admin-bar .main-header.position-fixed, .admin-bar .main-header.fixed-top { top: 32px; }
@media (max-width: 782px) { .admin-bar .main-header.position-fixed, .admin-bar .main-header.fixed-top { top: 46px; } }