/* ServicePompe – rifiniture (tipografia, interazioni, spaziature, menu mobile, grana) */
:root{--sp-ease:cubic-bezier(.2,.7,.2,1);--sp-t:.28s}

/* 2. A capo più equilibrato: titoli bilanciati, paragrafi senza parole isolate */
.elementor-heading-title{text-wrap:balance}
.elementor-widget-text-editor :is(p,li){text-wrap:pretty}
.sp-link--fondo .elementor-heading-title{text-wrap:nowrap}

/* 3. Righe di testo non troppo lunghe */
.elementor-widget.sp-misura{max-width:68ch!important}

/* 4. Cifre tabellari per numeri, anni e telefoni */
.elementor-heading-title,.elementor-counter-number-wrapper{font-variant-numeric:tabular-nums lining-nums}

/* 6-7. Stato premuto e curve uniformi */
.elementor-button,.sp-form .wpcf7-submit{transition:background-color var(--sp-t) var(--sp-ease),color var(--sp-t) var(--sp-ease),transform var(--sp-t) var(--sp-ease),box-shadow var(--sp-t) var(--sp-ease)}
.elementor-button:active,.sp-form .wpcf7-submit:active{transform:translateY(0) scale(.98)!important;box-shadow:none!important;transition-duration:.1s}
a.sp-riga{transition:background-color var(--sp-t) var(--sp-ease),transform .15s var(--sp-ease)}
.sp-js [data-elementor-type="wp-page"] a.sp-riga.sp-done{transition:background-color var(--sp-t) var(--sp-ease),transform .15s var(--sp-ease)}
a.sp-riga:active{transform:scale(.995)}
a.sp-riga .elementor-icon{transition:transform var(--sp-t) var(--sp-ease),background-color var(--sp-t) var(--sp-ease),color var(--sp-t) var(--sp-ease)}
a.sp-riga .elementor-heading-title,a.sp-riga .elementor-widget-text-editor{transition:color var(--sp-t) var(--sp-ease)}
a.sp-card:active{transform:translateY(-1px) scale(.99)!important}
.sp-link a:active,.elementor-widget-icon a:active{opacity:.75}
.e-con.sp-tappa{transition:background-color var(--sp-t) var(--sp-ease)}

/* 16. Icone a tratto sottile (SVG caricati) */
.elementor-icon-list-icon svg,.elementor-icon svg{display:block}

/* 12. Smartphone: aree di tocco di almeno 44 px */
@media (max-width:767px){
  .sp-link a,
  .elementor-widget-text-editor a[href^="tel:"],
  .elementor-widget-text-editor a[href^="mailto:"],
  [data-elementor-type="xpro-themer"] .elementor-widget-text-editor a{display:inline-flex;align-items:center;min-height:44px;padding:0}
  .sp-logo a{display:inline-flex;align-items:center;min-height:44px}
  .sp-form .wpcf7-acceptance a{padding-block:14px;margin-block:-14px}
  .elementor-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
}

/* 18. Assistenza, "Come lavoriamo": una scheda grande e due affiancate */
@media (min-width:768px){
  .e-con.sp-come{display:grid!important;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-rows:auto auto;gap:32px}
  .e-con.sp-come>.e-con{width:auto!important;min-width:0}
  .e-con.sp-come>.e-con:first-child{grid-row:1/3}
  .e-con.sp-come>.e-con:first-child .elementor-widget-image{flex:1 1 auto;display:flex}
  .e-con.sp-come>.e-con:first-child .elementor-widget-image>.elementor-widget-container{flex:1;display:flex}
  .e-con.sp-come>.e-con:first-child img{width:100%;height:100%!important;min-height:340px;object-fit:cover}
  .e-con.sp-come>.e-con:not(:first-child){display:grid!important;grid-template-columns:minmax(0,46%) minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:24px;row-gap:8px;align-content:start}
  .e-con.sp-come>.e-con:not(:first-child)>.elementor-widget-image{grid-row:1/3;grid-column:1}
  .e-con.sp-come>.e-con:not(:first-child)>.elementor-widget-heading{grid-column:2;align-self:end}
  .e-con.sp-come>.e-con:not(:first-child)>.elementor-widget-text-editor{grid-column:2}
  .e-con.sp-come>.e-con:not(:first-child) img{aspect-ratio:4/3;height:auto!important;object-fit:cover}
  .e-con.sp-come>.e-con:last-child{align-self:end}
}
@media (min-width:768px) and (max-width:1024px){
  .e-con.sp-come{grid-template-columns:1fr;grid-template-rows:none}
  .e-con.sp-come>.e-con:first-child{grid-row:auto}
  .e-con.sp-come>.e-con:first-child img{min-height:0;aspect-ratio:16/9;height:auto!important}
}

