/* NUTRA Advertorial — design tokens (from Figma) + block styles */

:root {
	--nutra-white:          #ffffff;
	--nutra-text:           #333333;
	--nutra-heading:        #060606;
	--nutra-black:          #000000;
	--nutra-muted:          #6a6b6c;
	--nutra-green:          #5aab8f;
	--nutra-green-shadow:   #99dcc5;
	--nutra-highlight-bg:   #ffecd3;
	--nutra-highlight-line: #ffb44f;
	--nutra-yellow:         #fdcf09;
	--nutra-check:          #77b255;
	--nutra-card:           #f7f7f7;
	--nutra-faq-bg:         #ebebeb;
	--nutra-faq-text:       #324157;
	--nutra-footer-bg:      #f7f7f7;
	--nutra-footer-text:    #757575;
	--nutra-star-empty:     #ccd6df;

	--nutra-font-heading: 'Open Sans', system-ui, sans-serif;
	--nutra-font-body:    'Nunito Sans', system-ui, sans-serif;
	--nutra-font-accent:  'Nunito', system-ui, sans-serif;
	--nutra-font-label:   'Encode Sans Semi Expanded', system-ui, sans-serif;

	--nutra-content-width: 1060px;
	--nutra-gutter:        20px;
	--nutra-section-gap:   40px;
}

