
.elementor-repeater-item-c3a628b3 {
    color: #fff !important;
}

/* Righe di card (credenziali, progetti): griglia 4 colonne su desktop,
   2 su tablet, 1 su mobile. Grid uniforme, anche dove il tema usa flex. */
.gf-cards.gf-v3-badges .gf-cards__row{
	display: grid !important;
	--e-con-grid-template-columns: repeat(4, 1fr);
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 30px;
	align-items: stretch;
}
.gf-cards.gf-v3-badges .gf-cards__row > .gf-card{
	width: auto !important;
	max-width: 100%;
	min-width: 0;
}
@media (max-width: 1279px){
	.gf-cards.gf-v3-badges .gf-cards__row{
		--e-con-grid-template-columns: repeat(2, 1fr);
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (max-width: 767px){
	.gf-cards.gf-v3-badges .gf-cards__row{
		--e-con-grid-template-columns: repeat(1, 1fr);
		grid-template-columns: repeat(1, 1fr) !important;
	}
}

/* Sezioni a piena larghezza come nel riferimento di progettazione:
   hero, fascia delle aree, banda CTA. Gutter 70/30/20 come da mockup. */
.elementor-6300 .elementor-element.elementor-element-ab7232b,
.elementor-6300 .elementor-element.elementor-element-46b282d1,
.elementor-6300 .elementor-element.elementor-element-13eedd70{
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	--padding-left: 70px;
	--padding-right: 70px;
	padding-left: var(--padding-left) !important;
	padding-right: var(--padding-right) !important;
}
@media (max-width: 1279px){
	.elementor-6300 .elementor-element.elementor-element-ab7232b,
	.elementor-6300 .elementor-element.elementor-element-46b282d1,
	.elementor-6300 .elementor-element.elementor-element-13eedd70{
		--padding-left: 30px;
		--padding-right: 30px;
	}
}
@media (max-width: 767px){
	.elementor-6300 .elementor-element.elementor-element-ab7232b,
	.elementor-6300 .elementor-element.elementor-element-46b282d1,
	.elementor-6300 .elementor-element.elementor-element-13eedd70{
		--padding-left: 20px;
		--padding-right: 20px;
	}
}

/* Elementor nasconde h1.entry-title sulle pagine builder; i template del
   mini-CMS (blog, articolo, pagina semplice) usano il titolo nativo del tema. */
.blog h1.post_title.entry-title,
.single-post h1.post_title.entry-title,
body:not(.elementor-page) h1.post_title.entry-title{
	display: block;
}

/* Chi Sono (pagina 6188): trattamenti di layout dal riferimento about-us —
   hero, banda credenziali e CTA a piena larghezza; bio in colonna di lettura. */
.elementor-6188 .elementor-element.elementor-element-32d97804,
.elementor-6188 .elementor-element.elementor-element-19fbc4f8{
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	--padding-left: 70px;
	--padding-right: 70px;
	padding-left: var(--padding-left) !important;
	padding-right: var(--padding-right) !important;
}
@media (max-width: 1279px){
	.elementor-6188 .elementor-element.elementor-element-32d97804,
	.elementor-6188 .elementor-element.elementor-element-19fbc4f8{
		--padding-left: 30px;
		--padding-right: 30px;
	}
}
@media (max-width: 767px){
	.elementor-6188 .elementor-element.elementor-element-32d97804,
	.elementor-6188 .elementor-element.elementor-element-19fbc4f8{
		--padding-left: 20px;
		--padding-right: 20px;
	}
}
/* Introduzione: colonna di lettura confortevole */
.elementor-6188 .elementor-element.elementor-element-4810214b > .e-con-inner{
	max-width: 850px;
}

/* Pagine full-Elementor: il contenuto parte sotto l'header senza il
   padding di default del tema (l'hero porta i propri spazi). */
.page-template-elementor_header_footer .page_content_wrap{
	padding-top: 0;
}

/* Utility full-bleed riutilizzabile (stesso breakout delle sezioni id-specifiche) */
.gf-fullbleed{
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	padding-left: 70px;
	padding-right: 70px;
}
@media (max-width: 1279px){ .gf-fullbleed{ padding-left: 30px; padding-right: 30px; } }
@media (max-width: 767px){ .gf-fullbleed{ padding-left: 20px; padding-right: 20px; } }

/* Chi Sono — sezione "Come lavoro": intro a sinistra, icon list a destra */
.gf-howiwork > .e-con-inner{
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 60px;
	align-items: start;
	padding-top: 30px;
	padding-bottom: 60px;
}
.gf-howiwork__title{
	font-family: var(--theme-font-h2_font-family, var(--wp--preset--font-family--h-1-font));
	color: var(--theme-color-title, var(--wp--preset--color--theme-color-title));
	margin: 0 0 0.5em;
}
.gf-howiwork__list{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 28px;
}
.gf-howiwork__list li{
	display: flex;
	gap: 18px;
	align-items: flex-start;
}
.gf-howiwork__icon{
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	color: var(--theme-color-inverse_link, #fff);
	background-color: var(--theme-color-link, var(--wp--preset--color--theme-color-link));
}
.gf-howiwork__list h3{
	margin: 0 0 0.25em;
	font-size: 22px;
}
.gf-howiwork__list p{ margin: 0; }
@media (max-width: 1279px){
	.gf-howiwork > .e-con-inner{ grid-template-columns: 1fr; gap: 36px; }
}

/* Chi Sono — fascia contatori */
.gf-counters{
	background-color: var(--theme-color-bg_color_2, var(--wp--preset--color--theme-color-bg-color-2));
}
.gf-counters > .e-con-inner{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 40px;
	padding-top: 70px;
	padding-bottom: 70px;
}
.gf-counters__item{
	display: flex;
	flex-direction: column;
	gap: 8px;
	text-align: center;
}
.gf-counters__number{
	font-family: var(--theme-font-h1_font-family, var(--wp--preset--font-family--h-1-font));
	font-weight: 600;
	font-size: clamp(44px, 4.5vw, 72px);
	line-height: 1;
	color: var(--theme-color-title, var(--wp--preset--color--theme-color-title));
}
.gf-counters__label{
	color: var(--theme-color-text, inherit);
}
@media (max-width: 1279px){
	.gf-counters > .e-con-inner{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px){
	.gf-counters > .e-con-inner{ grid-template-columns: 1fr; }
}

/* FAQ incorporata dalla home dentro Chi Sono */
.gf-embed-6300{ margin-top: 20px; }

/* Le sezioni custom non hanno le regole per-id di Elementor: display esplicito */
.gf-howiwork, .gf-counters{
	display: block !important;
}
.gf-howiwork > .e-con-inner, .gf-counters > .e-con-inner{
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
}

/* Chi Sono — CTA finale: palette del tema (navy + terracotta) e
   composizione centrata invece del blocco addossato a sinistra. */
.elementor-6188 .elementor-element.elementor-element-1e46e62f{
	background-color: var(--theme-color-link, var(--wp--preset--color--theme-color-link)) !important;
	background-image: none !important;
}
.elementor-6188 .elementor-element.elementor-element-1e46e62f > .e-con-inner{
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 10px;
	max-width: 820px;
}
.elementor-6188 .elementor-element.elementor-element-1e46e62f .elementor-heading-title,
.elementor-6188 .elementor-element.elementor-element-1e46e62f h2{
	color: #fff;
}
.elementor-6188 .elementor-element.elementor-element-1e46e62f p{
	color: rgba(255, 255, 255, 0.78);
}
.elementor-6188 .elementor-element.elementor-element-1e46e62f .elementor-button{
	background-color: #fff !important;
	color: var(--theme-color-link, var(--wp--preset--color--theme-color-link)) !important;
	margin-top: 14px;
}
.elementor-6188 .elementor-element.elementor-element-1e46e62f .elementor-button:hover{
	background-color: var(--theme-color-bg_color_2, var(--wp--preset--color--theme-color-bg-color-2)) !important;
	color: var(--theme-color-hover, var(--wp--preset--color--theme-color-hover)) !important;
}

/* CTA: centratura effettiva anche contro le regole per-widget di Elementor */
.elementor-6188 .elementor-element.elementor-element-1e46e62f .elementor-widget,
.elementor-6188 .elementor-element.elementor-element-1e46e62f .elementor-widget-container,
.elementor-6188 .elementor-element.elementor-element-1e46e62f .elementor-heading-title,
.elementor-6188 .elementor-element.elementor-element-1e46e62f p{
	text-align: center !important;
}

/* CTA su tablet/mobile: dentro la colonna contenuti senza sbordare a destra */
@media (max-width: 1279px){
	.elementor-6188 .elementor-element.elementor-element-1e46e62f{
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* Card dei sotto-percorsi (counseling): griglia 3/2/1 con lo stile card del sito */
.gf-cms-cards{
	display: block !important;
	padding-top: 40px;
	padding-bottom: 70px;
}
.gf-cms-cards > .e-con-inner{
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
}
.gf-cms-cards__head{ margin-bottom: 34px; }
.gf-cms-cards__head h2{
	font-family: var(--theme-font-h2_font-family, var(--wp--preset--font-family--h-1-font));
	color: var(--theme-color-title, var(--wp--preset--color--theme-color-title));
	margin: 0;
}
.gf-cms-cards__row{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	align-items: stretch;
}
.gf-cms-card{
	background: #fff;
	border-radius: 24px;
	padding: 34px 30px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	box-shadow: 0 10px 30px rgba(3, 46, 97, 0.05);
}
.gf-cms-card h3{
	margin: 0;
	color: var(--theme-color-title, var(--wp--preset--color--theme-color-title));
	font-size: 26px;
}
.gf-cms-card p{ margin: 0; flex: 1 0 auto; }
.gf-cms-card__btn{
	align-self: flex-start;
	display: inline-block;
	padding: 11px 24px;
	border-radius: 999px;
	background-color: var(--theme-color-link, var(--wp--preset--color--theme-color-link));
	color: #fff !important;
	font-family: var(--theme-font-button_font-family, inherit);
	font-weight: 600;
	font-size: 14px;
}
.gf-cms-card__btn:hover{
	background-color: var(--theme-color-hover, var(--wp--preset--color--theme-color-hover));
}
@media (max-width: 1279px){
	.gf-cms-cards__row{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px){
	.gf-cms-cards__row{ grid-template-columns: 1fr; }
}

/* Counseling (pagina 6205): hero a piena larghezza come nelle altre pagine */
.elementor-6205 .elementor-element.elementor-element-c4d8a14b{
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	--padding-left: 70px;
	--padding-right: 70px;
	padding-left: var(--padding-left) !important;
	padding-right: var(--padding-right) !important;
}
@media (max-width: 1279px){
	.elementor-6205 .elementor-element.elementor-element-c4d8a14b{ --padding-left: 30px; --padding-right: 30px; }
}
@media (max-width: 767px){
	.elementor-6205 .elementor-element.elementor-element-c4d8a14b{ --padding-left: 20px; --padding-right: 20px; }
}

/* Counseling — CTA finale: stesso trattamento della CTA di Chi Sono
   (box terracotta centrato al posto delle due colonne sbilanciate). */
.elementor-6205 .elementor-element.elementor-element-e2d0fd6e{
	background-color: var(--theme-color-link, var(--wp--preset--color--theme-color-link)) !important;
	background-image: none !important;
	border-radius: 24px;
	--padding-top: 90px;
	--padding-bottom: 90px;
}
.elementor-6205 .elementor-element.elementor-element-e2d0fd6e > .e-con-inner{
	flex-direction: column !important;
	align-items: center !important;
	text-align: center;
	gap: 8px;
	max-width: 820px;
}
.elementor-6205 .elementor-element.elementor-element-e2d0fd6e .elementor-element-03dd8582,
.elementor-6205 .elementor-element.elementor-element-e2d0fd6e .elementor-element-bf74f667{
	width: 100% !important;
	max-width: 100% !important;
}
.elementor-6205 .elementor-element.elementor-element-e2d0fd6e .elementor-element-bf74f667 > .e-con-inner{
	justify-content: center !important;
	align-items: center !important;
}
.elementor-6205 .elementor-element.elementor-element-e2d0fd6e .elementor-widget,
.elementor-6205 .elementor-element.elementor-element-e2d0fd6e .elementor-widget-container,
.elementor-6205 .elementor-element.elementor-element-e2d0fd6e .elementor-heading-title,
.elementor-6205 .elementor-element.elementor-element-e2d0fd6e p{
	text-align: center !important;
}
.elementor-6205 .elementor-element.elementor-element-e2d0fd6e .elementor-heading-title,
.elementor-6205 .elementor-element.elementor-element-e2d0fd6e h2{
	color: #fff;
}
.elementor-6205 .elementor-element.elementor-element-e2d0fd6e p{
	color: rgba(255, 255, 255, 0.78);
}
.elementor-6205 .elementor-element.elementor-element-e2d0fd6e .elementor-button{
	background-color: #fff !important;
	color: var(--theme-color-link, var(--wp--preset--color--theme-color-link)) !important;
	margin-top: 14px;
}
.elementor-6205 .elementor-element.elementor-element-e2d0fd6e .elementor-button:hover{
	background-color: var(--theme-color-bg_color_2, var(--wp--preset--color--theme-color-bg-color-2)) !important;
	color: var(--theme-color-hover, var(--wp--preset--color--theme-color-hover)) !important;
}
@media (max-width: 1279px){
	.elementor-6205 .elementor-element.elementor-element-e2d0fd6e{
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* Psicosintesi (pagina 7368): hero full-bleed e CTA terracotta centrata,
   in coerenza con le pagine Counseling e Chi Sono. */
.elementor-7368 .elementor-element.elementor-element-8904bfbc{
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	--padding-left: 70px;
	--padding-right: 70px;
	padding-left: var(--padding-left) !important;
	padding-right: var(--padding-right) !important;
}
@media (max-width: 1279px){
	.elementor-7368 .elementor-element.elementor-element-8904bfbc{ --padding-left: 30px; --padding-right: 30px; }
}
@media (max-width: 767px){
	.elementor-7368 .elementor-element.elementor-element-8904bfbc{ --padding-left: 20px; --padding-right: 20px; }
}
.elementor-7368 .elementor-element.elementor-element-04c7ecf2{
	background-color: var(--theme-color-link, var(--wp--preset--color--theme-color-link)) !important;
	background-image: none !important;
	border-radius: 24px;
	--padding-top: 90px;
	--padding-bottom: 90px;
}
.elementor-7368 .elementor-element.elementor-element-04c7ecf2 > .e-con-inner{
	flex-direction: column !important;
	align-items: center !important;
	text-align: center;
	gap: 8px;
	max-width: 820px;
}
.elementor-7368 .elementor-element.elementor-element-04c7ecf2 .elementor-element-eb2f718b,
.elementor-7368 .elementor-element.elementor-element-04c7ecf2 .elementor-element-96892eb1{
	width: 100% !important;
	max-width: 100% !important;
}
.elementor-7368 .elementor-element.elementor-element-04c7ecf2 .elementor-element-96892eb1 > .e-con-inner{
	justify-content: center !important;
	align-items: center !important;
}
.elementor-7368 .elementor-element.elementor-element-04c7ecf2 .elementor-widget,
.elementor-7368 .elementor-element.elementor-element-04c7ecf2 .elementor-widget-container,
.elementor-7368 .elementor-element.elementor-element-04c7ecf2 .elementor-heading-title,
.elementor-7368 .elementor-element.elementor-element-04c7ecf2 p{
	text-align: center !important;
}
.elementor-7368 .elementor-element.elementor-element-04c7ecf2 .elementor-heading-title,
.elementor-7368 .elementor-element.elementor-element-04c7ecf2 h2{
	color: #fff;
}
.elementor-7368 .elementor-element.elementor-element-04c7ecf2 p{
	color: rgba(255, 255, 255, 0.78);
}
.elementor-7368 .elementor-element.elementor-element-04c7ecf2 .elementor-button{
	background-color: #fff !important;
	color: var(--theme-color-link, var(--wp--preset--color--theme-color-link)) !important;
	margin-top: 14px;
}
.elementor-7368 .elementor-element.elementor-element-04c7ecf2 .elementor-button:hover{
	background-color: var(--theme-color-bg_color_2, var(--wp--preset--color--theme-color-bg-color-2)) !important;
	color: var(--theme-color-hover, var(--wp--preset--color--theme-color-hover)) !important;
}
@media (max-width: 1279px){
	.elementor-7368 .elementor-element.elementor-element-04c7ecf2{
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* Counseling Online (pagina 6224): hero full-bleed, CTA terracotta, card step */
.elementor-6224 .elementor-element.elementor-element-d3eb07e2{
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	--padding-left: 70px;
	--padding-right: 70px;
	padding-left: var(--padding-left) !important;
	padding-right: var(--padding-right) !important;
}
@media (max-width: 1279px){
	.elementor-6224 .elementor-element.elementor-element-d3eb07e2{ --padding-left: 30px; --padding-right: 30px; }
}
@media (max-width: 767px){
	.elementor-6224 .elementor-element.elementor-element-d3eb07e2{ --padding-left: 20px; --padding-right: 20px; }
}
.elementor-6224 .elementor-element.elementor-element-b9a48f74{
	background-color: var(--theme-color-link, var(--wp--preset--color--theme-color-link)) !important;
	background-image: none !important;
	border-radius: 24px;
	--padding-top: 90px;
	--padding-bottom: 90px;
}
.elementor-6224 .elementor-element.elementor-element-b9a48f74 > .e-con-inner{
	flex-direction: column !important;
	align-items: center !important;
	text-align: center;
	gap: 8px;
	max-width: 820px;
}
.elementor-6224 .elementor-element.elementor-element-b9a48f74 .elementor-element-d38a1d71,
.elementor-6224 .elementor-element.elementor-element-b9a48f74 .elementor-element-175012ce{
	width: 100% !important;
	max-width: 100% !important;
}
.elementor-6224 .elementor-element.elementor-element-b9a48f74 .elementor-element-175012ce > .e-con-inner{
	justify-content: center !important;
	align-items: center !important;
}
.elementor-6224 .elementor-element.elementor-element-b9a48f74 .elementor-widget,
.elementor-6224 .elementor-element.elementor-element-b9a48f74 .elementor-widget-container,
.elementor-6224 .elementor-element.elementor-element-b9a48f74 .elementor-heading-title,
.elementor-6224 .elementor-element.elementor-element-b9a48f74 p{
	text-align: center !important;
}
.elementor-6224 .elementor-element.elementor-element-b9a48f74 .elementor-heading-title,
.elementor-6224 .elementor-element.elementor-element-b9a48f74 h2{
	color: #fff;
}
.elementor-6224 .elementor-element.elementor-element-b9a48f74 p{
	color: rgba(255, 255, 255, 0.78);
}
.elementor-6224 .elementor-element.elementor-element-b9a48f74 .elementor-button{
	background-color: #fff !important;
	color: var(--theme-color-link, var(--wp--preset--color--theme-color-link)) !important;
	margin-top: 14px;
}
.elementor-6224 .elementor-element.elementor-element-b9a48f74 .elementor-button:hover{
	background-color: var(--theme-color-bg_color_2, var(--wp--preset--color--theme-color-bg-color-2)) !important;
	color: var(--theme-color-hover, var(--wp--preset--color--theme-color-hover)) !important;
}
@media (max-width: 1279px){
	.elementor-6224 .elementor-element.elementor-element-b9a48f74{
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}
/* card step numerate (processo e-counseling) */
.gf-step-card{ position: relative; }
.gf-step-card__num{
	font-family: var(--theme-font-h1_font-family, var(--wp--preset--font-family--h-1-font));
	font-weight: 600;
	font-size: 44px;
	line-height: 1;
	color: var(--theme-color-bd_color, var(--wp--preset--color--theme-color-bd-color));
}
.gf-step-card__body p{ margin: 0 0 0.8em; }
.gf-step-card__body p:last-child{ margin-bottom: 0; }

/* Progetti (pagina 6178): hero full-bleed e CTA terracotta centrata */
.elementor-6178 .elementor-element.elementor-element-cea34af3{
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	--padding-left: 70px;
	--padding-right: 70px;
	padding-left: var(--padding-left) !important;
	padding-right: var(--padding-right) !important;
}
@media (max-width: 1279px){
	.elementor-6178 .elementor-element.elementor-element-cea34af3{ --padding-left: 30px; --padding-right: 30px; }
}
@media (max-width: 767px){
	.elementor-6178 .elementor-element.elementor-element-cea34af3{ --padding-left: 20px; --padding-right: 20px; }
}
.elementor-6178 .elementor-element.elementor-element-323f570a{
	background-color: var(--theme-color-link, var(--wp--preset--color--theme-color-link)) !important;
	background-image: none !important;
	border-radius: 24px;
	--padding-top: 90px;
	--padding-bottom: 90px;
}
.elementor-6178 .elementor-element.elementor-element-323f570a > .e-con-inner{
	flex-direction: column !important;
	align-items: center !important;
	text-align: center;
	gap: 8px;
	max-width: 820px;
}
.elementor-6178 .elementor-element.elementor-element-323f570a .elementor-element-ad7fc3ed,
.elementor-6178 .elementor-element.elementor-element-323f570a .elementor-element-0eebd43c{
	width: 100% !important;
	max-width: 100% !important;
}
.elementor-6178 .elementor-element.elementor-element-323f570a .elementor-element-0eebd43c > .e-con-inner{
	justify-content: center !important;
	align-items: center !important;
}
.elementor-6178 .elementor-element.elementor-element-323f570a .elementor-widget,
.elementor-6178 .elementor-element.elementor-element-323f570a .elementor-widget-container,
.elementor-6178 .elementor-element.elementor-element-323f570a .elementor-heading-title,
.elementor-6178 .elementor-element.elementor-element-323f570a p{
	text-align: center !important;
}
.elementor-6178 .elementor-element.elementor-element-323f570a .elementor-heading-title,
.elementor-6178 .elementor-element.elementor-element-323f570a h2{
	color: #fff;
}
.elementor-6178 .elementor-element.elementor-element-323f570a p{
	color: rgba(255, 255, 255, 0.78);
}
.elementor-6178 .elementor-element.elementor-element-323f570a .elementor-button{
	background-color: #fff !important;
	color: var(--theme-color-link, var(--wp--preset--color--theme-color-link)) !important;
	margin-top: 14px;
}
.elementor-6178 .elementor-element.elementor-element-323f570a .elementor-button:hover{
	background-color: var(--theme-color-bg_color_2, var(--wp--preset--color--theme-color-bg-color-2)) !important;
	color: var(--theme-color-hover, var(--wp--preset--color--theme-color-hover)) !important;
}
@media (max-width: 1279px){
	.elementor-6178 .elementor-element.elementor-element-323f570a{
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* Utility di famiglia: hero a piena larghezza e CTA terracotta centrata.
   Iniettate come classi nel markup delle pagine (sottopagine progetti e future). */
.gf-hero-fullbleed{
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	--padding-left: 70px;
	--padding-right: 70px;
	padding-left: var(--padding-left) !important;
	padding-right: var(--padding-right) !important;
}
@media (max-width: 1279px){
	.gf-hero-fullbleed{ --padding-left: 30px; --padding-right: 30px; }
}
@media (max-width: 767px){
	.gf-hero-fullbleed{ --padding-left: 20px; --padding-right: 20px; }
}
.gf-cta-fix{
	background-color: var(--theme-color-link, var(--wp--preset--color--theme-color-link)) !important;
	background-image: none !important;
	border-radius: 24px;
	--padding-top: 90px;
	--padding-bottom: 90px;
}
.gf-cta-fix > .e-con-inner{
	flex-direction: column !important;
	align-items: center !important;
	text-align: center;
	gap: 8px;
	max-width: 820px;
}
.gf-cta-fix > .e-con-inner > .e-con{
	width: 100% !important;
	max-width: 100% !important;
}
.gf-cta-fix > .e-con-inner > .e-con > .e-con-inner{
	justify-content: center !important;
	align-items: center !important;
}
.gf-cta-fix .elementor-widget,
.gf-cta-fix .elementor-widget-container,
.gf-cta-fix .elementor-heading-title,
.gf-cta-fix p{
	text-align: center !important;
}
.gf-cta-fix .elementor-heading-title,
.gf-cta-fix h2{
	color: #fff;
}
.gf-cta-fix p{
	color: rgba(255, 255, 255, 0.78);
}
.gf-cta-fix .elementor-button{
	background-color: #fff !important;
	color: var(--theme-color-link, var(--wp--preset--color--theme-color-link)) !important;
	margin-top: 14px;
}
.gf-cta-fix .elementor-button:hover{
	background-color: var(--theme-color-bg_color_2, var(--wp--preset--color--theme-color-bg-color-2)) !important;
	color: var(--theme-color-hover, var(--wp--preset--color--theme-color-hover)) !important;
}
@media (max-width: 1279px){
	.gf-cta-fix{
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* Shop e pagine prodotto */
.gf-product{ display: block !important; padding-top: 40px; }
.gf-product > .e-con-inner{
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 60px;
	align-items: start;
}
.gf-product__media img{ border-radius: 24px; width: 100%; height: auto; }
.gf-product__title{
	font-family: var(--theme-font-h1_font-family, var(--wp--preset--font-family--h-1-font));
	color: var(--theme-color-title, var(--wp--preset--color--theme-color-title));
	margin: 0 0 6px;
}
.gf-product__price{
	font-family: var(--theme-font-h1_font-family, var(--wp--preset--font-family--h-1-font));
	font-weight: 600;
	font-size: 34px;
	color: var(--theme-color-link, var(--wp--preset--color--theme-color-link));
	margin: 0 0 4px;
}
.gf-product__meta{ color: var(--theme-color-meta, var(--wp--preset--color--theme-color-meta)); margin: 0 0 18px; }
.gf-product__note{ font-size: 15px; color: var(--theme-color-meta, inherit); }
@media (max-width: 1279px){
	.gf-product > .e-con-inner{ grid-template-columns: 1fr; gap: 30px; }
}
.gf-howto{ display: block !important; padding-top: 50px; padding-bottom: 30px; }
.gf-howto > .e-con-inner{ max-width: 1240px; margin-left: auto; margin-right: auto; }
.gf-shop-card{ text-align: center; align-items: center; }
.gf-shop-card__img img{ border-radius: 18px; width: 100%; height: auto; }
.gf-shop-card h3 a{ color: var(--theme-color-title, var(--wp--preset--color--theme-color-title)); }
.gf-shop-card .gf-cms-card__btn{ align-self: center; }
.gf-shop-grid{ margin-top: 20px; }

/* esito invio form contatti */
.gf-form-flash{
	max-width: 1240px;
	margin: 24px auto;
	padding: 16px 22px;
	border-radius: 14px;
	font-weight: 600;
}
.gf-form-flash--success{ background: #e8f3ec; color: #1c5e3a; border: 1px solid #bfe0cc; }
.gf-form-flash--error{ background: #faeceb; color: #8a2a22; border: 1px solid #efc9c5; }

/* CTA custom (senza data-id, es. pagine prodotto): i div non-Elementor
   non ricevono le regole container e restano inline — display esplicito. */
.gf-cta-fix:not([data-id]){
	display: block !important;
	box-sizing: border-box;
	max-width: 1240px;
	margin: 50px auto;
	padding: 90px 40px;
}
@media (max-width: 767px){
	.gf-cta-fix:not([data-id]){
		padding: 60px 28px;
	}
}
.gf-cta-fix:not([data-id]) > .e-con-inner{
	display: flex;
	margin: 0 auto;
}

/* Contattami: hero di famiglia (gradiente caldo, occhiello + titolone) */
.gf-contact-hero{
	background-image:
		radial-gradient(circle at 12% 16%, rgba(253, 201, 3, 0.18), rgba(0, 0, 0, 0) 30%),
		linear-gradient(135deg, rgb(255, 248, 220), rgb(250, 250, 247) 72%) !important;
}
.gf-contact-hero h1.elementor-heading-title{
	font-family: var(--theme-font-h1_font-family, var(--wp--preset--font-family--h-1-font));
	font-size: clamp(52px, 5vw, 92px);
	line-height: 0.95;
	letter-spacing: -0.02em;
	color: var(--theme-color-title, var(--wp--preset--color--theme-color-title));
	margin: 8px 0 34px;
}
