/* Servizi: schede (pagina Servizi e categorie dei servizi) e pagina del singolo servizio.
   Valori ripresi dal plugin Themesflat e da Elementor del sito precedente. */

.carenow-icon-arrow-right-small::before { content: "\e909"; }
.carenow-icon-021-phone-1::before { content: "\f11f"; }

/* ---------- Contenuto con colonna laterale ---------- */
.page-wrap.sidebar-right .content-area { position: relative; float: left; width: 68.3%; padding-right: 30px; }
@media only screen and (max-width: 991px) {
	.page-wrap.sidebar-right .content-area { float: none; width: 100%; margin-bottom: 0; padding-right: 0; padding-left: 0; }
}

/* ---------- Schede dei servizi ---------- */
.wrap-services-post .item { flex: 0 0 50%; max-width: 50%; padding-right: 15px; padding-left: 15px; }
.wrap-services-post.column-3 .item { flex: 0 0 33.33%; max-width: 33.33%; }
.wrap-services-post .item .services-post { margin-bottom: 39px; }
.services-post .featured-post { position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; margin: 0; border-radius: 5px; }
.services-post .featured-post a { position: relative; display: inline-block; }
.services-post .featured-post img,
.services-post .content { transition: all .5s ease-in-out; }
.services-post:hover .featured-post img { transform: scale(1.1); }
.services-post .content {
	position: relative;
	margin: -28px 15px 0;
	padding: 31px 30px 23px 33px;
	border-radius: 5px;
	background: #fff;
	box-shadow: 0 10px 30px 3px rgba(0, 0, 0, .05);
}
.services-post .title { margin: 0 0 8px; font-size: 20px; font-weight: 700; line-height: 1.2; }
.services-post .title a { color: inherit; }
.services-post .title a:hover { color: var(--cg-secondary); }
.tf-services-wrap .services-post .desc { color: var(--cg-primary); line-height: 1.9; }
.services-post .tf-button-container { margin-top: 21px; }
.services-post .tf-button-container a {
	position: relative;
	display: inline-block;
	width: 100%;
	padding: 10px;
	border: 2px solid rgba(177, 212, 98, .2);
	color: var(--cg-primary);
	font-size: 14px;
	font-weight: 500;
	text-align: center;
}
.services-post .tf-button-container a i { margin-left: 7px; font-size: 10px; }
.services-post .tf-button-container a .cg-fa-arrow { display: inline-block; width: .875em; height: 1em; margin-left: 7px; font-size: 10px; vertical-align: -.125em; }
/* Pulsante delle schede della pagina Servizi: il verde scorre da sinistra al passaggio del mouse. */
.services-post .tf-button-container a.btn {
	z-index: 1;
	overflow: hidden;
	border-radius: 5px;
	line-height: 1.5;
	vertical-align: middle;
	cursor: pointer;
	user-select: none;
	transition: all .3s linear;
}
.services-post .tf-button-container a.btn::before {
	content: "";
	position: absolute; inset: 0; z-index: -1;
	background: var(--cg-secondary);
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform 500ms;
}
.services-post .tf-button-container a.btn:hover { color: #fff; }
.services-post .tf-button-container a.btn:hover::before { transform: scale(1, 1); transform-origin: left top; }
/* Pagine delle categorie: pulsante senza sfondo, al passaggio del mouse il testo diventa verde. */
.themesflat-services-taxonomy .services-post .tf-button-container a:hover { color: var(--cg-secondary); }

@media only screen and (max-width: 1024px) {
	.services-post .content { padding: 30px 20px; }
	.services-post .featured-post a,
	.services-post .featured-post a img { width: 100%; }
}
@media only screen and (max-width: 991px) {
	.wrap-services-post.column-3 { justify-content: center; }
}
@media only screen and (max-width: 767px) {
	.wrap-services-post .item,
	.wrap-services-post.column-3 .item { flex: 0 0 100%; max-width: 100%; }
	.services-post .content { padding: 30px 20px 29px; }
}

/* ---------- Pagina del singolo servizio ---------- */
#themesflat-content.cg-service-page { padding-top: 120px; padding-bottom: 126px; }
.single-services .entry-content .featured-post { margin: 0 0 20px; }
.single-services .entry-content .featured-post img { border-radius: 5px; }
.single-services .entry-content p { margin: 0 0 18px; }
.cg-service > * { position: relative; }
.cg-service > *:not(:last-child) { margin-bottom: 20px; }
.cg-service__titolo {
	margin: 0;
	padding: 0;
	color: #222;
	font-family: Rubik, sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 24px;
}
.cg-service__testo { color: #565872; line-height: 30px; letter-spacing: .35px; }
.cg-service__testo::after { content: ""; display: table; clear: both; }

/* Invito a prenotare (riquadro con icona in alto e filetto azzurro) */
.cg-iconbox.cg-service__invito { padding: 20px 0 0; border-radius: 5px; font-family: Poppins, sans-serif; font-size: 14px; line-height: 25px; }
.cg-iconbox.cg-service__invito::before {
	content: "";
	position: absolute; top: 0; left: 50%;
	display: block;
	width: 75%; height: 3px;
	background-color: var(--cg-accent);
	transform: translateX(-50%);
}
.cg-service__invito .wrap-icon { margin-bottom: 17px; }
.cg-service__invito .wrap-icon-inner { color: var(--cg-accent); fill: var(--cg-accent); }
.cg-service__invito .wrap-icon-inner i { font-size: 55px; }
.cg-service__invito:hover .wrap-icon-inner { color: #201630; fill: #201630; }
.cg-service__invito .content .title {
	margin: 0 0 4px;
	color: var(--cg-primary);
	font-family: Jost, sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3em;
	letter-spacing: 0;
}
.cg-service__invito .content .description,
.cg-service__invito .content .description a {
	color: #565872;
	font-family: Rubik, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0;
}
.cg-service__invito .content .description a:hover { color: var(--cg-secondary); }
