.elementor-22576 .elementor-element.elementor-element-8458a31{--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;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-64f2835 *//* =========================================================
   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;
  }
}

/* =========================================================
   FARMACI A CONFRONTO – MICRO OTTIMIZZAZIONE FINALE
   Da incollare DOPO il CSS attuale
========================================================= */

/* -------------------------
   1) Layout generale
------------------------- */
@media (min-width:1025px){
  .nc-grid{
    grid-template-columns:minmax(0,1.64fr) minmax(290px,.70fr) !important;
    gap:22px !important;
    align-items:start !important;
  }

  .nc-side{
    position:sticky !important;
    top:calc(var(--hdr, 110px) + 8px) !important;
    align-self:start !important;
    z-index:20 !important;
  }
}

.nc-wrap,
.nc-grid,
.nc-main,
.nc-side{
  overflow:visible !important;
}

/* -------------------------
   2) Hero refinement
------------------------- */
.nc-hero-copy{
  padding:24px 24px 22px !important;
}

.nc-title{
  max-width:14ch !important;
  letter-spacing:-.035em !important;
}

.nc-lead{
  color:#475569 !important;
  max-width:60ch !important;
}

/* -------------------------
   3) Nav interna
------------------------- */
.nc-anchor{
  gap:8px !important;
  padding:12px 14px !important;
  border-radius:16px !important;
}

.nc-anchor a{
  min-height:36px !important;
  padding:8px 12px !important;
  font-size:12.5px !important;
  border-radius:999px !important;
  background:#fbfdff !important;
  border:1px solid #dbe6f0 !important;
}

.nc-anchor a:hover{
  background:#f1f7fc !important;
  text-decoration:none !important;
}

/* -------------------------
   4) Card generali
------------------------- */
.nc-card{
  border-radius:20px !important;
  padding:22px 22px 20px !important;
}

.nc-card h2{
  font-size:29px !important;
  line-height:1.14 !important;
  letter-spacing:-.03em !important;
  margin-bottom:12px !important;
}

.nc-card h3{
  font-size:18px !important;
  line-height:1.3 !important;
  letter-spacing:-.01em !important;
  margin:18px 0 8px !important;
}

.nc-card p,
.nc-card li{
  font-size:16px !important;
  line-height:1.74 !important;
}

.nc-card ul{
  margin:10px 0 14px 1.05rem !important;
}

.nc-card li{
  margin-bottom:7px !important;
}

/* -------------------------
   5) Box informativi
------------------------- */
.nc-info{
  border-radius:16px !important;
  padding:15px 16px !important;
}

.nc-info-title{
  font-size:14px !important;
  line-height:1.3 !important;
  margin-bottom:7px !important;
}

.nc-info p,
.nc-info li,
.nc-lead-note{
  font-size:14.5px !important;
  line-height:1.66 !important;
}

.nc-lead-note{
  border-radius:16px !important;
  padding:14px 15px !important;
}

/* -------------------------
   6) Warning box
------------------------- */
.nc-warning{
  margin-top:16px !important;
  border:1px solid #ecd9b0 !important;
  background:#fffaf0 !important;
  border-radius:18px !important;
  padding:16px 18px !important;
}

.nc-warning strong,
.nc-warning-title{
  display:block !important;
  margin:0 0 8px !important;
  color:#9a6700 !important;
  font-size:14px !important;
  line-height:1.3 !important;
  font-weight:800 !important;
}

.nc-warning p{
  margin:0 !important;
  font-size:15px !important;
  line-height:1.7 !important;
  color:#3f3f46 !important;
}

/* -------------------------
   7) Card confronto farmaci
------------------------- */
.nc-compare{
  gap:12px !important;
  margin-top:10px !important;
}

.nc-compare-item{
  border:1px solid #dbe6f0 !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#ffffff 0%, #fbfdff 100%) !important;
  box-shadow:0 8px 18px rgba(15,23,42,.04) !important;
  padding:18px 18px 16px !important;
}

.nc-compare-item h3{
  margin:0 0 10px !important;
  font-size:20px !important;
  line-height:1.22 !important;
}

.nc-compare-item p{
  margin-bottom:12px !important;
  font-size:15.5px !important;
  line-height:1.7 !important;
}

