/* RevoField single blog post design, matching revofield.com.
   Loaded only on single posts when the post design is switched on. Everything is scoped to body.rf-post. */

body.rf-post { background: #f8fafc; }
body.rf-post .site-content { padding-top: 40px; }

/* ---------- Hero ---------- */
.rf-post-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(900px 380px at 85% -10%, rgba(99,102,241,0.28), transparent 60%),
    radial-gradient(700px 320px at 5% 120%, rgba(59,130,246,0.14), transparent 60%),
    linear-gradient(180deg, #0b1121 0%, #121a3d 100%);
  border-bottom: 1px solid rgba(99,102,241,0.35);
  color: #fff;
}
.rf-post-hero__inner { max-width: 1200px; margin: 0 auto; padding: 56px 40px 60px; }
.rf-post-hero__crumbs { font-size: 13px; line-height: 1.5; color: #94a3b8; margin: 0 0 22px; }
.rf-post-hero__crumbs a { color: #cbd5e1; text-decoration: none; }
.rf-post-hero__crumbs a:hover { color: #fff; }
.rf-post-hero__crumbs .breadcrumb_last { color: #94a3b8; }
.rf-post-hero__cat {
  display: inline-flex; align-items: center;
  font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
  color: #a5b4fc; background: rgba(99,102,241,0.12); border: 1px solid rgba(99,102,241,0.35);
  border-radius: 999px; padding: 6px 12px; margin: 0 0 18px; text-decoration: none;
}
.rf-post-hero__cat:hover { color: #fff; background: rgba(99,102,241,0.25); }
.rf-post-hero__title {
  font-size: clamp(30px, 3.6vw, 46px); font-weight: 800; line-height: 1.15; letter-spacing: -0.025em;
  color: #fff; max-width: 820px; margin: 0;
}
.rf-post-hero__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 20px 0 0; font-size: 15px; color: #94a3b8; }
.rf-post-hero__meta a { color: #e2e8f0; text-decoration: none; font-weight: 600; }
.rf-post-hero__meta a:hover { color: #fff; }
.rf-post-hero__dot { width: 4px; height: 4px; border-radius: 50%; background: #475569; display: inline-block; }

/* ---------- Article card ---------- */
body.rf-post .inside-article {
  background: #fff; border: 1px solid #e2e8f0; border-radius: 16px;
  box-shadow: 0 1px 2px rgba(15,23,42,0.04), 0 8px 24px rgba(15,23,42,0.04);
  padding: 44px 52px;
}
body.rf-post .featured-image { margin: 0 0 32px; }
body.rf-post .featured-image img { border-radius: 12px; width: 100%; height: auto; }
body.rf-post .entry-header { display: none; }

/* ---------- Typography ---------- */
body.rf-post .entry-content { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size: 18px; line-height: 1.75; color: #334155; }
body.rf-post .entry-content p { margin: 0 0 1.35em; }
body.rf-post .entry-content h2 { font-family: inherit; font-size: 30px; font-weight: 800; line-height: 1.25; letter-spacing: -0.02em; color: #0f172a; margin: 2.1em 0 0.7em; }
body.rf-post .entry-content h3 { font-family: inherit; font-size: 22px; font-weight: 700; line-height: 1.35; letter-spacing: -0.01em; color: #0f172a; margin: 1.8em 0 0.6em; }
body.rf-post .entry-content h4 { font-family: inherit; font-size: 18px; font-weight: 700; color: #0f172a; margin: 1.6em 0 0.5em; }
body.rf-post .entry-content > h2:first-child, body.rf-post .entry-content > h3:first-child { margin-top: 0; }
body.rf-post .entry-content strong, body.rf-post .entry-content b { color: #0f172a; font-weight: 700; }
body.rf-post .entry-content a { color: #4f46e5; text-decoration: underline; text-decoration-color: rgba(79,70,229,0.35); text-underline-offset: 3px; }
body.rf-post .entry-content a:hover { color: #4338ca; text-decoration-color: #4338ca; }
body.rf-post .entry-content ul, body.rf-post .entry-content ol { margin: 0 0 1.35em 1.3em; padding: 0; }
body.rf-post .entry-content li { margin: 0 0 0.5em; padding-left: 0.2em; }
body.rf-post .entry-content li::marker { color: #6366f1; }
body.rf-post .entry-content blockquote { margin: 1.6em 0; padding: 18px 24px; border-left: 4px solid #6366f1; background: #f8fafc; border-radius: 0 12px 12px 0; color: #0f172a; font-style: normal; }
body.rf-post .entry-content blockquote p:last-child { margin-bottom: 0; }
body.rf-post .entry-content img { border-radius: 10px; }
body.rf-post .entry-content hr { border: 0; border-top: 1px solid #e2e8f0; margin: 2.4em 0; }

/* ---------- Tables ---------- */
body.rf-post .entry-content table {
  width: 100%; border-collapse: separate; border-spacing: 0; margin: 0 0 1.6em;
  border: 1px solid #e2e8f0; border-radius: 12px; overflow: hidden; font-size: 15px; line-height: 1.5;
}
body.rf-post .entry-content th { background: #f1f5f9; color: #0f172a; font-weight: 700; text-align: left; }
body.rf-post .entry-content th, body.rf-post .entry-content td { padding: 12px 14px; border: 0; border-bottom: 1px solid #e2e8f0; vertical-align: top; }
body.rf-post .entry-content tr:last-child td { border-bottom: 0; }
body.rf-post .entry-content tbody tr:nth-child(even) td { background: #fafbff; }

/* ---------- Table of contents (Easy Table of Contents) ---------- */
body.rf-post #ez-toc-container {
  background: #f8fafc !important; border: 1px solid #e2e8f0 !important; border-radius: 12px; box-shadow: none;
  padding: 18px 22px !important; margin: 0 0 2em; width: auto; min-width: 280px;
}
body.rf-post #ez-toc-container .ez-toc-title { font-family: 'Inter', sans-serif; font-size: 16px !important; font-weight: 700; color: #0f172a; }
body.rf-post #ez-toc-container ul { margin: 10px 0 0 0; }
body.rf-post #ez-toc-container li { margin: 0 0 6px; font-size: 15px; }
body.rf-post #ez-toc-container a { color: #475569; text-decoration: none; }
body.rf-post #ez-toc-container a:hover { color: #4f46e5; }

/* ---------- Related posts (YARPP) ---------- */
body.rf-post .yarpp-related { margin: 2.4em 0 0; padding: 24px 26px; border: 1px solid #e2e8f0; border-radius: 12px; background: #f8fafc; }
body.rf-post .yarpp-related h3 { font-size: 18px; font-weight: 800; color: #0f172a; margin: 0 0 12px; text-transform: none; }
body.rf-post .yarpp-related ol { margin: 0 0 0 1.2em; }
body.rf-post .yarpp-related li { margin: 0 0 8px; font-size: 16px; }
body.rf-post .yarpp-related a { color: #0f172a; font-weight: 600; text-decoration: none; }
body.rf-post .yarpp-related a:hover { color: #4f46e5; }

/* ---------- Post footer: categories, tags, previous/next ---------- */
body.rf-post footer.entry-meta { margin-top: 32px; padding-top: 24px; border-top: 1px solid #e2e8f0; font-size: 14px; color: #64748b; }
body.rf-post footer.entry-meta .gp-icon { color: #94a3b8; }
body.rf-post .cat-links a, body.rf-post .tags-links a {
  display: inline-block; margin: 0 4px 6px 0; padding: 3px 10px; border-radius: 999px;
  background: #eef2ff; color: #4f46e5; text-decoration: none; font-weight: 600; font-size: 13px;
}
body.rf-post .cat-links a:hover, body.rf-post .tags-links a:hover { background: #e0e7ff; }
/* GeneratePress separates the pills with a text comma; hide it, the pills are already spaced. */
body.rf-post .cat-links, body.rf-post .tags-links { font-size: 0; }
body.rf-post .cat-links a, body.rf-post .tags-links a { font-size: 13px; }
body.rf-post .cat-links .gp-icon, body.rf-post .tags-links .gp-icon { font-size: 14px; margin-right: 6px; }
body.rf-post .post-navigation a { color: #0f172a; font-weight: 600; text-decoration: none; }
body.rf-post .post-navigation a:hover { color: #4f46e5; }

/* ---------- Comments ---------- */
body.rf-post .comments-area { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 32px 52px; }
body.rf-post .comments-area .comment-reply-title, body.rf-post .comments-area h3 { font-size: 22px; font-weight: 800; color: #0f172a; }
body.rf-post .comments-area a { color: #4f46e5; }

/* ---------- Sidebar ---------- */
body.rf-post .inside-right-sidebar .widget { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 26px 28px; font-size: 15px; }
body.rf-post .inside-right-sidebar .widget ul { margin: 0; }
body.rf-post .inside-right-sidebar .widget li { margin: 0; padding: 7px 0; border-bottom: 1px solid #f1f5f9; }
body.rf-post .inside-right-sidebar .widget li:last-child { border-bottom: 0; }
body.rf-post .inside-right-sidebar .widget a { color: #334155; text-decoration: none; font-weight: 500; }
body.rf-post .inside-right-sidebar .widget a:hover { color: #4f46e5; }
@media (min-width: 769px) { body.rf-post .inside-right-sidebar { position: sticky; top: 92px; } }

/* ---------- Space before the CTA banner ---------- */
body.rf-post .rf-shell--cta { margin-top: 56px; }
/* Compact CTA on posts */
body.rf-post .rf-shell .cta-banner { padding: 56px 0; }
body.rf-post .rf-shell .cta-banner__title { font-size: clamp(1.5rem, 2.6vw, 2.125rem); letter-spacing: -0.03em; margin-bottom: 0.75rem; }
body.rf-post .rf-shell .cta-banner__subtitle { font-size: 1rem; line-height: 1.6; max-width: 480px; margin-bottom: 1.5rem; }
body.rf-post .rf-shell .cta-banner__ctas { margin-bottom: 1rem; }
body.rf-post .rf-shell .cta-banner__ctas .btn--large { font-size: 0.9375rem; padding: 0.75rem 1.5rem; }
body.rf-post .rf-shell .cta-banner__note { font-size: 0.8125rem; }
@media (max-width: 768px) {
  body.rf-post .rf-shell .cta-banner { padding: 44px 0; }
}
body.rf-post .rf-shell--footer { margin-top: 0; }

/* ---------- Phones and tablets ---------- */
@media (max-width: 768px) {
  .rf-post-hero__inner { padding: 36px 20px 40px; }
  .rf-post-hero__title { font-size: 30px; }
  .rf-post-hero__meta { font-size: 14px; }
  body.rf-post .site-content { padding: 20px 12px 0; }
  body.rf-post .inside-article { padding: 24px 20px; border-radius: 12px; }
  body.rf-post .comments-area { padding: 24px 20px; border-radius: 12px; }
  body.rf-post .entry-content { font-size: 17px; }
  body.rf-post .entry-content h2 { font-size: 24px; }
  body.rf-post .entry-content h3 { font-size: 20px; }
  body.rf-post #ez-toc-container { min-width: 0; }
}
