/*
Theme Name: whitemb26-child
Description: Tema figlio di whitemb 26
Author: Wuga
Template: astra
Version: 1.0.0
*/

/* Scrivi qui sotto le tue regole CSS personalizzate */

body {
  font-family: "Montserrat", sans-serif !important;
  font-optical-sizing: auto;
}

.top-w {
	width: 100%;
	padding: 10px 0 10px 0;
	background-color: #333333;
	color: #fff;
	text-align: center;
}

.top-w-content {
	width: 100%;
	color: #fff;
	text-align: center;
}

.top-w-content a {
	color: #97BBE5;
}

#page .site-content {
  flex-grow: 1;
  background: #FFFFFF;
}

.home .bg-sfuma {
	background-repeat: repeat-y !important;
}

.btn-white {
	float: left !important;
	margin-top: -40px !important;
}

.p-home-area {
	margin-top: -50px !important;
	margin-bottom: 50px !important;
}

.box-area {
	height:600px !important;
	overflow: hidden; /* Blocca l'immagine quando si ingrandisce */
	transition: transform 0.5s ease; /* Velocità e fluidità dello zoom */
}

.box-area:hover {
	transform: scale(1.1); /* Ingrandisce del 10% */
}

.elementor-element .swiper .swiper-horizontal > .swiper-pagination-bullets, .elementor-element .swiper .swiper-pagination-bullets.swiper-pagination-horizontal, .elementor-element .swiper .swiper-pagination-custom, .elementor-element .swiper .swiper-pagination-fraction, .elementor-element .swiper ~ .swiper-pagination-bullets.swiper-pagination-horizontal, .elementor-element .swiper ~ .swiper-pagination-custom, .elementor-element .swiper ~ .swiper-pagination-fraction, .elementor-lightbox .swiper .swiper-horizontal > .swiper-pagination-bullets, .elementor-lightbox .swiper .swiper-pagination-bullets.swiper-pagination-horizontal, .elementor-lightbox .swiper .swiper-pagination-custom, .elementor-lightbox .swiper .swiper-pagination-fraction, .elementor-lightbox .swiper ~ .swiper-pagination-bullets.swiper-pagination-horizontal, .elementor-lightbox .swiper ~ .swiper-pagination-custom, .elementor-lightbox .swiper ~ .swiper-pagination-fraction {
	bottom: -20px !important;
}


/* ==========================================================
   RESPONSIVE
   Breakpoint coerenti con Elementor:
   tablet: 768px - 1024px | mobile: fino a 767px
   ========================================================== */

/* Evita lo scorrimento orizzontale causato da elementi decorativi,
   slider o margini negativi. */
html,
body {
	max-width: 100%;
	overflow-x: hidden;
}

img,
svg,
video,
iframe {
	max-width: 100%;
}

/* Permette a titoli, link e pulsanti di andare a capo senza uscire
   dal contenitore alle larghezze ridotte. */
.elementor-heading-title,
.elementor-button-text,
.top-w-content,
.top-w-content a {
	overflow-wrap: anywhere;
}

