/* ==========================================================================
   NAA Lean — WooCommerce programme landing pages
   Scoped to body.naa-lean-programme-page (not .naa-lean-programme card links)
   ========================================================================== */

body.naa-lean-programme-page {
	font-size: 16px;
	padding-bottom: 72px;
}

body.naa-lean-programme-page.naa-prog-sticky-visible {
	padding-bottom: 120px;
}

/* Astra injects its own sticky bar; we ship naa-prog-sticky instead. */
body.naa-lean-programme-page .ast-sticky-add-to-cart {
	display: none !important;
}

.naa-prog-h2 {
	margin: 16px 0 0;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.1;
	color: var(--naa-fg);
}

.naa-prog-h2--on-dark {
	color: var(--naa-brand-fg);
}

.naa-prog-lead {
	margin: 16px auto 0;
	max-width: 42rem;
	font-size: 1.125rem;
	line-height: 1.6;
	color: rgba(9, 20, 15, 0.7);
}

.naa-prog-lead--on-dark {
	color: rgba(249, 253, 251, 0.8);
}

.naa-prog-copy {
	margin-top: 20px;
	color: rgba(9, 20, 15, 0.75);
	line-height: 1.6;
}

/* Hero */
.naa-prog-hero {
	background: var(--naa-brand-soft);
}

.naa-prog-hero__grid {
	display: grid;
	align-items: center;
	gap: 48px;
	padding-block: 96px;
}

@media (min-width: 1024px) {
	.naa-prog-hero__grid {
		grid-template-columns: 1.05fr 1fr;
		gap: 64px;
	}
}

.naa-prog-hero__title {
	margin: 20px 0 0;
	font-size: clamp(2.25rem, 5vw, 3.75rem);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.03em;
	color: var(--naa-fg);
}

.naa-prog-hero__title span {
	color: rgba(22, 59, 44, 0.7);
}

.naa-prog-hero__lead {
	margin-top: 24px;
	max-width: 36rem;
	font-size: 1.125rem;
	line-height: 1.6;
	color: rgba(9, 20, 15, 0.8);
}

.naa-prog-hero__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 32px;
}

.naa-prog-hero__meta {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 40px 0 0;
	padding-top: 24px;
	border-top: 1px solid rgba(22, 59, 44, 0.1);
	font-size: 0.875rem;
}

.naa-prog-hero__meta dt {
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(9, 20, 15, 0.55);
}

.naa-prog-hero__meta dd {
	margin: 4px 0 0;
	font-weight: 600;
	color: var(--naa-fg);
}

.naa-prog-hero__media {
	position: relative;
}

.naa-prog-hero__media::before {
	content: "";
	position: absolute;
	inset: -24px;
	border-radius: 2rem;
	background: rgba(22, 59, 44, 0.05);
	filter: blur(24px);
	z-index: 0;
}

.naa-prog-hero__media img {
	position: relative;
	z-index: 1;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: var(--naa-radius);
	box-shadow: 0 24px 48px rgba(9, 20, 15, 0.12);
}

/* VSL */
.naa-prog-vsl {
	padding-block: 96px;
	background: #fff;
}

.naa-prog-vsl__head {
	max-width: 42rem;
	margin-inline: auto;
	text-align: center;
}

.naa-prog-vsl__card-wrap {
	position: relative;
	max-width: 56rem;
	margin: 40px auto 0;
}

.naa-prog-vsl__card-wrap::before {
	content: "";
	position: absolute;
	inset: -24px;
	border-radius: 2rem;
	background: rgba(22, 59, 44, 0.05);
	filter: blur(24px);
	z-index: 0;
}

.naa-prog-vsl__card {
	position: relative;
	z-index: 1;
	overflow: hidden;
	border: 1px solid var(--naa-border);
	border-radius: var(--naa-radius);
	background: var(--naa-brand);
	box-shadow: 0 24px 48px rgba(9, 20, 15, 0.14);
}

.naa-prog-vsl__card img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	opacity: 0.9;
}

.naa-prog-vsl__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.15), transparent);
	pointer-events: none;
}

