.elementor-27024 .elementor-element.elementor-element-4f9e891{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS for html, class: .elementor-element-aa8415c *//* =========================================================
   SIDEBAR CLUSTER – VERSIONE DEFINITIVA
   per .nc-smart-search + .nc-ctaBox
========================================================= */

/* sidebar */
.nc-side{
  position:sticky;
  top:calc(var(--hdr) + 8px);
  align-self:start;
  z-index:20;
}

.nc-smart-search{
  background:#fff;
  border:1px solid var(--nc-line);
  border-radius:22px;
  box-shadow:var(--nc-shadow);
  padding:18px;
  margin-bottom:18px;
}

.nc-smart-search-head h4{
  margin:0 0 6px;
  color:var(--nc-ink);
  font-size:17px;
  line-height:1.2;
  font-weight:800;
}

.nc-smart-search-head p{
  margin:0 0 14px;
  color:#475569;
  font-size:13.5px;
  line-height:1.62;
}

.nc-smart-search-form{
  display:flex;
  gap:10px;
  margin:0 0 14px;
}

.nc-smart-search-form input{
  flex:1;
  min-height:46px;
  border:1px solid #d7e3ee;
  border-radius:14px;
  padding:0 14px;
  font-size:.95rem;
  color:var(--nc-text);
  background:#fff;
}

.nc-smart-search-form button{
  min-height:46px;
  padding:0 15px;
  border:none;
  border-radius:14px;
  background:var(--nc-blue);
  color:#fff;
  font-weight:800;
  font-size:.9rem;
  cursor:pointer;
}

.nc-smart-search-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:14px;
}

.nc-smart-search-tags a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid #dbe6f0;
  background:#f7fafd;
  color:#17385d;
  font-size:.8rem;
  font-weight:700;
  line-height:1.2;
  text-decoration:none;
}

.nc-smart-search-tags a:hover{
  background:#eef5fb;
  text-decoration:none;
}

.nc-smart-search-group + .nc-smart-search-group{
  margin-top:12px;
}

.nc-smart-search-label{
  display:block;
  margin-bottom:6px;
  color:#6e8093;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.nc-smart-search-group a{
  display:block;
  margin:0 0 5px;
  font-size:.9rem;
  line-height:1.45;
  color:#a64a4a;
  text-decoration:none;
}

.nc-smart-search-group a:hover{
  color:var(--nc-blue);
  text-decoration:underline;
}

.nc-ctaBox{
  background:#fff;
  border:1px solid var(--nc-line);
  border-radius:22px;
  box-shadow:var(--nc-shadow);
  padding:20px 18px;
}

.nc-ctaBox h3{
  margin:0 0 10px;
  color:var(--nc-ink);
  font-size:20px;
  line-height:1.2;
  font-weight:800;
}

.nc-ctaBox p,
.nc-ctaBox li{
  font-size:14px;
  line-height:1.62;
}

.nc-ctaBox ul{
  margin:10px 0 14px 1rem;
  padding:0;
}

.nc-ctaBox li{
  margin:0 0 7px;
}

.nc-ctaBox .nc-btn,
.nc-ctaBox .nc-btn--ghost{
  min-height:42px;
  padding:10px 16px;
  border-radius:999px;
  font-size:.9rem;
  font-weight:800;
}

/* =========================================================
   DESKTOP LAYOUT + STICKY NAV/SIDEBAR
========================================================= */
@media (min-width:1025px){
  .nc-wrap,
  .nc-grid,
  .nc-main,
  .nc-side{
    overflow:visible !important;
  }

  .nc-grid{
    grid-template-columns:minmax(0,1.62fr) minmax(290px,.72fr) !important;
    gap:20px !important;
    align-items:start !important;
  }

  .nc-main{
    min-width:0;
  }

  .nc-anchor{
    position:sticky !important;
    top:calc(var(--hdr, 110px) + 8px) !important;
    z-index:30 !important;
  }

  .nc-side{
    position:sticky !important;
    top:calc(var(--hdr, 110px) + 8px) !important;
  }
}

/* =========================================================
   TABLET
========================================================= */
@media (min-width:768px) and (max-width:1024px){
  :root{--hdr:90px}

  .nc-grid{
    grid-template-columns:1fr !important;
  }

  .nc-hero-grid{
    grid-template-columns:1fr 320px;
  }

  .nc-title{
    max-width:none;
  }

  .nc-anchor{
    position:static;
  }

  .nc-side{
    position:static !important;
    top:auto !important;
  }

  .nc-smart-search,
  .nc-ctaBox{
    border-radius:20px;
    padding:16px;
  }
}

/* =========================================================
   MOBILE
========================================================= */
@media (max-width:767px){
  :root{--hdr:70px}

  .nc-wrap{
    width:min(100% - 18px,1160px);
  }

  .nc-breadcrumbs{
    font-size:12px;
    padding:12px 0 8px;
    margin-bottom:12px;
  }

  .nc-hero{
    padding:8px 0 18px;
  }

  .nc-hero-grid{
    grid-template-columns:1fr;
    gap:12px;
  }

  .nc-side{
    position:static !important;
    top:auto !important;
  }

  /* niente duplicazione con footer/search */
  .nc-smart-search{
    display:none !important;
  }

  .nc-hero-copy,
  .nc-card,
  .nc-ctaBox,
  .nc-hero-card{
    padding:16px;
    border-radius:18px;
  }

  .nc-title{
    font-size:1.9rem;
    line-height:1.06;
    max-width:none;
    margin:12px 0 10px;
  }

  .nc-lead,
  .nc-card p,
  .nc-card li{
    font-size:15px;
    line-height:1.72;
  }

  .nc-card h2{
    font-size:24px;
    line-height:1.16;
    margin-bottom:10px;
  }

  .nc-card h3,
  .nc-ctaBox h3{
    font-size:17px;
    line-height:1.3;
  }

  .nc-info p,
  .nc-info li,
  .nc-lead-note{
    font-size:14px;
    line-height:1.65;
  }

  .nc-faq summary{
    font-size:15px;
  }

  .nc-ctaBox p,
  .nc-ctaBox li{
    font-size:13px !important;
    line-height:1.6 !important;
  }

  .nc-ctaBox .nc-btn,
  .nc-ctaBox .nc-btn--ghost{
    min-height:40px !important;
    padding:9px 14px !important;
    font-size:12.5px !important;
  }
}/* End custom CSS */