/* 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:230px 0 150px; background-image:url(../img/banner/blog-banner-np.jpg); background-position:center; background-size:cover; position:relative; z-index:1; text-align:center; }
.np-hero::before { content:""; position:absolute; left:0; top:0; height:100%; width:100%; background:#090909; opacity:.45; z-index:-1; }
.np-hero h1 { font-size:48px; line-height:1.2; margin:0 0 18px; color:#fff; max-width:820px; margin-left:auto; margin-right:auto; }
.np-hero-sub { font-size:19px; line-height:1.6; color:#e8e8e8; 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:transparent; color:#fff; border:1px solid #fff; }
.np-btn-secondary:hover { background:#fff; 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; }
}
/* Nav: keep items on a single row, brand-green active state */
#sticky-header .navbar-wrap > ul { flex-wrap:nowrap; }
#sticky-header .navbar-wrap > ul > li > a { font-size:14px; padding:30px 13px; white-space:nowrap; }
#sticky-header .navbar-wrap > ul > li.active > a,
#sticky-header.transparent-header .navbar-wrap > ul > li.active > a,
#sticky-header.transparent-header.sticky-menu .navbar-wrap > ul > li.active > a { color:#2d7a2d !important; }
@media (max-width: 1399px) {
    #sticky-header .navbar-wrap > ul > li > a { font-size:13px; padding:30px 10px; }
}
/* Breadcrumb hero banner — use NutritionPromise banner instead of Suxnix placeholder */
.breadcrumb-bg { background-image: url(../img/banner/blog-banner-np.jpg) !important; }
.breadcrumb-bg::before { opacity: 0.45 !important; }
/* Semi-transparent dark bar behind nav so logo + items stay readable over the banner.
   Only applied while header is in its overlay state — sticky-menu (after scroll) keeps the white bg. */
#sticky-header.transparent-header:not(.sticky-menu) { background: rgba(0, 0, 0, 0.8); }
#sticky-header .menu-area, .menu-area { padding: 13px 0; }
/* Tag filter chips on pillar pages */
.np-tag-bar { margin:0 0 28px; padding:14px 18px; background:#f7f7f7; border-radius:6px; font-size:14px; }
.np-tag-bar-label { font-weight:600; color:#555; margin-right:8px; }
.np-tag-chip { display:inline-block; margin:2px 4px 2px 0; padding:4px 12px; background:#fff; border:1px solid #ddd; border-radius:14px; font-size:13px; color:#2d7a2d; text-decoration:none; }
.np-tag-chip:hover { background:#2d7a2d; color:#fff; border-color:#2d7a2d; text-decoration:none; }
/* Real H1 on pillar/glossary/tag pages (which previously relied on the breadcrumb hero) */
.np-page-title { font-size:34px; line-height:1.2; margin:0 0 18px; color:#1f1f1f; }
/* Article byline */
.np-byline { margin:6px 0 14px; font-size:15px; color:#555; }
.np-byline a { color:#2d7a2d; font-weight:600; text-decoration:none; }
.np-byline a:hover { text-decoration:underline; }
.np-byline-creds { color:#888; font-size:13px; }
/* Sources & References section at the end of articles */
.np-sources { margin:50px 0 20px; padding:30px; background:#f7f7f7; border-radius:8px; border-left:4px solid #2d7a2d; }
.np-sources h2 { font-size:22px; margin:0 0 12px; color:#1f1f1f; }
.np-sources-intro { font-size:14px; color:#555; margin:0 0 18px; line-height:1.6; }
.np-sources-list { margin:0 0 0 22px; padding:0; font-size:14px; line-height:1.7; }
.np-sources-list li { margin-bottom:8px; color:#444; }
.np-sources-list a { color:#2d7a2d; text-decoration:underline; word-break:break-word; }
.np-sources-list .src-pub { color:#888; font-size:13px; }
/* Author card on /author/ page */
.np-author-card { display:flex; gap:24px; align-items:center; margin:0 0 30px; padding:24px; background:#f7f7f7; border-radius:8px; flex-wrap:wrap; }
.np-author-photo { width:120px; height:120px; border-radius:50%; object-fit:cover; border:3px solid #2d7a2d; }
.np-author-meta h1 { margin:0 0 6px; font-size:28px; }
.np-author-meta .np-author-title { color:#2d7a2d; font-weight:600; margin:0 0 12px; }
.np-author-expertise { font-size:13px; color:#555; }
.np-author-articles { margin:18px 0 0 22px; line-height:1.9; }
.np-author-articles a { color:#2d7a2d; text-decoration:none; }
.np-author-articles a:hover { text-decoration:underline; }
/* Search results dropdown inside the search popup */
#np-search-results { max-width:760px; margin:24px auto 0; text-align:left; max-height:60vh; overflow-y:auto; }
#np-search-results.is-empty, #np-search-results:empty { display:none; }
.np-result { display:block; padding:14px 18px; margin-bottom:8px; background:#fff; border:1px solid #ececec; border-radius:6px; text-decoration:none; color:#1f1f1f; transition:border-color .15s, transform .1s; }
.np-result:hover, .np-result.is-active { border-color:#2d7a2d; transform:translateY(-1px); color:#1f1f1f; text-decoration:none; }
.np-result-meta { display:inline-block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:#2d7a2d; background:#eaf5ea; padding:2px 8px; border-radius:3px; margin-bottom:6px; }
.np-result-title { font-size:16px; font-weight:600; margin:0 0 4px; line-height:1.4; }
.np-result-summary { font-size:13px; color:#666; line-height:1.5; margin:0; }
.np-result-empty { padding:20px; text-align:center; color:#888; font-size:14px; }
