/**
 * article-sidebar.css — sticky sidebar for TOC / related / CTA widgets
 *
 * Tokens: #16A34A turf · #15803D deep green · #1F2937 ground · #111827
 *         #FACC15 CTA yellow (filled button only) · #EAB308 hover
 *         #E2E5DE line · #6B7280 muted · Archivo (titles) + Inter (body)
 */

.article-sidebar,
.blog-sidebar,
[data-article-sidebar] {
  box-sizing: border-box;
}

@media (min-width: 992px) {
  .article-sidebar,
  .blog-sidebar,
  [data-article-sidebar] {
    position: sticky;
    top: 100px;
    align-self: start;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    padding-right: 0.25rem;
  }

  /* Custom scrollbar */
  .article-sidebar::-webkit-scrollbar,
  .blog-sidebar::-webkit-scrollbar {
    width: 6px;
  }
  .article-sidebar::-webkit-scrollbar-thumb,
  .blog-sidebar::-webkit-scrollbar-thumb {
    background: rgba(22, 163, 74, 0.30);
    border-radius: 3px;
  }
  .article-sidebar::-webkit-scrollbar-thumb:hover,
  .blog-sidebar::-webkit-scrollbar-thumb:hover {
    background: var(--brand-color, #16A34A);
  }
}

/* Sidebar widget container */
.sidebar-widget {
  margin-bottom: 1.5rem;
  padding: 1.25rem;
  background: #fff;
  border: 1px solid #E2E5DE;
  border-radius: 10px;
}

.sidebar-widget-title {
  font-family: 'Archivo', 'Inter', system-ui, sans-serif;
  font-size: 0.9375rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #1F2937;
  margin: 0 0 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--accent-color, #16A34A);
}

/* Inline sidebar CTA block (used by assets/includes/article-sidebar.html and _shell.html) */
.sidebar-cta {
  margin-bottom: 1.5rem;
  padding: 1.5rem;
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(22, 163, 74, 0.30), transparent 60%),
    linear-gradient(135deg, #1F2937 0%, #111827 100%);
  border-radius: 10px;
  color: #fff;
  text-align: center;
}

.sidebar-cta h4 {
  font-family: 'Archivo', 'Inter', system-ui, sans-serif;
  font-size: 1.125rem;
  font-weight: 800;
  color: #F9FAFB;
  margin: 0 0 0.5rem;
}

.sidebar-cta p {
  font-size: 0.9rem;
  color: #E5E7EB;
  margin: 0 0 1rem;
  line-height: 1.55;
}

.sidebar-cta .btn-primary {
  background: #FACC15;
  border-color: #FACC15;
  color: #1F2937;
  font-family: 'Archivo', 'Inter', system-ui, sans-serif;
  font-weight: 700;
  border-radius: 8px;
}

.sidebar-cta .btn-primary:hover {
  background: #EAB308;
  border-color: #EAB308;
  color: #1F2937;
}

@media (max-width: 991.98px) {
  .article-sidebar,
  .blog-sidebar {
    margin-top: 2rem;
  }
}
