.elementor-26081 .elementor-element.elementor-element-2d30cd88{--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;}html{height:100vh;margin:0;overflow:hidden;}body{height:100vh;overflow:auto;scroll-snap-type:y mandatory;}:root{--page-title-display:none;}.elementor-section:not(.elementor-inner-section), .elementor-location-header, .elementor-location-footer, .page-header, .site-header, .elementor-add-section, .e-con:not(.e-child){scroll-snap-align:start;scroll-snap-stop:normal;}@media(max-width:1024px){.elementor-section:not(.elementor-inner-section), .elementor-location-header, .elementor-location-footer, .page-header, .site-header, .elementor-add-section, .e-con:not(.e-child){scroll-snap-align:start;scroll-snap-stop:normal;}}@media(max-width:767px){.elementor-section:not(.elementor-inner-section), .elementor-location-header, .elementor-location-footer, .page-header, .site-header, .elementor-add-section, .e-con:not(.e-child){scroll-snap-align:start;scroll-snap-stop:normal;}}/* Start custom CSS for html, class: .elementor-element-ea8e64 *//* ===== DIAGNOSI – CSS DEFINITIVO ===== */

:root{
  --nc-blue:#0B4AA2;
  --nc-blue-2:#0EA5E9;
  --nc-ink:#0f172a;
  --nc-text:#334155;
  --nc-muted:#64748b;
  --nc-line:#dbe5ef;
  --nc-soft:#f7fafc;
  --nc-soft-2:#eef5fb;
  --nc-shadow:0 10px 24px rgba(15,23,42,.05);
  --hdr:110px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
img{max-width:100%;display:block;height:auto}
a{color:var(--nc-blue);text-decoration:none}
a:hover{text-decoration:underline}
[id]{scroll-margin-top:calc(var(--hdr) + 18px)}

.nc-wrap{
  width:min(1240px,calc(100% - 32px));
  margin:auto;
}

.nc-main{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:22px;
  margin-top:28px;
  align-items:start;
}

.nc-main,
.nc-wrap,
.nc-sidebar{
  overflow:visible !important;
}

.nc-card{
  background:#fff;
  border:1px solid var(--nc-line);
  border-radius:22px;
  padding:22px 22px 20px;
  box-shadow:var(--nc-shadow);
}

.nc-card + .nc-card{
  margin-top:16px;
}

.nc-card h2{
  font-size:30px;
  line-height:1.12;
  margin:0 0 12px;
  color:var(--nc-ink);
  letter-spacing:-.025em;
}

.nc-card h3{
  font-size:18px;
  line-height:1.32;
  margin:18px 0 8px;
  color:var(--nc-ink);
  letter-spacing:-.01em;
}

.nc-card p,
.nc-card li{
  font-size:15px;
  line-height:1.66;
  color:var(--nc-text);
}

.nc-card p{
  margin:0 0 14px;
}

.nc-card ul{
  margin:0 0 14px 18px;
  padding:0;
}

/* HERO */
.nc-hero{
  border:1px solid var(--nc-line);
  border-radius:28px;
  padding:28px 28px 22px;
  background:linear-gradient(180deg,#f8fbff,#f1f6fb);
  box-shadow:var(--nc-shadow);
}

.nc-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.52fr) minmax(300px,.78fr);
  gap:26px;
  align-items:start;
}

.nc-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid #d7e5f4;
  background:#eaf3fb;
  color:var(--nc-blue);
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
  margin-bottom:12px;
}

.nc-title{
  font-size:46px;
  line-height:1.02;
  letter-spacing:-.04em;
  margin:0 0 14px;
  color:var(--nc-ink);
  max-width:10.6ch;
}

.nc-lead{
  font-size:15.5px;
  color:#475569;
  line-height:1.66;
  margin:0 0 14px;
  max-width:64ch;
}

.nc-hero-card{
  width:100%;
  max-width:340px;
  justify-self:end;
  align-self:start;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--nc-line);
  background:#fff;
}

.nc-hero-card img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center top;
}

.nc-hero-caption{
  padding:10px 12px 12px;
  font-size:13.5px;
  line-height:1.52;
  color:var(--nc-muted);
  background:#fff;
}

/* NAV */
.nc-anchor{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid #e5edf5;
}

.nc-anchor a{
  padding:8px 12px;
  border-radius:999px;
  border:1px solid #dbe6f0;
  background:#fff;
  font-size:13px;
  font-weight:600;
  text-decoration:none;
  color:#1e3a5f;
  line-height:1.2;
}

