:root{
  --page-gutter: 20px;     /* default */
}

@media (min-width: 900px){
  :root{ --page-gutter: 40px; }   /* desktop attuale */
}

/* richiesta cliente: da 1440 in poi più padding */
@media (min-width: 1440px){
  :root{ --page-gutter: 80px; }   /* scegli 64/72/80 in base a quanto lo vuole “arioso” */
}


:root{
  --font-sans: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, "Segoe UI", Roboto, sans-serif;
}

html, body{
  font-family: var(--font-sans);
}

button, input, select, textarea{
  font-family: inherit;
}


* {
    box-sizing: border-box; /* Padding e bordi vengono inclusi nella larghezza totale */
}


body {
    margin: 0;
    padding: 0;
    line-height: 1.6;
    width: 100%;
    height: 100%;
    overflow-x: hidden !important; /* Nasconde eventuali scorrimenti orizzontali */
    overflow-y: auto !important;
    background-color: #ffffff;
}
img {
    max-width: 100%; /* Assicura che l'immagine non superi mai la larghezza del contenitore */
    height: auto; /* Mantiene le proporzioni */
}


/* Header */
header{
  position: sticky;
  top: 0;
  z-index: 9999;
  background: #ffffff;
}

/* CTA in header nascosta di default */
header .syn-hero__btn_header{
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
}

/* quando la hero non e piu visibile */
header.is-cta-visible{
  box-shadow: 0 10px 22px rgba(0,0,0,.08);
}

header.is-cta-visible .syn-hero__btn_header{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition-delay: 0s;
}
header {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #ffffff;
    padding-top: 24px;
    padding-bottom: 24px;
    padding-left: 40px;
    padding-right: 40px;
}

header .logo img {
    height: 32.46px; /* Altezza del logo */
    width: 145.06px; /* larghezza logo */
    top: 35.77px;
    left: 40px;
    
}

.cta-button {
    width: 211px;
    height: 56px;
    border-radius: 48px;
    padding-top: 8px;
    padding-right: 8px;
    padding-bottom: 8px;
    padding-left: 24px;
    background-color: #8064A8;
    color: #fff;
    display: inline-flex; /* Usa flexbox per il contenuto */
    justify-content: center; /* Allinea orizzontalmente al centro */
    align-items: center; /* Allinea verticalmente al centro */
    font-size: 18px;
    text-align: center;
    line-height: 17.1px;
    font-weight: 400;
    text-decoration: none;
}

.cta-button::after {
    content: url('immagini/row-right.svg'); /* Freccia verso destra */
    margin-left: 5px; /* Spazio tra il testo e la freccia */
}

header .cta-button:hover {
    background: #5E477F !important;
    color: #ffffff;
}

/* HERO SECTION */
/* HERO Synlab (scoped) */
.syn-hero{
  --syn-bg: #d1e9fd;           /* sfondo azzurro */
  --syn-ink: #1f3961;          /* blu testo e bottone */
  --syn-ink-soft: #1f3961;     /* stesso tono, ma puoi schiarire se serve */
  --syn-btn: #1f3961;
  --syn-btn-text: #ffffff;
  --syn-pad-x: var(--page-gutter);
  --syn-pad-y: 0px;
  background: var(--syn-bg);
}

.syn-hero__container{
  margin: 0 auto;
}

.syn-hero__grid{
  display: grid;
  align-items: center;
}

/* Desktop layout: testo a sinistra, immagine a destra */
@media (min-width: 900px){
  .syn-hero__grid{
    grid-template-columns: 0.9fr 1.1fr;
  }
}

.syn-hero__content{
  max-width: 640px;
}

.syn-hero__title {
    color: #183964;
    font-weight: 400;
    line-height: 100%;
    font-size: 72px;
    padding-left: 40px;
}

.syn-hero__lead {
    color: #183964;
    font-weight: 400;
    line-height: 130%;
    padding-left: 40px;
    font-size: 32px;
}

.syn-hero__lead strong{
  font-weight: 800;
}
.syn-hero__title .br--d{ display: block; }
.syn-hero__title .br--m{display: none;}

.syn-hero__actions{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.syn-hero__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 15px 32px;
    border-radius: 88px;
    background: #183964;
    color: #fff;
    font-weight: 500;
    font-size: 24px;
    line-height: 100%;
    text-decoration: none;
    white-space: nowrap;
    margin-bottom: 56px;
    margin-top: 24px;
    margin-left: 40px;
}

.syn-hero__btn:hover {
  background: #02224D;
}

.syn-hero__btn_header {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px 32px;
  border-radius: 88px;
  background: #183964;
  color: #fff;
  font-weight: 500;
  font-size: 24px;
  line-height: 100%;
  text-decoration: none;
  white-space: nowrap;
  margin-left: var(--page-gutter);
 
}

.syn-hero__btn_header:hover {
  background: #02224D;
}

/* Media area */
.syn-hero__media{
    max-width: none;
    justify-self: stretch;
    align-self: stretch;
    display: flex;

    /* annulla il padding verticale del container, così tocca sopra e sotto */
    margin-top: calc(-1 * var(--syn-pad-y));
    margin-bottom: calc(-1 * var(--syn-pad-y));
  }

  .syn-hero__img{
    width: 100%;
    height: 100%;
    display: block;

    /* fondamentale: deve riempire e tagliare come in Figma */
    object-fit: cover;
  }

  /* base */
.syn-hero__media{
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 42% center; /* regola il fuoco */
}

/* DESKTOP: immagine A */
@media (min-width: 900px){
  .syn-hero__media{
    background-image: url("immagini/hero-img-desktop.webp");
  }
}

/* MOBILE: immagine B */
@media (max-width: 899px){
  .syn-hero__media{
    background-image: url("immagini/hero-img-mobile.webp");
  }
}

/* Mobile: immagine sopra in “card” arrotondata, testo sotto */
@media (max-width: 899px){
  .syn-hero__grid{
    position: static;
    padding-right: 0;
    padding: var(--syn-pad-y) 0;
    gap: 18px;
  }

  .syn-hero__media {
        overflow: hidden;
        position: relative;
        width: 370px;
        grid-row: 1;
        min-height: 320px;
        border-radius: 24px;
        height: 384px;
        margin: auto;
        margin-top: 24px;
    }
  .syn-hero__content{
    grid-row: 2;          /* dopo */
  }

    .syn-hero__title {
        color: #183964;
        font-weight: 400;
        line-height: 100%;
        font-size: 48px;
        padding-left: 24px;
        padding-right: 48px;
    }

  .syn-hero__img{
    border-radius: 18px;
    aspect-ratio: 1 / 1;
    height: auto;
    object-position: center top;
  }

  .syn-hero__lead {
    color: #183964;
    font-weight: 400;
    line-height: 120%;
    padding-left: 24px;
    font-size: 18px;
    padding-right: 24px;
}
.syn-hero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12.5px 25px;
  border-radius: 88px;
  background: #183964;
  color: #fff;
  font-weight: 500;
  font-size: 18px;
  line-height: 100%;
  text-decoration: none;
  white-space: nowrap;
  margin-left: var(--page-gutter);
  margin-bottom: 56px;
  margin-top: 24px;
}

.syn-hero__btn_header {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 24px;
  border-radius: 88px;
  background: #183964;
  color: #fff;
  font-weight: 500;
  font-size: 14px;
  line-height: 100%;
  text-decoration: none;
  white-space: nowrap;
  margin-left: 0;
}

.syn-hero__title .br--m{ display: block; }
  .syn-hero__title .br--d{ display: none; }
}

  
section.evaluation-mobile {
  display: none;
}

section.evaluation-desktop {
  padding-left: 40px;
}



.evaluation .container {
    max-width: 100%;
    margin: 0 auto;
}

/* Titolo */
h2.title {
    font-size: 56px;
    line-height: 110%;
    text-align: left;
    color: #183964;
    font-weight: 400;
    margin-top: 48px;
    margin-bottom: 40px;
}

