/* NutritionPromise additions on top of Suxnix */
.summary-box { background:#f4f9f3; border-left:4px solid #5cb85c; border-radius:6px; padding:24px 28px; margin:0 0 35px; }
.summary-box .summary-label { text-transform:uppercase; letter-spacing:1.5px; font-size:12px; font-weight:700; color:#2d7a2d; margin:0 0 10px; }
.summary-box p:last-child { margin:0; font-size:17px; line-height:1.7; color:#1f1f1f; }
.affiliate-disclosure { background:#fff8e6; border-left:4px solid #d4a017; border-radius:6px; padding:14px 22px; margin:0 0 28px; font-size:14px; line-height:1.5; color:#5a4a17; }
.affiliate-disclosure p { margin:0; }
.post-text h2 { font-size:28px; margin:45px 0 18px; color:#1f1f1f; }
.post-text h3 { font-size:22px; margin:30px 0 12px; color:#1f1f1f; }
.post-text h4 { font-size:18px; margin:24px 0 10px; color:#1f1f1f; }
.post-text hr.section-divider { margin:40px 0; border:0; border-top:1px solid #e6e6e6; }
.post-text p, .post-text li { font-size:16px; line-height:1.8; }
.post-text ul, .post-text ol { margin:0 0 20px 20px; }
.post-text a { color:#2d7a2d; text-decoration:underline; }
.post-text blockquote { border-left:4px solid #2d7a2d; padding:12px 22px; margin:25px 0; background:#fafafa; font-style:italic; color:#444; }
.table-wrap { overflow-x:auto; margin:25px 0; }
.comparison-table { width:100%; border-collapse:collapse; font-size:15px; }
.comparison-table th { background:#2d7a2d; color:#fff; text-align:left; padding:12px 14px; }
.comparison-table td { padding:12px 14px; border-bottom:1px solid #eee; vertical-align:top; }
.comparison-table tr:nth-child(even) td { background:#fafafa; }
.faq-section { margin-top:50px; padding-top:35px; border-top:1px solid #e6e6e6; }
.faq-section h2 { font-size:28px; margin-bottom:25px; }
.faq-item { margin-bottom:25px; padding-bottom:25px; border-bottom:1px solid #f0f0f0; }
.faq-item:last-child { border-bottom:none; }
.faq-question { font-size:19px; font-weight:700; margin-bottom:12px; color:#1f1f1f; }
.faq-answer p { font-size:16px; line-height:1.8; margin:0; }
.faq-answer a { color:#2d7a2d; text-decoration:underline; }
.pillar-link-back { background:#f7f7f7; border-radius:6px; padding:18px 24px; margin:35px 0 0; font-size:15px; }
.pillar-link-back a { color:#2d7a2d; font-weight:600; }
.last-updated-footer { font-size:14px; color:#777; margin:30px 0 0; padding-top:20px; border-top:1px solid #f0f0f0; }
.medical-disclaimer { font-size:13px; color:#aaa; line-height:1.6; margin-top:15px; }
.card-kind { display:inline-block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:#2d7a2d; background:#eaf5ea; padding:3px 10px; border-radius:3px; margin-bottom:10px; }
.article-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(320px, 1fr)); gap:28px; }
.article-card { background:#fff; border:1px solid #ececec; border-radius:8px; padding:28px; transition:transform .15s, box-shadow .15s; }
.article-card:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(0,0,0,.06); }
.article-card h2 { font-size:20px; margin:0 0 12px; line-height:1.35; }
.article-card h2 a { color:#1f1f1f; text-decoration:none; }
.article-card h2 a:hover { color:#2d7a2d; }
.article-card p { font-size:14px; line-height:1.6; color:#555; margin:0 0 14px; }
.article-card .read-more { font-size:14px; font-weight:600; color:#2d7a2d; text-decoration:none; }
.pillar-intro { font-size:18px; line-height:1.7; color:#444; margin-bottom:35px; max-width:780px; }
.empty-pillar { font-style:italic; color:#888; }
.pillar-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:24px; margin-top:30px; }
.pillar-card { display:block; background:#fff; border:1px solid #ececec; border-radius:8px; padding:28px; text-decoration:none; color:#1f1f1f; transition:transform .15s, box-shadow .15s, border-color .15s; }
.pillar-card:hover { transform:translateY(-3px); box-shadow:0 8px 25px rgba(0,0,0,.08); border-color:#2d7a2d; color:#1f1f1f; text-decoration:none; }
.pillar-card h3 { font-size:20px; margin:0 0 10px; color:#1f1f1f; }
.pillar-card p { font-size:14px; line-height:1.55; color:#555; margin:0 0 12px; }
.pillar-card-meta { font-size:12px; font-weight:600; color:#2d7a2d; text-transform:uppercase; letter-spacing:1px; }
.feature-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(320px, 1fr)); gap:28px; margin-top:30px; }
.feature-card { background:#fff; border-radius:8px; padding:28px; border:1px solid #ececec; }
.feature-card .feature-pillar { display:inline-block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:#2d7a2d; margin-bottom:10px; }
.feature-card .feature-pillar a { color:#2d7a2d; text-decoration:none; }
.feature-card h3 { font-size:19px; margin:0 0 12px; line-height:1.35; }
.feature-card h3 a { color:#1f1f1f; text-decoration:none; }
.feature-card h3 a:hover { color:#2d7a2d; }
.feature-card p { font-size:14px; line-height:1.6; color:#555; margin:0; }
.glossary-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(320px, 1fr)); gap:24px; }
.glossary-card { background:#fff; border:1px solid #ececec; border-radius:8px; padding:24px; }
.glossary-card h3 { font-size:18px; margin:0 0 10px; line-height:1.4; }
.glossary-card h3 a { color:#1f1f1f; text-decoration:none; }
.glossary-card h3 a:hover { color:#2d7a2d; }
.glossary-card p { font-size:14px; line-height:1.6; color:#555; margin:0; }
.np-hero { padding:140px 0 100px; background:linear-gradient(135deg,#f4f9f3 0%,#e8f3e6 100%); text-align:center; }
.np-hero h1 { font-size:48px; line-height:1.2; margin:0 0 18px; color:#1f1f1f; max-width:820px; margin-left:auto; margin-right:auto; }
.np-hero-sub { font-size:19px; line-height:1.6; color:#555; max-width:680px; margin:0 auto 30px; }
.np-hero-cta a { display:inline-block; padding:14px 28px; border-radius:6px; font-weight:600; text-decoration:none; margin:0 6px; }
.np-btn-primary { background:#2d7a2d; color:#fff; }
.np-btn-primary:hover { background:#246224; color:#fff; }
.np-btn-secondary { background:#fff; color:#2d7a2d; border:1px solid #2d7a2d; }
.np-btn-secondary:hover { background:#f4f9f3; color:#2d7a2d; }
.np-section { padding:80px 0; }
.np-section-alt { background:#fafafa; }
.np-section-head { text-align:center; margin-bottom:30px; }
.np-section-head h2 { font-size:34px; margin:0 0 10px; color:#1f1f1f; }
.np-section-head p { font-size:16px; color:#666; margin:0; }
@media (max-width: 720px) {
    .np-hero { padding:90px 0 70px; }
    .np-hero h1 { font-size:34px; }
    .np-hero-sub { font-size:16px; }
}
