/* PodControl blog shell v1.0.0
   Scope: single post views only. Brand values come from
   /assets/css/design-tokens.css on the sales page, copied here because the
   WordPress install cannot read that file. */

.single-post {
  --pc-ink: #1F4C5F;
  --pc-deep: #0f2a36;
  --pc-signal: #DA7B46;
  --pc-signal-dark: #c46e3f;
  --pc-paper: #F6FAFA;
  --pc-rule: #E3ECEC;
  --pc-muted: #4c6b7a;
  --pc-display: 'Fraunces', Georgia, serif;
  --pc-body: 'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: var(--pc-paper);
  font-family: var(--pc-body);
  color: var(--pc-ink);
}

/* ---------- header and navigation: match the sales page ---------- */
.single-post .theme-header,
.single-post header.tve-header,
.single-post .thrive-header {
  background: var(--pc-deep) !important;
}
.single-post .tcb-logo img { max-height: 34px; width: auto; }
.single-post .thrive-header .tve-mobile-menu,
.single-post .theme-header .menu-item > a,
.single-post .thrive-header .menu-item > a {
  font-family: var(--pc-body) !important;
  font-size: 15px !important;
  letter-spacing: .01em;
}
.single-post .menu-item > a { color: #e8f1f3 !important; }
.single-post .menu-item > a:hover { color: var(--pc-signal) !important; }

/* the header call to action becomes the brand button */
.single-post .thrive-header .tcb-button-link,
.single-post .theme-header .tcb-button-link {
  background: var(--pc-signal) !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  padding: 12px 20px !important;
}
.single-post .thrive-header .tcb-button-link:hover,
.single-post .theme-header .tcb-button-link:hover {
  background: var(--pc-signal-dark) !important;
}

/* ---------- the two column shell built by the script ---------- */
.single-post .pc-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 312px;
  gap: 56px;
  align-items: start;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}