.subtitle_h2 {
    font-size: 24px;
    line-height: 130%;
    text-align: left;
    color: #183964;
    font-weight: 400;
    margin-top: 40px;
    margin-bottom: 40px;
}


/* Layout delle colonne */
.content {
    display: flex;
    gap: 140px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
    height: 621px;
    padding-top: 24px;
    padding-bottom: 24px;
}

.content2 {
    display: flex;
    gap: 140px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
    height: 621px;
    padding-top: 24px;
    padding-bottom: 24px;
    margin-top: 64px;
}

/* Colonna Sinistra (Immagine) */
.image-column {
    flex: 1;
    max-width: 500px;
    text-align: center;
}

.image-column img {
    max-width: 100%; /* Adatta l'immagine al contenitore */
    height: auto; /* Mantiene le proporzioni */
    border-radius: 32px; /* Bordo arrotondato */
}

/* Colonna Destra (Testo) */
.text-column-right {
    flex: 1;
    max-width: 667px;
    height: 573px;
}


.text-column-left {
    flex: 1;
    max-width: 667px;
    height: 573px;
   
}

.step-content {
    text-align: left;  
}
.step-content-alex2 {
    text-align: left;
    width: 666px;
    height: 372px;
}

.icon1 {
    display: flex;
    justify-content: flex-end;
    margin-top: 40px;
}

/* container */
.evaluation {
    padding: 40px 0;
  }
  .container {
    max-width: 1200px;
    margin: 0 auto;
    padding-left: var(--page-gutter);
    padding-right: var(--page-gutter);
  }
  
  /* grid */
  .cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 20px;
  }
  
  /* card base */
  .card {
    background: #E6F4FF;
    border-radius: 24px;
    height: auto;
    padding-top: 24px;
    padding-right: 24px;
    padding-bottom: 24px;
    padding-left: 24px;
    width: auto;
}

  
  /* immagine */
  .card-media img {
    width: 100%;
    border-radius: 8px;
    object-fit: cover;
    display: block;
  }
  
  /* contenuto */
  .card-body {
    padding: 18px 0px 20px;
  }
.card-title {
    font-size: 32px;
    font-weight: 500;
    margin: 0 0 8px;
    color: #183964;
    line-height: 120%;
    margin-top: 16px;
    margin-bottom: 16px;
}
  .card-text {
    font-size: 17px;
    font-weight: 400;
    line-height: 120%;
    color: #183964;
   
  }

  .card-footer {
    padding: 16px 0px 0px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 14px;
}
  
  .card-footer-spacer{
    flex: 1;
  }
  
  .card-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 32px;
    border-radius: 88px;
    background: #183964;
    color: #fff;
    font-weight: 400;
    font-size: 24px;
    line-height: 100%;
    text-decoration: none;
    white-space: nowrap;
}
.card-btn-2 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 32px;
  border-radius: 88px;
  background: #183964;
  color: #fff;
  font-weight: 400;
  font-size: 24px;
  line-height: 100%;
  text-decoration: none;
  white-space: nowrap;
}

.card-btn:hover {
  background: #02224D;
}

.card-btn-2:hover {
  background: #02224D;
}
  
  .card-pricebox{
    display: grid;
    gap: 4px;
  }
  
  .card-price {
    color: #183964;
    font-weight: 500;
    font-size: 44px;
    line-height: 105%;
}
  
  .card-price-mark{
    color: #183964;
    font-weight: 500;
    font-size: 44px;
    line-height: 105%;
  }
  
  .card-note {
    color: #183964;
    font-weight: 400;
    line-height: 100%;
    font-size: 14px;
}
  
  /* accessibilità */
  .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
  }

  .carousel{
    display: none;
  }



.syn-sectionHead__container{
  margin: 48px auto;
  padding-left: var(--page-gutter);
  padding-right: var(--page-gutter);
}

.syn-sectionHead__grid{
  display: grid;
  gap: 14px;
  align-items: start;
}

@media (min-width: 900px){
  .syn-sectionHead__grid{
    grid-template-columns: 1fr auto;
    align-items: start;
    gap: 18px;
  }

  .syn-sectionHead__cta{
    justify-self: end;
    align-self: start;
  }
}

.syn-sectionHead__title {
    margin: 0 0 16px 0;
    color: #183964;
    font-weight: 500;
    font-size: 56px;
    line-height: 110%;
}

.syn-sectionHead__text {
    margin: 0;
    color: #183964;
    font-weight: 400;
    font-size: 24px;
    line-height: 130%;
    max-width: 40ch;
    
}

.syn-sectionHead__text_2 {
  margin: 0;
  color: #183964;
  font-weight: 400;
  font-size: 24px;
  line-height: 130%;
  max-width: 60ch;
}

.syn-sectionHead__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 32px;
    border-radius: 88px;
    border: 2px solid #183964;
    color: #183964;
    font-weight: 500;
    font-size: 24px;
    text-decoration: none;
    background: #fff;
    white-space: nowrap;
}

.syn-sectionHead__btn:hover{
  
  border: 2px solid #02224D;
  color: #02224D;

}

.syn-sectionHead__btn::after {
    content: url(immagini/Icon-row-up.svg);
    margin-left: 4px;
    margin-top: 8px;
}

@media (max-width: 899px){
  section.evaluation-mobile {
    display: contents;
}

.card-footer {
  padding: 16px 0px 0px;
  display: block;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
}

  h2.title {
    font-size: 36px;
    line-height: 110%;
    text-align: left;
    color: #183964;
    margin-left: 0px;
    font-weight: 500;
    margin-top: 32px;
    margin-bottom: 32px;
}

.subtitle_h2 {
    font-size: 18px;
    line-height: 130%;
    text-align: left;
    color: #183964;
    margin-left: 0px;
    font-weight: 400;
    margin-top: 18px;
    margin-bottom: 40px;
}
  .syn-sectionHead__title {
    margin: 0 0 16px 0;
    color: #183964;
    font-weight: 500;
    font-size: 36px;
    line-height: 100%;
    margin-top: 24px;
}
.syn-sectionHead__text {
  margin: 0;
  color: #183964;
  font-weight: 400;
  font-size: 18px;
  line-height: 130%;
  max-width: 40ch;
  margin-top: 16px;
  margin-bottom: 24px;
}

.syn-sectionHead__text_2 {
  margin: 0;
  color: #183964;
  font-weight: 400;
  font-size: 18px;
  line-height: 130%;
  max-width: 60ch;
  margin-top: 16px;
}
.syn-sectionHead__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 4px 24px;
  border-radius: 88px;
  border: 2px solid #183964;
  color: #183964;
  font-weight: 500;
  font-size: 18px;
  text-decoration: none;
  background: #fff;
  white-space: nowrap;
}
}

