.elementor-kit-16{--e-global-color-primary:#2D4A7B;--e-global-color-secondary:#B5115E;--e-global-color-text:#000000;--e-global-color-accent:#B5115E;--e-global-color-283770d:#FFFFFF00;--e-global-color-0171caf:#FFFFFF;--e-global-color-7b39853:#F4F4F4;--e-global-color-9e90005:#B3B3B3;--e-global-color-405e7d8:#4C4C4C;--e-global-color-bb38f38:#000000;--e-global-color-3f89119:#543B6E;color:var( --e-global-color-text );font-size:16px;line-height:24px;}.elementor-kit-16 a{color:var( --e-global-color-text );}.elementor-kit-16 a:hover{color:var( --e-global-color-text );}.elementor-kit-16 h1{color:var( --e-global-color-text );font-size:52px;font-weight:400;line-height:57px;}.elementor-kit-16 h2{color:var( --e-global-color-text );font-size:36px;font-weight:700;line-height:43px;}.elementor-kit-16 h3{color:var( --e-global-color-text );font-size:24px;font-weight:500;line-height:37px;}.elementor-kit-16 h4{color:var( --e-global-color-text );font-size:20px;font-weight:700;line-height:30px;}.elementor-kit-16 h5{color:var( --e-global-color-text );font-size:16px;font-weight:500;line-height:24px;}.elementor-kit-16 h6{color:var( --e-global-color-text );font-size:16px;font-weight:700;line-height:24px;}.elementor-kit-16 button,.elementor-kit-16 input[type="button"],.elementor-kit-16 input[type="submit"],.elementor-kit-16 .elementor-button{border-radius:12px 12px 12px 12px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1366px){.elementor-kit-16{font-size:16px;line-height:24px;}.elementor-kit-16 h1{font-size:44px;line-height:50px;}.elementor-kit-16 h2{font-size:32px;line-height:39px;}.elementor-kit-16 h3{font-size:22px;line-height:32px;}.elementor-kit-16 h4{font-size:18px;line-height:27px;}.elementor-kit-16 h5{font-size:16px;line-height:24px;}.elementor-kit-16 h6{font-size:16px;line-height:24px;}}@media(max-width:1024px){.elementor-kit-16{font-size:16px;line-height:24px;}.elementor-kit-16 h1{font-size:36px;line-height:42px;}.elementor-kit-16 h2{font-size:28px;line-height:36px;}.elementor-kit-16 h3{font-size:20px;line-height:28px;}.elementor-kit-16 h4{font-size:17px;line-height:24px;}.elementor-kit-16 h5{font-size:16px;line-height:24px;}.elementor-kit-16 h6{font-size:16px;line-height:24px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-16{font-size:16px;line-height:24px;}.elementor-kit-16 h1{font-size:34px;line-height:36px;}.elementor-kit-16 h2{font-size:26px;line-height:34px;}.elementor-kit-16 h3{font-size:20px;line-height:28px;}.elementor-kit-16 h4{font-size:17px;line-height:24px;}.elementor-kit-16 h5{font-size:16px;line-height:24px;}.elementor-kit-16 h6{font-size:16px;line-height:24px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Contenitore con background quadrato */
.hs-square {
  aspect-ratio: 1 / 1;
  background-size: cover;
  background-position: center;
}

/* CARD base */
.service-card{
  position: relative;
  overflow: hidden;
  isolation: isolate;                 /* separa blending/z-index */
  background: #fff;
  border: 1px solid rgba(0,0,0,.15);
  transition: color .35s ease, border-color .35s ease, box-shadow .35s ease;
}

/* overlay GRADIENT brand: invisibile, poi in hover riempie la card */
.service-card::before{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #B5115E 0%, #2D4A7B 100%);
  opacity: 0;
  transform: scale(1.02);             /* leggero overdraw per evitare bordi */
  transition: opacity .35s ease, transform .6s ease;
  z-index: 0;                         /* sotto i contenuti */
}

/* contenuti sempre sopra */
.service-card > *{
  position: relative;
  z-index: 1;
}

/* HOVER: riempi con il gradiente e rendi tutto il testo bianco */
.service-card:hover::before{
  opacity: 1;
  transform: scale(1.02);
}

.service-card:hover{
  color: #fff;                         /* fallback per testi */
  border-color: rgba(255,255,255,.35);
  box-shadow: 0 10px 24px rgba(0,0,0,.15);
}

/* forza il bianco su tutti i testi/heading/elenchi/link/button */
.service-card:hover h1,
.service-card:hover h2,
.service-card:hover h3,
.service-card:hover h4,
.service-card:hover h5,
.service-card:hover h6,
.service-card:hover p,
.service-card:hover li,
.service-card:hover a,
.service-card:hover .elementor-heading-title,
.service-card:hover .elementor-icon-box-title,
.service-card:hover .elementor-icon-box-description,
.service-card:hover .elementor-button,
.service-card:hover .elementor-button .elementor-button-text{
  color: #fff !important;
}

/* underline dei link visibile su gradiente */
.service-card a{
  transition: color .35s ease, text-decoration-color .35s ease;
  text-decoration-color: currentColor;
}
.service-card:hover a{
  text-decoration-color: rgba(255,255,255,.75);
}

/* icone SVG: usa il colore corrente e falla diventare bianca in hover */
.service-card .elementor-icon, 
.service-card .elementor-icon svg{
  color: inherit;
  fill: currentColor;
  stroke: currentColor;
  transition: color .35s ease, fill .35s ease, stroke .35s ease;
}
.service-card:hover .elementor-icon,
.service-card:hover .elementor-icon svg{
  color: #fff;
  fill: #fff;
  stroke: #fff;
}

/* opzionale: la sottilissima barra inferiore rimane visibile sopra il gradiente */
.service-card .bottom-accent{
  position: absolute; left: 0; right: 0; bottom: 0; height: 6px;
  background: linear-gradient(90deg, #B5115E 0%, #2D4A7B 100%);
  z-index: 2;
}

/* accessibilità */
@media (prefers-reduced-motion: reduce){
  .service-card, .service-card::before{ transition: none; }
}/* End custom CSS */