/* TABLET -------------------------------------------------- */
@media screen and (min-width: 768px) and (max-width: 1024px) {
	.top-w {
		padding: 9px 24px;
	}

	.btn-white {
		margin-top: -24px !important;
	}

	.p-home-area {
		margin-top: -30px !important;
		margin-bottom: 36px !important;
	}

	.box-area {
		height: 480px !important;
	}

	/* Uno zoom più leggero evita che le card coprano quelle vicine. */
	.box-area:hover {
		transform: scale(1.04);
	}

	/* HOME: Aree di applicazione - tre card allineate. */
	.home .elementor-element.elementor-element-3536c0d {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 18px !important;
		width: calc(100% - 48px) !important;
		max-width: 1100px;
		margin-inline: auto !important;
	}

	.home .elementor-element-3536c0d > .box-area {
		width: 100% !important;
		height: 460px !important;
		margin: 0 !important;
		min-width: 0;
	}

	.home .elementor-element-3536c0d > .box-area > .box-hp {
		display: flex !important;
		align-items: flex-end !important;
		justify-content: center !important;
		width: 100% !important;
		height: 100% !important;
		padding: 28px 16px !important;
	}

	.home .elementor-element-3536c0d .box-hp .e-heading-base {
		margin: 0 !important;
		font-size: 15px !important;
		line-height: 1.3 !important;
	}

	/* HOME: Partner di fiducia - griglia regolare 2 x 2. */
	.home .elementor-element.elementor-element-2accefe {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 20px !important;
		width: calc(100% - 48px) !important;
		max-width: 1100px;
		margin: 36px auto 0 !important;
	}

	.home .elementor-element-2accefe > .elementor-element {
		width: 100% !important;
		height: 360px !important;
		margin: 0 !important;
		min-width: 0;
	}

	.home .elementor-element-2accefe > .elementor-element > .box-hp {
		display: flex !important;
		align-items: flex-end !important;
		justify-content: center !important;
		width: 100% !important;
		height: 100% !important;
		padding: 28px 22px !important;
	}

	.home .elementor-element-2accefe .box-hp .e-heading-base {
		margin: 0 !important;
		font-size: 16px !important;
		line-height: 1.35 !important;
	}

	/* HOME: testo e modulo contatti su due righe, centrati. */
	.home .elementor-element.elementor-element-aef4a6a {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		gap: 36px !important;
		width: calc(100% - 64px) !important;
		max-width: 760px;
	}

	.home .elementor-element-aef4a6a > .elementor-element-81be00b,
	.home .elementor-element-aef4a6a > .elementor-element-9a01dcf {
		width: 100% !important;
	}

	.home .elementor-element-9a01dcf .cf7-custom-form {
		max-width: 640px !important;
	}
}

/* MOBILE -------------------------------------------------- */
@media screen and (max-width: 767px) {
	.top-w {
		padding: 8px 16px;
		font-size: 13px;
		line-height: 1.45;
	}

	.top-w-content {
		line-height: inherit;
	}

	/* Su mobile gli elementi tornano nel normale flusso della pagina. */
	.btn-white {
		float: none !important;
		margin-top: 20px !important;
	}

	.p-home-area {
		margin-top: 0 !important;
		margin-bottom: 28px !important;
	}

	.box-area {
		height: 380px !important;
	}

	/* I dispositivi touch non hanno un vero stato hover. */
	.box-area:hover {
		transform: none;
	}

	/* Mantiene i controlli dello slider visibili senza allontanarli
	   eccessivamente dal contenuto. */
	.elementor-element .swiper .swiper-horizontal > .swiper-pagination-bullets,
	.elementor-element .swiper .swiper-pagination-bullets.swiper-pagination-horizontal,
	.elementor-element .swiper .swiper-pagination-custom,
	.elementor-element .swiper .swiper-pagination-fraction,
	.elementor-element .swiper ~ .swiper-pagination-bullets.swiper-pagination-horizontal,
	.elementor-element .swiper ~ .swiper-pagination-custom,
	.elementor-element .swiper ~ .swiper-pagination-fraction {
		bottom: -12px !important;
	}

	/* HOME: Aree di applicazione - una card per riga. */
	.home .elementor-element.elementor-element-3536c0d {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 18px !important;
		width: calc(100% - 32px) !important;
		margin-inline: auto !important;
	}

	.home .elementor-element-3536c0d > .box-area {
		width: 100% !important;
		height: 420px !important;
		margin: 0 !important;
		min-width: 0;
	}

	.home .elementor-element-3536c0d > .box-area > .box-hp {
		display: flex !important;
		align-items: flex-end !important;
		justify-content: center !important;
		width: 100% !important;
		height: 100% !important;
		padding: 30px 18px !important;
	}

	.home .elementor-element-3536c0d .box-hp .e-heading-base {
		margin: 0 !important;
		font-size: 17px !important;
		line-height: 1.35 !important;
	}

	/* HOME: Partner di fiducia - una card per riga. */
	.home .elementor-element.elementor-element-2accefe {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 18px !important;
		width: calc(100% - 32px) !important;
		margin: 30px auto 0 !important;
	}

	.home .elementor-element-2accefe > .elementor-element {
		width: 100% !important;
		height: 330px !important;
		margin: 0 !important;
		min-width: 0;
	}

	.home .elementor-element-2accefe > .elementor-element > .box-hp {
		display: flex !important;
		align-items: flex-end !important;
		justify-content: center !important;
		width: 100% !important;
		height: 100% !important;
		padding: 28px 18px !important;
	}

	.home .elementor-element-2accefe .box-hp .e-heading-base {
		margin: 0 !important;
		font-size: 16px !important;
		line-height: 1.35 !important;
	}

	/* HOME: sezione contatti e form a larghezza piena. */
	.home .elementor-element.elementor-element-32e7c44 {
		padding: 48px 16px !important;
	}

	.home .elementor-element.elementor-element-aef4a6a {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 30px !important;
		width: 100% !important;
	}

	.home .elementor-element-aef4a6a > .elementor-element-81be00b,
	.home .elementor-element-aef4a6a > .elementor-element-9a01dcf,
	.home .elementor-element-9a01dcf .eael-contact-form-7-wrapper,
	.home .elementor-element-9a01dcf .cf7-custom-form {
		width: 100% !important;
		max-width: none !important;
	}

	.home .elementor-element-81be00b .e-heading-base br {
		display: none;
	}

	.home .elementor-element-81be00b .e-71a249f-7f28468 {
		font-size: clamp(30px, 9vw, 38px) !important;
		line-height: 1.12 !important;
	}

	/* Il form passa a una colonna su tutto il breakpoint mobile
	   di Elementor, non soltanto sotto i 600px. */
	.home .cf7-custom-form .cf7-row {
		flex-direction: column !important;
		gap: 12px !important;
		width: 100% !important;
	}

	.home .cf7-custom-form .cf7-col,
	.home .cf7-custom-form .cf7-full,
	.home .cf7-custom-form p,
	.home .cf7-custom-form .wpcf7-form-control-wrap {
		width: 100% !important;
	}
}

