/* Hero percorso completo: testo e foto affiancati */

.page-hero.page-hero--percorso-completo {
	text-align: left;
	padding: clamp(2.5rem, 6vw, 4.5rem) 0 clamp(2rem, 5vw, 3.25rem);
	background: var(--color-primary-10);
}

.page-hero--percorso-completo__wrap {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(280px, 48%);
	gap: clamp(1.5rem, 4vw, 2.5rem);
	align-items: center;
}

.page-hero--percorso-completo__content {
	max-width: 520px;
	font-family: var(--font-heading);
}

.page-hero--percorso-completo .page-hero__eyebrow {
	font-family: var(--font-heading);
	font-size: clamp(1.35rem, 3vw, 2.375rem);
	font-weight: 400;
	letter-spacing: normal;
	text-transform: none;
	line-height: 1.35;
}

.page-hero--percorso-completo .page-hero__title {
	max-width: none;
	margin-inline: 0;
	font-size: clamp(1.85rem, 4.2vw, 2.75rem);
	line-height: 1.15;
}

.page-hero--percorso-completo__lead,
.page-hero--percorso-completo__content > p:not(.page-hero__eyebrow) {
	font-weight: 400;
}

.page-hero--percorso-completo__lead {
	margin: 0 0 1.25rem;
	font-size: 1.25rem;
	line-height: 1.55;
}

.page-hero--percorso-completo__content > p:last-child {
	margin-bottom: 0;
}

.page-hero--percorso-completo__visual img,
.page-hero--percorso-completo__visual .solange-image-placeholder {
	display: block;
	width: 100%;
	max-width: 580px;
	height: auto;
	margin-left: auto;
}

.page-hero--percorso-completo + .page-content {
	padding-top: clamp(2rem, 4vw, 2.75rem);
}

.percorso-completo-opening {
	text-align: center;
}

.percorso-completo-opening .page-section-title {
	max-width: none;
	margin-inline: auto;
	font-size: calc(clamp(1.5rem, 3vw, 2rem) + 2px);
}

.percorso-completo-opening p {
	font-size: calc(1em + 2px);
}

.page-cards--percorso-perche .page-card--with-image {
	padding: 0;
	overflow: hidden;
}

.page-cards--percorso-perche .page-card__image,
.page-cards--percorso-perche .page-card--with-image .solange-image-placeholder {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.page-cards--percorso-perche .page-card__body {
	padding: 1.5rem 1.75rem 2rem;
}

.page-teal-band .percorso-completo-program-hero-title {
	color: var(--color-accent);
	font-size: clamp(1.75rem, 3.5vw, 2.375rem);
	font-weight: 700;
	text-align: center;
	margin: 0 0 1rem;
	max-width: none;
}

.percorso-completo-program-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(240px, 40%);
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: stretch;
}

.percorso-completo-program-layout__media {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100%;
}

.percorso-completo-program-layout__image,
.percorso-completo-program-layout__media .solange-image-placeholder {
	width: auto;
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
}

@media (max-width: 900px) {
	.percorso-completo-program-layout {
		grid-template-columns: 1fr;
	}

	.percorso-completo-program-layout__media {
		max-width: 360px;
		margin-inline: auto;
	}
}

.percorso-completo-phase {
	padding: clamp(2rem, 4vw, 3rem) 0;
	background: #fff;
	color: var(--color-primary);
}

.percorso-completo-phase--soft {
	background: var(--color-primary-10);
}

.percorso-completo-phase .page-phase h3 {
	margin-top: 0;
}

.percorso-completo-cta-intro {
	text-align: center;
}

.percorso-completo-cta-intro__lead,
.percorso-completo-cta-intro__note {
	font-size: calc(1em + 2px);
}

.percorso-completo-cta-intro__highlight {
	font-size: calc(1em + 4px);
}

.site-footer {
	margin-top: 10px;
}

@media (max-width: 900px) {
	.page-hero--percorso-completo__wrap {
		grid-template-columns: 1fr;
	}

	.page-hero--percorso-completo__content {
		max-width: none;
	}

	.page-hero--percorso-completo__visual img,
	.page-hero--percorso-completo__visual .solange-image-placeholder {
		max-width: min(100%, 420px);
		margin-inline: auto;
	}
}
