
/* Shared Article Template Styles (Clean & Scientific) */
.article-page{ padding-bottom: 24px; }
.article-hero{
  margin: 24px auto 0;
  max-width: 1024px;
  border-radius: 24px;
  overflow: hidden;
  background: linear-gradient(135deg, #0f766e, #22c55e);
  color: #fff;
  border: 1px solid rgba(255,255,255,.14);
}
.article-hero-inner{ max-width: 860px; margin: 0 auto; padding: 46px 28px; position: relative; }
.article-hero .breadcrumb{ font-size: 13px; opacity: .92; letter-spacing: .02em; }
.article-title{ margin: 10px 0 10px; font-size: clamp(30px, 4vw, 44px); line-height: 1.12; letter-spacing: -0.02em; }
.article-hero-meta{ display:flex; gap:10px; flex-wrap:wrap; margin-top: 14px; opacity: .95; }
.article-hero-meta .meta-item{
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.18);
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 13px;
}

.article-content{ max-width: 760px; margin: 0 auto; padding: 26px 18px 18px; }
.article-content p{ font-size: 17px; line-height: 1.9; margin: 12px 0; }
.article-content h2{ margin-top: 34px; font-size: 26px; }
.article-content h3{ margin-top: 18px; font-size: 18px; }
.article-content ul{ padding-left: 20px; }
.article-content li{ margin: 8px 0; }
.article-content table{ width:100%; border-collapse: collapse; margin: 16px 0; font-size: 16px; }
.article-content th, .article-content td{ border: 1px solid rgba(0,0,0,.08); padding: 10px 12px; text-align:left; }
.article-content thead th{ background: rgba(0,0,0,.03); }

/* Dark mode readability */
:root[data-theme="dark"] .article-content th,
:root[data-theme="dark"] .article-content td,
body.dark .article-content th,
body.dark .article-content td{
  border-color: rgba(255,255,255,.12);
}
:root[data-theme="dark"] .article-content thead th,
body.dark .article-content thead th{
  background: rgba(255,255,255,.06);
}

.callout{
  background: rgba(37,99,235,.06);
  border: 1px solid rgba(37,99,235,.18);
  border-left: 5px solid rgba(37,99,235,.85);
  padding: 14px 16px;
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(0,0,0,.05);
  margin: 18px 0;
}
:root[data-theme="dark"] .callout,
body.dark .callout{
  background: rgba(147,197,253,.10);
  border-color: rgba(147,197,253,.20);
  border-left-color: rgba(147,197,253,.90);
}

.related-posts{ max-width: 1024px; margin: 0 auto; padding: 8px 18px 66px; }
.related-posts h2{ margin: 18px 0 12px; }
.related-grid{ margin-top: 12px; }

/* Ensure hero spacing doesn't clash with existing site header */
@media (max-width: 520px){
  .article-hero-inner{ padding: 36px 16px; }
}