/* SMARTPHONE PICCOLI ------------------------------------- */
@media screen and (max-width: 480px) {
	.box-area {
		height: 360px !important;
	}

	.home .elementor-element-3536c0d > .box-area {
		height: 360px !important;
	}

	.home .elementor-element-2accefe > .elementor-element {
		height: 300px !important;
	}

	.btn-white {
		width: 100%;
	}

	.btn-white .elementor-button {
		width: 100%;
		justify-content: center;
	}
}

/* ==========================================================
   PAGINE INTERNE
   Chi siamo: 395 | Fisioterapia: 174 | Estetica: 289
   Veterinaria: 314 | Contatti: 455
   ========================================================== */

/* Elementi condivisi dalle pagine interne. */
body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314, .page-id-455) .e-heading-base,
body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314, .page-id-455) .e-paragraph-base {
	max-width: 100%;
}

body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314) .elementor-element-bd9f640,
body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314) .elementor-element-0c69a0b {
	padding-inline: 24px !important;
}

/* Certificazioni: impedisce ai due box di debordare. */
body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314) .elementor-element-a9abb76 {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 20px !important;
	justify-content: center !important;
	padding-inline: 20px !important;
}

body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314) .elementor-element-a9abb76 > .elementor-element {
	margin: 0 !important;
}

/* Contatti presente in tutte le pagine interne. */
body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314, .page-id-455) .elementor-element-9a01dcf,
body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314, .page-id-455) .elementor-element-9a01dcf .eael-contact-form-7-wrapper,
body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314, .page-id-455) .elementor-element-9a01dcf .cf7-custom-form {
	min-width: 0;
}