/* Base */
body {
	background: var(--nutra-white);
	color: var(--nutra-text);
	font-family: var(--nutra-font-body);
	font-size: 20px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

.nutra-container {
	width: 100%;
	max-width: var(--nutra-content-width);
	margin-inline: auto;
	padding-inline: var(--nutra-gutter);
}

/* Single content container — everything lives inside it, max 1060px, centered */
.nutra-page {
	max-width: var(--nutra-content-width);
	margin-inline: auto;
	padding-inline: var(--nutra-gutter);
}

/* Vertical rhythm: exactly one gap between blocks (never doubled) */
.nutra-page > * { margin-block: 0; max-width: 100%; }
.nutra-page > * + * { margin-top: var(--nutra-section-gap); }
.nutra-page > *:first-child { margin-top: 24px; }

/* Aligned blocks stay inside the container */
.nutra-page > .alignwide,
.nutra-page > .alignfull { margin-inline: 0; }

h1, h2, h3, h4 {
	font-family: var(--nutra-font-heading);
	color: var(--nutra-heading);
	font-weight: 700;
}

a { color: var(--nutra-green); }

img { max-width: 100%; height: auto; }

/* Header (label + logo) */
.nutra-header__label {
	font-family: var(--nutra-font-label);
	font-size: 15px;
	line-height: 25px;
	color: var(--nutra-muted);
	margin: 0 0 12px;
}
.nutra-header__logo img {
	display: block;
	width: auto;
	height: auto;
	max-height: 78px;
	max-width: 100%;
}

/* Eyebrow / label */
.nutra-eyebrow {
	font-family: var(--nutra-font-label);
	font-size: 15px;
	line-height: 25px;
	color: var(--nutra-muted);
}

/* Small text (byline) */
.nutra-small-text {
	font-family: var(--nutra-font-body);
	font-weight: 400;
	font-size: 17px;
	line-height: 25px;
	color: var(--nutra-text);
	margin: 0;
}

/* Disclaimer note (standalone) */
.nutra-note {
	font-family: var(--nutra-font-heading);
	font-weight: 400;
	font-size: 14px;
	line-height: 16px;
	color: var(--nutra-muted);
}

/* Hero */
.nutra-hero__eyebrow {
	font-family: var(--nutra-font-label);
	font-size: 15px;
	line-height: 25px;
	color: var(--nutra-muted);
	margin: 0 0 12px;
}
.nutra-hero__title {
	font-family: var(--nutra-font-heading);
	font-weight: 700;
	font-size: 36px;
	line-height: 1.36;
	color: var(--nutra-heading);
	margin: 0;
}
.nutra-hero__byline {
	font-family: var(--nutra-font-body);
	font-size: 17px;
	line-height: 25px;
	color: var(--nutra-text);
	margin: 16px 0 0;
}

/* Section heading */
.nutra-heading__eyebrow {
	font-family: var(--nutra-font-label);
	font-size: 15px;
	color: var(--nutra-muted);
	margin: 0 0 8px;
}
.nutra-heading__title {
	font-family: var(--nutra-font-heading);
	font-weight: 700;
	font-size: 38px;
	line-height: 1.3;
	color: var(--nutra-heading);
	margin: 0;
}
.nutra-heading__title--h1 { font-size: 36px; }

/* Text */
.nutra-text {
	font-family: var(--nutra-font-body);
	font-size: 20px;
	line-height: 1.6;
	color: var(--nutra-text);
}
.nutra-text p { margin: 0 0 0.75em; }
.nutra-text p:last-child { margin-bottom: 0; }
.nutra-text strong { font-family: var(--nutra-font-heading); font-weight: 700; }
.nutra-text--lead strong,
.nutra-text--lead p { color: var(--nutra-black); }

/* Lists inside rich text (RTE wrappers) and the core List block */
.nutra-rte ul,
.nutra-rte ol,
.nutra-page > ul.wp-block-list,
.nutra-page > ol.wp-block-list {
	margin: 0 0 1em;
	padding-left: 1.6em;
	list-style-position: outside;
}
.nutra-rte ul,
.nutra-page > ul.wp-block-list { list-style-type: disc; }
.nutra-rte ol,
.nutra-page > ol.wp-block-list { list-style-type: decimal; }
.nutra-rte ul ul { list-style-type: circle; }
.nutra-rte ol ol { list-style-type: lower-alpha; }

.nutra-rte li,
.nutra-page > .wp-block-list li {
	font-family: var(--nutra-font-heading);
	font-size: 20px;
	line-height: 1.75;
	color: var(--nutra-text);
	margin-bottom: .5em;
	padding-left: .25em;
}
.nutra-rte li strong,
.nutra-page > .wp-block-list li strong { font-weight: 700; }
.nutra-rte li::marker,
.nutra-page > .wp-block-list li::marker { color: var(--nutra-text); }
.nutra-rte li:last-child,
.nutra-page > .wp-block-list li:last-child { margin-bottom: 0; }
.nutra-rte ul:last-child,
.nutra-rte ol:last-child { margin-bottom: 0; }
.nutra-rte li > ul,
.nutra-rte li > ol { margin: .5em 0 0; }


/* Highlight box */
.nutra-highlight {
	background: var(--nutra-highlight-bg);
	border: 2px solid var(--nutra-highlight-line);
	border-radius: 10px;
	padding: 16px 24px;
	font-family: var(--nutra-font-heading);
}
.nutra-highlight--outline {
	background: transparent;
	border-radius: 20px;
	padding: 30px 32px;
}
.nutra-highlight > :first-child { margin-top: 0; }
.nutra-highlight__title,
.nutra-highlight .nutra-text,
.nutra-highlight .nutra-text p,
.nutra-highlight h1,
.nutra-highlight h2,
.nutra-highlight h3,
.nutra-highlight h4 {
	font-family: var(--nutra-font-heading);
	font-weight: 700;
	font-size: 20px;
	line-height: 32px;
	color: var(--nutra-text);
	margin: 0;
}
.nutra-highlight__title + .nutra-text { margin-top: .5em; }

/* Image / figure */
.nutra-figure__media { display: block; }
.nutra-figure__media img { display: block; width: 100%; height: auto; }
.nutra-figure__media--center { margin-inline: auto; }
.nutra-figure__media--left  { margin-inline: 0 auto; }
.nutra-figure__media--right { margin-inline: auto 0; }
.nutra-figure__placeholder { width: 100%; }
.nutra-figure__caption {
	font-family: var(--nutra-font-heading);
	font-size: 14px;
	line-height: 22px;
	color: var(--nutra-text);
	margin: 10px 0 0;
}
.nutra-figure__disclaimer {
	font-family: var(--nutra-font-heading);
	font-size: 10px;
	line-height: 16px;
	color: var(--nutra-muted);
	margin: 6px 0 0;
}

/* Study box */
.nutra-study {
	border: 2px solid var(--nutra-highlight-line);
	border-radius: 20px;
	padding: 30px;
}
.nutra-study__title {
	font-family: var(--nutra-font-heading);
	font-weight: 700;
	font-size: 31px;
	line-height: 1.3;
	color: var(--nutra-heading);
	margin: 0 0 24px;
}
.nutra-study__figure { margin: 0 0 24px; }
.nutra-study__figure img { display: block; width: 100%; }
.nutra-study__caption {
	font-family: var(--nutra-font-heading);
	font-size: 14px;
	line-height: 22px;
	color: var(--nutra-text);
	margin: 10px 0 0;
}
.nutra-study__body {
	font-family: var(--nutra-font-heading);
	font-size: 20px;
	line-height: 1.75;
	color: var(--nutra-text);
}
.nutra-study__body p { margin: 0 0 0.75em; }
.nutra-study__body p:last-child { margin-bottom: 0; }
.nutra-study__body strong { font-weight: 700; }

/* Checklist */
.nutra-checklist__title {
	font-family: var(--nutra-font-heading);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.75;
	color: var(--nutra-text);
	margin: 0 0 12px;
}
.nutra-checklist__list { list-style: none; margin: 0; padding: 0; }
.nutra-checklist__item {
	position: relative;
	padding-left: 34px;
	margin-bottom: 8px;
	font-family: var(--nutra-font-heading);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.75;
	color: var(--nutra-text);
}
.nutra-checklist__item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 18px;
	height: 18px;
	background-image: url("../img/checkmark.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

/* Testimonials */
.nutra-testimonials { max-width: 880px; margin-inline: auto; }
.nutra-testimonials__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.nutra-testimonial {
	background: var(--nutra-card);
	padding: 24px 20px 32px;
	text-align: center;
	display: flex;
	flex-direction: column;
}
.nutra-testimonial__quote {
	font-family: var(--nutra-font-heading);
	font-size: 17px;
	line-height: 27px;
	color: var(--nutra-text);
	margin: 0 0 16px;
	flex: 1 1 auto;
}
.nutra-testimonial__name {
	font-family: var(--nutra-font-heading);
	font-weight: 700;
	font-size: 17px;
	color: var(--nutra-heading);
	margin: 0 0 8px;
}
.nutra-stars { font-size: 0; line-height: 0; }
.nutra-stars svg { width: 23px; height: 23px; margin: 0 3px; }
.nutra-stars .star-full  { fill: var(--nutra-yellow); }
.nutra-stars .star-empty { fill: var(--nutra-star-empty); }

/* CTA button */
.nutra-cta { text-align: center; }
.nutra-cta__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 84px;
	padding: 16px 40px;
	max-width: 540px;
	width: 100%;
	background: var(--nutra-green);
	box-shadow: 0 2px 10px var(--nutra-green-shadow);
	border-radius: 80px;
	border: 0;
	color: var(--nutra-white);
	font-family: var(--nutra-font-heading);
	font-weight: 800;
	font-size: 26px;
	line-height: 1.15;
	text-decoration: none;
	transition: transform .12s ease, filter .12s ease;
}
.nutra-cta__button:hover,
.nutra-cta__button:focus-visible {
	color: var(--nutra-white);
	filter: brightness(1.05);
	transform: translateY(-1px);
}
.nutra-cta__button:focus-visible { outline: 3px solid var(--nutra-heading); outline-offset: 3px; }

/* FAQ (Bootstrap accordion, restyled) */
.nutra-faq { max-width: 820px; margin-inline: auto; }
.nutra-faq__title {
	font-family: var(--nutra-font-accent);
	font-weight: 800;
	font-size: 23px;
	line-height: 1.35;
	color: #0c1115;
	margin: 0 0 20px;
}
.nutra-faq .accordion { --bs-accordion-border-color: transparent; }
.nutra-faq .accordion-item {
	background: transparent;
	border: 0;
	margin-bottom: 10px;
}
.nutra-faq .accordion-button {
	background: var(--nutra-faq-bg);
	border-radius: 10px !important;
	font-family: var(--nutra-font-body);
	font-weight: 800;
	font-size: 16px;
	color: var(--nutra-faq-text);
	padding: 14px 17px;
	box-shadow: none;
}
.nutra-faq .accordion-button:not(.collapsed) {
	background: var(--nutra-faq-bg);
	color: var(--nutra-faq-text);
	box-shadow: none;
}
.nutra-faq .accordion-button:focus {
	box-shadow: 0 0 0 3px rgba(90, 171, 143, .35);
}
.nutra-faq .accordion-body {
	font-family: var(--nutra-font-body);
	font-size: 16px;
	line-height: 1.7;
	color: var(--nutra-text);
	padding: 14px 17px 6px;
}

/* Footer */
.nutra-footer {
	background: var(--nutra-footer-bg);
	margin-top: 64px;
	padding-block: 48px;
}
.nutra-footer__inner { max-width: 1000px; }
.nutra-footer__copyright {
	font-family: var(--nutra-font-label);
	font-size: 16px;
	line-height: 25px;
	color: var(--nutra-yellow);
	text-align: center;
	margin: 0 0 24px;
}
.nutra-footer__sources,
.nutra-footer__disclaimer {
	font-family: Arial, sans-serif;
	font-size: 12px;
	line-height: 2;
	color: var(--nutra-footer-text);
}
.nutra-footer__sources { margin-bottom: 16px; font-size: 16px; }

/* Lists inside rich text (RTE) and the core List block */
.nutra-rte ul,
.nutra-rte ol,
.nutra-page > ul.wp-block-list,
.nutra-page > ol.wp-block-list {
	margin: 0 0 1em;
	padding-left: 1.5em;
}
.nutra-rte ul,
.nutra-page > ul.wp-block-list { list-style: disc; }
.nutra-rte ol,
.nutra-page > ol.wp-block-list { list-style: decimal; }
.nutra-rte ul ul { list-style: circle; }
.nutra-rte ol ol { list-style: lower-alpha; }
.nutra-rte li,
.nutra-page > .wp-block-list li {
	margin-bottom: .5em;
	padding-left: .25em;
}
.nutra-rte li:last-child { margin-bottom: 0; }
.nutra-rte ul:last-child,
.nutra-rte ol:last-child { margin-bottom: 0; }
.nutra-rte li > ul,
.nutra-rte li > ol { margin: .5em 0 0; }

/* Responsive */
@media (max-width: 991.98px) {
	.nutra-hero__title { font-size: 30px; }
	.nutra-heading__title { font-size: 30px; }
	.nutra-study__title { font-size: 26px; }
	.nutra-testimonials__grid { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
	body { font-size: 18px; }
	.nutra-hero__title { font-size: 26px; }
	.nutra-heading__title { font-size: 26px; }
	.nutra-text,
	.nutra-checklist__item,
	.nutra-study__body,
	.nutra-rte li,
	.nutra-page > .wp-block-list li,
	.nutra-highlight__title,
	.nutra-highlight .nutra-text,
	.nutra-highlight .nutra-text p,
	.nutra-highlight h1,
	.nutra-highlight h2,
	.nutra-highlight h3,
	.nutra-highlight h4 { font-size: 18px; line-height: 1.6; }
	.nutra-cta__button { font-size: 20px; min-height: 72px; }
}
@media (prefers-reduced-motion: reduce) {
	.nutra-cta__button { transition: none; }
}