/* chips più eleganti */
.nc-meta{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:7px !important;
  margin:0 0 12px !important;
}

.nc-chip{
  min-height:28px !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  border:1px solid #dbe6f0 !important;
  background:#f8fbfe !important;
  color:#17385d !important;
  font-size:11.5px !important;
  font-weight:700 !important;
  line-height:1.15 !important;
}

/* split interno più ordinato */
.nc-split{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  margin-top:2px !important;
}

.nc-split > div{
  border:1px solid #e3ebf3 !important;
  background:#f9fcff !important;
  border-radius:14px !important;
  padding:12px 13px 10px !important;
}

.nc-split > div strong{
  display:block !important;
  margin-bottom:8px !important;
  color:#0f172a !important;
  font-size:14px !important;
  line-height:1.3 !important;
}

.nc-split ul{
  margin:0 0 0 1rem !important;
  padding:0 !important;
}

.nc-split li{
  font-size:14px !important;
  line-height:1.55 !important;
  margin-bottom:6px !important;
}

/* -------------------------
   8) Sezione alternative
------------------------- */
.nc-grid-2{
  gap:14px !important;
}

.nc-mini{
  border:1px solid #dbe6f0 !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,#f8fbfe 0%, #ffffff 100%) !important;
  padding:16px 16px 12px !important;
  box-shadow:0 8px 18px rgba(15,23,42,.04) !important;
}

.nc-mini h3{
  margin-top:0 !important;
  margin-bottom:8px !important;
  font-size:17px !important;
  line-height:1.28 !important;
}

.nc-mini p,
.nc-mini li{
  font-size:14.5px !important;
  line-height:1.62 !important;
}

/* -------------------------
   9) FAQ
------------------------- */
.nc-faq details{
  border:1px solid #dbe5ef !important;
  border-radius:14px !important;
  background:#fff !important;
}

.nc-faq summary{
  padding:14px 15px !important;
  font-size:15px !important;
  line-height:1.42 !important;
}

.nc-faq details p{
  font-size:14.5px !important;
  line-height:1.66 !important;
  padding-right:4px !important;
}

/* -------------------------
   10) Pagine correlate
------------------------- */
.nc-related{
  gap:12px !important;
}

.nc-related .item{
  border:1px solid #dbe6f0 !important;
  border-radius:16px !important;
  background:#f8fbfe !important;
  padding:14px 14px 12px !important;
}

.nc-related .item strong{
  font-size:14px !important;
  line-height:1.42 !important;
  margin-bottom:7px !important;
}

.nc-related .item p{
  font-size:13.5px !important;
}

/* -------------------------
   11) Sidebar – versione buona cluster
------------------------- */
.nc-smart-search,
.nc-ctaBox{
  border:1px solid var(--nc-line) !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 10px 24px rgba(15,23,42,.05) !important;
}

.nc-smart-search{
  padding:18px !important;
  margin-bottom:16px !important;
}

.nc-ctaBox{
  padding:18px !important;
}

.nc-smart-search-head h4{
  margin:0 0 6px !important;
  color:var(--nc-ink) !important;
  font-size:17px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
}

.nc-smart-search-head p{
  margin:0 0 14px !important;
  color:#475569 !important;
  font-size:13.5px !important;
  line-height:1.62 !important;
}

.nc-smart-search-form{
  display:flex !important;
  gap:10px !important;
  margin:0 0 14px !important;
}

.nc-smart-search-form input{
  flex:1 !important;
  min-height:46px !important;
  border:1px solid #d7e3ee !important;
  border-radius:14px !important;
  padding:0 14px !important;
  font-size:.95rem !important;
  color:var(--nc-text) !important;
  background:#fff !important;
}

.nc-smart-search-form button{
  min-height:46px !important;
  padding:0 15px !important;
  border:none !important;
  border-radius:14px !important;
  background:var(--nc-blue) !important;
  color:#fff !important;
  font-weight:800 !important;
  font-size:.9rem !important;
  cursor:pointer !important;
}

.nc-smart-search-tags{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin-bottom:14px !important;
}

.nc-smart-search-tags a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:32px !important;
  padding:7px 10px !important;
  border-radius:999px !important;
  border:1px solid #dbe6f0 !important;
  background:#f7fafd !important;
  color:#17385d !important;
  font-size:.8rem !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  text-decoration:none !important;
}