/* TABLET - PAGINE INTERNE ------------------------------- */
@media screen and (min-width: 768px) and (max-width: 1024px) {
	/* Hero e titoli. */
	body:is(.page-id-174, .page-id-289, .page-id-314) .elementor-element-a0104b1 {
		width: calc(100% - 64px) !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 32px !important;
	}

	body:is(.page-id-395, .page-id-455) .e-1e11db5-d210038,
	body:is(.page-id-174, .page-id-289, .page-id-314) .e-d4cd271-999bb74 {
		font-size: 50px !important;
		line-height: 1.05 !important;
		height: auto !important;
	}

	/* Pagine prodotto: sezioni immagine/testo equilibrate. */
	body:is(.page-id-174, .page-id-289, .page-id-314) .elementor-element-c055288,
	body:is(.page-id-174, .page-id-289, .page-id-314) .elementor-element-ecacb15 {
		display: flex !important;
		align-items: center !important;
		gap: 36px !important;
		width: calc(100% - 64px) !important;
		max-width: 1100px;
		margin-inline: auto !important;
	}

	body:is(.page-id-174, .page-id-289, .page-id-314) .elementor-element-c055288 > .elementor-element,
	body:is(.page-id-174, .page-id-289, .page-id-314) .elementor-element-ecacb15 > .elementor-element {
		width: calc(50% - 18px) !important;
		min-width: 0;
	}

	body:is(.page-id-174, .page-id-289, .page-id-314) .elementor-element-4144a9d,
	body:is(.page-id-174, .page-id-289, .page-id-314) .elementor-element-56d28fa {
		width: 100% !important;
		padding-top: 0 !important;
	}

	body:is(.page-id-174, .page-id-289, .page-id-314) .elementor-element-8170b8e img,
	body:is(.page-id-174, .page-id-289, .page-id-314) .elementor-element-db17df4 img {
		width: 100% !important;
		height: auto !important;
		max-height: 540px;
		object-fit: contain;
	}

	/* Coppie di immagini: due colonne esattamente uguali. */
	body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314) .elementor-element-d8b1be6 {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 0 !important;
	}

	body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314) .elementor-element-d8b1be6 > .elementor-element {
		width: 100% !important;
		min-width: 0;
	}

	/* Chi siamo: aree applicative e valori. */
	.page-id-395 .elementor-element-fc7eea8 {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 18px !important;
		width: calc(100% - 48px) !important;
		padding-bottom: 48px !important;
		margin-inline: auto !important;
	}

	.page-id-395 .elementor-element-fc7eea8 > .box-area {
		width: 100% !important;
		height: 450px !important;
		margin: 0 !important;
		min-width: 0;
	}

	.page-id-395 .elementor-element-fc7eea8 > .box-area > .box-hp {
		display: flex !important;
		align-items: flex-end !important;
		justify-content: center !important;
		width: 100% !important;
		height: 100% !important;
		padding: 28px 14px !important;
	}

	.page-id-395 .elementor-element-fc7eea8 .box-hp .e-heading-base {
		margin: 0 !important;
		font-size: 15px !important;
		line-height: 1.3 !important;
	}

	.page-id-395 .elementor-element-ed812a4 {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 36px 28px !important;
		width: calc(100% - 64px) !important;
	}

	.page-id-395 .elementor-element-ed812a4 > .elementor-element {
		width: 100% !important;
		min-width: 0;
	}

	/* Modulo contatti: testo sopra, form sotto. */
	body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314, .page-id-455) .elementor-element-aef4a6a {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		gap: 36px !important;
		width: calc(100% - 64px) !important;
		max-width: 760px;
	}

	body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314, .page-id-455) .elementor-element-aef4a6a > .elementor-element {
		width: 100% !important;
	}

	body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314, .page-id-455) .elementor-element-9a01dcf .cf7-custom-form {
		width: 100% !important;
		max-width: 640px !important;
	}
}