/* Anchor trigger (was button): beat Astra / lean-chrome link colour without !important. */
.naa-prog-vsl a.naa-prog-vsl__play,
.naa-prog-vsl a.naa-prog-vsl__play:link,
.naa-prog-vsl a.naa-prog-vsl__play:visited,
.naa-prog-vsl a.naa-prog-vsl__play:hover,
.naa-prog-vsl a.naa-prog-vsl__play:focus,
.naa-prog-vsl a.naa-prog-vsl__play:focus-visible,
.naa-prog-vsl a.naa-prog-vsl__play:active {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--naa-brand);
	text-decoration: none;
	box-shadow: none;
	cursor: pointer;
}

.naa-prog-vsl a.naa-prog-vsl__play span,
.naa-prog-vsl a.naa-prog-vsl__play svg {
	display: grid;
	place-items: center;
	width: 80px;
	height: 80px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.95);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.2);
	color: var(--naa-brand);
}

.naa-prog-vsl__caption {
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	padding: 20px 28px;
	color: #fff;
}

.naa-prog-vsl__kicker {
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.7);
}

.naa-prog-vsl__caption-title {
	margin-top: 4px;
	font-size: 1.125rem;
	font-weight: 600;
}

.naa-prog-vsl__ctas {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-top: 40px;
}

/* Course structure */
.naa-prog-structure {
	position: relative;
	overflow: hidden;
	background: var(--naa-brand);
	color: var(--naa-brand-fg);
}

.naa-prog-structure::before {
	content: "";
	position: absolute;
	inset: 0;
	opacity: 0.06;
	background-image: radial-gradient(circle at 1px 1px, currentColor 1px, transparent 0);
	background-size: 28px 28px;
	pointer-events: none;
}

.naa-prog-structure .naa-lean-container {
	position: relative;
	padding-block: var(--naa-section-pad);
}

.naa-prog-structure__head {
	max-width: 42rem;
	margin-inline: auto;
	text-align: center;
}

.naa-prog-structure__eyebrow {
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(249, 253, 251, 0.8);
}

.naa-prog-structure__grid {
	display: grid;
	gap: 20px;
	margin-top: 32px;
}

@media (min-width: 640px) {
	.naa-prog-structure__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.naa-prog-structure__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.naa-prog-step {
	padding: 24px;
	border: 1px solid rgba(249, 253, 251, 0.15);
	border-radius: var(--naa-radius);
	background: rgba(249, 253, 251, 0.04);
	transition: border-color 0.2s, background 0.2s;
}

.naa-prog-step:hover {
	border-color: rgba(249, 253, 251, 0.4);
	background: rgba(249, 253, 251, 0.08);
}

.naa-prog-step__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.naa-prog-step__icon {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--naa-brand-fg);
	color: var(--naa-brand);
}

.naa-prog-step__label {
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	color: rgba(249, 253, 251, 0.4);
}

.naa-prog-step h3 {
	margin: 20px 0 0;
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--naa-brand-fg);
}

.naa-prog-step p {
	margin: 8px 0 0;
	font-size: 0.875rem;
	line-height: 1.6;
	color: rgba(249, 253, 251, 0.75);
}

.naa-prog-structure__cta {
	display: flex;
	justify-content: center;
	margin-top: 56px;
}

/* Modules */
.naa-prog-modules {
	padding-block: var(--naa-section-pad);
	background: var(--naa-brand-soft);
}

.naa-prog-modules__grid {
	display: grid;
	gap: 48px;
}

@media (min-width: 1024px) {
	.naa-prog-modules__grid {
		grid-template-columns: 1fr 1.4fr;
		align-items: start;
	}
}

.naa-prog-accordion {
	overflow: hidden;
	border: 1px solid var(--naa-border);
	border-radius: var(--naa-radius);
	background: #fff;
}

.naa-prog-accordion__item {
	border-bottom: 1px solid var(--naa-border);
}

.naa-prog-accordion__item:last-child {
	border-bottom: 0;
}

