/* Font locali inclusi nel migratore: nessuna dipendenza runtime dal plugin legacy. */
@font-face{font-family:Inter;src:url('../fonts/inter-latin.woff2') format('woff2');font-style:normal;font-weight:300 600;font-display:swap}
@font-face{font-family:'Playfair Display';src:url('../fonts/playfair-normal.woff2') format('woff2');font-style:normal;font-weight:600 700;font-display:swap}
@font-face{font-family:'Playfair Display';src:url('../fonts/playfair-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}

/* Elementor non consente un secondo Global Font dentro una singola parola dello stesso Heading. */
.sp-accent-inline{
  color:var(--e-global-color-accent,#E67E8E);
  font-family:var(--e-global-typography-d4e5f6a-font-family,'Playfair Display'),serif;
  font-weight:var(--e-global-typography-d4e5f6a-font-weight,400);
  font-style:italic;
}

/* Comportamenti che non sono un normale valore di design del widget. */
.elementor-location-header:has(.sp-native-global-header){position:sticky;top:0;z-index:100;width:100%}
.admin-bar .elementor-location-header:has(.sp-native-global-header){top:32px}
@media(max-width:782px){.admin-bar .elementor-location-header:has(.sp-native-global-header){top:46px}}
@media(max-width:600px){.admin-bar .elementor-location-header:has(.sp-native-global-header){top:0}}
.elementor-editor-active .elementor-location-header:has(.sp-native-global-header){position:relative;top:auto}
.sp-native-global-header{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.sp-native-global-header .elementor-widget-icon .elementor-icon{transform:rotate(12deg);transition:transform .15s ease}
.sp-native-global-header .elementor-widget-icon .elementor-icon:hover{transform:rotate(20deg)}
.sp-native-global-header .elementor-nav-menu--main .elementor-item.elementor-item-active{font-style:italic}

/* Solo posizione del pulsante WhatsApp: aspetto e link restano modificabili in Elementor. */
.sp-native-whatsapp{position:fixed!important;right:32px!important;bottom:32px!important;z-index:9999!important;width:auto!important}
@media(max-width:767px){.sp-native-whatsapp{right:16px!important;bottom:16px!important}}


/* Header mobile: replica del menu definitivo online usando il Nav Menu nativo Elementor. */
@media(max-width:767px){
  .sp-native-global-header .elementor-nav-menu--dropdown{
    background:#fff!important;
    border-top:1px solid #f5f5f4!important;
    box-shadow:0 22px 42px -28px rgba(10,61,61,.38)!important;
    margin-top:0!important;
  }
  .sp-native-global-header .elementor-nav-menu--dropdown .elementor-nav-menu{
    padding:20px 0 22px!important;
  }
  .sp-native-global-header .elementor-nav-menu--dropdown .elementor-item{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    min-height:52px!important;
    padding:10px 32px 10px 54px!important;
    background:#fff!important;
    color:#0A3D3D!important;
    font-family:'Playfair Display',serif!important;
    font-size:20px!important;
    line-height:1.25!important;
    border:0!important;
  }
  .sp-native-global-header .elementor-nav-menu--dropdown .elementor-item:hover{
    background:#fff!important;
    color:#E67E8E!important;
  }
  .sp-native-global-header .elementor-nav-menu--dropdown .elementor-item.elementor-item-active{
    background:#fff!important;
    color:#E67E8E!important;
    font-style:italic!important;
  }
  .sp-native-global-header .elementor-nav-menu--dropdown .elementor-item.elementor-item-active::before{
    content:'';
    position:absolute;
    left:32px;
    top:50%;
    width:6px;
    height:6px;
    margin-top:-3px;
    border-radius:999px;
    background:#E67E8E;
  }
  .sp-native-global-header .elementor-menu-toggle{
    padding:8px!important;
    border:0!important;
    background:transparent!important;
    color:#0A3D3D!important;
  }
}

/* Recensioni: contenuto e comportamento restano nel Testimonial Carousel nativo;
   queste regole colmano solo i dettagli interni che il widget non espone come controlli. */
.sp-native-review-carousel{
  position:relative;
  padding-bottom:86px;
}
.sp-native-review-carousel .swiper-slide{
  padding:4px 6px 10px!important;
  box-sizing:border-box;
}
.sp-native-review-carousel .elementor-testimonial{
  min-height:238px;
  box-sizing:border-box;
  padding:32px!important;
  background:#fff;
  border:1px solid #f5f5f4;
  border-radius:32px;
  box-shadow:0 8px 22px -18px rgba(10,61,61,.28);
  text-align:left!important;
}
.sp-native-review-carousel .elementor-testimonial__content{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  text-align:left!important;
}
.sp-native-review-carousel .elementor-testimonial__content::before{
  content:'★★★★★';
  display:block;
  margin:0 0 12px;
  color:#E67E8E;
  font-family:Arial,sans-serif;
  font-size:14px;
  line-height:1;
  letter-spacing:2px;
}
.sp-native-review-carousel .elementor-testimonial__text{
  width:100%;
  margin:0 0 24px!important;
  color:#57534E!important;
  font-style:italic!important;
  line-height:1.65!important;
  text-align:left!important;
}
.sp-native-review-carousel .elementor-testimonial__text::before{
  content:'“';
  display:block;
  height:36px;
  margin:0 0 2px;
  color:#FCE7EB;
  font-family:'Playfair Display',serif;
  font-size:50px;
  font-style:normal;
  font-weight:700;
  line-height:.9;
}
.sp-native-review-carousel .elementor-testimonial__footer{
  width:100%;
  display:block!important;
  margin-top:auto!important;
  padding-top:20px!important;
  border-top:1px solid #fafaf9;
  text-align:left!important;
}
.sp-native-review-carousel .elementor-testimonial__name{
  color:#0A3D3D!important;
  font-family:'Playfair Display',serif!important;
  font-weight:700!important;
  text-align:left!important;
}
.sp-native-review-carousel .elementor-testimonial__title{
  margin-top:4px!important;
  color:#A8A29E!important;
  font-size:11px!important;
  line-height:1.3!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  text-align:left!important;
}
.sp-native-review-carousel .elementor-swiper-button{
  top:auto!important;
  bottom:34px!important;
  width:44px!important;
  height:44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #e7e5e4!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#0A3D3D!important;
  box-shadow:0 3px 10px -7px rgba(10,61,61,.35)!important;
  transform:none!important;
  font-size:16px!important;
}
.sp-native-review-carousel .elementor-swiper-button-prev{left:calc(50% - 52px)!important;right:auto!important}
.sp-native-review-carousel .elementor-swiper-button-next{right:calc(50% - 52px)!important;left:auto!important}
.sp-native-review-carousel .swiper-pagination,
.sp-native-review-carousel .swiper-pagination-bullets{
  bottom:0!important;
}
.sp-native-review-carousel .swiper-pagination-bullet{
  width:7px!important;
  height:7px!important;
  margin:0 4px!important;
  background:#d6d3d1!important;
  opacity:1!important;
  transition:width .2s ease,background-color .2s ease!important;
}
.sp-native-review-carousel .swiper-pagination-bullet-active{
  width:28px!important;
  border-radius:999px!important;
  background:#E67E8E!important;
}
@media(max-width:767px){
  .sp-native-review-carousel{padding-bottom:80px}
  .sp-native-review-carousel .elementor-testimonial{
    min-height:0;
    padding:24px!important;
    border-radius:24px;
  }
  .sp-native-review-carousel .elementor-testimonial__text{font-size:14px!important}
  .sp-native-review-carousel .elementor-swiper-button{
    width:38px!important;
    height:38px!important;
    bottom:32px!important;
  }
  .sp-native-review-carousel .elementor-swiper-button-prev{left:calc(50% - 46px)!important}
  .sp-native-review-carousel .elementor-swiper-button-next{right:calc(50% - 46px)!important}
}


/* V2.6 - fedelta finale al sito online. */
.sp-native-trust-avatar img{
  filter:grayscale(100%)!important;
  -webkit-filter:grayscale(100%)!important;
}

/* Il root del Theme Builder deve comportarsi come l'header originale. */
.sp-native-global-header{
  width:100%!important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.sp-native-global-header .elementor-widget-icon .elementor-icon{transform:rotate(12deg);transition:transform .15s ease}
.sp-native-global-header .elementor-widget-icon .elementor-icon:hover{transform:rotate(20deg)}

/* Brand: il font arriva dal Global Font Elementor "Logo / Brand". */
.sp-native-global-header .elementor-widget-heading .elementor-heading-title{
  white-space:nowrap!important;
}
.sp-native-global-header .elementor-widget-heading .sp-accent-inline{
  font-style:italic!important;
}

/* Menu desktop: una sola riga, nessun padding Elementor nascosto, gap uguale al live. */
@media(min-width:768px){
  .sp-native-global-header .elementor-nav-menu--main,
  .sp-native-global-header .elementor-nav-menu--main .elementor-nav-menu{
    width:auto!important;
    min-width:0!important;
  }
  .sp-native-global-header .elementor-nav-menu--main .elementor-nav-menu{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    column-gap:32px!important;
  }
  .sp-native-global-header .elementor-nav-menu--main .elementor-item{
    flex:0 0 auto!important;
    padding-left:0!important;
    padding-right:0!important;
    white-space:nowrap!important;
    font-family:'Playfair Display',serif!important;
    font-size:18px!important;
    font-weight:400!important;
    line-height:1.45!important;
  }
  .sp-native-global-header .elementor-nav-menu--main .elementor-item.elementor-item-active{font-style:italic!important}
}
@media(min-width:1024px){
  .sp-native-global-header .elementor-nav-menu--main .elementor-nav-menu{column-gap:48px!important}
  .sp-native-global-header .elementor-widget-heading .elementor-heading-title{font-size:24px!important}
}
@media(min-width:768px) and (max-width:1023px){
  .sp-native-global-header .elementor-widget-heading .elementor-heading-title{font-size:22px!important}
}

/* Menu mobile: replica della tendina bianca online. */
@media(max-width:767px){
  .sp-native-global-header .elementor-widget-heading .elementor-heading-title{font-size:20px!important}
  .sp-native-global-header .elementor-menu-toggle{
    padding:8px!important;
    border:0!important;
    background:transparent!important;
    color:#0A3D3D!important;
  }
  .sp-native-global-header .elementor-nav-menu--dropdown{
    width:100%!important;
    background:#fff!important;
    border-top:1px solid #f5f5f4!important;
    box-shadow:0 22px 42px -28px rgba(10,61,61,.38)!important;
    margin-top:0!important;
  }
  .sp-native-global-header .elementor-nav-menu--dropdown .elementor-nav-menu{
    display:flex!important;
    flex-direction:column!important;
    gap:24px!important;
    padding:32px!important;
  }
  .sp-native-global-header .elementor-nav-menu--dropdown .elementor-item{
    position:relative!important;
    min-height:0!important;
    padding:0!important;
    background:#fff!important;
    color:#0A3D3D!important;
    font-family:'Playfair Display',serif!important;
    font-size:20px!important;
    font-weight:400!important;
    line-height:1.5!important;
    border:0!important;
  }
  .sp-native-global-header .elementor-nav-menu--dropdown .elementor-item:hover{background:#fff!important;color:#E67E8E!important}
  .sp-native-global-header .elementor-nav-menu--dropdown .elementor-item.elementor-item-active{
    padding-left:20px!important;
    background:#fff!important;
    color:#E67E8E!important;
    font-style:italic!important;
  }
  .sp-native-global-header .elementor-nav-menu--dropdown .elementor-item.elementor-item-active::before{
    content:'';position:absolute;left:0;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:999px;background:#E67E8E;
  }
}

/* +150 Donne aiutate: stessa altezza degli avatar e centro verticale reale. */
.sp-native-helped,
.sp-native-helped .elementor-widget-container{
  display:flex!important;
  align-items:center!important;
  align-self:center!important;
  height:32px!important;
  min-height:32px!important;
  margin:0!important;
  padding:0!important;
}
.sp-native-helped p{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  height:32px!important;
  gap:5px!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.sp-native-helped strong{
  display:inline-flex!important;align-items:center!important;height:32px!important;
  color:var(--e-global-color-primary,#0A3D3D)!important;font-family:Inter,sans-serif!important;font-size:16px!important;font-weight:700!important;line-height:32px!important;
}
.sp-native-helped span{
  display:inline-flex!important;align-items:center!important;height:32px!important;
  color:var(--e-global-color-text,#57534E)!important;font-family:Inter,sans-serif!important;font-size:10px!important;font-weight:500!important;line-height:32px!important;letter-spacing:.10em!important;text-transform:uppercase!important;
}

/* Carousel: mantieni visibili frecce e pallini del widget nativo. */
.sp-native-review-carousel .elementor-swiper-button,
.sp-native-review-carousel .elementor-swiper-button-prev,
.sp-native-review-carousel .elementor-swiper-button-next{
  visibility:visible!important;opacity:1!important;z-index:20!important;pointer-events:auto!important;position:absolute!important;
}
.sp-native-review-carousel .elementor-swiper-button svg,
.sp-native-review-carousel .elementor-swiper-button-prev svg,
.sp-native-review-carousel .elementor-swiper-button-next svg{width:14px!important;height:14px!important;fill:currentColor!important;color:currentColor!important}
.sp-native-review-carousel .sp-native-review-fallback-arrow{appearance:none!important;-webkit-appearance:none!important;padding:0!important;cursor:pointer!important}
.sp-native-review-carousel .sp-native-review-fallback-arrow span{display:block!important;margin-top:-2px!important;font-family:Arial,sans-serif!important;font-size:26px!important;font-weight:300!important;line-height:1!important}

/* Mobile Home: correzioni ricavate dai valori Tailwind del sito definitivo. */
@media(max-width:767px){
  .sp-native-home-hero .elementor-widget-heading .elementor-heading-title{line-height:1.1!important}
  .sp-native-review-carousel .elementor-testimonial{padding:32px!important;border-radius:32px!important}
}

/* V2.7 - correzione strutturale header e confronto mobile con il sito online. */
/* Header: stessa geometria dell'HTML originale, senza percentuali rigide sui due lati. */
.elementor-location-header:has(.sp-native-global-header){
  z-index:999999!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.sp-native-global-header{
  position:relative!important;
  z-index:999999!important;
  overflow:visible!important;
  background:rgba(255,255,255,.90)!important;
}
.sp-native-global-header .sp-native-header-inner,
.sp-native-global-header .sp-native-header-logo,
.sp-native-global-header .sp-native-header-nav,
.sp-native-global-header .sp-native-header-menu-widget,
.sp-native-global-header .sp-native-header-menu-widget>.elementor-widget-container{
  overflow:visible!important;
}
.sp-native-global-header .sp-native-header-inner{
  width:100%!important;
  max-width:1152px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  flex-wrap:nowrap!important;
  justify-content:space-between!important;
  align-items:center!important;
}
.sp-native-global-header .sp-native-header-logo,
.sp-native-global-header .sp-native-header-nav{
  width:auto!important;
  max-width:none!important;
  flex:0 0 auto!important;
}
.sp-native-global-header .sp-native-header-logo{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
}
.sp-native-global-header .sp-native-header-logo-text,
.sp-native-global-header .sp-native-header-logo-text .elementor-widget-container,
.sp-native-global-header .sp-native-header-logo-text .elementor-heading-title{
  width:auto!important;
  max-width:none!important;
}
.sp-native-global-header .sp-native-header-logo-text .elementor-heading-title{
  white-space:nowrap!important;
}
.sp-native-global-header .sp-native-header-logo-text .sp-accent-inline{
  font-style:italic!important;
}

/* Desktop: identico schema Tailwind del sito live: gap-8 / lg:gap-12, text-lg. */
@media(min-width:768px){
  .sp-native-global-header .sp-native-header-inner{padding:12px 24px!important;min-height:0!important}
  .sp-native-global-header .sp-native-header-logo{gap:12px!important}
  .sp-native-global-header .sp-native-header-logo-text .elementor-heading-title{font-size:24px!important}
  .sp-native-global-header .sp-native-header-nav,
  .sp-native-global-header .sp-native-header-menu-widget,
  .sp-native-global-header .sp-native-header-menu-widget>.elementor-widget-container,
  .sp-native-global-header .elementor-nav-menu--main{width:auto!important;max-width:none!important}
  .sp-native-global-header .elementor-nav-menu--main .elementor-nav-menu{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:32px!important;
    width:auto!important;
    min-width:max-content!important;
  }
  .sp-native-global-header .elementor-nav-menu--main .elementor-item{
    flex:0 0 auto!important;
    padding:0!important;
    white-space:nowrap!important;
    font-family:'Playfair Display',serif!important;
    font-size:18px!important;
    font-weight:600!important;
    line-height:1.45!important;
  }
}
@media(min-width:1024px){
  .sp-native-global-header .elementor-nav-menu--main .elementor-nav-menu{gap:48px!important}
}

/* Mobile: il dropdown appartiene visivamente all'header, non al 32% del widget menu. */
@media(max-width:767px){
  .sp-native-global-header .sp-native-header-inner{
    position:static!important;
    padding:8px 24px!important;
  }
  .sp-native-global-header .sp-native-header-logo{gap:8px!important}
  .sp-native-global-header .sp-native-header-logo-text .elementor-heading-title{font-size:20px!important}
  .sp-native-global-header .sp-native-header-nav,
  .sp-native-global-header .sp-native-header-menu-widget,
  .sp-native-global-header .sp-native-header-menu-widget>.elementor-widget-container{
    position:static!important;
    width:auto!important;
    max-width:none!important;
  }
  .sp-native-global-header .elementor-menu-toggle{
    position:relative!important;
    z-index:1000002!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:4px!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    color:#0A3D3D!important;
  }
  .sp-native-global-header .elementor-nav-menu--dropdown{
    position:absolute!important;
    z-index:1000001!important;
    top:100%!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    background:#fff!important;
    border-top:1px solid #f5f5f4!important;
    box-shadow:0 22px 42px -28px rgba(10,61,61,.38)!important;
  }
  .sp-native-global-header .elementor-nav-menu--dropdown.elementor-active{
    visibility:visible!important;
    opacity:1!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    max-height:calc(100vh - 58px)!important;
    transform:none!important;
  }
  .sp-native-global-header .elementor-nav-menu--dropdown .elementor-nav-menu{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:24px!important;
    width:100%!important;
    padding:32px!important;
  }
  .sp-native-global-header .elementor-nav-menu--dropdown .elementor-item{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:30px!important;
    padding:0!important;
    border:0!important;
    background:#fff!important;
    color:#0A3D3D!important;
    font-family:'Playfair Display',serif!important;
    font-size:20px!important;
    font-weight:600!important;
    line-height:1.5!important;
  }
  .sp-native-global-header .elementor-nav-menu--dropdown .elementor-item.elementor-item-active{
    padding-left:20px!important;
    color:#E67E8E!important;
    font-style:italic!important;
  }

  /* Hero online: CTA primaria full-width e riga social perfettamente centrata. */
  .sp-native-home-hero .sp-native-hero-primary,
  .sp-native-home-hero .sp-native-hero-primary .elementor-widget-container,
  .sp-native-home-hero .sp-native-hero-primary .elementor-button-wrapper,
  .sp-native-home-hero .sp-native-hero-primary .elementor-button{
    width:100%!important;
    max-width:none!important;
  }
  .sp-native-home-trust{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:center!important;
    justify-content:center!important;
    gap:16px!important;
    width:100%!important;
  }
  .sp-native-avatar-row{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:center!important;
    width:104px!important;
    height:32px!important;
    min-height:32px!important;
    flex:0 0 104px!important;
  }
  .sp-native-helped,
  .sp-native-helped .elementor-widget-container,
  .sp-native-helped p{height:32px!important;min-height:32px!important}

  /* Le tre card introduttive del live hanno l'icona allineata a sinistra. */
  .sp-native-section .elementor-widget-icon{text-align:left}
}


/* V2.8 - ultimo fix: nessun override tipografico sul wordmark, header mobile più sottile, messaggio dimensione live. */
/* Elementor/Kit decide la famiglia del logo. Qui proteggiamo solo composizione e corsivo della seconda parola. */
.sp-native-global-header .sp-native-header-logo-text .elementor-heading-title{
  white-space:nowrap!important;
}
.sp-native-global-header .sp-native-header-logo-text .sp-accent-inline{
  font-style:italic!important;
}

/* Pulsante chat: il live è circa 56px, con icona interna da circa 22px. */
.sp-native-whatsapp .elementor-icon{
  width:56px!important;
  height:56px!important;
  min-width:56px!important;
  min-height:56px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
}
.sp-native-whatsapp .elementor-icon i{font-size:22px!important;line-height:1!important}
.sp-native-whatsapp .elementor-icon svg{width:22px!important;height:22px!important}

@media(max-width:767px){
  /* Il live ha un header visivamente compatto: 32px di logo + 8px sopra/sotto. */
  .sp-native-global-header .sp-native-header-inner{padding:6px 16px!important;min-height:0!important}
  .sp-native-global-header .elementor-menu-toggle{padding:4px!important}
  .sp-native-whatsapp .elementor-icon{
    width:56px!important;
    height:56px!important;
    min-width:56px!important;
    min-height:56px!important;
  }
}


/* V2.9 - il wordmark e' un Heading linkato: Elementor applica al tag <a> la tipografia globale dei link (Inter),
   sovrascrivendo il Global Font del Heading. Il link del logo deve invece ereditare integralmente la tipografia Brand. */
.sp-native-global-header .sp-native-header-logo-text .elementor-heading-title > a,
.sp-native-global-header .sp-native-header-logo-text .elementor-heading-title a{
  font-family:inherit!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  font-style:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  text-transform:inherit!important;
  color:inherit!important;
  text-decoration:none!important;
}
.sp-native-global-header .sp-native-header-logo-text .elementor-heading-title a .sp-accent-inline{
  font-family:var(--e-global-typography-d4e5f6a-font-family,'Playfair Display'),serif!important;
  font-weight:var(--e-global-typography-d4e5f6a-font-weight,400)!important;
  font-style:italic!important;
}


/* V3.0 - header compatto: il padding deve essere l'unica fonte dell'altezza del blocco. */
.elementor-location-header:has(.sp-native-global-header),
.sp-native-global-header{
  padding-top:0!important;
  padding-bottom:0!important;
  margin-top:0!important;
  margin-bottom:0!important;
  min-height:0!important;
}
.sp-native-global-header .sp-native-header-inner{
  margin-top:0!important;
  margin-bottom:0!important;
  min-height:0!important;
  box-sizing:border-box!important;
}
.sp-native-global-header .sp-native-header-logo,
.sp-native-global-header .sp-native-header-nav,
.sp-native-global-header .sp-native-header-logo .elementor-widget,
.sp-native-global-header .sp-native-header-nav .elementor-widget{
  margin-top:0!important;
  margin-bottom:0!important;
  min-height:0!important;
}
@media(min-width:1024px){
  .sp-native-global-header .sp-native-header-inner{padding:12px 24px!important}
}
@media(min-width:768px) and (max-width:1023px){
  .sp-native-global-header .sp-native-header-inner{padding:10px 24px!important}
}
@media(max-width:767px){
  .sp-native-global-header .sp-native-header-inner{padding:6px 16px!important;min-height:0!important}
}

/* V3.1 - fedeltà finale alle icone del sito live. */
/*
 * Le tre card "Cos'è il Pavimento Pelvico?" usavano Lucide nel plugin
 * originale. Manteniamo il widget Icona di Elementor, ma sostituiamo solo
 * il glifo visivo con lo stesso SVG outline del live.
 */
.sp-native-card-icon .elementor-icon{
  width:64px!important;
  height:64px!important;
  min-width:64px!important;
  min-height:64px!important;
  padding:0!important;
  border-radius:16px!important;
  background:#FDF2F2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.sp-native-card-icon .elementor-icon > i,
.sp-native-card-icon .elementor-icon > svg{
  display:none!important;
}
.sp-native-card-icon .elementor-icon:before{
  content:""!important;
  display:block!important;
  width:24px!important;
  height:24px!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:24px 24px!important;
}
.sp-native-card-icon-heart .elementor-icon:before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E67E8E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5'/%3E%3C/svg%3E")!important;
}
.sp-native-card-icon-activity .elementor-icon:before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E67E8E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2'/%3E%3C/svg%3E")!important;
}
.sp-native-card-icon-baby .elementor-icon:before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E67E8E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 16c.5.3 1.2.5 2 .5s1.5-.2 2-.5'/%3E%3Cpath d='M15 12h.01'/%3E%3Cpath d='M19.38 6.813A9 9 0 0 1 20.8 10.2a2 2 0 0 1 0 3.6 9 9 0 0 1-17.6 0 2 2 0 0 1 0-3.6A9 9 0 0 1 12 3c2 0 3.5 1.1 3.5 2.5s-.9 2.5-2 2.5c-.8 0-1.5-.4-1.5-1'/%3E%3Cpath d='M9 12h.01'/%3E%3C/svg%3E")!important;
}

/*
 * Floating contact: the original live button is 4.5rem on desktop and
 * 3.5rem on mobile, with the Lucide message-circle outline and a deeper
 * floating shadow. Elementor still owns the link/background widget.
 */
.sp-native-whatsapp .elementor-icon{
  width:72px!important;
  height:72px!important;
  min-width:72px!important;
  min-height:72px!important;
  padding:0!important;
  border-radius:999px!important;
  background:#E67E8E!important;
  color:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 25px 50px -12px rgba(0,0,0,.25)!important;
  transition:transform .2s ease,box-shadow .2s ease!important;
}
.sp-native-whatsapp .elementor-icon:hover{
  transform:scale(1.05)!important;
  box-shadow:0 28px 54px -14px rgba(0,0,0,.30)!important;
}
.sp-native-whatsapp .elementor-icon > i,
.sp-native-whatsapp .elementor-icon > svg{
  display:none!important;
}
.sp-native-whatsapp .elementor-icon:before{
  content:""!important;
  display:block!important;
  width:24px!important;
  height:24px!important;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719'/%3E%3C/svg%3E") center/24px 24px no-repeat!important;
}

@media(max-width:767px){
  .sp-native-card-icon .elementor-icon{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
  }
  .sp-native-whatsapp .elementor-icon{
    width:56px!important;
    height:56px!important;
    min-width:56px!important;
    min-height:56px!important;
  }
  .sp-native-whatsapp .elementor-icon:before{
    width:20px!important;
    height:20px!important;
    background-size:20px 20px!important;
  }
}


/* V3.2 - ultimi dettagli di fedelta al sito live. */
/* Allineamento ottico del simbolo del logo con il wordmark. Elementor centra
 * i widget geometricamente, ma il box dell'icona ruotata appare qualche pixel
 * piu alto rispetto alla linea visiva del testo. */
.sp-native-global-header .sp-native-header-logo > .elementor-widget-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:0!important;
  transform:translateY(2px)!important;
}
.sp-native-global-header .sp-native-header-logo > .elementor-widget-icon .elementor-widget-container{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:0!important;
}
@media(max-width:767px){
  .sp-native-global-header .sp-native-header-logo > .elementor-widget-icon{
    transform:translateY(1px)!important;
  }
}

/* Indicatori "Ti riconosci in queste sensazioni?": dimensioni e colori
 * identici al template originale (w-6/h-6 + w-2/h-2). */
.sp-native-symptom-dot .elementor-icon{
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  min-height:24px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  background:#FBF0F2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:none!important;
  line-height:0!important;
}
.sp-native-symptom-dot .elementor-icon > i,
.sp-native-symptom-dot .elementor-icon > svg{
  display:none!important;
}
.sp-native-symptom-dot .elementor-icon:before{
  content:""!important;
  display:block!important;
  width:8px!important;
  height:8px!important;
  min-width:8px!important;
  min-height:8px!important;
  border-radius:999px!important;
  background:#E67E8E!important;
}