/* ===== CHECK-UP: CSS COMPLETO (classi nuove) ===== */
#synlab-checkups{
    --slb-ink:#1f3961;
    --slb-muted:#36557a;
    --slb-card:#eaf4ff;
    --slb-radius:16px;
  }
  
  #synlab-checkups .slbChk-wrap {
    margin: auto;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 64px;
}
  
  /* Desktop visibile, mobile nascosto */
  #synlab-checkups .slbChk-d{ display:block !important; }
  #synlab-checkups .slbChk-m{ display:none !important; }
  
  /* Griglia desktop */
  #synlab-checkups .slbChk-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:18px;
  }
  
  /* Card (desktop + mobile) */
  #synlab-checkups .slbChk-card {
    background: #E6F4FF;
    border-radius: 24px;
    padding: 24px;
    display: grid;
    grid-template-rows: auto auto 1fr auto;
    gap: 8px;
    height: 288px;
}
  
  #synlab-checkups .slbChk-ico{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    color:var(--slb-ink);
    opacity:.9;
    font-size:18px;
  }
  
  #synlab-checkups .slbChk-ttl {
    margin: 0;
    font-weight: 500;
    font-size: 24px;
    line-height: 110%;
    color: #183964;
    margin-top: 8px;
}
  
  #synlab-checkups .slbChk-txt{
    margin:0;
    color:#183964;
    font-weight:400;
    font-size:18px;
    line-height:120%;
  }
  
  #synlab-checkups .slbChk-lnk {
    margin-top: 6px;
    color: #183964;
    font-weight: 500;
    font-size: 18px;
    text-decoration: underline;
}
#synlab-checkups .slbChk-lnk:hover{
  text-decoration: none;
  color: #02224D;
}
  
  /* Breakpoint desktop intermedi */
  @media (max-width: 1100px){
    #synlab-checkups .slbChk-grid{ grid-template-columns:repeat(3, 1fr); }
  }
  @media (max-width: 820px){
    #synlab-checkups .slbChk-wrap{ 
      padding: 16px 20px 56px;
    }
    #synlab-checkups .slbChk-grid{ grid-template-columns:repeat(2, 1fr); }
  }
  
  /* Mobile: mostra Swiper e nasconde griglia */
  @media (max-width: 899px){
    #synlab-checkups .slbChk-d{ display:none !important; }
    #synlab-checkups .slbChk-m{ display:block !important; }
  
    #synlab-checkups .slbChk-carousel{ position:relative; }
    #synlab-checkups #slbChkSwiper{ overflow:hidden; }
  
    #synlab-checkups .slbChk-bar{
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding-top:24px;
    }
  
    #synlab-checkups .slbChk-count {
      font-size: 24px;
      font-weight: 400;
      color: #18396466;
  }

  #synlab-checkups .slbChk-ttl {
    margin: 0;
    font-weight: 500;
    font-size: 24px;
    line-height: 120%;
    color: #183964;
    margin-top: 8px;
    text-align: left;
}
#synlab-checkups .slbChk-txt {
  margin: 0;
  color: #183964;
  font-weight: 400;
  font-size: 18px;
  line-height: 120%;
  text-align: left;
}

#synlab-checkups .slbChk-lnk {
  margin-top: 6px;
  color: #183964;
  font-weight: 500;
  font-size: 16px;
  text-decoration: underline;
  text-align: left;
}
  
    #synlab-checkups .slbChk-nav{
      display:flex;
      gap:10px;
    }
  
    #synlab-checkups .slbChk-btn{
      width:44px;
      height:44px;
      border-radius:999px;
      border:0;
      color:#fff;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      cursor:pointer;
    }
  
    #synlab-checkups .slbChk-btnPrev{ background:#939393; }
    #synlab-checkups .slbChk-btnNext{ background:#183964; }
  }
  
  
  .didyouknow-mobile{
    display: none;
  }

/* Mobile: CTA sotto e a sinistra (come screen) */
@media (max-width: 899px){
  .syn-sectionHead__container{
    padding-left: var(--page-gutter);
  padding-right: var(--page-gutter);
    margin-top: 48px;
    margin-bottom: 16px;
  }

  .didyouknow-mobile{
    display: block;
  }

  .syn-sectionHead__cta{
    justify-self: start;
  }
  .find-branch{         
    margin-top: 80px;
    margin-bottom: 40px; 
    padding-left: var(--page-gutter);
    padding-right: var(--page-gutter);
  }
}


/* grid 2 colonne */
.find-branch{         
    margin-top: 80px;
    padding-left: var(--page-gutter);
    padding-right: var(--page-gutter);
    margin-bottom: 40px; }
.find-branch__grid{
  display: grid;
  grid-template-columns: minmax(554px,50%) minmax(0,60%);   /* immagine | contenuti */
  gap: 80px;
  align-items: start;
}
/* immagine */
.find-branch__media img{
  width: auto;
  height: auto;
  display: block;
}

/* copy */
.find-branch__title {
    margin: 0 0 10px;
    font-size: 56px;
    line-height: 110%;
    font-weight: 400;
    color: #183964;
}
.find-branch__desc {
    font-size: 24px;
    line-height: 130%;
    color: #183964;
    max-width: 42ch;
}

/* controlli */
.find-branch__controls{
  display: flex; align-items: center; gap: 24px;
}
.select-underline {
    min-width: 336px;
    border: 0;
    border-bottom: 2px solid #01334F1A;
    padding: 10px 28px 10px 12px;
    border-radius: 8px;
    background: #fff;
    color: #8099A7;
    font-size: 14.54px;
    line-height: 95%;
    outline: none;
}
.select-underline:focus{ border-bottom-color: #8064A8; box-shadow: 0 6px 18px rgba(128,100,168,.08); }

.btn-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 88px;
  background: #939393;
  color: #DDDDDD;
  font-weight: 500;
  font-size: 18px;
  padding-top: 16px;
  padding-bottom: 16px;
  padding-left: 48px;
  padding-right: 32px;
  width: 256px;
  height: 64px;
}

.btn-pill::after {
    content: url('immagini/arrow_forward.svg'); /* Freccia verso destra */
    margin-left: 5px; /* Spazio tra il testo e la freccia */
    margin-top: 8px;
}

.btn-pill:hover:not([disabled]){ transform: translateY(-1px); box-shadow: 0 10px 22px rgba(0,0,0,.14); }


.didyouknow{ padding: 40px 40px 40px; }
.didyouknow__head{
  display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:10px;
}
.didyouknow h2 {
  font-size: 56px;
  line-height: 100%;
  font-weight: 400;
  color: #183964;
}