.naa-prog-accordion__trigger {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	padding: 20px 24px;
	list-style: none;
	cursor: pointer;
}

.naa-prog-accordion__trigger::-webkit-details-marker {
	display: none;
}

.naa-prog-accordion__trigger--faq {
	align-items: center;
	justify-content: space-between;
	font-size: 1rem;
	font-weight: 600;
}

.naa-prog-accordion__num {
	font-size: 1.5rem;
	font-weight: 300;
	color: rgba(22, 59, 44, 0.4);
}

.naa-prog-accordion__title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 1.125rem;
	font-weight: 600;
}

.naa-prog-accordion__summary {
	display: block;
	margin-top: 4px;
	font-size: 0.875rem;
	font-weight: 400;
	color: rgba(9, 20, 15, 0.6);
}

.naa-prog-accordion__chev {
	flex-shrink: 0;
	transition: transform 0.2s;
}

.naa-prog-accordion__item[open] .naa-prog-accordion__chev {
	transform: rotate(180deg);
}

.naa-prog-accordion__panel {
	padding: 0 24px 24px 72px;
}

.naa-prog-accordion__panel--faq {
	padding: 0 24px 24px;
	color: rgba(9, 20, 15, 0.75);
}

.naa-prog-accordion__panel ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.naa-prog-accordion__panel li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-top: 8px;
	color: rgba(9, 20, 15, 0.8);
}

.naa-prog-badge {
	border-radius: 999px;
	background: rgba(22, 59, 44, 0.1);
	padding: 2px 8px;
	font-size: 0.625rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--naa-brand);
}

/* Gallery */
.naa-prog-gallery {
	padding-block: var(--naa-section-pad);
	background: #fff;
}

.naa-prog-gallery__head {
	max-width: 42rem;
	margin-inline: auto;
	text-align: center;
}

.naa-prog-gallery__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 48px;
}

@media (min-width: 768px) {
	.naa-prog-gallery__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		grid-template-rows: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}
}

.naa-prog-gallery__item {
	position: relative;
	overflow: hidden;
	border-radius: var(--naa-radius);
	margin: 0;
}

.naa-prog-gallery__item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s;
}

.naa-prog-gallery__item:hover img {
	transform: scale(1.04);
}

.naa-prog-gallery__item figcaption {
	position: absolute;
	inset-inline: 16px;
	bottom: 12px;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #fff;
	opacity: 0;
	transition: opacity 0.2s;
}

.naa-prog-gallery__item:hover figcaption {
	opacity: 1;
}

.naa-prog-gallery__item--hero {
	aspect-ratio: 4 / 3;
}

@media (min-width: 768px) {
	.naa-prog-gallery__item--hero {
		grid-column: span 2;
		grid-row: span 2;
	}
}

.naa-prog-gallery__item:not(.naa-prog-gallery__item--hero) {
	aspect-ratio: 1;
}

/* Lecturers */
.naa-prog-lecturers {
	padding-block: var(--naa-section-pad);
}

.naa-prog-lecturers__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
}

.naa-prog-lecturers .naa-lean-rail-wrap {
	margin-top: 48px;
}

.naa-prog-lecturer {
	flex: 0 0 60%;
	max-width: 220px;
	text-align: center;
}

@media (min-width: 640px) {
	.naa-prog-lecturer {
		flex-basis: 33%;
	}
}

@media (min-width: 1024px) {
	.naa-prog-lecturer {
		flex-basis: 20%;
	}
}

.naa-prog-lecturer img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 999px;
}

.naa-prog-lecturer h3 {
	margin: 16px 0 0;
	font-size: 1rem;
	font-weight: 600;
}

.naa-prog-lecturer__role {
	margin: 4px 0 0;
	font-size: 0.75rem;
	color: rgba(9, 20, 15, 0.6);
}

.naa-prog-lecturer__country {
	margin: 4px 0 0;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(22, 59, 44, 0.7);
}

/* Testimonials */
.naa-prog-testimonials {
	padding-block: var(--naa-section-pad);
	background: var(--naa-brand-soft);
}