/* MOBILE - PAGINE INTERNE ------------------------------- */
@media screen and (max-width: 767px) {
	/* Hero pagine interne. */
	body:is(.page-id-174, .page-id-289, .page-id-314) .elementor-element-a0104b1 {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 20px !important;
		width: calc(100% - 32px) !important;
		margin-inline: auto !important;
	}

	body:is(.page-id-395, .page-id-455) .e-1e11db5-d210038,
	body:is(.page-id-174, .page-id-289, .page-id-314) .e-d4cd271-999bb74 {
		font-size: clamp(38px, 12vw, 48px) !important;
		line-height: 1.05 !important;
		height: auto !important;
		margin-top: 16px !important;
	}

	body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314) .elementor-element-bd9f640,
	body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314) .elementor-element-0c69a0b {
		padding-inline: 16px !important;
	}

	body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314) .elementor-element-bd9f640 br,
	body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314) .elementor-element-0c69a0b br {
		display: none;
	}

	/* Pagine prodotto: tutte le sezioni diventano verticali. */
	body:is(.page-id-174, .page-id-289, .page-id-314) .elementor-element-c055288,
	body:is(.page-id-174, .page-id-289, .page-id-314) .elementor-element-ecacb15 {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 28px !important;
		width: 100% !important;
		padding-inline: 16px !important;
	}

	body:is(.page-id-174, .page-id-289, .page-id-314) .elementor-element-c055288 > .elementor-element,
	body:is(.page-id-174, .page-id-289, .page-id-314) .elementor-element-ecacb15 > .elementor-element,
	body:is(.page-id-174, .page-id-289, .page-id-314) .elementor-element-4144a9d,
	body:is(.page-id-174, .page-id-289, .page-id-314) .elementor-element-56d28fa {
		width: 100% !important;
		padding-top: 0 !important;
		min-width: 0;
	}

	body:is(.page-id-174, .page-id-289, .page-id-314) .elementor-element-8170b8e,
	body:is(.page-id-174, .page-id-289, .page-id-314) .elementor-element-db17df4 {
		justify-content: center !important;
	}

	body:is(.page-id-174, .page-id-289, .page-id-314) .elementor-element-8170b8e img,
	body:is(.page-id-174, .page-id-289, .page-id-314) .elementor-element-db17df4 img {
		display: block;
		width: 100% !important;
		height: auto !important;
		max-height: 480px;
		margin-inline: auto;
		object-fit: contain;
	}

	body:is(.page-id-174, .page-id-289, .page-id-314) .e-02a90bf-ec41dee,
	body:is(.page-id-174, .page-id-289, .page-id-314) .e-2f4958a-0fa5d30 {
		font-size: clamp(27px, 8vw, 34px) !important;
		line-height: 1.15 !important;
	}

	/* Coppie di immagini a piena larghezza. */
	body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314) .elementor-element-d8b1be6 {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314) .elementor-element-d8b1be6 > .elementor-element {
		width: 100% !important;
	}

	/* Chi siamo: tre aree in colonna. */
	.page-id-395 .elementor-element-fc7eea8 {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 18px !important;
		width: calc(100% - 32px) !important;
		padding-bottom: 40px !important;
		margin-inline: auto !important;
	}

	.page-id-395 .elementor-element-fc7eea8 > .box-area {
		width: 100% !important;
		height: 400px !important;
		margin: 0 !important;
	}

	.page-id-395 .elementor-element-fc7eea8 > .box-area > .box-hp {
		display: flex !important;
		align-items: flex-end !important;
		justify-content: center !important;
		width: 100% !important;
		height: 100% !important;
		padding: 28px 18px !important;
	}

	.page-id-395 .elementor-element-fc7eea8 .box-hp .e-heading-base {
		margin: 0 !important;
		font-size: 17px !important;
		line-height: 1.35 !important;
	}

	/* Chi siamo: quattro valori su una sola colonna. */
	.page-id-395 .elementor-element-ed812a4 {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 34px !important;
		width: 100% !important;
		padding-inline: 20px !important;
	}

	.page-id-395 .elementor-element-ed812a4 > .elementor-element {
		width: 100% !important;
		min-width: 0;
	}

	/* Certificazioni in colonna. */
	body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314) .elementor-element-a9abb76 {
		flex-direction: column !important;
		align-items: stretch !important;
		padding-inline: 16px !important;
	}

	body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314) .elementor-element-a9abb76 > .elementor-element {
		width: 100% !important;
		max-width: 420px;
		margin-inline: auto !important;
	}

	/* Contatto comune: testo e modulo verticali. */
	body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314, .page-id-455) .elementor-element-32e7c44 {
		padding: 48px 16px !important;
	}

	body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314, .page-id-455) .elementor-element-aef4a6a {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 30px !important;
		width: 100% !important;
	}

	body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314, .page-id-455) .elementor-element-aef4a6a > .elementor-element,
	body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314, .page-id-455) .elementor-element-9a01dcf .eael-contact-form-7-wrapper,
	body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314, .page-id-455) .elementor-element-9a01dcf .cf7-custom-form {
		width: 100% !important;
		max-width: none !important;
	}

	body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314, .page-id-455) .elementor-element-81be00b .e-heading-base br {
		display: none;
	}

	body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314, .page-id-455) .elementor-element-81be00b .e-71a249f-7f28468 {
		font-size: clamp(30px, 9vw, 38px) !important;
		line-height: 1.12 !important;
	}

	body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314, .page-id-455) .cf7-custom-form .cf7-row {
		flex-direction: column !important;
		gap: 12px !important;
		width: 100% !important;
	}

	body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314, .page-id-455) .cf7-custom-form .cf7-col,
	body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314, .page-id-455) .cf7-custom-form .cf7-full,
	body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314, .page-id-455) .cf7-custom-form p,
	body:is(.page-id-395, .page-id-174, .page-id-289, .page-id-314, .page-id-455) .cf7-custom-form .wpcf7-form-control-wrap {
		width: 100% !important;
	}
}