.nc-anchor a:hover{
  background:#f5f9fd;
  text-decoration:none;
}

/* GRID */
.nc-grid-3{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:12px;
}

.nc-grid-2{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.nc-mini{
  border:1px solid #dbe6f0;
  border-radius:14px;
  padding:13px 14px 12px;
  background:#f9fcff;
}

.nc-mini h3{
  margin:0 0 6px;
  font-size:15px;
  line-height:1.28;
  color:var(--nc-ink);
}

.nc-mini p,
.nc-mini li{
  font-size:14px;
  line-height:1.58;
  color:var(--nc-text);
}

/* BOX */
.nc-info{
  background:#f1f7fc;
  border:1px solid #dceaf5;
  border-radius:16px;
  padding:14px 15px;
  margin-top:14px;
}

.nc-warning{
  background:#fff8ed;
  border:1px solid #ecd9b0;
  border-radius:16px;
  padding:14px 15px;
  margin-top:14px;
}

.nc-note{
  background:#f8fbff;
  border:1px solid #dbe6f0;
  border-radius:16px;
  padding:14px 15px;
  margin-top:14px;
}

.nc-info p,.nc-info li,
.nc-note p,.nc-note li,
.nc-warning p,.nc-warning li{
  font-size:14px;
  line-height:1.58;
  margin-bottom:8px;
}

/* STORIA CLINICA */
#storia p{
  font-size:14.6px;
  line-height:1.62;
}

#storia .nc-mini p{
  font-size:14px;
  line-height:1.56;
}

/* DIFFERENZIALE */
#differenziale .nc-mini p{
  font-size:13.8px;
  line-height:1.56;
}

/* SIDEBAR */
.nc-sidebar{
  position:sticky;
  top:calc(var(--hdr) + 8px);
  align-self:start;
}

.nc-smart-search,
.nc-ctaBox{
  background:#fff;
  border:1px solid var(--nc-line);
  border-radius:22px;
  padding:18px;
  box-shadow:var(--nc-shadow);
  margin-bottom:16px;
}

.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:13px;
  line-height:1.55;
}

.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:11.5px;
  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:13px;
  line-height:1.45;
  color:#a64a4a;
  text-decoration:none;
}

.nc-smart-search-group a:hover{
  color:var(--nc-blue);
  text-decoration:underline;
}

.nc-ctaBox h3{
  margin:0 0 10px;
  color:var(--nc-ink);
  font-size:18px;
  line-height:1.2;
  font-weight:800;
}

.nc-ctaBox p,
.nc-ctaBox li{
  font-size:13.2px;
  line-height:1.52;
}

.nc-ctaBox ul{
  margin:10px 0 14px 18px;
  padding:0;
}

.nc-ctaBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px;
  border-radius:999px;
  background:var(--nc-blue);
  color:#fff !important;
  text-decoration:none !important;
  font-size:.9rem;
  font-weight:800;
}

/* LINK FRECCIA */
.nc-card a,
.nc-mini a,
.nc-note a,
.nc-info a,
.nc-warning a{
  text-decoration:none;
}

/* usa questo span nell'HTML: <span class="nc-arrow">→</span> */
.nc-arrow{
  display:inline-block;
  white-space:nowrap;
  margin-left:2px;
}

/* opzionale: se vuoi tenere insieme anche l’ultimo pezzo di testo + freccia */
.nc-nowrap{
  white-space:nowrap;
}

/* TABLET */
@media (min-width:768px) and (max-width:1024px){
  .nc-main{
    grid-template-columns:1fr;
  }

  .nc-sidebar{
    position:static;
  }

  .nc-hero-grid{
    grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);
    gap:18px;
  }

  .nc-title{
    font-size:40px;
    max-width:12ch;
    line-height:1.04;
  }
}