.nc-smart-search-tags a:hover{
  background:#eef5fb !important;
}

.nc-smart-search-group + .nc-smart-search-group{
  margin-top:12px !important;
}

.nc-smart-search-label{
  display:block !important;
  margin-bottom:6px !important;
  color:#6e8093 !important;
  font-size:.72rem !important;
  font-weight:800 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
}

.nc-smart-search-group a{
  display:block !important;
  margin:0 0 5px !important;
  font-size:.9rem !important;
  line-height:1.45 !important;
  color:#a64a4a !important;
  text-decoration:none !important;
}

.nc-smart-search-group a:hover{
  color:var(--nc-blue) !important;
  text-decoration:underline !important;
}

.nc-ctaBox h3{
  margin:0 0 10px !important;
  color:var(--nc-ink) !important;
  font-size:20px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
}

.nc-ctaBox p,
.nc-ctaBox li{
  font-size:14px !important;
  line-height:1.62 !important;
  color:var(--nc-text) !important;
}

.nc-ctaBox ul{
  margin:10px 0 14px 1rem !important;
  padding:0 !important;
}

.nc-ctaBox li{
  margin:0 0 7px !important;
}

.nc-ctaBox .nc-btn,
.nc-ctaBox .nc-btn--ghost{
  min-height:42px !important;
  padding:10px 16px !important;
  border-radius:999px !important;
  font-size:.9rem !important;
  font-weight:800 !important;
}

/* -------------------------
   12) Tablet
------------------------- */
@media (min-width:768px) and (max-width:1024px){
  .nc-grid{
    grid-template-columns:1fr !important;
  }

  .nc-side{
    position:static !important;
    top:auto !important;
  }

  .nc-smart-search,
  .nc-ctaBox{
    border-radius:20px !important;
    padding:16px !important;
  }

  .nc-card h2{
    font-size:27px !important;
  }

  .nc-card h3{
    font-size:18px !important;
  }

  .nc-card p,
  .nc-card li{
    font-size:15.5px !important;
    line-height:1.7 !important;
  }
}

/* -------------------------
   13) Mobile
------------------------- */
@media (max-width:767px){
  .nc-wrap{
    width:min(100% - 18px,1160px) !important;
  }

  .nc-grid,
  .nc-hero-grid,
  .nc-grid-2,
  .nc-related,
  .nc-split{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .nc-side{
    position:static !important;
    top:auto !important;
  }

  /* niente duplicazione con footer/search finale */
  .nc-smart-search{
    display:none !important;
  }

  .nc-hero-copy,
  .nc-card,
  .nc-ctaBox,
  .nc-hero-card{
    padding:16px !important;
    border-radius:18px !important;
  }

  .nc-title{
    font-size:1.9rem !important;
    line-height:1.06 !important;
    max-width:none !important;
    margin:12px 0 10px !important;
  }

  .nc-card h2{
    font-size:24px !important;
    line-height:1.16 !important;
    margin-bottom:10px !important;
  }

  .nc-card h3,
  .nc-ctaBox h3{
    font-size:17px !important;
    line-height:1.3 !important;
  }

  .nc-lead,
  .nc-card p,
  .nc-card li{
    font-size:15px !important;
    line-height:1.72 !important;
  }

  .nc-info p,
  .nc-info li,
  .nc-lead-note,
  .nc-warning,
  .nc-warning p{
    font-size:14px !important;
    line-height:1.65 !important;
  }

  .nc-warning{
    padding:14px 16px !important;
  }

  .nc-warning strong,
  .nc-warning-title{
    font-size:14px !important;
  }

  .nc-faq summary{
    font-size:15px !important;
  }

  .nc-faq details p{
    font-size:14px !important;
    line-height:1.66 !important;
  }

  .nc-anchor{
    position:static !important;
    gap:8px !important;
    padding:10px 12px !important;
    border-radius:14px !important;
  }

  .nc-anchor a{
    font-size:11.5px !important;
    padding:7px 10px !important;
    min-height:34px !important;
  }

  .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;
  }

  .nc-compare-item{
    padding:16px 15px 14px !important;
  }

  .nc-split > div{
    padding:11px 12px 9px !important;
  }

  .nc-chip{
    font-size:11px !important;
  }
}/* End custom CSS */