/* ===========================================================
   Think Codex — global overrides (WP port).
   Blog post body typography, lightbox, scrollspy + accordion
   support styles. Everything else lives in Elementor.
   =========================================================== */

/* ---- Single post content (Gutenberg-rendered body) ---- */
.tc-post-content h2 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 800;
  font-size: clamp(28px, 3.2vw, 42px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 40px 0 20px;
  text-wrap: balance;
}
.tc-post-content h3 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 800;
  font-size: 22px;
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin: 32px 0 16px;
}
.tc-post-content p {
  margin: 0 0 20px;
  font-size: 16px;
  line-height: 1.7;
  color: #3D3D3D;
}
.tc-post-content strong { color: #2D2D2D; font-weight: 700; }
.tc-post-content ul, .tc-post-content ol { margin: 0 0 20px; padding-left: 24px; }
.tc-post-content li { margin-bottom: 10px; font-size: 16px; line-height: 1.6; color: #3D3D3D; }
.tc-post-content a { color: #8C6010; }
.tc-post-content a:hover { color: #D4952B; }
.tc-post-content img { max-width: 100%; height: auto; border-radius: 12px; }
.tc-post-content figure { margin: 0 0 20px; }
.tc-post-content figcaption { font-size: 13px; color: #7A7A7A; margin-top: 8px; }
.tc-post-content blockquote {
  border-left: 3px solid #E8A838;
  margin: 0 0 20px;
  padding: 8px 0 8px 20px;
  color: #3D3D3D;
}

/* ---- Award lightbox ---- */
.tc-lb {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(5, 12, 26, 0.92);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 200ms ease;
  padding: 32px;
}
.tc-lb.open { opacity: 1; pointer-events: auto; }
.tc-lb img {
  max-width: min(720px, 90vw);
  max-height: 84vh;
  border-radius: 12px;
  background: #fff;
  padding: 24px;
  box-shadow: 0 28px 64px -24px rgba(0, 0, 0, 0.5);
}
.tc-lb-close {
  position: absolute;
  top: 20px;
  right: 24px;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: transparent;
  color: #fff;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  transition: background 150ms ease;
}
.tc-lb-close:hover { background: rgba(255, 255, 255, 0.12); }

/* ---- Scrollspy sub-nav active state (Solutions) ---- */
.tc-scrollspy a { transition: color 150ms ease; }
.tc-scrollspy a.active { color: #8C6010 !important; }

/* ---- Case-study accordion open/close ---- */
.tc-cs-item .tc-cs-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 350ms cubic-bezier(0.4, 0, 0.2, 1);
}
.tc-cs-item.open .tc-cs-body { max-height: 1400px; }
.tc-cs-item .tc-cs-toggle {
  transition: transform 250ms ease, background 150ms ease;
}
.tc-cs-item.open .tc-cs-toggle { transform: rotate(45deg); }
.tc-cs-summary { cursor: pointer; }
