/* ============================================================
   Blog article styling (long-form posts)  — loads after style.css
   ============================================================ */
.post-section{padding-top:52px}
.post-wrap{max-width:768px;margin:0 auto}

/* ---- byline / meta ---- */
.post-meta{display:flex;align-items:center;gap:14px;margin-bottom:28px}
.post-avatar{width:54px;height:54px;border-radius:50%;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'DM Serif Display',serif;font-size:21px;flex-shrink:0;box-shadow:0 8px 20px rgba(77,20,140,.28)}
.post-meta-txt b{display:block;color:var(--navy);font-size:15.5px;line-height:1.3}
.post-meta-txt span{color:var(--text);font-size:13.5px}

/* ---- feature image ---- */
.post-figure{margin:0 0 34px;border-radius:20px;overflow:hidden;box-shadow:var(--sh-lg)}
.post-figure img{width:100%;height:auto;display:block;max-height:430px;object-fit:cover;object-position:center 28%}

/* ---- in-this-guide contents ---- */
.post-toc{background:var(--grad-soft);border:1px solid #ece6f6;border-radius:16px;padding:22px 26px;margin:0 0 38px}
.post-toc h2{font-family:'Mulish',sans-serif;font-size:12.5px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--purple);margin:0 0 14px;padding:0}
.post-toc h2::before{display:none}
.post-toc ul{list-style:none;margin:0;padding:0;columns:2;column-gap:28px}
.post-toc li{margin:0 0 10px;break-inside:avoid;padding:0}
.post-toc li::before{display:none}
.post-toc a{color:var(--navy);font-weight:600;font-size:14.5px;display:inline-flex;gap:9px;align-items:baseline;text-decoration:none}
.post-toc a::before{content:"\2192";color:var(--teal);font-weight:800}
.post-toc a:hover{color:var(--purple)}

/* ---- body typography ---- */
.post-body{color:#36424e;font-size:17.5px;line-height:1.85}
.post-body>p,.post-body>ul,.post-body>ol,.post-table{margin:0 0 22px}
.post-lead{font-size:20px;line-height:1.72;color:var(--navy);font-weight:500;margin-bottom:26px}
.post-body h2{font-size:30px;color:var(--navy);line-height:1.24;margin:48px 0 16px;padding-top:24px;position:relative;scroll-margin-top:120px}
.post-body h2::before{content:"";position:absolute;top:0;left:0;width:54px;height:4px;border-radius:4px;background:var(--grad)}
.post-body h3{font-size:22px;color:var(--navy);margin:34px 0 12px}
.post-body a{color:var(--purple);font-weight:600;text-decoration:underline;text-decoration-color:rgba(77,20,140,.28);text-underline-offset:2px}
.post-body a:hover{color:var(--teal);text-decoration-color:var(--teal)}
.post-body strong{color:var(--navy)}

/* ---- lists (restore brand markers) ---- */
.post-body ul{list-style:none;padding:0}
.post-body ul li{position:relative;padding-left:30px;margin-bottom:12px}
.post-body ul li::before{content:"";position:absolute;left:3px;top:11px;width:9px;height:9px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(7,143,153,.14)}
.post-body ol{list-style:none;counter-reset:step;padding:0}
.post-body ol li{position:relative;padding-left:46px;margin-bottom:16px;counter-increment:step}
.post-body ol li::before{content:counter(step);position:absolute;left:0;top:-1px;width:31px;height:31px;border-radius:50%;background:var(--grad);color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(77,20,140,.28)}

/* ---- callout / key takeaways ---- */
.post-callout{background:var(--grad-soft);border-left:4px solid var(--teal);border-radius:0 14px 14px 0;padding:20px 24px;margin:0 0 28px;font-size:16.5px;line-height:1.7}
.post-callout b{color:var(--navy)}

/* ---- tables ---- */
.post-table{overflow-x:auto;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh-sm)}
.post-body table{width:100%;border-collapse:collapse;font-size:15.5px;min-width:520px}
.post-body thead th{background:var(--navy);color:#fff;text-align:left;font-family:'Mulish',sans-serif;font-weight:700;padding:14px 16px;font-size:14px}
.post-body tbody td{padding:13px 16px;border-top:1px solid var(--line);vertical-align:top}
.post-body tbody tr:nth-child(even){background:#f7fafc}
.post-body tbody td:first-child{color:var(--navy);font-weight:700}

/* ---- FAQ ---- */
.post-faq{margin-top:54px}
.post-faq>h2{font-size:30px;color:var(--navy);margin:0 0 22px}
.post-faq .qa{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 24px;margin-bottom:14px;box-shadow:var(--sh-sm);transition:box-shadow .25s ease,transform .25s ease}
.post-faq .qa:hover{box-shadow:var(--sh-md);transform:translateY(-2px)}
.post-faq .qa h3{font-size:18px;color:var(--navy);margin:0 0 8px}
.post-faq .qa p{margin:0;color:#4a5560;font-size:16px;line-height:1.7}

/* ---- author card ---- */
.post-author{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 28px;margin-top:46px;box-shadow:var(--sh-sm)}
.post-author .post-avatar{width:64px;height:64px;font-size:25px}
.post-author h3{margin:0 0 6px;font-size:19px;color:var(--navy)}
.post-author p{margin:0;color:var(--text);font-size:15px;line-height:1.7}

/* ---- end CTA ---- */
.post-cta{margin-top:42px;text-align:center;background:var(--grad-soft);border:1px solid #ece6f6;border-radius:18px;padding:36px 30px}
.post-cta p{color:var(--navy);font-size:18px;margin:0 0 18px;line-height:1.6}

@media(max-width:600px){
  .post-body{font-size:16.5px}
  .post-body h2{font-size:25px}
  .post-lead{font-size:18px}
  .post-toc ul{columns:1}
  .post-author{flex-direction:column;gap:14px}
  .post-figure img{max-height:280px}
}
