/* RLTRsync Blog Article Styles — Based on Pinniq Legal Design System */

/* ─── Variables ─────────────────────────────────────────────────── */
.rs-article {
  --blue: #00076F;
  --blue-accent: #6EC1E4;
  --blue-glow: rgba(0,7,111,0.15);
  --green: #61CE70;
  --green-dark: #4fb85e;
  --navy: #0f172a;
  --ink: #111827;
  --ink-mid: #000000;
  --ink-light: #6b7280;
  --border: #e5e7eb;
  --bg: #ffffff;
  --bg-alt: #f8fafc;
  --radius: 12px;
  --shadow: 0 1px 3px rgba(0,0,0,.08), 0 4px 16px rgba(0,0,0,.06);
  --transition: 0.22s ease;
}

/* ─── Elementor Post Info Tags (categories) ────────────────────── */
.elementor-post-info {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 24px !important;
}

.elementor-post-info .elementor-icon-list-item {
  list-style: none !important;
}

.elementor-post-info__terms-list {
  font-size: 0 !important;
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.elementor-post-info__terms-list-item {
  display: inline-block !important;
  background: #ecf0f1 !important;
  color: #6b5ce7 !important;
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  padding: 10px 28px !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  border: none !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  transition: all 0.22s ease !important;
}

.elementor-post-info__terms-list-item:hover {
  background: #dde3e4 !important;
  color: #5a4bd6 !important;
}




/* ─── Article Grid Layout ─────────────────────────────────────── */
.rs-article-container {
  display: grid !important;
  grid-template-columns: 220px 1fr !important;
  gap: 56px !important;
  align-items: start !important;
}

/* ─── Table of Contents (Sticky Sidebar) ─────────────────────── */
.rs-toc {
  position: sticky !important;
  top: 100px !important;
  align-self: start !important;
  padding-top: 8px !important;
}

.rs-toc-label {
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--ink-light) !important;
  margin-bottom: 16px !important;
}

.rs-toc ol {
  list-style: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  border-left: 2px solid var(--border) !important;
  padding-left: 16px !important;
  margin: 0 !important;
}

.rs-toc ol li {
  margin: 0 !important;
  padding: 0 !important;
}

.rs-toc a {
  font-size: 0.82rem !important;
  color: var(--ink-light) !important;
  text-decoration: none !important;
  border: none !important;
  font-weight: 400 !important;
  display: block !important;
  padding: 4px 0 !important;
  line-height: 1.4 !important;
  transition: color 0.22s ease, font-weight 0.22s ease !important;
}

.rs-toc a:hover {
  color: var(--blue) !important;
}

.rs-toc a.active {
  color: var(--blue) !important;
  font-weight: 600 !important;
}

/* ─── Article Content ─────────────────────────────────────────── */
.rs-article {
  max-width: 960px !important;
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
  font-size: 1.05rem !important;
  line-height: 1.85 !important;
  color: var(--ink-mid) !important;
  -webkit-font-smoothing: antialiased !important;
}

.rs-content {
  max-width: 680px !important;
  min-width: 0 !important;
}

/* Lead paragraph */
.rs-lead {
  font-size: 1.18rem !important;
  color: var(--ink) !important;
  line-height: 1.75 !important;
  font-weight: 500 !important;
  margin-bottom: 40px !important;
  padding-bottom: 40px !important;
  border-bottom: 1px solid var(--border) !important;
}

/* ─── Headings ─────────────────────────────────────────────────── */
.rs-article h2 {
  font-size: 1.55rem !important;
  font-weight: 700 !important;
  color: var(--navy) !important;
  margin: 56px 0 20px !important;
  padding-top: 20px !important;
  letter-spacing: -0.01em !important;
  line-height: 1.25 !important;
}