/* 19. Grana leggera sulle superfici scure */
.e-con.sp-grana{position:relative}
.e-con.sp-grana::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E") repeat;background-size:180px;opacity:.09;mix-blend-mode:overlay}
.e-con.sp-grana>.e-con-inner,.e-con.sp-grana>.elementor-element{position:relative;z-index:1}

/* 16-17. Menu mobile a tutto schermo con hamburger che diventa X */
.sp-burger,.sp-menu{display:none}
@media (max-width:1024px){
  .sp-nav-ok .xpro-elementor-horizontal-menu-toggler-wrapper,
  .sp-nav-ok .xpro-elementor-horizontal-navbar-wrapper{display:none!important}
  .sp-burger{display:inline-flex;position:relative;flex:none;width:44px!important;height:44px!important;min-height:0!important;margin:0 -10px 0 auto;padding:0!important;border:0!important;border-radius:8px!important;background:transparent!important;box-shadow:none!important;color:#2a3439!important;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .sp-burger span{position:absolute;left:11px;right:11px;height:2px;border-radius:2px;background:currentColor;transition:transform .45s var(--sp-ease),top .45s var(--sp-ease)}
  .sp-burger span:first-child{top:16px}
  .sp-burger span:last-child{top:26px}
  .sp-menu-open .sp-burger span:first-child{top:21px;transform:rotate(45deg)}
  .sp-menu-open .sp-burger span:last-child{top:21px;transform:rotate(-45deg)}
  .sp-burger:focus-visible{outline:2px solid #2a3439;outline-offset:2px;border-radius:8px}
  .sp-menu-open .xpro-theme-builder-header-nav{z-index:100!important}
  .sp-menu-open,.sp-menu-open body{overflow:hidden}
  .sp-menu{display:flex;flex-direction:column;position:fixed;inset:0;z-index:99;padding:calc(var(--sp-hh,72px) + 32px) 32px 32px;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow-y:auto;visibility:hidden;opacity:0;transition:opacity .4s var(--sp-ease),visibility 0s linear .4s}
  .sp-menu-open .sp-menu{visibility:visible;opacity:1;transition:opacity .4s var(--sp-ease),visibility 0s}
  .sp-menu__lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
  .sp-menu__lista li{opacity:0;transform:translate3d(0,24px,0);transition:opacity .5s var(--sp-ease),transform .6s var(--sp-ease)}
  .sp-menu-open .sp-menu__lista li{opacity:1;transform:none}
  .sp-menu-open .sp-menu__lista li:nth-child(1){transition-delay:.08s}
  .sp-menu-open .sp-menu__lista li:nth-child(2){transition-delay:.13s}
  .sp-menu-open .sp-menu__lista li:nth-child(3){transition-delay:.18s}
  .sp-menu-open .sp-menu__lista li:nth-child(4){transition-delay:.23s}
  .sp-menu-open .sp-menu__lista li:nth-child(5){transition-delay:.28s}
  .sp-menu-open .sp-menu__lista li:nth-child(6){transition-delay:.33s}
  .sp-menu__lista a{display:inline-flex;align-items:center;min-height:52px;font:800 34px/1.1 'Roboto Slab',Georgia,serif;letter-spacing:-.015em;color:#2a3439;text-decoration:none}
  .sp-menu__lista .current-menu-item>a{background-image:linear-gradient(#ffed00,#ffed00);background-repeat:no-repeat;background-position:0 88%;background-size:100% .2em}
  .sp-menu__lista a:active{opacity:.7}
  .sp-menu__piede{margin-top:auto;padding-top:32px;display:flex;flex-direction:column;align-items:flex-start;gap:16px;opacity:0;transform:translate3d(0,16px,0);transition:opacity .5s var(--sp-ease) .38s,transform .6s var(--sp-ease) .38s}
  .sp-menu-open .sp-menu__piede{opacity:1;transform:none}
  .sp-menu__cta{display:inline-flex;align-items:center;min-height:48px;padding:14px 24px;border-radius:8px;background:#ffed00;color:#2a3439;font:700 16px/1.25 Gotham,Arial,sans-serif;text-decoration:none}
  .sp-menu__cta:active{transform:scale(.98)}
  .sp-menu__contatti{display:flex;flex-wrap:wrap;gap:4px 20px;font:500 16px/1.4 Gotham,Arial,sans-serif}
  .sp-menu__contatti a{display:inline-flex;align-items:center;min-height:44px;color:#2a3439;text-decoration:none}
}
@media (max-width:767px){
  .sp-menu{padding-left:20px;padding-right:20px}
  .sp-menu__lista a{font-size:30px}
}
@media (prefers-reduced-motion:reduce){
  .sp-menu,.sp-menu__lista li,.sp-menu__piede,.sp-burger span{transition:none!important}
}

/* Tablet: righe di schede che vanno a capo */
@media (min-width:768px) and (max-width:1024px){
  .e-con.sp-tab3{flex-wrap:wrap!important}
  .e-con.sp-tab3>.e-con{flex:0 0 calc((100% - 64px) / 3)!important;min-width:0}
  .e-con.sp-tab2{flex-wrap:wrap!important}
  .e-con.sp-tab2>.e-con{flex:1 1 calc(50% - 12px)!important;min-width:0}
}
@media (min-width:1025px){.e-con.sp-4col>.e-con{flex:1 1 0%!important;width:auto!important;min-width:0}}

/* Ricontrollo 30/10 */
@media (max-width:767px){.sp-link a{column-gap:.3em}}
.sp-map .cmplz-blocked-content-container{border-radius:12px;overflow:hidden}
.cmplz-blocked-content-notice{background:#2a3439!important;color:#fff!important;border:0!important;border-radius:8px!important;font:500 14px/1.4 Gotham,Arial,sans-serif!important;padding:12px 16px!important}
.sp-form .wpcf7-submit:disabled{opacity:.5;cursor:not-allowed}

/* Mobile: pulsante dei moduli centrato (la rotellina di invio va sotto) */
@media (max-width:767px){.sp-form .sp-invio{flex-direction:column;justify-content:center}.sp-form .sp-invio .wpcf7-spinner{margin:0}}

/* Mobile: numeri della Home centrati sopra i loro testi */
@media (max-width:767px){.elementor-widget.sp-contatore .elementor-counter-number-wrapper{text-align:center;justify-content:center}.elementor-widget.sp-contatore .elementor-counter-number-prefix,.elementor-widget.sp-contatore .elementor-counter-number-suffix{flex-grow:1}.elementor-widget.sp-contatore .elementor-counter-title{justify-content:center;text-align:center}}

/* Il gruppo, storia: il giallo all'hover compare e sparisce in dissolvenza */
.e-con.sp-tappa,.sp-js [data-elementor-type="wp-page"] .e-con.sp-tappa.sp-done{transition:background-color .45s var(--sp-ease)}

/* Privacy: riquadro "Gestione del consenso" di Complianz con i colori del sito */
#cmplz-manage-consent-container{max-width:640px;margin-top:16px}
#cmplz-manage-consent-container .cmplz-categories{display:flex;flex-direction:column;gap:8px}
#cmplz-manage-consent-container .cmplz-category{border:1px solid #c5cbd0;border-radius:12px;padding:8px 8px 8px 20px;background:#fff}
#cmplz-manage-consent-container .cmplz-category-header{display:flex;align-items:center;gap:16px;min-height:44px}
#cmplz-manage-consent-container .cmplz-category-title{flex:1;font:500 16px/1.3 Gotham,Arial,sans-serif;color:#2a3439}
#cmplz-manage-consent-container .cmplz-always-active{font:500 14px/1.3 Gotham,Arial,sans-serif;color:#2a3439}
#cmplz-manage-consent-container .cmplz-always-active .cmplz-banner-checkbox{display:none}
#cmplz-manage-consent-container .cmplz-banner-checkbox{display:flex;align-items:center}
#cmplz-manage-consent-container .cmplz-consent-checkbox{-webkit-appearance:none;appearance:none;position:relative;width:40px;height:22px;margin:0;border-radius:22px;background:#c5cbd0;cursor:pointer;transition:background-color var(--sp-t) var(--sp-ease)}
#cmplz-manage-consent-container .cmplz-consent-checkbox::before{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform var(--sp-t) var(--sp-ease)}
#cmplz-manage-consent-container .cmplz-consent-checkbox:checked{background:#2a3439}
#cmplz-manage-consent-container .cmplz-consent-checkbox:checked::before{transform:translateX(18px)}
#cmplz-manage-consent-container .cmplz-consent-checkbox:focus-visible{outline:2px solid #2a3439;outline-offset:2px}
#cmplz-manage-consent-container .cmplz-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
#cmplz-manage-consent-container .cmplz-category-toggle{display:inline-flex!important;align-items:center;justify-content:center;width:44px!important;height:44px!important;min-height:0!important;padding:0!important;border:0!important;border-radius:8px!important;background:transparent!important;box-shadow:none!important;color:#2a3439!important;cursor:pointer}
#cmplz-manage-consent-container .cmplz-category-toggle svg{width:14px;height:14px;fill:currentColor;transition:transform var(--sp-t) var(--sp-ease)}
#cmplz-manage-consent-container .cmplz-category-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
#cmplz-manage-consent-container .cmplz-description{padding:4px 52px 12px 0;font:400 14px/1.5 Gotham,Arial,sans-serif;color:#2a3439}