/* Muscle benefits landing page: patterns/lovable-page-muscle-benefits.php.
   Loaded only on /muscle-benefits/, after assets/css/lovable.css. */

/* ---------- Muscle + Recovery: patterns/lovable-page-muscle-benefits.php ---------- */

/* Text sizes come from the design-system layer (.nv-lp-lead / -text /
   -small / -card-title); rules here are layout, surfaces and the page's few
   display values. Section surfaces are the shared .nv-lp-band--* classes. */

/* Page rhythm */

.nv-ms :is(h3, h4) { margin: 0; }

.nv-ms__block { margin-top: var(--wp--preset--spacing--60); }

.nv-ms__measure { max-width: 56ch; }

.nv-ms .nv-ms__head--tight { margin-bottom: var(--wp--preset--spacing--30); }

.nv-ms .nv-ms__head--flush { margin-bottom: 0; }

.nv-ms .nv-lp-actions { margin-top: var(--wp--preset--spacing--30); }

.nv-ms .nv-lp-head > .nv-organic-line { margin-top: var(--wp--preset--spacing--10); }

.nv-ms .nv-organic-line + .nv-lp-lead { margin-top: var(--wp--preset--spacing--20); }

.nv-ms__subhead + .nv-lp-text { margin-top: var(--wp--preset--spacing--20); }

.nv-ms .nv-lp-card-title + p { margin-top: var(--wp--preset--spacing--10); }

.nv-ms .nv-disclosure { margin-top: var(--wp--preset--spacing--30); }

/* Cards */

.nv-ms .nv-ms__card-body { padding: var(--wp--preset--spacing--30); }

.nv-ms__card-body > .nv-lp-kicker + .nv-lp-card-title { margin-top: var(--wp--preset--spacing--10); }

.nv-ms__step .nv-lp-strong { margin: 0 0 var(--wp--preset--spacing--10); }

/* Grids: column counts that divide the item count at every width. */

.nv-ms .nv-ms__grid3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.nv-ms .nv-ms__grid5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }

/* Five reviews: three then two, each wide enough for the quote to read. */

.nv-ms .nv-ms__reviews { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.nv-ms__reviews > * { grid-column: span 2; }

.nv-ms__reviews > :nth-child(n + 4) { grid-column: span 3; }

/* Hero */

.nv-ms__hero { position: relative; overflow: hidden; }

.nv-ms__hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; opacity: 0.4; }

.nv-ms__hero-inner { position: relative; }

.nv-ms__hero-inner > .nv-eyebrow { margin: 0; }

.nv-ms__hero-title { margin: var(--wp--preset--spacing--20) 0 0; max-width: 18ch; }

.nv-ms .nv-ms__hero-lead { max-width: 56ch; margin-top: var(--wp--preset--spacing--30); }

.nv-ms .nv-ms__hero-actions { margin-top: var(--wp--preset--spacing--40); }

/* Trust strip */

.nv-ms__trust { border-top: 1px solid var(--nv-border-on-dark); }

.nv-ms__trust-row { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40); font-family: var(--nv-mono); font-size: var(--nv-fs-mono); letter-spacing: 0.03em; color: var(--nv-on-dark-muted); }

.nv-ms__trust-row b { color: var(--nv-white); }

/* Statement */

.nv-ms__statement { margin: 0; font-family: var(--nv-serif); font-size: var(--nv-fs-h2); font-weight: 600; line-height: var(--wp--custom--type--lh-tight); letter-spacing: var(--nv-h2-ls); color: var(--nv-white); text-wrap: balance; }

/* The cycle */

.nv-ms .nv-ms__stage-title { line-height: var(--wp--custom--type--lh-tight); color: var(--nv-orange-soft); }

.nv-ms__stage-title + .nv-lp-text { margin-top: var(--wp--preset--spacing--20); }

.nv-ms__roles { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--10); margin-top: var(--wp--preset--spacing--30); }

.nv-ms .nv-ms__role { display: flex; align-items: center; gap: var(--wp--preset--spacing--10); padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20); }

.nv-ms__role-name,
.nv-ms__role-level { font-size: var(--wp--preset--font-size--small); }

.nv-ms__role-name { color: var(--nv-white); }

.nv-ms__role-level { color: var(--nv-on-dark-muted); }

.nv-ms [data-nv-toggle-panel="ms-cycle"] + .nv-lp-note { margin-top: var(--wp--preset--spacing--30); }

/* The system */

.nv-ms__tabs { display: flex; gap: var(--wp--preset--spacing--10); overflow-x: auto; padding-bottom: 4px; }

.nv-ms__panel { margin-top: var(--wp--preset--spacing--40); }

.nv-ms__product-name { margin-top: var(--wp--preset--spacing--10); }

.nv-ms__product-name + .nv-lp-text { margin-top: var(--wp--preset--spacing--20); }

/* Bar chapter. The close-up is a wide banner shot: shown whole at its
   natural aspect and never wider than the file itself, so it stays sharp. */

.nv-ms__closeup { display: flex; justify-content: center; }

.nv-ms__closeup img { display: block; width: auto; max-width: 100%; height: auto; border-radius: var(--nv-radius); }

.nv-ms .nv-ms__need { max-width: 45rem; margin-top: var(--wp--preset--spacing--10); }

.nv-ms .nv-ms__need-links { padding-bottom: 0; }

.nv-ms__use-photo { margin-top: var(--wp--preset--spacing--30); }

/* Goal selector */

.nv-ms__goal-products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--20); align-content: start; }

.nv-ms__goal-product { display: block; color: inherit; text-decoration: none; transition: border-color var(--nv-dur) var(--nv-ease), box-shadow var(--nv-dur) var(--nv-ease); }