.naa-prog-testimonials__grid {
	display: grid;
	gap: 24px;
	margin-top: 48px;
}

@media (min-width: 768px) {
	.naa-prog-testimonials__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.naa-prog-testimonial {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 28px;
	border: 1px solid var(--naa-border);
	border-radius: var(--naa-radius);
	background: #fff;
}

.naa-prog-testimonial blockquote {
	flex: 1;
	margin: 16px 0 0;
	color: rgba(9, 20, 15, 0.85);
	line-height: 1.6;
}

.naa-prog-testimonial figcaption {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 24px;
	padding-top: 16px;
	border-top: 1px solid var(--naa-border);
}

.naa-prog-testimonial figcaption img {
	width: 48px;
	height: 48px;
	border-radius: 999px;
	object-fit: cover;
}

.naa-prog-testimonial figcaption strong {
	display: block;
	font-weight: 600;
}

.naa-prog-testimonial figcaption span {
	display: block;
	font-size: 0.875rem;
	color: rgba(9, 20, 15, 0.6);
}

/* Bonus library + recommendation rail (shared card styles) */
.naa-prog-bonus,
.naa-prog-recommend {
	padding-block: var(--naa-section-pad);
}

.naa-prog-bonus .naa-lean-rail-wrap,
.naa-prog-recommend .naa-lean-rail-wrap {
	margin-top: 48px;
}

.naa-prog-recommend__head {
	max-width: 40rem;
}

.naa-prog-course-set[hidden] {
	display: none !important;
}

.naa-prog-bonus-card {
	flex: 0 0 78%;
	max-width: 320px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--naa-border);
	border-radius: var(--naa-radius);
	background: #fff;
}

@media (min-width: 640px) {
	.naa-prog-bonus-card {
		flex-basis: 50%;
	}
}

@media (min-width: 1024px) {
	.naa-prog-bonus-card {
		flex-basis: 25%;
	}
}

.naa-prog-bonus-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	background: var(--naa-brand-soft);
}

.naa-prog-bonus-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.naa-prog-bonus-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 20px;
}

.naa-prog-bonus-card__body h3 {
	margin: 0;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.4;
}

.naa-prog-bonus-card__label {
	margin-top: 12px;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(9, 20, 15, 0.5);
}

.naa-prog-bonus-card__price {
	margin-top: 4px;
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--naa-brand);
}

.naa-prog-bonus-card__lecturer {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	padding-top: 12px;
	border-top: 1px solid var(--naa-border);
	font-size: 0.75rem;
	color: rgba(9, 20, 15, 0.65);
}

.naa-prog-bonus-card__lecturer img {
	width: 28px;
	height: 28px;
	border-radius: 999px;
	object-fit: cover;
}

/* Value table */
.naa-prog-value {
	padding-block: var(--naa-section-pad);
	background: var(--naa-brand-soft);
}

.naa-prog-value__head {
	max-width: 42rem;
	margin-inline: auto;
	text-align: center;
}

.naa-prog-value__table {
	max-width: 56rem;
	margin: 48px auto 0;
	overflow: hidden;
	border: 1px solid var(--naa-border);
	border-radius: var(--naa-radius);
	background: #fff;
	box-shadow: 0 8px 24px rgba(9, 20, 15, 0.06);
}

.naa-prog-value__row {
	display: grid;
	grid-template-columns: 1fr auto auto;
	gap: 16px;
	align-items: center;
	padding: 16px 24px;
	font-size: 0.875rem;
}

@media (min-width: 640px) {
	.naa-prog-value__row {
		grid-template-columns: 1fr 180px 180px;
		padding-inline: 32px;
	}
}

.naa-prog-value__row--head {
	border-bottom: 1px solid var(--naa-border);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: rgba(9, 20, 15, 0.55);
}

.naa-prog-value__row--alt {
	background: rgba(236, 244, 240, 0.4);
}

.naa-prog-value__row strong {
	display: block;
	font-weight: 600;
}

