/* ===== Article Page Visual Enhancements ===== */

/* Article header gradient background */
.article-header {
  position: relative;
  padding-top: 32px;
}
.article-header::before {
  content: '';
  position: absolute;
  top: -72px;
  left: 50%;
  transform: translateX(-50%);
  width: 200%;
  height: calc(100% + 100px);
  background: radial-gradient(ellipse at center top, rgba(0,113,227,0.04) 0%, transparent 60%);
  pointer-events: none;
  z-index: -1;
}

/* H2 section decoration */
.article-body h2 {
  position: relative;
  padding-bottom: 16px;
  margin-bottom: 24px;
}
.article-body h2::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 48px;
  height: 3px;
  background: linear-gradient(90deg, #0071e3, #00c6ff);
  border-radius: 2px;
}

/* H3 subtle left accent */
.article-body h3 {
  padding-left: 16px;
  border-left: 3px solid rgba(0,113,227,0.2);
}

/* Blockquote styling */
.article-body blockquote {
  background: linear-gradient(135deg, rgba(0,113,227,0.04) 0%, rgba(0,198,255,0.04) 100%);
  border-left: 4px solid #0071e3;
  border-radius: 0 12px 12px 0;
  padding: 20px 24px;
  margin: 28px 0;
  color: #6e6e73;
}
.article-body blockquote p {
  margin-bottom: 8px;
  font-size: 16px;
}
.article-body blockquote p:last-child {
  margin-bottom: 0;
}

/* Code block styling */
.article-body pre {
  background: #1d1d1f;
  color: #e5e5e7;
  border-radius: 12px;
  padding: 20px 24px;
  margin: 24px 0;
  overflow-x: auto;
  font-size: 14px;
  line-height: 1.6;
  border: 1px solid rgba(255,255,255,0.06);
}
.article-body code {
  font-family: 'SF Mono', 'Menlo', 'Monaco', 'Cascadia Code', monospace;
}
.article-body p code,
.article-body li code {
  background: rgba(0,113,227,0.08);
  color: #0071e3;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 0.9em;
}

/* Section divider between H2 blocks */
.article-body h2 + p::before {
  content: '';
  display: block;
}

/* Inline image enhanced shadow */
.article-body img {
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
  transition: box-shadow 0.3s;
}
.article-body img:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,0.1);
}

/* Callout enhanced */
.callout {
  background: linear-gradient(135deg, #f0f7ff 0%, #e8f4fd 100%);
  border-left: 4px solid #0071e3;
  border-radius: 12px;
  padding: 24px 28px;
  margin: 28px 0;
  box-shadow: 0 2px 8px rgba(0,113,227,0.06);
}

/* FAQ section enhanced border */
.faq-section {
  border-top: 2px solid rgba(0,113,227,0.1);
}

/* Spec table enhanced */
.spec-table th {
  background: linear-gradient(135deg, #f5f5f7 0%, #fbfbfd 100%);
}

/* Step list enhanced */
.step-num {
  box-shadow: 0 4px 12px rgba(0,113,227,0.25);
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .article-header::before {
    width: 300%;
    top: -100px;
  }
  .article-body h2 {
    font-size: 24px;
  }
  .article-body h2::after {
    width: 36px;
    height: 3px;
  }
  .article-body blockquote {
    padding: 16px 20px;
    border-radius: 0 8px 8px 0;
  }
  .article-body pre {
    padding: 16px;
    border-radius: 8px;
  }
}