/* frecce in alto a destra */
.ddk-nav{ display:flex; gap:10px; }
.ddk-btn {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 0;
    display: grid;
    place-items: center;
    cursor: pointer;
    background: #8D8D8D;
    color: #fff;
}
.ddk-next{ 
    background: #183964;
    color: #fff; }

    .ddk-next:hover{ 
      background: #02224D;
    }
.ddk-btn:active{ background: #939393;
    color: #fff; }

    /* Desktop DDK: stato disabled (Swiper) */
.ddk-nav .ddk-btn.swiper-button-disabled{
  background: #8D8D8D !important;
  color: #fff !important;
  cursor: default;
  pointer-events: none;
  opacity: 1;
}

/* quando PREV è attivo, diventa blu come NEXT */
.ddk-nav .ddk-prev:not(.swiper-button-disabled){
  background: #183964 !important;
  color: #fff !important;
}

.ddk-nav .ddk-next:hover{
  background: #02224D;
}

/* active: micro feedback senza cambiare colore (evita incoerenze) */
.ddk-nav .ddk-btn:active{
  transform: scale(.98);
}

/* slide */
#ddk-swiper{ overflow:hidden; }
#ddk-swiper .swiper-slide{ display:flex; }


/* colonne */
.ddk-col{ min-width:0; }
.ddk-media img{ width:100%; height:auto; border-radius:14px; display:block; }
.ddk-illustration{ display:flex; align-items:center; justify-content:center; }
.ddk-illustration svg{ width:100%; max-width:360px; height:auto; }

/* testo */


/* stats */
.ddk-stats{ display:flex; flex-direction:column;  text-align: left; justify-content: flex-end; gap:24px;margin-bottom: 32px;}
.ddk-value{
    font-size: 123px;
    line-height: 100%;
    font-weight: 500;
    color: #183964;
}
.ddk-value span{ font-size:.45em; font-weight:700; margin-left:.15em; }
.ddk-label{ color: #183964;
    font-size: 24px;
    line-height: 120%;
    text-align: left; }

/* pannello grande con sfondo lilla, radius e padding */
.ddk-slide{
    display: grid;
    grid-template-columns: 1.08fr 0.94fr;
    gap: 22px;
    width: 100%;
    background: #E6F4FF;             
    border-radius: 24px;
    padding: 22px;
    align-items: stretch !important;
    height: 624px;
  }
  
  /* colonna testi: box più chiaro, testo a sinistra */
  .ddk-text{
    display: grid !important;
    grid-template-rows: auto auto 1fr auto;
    align-content: stretch;
    height: 100%;
    gap: 18px;
    padding: 18px;
    color: #8064A8;                        /* viola testo */
    text-align: left;                      /* forza allineamento */
  }
  
  /* paragrafo principale */
  .ddk-lead{
    margin: 0 0 16px;
    font-size: 32px;
    line-height: 120%;
    color: #183964;
    font-weight: 400;
  }

  
  /* call-to-action pill */
  .ddk-cta {
    display: inline-flex;
    align-items: center;
    color: #183964;
    font-weight: 500;
    font-size: 24px;
    text-decoration: underline;
    line-height: 100%;
}
.ddk-cta:hover {
  text-decoration: none;
  color: #02224D;
}
  
  
  /* nota in piccolo */
  .ddk-note{ 
    align-self: end;            /* aggancia al fondo della colonna */                /* spinge la nota in basso */
    display: block; 
    color:#183964; 
    font-size:16px;
    line-height: 120%;
 }
  
  /* colonna immagine: grande, con radius arrotondato */
  
  .ddk-icon{
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .ddk-icon img{
    display: block;
    max-width: 100%;
    height: auto;
    object-fit: contain;
  }
  
  /* frecce in alto a destra: già ok, ma le riallineo se servisse */
  .didyouknow__head{ margin-bottom: 12px; }

/* accessibilità utility */
.visually-hidden{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* === FULL-WIDTH PATCH per "Lo sapevi?" === */

/* lo slider prende tutta la riga */
#ddk-swiper{
    width: 100% !important;
    margin: 0 !important;   /* evita centrature automatiche */
    overflow: hidden;
  }
  
  /* ogni slide occupa il 100% del contenitore */
  #ddk-swiper .swiper-wrapper{ width: 100% !important; }
  #ddk-swiper .swiper-slide{
    width: 100% !important;
    flex: 0 0 100% !important;   /* niente shrink, niente auto width */
    display: block !important;
    margin-left: 3px;
  }
  
  /* il pannello interno realmente a tutta larghezza */
  
  
  /* (opzionale) se la tua .container è molto stretta, allarga solo questa sezione */
  .didyouknow > .container{
    width: 100%;
    max-width: 1200px;       /* oppure 100% se vuoi edge-to-edge */
  }


  

/* responsive */
@media (max-width: 900px){
  .find-branch__grid{ grid-template-columns: 1fr; }
  .find-branch__media{ order: 1; }
  .find-branch__content{ order: 2; }
  .find-branch__controls{ justify-content: flex-start; }
}

.btn {
    width: 191px;
    font-weight: 400;
    height: 56px;
    padding: 8px 8px 8px 24px;
    gap: 8px;
    border-radius: 48px;
    text-align: center;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    background: #8064A8;
    color: #fff !important;
    margin-top: 24px;
}
.btn:hover {
    background: #5E477F !important;
    color: #ffffff;
}


.btn::after {
    content: url('immagini/row-right.svg'); /* Freccia verso destra */
    margin-left: 5px; /* Spazio tra il testo e la freccia */
    margin-top: 8px;
}



.step-title {
    font-family: Helvetica Neue;
    font-size: 48px;
    font-weight: 400;
    line-height: 100%;
    text-align: left;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
    color: #8064A8;
}

.step-title-blog {
    font-family: Helvetica Neue;
    font-size: 48px;
    font-weight: 400;
    line-height: 48px;
    letter-spacing: -0.02em;
    text-align: left;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
    color: #ffffff;
}

.step-description {
    font-size: 18px;
    line-height: 130%;
    color: #203300;
    margin-bottom: 56px;
}
.step-description-1 {
    width: 368px;
    font-size: 18px;
    line-height: 130%;
    color: #203300;
    margin-top: 40px;
    margin-bottom: 40px;
}

.step-description-blog {
    font-size: 18px;
    line-height: 23.4px;
    color: #fff;
    margin-bottom: 40px;
    width: 456px;
}

.links {
    display: flex;
    flex-direction: column;
    gap: 10px;
}



.button-labels {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    color: #8064A8;
    font-weight: 400;
    max-width: 390px;
  }

.button-labels-1 {
    font-size: 14px;
    color: #8064A8;
    font-weight: 400;
    margin-left: 8px;
  }

  .button-labels-2 {
    font-size: 14px;
    color: #8064A8;
    font-weight: 400;
  }
  
.button-row {
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
  }
  
  
.btn-primary {
    background-color: #8064A8;
    color: #ffffff;
    width: 250px;
    justify-content: unset;
  }

.btn.btn-primary::after {
    content: url(immagini/row-right.svg) !important;
    margin-left: 56px;
    margin-top: 8px;
}
  
.btn-secondary {
    background-color: #ffffff;
    color: #8064A8 !important;
    border: 1px solid #8064A8;
    width: 250px;
    justify-content: unset;
}
.btn-secondary:hover {
background-color: #CDC1DD !important;
}

.btn.btn-secondary::after {
    content: url(immagini/row-right-viola.png) !important;
    margin-left: 56px;
    margin-top: 8px;
}

.disclaimer {
    font-size: 14px;
    line-height: 130%;
    font-weight: 400;
}






/* Media Query per Responsività */
@media (max-width: 768px) {
    .content {
        flex-direction: column; /* Colonne in verticale */
    }

    .text-column,
    .image-column {
        max-width: 100%;
    }

    .step-number {
        text-align: center;
    }

    .step-content {
        text-align: center;
    }
}
a.cta-button:hover {
    background: #1B445B;
}

/* ====== ACCORDION STYLES ====== */
:root{ --violet:#8064A8; --violet-2:#6f53a1; --text:#003765; --line:#E4E4EC; }

.lab-acc {
  padding-left: var(--page-gutter);
  padding-right: var(--page-gutter);
}

    .lab-acc__title {
        font-size: 56px;
        line-height: 110%;
        font-weight: 400;
        color: #8064A8;
    }

/* lista */
.lab-acc__item{ border-bottom: 1px solid #BAB0D3; }

/* trigger */
.lab-acc__h{ margin: 0; }
.lab-acc__trigger {
    width: 100%;
    text-align: left;
    background: transparent;
    border: 0;
    cursor: pointer;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 16px 0;
    font-size: 32px;
    font-weight: 500;
    color: #003765;
    line-height: 130%;
}
.lab-acc__trigger:focus-visible{ outline: 2px solid #C9B7E6; outline-offset: 3px; border-radius: 8px; }
.lab-acc__label{ pointer-events: none; }
.lab-acc__chev{
  width: 18px; height: 18px; transition: transform .2s ease; color: #8a8fa3;
}
.lab-acc__trigger[aria-expanded="true"] .lab-acc__chev{ transform: rotate(180deg); color: var(--violet); }

/* panel */
.lab-acc__panel {
    padding: 0 0 16px;
    color: #003765;
    font-size: 24px;
    line-height: 130%;
    font-weight: 400;
}

/* Mostra di più */
.lab-acc__more-wrap{ display:flex; justify-content:center; padding-top: 8px; }
.lab-acc__more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    border: 0;
    color: #8164A8;
    font-weight: 500;
    cursor: pointer;
    font-size: 24px;
    margin-top: 32px;
}
.lab-acc__more-chev{ width: 16px; height: 16px; transition: transform .2s ease; }
.lab-acc__more[aria-expanded="true"] .lab-acc__more-chev{ transform: rotate(180deg); }

/* (opzionale) spazio maggiore sotto il primo panel aperto */
#acc-panel-1{ padding-right: 24px; } /* lascia spazio alla freccia/aria a destra */
@media (max-width: 1024px){ #acc-panel-1{ padding-right: 0; } }

@media screen and (min-device-width: 769px) and (max-device-width: 2800px) {
/* Sezione Vantaggi */

h2.title-vantaggi {
    font-size: 56px;
    line-height: 100%;
    text-align: left;
    color: #183964;
    margin-bottom: 80px;
    font-weight: 400;
    margin-left: 32px;
}
.advantages-section-desktop {
    text-align: center;
    padding-top: 56px;
    padding-bottom: 56px;
}
section.advantages-section-mobile {
    display: none;
}


/* Contenitore dei vantaggi */
.advantages-container {
    display: flex; /* Usa Flexbox per l'allineamento */
    justify-content: space-around; /* Distribuisce gli elementi */
    flex-wrap: wrap; /* Permette il wrapping su schermi piccoli */
    gap: 20px; /* Spaziatura tra gli elementi */
}

/* Ogni singolo vantaggio */
.advantage-item {
    text-align: center;
    width: 303px;
}

/* Immagine del vantaggio */
.advantage-image {
    
    margin-bottom: 15px;
}

/* Testo sotto l'immagine */
.advantage-text {
    font-size: 32px;
    color: #01334F;
    font-weight: 400;
}


.swiper-container {
    width: 100%;
    margin: 0 auto;
}

.swiper-wrapper {
    display: flex;
}

.swiper-slide {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}


.swiper-button-prev,
.swiper-button-next {
    color: #01334F;
}


/* Sezione loghi pagamento */

.payment-logos {
    width: 100%;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
}

img.logo-pay {
    width: 120px;
    height: 72px;
    padding: 24px;
    border-radius: 8px 0px 0px 0px;
}

/* Sections */

.section.payment-section {
    display: none;
}

.section.payment-desktop {
    text-align: center;
    padding-top: 56px;
    padding-bottom: 56px;
}

.section.payment-desktop h2 {
    font-size: 56px;
    font-weight: 400;
    text-align: left;
    margin-left: 32px;
    color: #183964;
}

.cta-button-large {
    display: inline-block;
    margin-top: 20px;
    padding: 15px 30px;
    background-color: #0073e6;
    color: #fff;
    text-decoration: none;
    font-size: 1.2em;
    border-radius: 5px;
    transition: background-color 0.3s;
}

.cta-button-large:hover {
    background-color: #01334F;
}
}

@media screen and (min-device-width: 769px) and (max-device-width: 2800px) {


/* Banner con immagine di sfondo */
section.custom-banner-mobile {
    display: none;
}
.custom-banner {
    position: relative;
    background-image: url(immagini/banner.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 500px;
    margin: auto;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    border-radius: 32px;
    padding-top: 56px;
    padding-bottom: 56px;
    padding-right: 40px;
    padding-left: 40px;
    margin-top: 40px;
    margin-bottom: 96px;
    margin-left: 32px;
    margin-right: 32px;
}

a.cta-button-banner {
  padding-top: 16px;
  padding-bottom: 8px;
  color: #183964;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 24px;
  text-align: center;
  line-height: 100%;
  font-weight: 500;
  text-decoration: underline;
}



.cta-button-banner:hover {
    background: #CDC1DD;
    color: #5E477F;
    }

/* Contenitore del contenuto */

.custom-banner-content {
    max-width: 530px; /* Larghezza massima del contenitore */
}

/* Testo */
.custom-banner h2 {
    font-size: 56px;
    line-height: 56px;
    margin-bottom: 20px;
    color: #01334F;
    font-weight: 400;
}


.custom-banner-cta:hover {
    background: #E5F1F7;
    color: #01334F; /* Cambia colore al passaggio del mouse */
}

}

@media screen and (min-device-width: 769px) and (max-device-width: 2800px) {
/* Footer Container */
/* Footer Styling */
.footer-desktop {
    background-color: #183964;
    color: #fff; 
    padding: 40px 20px 20px;
    height: 274px;
}

/* Layout Contenitore del Footer */
.footer-container {
    display: flex;
    justify-content: space-between; /* Allinea le colonne orizzontalmente */
    align-items: flex-start;
    flex-wrap: nowrap; /* Nessuna disposizione verticale */
    max-width: 100%;
    margin: 0 auto;
}

/* Colonna del Footer */
.footer-column {
    flex: 1;
    margin: 0 10px;
    text-align: left;
    min-height: 100px; /* Assicura che tutte le colonne abbiano la stessa altezza */
    display: flex;
    flex-direction: column; /* Disposizione verticale degli elementi */
    justify-content: flex-start; /* Allinea gli elementi in alto */
    width: 325px;
}


.footer-logo {
    max-width: 207px; /* Dimensione massima del logo */
    height: auto;
}

/* Link del Footer */
.footer-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-column ul li {
    margin-bottom: 10px;
}

.footer-column ul li a {
    text-decoration: underline !important;
    color: #E8FFF3;
    font-size: 16px;
    line-height: 25px;
    text-decoration: none;
}

.footer-column ul li a:hover {
    color: #E8FFF3;/* Colore hover */
    text-decoration: underline; 
}

/* Sezione Inferiore */
.footer-bottom {
    text-align: right; /* Allineamento a destra */
    margin-top: 66px;
    font-size: 0.9em;
}

.footer-bottom a {
    text-decoration: underline;
    color: #E8FFF3;
    margin: 0 5px;
}

.footer-bottom a:hover {
    color: #E8FFF3; /* Colore hover */
}
.footer-mobile {
    display: none;
}
}

/* Responsività */
@media (max-width: 768px) {
    .footer-container {
        flex-wrap: wrap; /* Passa a disposizione verticale sui dispositivi piccoli */
        justify-content: center; /* Centra le colonne */
        text-align: center;
    }

    .footer-column {
        margin-bottom: 20px;
    }    
}



@media (max-width: 767px) {

/* Media Query per dispositivi mobile */

    header .logo img {
        height: 18.63px; /* Altezza del logo */
        width: 83.24px; /* larghezza logo */
        top: 35.77px;
        left: 40px;
    }
    header .cta-button {
        width: 160px;
        height: 56px;
        border-radius: 34.29px;
        padding-top: 6px;
        padding-right: 6px;
        padding-bottom: 6px;
        padding-left: 16px;
        background-color: #8064A8;
        color: #fff;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        font-size: 16px;
        text-align: center;
        line-height: 11.4px;
        font-weight: 400;
        text-decoration: none;
        margin-right: -12px;
    }
    .cta-button::after {
        content: url('immagini/row-right.svg'); /* Freccia verso destra */
        margin-left: 5px; /* Spazio tra il testo e la freccia */
    }

   /* Nasconde versione mobile per default */
.hero-section-mobile {
    display: none;
  }
  
  /* Mostra versione mobile e nasconde desktop sotto i 768px */
  
    .hero-section-desktop {
      display: none;
    }
  
    .hero-section-mobile {
        display: block;
        background-color: #F1EFF6;
        background-image: url("immagini/background-hero.png");
    }
  
    .hero-mobile-image img {
        width: 100%;
        height: auto;
        padding-right: 8px;
        padding-left: 8px;
        margin-top: 16px;
        padding-bottom: 16px;
    }


    .hero-mobile-text{
        padding: 16px;
        
    }


    .hero-mobile-text h1 {
      width: 370px;  
      font-size: 48px;
      font-weight: 400;
      line-height: 105%;
      margin-bottom: 24px;
      color: #003765;
    }
  
    .subtitle {
      font-size: 16px;
      line-height: 130%;
      font-weight: 400;
      width: 370px;
      height: 63px;
    }
  
    .cta-button-hero {
        background-color: #8064A8;
        color: #fff;
        padding-top: 32px;
        padding-bottom: 32px;
        padding-right: 40px;
        padding-left: 32px;
        font-weight: 500;
        border-radius: 48px;
        text-decoration: none;
        text-align: center;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        width: 261px;
        height: 96px;
        font-size: 28px;
        line-height: 95%;
    }

      .cta-button-hero:hover {
        background-color: #CDC1DD;
      }

      .cta-button-hero::before {
        content: url('immagini/call.svg'); /* telefono */
        margin-right: 8px;
        width: 24px;
        height: 24px;
    }
  

    h2.title {
        font-size: 32px;
        line-height: 100%;
        text-align: left;
        color: #183964;
        margin-bottom: 32px;
        font-weight: 400;
        letter-spacing: -1px;
    }



    /* sezioni mobile */
    .evaluation-desktop {
        display: none;
    }


.evaluation .container {
    max-width: 100%;
    margin: 0 auto;
}

.container-agevolazione {
    display: flex;
    flex-direction: column;
    gap: 40px;
    align-items: center;
    width: 100%;
    padding-top: 24px;
    padding-bottom: 24px;
    margin-top: 48px;
 }
    
.title-agevolazione {
    font-size: 35px;
    line-height: 110%;
    font-weight: 400;
    color: #8064A8;
    width: 371px;
    height: 117px;
    padding-right: 16px;
    padding-left: 16px;
    gap: 16px;
    text-align: left;
 }
    
.cards {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.card {
    background-color: #E6F4FF;
    border-radius: 24px;
    padding-top: 16px;
    padding-right: 16px;
    padding-bottom: 22px;
    padding-left: 16px;
    text-align: left;
    display: flex;
    flex-direction: column;
    height: auto;
}
.card-2 {
  background-color: #E6F4FF;
  border-radius: 24px;
  padding-top: 16px;
  padding-right: 16px;
  padding-bottom: 22px;
  padding-left: 16px;
  text-align: left;
  display: flex;
  flex-direction: column;
}


.card-title {
    font-size: 24px;
    font-weight: 400;
    line-height: 110%;
    color: #183964;
}

.card-text {
    font-size: 16px;
    line-height: 130%;
    color: #183964;
    font-weight: 400;
}

.card-footer {
    padding: 8px 0px 0px;
    float: left;
}
  
  .card-footer-spacer{
    flex: 1;
  }
  
  .card-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12.5px 25px;
    border-radius: 88px;
    background: #183964;
    color: #fff;
    font-weight: 400;
    font-size: 18px;
    line-height: 100%;
    text-decoration: none;
    white-space: nowrap;
    margin-top: 16px;
}

.card-btn-2 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12.5px 25px;
  border-radius: 88px;
  background: #183964;
  color: #fff;
  font-weight: 400;
  font-size: 18px;
  line-height: 100%;
  text-decoration: none;
  white-space: nowrap;
  margin-top: 16px;
  margin-bottom: 16px;
}
  
  .card-pricebox{
    display: grid;
    gap: 4px;
  }
  
  .card-price {
    color: #183964;
    font-weight: 500;
    font-size: 24px;
    line-height: 105%;
}
  
  .card-price-mark{
    color: #183964;
    font-weight: 500;
    font-size: 24px;
    line-height: 105%;
  }
  
  .card-note {
    color: #183964;
    font-weight: 400;
    line-height: 100%;
    font-size: 12px;
}

.evaluation{
    display: none;
}

  /* --- MOBILE CAROUSEL: scopo le regole SOLO alla sezione mobile --- */
  .visually-hidden{
    position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
  }
  
  /* card – stile tuo */
  .evaluation-mobile .card{ background:#E6F4FF;border-radius:24px;padding:16px 16px 24px;margin-left: 4px;height: 560px; }
  .evaluation-mobile .card-media img{ width:100%;object-fit:cover;border-radius:8px;display:block; }
  .evaluation-mobile .card-body{ padding:18px 0 20px; }
  .evaluation-mobile .badge{
    display:inline-block;width:32px;height:32px;line-height:30px;border-radius:50%;border:1px solid #CDC1DC;
    font-weight:700;font-size:16px;color:#183964;text-align:center;
  }
  .evaluation-mobile .card-title{ font-size:24px;font-weight:500;line-height:110%;color:#183964;margin:16px 0; }
  .evaluation-mobile .card-text{ font-size:16px;line-height:130%;color:#183964;margin:0; }
  
  /* Swiper layout */
  #eval-swiper{ overflow:hidden; }
  #eval-swiper .swiper-wrapper{ align-items:stretch; }
  #eval-swiper .swiper-slide{ display:flex; }
  #eval-swiper .swiper-slide > .card{ width:100%; }
  
  /* frecce esterne sotto la card */
  .eval-carousel{ position:relative; }
  .eval-nav{
    display:flex; justify-content:flex-end; gap:12px; margin-top:10px;
  }
  .eval-nav .nav-btn{
    width:42px;height:42px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;
    background:#939393;color:#fff;
  }
  .eval-nav .nav-next{ background:#183964; color:#fff; }
  .eval-nav .nav-btn:active{ transform:scale(.98); }

/* override stato disabled gestito da Swiper */
.eval-nav .nav-btn.swiper-button-disabled{
  background: #939393 !important;   /* grigio */
  color: #fff !important;
  cursor: default;
  pointer-events: none;
  opacity: 1; /* evita fade automatico */
}
.eval-nav .nav-prev:not(.swiper-button-disabled){
  background: #183964 !important;
}

  .cta-row-desktop{
    display: none;
  }

  p#cta-row-title {
    font-size: 24px;
    padding-left: 24px;
    color: #003765;
    line-height: 120%;
    margin-top: 40px;
}
.ddk-col.ddk-stats {
    margin-bottom: 3.4em;
}

.ddk-stat {
    text-align: left;
    margin-top: 24px;
}

.ddk-value {
    font-size: 64px;
    color: #183964;
    line-height: 100%;
    font-weight: 500;
    letter-spacing: -1px;
    margin-bottom: 4px;
}

.ddk-label {
    font-size: 16px;
    color: #183964;
    line-height: 120%;
}

.ddk-m-icon {
    width: 66%;
    object-fit: cover;
    display: block;
    margin-bottom: 3em;
}

.lab-acc {
    padding-left: 24px;
    padding-right: 24px;
    padding-top: 6em;
}

.lab-acc__title {
    font-size: 36px;
    line-height: 110%;
    font-weight: 400;
    color: #8064A8;
}

.lab-acc__trigger {
    width: 100%;
    text-align: left;
    background: transparent;
    border: 0;
    cursor: pointer;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 16px 0;
    font-size: 24px;
    font-weight: 500;
    color: #003765;
    line-height: 130%;
}

.lab-acc__panel {
    padding: 0 0 16px;
    color: #003765;
    font-size: 18px;
    line-height: 130%;
    font-weight: 400;
}

.lab-acc__more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    border: 0;
    color: #8164A8;
    font-weight: 500;
    cursor: pointer;
    font-size: 18px;
    margin-top: 32px;
    line-height: 95%;
}

.cta-button-hero {
    background-color: #8064A8;
    color: #fff;
    padding-top: 28px;
    padding-bottom: 28px;
    padding-right: 32px;
    padding-left: 24px;
    font-weight: 500;
    border-radius: 48px;
    text-decoration: none;
    text-align: center;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 216px;
    height: 80px;
    font-size: 24px;
    line-height: 95%;
    margin-left: 24px;
    margin-bottom: 40px;
}

.cta-button-hero1 {
    background-color: #8064A8;
    color: #fff;
    padding-top: 28px;
    padding-bottom: 28px;
    padding-right: 32px;
    padding-left: 24px;
    font-weight: 500;
    border-radius: 48px;
    text-decoration: none;
    text-align: center;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 216px;
    height: 80px;
    font-size: 24px;
    line-height: 95%;
    margin-bottom: 40px;
}


.cta-button-hero1::before {
    content: url(immagini/call.svg);
    margin-right: 12px;
    width: 18px;
    height: 18px;
    margin-top: -12px;
}

.cta-button-hero::before {
    content: url(immagini/call.svg);
    margin-right: 12px;
    width: 18px;
    height: 18px;
    margin-top: -12px;
}


h2#find-branch-title {
    color: #183964;
    font-size: 36px;
    line-height: 110%;
}

.find-branch__desc {
    font-size: 18px;
    line-height: 130%;
    color: #183964;
}

.find-branch__grid{ grid-template-columns:1fr; gap:20px;margin-top: 40px; margin-bottom: 40px; }
  .find-branch__controls{ flex-direction:column; align-items:stretch; gap:12px; }
  .select-underline{ width:100%; min-width:0; }
  .btn-pill{ display:none; }      /* << niente "Scopri i servizi" su mobile */

/* impilo i controlli e nascondo il bottone su mobile */
.find-branch__controls{
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .btn-pill{ display: none !important; }

  .select-underline{
    width:100%;
    min-width:0;
    padding:12px 40px 12px 12px;
    border:0;
    border-bottom:2px solid #d5dbe3;
    border-radius:10px;
    background:#fff;
    appearance:none;
    -webkit-appearance:none;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 9l6 6 6-6' stroke='%238064A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/></svg>");
    background-repeat:no-repeat;
    background-position:right 10px center;
    background-size:18px 18px;
    font-size:16px;
    line-height:1.3;
    color:#003765;
    outline:none;
    transition:border-color .2s ease, box-shadow .2s ease;
  }
  

  /* placeholder grigio finché non scelgo */
  .select-underline:required:invalid{ color: #9aa7b3; }

  /* focus */
  .select-underline:focus{
    border-bottom-color: #183964;
    box-shadow: 0 10px 22px rgba(128,100,168,.10);
  }

  .didyouknow{
    display: none;
  }

  .didyouknow-mobile{ padding: 0px;margin-top: 80px; margin-bottom: 80px; }
  .didyouknow-m__title {
    font-size: 36px;
    line-height: 110%;
    color: #183964;
}

  /* pannello slide */
  .ddk-m-panel{
    background: #E6F4FF;
    border-radius: 24px;
    padding: 16px;
    height: auto;
  }
  .ddk-m-img{
    width: 100%;
    object-fit: cover;
    display: block;
  }

  /* box testo interno */
  .ddk-m-box{
    margin-top: 8px;
    background: var(--panel-soft);
    border-radius: 12px;
    padding: 2px;
  }
  .ddk-m-lead {
    font-size: 20px;
    line-height: 120%;
    color: #183964;
    text-align: left;
    font-weight: 400;
}

  /* CTA pill */

  .ddk-m-cta {
    display: inline-flex;
    align-items: center;
    text-decoration: underline;
    color: #183964;
    font-weight: 500;
    padding-top: 16px;
    font-size: 16px;
    line-height: 100%;
}

.cta-wrapper-info {
  text-align: left;
}
  .ddk-m-note{
    display: block;
    margin-top: 24px;
    margin-bottom: 16px;
    color: #183964;
    font-size: 12px;
    line-height: 120%;
    text-align: left;
  }

  /* controls sotto: pallini a sinistra, frecce a destra */
  .ddk-m-controls{
    margin-top: 16px;display:flex; align-items:center; justify-content:space-between;float: right;padding-right: 8px;
  }
  /* pagination centrata a sinistra (pos statica) */
  
  #ddk-m-pagination .swiper-pagination-bullet{
    width: 6px; height: 6px; background: #c7c8d2; opacity: 1;
  }
  #ddk-m-pagination .swiper-pagination-bullet-active{
    background: var(--violet);
  }

  /* nav buttons bottom-right */
  .ddk-m-nav{ display:flex; gap:10px; }
  .ddk-m-nav .nav-btn{
    width:42px; height:42px; border-radius:50%; border:0;
    display:grid; place-items:center; cursor:pointer;
    background:#e2e2e6; color:#3f3f46; box-shadow:0 10px 26px rgba(0,0,0,.10);
  }
  .ddk-m-nav .nav-next{ background: #183964; color:#fff; }
  .ddk-m-nav .nav-btn:active{ transform: scale(.98); }
  .ddk-m-nav .nav-btn.swiper-button-disabled{
    background:#8D8D8D; color:#fff; 
  }

  .ddk-btn.is-disabled,
.ddk-m-nav .nav-btn.is-disabled{
  background: #8D8D8D !important;
  color: #fff !important;
  cursor: default;
  opacity: 1;
}
/* DDK mobile: stato disabled (classe Swiper) */
.ddk-m-nav .nav-btn.swiper-button-disabled{
  background: #8D8D8D !important;
  color: #fff !important;
  cursor: default;
  pointer-events: none;
  opacity: 1;
}

/* (opzionale) quando PREV è attivo, diventa blu come NEXT */
.ddk-m-nav .nav-prev:not(.swiper-button-disabled){
  background: #183964 !important;
  color: #fff !important;
}


  /* Swiper layout mobile */
  #ddk-mobile-swiper{ overflow: hidden; }
  #ddk-mobile-swiper .swiper-wrapper{ align-items: stretch; }
  #ddk-mobile-swiper .swiper-slide{ display:flex; }
  #ddk-mobile-swiper .swiper-slide > .ddk-m-panel{ width:100%; }


  .btn-1 {
    width: 191px;
    font-weight: 400;
    height: 56px;
    padding: 8px 8px 8px 24px;
    gap: 8px;
    border-radius: 48px;
    text-align: center;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    background: #183964;
    color: #fff !important;
    margin-top: 40px;
}

.btn-2 {
    width: 191px;
    font-weight: 400;
    height: 56px;
    padding: 8px 8px 8px 24px;
    gap: 8px;
    border-radius: 48px;
    text-align: center;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    background: #183964;
    color: #fff !important;
    margin-top: 66px;
}


.btn-1::after {
    content: url('immagini/row-right.svg'); /* Freccia verso destra */
    margin-left: 5px; /* Spazio tra il testo e la freccia */
    margin-top: 8px;
}

.btn-2::after {
    content: url('immagini/row-right.svg'); /* Freccia verso destra */
    margin-left: 5px; /* Spazio tra il testo e la freccia */
    margin-top: 8px;
}


/* Contenuto (Mobile) */
.content {
    display: flex;
    flex-direction: column;
    align-items: left;
    gap: 20px;
    margin-top: 4em;
}


/* Titolo e Descrizione */
.step-title {
    font-size: 35px;
    font-weight: 400;
    line-height: 110%;
    color: #183964;
    margin-bottom: 10px;
    text-align: left;
    margin-top: -10px;
    letter-spacing: -2px;
}

.step-title-blog {
    font-size: 32px;
    font-weight: 400;
    line-height: 36px;
    color: #ffffff;
    margin-bottom: 10px;
    text-align: left;
    margin-top: -10px;
}

.step-description {
    font-size: 16px;
    line-height: 130%;
    color: #203300;
    text-align: left;
    font-weight: 400;
}

.step-description-blog {
    font-size: 16px;
    line-height: 20.8px;
    color: #ffffff;
    text-align: left;
    font-weight: 400;
}
.icon-mb{
    margin-top: -4.8em;
    margin-right: -1.1em;
}

/* Immagine */
.image-column img {
    width: 100%;
    max-width: 370px;
    height: auto;
}

.links {
    display: flex;
    flex-direction: column;
    gap: 10px;
}



a.checkup-link-blog:hover {
    background: #BDE8FF;
    color: #01334F;
}


.button-labels {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    color: #8064A8;
    font-weight: 400;
  }

.button-labels-1 {
    font-size: 14px;
    color: #8064A8;
    font-weight: 400;
  }

  .button-labels-2 {
    font-size: 14px;
    color: #8064A8;
    font-weight: 400;
    margin-right: 24px;
  }
  
.button-row {
    display: flex;
    gap: 12px;
  }
  


.disclaimer-mobile {
    font-size: 10px;
    line-height: 130%;
    font-weight: 400;
    text-align: left;
}

    
/* vantaggi mobile */
.advantages-section-mobile {
    text-align: center;
    padding: 32px;
    background-color: #ffffff;
    margin-top: 40px;
}

h2.title-vantaggi {
    font-weight: 400;
    font-size: 32px;
    color: #183964;
    text-align: left;
}

/* Swiper Container */
.swiper-container {
    width: 100%; /* Adatta la larghezza al container */
    overflow: hidden; /* Nasconde lo scorrimento orizzontale */
}

.swiper-wrapper {
    display: flex; /* Imposta il layout flessibile per le slide */
    transition: transform 0.3s ease-in-out; /* Aggiunge una transizione fluida */
}

.swiper-slide {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex: 0 0 100%; /* Ogni slide occupa il 100% della larghezza visibile */
    box-sizing: border-box; /* Include padding e border nella larghezza */
    text-align: center; /* Allinea il contenuto */
}

section.advantages-section-desktop {
    display: none;
}

.advantage-image {
    width: 160px;
    height: 160px;
    margin-bottom: 8px;
}

.advantage-text {
    font-size: 16px;
    color: #01334F;
    line-height: 20.8px;
    font-weight: 400;
}
.section h2 {
    font-size: 28px;
    color: #01334F;
    line-height: 30.8px;
    text-align: center;
    font-weight: 400;
}
/* Sezione loghi pagamento mobile */

.section.payment-desktop {
    display: none;
}
.payment-section {
    text-align: center;
    padding: 40px;
}

.payment-section h2 {
    font-size: 30px;
    color: #183964;
    margin-bottom: 20px;
    text-align: left;
    font-weight: 400;
    line-height: 110%;
}

/* Contenitore dei loghi */
.payment-logos {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    justify-content: center;
    padding-top: 16px;
}

/* Stile dei loghi */
.logo-pay {
    max-width: 100%; /* Adatta i loghi al contenitore */
    height: auto;
    padding: 10px;
}

.custom-banner{
    display: none;
}

.image-column-blog {
    width: 100%;
    max-width: 370px;
    height: auto;
    margin-top: -3em;
}


.container-blog-mobile {
    position: relative;
    background-image: url(immagini/background-blog-mobile.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    border-radius: 32px;
    margin-left: 0px;
    margin-right: 0px;
    padding: 14px;
    width: auto;
    margin-top: 4em;
}

.checkup-link-blog {
    width: 198px;
    height: 56px;
    padding: 8px 8px 8px 8px;
    gap: 8px;
    border-radius: 48px;
    text-align: center;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    background: #fff;
    color: #0077ad !important;
    font-size: 16px;
    margin-bottom: 24px;
}

/* Banner con immagine di sfondo */

.custom-banner-mobile {
    position: relative;
    background-image: url('immagini/banner-mobile.webp'); /* Percorso dell'immagine */
    background-size: cover; /* Copre tutta la sezione */
    background-position: center; /* Centra l'immagine */
    background-repeat: no-repeat; /* Non ripete l'immagine */
    width: 343px; /* Larghezza completa */
    height: 248px; /* Altezza del banner */
    margin: auto;
    display: flex; /* Usa Flexbox */
    justify-content: flex-start; /* Allinea il contenuto a sinistra */
    align-items: flex-start; /* Allinea il contenuto in alto */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* Ombra leggera */
    border-radius: 24px; /* Angoli arrotondati */
    margin-top: 40px;
    margin-bottom: 40px;
}

/* Contenitore del contenuto */

.custom-banner-content {
    max-width: 371pxpx; /* Larghezza massima del contenitore */
}

/* Testo */
.custom-banner-content h2 {
    font-size: 24px;
    line-height: 24px;
    margin-bottom: 20px;
    color: #01334F;
    font-weight: 400;
    margin-left: 16px;
}


.custom-banner-cta:hover {
    background: #E5F1F7;
    color: #01334F;
}

.cta-button-banner {
  padding-right: 6px;
  padding-bottom: 6px;
  padding-left: 16px;
  gap: 4px;
  color: #183964;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  text-align: center;
  line-height: 100%;
  font-weight: 500;
  text-decoration: underline;
}



.footer-desktop {
    display: none;
}

/* Stile generale del footer */
.footer-mobile {
    background-color: #183964;
    padding: 20px;
    text-align: left; /* Allinea i contenuti a sinistra */
}

/* Contenitore del footer */
.footer-container {
    display: flex;
    flex-direction: column; /* Imposta le colonne una sotto l'altra */
    gap: 20px; /* Spazio tra le colonne */
}



/* Colonne */
.footer-column {
    text-align: left;
}

.footer-column ul {
    list-style: none; /* Rimuove i bullet points */
    padding: 0;
    margin: 0;
}

.footer-column ul li {
    margin-bottom: 10px; /* Spazio tra gli elementi */
}

.footer-column ul li a {
    color: #E8FFF3; /* Colore del testo */
    text-decoration: none; 
    font-size: 16px;
}

.footer-column ul li a:hover {
    color: #E8FFF3; /* Colore su hover */
    text-decoration: underline; /* Rimuove la sottolineatura */
}

/* Logo */
.footer-logo {
    max-width: 150px; /* Dimensione del logo */
    height: auto;
}

/* Sezione inferiore */
.footer-bottom {
    margin-top: 20px;
    font-size: 14px;
    text-align: left; /* Allinea i testi a sinistra */
    color: #E8FFF3; /* Colore del testo */
}

.footer-bottom a {
    color: #E8FFF3;
    text-decoration: underline;
}

.footer-bottom a:hover {
    color: #01334F;
}


}

/* 1440+: layout boxed + fix hero */
@media (min-width: 1440px){
  /* BOXED: la pagina non cresce oltre 1440, resta centrata */
  body{
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
  }
  section.evaluation-desktop {
    padding-left: 0px;
  }

  .didyouknow{ padding: 40px 0px 40px; }

  .syn-hero__title {
    padding-left: 0px;
}
.syn-hero__lead {
  
  padding-left: 0px;
  
}
.syn-hero__btn {
  margin-left: 0px;
}

  header {
    padding-left: 0px;
    padding-right: 0px;
}

  /* FIX: disattiva il bleed a viewport della hero (che la sposta a destra) */
  .syn-hero__media{
    margin-right: 0;
    background-position: 50% center; /* facoltativo: centra il fuoco */
  }
  .container{
    padding-left: 0;
    padding-right: 0;
  }

  .syn-sectionHead__container{
    padding-left: 0;
    padding-right: 0;
  }
  #synlab-checkups .slbChk-wrap{
    padding-left: 0;
    padding-right: 0;
  }
  .find-branch{
    padding-left: 0;
    padding-right: 0;
  }
}



/* FOOTER: sfondo full width, contenuto resta boxed */
.footer-desktop,
.footer-mobile{
  position: relative;
  background: transparent;
  z-index: 0;
}
.footer-desktop::before,
.footer-mobile::before{
  content: "";
  position: absolute;
  inset: 0;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  background: #183964;
  z-index: -1;
}


/* se il footer usa .footer-container */
.footer-container{
  padding-left: var(--page-gutter);
  padding-right: var(--page-gutter);
}

/* BACKGROUND FULL WIDTH (hero + header) mantenendo il contenuto boxed */

/* HERO: sfondo full width tramite pseudo-elemento */
.syn-hero{
  position: relative;
  background: transparent !important;
}
.syn-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  background: var(--syn-bg, #d1e9fd);
  z-index: -1;
}

/* HEADER: sfondo full width (se sei dentro un wrapper boxed) */
header{
  position: sticky;
  top: 0;
  z-index: 9999;
  background: transparent !important;
}
header::before{
  content: "";
  position: absolute;
  inset: 0;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  background: #fff;
  z-index: -1;
}
