/* ═══════════════════════════════════════════
   ARTICLE + ARTICLES LISTING
   Inherits tokens from style.css (:root)
   ═══════════════════════════════════════════ */

/* ── Page wrapper (clears 56px fixed nav) ── */
.article-page { padding-top: 56px; }

/* ── Breadcrumb ── */
.breadcrumb {
  font-size: 0.7rem; letter-spacing: 0.5px; text-transform: uppercase;
  color: var(--text-dim); margin-bottom: 18px; display: flex; gap: 8px; flex-wrap: wrap;
}
.breadcrumb a { color: var(--text-secondary); }
.breadcrumb a:hover { color: var(--text); }
.breadcrumb span { color: var(--text-dim); }

/* ── Article header ── */
.article-head {
  padding: 56px 0 36px; border-bottom: 1px solid var(--border);
  margin-bottom: 40px; position: relative;
}
.article-head::before {
  content: ''; position: absolute; top: -56px; left: 50%; transform: translateX(-50%);
  width: 700px; height: 360px; max-width: 100%;
  background: radial-gradient(circle, rgba(220,38,38,0.12) 0%, transparent 70%);
  pointer-events: none; z-index: -1;
}
.article-badge {
  display: inline-block; font-size: 0.62rem; font-weight: 700;
  color: var(--accent); background: rgba(220,38,38,0.08);
  border: 1px solid rgba(220,38,38,0.18); padding: 5px 13px;
  border-radius: 20px; margin-bottom: 18px; letter-spacing: 0.6px; text-transform: uppercase;
}
.article-head h1 {
  font-size: clamp(1.7rem, 4vw, 2.6rem); font-weight: 800; line-height: 1.15;
  letter-spacing: -1px; max-width: 760px; margin-bottom: 16px;
}
.article-head h1 span { color: var(--accent); }
.article-meta {
  display: flex; gap: 18px; flex-wrap: wrap;
  font-size: 0.75rem; color: var(--text-dim); letter-spacing: 0.3px;
}
.article-meta span { display: inline-flex; align-items: center; gap: 6px; }

/* ── Article body typography ── */
.article-body { max-width: 740px; }
.article-body > * + * { margin-top: 22px; }
.article-body p { color: var(--text-secondary); font-size: 1rem; line-height: 1.8; }
.article-body .lead { font-size: 1.1rem; color: var(--text); line-height: 1.7; }
.article-body h2 {
  font-size: clamp(1.25rem, 2.6vw, 1.6rem); font-weight: 700; color: var(--text);
  letter-spacing: -0.3px; margin-top: 44px; padding-top: 4px;
}
.article-body h2 + p { margin-top: 14px; }
.article-body h3 {
  font-size: 1.05rem; font-weight: 700; color: var(--text); margin-top: 30px;
}
.article-body ul, .article-body ol { padding-left: 22px; color: var(--text-secondary); }
.article-body li { margin-top: 10px; line-height: 1.7; }
.article-body li::marker { color: var(--primary); }
.article-body strong { color: var(--text); font-weight: 600; }
.article-body a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.article-body a:hover { color: #fca5a5; }
.article-body blockquote {
  border-left: 3px solid var(--primary); padding: 4px 0 4px 20px;
  color: var(--text); font-size: 1.05rem; line-height: 1.7;
}
.article-body .callout {
  background: var(--bg-card); border: 1px solid var(--border); border-left: 3px solid var(--primary);
  border-radius: var(--radius); padding: 18px 20px;
}
.article-body .callout strong { color: var(--accent); }
.article-body table {
  width: 100%; border-collapse: collapse; font-size: 0.85rem;
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden;
}
.article-body th, .article-body td { padding: 11px 14px; text-align: left; border-bottom: 1px solid var(--border); }
.article-body th { color: var(--text); font-weight: 600; background: var(--bg-elevated); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.5px; }
.article-body td { color: var(--text-secondary); }
.article-body tr:last-child td { border-bottom: none; }

/* ── Bottom CTA (the conversion block) ── */
.article-cta {
  margin: 64px auto 0; max-width: 740px;
  background: linear-gradient(135deg, rgba(220,38,38,0.12), var(--bg-card) 60%);
  border: 1px solid rgba(220,38,38,0.2); border-radius: var(--radius-xl);
  padding: 40px 32px; text-align: center; position: relative; overflow: hidden;
}
.article-cta::before {
  content: ''; position: absolute; top: -50%; right: -10%;
  width: 360px; height: 360px; border-radius: 50%;
  background: radial-gradient(circle, var(--primary-glow) 0%, transparent 70%); pointer-events: none;
}
.article-cta h2 { font-size: clamp(1.3rem, 3vw, 1.7rem); font-weight: 800; letter-spacing: -0.4px; margin-bottom: 10px; position: relative; }
.article-cta p { color: var(--text-secondary); font-size: 0.95rem; max-width: 480px; margin: 0 auto 24px; position: relative; line-height: 1.7; }
.article-cta .btn { position: relative; }
.article-cta .cta-sub { font-size: 0.72rem; color: var(--text-dim); margin-top: 16px; }

/* ── Articles listing ── */
.article-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.article-card {
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-lg);
  overflow: hidden; transition: all var(--transition); display: flex; flex-direction: column;
}
.article-card:hover { border-color: var(--border-hover); transform: translateY(-3px); background: var(--bg-card-hover); }
.article-card a.card-link { display: flex; flex-direction: column; height: 100%; color: inherit; }
.article-card .card-thumb { aspect-ratio: 16/10; overflow: hidden; }
.article-card .card-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.article-card:hover .card-thumb img { transform: scale(1.05); }
.article-card .card-body { padding: 20px; display: flex; flex-direction: column; flex: 1; }
.article-card .card-cat { font-size: 0.6rem; font-weight: 700; color: var(--accent); text-transform: uppercase; letter-spacing: 0.6px; margin-bottom: 10px; }
.article-card h3 { font-size: 1.05rem; font-weight: 700; color: var(--text); line-height: 1.35; margin-bottom: 10px; }
.article-card p { font-size: 0.83rem; color: var(--text-secondary); line-height: 1.6; flex: 1; }
.article-card .card-more { margin-top: 16px; font-size: 0.72rem; font-weight: 600; color: var(--accent); text-transform: uppercase; letter-spacing: 0.5px; display: inline-flex; align-items: center; gap: 6px; }
.article-card:hover .card-more svg { transform: translateX(3px); }
.article-card .card-more svg { transition: transform var(--transition); }

/* ── Responsive ── */
@media (max-width: 860px) {
  .article-list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .article-list { grid-template-columns: 1fr; }
  .article-cta { padding: 32px 22px; }
  .article-head { padding: 40px 0 28px; }
}
