.row-cp-hero {
	background-color: #18271E;
	
}
.mobile-header {
	display: none;
}
.row-cp-hero .cont {
	min-height: 880px;
}
.cp-hero-body {
	width: 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	min-height: 880px;
}
.cp-eeb-logo {
	justify-self: flex-start;
	margin-top: 0;
	margin-bottom: auto;
}
.cp-hero-byline {
	justify-self: flex-end;
	margin-top: auto;
	margin-bottom: 0;
}
.cp-iceberg {
	position: absolute;
	top: 0;
	left: 50%;
	right: 0;
	bottom: 0;
	background-image: url(../images/cp-hero.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
.cp-iceberg-wrapper {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}
.cp-hashtag {
	position: absolute;
	top: 24px;
	right: 24px;
}
.cp-main-logo {
	background-image: url(../images/be-life.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 350px auto;
	width: 350px;
	height: 400px;
}
.cp-eeb-logo {
	background-image: url(../images/eeb-logo-cp.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 144px auto;
	width: 144px;
	height: 108px;
	text-indent: -9999px;
	margin-top: 24px;
}
.cp-hashtag {
	border-radius: 40px;
	border: 1px solid var(--dark-forest, #18271E);
	background: rgba(255, 255, 255, 0.90);
	color: var(--dark-forest, #18271E);
	font-family: "DM Sans";
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 24px; 
	padding: 8px;
}
.cp-hero-body {
	padding-right: 48px;
}
.cp-hero-body h1#hero-cp-title {
	color: var(--leaf-green, #8AA153);
	font-family: "Anek Gujarati";
	font-size: 80px;
	font-style: normal;
	font-weight: 800;
	line-height: 72px; 
	margin: 0 0 16px;
}
.cp-hero-body p.cp-hero-text {
	color: var(--leaf-green, #8AA153);
	/* body */
	font-family: "DM Sans";
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 24px; /* 150% */
	margin: 0 0 40px;
}

.cp-hero-body p.cp-hero-byline {
	color: var(--leaf-green, #8AA153);
	font-family: "DM Sans";
	font-size: 11px;
	font-style: normal;
	font-weight: 500;
	line-height: 16px; /* 145.455% */
	padding-bottom: 24px;
}
.cp-hero-body .cp-eeb-cta {
	display: flex;
}
.cp-hero-body .cp-eeb-cta a {
	border-radius: 16px;
	background: var(--natural-beige, #F3F3F2);
	display: flex;
	padding: 16px 24px;
	justify-content: center;
	align-items: center;
	align-self: flex-start;
	gap: 4px;
	color: var(--dark-forest, #18271E);

	/* caption S */
	font-family: "DM Sans";
	font-size: 16px;
	font-style: normal;
	font-weight: 900;
	line-height: 24px; /* 150% */
}
.cp-hero-body .cp-eeb-cta::after {
	width: 116px;
	height: 72px;
	content: '';
	background-image: url(../images/cp-hand.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	margin-left: 8px;
}

/* Stili per il contenitore .row-cp-decision-tree che ora è il "card" visivo */
.row-cp-decision-tree {
    display: flex; /* Usiamo flexbox per centrare il contenuto interno */
    justify-content: center;
    align-items: flex-start; /* Allinea in alto, non al centro, per consentire lo scroll */
    background: var(--natural-beige, #F3F3F2);
    padding-top: 128px;
    padding-bottom: 128px;
}
.row-cp-decision-tree .cont {
    background-color: #fff;
    padding: 64px;
    width: min(1200px, 100% - 40px);
    border-radius: 24px;
    border: 2px solid var(--dark-forest, #18271E);
    background: var(--white, #FFF);

}
.options-container {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding-top: 12px;
}
.options-container .radio-option {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

.options-container .radio-option input {
	-webkit-appearance: none;
	 appearance: none;
	 width: 24px;
	 height: 24px;
	 background-image: url(../images/radio-cp.svg);
	 background-size: contain;
	 background-repeat: no-repeat;
	 background-position: center;
	 flex: 0 0 24px;
	 margin: 0;
}
.options-container .radio-option input:hover {
	background-image: url(../images/radio-cp-hover.svg);
}
.options-container .radio-option input[type="radio"]:checked {
	background-image: url(../images/radio-cp-selected.svg);
}
.options-container .radio-option label {
	color: var(--dark-forest, #18271E);

	/* body */
	font-family: "DM Sans";
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 24px; /* 150% */
	margin-bottom: 0;
}
.options-container .radio-option.no-next-node label {
	color: red;
}

.row-cp-decision-tree .cont h3 {
	color: var(--dark-forest, #18271E);

	/* h3 */
	font-family: "DM Sans";
	font-size: 24px;
	font-style: normal;
	font-weight: 900;
	line-height: 32px; /* 133.333% */
}



/* Stili per la sezione reCAPTCHA (Nodo 0) */
#recaptcha-section {
    display: block; /* Nascondi se il contenuto del DT deve essere mostrato */
}
#recaptcha-section h2 {
    color: var(--dark-forest, #18271E);
    font-family: "Anek Gujarati";
    font-size: 56px;
    font-style: normal;
    font-weight: 800;
    line-height: 56px; 
    margin-bottom: 8px;
}
#recaptcha-section p {
    color: var(--dark-forest, #18271E);
    /* body */
    font-family: "DM Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px; 
    margin-bottom: 24px;
}
#recaptcha-section .g-recaptcha {
    margin: 20px 0;
    transform: scale(0.9); /* Per renderlo leggermente più piccolo se necessario */
    transform-origin: 0 0;
}
#recaptcha-section p.recaptcha-info {
    color: var(--dark-forest, #18271E);
    font-family: "DM Sans";
    font-size: 11px;
    font-style: normal;
    font-weight: 500;
    line-height: 16px;
    padding-top: 16px;
}
.recaptcha-error {
    color: red;
    margin-top: 15px;
    font-weight: bold;
}
.recaptcha-button,
.next-button {
    border-radius: 16px;
    border: 2px solid var(--dark-forest, #18271E);
    background: var(--light-grass, #BBC57D);
    display: flex;
    min-width: 80px;
    padding: 16px 32px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    color: var(--dark-forest, #18271E);

    /* body */
    font-family: "DM Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px; /* 150% */
}
.recaptcha-button:hover,
.next-button:hover {
    background: var(--leaf-green, #8AA153);
    border: 2px solid var(--dark-forest, #18271E);
    color: var(--dark-forest, #18271E);
}
button.recaptcha-button:disabled,
button.next-button:disabled {
	border-radius: 16px;
	border: 2px solid rgba(24, 39, 30, 0.40);
	background: var(--natural-beige, #F3F3F2);

    opacity: 1;
}

/* Stili per il contenitore del decision tree (Nodo 1 e successivi) */
#decision-tree-container {
    display: none; /* INIZIALMENTE NASCOSTO VIA CSS */
    width: 100%;
}
.decision-navigation-controls {
	margin-bottom: 32px;
	display: flex;
	justify-content: space-between;
}
#decision-tree-container .next-button {
	margin-top: 32px;
}

button.restart-button,
button.back-button {
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 16px;
	padding:0 0 0 20px;
	text-decoration: underline;
	color: var(--dark-forest, #18271E);
	/* body */
	font-family: "DM Sans";
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 24px; /* 150% */
}
button.restart-button {
	background-image: url(../images/arrow-reload.svg);
	margin-right: 0;
	margin-left: auto;
}
button.back-button {
	background-image: url(../images/arrow-back.svg);
}
button.restart-button:hover,
button.back-button:hover {
	background-color: transparent;
	color: var(--dark-forest, #18271E);
}

.row-cp-about {
	background: var(--light-grass, #BBC57D);
	padding: 160px 0;
}
.row-cp-about .cont {
	display: flex;
	gap: 80px;
	align-items: center;
}
.cp-about-right {
	flex: 0 0 50%;
}
.cp-about-left h2 {
	margin: 0 0 8px;
	color: var(--dark-forest, #18271E);
	font-family: "Anek Gujarati";
	font-size: 56px;
	font-style: normal;
	font-weight: 800;
	line-height: 56px; /* 100% */
}
.cp-about-left p {
	color: var(--dark-forest, #18271E);  
	font-family: "DM Sans";
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 24px; margin: 0 0 40px;
}
.cp-about-left a {
	color: var(--dark-forest, #18271E);
	font-family: "DM Sans";
	font-size: 16px;
	font-style: normal;
	font-weight: 900;
	line-height: 24px; 
	text-decoration: normal;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--dark-forest, #18271E);
}
.row-cp-sponsors .cont {
	padding-top: 80px;
	padding-bottom: 80px;
}
.row-cp-sponsors .cont ul {
	list-style-type: none;
	display: flex;
	justify-content: space-between;
	margin: 0;
	padding: 0;
}
.row.row-footer-2024 {
	background: var(--dark-forest, #18271E);
}
.row.row-colophon-2024{
	border-top: 1px solid var(--natural-beige, #F3F3F2);
	background: var(--dark-forest, #18271E);
}
.cp-footer-logo-belife {
	background-image: url(../images/cp-belife-small.png);
	width: 120px;
	height: 70px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
.row.row-footer-2024 a.footer-logo-eeb {
	background-image: url(../images/eeb-logo-cp.png);
	width: 120px;
	height: 80px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
.row.footer-2024-logos {
	gap: 24px;
}

.row.row-footer-2024 .cont h4 {
	color: var(--leaf-green, #8AA153);
	leading-trim: both;
	text-edge: cap;

	/* h4 */
	font-family: "DM Sans";
	font-size: 18px;
	font-style: normal;
	font-weight: 900;
	line-height: 24px; /* 133.333% */
}
 .row.row-footer-2024 .footer-2024-contacts p {
	color: var(--natural-beige, #F3F3F2);
	leading-trim: both;
	text-edge: cap;
	font-family: "DM Sans";
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 20px; /* 142.857% */
}
.row.row-footer-2024 .footer-2024-follow p {
	color: var(--natural-beige, #F3F3F2);

	/* caption XS */
	font-family: "DM Sans";
	font-size: 11px;
	font-style: normal;
	font-weight: 500;
	line-height: 16px; /* 145.455% */
}
.row.row-footer-2024 .footer-social {
	border-bottom: 1px solid var(--natural-beige, #F3F3F2);
}
.row.row-colophon-2024 .cont {
	color: var(--natural-beige, #F3F3F2);
	font-family: "DM Sans";
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 20px; /* 142.857% */
}
.node-main-content {

}
.node-main-content p {
	color: var(--dark-forest, #18271E);
	font-family: "DM Sans";
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 24px; /* 150% */
	padding-bottom: 24px;
	margin-bottom: 0;
}
.node-main-content ul {
	list-style-type: disc;
	margin: 0 0 0 18px;
	padding-bottom: 24px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	
}
.node-main-content ol {
	margin: 0 0 0 18px;
	padding-bottom: 24px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.node-main-content li {
	color: var(--dark-forest, #18271E);

	/* body */
	font-family: "DM Sans";
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 24px; /* 150% */
}
.related-node-link {
	padding-top: 16px;
}
.related-node-link a {
	border-radius: 16px;
	border: 2px solid var(--dark-forest, #18271E);
	background: var(--natural-beige, #F3F3F2);
	color: var(--dark-forest, #18271E);
	font-family: "DM Sans";
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 24px; /* 150% */
	padding: 8px 36px 8px 16px;
	background-image: url(../images/cl-link.svg);
	background-repeat: no-repeat;
	background-position: center right 16px;
	background-size: 16px;
	display: inline-block;
}
.related-node-link a:hover {
	text-decoration: none;
	background-color: #fff;
	color: var(--dark-forest, #18271E);
}

@media screen and (max-width: 980px) {
	.row-cp-hero .cont,
	.cp-hero-body {
		min-height: 640px;
	}
	.cp-hero-body h1#hero-cp-title {
		font-size: 64px;
		line-height: 60px;
	}
	.row-cp-decision-tree,
	.row-cp-about {
		padding-top: 98px;
		padding-bottom: 98px;
	}
	.cp-eeb-logo {
		background-size: contain;
		width: 100px;
		height: 75px;

	}
	.row-cp-sponsors .cont ul {
		flex-wrap: wrap;
		gap: 16px;
		justify-content: center;
		align-items: center;
	}
	.cp-about-left h2 {
		font-size: 42px;
		line-height: 42px;
	}
	.row-cp-about .cont {
		gap: 42px;
	}
}

@media screen and (max-width: 768px) {
	.row-cp-decision-tree {
		padding-top: 68px;
		padding-bottom: 68px;
	}
	.row-cp-decision-tree .cont {
		padding: 42px;
	}
	.cp-hero-body h1#hero-cp-title {
		font-size: 48px;
		line-height: 44px;
	}
	.cp-hero-body p.cp-hero-text {
		font-size: 14px;
		line-height: 20px;
		margin-bottom: 20px;
	}
	.cp-hero-body .cp-eeb-cta::after {
		height: 56px;
		width: 91px;
	}
	.cp-about-left p {
		font-size: 14px;
		line-height: 20px;
	}

}

@media screen and (max-width: 600px) {
	.mobile-header {
		display: flex;
		justify-content: space-between;
		position: absolute;
		top: 0px;
		padding-top: 8px;
		padding-bottom: 8px;
		left: 24px;
		right: 24px;
		border-bottom: 1px solid var(--white, #FFF);
		align-items: center;
	}
	.cp-hashtag,
	.cp-hero-body .cp-eeb-logo {
		display: none;
	} 
	.mobile-header .cp-hashtag {
		display: block;
		background-color: transparent;
		border: none;
		color: var(--white, #FFF);
		font-size: 14px;
		font-style: normal;
		font-weight: 500;
		line-height: 20px;
	}
	.row-cp-hero {
		display: flex;
		flex-direction: column-reverse;
	}
	.cp-iceberg {
		position: relative;
		width: 100%;
		height: calc(100vh - 24px);
		left: auto;
	}
	.cp-eeb-logo {
		margin-top: 0;
		height: 64px;
		width: 86px;
	}
	.cp-hashtag {
		position: relative;
		top: auto;
		right: auto;
	}
	.row-cp-decision-tree .cont {
		padding: 24px;
	}
	.row-cp-hero .cont {
		padding: 40px 24px;
		margin-top: -48px;
		border-radius: 24px 24px 0 0;
		background-color: #18271E;
		z-index: 1;
	}
	.row-cp-hero .cont, .cp-hero-body {
		min-height: auto;
	}
	.cp-hero-body {
		width: 100%;
		padding: 0;
	}
	.cp-hero-body .cp-eeb-cta::after {
		display: none;
	}
	.cp-hero-body .cp-eeb-cta {
		width: 100%;
		margin-bottom: 24px;
		display: block;
	}
	.cp-hero-body .cp-eeb-cta a {
		display: block;
		text-align: center;
	}
	.row-cp-about .cont {
		flex-direction: column-reverse;
	}
}