.naa-prog-value__row span {
	display: block;
	margin-top: 2px;
	font-size: 0.75rem;
	color: rgba(9, 20, 15, 0.55);
}

.naa-prog-value__price {
	text-align: right;
	font-weight: 600;
	color: rgba(9, 20, 15, 0.7);
}

.naa-prog-value__check {
	display: flex;
	justify-content: center;
	color: var(--naa-brand-fg);
}

.naa-prog-value__check svg {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	padding: 6px;
	border-radius: 999px;
	background: var(--naa-brand);
}

.naa-prog-value__row--total {
	border-top: 2px solid rgba(22, 59, 44, 0.2);
	padding-block: 24px;
}

.naa-prog-value__total {
	font-size: 1.5rem;
}

.naa-prog-value__badge {
	justify-self: center;
	border-radius: 999px;
	background: var(--naa-brand);
	padding: 6px 12px;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--naa-brand-fg);
}

/* Investment */
.naa-prog-investment {
	background: var(--naa-brand);
	color: var(--naa-brand-fg);
}

.naa-prog-investment .naa-lean-container {
	padding-block: var(--naa-section-pad);
}

.naa-prog-investment__head {
	max-width: 42rem;
	margin-inline: auto;
	text-align: center;
}

.naa-prog-investment__head .naa-lean-label {
	color: rgba(249, 253, 251, 0.6);
}

.naa-prog-investment__head .naa-lean-label::before {
	background: rgba(249, 253, 251, 0.35);
}

.naa-prog-investment__grid {
	display: grid;
	gap: 48px;
	margin-top: 56px;
}

@media (min-width: 1024px) {
	.naa-prog-investment__grid {
		grid-template-columns: 1.1fr 1fr;
		gap: 80px;
		align-items: start;
	}
}

.naa-prog-investment__includes h3 {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 600;
}

.naa-prog-investment__includes ul {
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.naa-prog-investment__includes li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-top: 12px;
	color: rgba(249, 253, 251, 0.9);
}

.naa-prog-investment__card {
	padding: 32px;
	border: 1px solid rgba(249, 253, 251, 0.15);
	border-radius: var(--naa-radius);
	background: rgba(249, 253, 251, 0.05);
}

.naa-prog-format__label {
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(249, 253, 251, 0.7);
}

.naa-prog-format {
	display: grid;
	gap: 12px;
	margin-top: 16px;
}

.naa-prog-format__btn {
	display: block;
	width: 100%;
	padding: 16px 20px;
	border: 1px solid rgba(249, 253, 251, 0.2);
	border-radius: 12px;
	background: transparent;
	color: var(--naa-brand-fg);
	text-align: left;
	cursor: pointer;
	transition: border-color 0.2s, background 0.2s, color 0.2s;
}

.naa-prog-format__btn strong {
	display: block;
	font-size: 0.875rem;
}

.naa-prog-format__btn span {
	display: block;
	margin-top: 4px;
	font-size: 0.75rem;
	color: rgba(249, 253, 251, 0.6);
}

.naa-prog-format__btn.is-active {
	border-color: var(--naa-brand-fg);
	background: var(--naa-brand-fg);
	color: var(--naa-brand);
}

.naa-prog-format__btn.is-active span {
	color: rgba(22, 59, 44, 0.7);
}

.naa-prog-investment__price-row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-top: 32px;
	padding-top: 24px;
	border-top: 1px solid rgba(249, 253, 251, 0.15);
}

.naa-prog-investment__price-label {
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(249, 253, 251, 0.6);
}

.naa-prog-investment__price {
	margin-top: 4px;
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.1;
}

.naa-prog-investment__price .woocommerce-Price-amount {
	color: inherit;
}

.naa-prog-investment__vat {
	margin-top: 4px;
	font-size: 0.75rem;
	color: rgba(249, 253, 251, 0.6);
}

.naa-prog-investment__calendar {
	color: rgba(249, 253, 251, 0.3);
}

.naa-prog-investment__submit {
	width: 100%;
	margin-top: 24px;
	justify-content: center;
}