@media screen and (max-width: 480px) {
	.page-id-395 .elementor-element-fc7eea8 > .box-area {
		height: 350px !important;
	}
}

/* ==========================================================
   PAGINA PRODOTTI - ID 434
   ========================================================== */

.page-id-434 .elementor-element-bd9f640 {
	padding-inline: 24px !important;
}

.page-id-434 .elementor-element-a9abb76 {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 20px !important;
	justify-content: center !important;
	padding-inline: 20px !important;
}

.page-id-434 .elementor-element-a9abb76 > .elementor-element {
	margin: 0 !important;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
	.page-id-434 .e-1e11db5-d210038 {
		font-size: 50px !important;
		line-height: 1.05 !important;
	}

	/* Tre prodotti su una griglia regolare. */
	.page-id-434 .elementor-element-fc7eea8 {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 18px !important;
		width: calc(100% - 48px) !important;
		max-width: 1100px;
		padding-bottom: 48px !important;
		margin-inline: auto !important;
	}

	.page-id-434 .elementor-element-fc7eea8 > .box-area {
		width: 100% !important;
		height: 460px !important;
		margin: 0 !important;
		min-width: 0;
	}

	.page-id-434 .elementor-element-fc7eea8 > .box-area > .box-hp {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: flex-end !important;
		width: 100% !important;
		height: 100% !important;
		padding: 30px 14px !important;
	}

	.page-id-434 .elementor-element-fc7eea8 .e-ab70d27-47785ac,
	.page-id-434 .elementor-element-fc7eea8 .e-9475383-d3ef0d8 {
		padding-top: 0 !important;
		margin: 0 0 8px !important;
		font-size: 40px !important;
		line-height: 1 !important;
	}

	.page-id-434 .elementor-element-fc7eea8 .e-c6f0142-068b26f,
	.page-id-434 .elementor-element-fc7eea8 .e-f729300-72c6527 {
		margin: 0 !important;
		font-size: 14px !important;
		line-height: 1.3 !important;
	}

	/* Valore aggiunto: due colonne per due righe. */
	.page-id-434 .elementor-element-ed812a4 {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 36px 28px !important;
		width: calc(100% - 64px) !important;
	}

	.page-id-434 .elementor-element-ed812a4 > .elementor-element {
		width: 100% !important;
		min-width: 0;
	}

	/* Sezione contatti impilata e centrata. */
	.page-id-434 .elementor-element-aef4a6a {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		gap: 36px !important;
		width: calc(100% - 64px) !important;
		max-width: 760px;
	}

	.page-id-434 .elementor-element-aef4a6a > .elementor-element {
		width: 100% !important;
	}

	.page-id-434 .elementor-element-9a01dcf .cf7-custom-form {
		width: 100% !important;
		max-width: 640px !important;
	}
}

