/* Hide page title on front page (left column only, not post titles in query loop) */
.home .wp-block-columns > .wp-block-column:first-child .wp-block-post-title {
  display: none;
}

/* Hide template part header on front page (homepage has its own custom header) */
.home header.wp-block-template-part {
  display: none;
}

/* Remove theme's forced min-height on header wrapper (596px pushes content below fold) */
.wp-site-blocks > div:first-child {
  min-height: 0 !important;
}

/* On homepage: also remove padding since header is fully hidden */
.home .wp-site-blocks > div:first-child {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Hide Jetpack share buttons on homepage */
.home .sharedaddy {
  display: none !important;
}

/* Body font: Source Serif 4 — open source, screen-optimised editorial serif */
@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,300..900;1,8..60,300..900&display=swap');

body {
  font-family: 'Source Serif 4', Georgia, serif !important;
  font-size: 18px;
  line-height: 1.75;
}

/* ── Sub-page card grid ─────────────────────────────── */
.oj-card-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin: 24px 0 36px;
}
@media (max-width: 620px) {
  .oj-card-grid { grid-template-columns: 1fr; }
}
.oj-card {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  padding: 20px 22px;
  background: #fafafa;
}
.oj-card h3 {
  margin: 0 0 10px;
  font-size: 1.05em;
  line-height: 1.35;
}
.oj-card h3 a { color: #1a1a1a; text-decoration: none; }
.oj-card h3 a:hover { color: #f04031; }
.oj-card p {
  margin: 0 0 12px;
  font-size: 0.88em;
  line-height: 1.55;
  color: #555;
}
.oj-card .oj-card-more {
  font-size: 0.82em;
  font-weight: 600;
  color: #f04031;
  text-decoration: none;
}
.oj-card .oj-card-more:hover { text-decoration: underline; }
.oj-more-section {
  margin-top: 52px;
  border-top: 2px solid #e0e0e0;
  padding-top: 28px;
}
.oj-more-section > h2 {
  font-size: 0.9em;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #888;
  margin: 0 0 18px;
}

/* ── Breadcrumbs ────────────────────────────────────── */
.oj-breadcrumb {
  font-size: 0.82em;
  color: #888;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}
.oj-breadcrumb li { display: inline; }
.oj-breadcrumb li + li::before { content: ' › '; color: #bbb; padding: 0 3px; }
.oj-breadcrumb a { color: #888; text-decoration: none; }
.oj-breadcrumb a:hover { color: #f04031; text-decoration: underline; }