/* ═══════════════════════════════════════════════════════════════
   GnosticWay — article.css
   Article body content styles
═══════════════════════════════════════════════════════════════ */

/* ─── ARTICLE BODY ───────────────────────────────────────────── */
.gw-article-body {
  font-size:   var(--text-lg);
  line-height: 1.75;
  color:       var(--gw-text);
  /* max-width controlled by layout context (container / grid column) */
  width: 100%;
}

/* Headings in article */
.gw-article-body h2 {
  margin-top:    var(--sp-12);
  margin-bottom: var(--sp-4);
  padding-bottom: var(--sp-3);
  border-bottom: 2px solid var(--gw-gold-light);
  font-size:     clamp(1.3rem, 2.5vw, 1.75rem);
  scroll-margin-top: 88px;   /* sticky header offset */
}
.gw-article-body h2:first-child { margin-top: 0; }

.gw-article-body h3 {
  margin-top:    var(--sp-8);
  margin-bottom: var(--sp-3);
  color:         var(--gw-bg-mid);
  font-size:     clamp(1.05rem, 2vw, 1.3rem);
  scroll-margin-top: 88px;
}

.gw-article-body h4 {
  margin-top:    var(--sp-6);
  margin-bottom: var(--sp-2);
  font-size:     1.05rem;
  font-family:   var(--font-ui);
  font-weight:   700;
  color:         var(--gw-bg-dark);
}

/* ─── ARTICLE LISTS ──────────────────────────────────────────── */
.gw-article-body ul,
.gw-article-body ol {
  margin:       var(--sp-4) 0 var(--sp-5) 0;
  padding-left: var(--sp-2);
  display:      flex;
  flex-direction: column;
  gap:          var(--sp-1);
}

.gw-article-body ul { list-style: none; }
.gw-article-body ul li {
  padding-left: var(--sp-6);
  position:     relative;
  line-height:  1.65;
}
.gw-article-body ul li::before {
  content:    '◆';
  position:   absolute;
  left:       0;
  top:        .55em;
  color:      var(--gw-gold);
  font-size:  .5rem;
}

.gw-article-body ol { list-style: decimal; padding-left: var(--sp-8); }
.gw-article-body ol li {
  line-height: 1.65;
  padding-left: var(--sp-2);
}
.gw-article-body ol li::marker {
  color:       var(--gw-gold-dark);
  font-weight: 700;
}

/* Nested lists */
.gw-article-body ul ul,
.gw-article-body ol ol,
.gw-article-body ul ol,
.gw-article-body ol ul {
  margin: var(--sp-1) 0 0 0;
}

/* ─── ARTICLE LINKS ──────────────────────────────────────────── */
.gw-article-body a {
  color:           var(--gw-link);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-color: rgba(92,61,143,.4);
  transition:      color var(--transition), text-decoration-color var(--transition);
}
.gw-article-body a:hover {
  color:                  var(--gw-gold-dark);
  text-decoration-color:  var(--gw-gold);
}

/* ─── ARTICLE PARAGRAPH SPACING ─────────────────────────────── */
.gw-article-body p { margin-bottom: 1.25rem; }
.gw-article-body p:last-child { margin-bottom: 0; }

/* ─── FIRST PARAGRAPH ────────────────────────────────────────── */
.gw-article-body > p:first-of-type {
  font-size:   var(--text-xl);
  line-height: 1.65;
  color:       var(--gw-text-mid);
}

/* ─── PULL QUOTE ─────────────────────────────────────────────── */
.gw-article-body blockquote {
  border-left:   4px solid var(--gw-gold-light);
  padding:       var(--sp-4) var(--sp-6);
  margin:        var(--sp-6) 0;
  font-style:    italic;
  color:         var(--gw-text-mid);
  background:    var(--gw-bg-alt);
  border-radius: 0 var(--radius) var(--radius) 0;
  font-size:     var(--text-lg);
}
.gw-article-body blockquote cite {
  display:     block;
  font-size:   var(--text-sm);
  font-style:  normal;
  font-family: var(--font-ui);
  color:       var(--gw-text-muted);
  margin-top:  var(--sp-2);
}

/* ─── CLEARFIX for floated images ────────────────────────────── */
.gw-article-body .gw-cf::after { content: ''; display: table; clear: both; }

/* ─── ARTICLE SECTION DIVIDER ────────────────────────────────── */
.gw-article-body hr {
  border:     none;
  border-top: 1px solid var(--gw-gold-light);
  margin:     var(--sp-10) 0;
}