.single-post .pc-main { min-width: 0; }
.single-post .pc-rail {
  position: sticky;
  top: 96px;
  display: grid;
  gap: 22px;
  font-family: var(--pc-body);
}
@media (max-width: 1023px) {
  .single-post .pc-shell { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .single-post .pc-rail { position: static; }
}

/* Thrive pads its own content column; the shell supplies the spacing now. */
.single-post .pc-shell .content-section .section-content {
  padding: 0 !important;
  margin: 0 !important;
}

/* ---------- the hero image, once ---------- */
.single-post .pc-hero {
  margin: 0 0 28px;
  border-radius: 14px;
  overflow: hidden;
  background: var(--pc-rule);
}
.single-post .pc-hero img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.single-post .pc-hero figcaption {
  font-size: 13px;
  color: var(--pc-muted);
  padding: 8px 2px 0;
  background: none;
}
@media (max-width: 640px) {
  .single-post .pc-hero { border-radius: 10px; }
}

/* ---------- article type ---------- */
.single-post .pc-main h1,
.single-post .pc-main .tcb-post-title,
.single-post .pc-main h2,
.single-post .pc-main h3,
.single-post .pc-main h4 {
  font-family: var(--pc-display) !important;
  color: var(--pc-ink) !important;
  letter-spacing: -.01em;
}
.single-post .pc-main .tcb-post-title,
.single-post .pc-main h1 {
  font-size: clamp(30px, 4vw, 44px) !important;
  line-height: 1.12 !important;
  font-weight: 600 !important;
  margin: 0 0 14px !important;
}
.single-post .pc-main h2 {
  font-size: clamp(23px, 2.6vw, 29px) !important;
  line-height: 1.22 !important;
  margin: 44px 0 14px !important;
}
.single-post .pc-main h3 {
  font-size: 21px !important;
  margin: 32px 0 10px !important;
}
.single-post .pc-main p,
.single-post .pc-main li {
  font-family: var(--pc-body) !important;
  font-size: 18px !important;
  line-height: 1.68 !important;
  color: #21323b !important;
}
.single-post .pc-main p { margin: 0 0 18px !important; }
.single-post .pc-main a { color: #1d6f8c; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.single-post .pc-main a:hover { color: var(--pc-signal-dark); }

/* reading measure: the article never runs wider than a comfortable line */
.single-post .pc-main .section-content > * { max-width: 780px; }
.single-post .pc-main .pc-hero { max-width: 780px; }

/* ---------- defects removed ---------- */
/* duplicate title under each related card */
.single-post .tve-article-cover { display: none !important; }
/* social counters that read zero */
.single-post .thrv_social_custom,
.single-post .tve_social_items { display: none !important; }
/* the get in touch form that sat at the foot of every article */
.single-post #theme-bottom-section { display: none !important; }
/* empty taxonomy furniture in the footer */
.single-post a[href*="/category/uncategorized/"] { display: none !important; }

/* ---------- related cards ---------- */
.single-post .tcb-post-list .post-wrapper .tcb-post-title,
.single-post .tcb-post-list .post-wrapper h2 {
  font-size: 17px !important;
  line-height: 1.3 !important;
}
.single-post .tcb-post-list .post-wrapper {
  border: 1px solid var(--pc-rule);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

/* ---------- the rail ---------- */
.single-post .pc-rail-card {
  background: #fff;
  border: 1px solid var(--pc-rule);
  border-radius: 14px;
  padding: 20px;
}
.single-post .pc-rail-label {
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--pc-muted);
  margin: 0 0 12px;
  font-weight: 700;
}
.single-post .pc-toc {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 2px;
}
.single-post .pc-toc a {
  display: block;
  padding: 7px 0 7px 12px;
  border-left: 2px solid var(--pc-rule);
  color: #2b4149;
  font-size: 14.5px;
  line-height: 1.35;
  text-decoration: none;
}
.single-post .pc-toc a:hover { color: var(--pc-ink); border-left-color: var(--pc-signal); }
.single-post .pc-toc a.is-active {
  color: var(--pc-ink);
  font-weight: 600;
  border-left-color: var(--pc-signal);
}
.single-post .pc-cta-card {
  background: var(--pc-deep);
  border: none;
  color: #f2f7f8;
  padding: 22px;
  border-radius: 14px;
}
.single-post .pc-cta-card h2 {
  font-family: var(--pc-display) !important;
  color: #fff !important;
  font-size: 21px !important;
  line-height: 1.25 !important;
  margin: 0 0 10px !important;
}
.single-post .pc-cta-card p {
  font-size: 14.5px !important;
  line-height: 1.5 !important;
  color: #c8dbe0 !important;
  margin: 0 0 16px !important;
}
.single-post .pc-cta-card .pc-btn {
  display: inline-block;
  background: var(--pc-signal);
  color: #fff;
  font-weight: 600;
  font-size: 15px;
  padding: 12px 18px;
  border-radius: 10px;
  text-decoration: none;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
}
.single-post .pc-cta-card .pc-btn:hover { background: var(--pc-signal-dark); color: #fff; }
.single-post .pc-cta-fine {
  margin: 12px 0 0 !important;
  font-size: 12.5px !important;
  color: #9db6be !important;
  line-height: 1.45 !important;
}

/* the brand band above the article was padded for a full landing page and
   carried a 580px minimum height it never filled */
.single-post .pc-hero-band .section-content {
  min-height: 0 !important;
  padding-top: 34px !important;
  padding-bottom: 30px !important;
}
/* the featured image was painted into the band background and then repeated
   in the article. The band is solid brand ink now, so the image appears once,
   as the article hero below the headline. This also removes the clashing
   branded card art that sat behind the headline. */
.single-post .pc-hero-band .section-background {
  background-image: none !important;
  background-color: #0f2a36 !important;
}
.single-post .pc-hero-band h1 { max-width: 900px; }