.rs-article h2:first-of-type {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.rs-article h3 {
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  color: var(--navy) !important;
  margin: 40px 0 14px !important;
  line-height: 1.3 !important;
}

/* ─── Paragraphs ───────────────────────────────────────────────── */
.rs-article p {
  font-size: 1.05rem !important;
  color: var(--ink-mid) !important;
  line-height: 1.85 !important;
  font-weight: 400;
  margin-bottom: 24px !important;
}

/* ─── Links ────────────────────────────────────────────────────── */
.rs-article a {
  color: var(--blue) !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  text-decoration-color: rgba(0,7,111,0.25) !important;
  text-underline-offset: 3px !important;
  transition: text-decoration-color var(--transition) !important;
}

.rs-article a:hover {
  text-decoration-color: var(--blue) !important;
}

/* ─── Bold / Emphasis ──────────────────────────────────────────── */
.rs-article strong {
  color: var(--ink) !important;
  font-weight: 700 !important;
}

.rs-article em {
  font-style: italic !important;
}

/* ─── Lists ────────────────────────────────────────────────────── */
.rs-article ul,
.rs-article ol {
  padding-left: 28px !important;
  margin-bottom: 28px !important;
  color: var(--ink-mid) !important;
  line-height: 1.85 !important;
}

.rs-article ul { list-style-type: disc !important; }
.rs-article ol { list-style-type: decimal !important; }

.rs-article ul li,
.rs-article ol li {
  margin-bottom: 10px !important;
  padding-left: 6px !important;
  font-weight: 400;
}

.rs-article ul li::marker { color: var(--blue-accent) !important; }
.rs-article ol li::marker { color: var(--blue-accent) !important; font-weight: 600 !important; }

/* ─── Callout / Key Takeaway ───────────────────────────────────── */
.rs-callout {
  background: rgba(0,7,111,0.04) !important;
  border: 1px solid rgba(0,7,111,0.12) !important;
  border-left: 4px solid var(--blue) !important;
  border-radius: 0 var(--radius) var(--radius) 0 !important;
  padding: 24px 28px !important;
  margin: 40px 0 !important;
  font-weight: 400;
  font-size: 0.97rem !important;
  line-height: 1.75 !important;
  color: var(--ink-mid) !important;
}

.rs-callout strong {
  display: block !important;
  color: var(--navy) !important;
  margin-bottom: 6px !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
}

/* ─── Takeaway Box (green) ─────────────────────────────────────── */
.rs-takeaway {
  background: rgba(97,206,112,0.06) !important;
  border: 1px solid rgba(97,206,112,0.2) !important;
  border-left: 4px solid var(--green) !important;
  border-radius: 0 var(--radius) var(--radius) 0 !important;
  padding: 24px 28px !important;
  margin: 40px 0 !important;
  font-size: 0.97rem !important;
  line-height: 1.75 !important;
  font-weight: 400;
  color: var(--ink-mid) !important;
}

.rs-takeaway strong {
  display: block !important;
  font-weight: 400;
  color: var(--navy) !important;
  margin-bottom: 6px !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
}

.rs-takeaway text {
    font-weight: 400;
}



/* ─── Warning Box (amber) ──────────────────────────────────────── */
.rs-warning {
  background: rgba(217,119,6,0.06) !important;
  border: 1px solid rgba(217,119,6,0.2) !important;
  border-left: 4px solid #d97706 !important;
  border-radius: 0 var(--radius) var(--radius) 0 !important;
  padding: 24px 28px !important;
  font-weight: 400;
  margin: 40px 0 !important;
  font-size: 0.97rem !important;
  line-height: 1.75 !important;
  color: var(--ink-mid) !important;
}

.rs-warning strong {
  display: block !important;
  color: var(--navy) !important;
  margin-bottom: 6px !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
}

/* ─── Blockquotes ──────────────────────────────────────────────── */
.rs-article blockquote {
  border-left: 3px solid var(--blue) !important;
  padding: 20px 28px !important;
  margin: 32px 0 !important;
  background: var(--bg-alt) !important;
  border-radius: 0 var(--radius) var(--radius) 0 !important;
  font-style: italic !important;
  color: var(--ink-mid) !important;
  font-size: 1.05rem !important;
  line-height: 1.75 !important;
}

.rs-article blockquote p:last-child { margin-bottom: 0 !important; }

/* ─── Tables ───────────────────────────────────────────────────── */
.rs-article table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 32px 0 !important;
  font-size: 0.95rem !important;
}