/* MOBILE */
@media (max-width:767px){
  :root{
    --hdr:70px;
  }

  .nc-wrap{
    width:min(100% - 18px,1240px);
  }

  .nc-main{
    display:flex;
    flex-direction:column;
    gap:16px;
    margin-top:18px;
  }

  .nc-main > main{
    order:1;
    width:100%;
    min-width:0;
  }

  .nc-main > .nc-sidebar{
    order:2;
    width:100%;
    position:static;
    top:auto;
    margin-top:0;
  }

  .nc-grid-3,
  .nc-grid-2,
  .nc-hero-grid{
    grid-template-columns:1fr;
  }

  .nc-hero{
    padding:20px 16px 18px;
    border-radius:22px;
  }

  .nc-card{
    padding:18px;
  }

  .nc-title{
    font-size:33px;
    max-width:none;
    line-height:1.04;
    margin:0 0 10px;
  }

  .nc-lead,
  .nc-card p,
  .nc-card li{
    font-size:14.5px;
    line-height:1.6;
  }

  .nc-mini p,
  .nc-mini li{
    font-size:13.5px;
    line-height:1.54;
  }

  .nc-info p,.nc-info li,
  .nc-note p,.nc-note li,
  .nc-warning p,.nc-warning li{
    font-size:13.5px;
    line-height:1.54;
  }

  .nc-anchor{
    gap:8px;
    margin-top:14px;
    padding-top:12px;
  }

  .nc-anchor a{
    font-size:11.5px;
    padding:7px 10px;
    min-height:34px;
  }

  .nc-smart-search{
    display:none;
  }

  .nc-ctaBox{
    padding:16px;
    border-radius:18px;
  }

  .nc-ctaBox h3{
    font-size:17px;
    line-height:1.28;
    margin-bottom:8px;
  }

  .nc-ctaBox p,
  .nc-ctaBox li{
    font-size:13.2px;
    line-height:1.52;
  }
}

/* ===== FIX MIRATO DIAGNOSI ===== */

/* HERO DESKTOP: più respiro al titolo */
@media (min-width:1025px){

  .nc-hero-grid{
    grid-template-columns:minmax(0,1.72fr) minmax(280px,.62fr) !important;
    gap:24px !important;
    align-items:start !important;
  }

  .nc-title{
    max-width:13.2ch !important;
    font-size:40px !important;
    line-height:1.03 !important;
    letter-spacing:-.038em !important;
  }

  .nc-lead{
    max-width:66ch !important;
    font-size:15px !important;
    line-height:1.64 !important;
  }

  .nc-hero-card{
    max-width:320px !important;
    justify-self:end !important;
  }

  .nc-hero-caption{
    font-size:12.8px !important;
    line-height:1.48 !important;
  }
}

/* BOX grande sotto algoritmo / box informativi ampi */
.nc-info,
.nc-note,
.nc-warning{
  padding:13px 14px !important;
}

.nc-info p,
.nc-info li,
.nc-note p,
.nc-note li,
.nc-warning p,
.nc-warning li{
  font-size:13.5px !important;
  line-height:1.52 !important;
  margin-bottom:6px !important;
}

/* se c'è testo diretto dentro il box senza <p> */
.nc-info,
.nc-note,
.nc-warning{
  font-size:13.5px !important;
  line-height:1.52 !important;
}

/* mini-card algoritmo un filo più compatte */
#algoritmo .nc-mini h3{
  font-size:14.5px !important;
  line-height:1.24 !important;
}

#algoritmo .nc-mini p{
  font-size:13.6px !important;
  line-height:1.52 !important;
}

/* FAQ un po' più ordinate */
#faq h3{
  font-size:16px !important;
  line-height:1.3 !important;
  margin:16px 0 6px !important;
}

#faq p{
  font-size:14.5px !important;
  line-height:1.58 !important;
}

/* MOBILE: nessun cambiamento aggressivo sul titolo */
@media (max-width:767px){
  .nc-title{
    font-size:32px !important;
    max-width:none !important;
  }
}/* ===== HERO DIAGNOSI - ALLINEAMENTO TITOLO E LEAD ===== */

@media (min-width:1025px){

  .nc-hero-grid{
    grid-template-columns:minmax(0,1.9fr) minmax(260px,.55fr) !important;
    gap:28px !important;
    align-items:start !important;
  }

  .nc-hero-copy{
    padding:24px 4px 22px 0 !important;
  }

  .nc-title{
    max-width:none !important;
    width:100% !important;
    font-size:42px !important;
    line-height:1.03 !important;
    letter-spacing:-.038em !important;
    margin:0 0 16px !important;
    text-wrap:balance;
  }

  .nc-lead{
    max-width:64ch !important;
    width:100% !important;
    font-size:15px !important;
    line-height:1.68 !important;
    margin:0 !important;
  }

  .nc-lead p{
    margin:0 0 14px !important;
  }

  .nc-lead p:last-child{
    margin-bottom:0 !important;
  }

  .nc-hero-card{
    max-width:310px !important;
    width:100% !important;
    justify-self:end !important;
    align-self:start !important;
  }

  .nc-hero-caption{
    font-size:12.8px !important;
    line-height:1.48 !important;
    padding:10px 12px 12px !important;
  }
}/* End custom CSS */