/* Theme overrides to prevent programmes card clipping */
.programmes-menu-grid{grid-auto-rows:1fr}
.programmes-menu-grid article{overflow:hidden;border-radius:8px}
.programmes-menu-grid figure{overflow:hidden;border-top-left-radius:8px;border-top-right-radius:8px}
.programmes-menu-grid img{transform:none !important;display:block;backface-visibility:hidden}
.programmes-menu-grid article>div{min-width:0}
.program-card-tagline{white-space:normal;word-break:break-word}

/*
 * The "6 Months Diabetes Reversal Program" card carries an extra tagline and a
 * longer heading, so on some viewports its content was taller than the fixed
 * card height and the bottom (tagline / button) was clipped by overflow:hidden.
 * Let every card size to its content and rely on the grid's equal-height rows
 * so cards stay aligned without clipping. The figure keeps its own clip for the
 * rounded image corners.
 */
.programmes-menu-grid{grid-auto-rows:1fr;align-items:stretch}
.programmes-menu-grid article{height:auto!important;min-height:0!important;overflow:visible!important}
.programmes-menu-grid figure{overflow:hidden}

/*
 * Education article body. The single-article template now renders the_content()
 * inside .nb-article-body. The site's global `a{color:inherit;text-decoration:none}`
 * made content links look like plain text, and the old accordion wrapper gave the
 * body no typography. These rules give published articles readable spacing,
 * heading hierarchy and clearly active links. Inline styles pasted into an article
 * still win (inline > stylesheet), so pasted font styling is preserved as-is.
 */
.nb-article-section{padding:clamp(18px,3vw,34px) clamp(22px,6vw,58px) clamp(44px,6vw,72px)}
.nb-article-body{max-width:760px;margin:0 auto;color:#2f3b32;font-size:16px;line-height:1.78}
.nb-article-body > *:first-child{margin-top:0}
.nb-article-body p{margin:0 0 18px}
.nb-article-body h2{font-family:Georgia,serif;color:var(--ink);font-size:clamp(24px,3vw,33px);line-height:1.2;margin:38px 0 14px;font-weight:400}
.nb-article-body h3{font-family:Georgia,serif;color:var(--ink);font-size:clamp(20px,2.4vw,26px);line-height:1.25;margin:30px 0 12px;font-weight:400}
.nb-article-body h4{font-size:18px;line-height:1.3;margin:24px 0 10px;font-weight:700}
.nb-article-body ul,.nb-article-body ol{margin:0 0 18px;padding-left:24px}
.nb-article-body li{margin:0 0 8px}
.nb-article-body li > ul,.nb-article-body li > ol{margin:8px 0 0}
.nb-article-body a{color:#1f6f3d;text-decoration:underline;text-underline-offset:2px}
.nb-article-body a:hover{color:#13502b}
.nb-article-body img{height:auto;border-radius:8px;margin:20px 0}
.nb-article-body figure{margin:20px 0}
.nb-article-body figure img{margin:0}
.nb-article-body figcaption{font-size:13px;color:#5b6a5c;margin-top:8px;text-align:center}
.nb-article-body blockquote{margin:24px 0;padding:8px 20px;border-left:3px solid var(--earth);color:#3a4a3c;font-style:italic}
.nb-article-body blockquote p:last-child{margin-bottom:0}
.nb-article-body hr{border:0;border-top:1px solid var(--line);margin:32px 0}
.nb-article-body table{border-collapse:collapse;width:100%;margin:20px 0;font-size:15px}
.nb-article-body th,.nb-article-body td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
.nb-article-body th{background:var(--soft);font-weight:700}
.nb-article-body code{background:var(--soft);padding:2px 6px;border-radius:4px;font-size:.92em}
.nb-article-body pre{background:var(--soft);padding:14px 16px;border-radius:8px;overflow:auto;margin:20px 0}
.nb-article-body pre code{background:none;padding:0}