.nv-ms__goal-product:hover { border-color: var(--nv-ink-40); box-shadow: var(--nv-shadow-sm); }

.nv-ms__goal-product:focus-visible { outline: 2px solid var(--nv-orange-soft); outline-offset: 3px; }

.nv-ms__goal-product .nv-lp-card__media { display: block; border-radius: var(--nv-radius-sm); }

.nv-ms__goal-product-name { display: block; margin-top: var(--wp--preset--spacing--20); font-size: var(--wp--preset--font-size--body); font-weight: 600; color: var(--nv-ink); }

.nv-ms__goal-product-tag { display: block; margin-top: 4px; font-size: var(--wp--preset--font-size--small); color: var(--nv-ink-60); }

/* Comparison table */

.nv-ms .nv-ms__table { min-width: 45rem; }

.nv-ms__table .nv-ms__cell--primary { font-weight: 700; color: var(--nv-ink); }

/* Product links in the table: a full 24px tap target, not the bare line box. */

.nv-ms__table-link { display: inline-flex; align-items: center; min-width: 24px; min-height: 24px; }

.nv-ms__shop-link { font-weight: 600; color: var(--nv-orange-deep); text-decoration: none; white-space: nowrap; }

.nv-ms__shop-link:hover { text-decoration: underline; }

/* Science transparency and final CTA lists */

.nv-ms__transparency-head { display: flex; align-items: center; gap: var(--wp--preset--spacing--10); margin: 0; font-family: var(--nv-mono); font-size: var(--nv-fs-mono); letter-spacing: 0.03em; text-transform: uppercase; color: var(--nv-white); }

.nv-ms__list { display: grid; gap: var(--wp--preset--spacing--10); margin: var(--wp--preset--spacing--20) 0 0; padding-left: var(--wp--preset--spacing--20); font-size: var(--wp--preset--font-size--small); color: var(--nv-on-dark-muted); }

/* Reviews: novos_lp_testimonial() in this page's card shape — the .nv-lp-card
   border, the quote in the small text colour, a 44px portrait, and the name
   in bold with the mono meta line under it. */

.nv-ms .nv-ms__review { border: 1px solid var(--nv-ink-10); }

.nv-ms__review .nv-lp-testimonial__quote { color: var(--nv-ink-60); }

.nv-ms__review .nv-lp-testimonial__avatar { width: 44px; height: 44px; }

.nv-ms__review .nv-lp-testimonial__name { display: block; font-weight: 700; }

.nv-ms__review .nv-lp-testimonial__meta { display: block; font-family: var(--nv-mono); font-size: var(--nv-fs-mono); }

/* Scientists: novos_lp_person() as this page's plain centred stack — no
   card surface, a 120px portrait, the name at card-title size, the role as
   small text. */

.nv-ms .nv-ms__scientist { gap: 0; padding: 0; border-radius: 0; background: transparent; }

.nv-ms__scientist .nv-lp-person__avatar { width: 120px; height: 120px; margin-bottom: var(--wp--preset--spacing--20); }

.nv-ms__scientist .nv-lp-person__foot { gap: 0; padding-top: 0; border-top: 0; }

.nv-ms__scientist .nv-lp-person__name { font-size: var(--nv-fs-lead); line-height: 1.2; letter-spacing: -0.01em; }

.nv-ms__scientist .nv-lp-person__role { max-width: 26ch; margin: var(--wp--preset--spacing--10) auto 0; font-size: var(--wp--preset--font-size--small); line-height: 1.55; }

.nv-ms .nv-ms__scientists + .nv-lp-actions { margin-top: var(--wp--preset--spacing--40); }

/* Where should I start */

.nv-ms .nv-ms__start .nv-lp-actions { margin-top: auto; padding-top: var(--wp--preset--spacing--30); }

.nv-ms .nv-ms__finder { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--wp--preset--spacing--30); margin-top: var(--wp--preset--spacing--30); }

/* Final CTA */

.nv-ms__final-media { border-radius: var(--nv-radius-sm); }

.nv-ms .nv-ms__final-name { margin-top: var(--wp--preset--spacing--20); }

.nv-ms__final-cta { margin-top: auto; padding-top: var(--wp--preset--spacing--30); }

.nv-ms__final-cta .nv-btn { width: 100%; }

.nv-ms__disclaimers { display: grid; gap: var(--wp--preset--spacing--10); margin-top: var(--wp--preset--spacing--40); }

.nv-ms__disclaimers .nv-lp-note { margin: 0; }

@media (max-width: 1199px) {
	.nv-ms .nv-ms__grid5 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

	.nv-ms__grid5 > * { grid-column: span 2; }

	.nv-ms__grid5 > :nth-child(n + 4) { grid-column: span 3; }
}

@media (max-width: 1023px) {
	/* Three narrow columns would wrap the button labels onto two lines. */
	.nv-ms .nv-ms__start-grid { grid-template-columns: minmax(0, 1fr); }

	.nv-ms .nv-ms__reviews { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	.nv-ms__reviews > *,
	.nv-ms__reviews > :nth-child(n + 4) { grid-column: span 1; }

	.nv-ms__reviews > :last-child { grid-column: span 2; }
}

@media (max-width: 599px) {
	.nv-ms .nv-ms__grid3,
	.nv-ms .nv-ms__grid5,
	.nv-ms .nv-ms__reviews { grid-template-columns: minmax(0, 1fr); }

	.nv-ms__grid5 > *,
	.nv-ms__grid5 > :nth-child(n + 4),
	.nv-ms__reviews > *,
	.nv-ms__reviews > :nth-child(n + 4),
	.nv-ms__reviews > :last-child { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
	.nv-ms__goal-product { transition: none; }
}