@media screen and (max-width: 767px) {
	.page-id-434 .e-1e11db5-d210038 {
		font-size: clamp(38px, 12vw, 48px) !important;
		line-height: 1.05 !important;
		margin-top: 16px !important;
	}

	.page-id-434 .elementor-element-bd9f640 {
		padding-inline: 16px !important;
	}

	.page-id-434 .elementor-element-bd9f640 br {
		display: none;
	}

	/* Un prodotto per riga. */
	.page-id-434 .elementor-element-fc7eea8 {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 18px !important;
		width: calc(100% - 32px) !important;
		padding-bottom: 40px !important;
		margin-inline: auto !important;
	}

	.page-id-434 .elementor-element-fc7eea8 > .box-area {
		width: 100% !important;
		height: 420px !important;
		margin: 0 !important;
	}

	.page-id-434 .elementor-element-fc7eea8 > .box-area > .box-hp {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: flex-end !important;
		width: 100% !important;
		height: 100% !important;
		padding: 30px 18px !important;
	}

	.page-id-434 .elementor-element-fc7eea8 .e-ab70d27-47785ac,
	.page-id-434 .elementor-element-fc7eea8 .e-9475383-d3ef0d8 {
		padding-top: 0 !important;
		margin: 0 0 8px !important;
		font-size: 44px !important;
		line-height: 1 !important;
	}

	.page-id-434 .elementor-element-fc7eea8 .e-c6f0142-068b26f,
	.page-id-434 .elementor-element-fc7eea8 .e-f729300-72c6527 {
		margin: 0 !important;
		font-size: 16px !important;
		line-height: 1.3 !important;
	}

	/* Valore aggiunto in colonna. */
	.page-id-434 .elementor-element-ed812a4 {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 34px !important;
		width: 100% !important;
		padding-inline: 20px !important;
	}

	.page-id-434 .elementor-element-ed812a4 > .elementor-element {
		width: 100% !important;
		min-width: 0;
	}

	/* Certificazioni in colonna. */
	.page-id-434 .elementor-element-a9abb76 {
		flex-direction: column !important;
		align-items: stretch !important;
		padding-inline: 16px !important;
	}

	.page-id-434 .elementor-element-a9abb76 > .elementor-element {
		width: 100% !important;
		max-width: 420px;
		margin-inline: auto !important;
	}

	/* Contatti e Contact Form 7. */
	.page-id-434 .elementor-element-32e7c44 {
		padding: 48px 16px !important;
	}

	.page-id-434 .elementor-element-aef4a6a {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 30px !important;
		width: 100% !important;
	}

	.page-id-434 .elementor-element-aef4a6a > .elementor-element,
	.page-id-434 .elementor-element-9a01dcf .eael-contact-form-7-wrapper,
	.page-id-434 .elementor-element-9a01dcf .cf7-custom-form {
		width: 100% !important;
		max-width: none !important;
	}

	.page-id-434 .elementor-element-81be00b .e-heading-base br {
		display: none;
	}

	.page-id-434 .elementor-element-81be00b .e-71a249f-7f28468 {
		font-size: clamp(30px, 9vw, 38px) !important;
		line-height: 1.12 !important;
	}

	.page-id-434 .cf7-custom-form .cf7-row {
		flex-direction: column !important;
		gap: 12px !important;
		width: 100% !important;
	}

	.page-id-434 .cf7-custom-form .cf7-col,
	.page-id-434 .cf7-custom-form .cf7-full,
	.page-id-434 .cf7-custom-form p,
	.page-id-434 .cf7-custom-form .wpcf7-form-control-wrap {
		width: 100% !important;
	}
}

@media screen and (max-width: 480px) {
	.page-id-434 .elementor-element-fc7eea8 > .box-area {
		height: 360px !important;
	}
}

/* Accessibilità: disattiva animazioni non indispensabili quando
   l'utente ha richiesto una riduzione del movimento. */
@media (prefers-reduced-motion: reduce) {
	.box-area {
		transition: none;
	}

	.box-area:hover {
		transform: none;
	}
}
