/* ============================================================
   NLP Training Guide connector — article reading surface
   Scoped to single posts. Colors/fonts come from --nlptg-*
   custom properties (Branding screen); this file references them.
   Soft "paper on a desk" treatment (documented exception to the
   no-shadow rule, approved 2026-07-17), brand typography,
   responsive tables, drop cap, and dividers.
   ============================================================ */

/* Warm desk behind the paper */
body.single-post { background: var(--nlptg-desk); }

/* The paper card: the whole article */
.single-post article.post {
  max-width: 768px;
  margin: clamp(1.5rem, 4vw, 3rem) auto;
  background: var(--nlptg-ivory-0);
  border: 1px solid var(--nlptg-ivory-200);
  border-radius: 2px;
  box-shadow: 0 1px 2px rgba(12,21,38,.05), 0 12px 34px rgba(12,21,38,.10);
  padding: clamp(1.75rem, 5vw, 3.5rem) clamp(1.25rem, 5vw, 3.25rem);
  box-sizing: border-box;
}

/* Opening + closing gold letterhead rules */
.single-post article.post::before,
.single-post article.post::after {
  content: ""; display: block; width: 40px; height: 1px; background: var(--nlptg-gold-500); margin: 0 auto;
}
.single-post article.post::before { margin-bottom: 1.75rem; }
.single-post article.post::after  { margin-top: 2.5rem; }

/* Title + meta, centered like a letterhead */
.single-post .entry-header { text-align: center; margin: 0 0 1.6rem; padding: 0; border: 0; }
.single-post .entry-title,
.single-post h1.page-title {
  font-family: var(--nlptg-font-display); font-weight: 500; color: var(--nlptg-graphite-900);
  font-size: clamp(27px, 4.2vw, 37px); line-height: 1.25; letter-spacing: .1px;
  margin: 0 auto; max-width: 24ch;
}
.single-post .entry-meta,
.single-post .post-meta,
.single-post .ct-meta-elements {
  justify-content: center; color: var(--nlptg-stone-400);
  font-family: var(--nlptg-font-ui); font-size: 13px;
}

/* Body typography */
.single-post .entry-content {
  font-family: var(--nlptg-font-body); color: var(--nlptg-brown-700);
  font-size: 18px; line-height: 1.85; max-width: none;
}
.single-post .entry-content > p { margin: 0 0 1.4rem; }
.single-post .entry-content h2 {
  font-family: var(--nlptg-font-display); font-weight: 500; color: var(--nlptg-graphite-900);
  font-size: clamp(22px, 3vw, 28px); line-height: 1.35; margin: 2.6rem 0 1rem;
}
.single-post .entry-content h3 {
  font-family: var(--nlptg-font-display); font-weight: 500; color: var(--nlptg-graphite-900);
  font-size: 20px; line-height: 1.4; margin: 2rem 0 .7rem;
}
.single-post .entry-content h4 {
  font-family: var(--nlptg-font-ui); font-weight: 500; color: var(--nlptg-graphite-900);
  font-size: 15px; letter-spacing: .02em; margin: 1.6rem 0 .5rem;
}
.single-post .entry-content a { color: var(--nlptg-blue-500); text-decoration: underline; text-underline-offset: 2px; }
.single-post .entry-content a:hover { color: var(--nlptg-gold-700); }
.single-post .entry-content strong { font-weight: 500; color: var(--nlptg-graphite-900); }
.single-post .entry-content ul,
.single-post .entry-content ol { margin: 0 0 1.4rem; padding-left: 1.4rem; }
.single-post .entry-content li { margin: .4rem 0; }

/* Drop cap on the opening paragraph */
.single-post .entry-content > p:first-of-type::first-letter {
  font-family: var(--nlptg-font-display); font-weight: 500; color: var(--nlptg-graphite-900);
  float: left; font-size: 3.4em; line-height: .8; padding: .04em .12em 0 0;
}

/* Blockquote / callout: gold left rule, no box */
.single-post .entry-content blockquote {
  margin: 1.9rem 0; padding: .1rem 0 .1rem 1.25rem; border-left: 2px solid var(--nlptg-gold-500);
  font-family: var(--nlptg-font-display); font-style: italic; font-size: 19px; color: var(--nlptg-brown-700);
}
.single-post .entry-content blockquote p { margin: 0 0 .6rem; }

/* Section divider: gold asterism from <hr> */
.single-post .entry-content hr { border: 0; text-align: center; margin: 2.6rem 0; height: auto; }
.single-post .entry-content hr::after {
  content: "\2733\00a0\00a0\2733\00a0\00a0\2733"; color: var(--nlptg-gold-500);
  font-family: var(--nlptg-font-display); font-size: 15px; letter-spacing: .1em;
}

/* Tables: responsive scroll wrapper + brand styling */
.single-post .nlptg-table {
  overflow-x: auto; -webkit-overflow-scrolling: touch;
  margin: 1.9rem 0; border: 1px solid var(--nlptg-ivory-200); border-radius: 2px;
}
.single-post .entry-content table {
  width: 100%; border-collapse: collapse; margin: 0;
  font-family: var(--nlptg-font-ui); font-size: 14px;
  font-feature-settings: "tnum"; color: var(--nlptg-brown-700);
}
.single-post .entry-content th,
.single-post .entry-content td {
  padding: 11px 16px; border-bottom: 1px solid var(--nlptg-ivory-200); text-align: left; vertical-align: top;
}
.single-post .entry-content th { font-weight: 500; color: var(--nlptg-graphite-900); }
.single-post .entry-content thead th,
.single-post .entry-content tr:first-child th {
  font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--nlptg-stone-400);
  font-weight: 500; border-bottom: 1.5px solid var(--nlptg-gold-500); white-space: nowrap;
}
.single-post .entry-content tbody tr:last-child td { border-bottom: 0; }
.single-post .entry-content tr:hover td { background: var(--nlptg-ivory-50); }

/* Remove off-brand floating share bars on posts (Blocksy + common share plugins) */
.single-post .ct-share-box,
.single-post [class*="share-box"],
.single-post .sharemypost-floating-bar,
.single-post [class*="sharemypost-floating"],
.single-post .a2a_floating_style,
.single-post .sfsi_plus_widget { display: none !important; }

@media (max-width: 600px) {
  .single-post article.post { margin: 1rem 12px 1.75rem; padding: 1.5rem 1.15rem; }
  .single-post .entry-content { font-size: 17px; }
  .single-post .entry-content > p:first-of-type::first-letter { font-size: 3em; }
}