.naa-prog-investment__consult {
	display: block;
	margin-top: 12px;
	text-align: center;
	font-size: 0.875rem;
	color: rgba(249, 253, 251, 0.75);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.naa-prog-cart .reset_variations,
.naa-prog-cart .woocommerce-variation-description {
	display: none !important;
}

/*
 * WooCommerce still writes price_html into .single_variation; we mirror it
 * into .naa-prog-investment__price via JS, so hide the duplicate.
 */
.naa-prog-cart .single_variation_wrap .woocommerce-variation-price {
	display: none !important;
}

/* FAQ */
.naa-prog-faq {
	padding-block: var(--naa-section-pad);
}

.naa-prog-faq__grid {
	display: grid;
	gap: 48px;
}

@media (min-width: 1024px) {
	.naa-prog-faq__grid {
		grid-template-columns: 1fr 1.6fr;
		align-items: start;
	}
}

/* Sticky bar */
.naa-prog-sticky {
	position: fixed;
	inset-inline: 0;
	bottom: 0;
	z-index: 40;
	border-top: 1px solid var(--naa-border);
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(8px);
}

.naa-prog-sticky__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-block: 12px;
}

.naa-prog-sticky__copy {
	min-width: 0;
}

.naa-prog-sticky__copy strong {
	display: block;
	font-size: 0.875rem;
}

.naa-prog-sticky__copy span {
	display: block;
	font-size: 0.75rem;
	color: rgba(9, 20, 15, 0.6);
}

.naa-prog-sticky .naa-btn {
	flex-shrink: 0;
}

@media (max-width: 639px) {
	.naa-prog-hero__meta {
		grid-template-columns: 1fr;
	}

	.naa-prog-value__row {
		grid-template-columns: 1fr auto;
	}

	.naa-prog-value__row--head span:last-child,
	.naa-prog-value__check {
		display: none;
	}
}

/* --------------------------------------------------------------------------
   Course titles link to the course's own product
   Only courses with an individual product are linked, so the underline has to
   read as an affordance without turning the untitled rows into dead text.
   -------------------------------------------------------------------------- */
.naa-prog-value__link,
.naa-prog-bonus-card__link {
	color: inherit;
	text-decoration: none;
	text-underline-offset: 3px;
}

.naa-prog-value__link:hover,
.naa-prog-value__link:focus-visible,
.naa-prog-bonus-card__link:hover,
.naa-prog-bonus-card__link:focus-visible {
	text-decoration: underline;
}

/* --------------------------------------------------------------------------
   "What is included" heading in the investment band
   The h3 has no class and inherits the page body colour (#002820), which sits
   almost invisibly on the brand green band. Everything else in this band uses
   the light foreground.
   -------------------------------------------------------------------------- */
.naa-prog-investment__includes h3 {
	color: var(--naa-brand-fg);
}

/* Three of the four programmes have no hand written includes list yet, which
   left a lone heading over an empty <ul>. Hide the column until it has items. */
/* :empty does not match a <ul> that contains whitespace, so test for an
   actual <li> instead. */
.naa-prog-investment__includes:not(:has( li )) {
	display: none;
}


/* --------------------------------------------------------------------------
   naa-card-stretched-link: whole course card is clickable
   The title anchor is stretched over the card instead of adding a second
   anchor around the image: one link, one tab stop, and screen readers still
   announce the title once. The rail's nav arrows sit at z-index 3 in
   lean-rails.css so they stay above this overlay, and lean-rails.js already
   cancels the click after a drag, so drag-to-scroll is unaffected. A card
   with no product and no course page has no anchor and stays inert.
   -------------------------------------------------------------------------- */
.naa-prog-bonus-card:has( .naa-prog-bonus-card__link ) {
	position: relative;
}

.naa-prog-bonus-card__link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* The affordance has to cover the whole target, not just the title. */
.naa-prog-bonus-card:hover .naa-prog-bonus-card__link {
	text-decoration: underline;
}

.naa-prog-bonus-card:has( .naa-prog-bonus-card__link ):hover {
	cursor: pointer;
}