.rs-article th,
.rs-article td {
  padding: 12px 16px !important;
  text-align: left !important;
  border-bottom: 1px solid var(--border) !important;
}

.rs-article th {
  background: var(--bg-alt) !important;
  font-weight: 600 !important;
  color: var(--navy) !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
}

.rs-article td { color: var(--ink-mid) !important; }
.rs-article tr:hover td { background: var(--bg-alt) !important; }

/* ─── Horizontal Rules ─────────────────────────────────────────── */
.rs-article hr {
  border: none !important;
  height: 1px !important;
  background: var(--border) !important;
  margin: 48px 0 !important;
}

/* ─── FAQ Section ──────────────────────────────────────────────── */
.rs-faq {
  margin-top: 56px !important;
  padding-top: 20px !important;
}

.rs-faq-item {
  background: var(--bg-alt) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  padding: 20px 24px !important;
  margin-bottom: 12px !important;
  transition: box-shadow var(--transition) !important;
}

.rs-faq-item:hover {
  box-shadow: var(--shadow) !important;
}

.rs-faq-item h3 {
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--navy) !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.4 !important;
}

.rs-faq-item p {
  font-size: 0.95rem !important;
  color: var(--ink-mid) !important;
  line-height: 1.75 !important;
  margin: 0 !important;
}

/* ─── CTA Section ──────────────────────────────────────────────── */
.rs-cta {
  background: var(--bg-alt) !important;
  border-top: 1px solid var(--border) !important;
  padding: 48px 32px !important;
  border-radius: var(--radius) !important;
  text-align: center !important;
  margin-top: 56px !important;
}

.rs-cta h3 {
  color: var(--navy) !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  margin: 0 0 12px 0 !important;
  line-height: 1.3 !important;
}

.rs-cta p {
  color: var(--ink-mid) !important;
  font-size: 1.05rem !important;
  line-height: 1.6 !important;
  margin-bottom: 24px !important;
  max-width: 480px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.rs-cta-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: var(--green) !important;
  color: #ffffff !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  padding: 18px 40px !important;
  border-radius: 14px !important;
  text-decoration: none !important;
  transition: all 0.3s cubic-bezier(0.4,0,0.2,1) !important;
  position: relative !important;
}

.rs-cta-button:hover {
  background: var(--green-dark) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(97,206,112,0.4) !important;
  color: #ffffff !important;
}

/* ─── Responsive ───────────────────────────────────────────────── */
@media (max-width: 900px) {
  .rs-article-container {
    display: block !important;
  }
  .rs-toc {
    position: static !important;
    margin-bottom: 40px !important;
    padding-bottom: 40px !important;
    border-bottom: 1px solid var(--border) !important;
  }
}

@media (max-width: 768px) {
  .rs-article h2 { font-size: 1.35rem !important; margin: 40px 0 16px !important; }
  .rs-article h3 { font-size: 1.1rem !important; margin: 32px 0 12px !important; }
  .rs-article p { font-size: 1rem !important; }
  .rs-lead { font-size: 1.05rem !important; }
  .rs-callout,
  .rs-takeaway,
  .rs-warning { padding: 20px 22px !important; margin: 28px 0 !important; }
  .rs-article ul,
  .rs-article ol { padding-left: 20px !important; }
  .rs-cta { padding: 32px 20px !important; }
  .rs-cta h3 { font-size: 1.25rem !important; }
}
