@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@700;800&display=swap');

/* Bordo */

.bordo-linea {
  border: solid 1px black;
}

.bordo-inferiore {
  border-bottom: solid 1px black;
}

.padding15 {
  padding: 30px;
}

.margin15 {
  margin: 30px 15px 30px 15px;
  padding-bottom: 30px;
}

@media only screen and (min-width: 800px) {
  .padding15 {
    padding: 15px 25px 15px 25px;
  }

  .margin15 {
    margin: 30px 30px 30px 30px;
  }
}

/* Scroll reveal */
.scroll-reveal {
  opacity: 1;
  transform: none;
  transition: opacity .75s cubic-bezier(.25, .8, .25, 1), transform .75s cubic-bezier(.25, .8, .25, 1);
  will-change: opacity, transform;
}

.scroll-reveal[data-scroll-ready] {
  opacity: 0;
  transform: translate3d(0, 30px, 0);
}

.scroll-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition-delay: var(--reveal-delay, 0s);
}

.eco-premium-reveal .scroll-reveal {
  transition-duration: 1.05s;
  transition-timing-function: cubic-bezier(.22, 1, .36, 1);
}

.eco-premium-reveal .scroll-reveal[data-scroll-ready] {
  transform: translate3d(0, 36px, 0);
}

@media (prefers-reduced-motion: reduce) {
  .scroll-reveal {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

.deviato {
  padding-left: 30px;
}

.padding {
  padding: 15px;
}

.h3servizi {
  color: rgb(0, 0, 0);
  font-family: Lato, Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-size: 24px;
  text-align: left;
  margin-top: 60px;
}

:root {
  --container-max: 100vw;
  --container-pad: 15px;
  --container-left: max(0px, calc((100vw - var(--container-max)) / 2));
  --breakout-left: calc(var(--container-left) + var(--container-pad));
}

.container-flex .col__inner,
.col__inner {
  --inner-pad: 20px;
  --content-left: calc(var(--breakout-left) + var(--inner-pad));
}


.container-flex .col__inner[style*="padding: 0"],
.container-flex .col__inner[style*="padding:0"] {
  --inner-pad: 0px;
}

@media (min-width: 576px) {
  :root {
    --container-max: 540px;
  }
}

@media (min-width: 768px) {
  :root {
    --container-max: 720px;
  }
}

@media (min-width: 992px) {
  :root {
    --container-max: 960px;
  }
}

@media (min-width: 1200px) {
  :root {
    --container-max: 1200px;
  }
}

@media (min-width: 1600px) {
  :root {
    --container-max: 1400px;
  }

  .container-flex .col__inner,
  .col__inner {
    --inner-pad: calc(var(--container-max) / 12);
  }
}



/* Titoli */

.h1modern {
  font: Lato, helvetica, arial, sans-serif;
  font-weight: 500;
  padding: 15px;
}

.h3modern {
  font-weight: 700;
  font-family: Lato, helvetica, arial, sans-serif;
  font-size: 1.60rem;

}


.sottolineato {
  position: relative;
  z-index: 0;
}

.sottolineato::before {
  background-color: rgb(192, 243, 243);
  position: absolute;
  content: "";
  height: 0.6rem;
  width: 100%;
  z-index: -1;
  bottom: 0;
  transform: translate(4px, px);
}

.sottolineatoeste {
  position: relative;
  z-index: 0;
}

.sottolineatoeste::before {
  background-color: rgb(253, 255, 110);
  position: absolute;
  content: "";
  height: 0.6rem;
  width: 100%;
  z-index: -1;
  bottom: 0;
  transform: translate(4px, 0px);
}




/* Vari flexbox */

.flexbox {
  display: flex;

}

.sticky-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #f5f5f5;
  padding: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 999;
  gap: 15px;
}

.stick-banner2 {
  display: none;
}


.divisione1 {
  display: flex;
  flex-direction: column;
}

.sticky-buttons {
  display: none;
}

.sticky-banner2 .infos {
  display: none;

}

.sticky-banner2 a {
  display: none !important;
}

.banner {
  background-color: #e9eefb;
  color: #000;
  padding: 12px;
  border-radius: 4px;
  border: solid 1px #90a8ed;
  display: flex;
  flex-direction: row;
  gap: 10px;

}

.banner p {
  line-height: 19px !important;
  font-size: 14px !important;
}

.banner .numero {
  font-weight: 900;
}

.sticky-banner2 .desktop {
  display: none;
}

.cta1 .mobile {
  display: inherit;
}

@media only screen and (min-width: 840px) {
  .divisione1 {
    flex-direction: row;
    align-content: stretch;
    gap: 0px;
  }

  .divisione2 {
    width: 70%;
  }

  .sticky-banner {
    display: none;
  }

  .sticky-banner2 {
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #f5f5f5;
    padding: 30px 15px 15px 15px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    z-index: 999;
    gap: 15px;
    width: 30%;
    border-left: solid 1px black;
    position: relative;
    overflow: auto;

  }

  .sticky-banner2 .infos {
    border: solid 1px black;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    gap: 10px;

  }

  .infos h5 {
    font-family: Lato, Arial, Helvetica, sans-serif;
    font-weight: 900;
    font-size: 15px;

  }

  .infos p {
    font-family: Lato, Arial, Helvetica, sans-serif;
    font-weight: 300;
    font-size: 14px !important;
    margin-top: 0px !important;
  }

  .sticky-banner2 a {
    display: inherit !important;
  }

  .sticky-banner2 .desktop {
    display: inherit;
  }

  .cta1 .mobile {
    display: none;
  }
}







/* Testi */

.bordo-linea p {
  font-size: 1rem;
  line-height: 1.5;
  font-family: Lato, helvetica, Arial, sans-serif;
  font-weight: 400;
}

.bordo-linea strong {
  font-weight: 900;
}

.bordo-linea li {
  font-size: 1rem;
  line-height: 1.5;
  font-family: Lato, helvetica, Arial, sans-serif;
  font-weight: 400;
  margin-bottom: 20px;
  position: relative;
  padding-left: 20px;
}

.bordo-linea li:before {
  content: "\25CF ";
  position: absolute;
  left: 0;
}






/* Icone */

.prestazione-icone-parent {
  display: flex;
  flex-direction: column;
  align-items: left;
  gap: 40px;
  margin-top: 30px;
  margin-bottom: 30px;
}


.prestazione-icone {
  display: flex;
  flex-direction: column;
  align-items: left;
}

.prestazione-icone .prestazione-img-title {
  display: flex;
  justify-content: left;
  font-family: Lato, Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-size: 1.10rem;
  line-height: 1.5;
  text-align: left;
  gap: 20px;
}

.margin15 .immagine {
  width: 100%;
  height: 70vh;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url("/admin/immaginipersonalizzate/header-verticale-ginecologia.jpg");
}

.margin15 .bianchi {
  width: 100%;
  height: 70vh;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url("/admin/immaginipersonalizzate/header-neurologo-verticale.jpg");
}

@media only screen and (min-width:800px) {}





/* Bottoni */


.button-numero-landing-3 {
  background-color: #55BB9B;
  color: #ffffff;
  width: 100%;
  height: 60px;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  justify-content: left;
  align-items: center;
  line-height: 1.1;
  transition: opacity 0.3s ease-in-out;
  border-radius: 8px;
  border: none;
}

.pulsante-numero-landing-3 {
  padding: 8.5px 0px 8.5px 0px;
  width: fit-content;
  font-weight: 400;
  text-decoration: none;
  text-align: center;
}

.button-numero-landing-3:hover {
  opacity: 0.7;
}

.pulsante-numero-landing-3 .testo {
  padding: 8.5px 0px 8.5px 0px;
  width: fit-content;
  font-weight: 400;
  text-decoration: none;
  text-align: center;
}


.pulsante-richiedi-informazioni-3 {
  color: rgb(0, 0, 0);
  width: 100%;
  height: 60px;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.1;
  border: solid 1px #000000;
  background-color: #1d2f4000;
  transition: opacity 0.3s ease-in-out;
  cursor: pointer;
  border-radius: 8px;
}

.pulsante-richiedi-informazioni-3:hover {
  opacity: 0.7;
}

.pulsante-richiedi-informazioni-3 .testo {
  padding: 8.5px 0px 8.5px 0px;
  width: fit-content;
  font-weight: 400;
  text-decoration: none;
  text-align: center;
}

.centered {
  display: block;
  margin: 30px auto 30px auto;
  width: fit-content;

}




/* Nuovo form */
.form-piccolo3 {
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: center;
}

.form-piccolo3 p {
  text-align: center;
}

.form-piccolo3 .nometel {
  display: flex;
  flex-direction: row;
  gap: 10px;
  justify-content: space-between;
  flex: 1;
  width: 90%;
}


.form-piccolo3 .input {
  width: 90%;
  height: 40px;
  margin: 0;
  padding: 3px;
  border: none;
  font-size: 100%;
  vertical-align: baseline;
  font-family: inherit;
  text-align: inherit;
  border: solid 1px black;

}

.form-piccolo3 input[type="text"] {
  font-size: 13px;
}


.form-piccolo3 .inputerrore {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  flex: 1;
  width: 100%;
}


.form-piccolo3 .invio {
  height: 40px;
  width: 90%;
  border-radius: 5px;
  background-color: rgba(81, 118, 229, 0) !important;
  text-align: center;
  padding: 2px;
  margin: 0;
  border: none;
  font-size: 100%;
  vertical-align: baseline;
  font-family: inherit;
  color: rgb(0, 0, 0);
  transition: opacity 0.3s ease-in-out;
  border: solid 1px rgb(173, 173, 173);
  box-shadow: inset;
}


.form-piccolo3 .invio:hover {
  opacity: 0.7;
  cursor: pointer;
}

/* Token CTA form tuning */
[data-contact-cta] .form-box {
  position: relative;
}

[data-contact-cta] .form-piccolo3 {
  width: 100%;
  flex: 1 1 auto;
  position: relative;
  align-items: stretch;
  justify-content: flex-start;
  gap: 12px;
  min-height: 340px;
}

[data-contact-cta] .form-piccolo3 p {
  margin: 0;
  line-height: 1.4;
}

[data-contact-cta] .form-piccolo3 .nometel {
  width: 100%;
  gap: 12px;
}

[data-contact-cta] .form-piccolo3 .inputerrore {
  align-items: stretch;
  margin-bottom: 15px;
}

[data-contact-cta] .form-piccolo3 .input {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #cfd5e3;
  border-radius: 10px;
  background: #fff;
  font-size: 14px;
  line-height: 1.25;
  box-sizing: border-box;
}

[data-contact-cta] .form-piccolo3 textarea.input {
  min-height: 96px;
  resize: vertical;
  margin-bottom: 15px;
}

[data-contact-cta] .form-piccolo3 .checkbox-main {
  align-items: center;
  gap: 8px;
}

[data-contact-cta] .form-piccolo3 .checkbox-main input[type="checkbox"] {
  width: 18px;
  height: 18px;
}

[data-contact-cta] .form-piccolo3 .invio {
  width: 100%;
  min-height: 48px;
  border-radius: 10px;
  border: 1px solid #5175E5;
  background-color: #5175E5 !important;
  color: #ffffff;
  font-weight: 700;
  box-shadow: none;
}

[data-contact-cta] .form-piccolo3 .invio:hover {
  opacity: 0.92;
}

[data-contact-cta] .form-piccolo3__success {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 20;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 28px;
  border: 1px solid #b7ebc6;
  border-radius: 12px;
  background: rgba(246, 255, 248, 0.98);
  text-align: center;
}

[data-contact-cta] .form-piccolo3__success[hidden] {
  display: none !important;
}

[data-contact-cta] .form-piccolo3__success-icon {
  color: #2f9e44;
  font-size: 46px;
}

[data-contact-cta] .form-piccolo3__success-title {
  margin: 0;
  color: #1f7a3b;
  font-size: 26px;
  line-height: 1.2;
  font-weight: 700;
}

@media only screen and (max-width: 900px) {
  [data-contact-cta] .form-piccolo3 .nometel {
    flex-direction: column;
    gap: 10px;
  }

  [data-contact-cta] .form-piccolo3 {
    min-height: 300px;
  }

  [data-contact-cta] .form-piccolo3__success-title {
    font-size: 22px;
  }
}




/* Apple Like Section */

.appsection {
  display: flex;
  flex-direction: row;
  gap: 40px;
  justify-content: center;
}

.headermodern {
  font-family: Lato, helvetica, arial, sans-serif;
  font-weight: 900;
  font-size: 35px;
  text-align: left;
  color: black;
  line-height: 35px;
}

.appsection .testo {
  font-family: Lato, helvetica, arial, sans-serif;
  font-size: 20px;
  line-height: 25px;
  color: rgb(136, 136, 136);
  font-weight: 700;
  text-align: left;
  max-width: 700px;
  display: inline-block;
}

.testo .loghi {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.loghi img {
  width: 100px;
  object-fit: contain;
}



@media only screen and (max-width: 768px) {
  .appsection {
    flex-direction: column;
    align-items: flex-start;
  }
}




/* GIF */

.gif {
  width: 100%;
  height: 430px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 15px;
}

@media only screen and (max-width: 768px) {
  .gif {
    height: 70vh;
  }
}

.gifimg {
  width: 100%;
  height: 430px;
  object-fit: fill;
  border-radius: 15px;
}

@media only screen and (max-width: 768px) {
  .gifimg {
    object-fit: fill;
    height: 485px;
  }
}




/* Sezioni Boxes Moderni */

.modernboxes {
  display: flex;
  flex-direction: row;
  gap: 20px;
  justify-content: center;
  margin: 20px 0px 20px 0px;
}

.modernboxes .c1 {
  padding: 20px;
  background-color: #f4f4f4;
  border-radius: 15px;
  display: flex;
  flex-direction: column;
  flex-direction: flex-start;
  flex: 1;
}

.c1 .cc1 {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 30px;
}

.cc1 .num {
  border-radius: 50px;
  background-color: #98beeb;
  width: 40px;
  height: 40px;
  text-align: center;
  display: table-cell;
  overflow: hidden;
  vertical-align: middle;
}

.num .num2 {
  font-weight: 900;
  font-family: Lato, helvetica, arial, sans-serif;
  font-size: 18px;
  color: white;
}

/* Keep modernboxes step numbers as perfect centered circles */
.modernboxes .c1 .cc1 {
  align-items: center;
}

.modernboxes .c1 .cc1 .num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  line-height: 1;
}

.modernboxes .c1 .cc1 .num .num2 {
  display: block;
  line-height: 1;
}

.cc1 h3 {
  font-weight: 900;
  font-family: Lato, helvetica, arial, sans-serif;
  font-size: 18px;
  text-align: right;
}

.c1 .cc2 {
  background-image: url('/admin/immaginipersonalizzate/');
  background-position: cover;
}

.c1 img {
  width: 80px;
  height: 80px;
}

.c1 .cc3 {
  text-align: left;
  display: block;
  font-size: 14px;
  line-height: 18px;
}

.c1 .cc4 {
  display: flex;
}

@media only screen and (max-width: 768px) {
  .modernboxes {
    flex-direction: column;
  }
}




/* Div GIFs e Imgblog */

.divgif {
  padding: 15px;
  background-color: #f4f4f4;
  border-radius: 15px;
  display: flex;
  flex-direction: column;
  align-content: center;
  gap: 25px;
}

.divgif .c1 {
  flex: 1;
}

.divgif .ord1 {
  order: 1;
}

.divgif .ord2 {
  order: 2;
}

@media only screen and (min-width: 768px) {
  .divgif {
    flex-direction: row;
    justify-content: center;
  }

  .divgif .ord1 {
    order: 2;
  }

  .divgif .ord2 {
    order: 1;
  }
}



.gifseparata {
  object-fit: cover;
  width: 90%;
  height: 410px;
  border-radius: 15px;
  display: block;
  margin: 25px auto 0;
  background-repeat: no-repeat;
}

@media only screen and (max-width: 768px) {
  .gifseparata {
    width: 100%;
    height: 240px;
    border-radius: 15px;
    object-fit: cover;
  }
}


.imgblog {
  object-fit: fill;
  width: 100% !important;
  height: 410px !important;
  max-width: 615px !important;
  border-radius: 15px;
  display: block;
  margin: 25px 0 25px 0;
}

@media only screen and (max-width: 768px) {
  .imgblog {
    width: 100% !important;
    max-width: 360px !important;
    height: 240px;
    border-radius: 15px;
    object-fit: contain;
  }
}



/* Facciamo da Noi */

.danoi {
  max-width: 700px !important;
  width: 100% !important;
  display: flex;
  margin-top: 20px;
  padding: 20px;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  background-color: #f1f8ff;
  border-radius: 15px;
}

.danoi .c1 {
  display: flex;
  flex-direction: row;
  gap: 20px;
  font-size: 14px;
  font-family: Lato, helvetica, arial, sans-serif;
}

.c1 span {
  vertical-align: middle;

}

.c1 p {
  vertical-align: middle;
  margin-top: 0px !important;
}

.danoi .ctas {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 15px;
  margin-top: 25px;
}




/* Il Nostro Macchinario */

.eco-service-hero {
  margin: 0 0 30px 0;
  border-radius: 14px;
  overflow: hidden;
}

.eco-service-hero__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 886 / 668;
  object-fit: cover;
  object-position: center;
}

.immagineblogmediana {
  object-fit: cover;
  width: 100%;
  aspect-ratio: 16 / 9;
  margin: 30px 0 30px 0;
}

@media only screen and (max-width: 767px) {
  .immagineblogmediana {
    height: 80vh;
  }
}

@media only screen and (max-height: 500px) {
  .immagineblogmediana {
    height: 160vh;
  }
}


.immagineblogmediana2 {
  object-fit: fill;
  width: 100%;
  height: 50vh;
  margin: 30px 0 30px 0;
}

@media only screen and (max-width: 767px) {
  .immagineblogmediana2 {
    height: 80vh;
  }
}

@media only screen and (max-height: 500px) {
  .immagineblogmediana2 {
    height: 160vh;
  }
}

.immagineblogmediana3 {
  object-fit: cover;
  width: 100%;
  height: 50vh;
  border-radius: 15px;
  margin: 30px 0 30px 0;
}

@media only screen and (max-width: 767px) {
  .immagineblogmediana3 {
    height: 50vh;
  }
}

@media only screen and (max-height: 500px) {
  .immagineblogmediana3 {
    height: 100vh;
  }
}

.informazionilaser {
  display: flex;
  position: relative;
  flex-direction: column;
  gap: 20px;
  align-items: flex-start;
  width: 80%;
}

.informazionilaser h3 {
  font-size: 24px;
  font-family: Lato, helvetica, arial, sans-serif;
  font-weight: 900;
  text-align: left;
}

.informazionilaser .c1 {
  display: flex;
  flex-direction: row;
  position: relative;
}

.informazionilaser .c1 img {
  z-index: 0;
  opacity: 0.8;
  width: 20%;
  height: 150px;
  object-fit: fill;
}

.informazionilaser .c1 .cc1 {
  background-color: #fafafa;
  border-radius: 15px;
  padding: 40px;
  left: -40px;
  top: 40px;
  width: 65%;
  position: relative;
  box-shadow: 5px 5px 10px rgba(116, 116, 116, 0.322);
}

.informazionilaser .c1 .cc1 p {
  font-size: 14px;
  font-family: Lato, helvetica, arial, sans-serif;
  line-height: 20px;
  text-align: left;
}


@media only screen and (max-width: 768px) {
  .informazionilaser {
    width: 100%;
  }

  .informazionilaser .c1 img {
    width: 40%;
    height: 100px;
  }

  .informazionilaser .c1 .cc1 {
    width: 100%;
    min-width: 240px;
    top: 50px;
    padding: 20px;
  }
}

@media only screen and (max-width: 321px) {
  .informazionilaser {
    width: 100%;
  }

  .informazionilaser .c1 img {
    width: 40%;
    height: 100px;
  }

  .informazionilaser .c1 .cc1 {
    width: 100%;
    min-width: 220px;
    top: 50px;
    padding: 10px;
  }
}




/* Div prezzi epilazione */

.divprezzi {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
  justify-content: space-around;
}

.divprezzi .prestazione {
  background-color: #f7f7f7;
  border-radius: 15px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex: 1;
  min-width: 270px;
  max-width: 300px;
  margin-top: 25px;
}

.prestazione img {
  width: 100%;
  height: 250px;
  object-fit: fill;
  border-radius: 15px 15px 0px 0px;
}

.prestazione h3 {
  font-size: 20px;
  font-family: Lato, helvetica, arial, sans-serif;
  text-align: center;
  margin: 10px 0 10px 0;
  font-weight: 700;
}

.prestazione .c1 {
  display: flex;
  padding: 0px 15px 0px 15px;
  flex-direction: row;
}

.prestazione .c1 p {
  font-family: Lato, helvetica, arial, sans-serif;
  font-weight: 700;
  text-align: left;
  line-height: 17px;
  font-size: 14px;
}

.prestazione .c1 .cc1 {
  flex: 1;
  display: block;
}

.prestazione .c1 .cc1 .prezzo {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 15px;
}

.prestazione .c2 {
  text-align: center;
  font-size: 14px;
  font-family: Lato, helvetica, arial, sans-serif;
  font-weight: 300;
  margin: 10px 0 10px 0;
}

.prestazione .c3 {
  padding: 10px;
}

.prestazione .c3 p {
  text-align: center;
  font-size: 12px;
  font-family: Lato, Arial, Helvetica, sans-serif;
  font-weight: 300;
  color: #464646;
  line-height: 17px;
}

.prestazione .c3 h3 {
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  color: #464646;
  line-height: 17px;
  font-family: Lato, Arial, Helvetica, sans-serif;
  margin-bottom: -15px;
}




/* Div caso clinico Implantologia */

.casoimp {
  display: flex;
  padding: 20px;
  flex-direction: row;
  gap: 30px;
  justify-content: center;
  width: 99%;
  border-radius: 15px;
  background-color: #f4f4f4;
  margin-top: 30px;
}

.casoimp .imgcaso {
  flex: 1;
  object-fit: fill;
  width: 48%;
  border-radius: 15px;
}

@media (max-width: 768px) {

  .casoimp {
    flex-direction: column;
    align-items: center;
  }

  .casoimp .imgcaso {
    height: 50vh;
    width: 100%;
  }
}

.casoimp .testo {
  text-align: left;
  display: block;
}

.casoimp .testo h3 {
  font-size: 20px;
  font-family: Lato, helvetica, arial, sans-serif;
  font-weight: 700;
}

.casoimp .testo p,
.casoimp .testo li,
.casoimp .testo a {
  font-family: Lato, helvetica, arial, sans-serif;
  font-size: 14px;
  line-height: 19px;
  color: #464646;
}

.casoimp .testo .button {
  width: 100%;
  height: 60px;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  justify-content: left;
  align-items: center;
  line-height: 1.1;
  transition: opacity 0.3s ease-in-out;
  border-radius: 8px;
  border: none;
}




/* Carousel */
.carousel2 {
  position: relative;
}

.carousel-inner2 {
  display: flex;
  width: 100%;
  overflow: hidden;
  transition: transform 0.5s ease-in-out;
}

.carousel-item2 {
  flex: 0 0 100%;
  transition: all 0.3s;
}

.carousel-control2 {
  position: absolute;
  top: 50%;
  font-size: 2em;
  cursor: pointer;
}


.carousel-control2.prev {
  left: 10px;
}

.carousel-control2.next {
  right: 10px;
}




/* BUBA */

.sidebysidemain {
  display: flex;
  padding: 25px;
  width: 100%;
  margin: 15px;
  flex-direction: row;
  gap: 20px;
  justify-content: center;
  background-color: #f4f4f4;
  border-radius: 15px;
}

.sidebysidemain video {
  max-width: 350px;
  flex: 1;
  border-radius: 15px;
}

.sidebysidemain .c1 {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 15px;
  flex: 1;
}

.sidebysidemain .c1 h5 {
  font-size: 18px;
  font-family: 'IBM Plex Mono', helvetica, arial, sans-serif;
  font-weight: 700;
  color: #464646;
  text-align: left;
}

.sidebysidemain .c1 p {
  font-size: 14px;
  color: #464646;
  line-height: 19px;
}

@media only screen and (max-width: 768px) {

  .sidebysidemain {
    flex-direction: column;
    margin: auto;
  }

}




/* Analisi da portare */

.analisi-main {
  display: flex;
  flex-direction: row;
  gap: 30px;
  justify-content: flex-start;
  padding: 20px;
  margin: 10px;
  border-radius: 15px;
  background-color: #f4f4f4;
}

.analisi-main .c1 {
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: flex-start;
}

.analisi-main .mobile {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  min-width: 60px;
}

.analisi-main .mobile h4 {
  display: none;
}

.analisi-main .c1 h4 {
  font-family: Lato, helvetica, arial, sans-serif;
  font-size: 19px;
  font-weight: 900;
}

.analisi-main .c1 p {
  font-size: 14px;
  color: #464646;
  text-align: left;
}

@media only screen and (max-width: 768px) {
  .analisi-main {
    flex-direction: column;
    gap: 20px;
    justify-content: flex-start;
  }

  .analisi-main .c1 p {
    font-size: 13px;

  }

  .analisi-main .c1 h4 {
    display: none;
  }

  .analisi-main .mobile h4 {
    display: block;
    font-family: Lato, helvetica, arial, sans-serif;
    font-size: 19px;
    font-weight: 900;
    width: 60%;
    text-align: left;
  }
}




/* DIV PACCHETTI CARDIOLOGO */

.pacchetticard {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  flex-direction: row;
  align-items: flex-start;
}

.pacchetticard .iconee {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 15px;
  padding: 15px;
  background-color: #F1F0FA;
  border-radius: 20px;
  flex: 1;
}

.pacchetticard .iconee h4 {
  text-align: left;
  font-size: 19px;
  font-family: Lato, helvetica, arial, sans-serif;
  font-weight: 700;
  margin-top: 0px !important;
}

.pacchetticard .iconee .iconaChild {
  display: flex;
  flex-direction: row;
  gap: 25px;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
  width: 95%;
}

.pacchetticard .iconee .iconaChild img {
  width: 50px;
  height: 50px;
}

.pacchetticard .iconaChild .testo {
  display: block;
}

.pacchetticard .iconaChild h5 {
  font-weight: 900;
  font-size: 15px;
  color: black;
  font-family: Lato, helvetica, arial, sans-serif;
}

.pacchetticard .iconee .iconaChild .testo p {
  color: #4e4e4e;
  font-size: 14px;
  line-height: 22px;
  text-align: left;
  margin-top: 0px !important;
}

.pacchetticard .iconee .bulletpnt {
  display: flex;
  flex-direction: row;
  gap: 20px;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
  width: 95%;
}

.iconee .bulletpnt span {
  font-size: 20px;
  color: #A26793;
}

.iconee .bulletpnt p {
  color: #000000;
  font-size: 14px;
  line-height: 22px;
  text-align: left;
  margin-top: 0px !important;
}

.pacchetticard .iconee .ctas {
  margin: 0px auto;
  display: block;
}

.pacchetticard .iconee .ctas .bottonee {
  max-width: 250px;
  border-radius: 30px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 20px;
  flex: 1;
  width: fit-content;
  padding: 10px;
  width: 100%;
  cursor: pointer;
  transition: opacity 0.5s ease-in-out;
}

.iconee .ctas .bottonee .buttone2 {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 10px;
  width: fit-content;
}

.pacchetticard .iconee .ctas .bottonee:hover {
  opacity: 0.5;
}

.pacchetticard .iconee .prezzi {
  width: 100%;
  display: flex;
  justify-content: flex-end;
}

.pacchetticard .iconee .prezzi .prezziChild {
  display: block;
}

.iconee .prezzi .prezziChild p {
  text-align: right;
  font-size: 13px;
  color: #535353;
}

.iconee .prezzi .prezziChild .prezzo {
  text-align: right;
  font-size: 22px;
  font-family: Lato, helvetica, arial, sans-serif;
  font-weight: 900;
  margin-top: 0px !important;
}


@media only screen and (max-width: 768px) {
  .pacchetticard {
    flex-direction: column;
  }
}




/* NOSTRI SPECIALISTI */
.cards-specialisti-container0 {
  position: relative;
  width: 100%;
}

.cards-specialisti-container0 .puls {
  display: flex;
  gap: 10px;
  flex-direction: row;
  justify-content: flex-start;
}

.cards-specialisti-container0 .puls .bot {
  padding: 10px 20px;
  border: none;
  background-color: #ffffff;
  color: black;
  cursor: pointer;
  border-radius: 40px;
  font-size: 15px;
  border: solid 1px gray;
}

.cards-specialisti-container0 .puls .bot.active {
  background-color: #000000;
  /* Active tab color */
  color: white;
  border: none;
}

.cards-specialisti-container1 {
  position: relative;
  width: 100%;
}

.cards-specialisti-container1 .puls {
  display: flex;
  gap: 10px;
  flex-direction: row;
  justify-content: flex-start;
}

.cards-specialisti-container1 .puls .bot {
  padding: 10px 20px;
  border: none;
  background-color: #ffffff;
  color: black;
  cursor: pointer;
  border-radius: 40px;
  font-size: 15px;
  border: solid 1px gray;
}

.cards-specialisti-container1 .puls .bot.active {
  background-color: #000000;
  /* Active tab color */
  color: white;
  border: none;
}


.arrow-button {
  background-color: #E0E0E0;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.6;
  z-index: 4;
}

.cards-specialisti-container {
  display: flex;
  flex-direction: row;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #888 #f1f1f1;
  margin: 30px 0px;
}



.arrow-left {
  left: 10px;
}

.arrow-right {
  right: 10px;
}


.card-specialisti {
  --doctor-accent: #2f52ee;
  --doctor-glow: rgba(47, 82, 238, 0.15);
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 25px;
  padding: 25px 20px;
  border-radius: 22px;
  background: #f7f8fc;
  width: 90%;
  max-width: 250px;
  margin-right: 15px;
  border: 1px solid #e1e4f1;
  position: relative;
  isolation: isolate;
  transitio`§n: background 0.35s ease, border 0.35s ease;
  overflow: hidden;
}

.card-specialisti::before {
  content: none;
}

.card-specialisti:hover {
  background: #f2f4ff;
  border-color: #d0d7f5;
}

.card-specialisti.selected {
  border-color: var(--doctor-accent);
  background: linear-gradient(145deg, rgba(247, 248, 252, 1), rgba(240, 244, 255, 0.9));
}

.card-specialisti.selected h3 {
  color: var(--doctor-accent);
}

/* Bottoni Toggle */

.card-specialisti-toggle {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(230, 233, 245, 0.9);
  cursor: pointer;
  transition: background 0.3s ease, border 0.3s ease;
}

.card-specialisti.selected .card-specialisti-toggle {
  background: var(--doctor-accent);
  border-color: var(--doctor-accent);
}

.card-specialisti:not(.selected) .card-specialisti-toggle {
  background: #eef0f4;
  border-color: #d0d4df;
}

.card-specialisti .fa-circle-plus,
.card-specialisti .fa-circle-minus {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 22px;
  color: #2f52ee;
  line-height: 1;
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}

.card-specialisti.selected .fa-circle-minus {
  opacity: 1;
  pointer-events: auto;
  color: #ffffff;
}

.card-specialisti.selected .fa-circle-plus {
  opacity: 0;
}

.card-specialisti:not(.selected) .fa-circle-plus {
  opacity: 1;
  pointer-events: auto;
  color: #8a91a3;
}

.card-specialisti:not(.selected) .fa-circle-minus {
  opacity: 0;
  color: #8a91a3;
}

/* Avatar e resto della card*/

.card-specialisti .avatar {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  margin-top: 20px;
  margin-bottom: 20px;
}

.card-specialisti .avatar .testo {
  display: block;
  flex: 1;
}

.card-specialisti .avatar h3 {
  font-size: 18px;
  font-weight: 900;
  color: #101225;
  text-align: left;
  transition: color 0.3s ease;
}

.card-specialisti .avatar p {
  font-size: 12px;
}

.card-specialisti .avatar .list-marked li {
  font-size: 12px;
  color: #797979;
  margin-top: 0px;
  line-height: 15px;
  color: rgb(0, 0, 0);
}

.card-specialisti .avatar .list-marked>li::before,
.list-marked-primary>li::before {
  top: 8px;
}


.card-specialisti .avatar .immagine {
  vertical-align: middle;
  width: 80px;
  height: 80px;
  border-radius: 20px;
  background-size: cover;
}

.card-specialisti .avatar .immagine.card-specialisti-avatar-placeholder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, #eef2f8, #dfe5ef);
  border: 1px dashed #b9c1d2;
  color: #69738b;
  font-weight: 800;
  font-size: 28px;
}

.sezionegrid-icon-placeholder {
  width: 60px;
  height: 60px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: #eef2f8;
  border: 1px dashed #b9c1d2;
  color: #69738b;
  font-size: 22px;
}

.card-specialisti-hint {
  width: 100%;
  display: block;
  margin-top: 10px;
  padding-top: 12px;
  text-transform: uppercase;
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  font-weight: 700;
  color: #a2a7be;
  border-top: 1px dashed #e1e4f1;
  text-align: left;
}

.card-specialisti-hint--active,
.card-specialisti.selected .card-specialisti-hint {
  color: var(--doctor-accent);
  border-color: var(--doctor-accent);
}

@media only screen and (min-width: 768px) {
  .card-specialisti {
    max-width: 280px;
  }
}

.doctor-info {
  --doctor-accent: #2f52ee;
  --doctor-glow: rgba(47, 82, 238, 0.12);
}

.doctor-info-status {
  --doctor-accent: #2f52ee;
  --doctor-glow: rgba(47, 82, 238, 0.12);
  display: flex;
  width: fit-content;
  max-width: 100%;
  align-items: baseline;
  gap: 9px 14px;
  padding: 9px 18px;
  border-radius: 999px;
  background: linear-gradient(125deg, rgba(255, 255, 255, 0.95), rgba(245, 247, 255, 0.85));
  border: 1px solid rgba(255, 255, 255, 0.6);
  box-shadow: -3px -1px 13px rgba(10, 17, 45, 0.12), -1px 5px 22px var(--doctor-glow, #ffe2f1);
  margin: 28px auto 16px;
  position: relative;
  isolation: isolate;
}

.doctor-info-status::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle at 12% 30%, rgba(255, 255, 255, 0.62), transparent 49.16%);
  opacity: 0.95;
  pointer-events: none;
}

.doctor-info-status::after {
  content: "\2304";
  position: absolute;
  left: 50%;
  bottom: -12px;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  border: 1px solid #dbe2f4;
  background: linear-gradient(145deg, #ffffff, #f4f7ff);
  box-shadow: 0 8px 16px -12px rgba(16, 24, 40, 0.5);
  color: #65719a;
  font-size: 17px;
  font-weight: 800;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 1px;
  transform: translateX(-50%);
  animation: doctor-info-status-arrow 2.2s ease-in-out infinite;
  pointer-events: none;
  z-index: 2;
}

.doctor-info-status__label {
  font-size: 0.67rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #5f6478;
  line-height: 1;
  white-space: nowrap;
  position: relative;
  z-index: 1;
}

.doctor-info-status__name {
  font-weight: 800;
  color: var(--doctor-accent);
  font-size: 0.92rem;
  text-align: left;
  line-height: 1.2;
  position: relative;
  z-index: 1;
}

@keyframes doctor-info-status-arrow {
  0%,
  100% {
    transform: translateX(-50%) translateY(0);
    opacity: 0.52;
  }

  50% {
    transform: translateX(-50%) translateY(2px);
    opacity: 0.9;
  }
}

@media only screen and (max-width: 768px) {
  .doctor-info-status {
    gap: 6px 10px;
    padding: 7px 14px;
    margin: 22px auto 12px;
  }

  .doctor-info-status__label {
    font-size: 0.59rem;
    letter-spacing: 0.09em;
  }

  .doctor-info-status__name {
    font-size: 0.84rem;
  }

  .doctor-info-status::after {
    width: 22px;
    height: 22px;
    bottom: -10px;
    font-size: 16px;
  }
}

.card-specialisti-role {
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #7a7f90;
  font-weight: 600;
  margin: 4px 0 0;
}

.doctor-info__panel--active {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
}

.doctor-info__panel--active::after {
  content: none;
}

.doctor-inline-header {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.doctor-cta-pill {
  display: none;
  align-items: center;
  gap: 7px;
  padding: 7px 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, #f7f9ff, #eef3ff);
  border: 1px solid #dfe4ed;
  color: #1b2559;
  font-weight: 600;
  font-size: 12px;
  text-decoration: none;
  box-shadow: 0 6px 14px rgba(27, 37, 89, 0.08);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
  margin-top: 20px;
}

.doctor-cta-pill .fa-solid {
  color: #3b7dff;
  font-size: 12px;
}

.doctor-cta-pill:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(27, 37, 89, 0.12);
  background: linear-gradient(135deg, #fefeff, #eef3ff);
}

.doctor-info__panel--active .doctor-cta-pill {
  display: inline-flex;
}

.pink-info-card {
  display: flex;
  align-items: center;
  gap: 18px;
  text-align: left;
  margin-top: 25px;
  padding: 24px 28px;
  border-radius: 18px;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.85), transparent 58%),
    linear-gradient(150deg, #fef7fb, #fdeef9 48%, #fad8ef);
  border: 1px solid rgba(241, 182, 216, 0.6);
}

.pink-info-card::before {
  content: "";
  position: absolute;
  top: -30%;
  left: -10%;
  width: 55%;
  height: 140%;
  background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.6), transparent 70%);
  transform: rotate(-10deg);
  pointer-events: none;
}

.pink-info-card .pinkbox {
  width: 14px;
  min-height: 100px;
  border-radius: 999px;
  background: linear-gradient(180deg, #f48fc8, #e050b4 60%, #c13d92);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.6),
    0 12px 22px -14px rgba(175, 41, 122, 0.5);
  flex-shrink: 0;
}

.pink-info-card__content {
  flex: 1;
  position: relative;
  z-index: 1;
}

.pink-info-card__content>p {
  margin-top: 0;
  font-weight: 300;
}

@media (max-width: 640px) {
  .pink-info-card {
    flex-direction: column;
    align-items: flex-start;
    padding: 20px;
    gap: 12px;
  }

  .pink-info-card .pinkbox {
    width: 80px;
    min-height: 8px;
  }
}




/* progress bar */
.scroll-progress-bar {
  flex: 1;
  height: 6px;
  min-width: 140px;
  max-width: 360px;
  background: linear-gradient(90deg, rgba(47, 82, 238, 0.08), rgba(47, 82, 238, 0.02));
  border-radius: 999px;
  overflow: hidden;
  position: relative;
  margin: 0;
}

.scroll-progress-bar-inner {
  position: absolute;
  inset: 0;
  width: 0%;
  background: linear-gradient(90deg, #4b6bff 0%, #7f5cff 55%, #f05fa3 100%);
  border-radius: inherit;
  box-shadow: 0 6px 18px -10px rgba(47, 82, 238, 0.45);
  transition: width 0.25s ease;
}

.progressbar-arrows {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 12px 0 32px 0;
  width: 100%;
}

.progressbar-arrows .arrow-button {
  position: static;
  transform: none;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(41, 56, 86, 0.12);
  background: #ffffff;
  color: #4b6bff;
  box-shadow: 0 8px 18px -10px rgba(15, 22, 40, 0.35);
  opacity: 1;
  flex-shrink: 0;
  transition: opacity 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.progressbar-arrows .arrow-button:disabled {
  opacity: 0.35;
  color: #9aa4c3;
  box-shadow: none;
  cursor: not-allowed;
}

.progressbar-arrows .arrow-button:not(:disabled):hover {
  color: #1f3ccc;
  border-color: rgba(31, 60, 204, 0.35);
  box-shadow: 0 12px 24px -12px rgba(31, 60, 204, 0.45);
}

.progressbar-arrows .scroll-progress-bar {
  margin: 0;
}

@media (max-width: 768px) {
  .progressbar-arrows {
    gap: 10px;
  }

  .progressbar-arrows .scroll-progress-bar {
    min-width: 0;
    width: 100%;
  }
}

/* specialist cards mobile navigation */
.cards-specialisti-mobile-nav {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 6px 0 28px;
}

.cards-specialisti-mobile-nav.is-visible {
  display: flex;
}

.cards-specialisti-mobile-nav__btn {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid #d5dcef;
  background: #ffffff;
  color: #4560ad;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 16px -12px rgba(16, 24, 40, 0.45);
  transition: opacity 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
}

.cards-specialisti-mobile-nav__btn:focus-visible {
  outline: 2px solid #3b7dff;
  outline-offset: 2px;
}

.cards-specialisti-mobile-nav__btn.is-hidden {
  opacity: 0;
  pointer-events: none;
  transform: scale(0.9);
}

.cards-specialisti-mobile-nav__btn .fa-solid {
  font-size: 12px;
}

.cards-specialisti-mobile-nav__dots {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.cards-specialisti-mobile-nav__dot {
  width: 7px;
  height: 7px;
  border: 0;
  border-radius: 999px;
  background: #d5ddf0;
  box-shadow: inset 0 0 0 1px rgba(65, 85, 140, 0.12);
  transition: width 0.24s ease, background-color 0.24s ease, box-shadow 0.24s ease;
}

.cards-specialisti-mobile-nav__dot.is-active {
  width: 18px;
  background: #3b7dff;
  box-shadow: 0 4px 12px -7px rgba(59, 125, 255, 0.7);
}

@media only screen and (max-width: 1024px) {
  .cards-specialisti-container {
    scroll-snap-type: x mandatory;
  }

  .card-specialisti {
    scroll-snap-align: start;
  }
}

@media only screen and (min-width: 1025px) {
  .cards-specialisti-mobile-nav,
  .cards-specialisti-mobile-nav.is-visible {
    display: none;
  }
}



/* OFFERTE */

.articles-offerte {
  margin-top: 100px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 50px;
  padding: 0px 15px;
}



.articles-offerte .article-item {
  padding: 20px;
  background-color: #DBEAEF;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: flex-start;
  position: relative;
}



.articles-offerte .article-item img {
  position: relative;
  left: 0;
  width: calc(100% + 40px);
  border-radius: 20px 20px;
}

.articles-offerte .article-item h4 {
  font-size: 1.2rem;
  font-family: Lato, helvetica, arial, sans-serif;
  text-align: left;
  font-weight: 700;
  letter-spacing: 0px;
  margin-top: 0;
  color: #9A0006;
}

.articles-offerte .article-item h5 {
  font-size: 1rem;
  font-family: Lato, helvetica, arial, sans-serif;
  text-align: left;
  font-weight: 700;
  letter-spacing: 0px;
  margin-top: 0;
  color: #264954;
}

.articles-offerte .tiny {
  font-size: 13px;
  font-family: lato, helvetica, arial, sans-serif;
  color: #264954;
  border-bottom: solid 1px gray;
  font-family: 'Martian Mono', helvetica, arial, sans-serif;
}

.tiny .sottolineato {
  position: relative;
  z-index: 0;
}

.tiny .sottolineato::before {
  background-color: #d6ff3d;
  position: absolute;
  content: "";
  height: 15px;
  width: 100%;
  z-index: -1;
  bottom: 0;
  transform: translate(4px, 4px);
}

.articles-offerte .article-item .list-marked li {
  font-size: 14px;
  color: #797979;
  font-family: Lato, helvetica, arial, sans-serif;
  margin-top: 0px;
  line-height: 18px;
  color: #264954;
}

.article-item .list-marked>li::before,
.list-marked-primary>li::before {
  top: 8px;
}

.articles-offerte .article-item p {
  line-height: 18px;
  font-size: 14px;
  font-family: Lato, helvetica, arial, sans-serif;
  text-align: left;
  color: #264954;
  margin-top: 0;
}

.articles-offerte .article-item .hoverblue {
  transition: color 0.3s ease-in-out, text-decoration 0.3s ease-in-out;
  color: #78acd3;
  text-align: left;
  margin-top: 0;
  font-size: 14px;
}

.articles-offerte .article-item .hoverblue:hover {
  color: #9cbde0;
  text-decoration: underline !important;
  cursor: pointer;
}

.article-item .toggle-info {
  cursor: pointer;
  display: flex;
  align-items: center;
}

.article-item .toggle-sign {
  margin-right: 10px;
  font-size: 24px;
  /* Adjust size as needed */
}

.article-item .ctas {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  width: 100%;
  margin-top: 40px;
}

.article-item .ctas .bottonee {
  max-width: 250px;
  height: 90px;
  border-radius: 15px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 20px;
  flex: 1;
  width: fit-content;
  padding: 10px;
  width: 100%;
}

.article-item .ctas .bottonee .buttone2 {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 10px;
  width: fit-content;
}




/* Allineatori Trasparenti */

.ascomparsa {
  display: flex;
  flex-direction: row;
  gap: 20px;
  justify-content: space-between;
  align-items: stretch;
  margin-top: 4.5em;
}

.ascomparsa .testo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 30px;
  flex: 1;
}


.ascomparsa .testo .puls {
  display: flex;
  gap: 10px;
  flex-direction: row;
  justify-content: flex-start;
}

.ascomparsa .testo .puls .bot {
  padding: 10px 20px;
  border: none;
  background-color: #ffffff;
  color: black;
  cursor: pointer;
  border-radius: 40px;
  font-size: 15px;
  border: solid 1px gray;
}

.ascomparsa .testo .puls .bot.active {
  background-color: #000000;
  /* Active tab color */
  color: white;
  border: none;
}

.ascomparsa .testo p {
  font-size: 14px;
  margin-top: 0px !important;
}

#image {
  max-width: 50%;
  height: auto;
  border-radius: 10px;
  flex: 1;
}


@media only screen and (max-width: 994px) {
  .ascomparsa {
    flex-direction: column;
  }

  .ascomparsa .testo {
    flex: none;
  }


  #image {
    max-width: 100%;
    flex: none;
  }

}




.ascomparsa2 {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: stretch;
  background-color: #f4f4f4;
  padding: 15px;
  border-radius: 25px;
  gap: 20px;
}

.ascomparsa2 .testo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1;
}

.ascomparsa2 .testo p {
  font-size: 14px;
  color: #535353;
  line-height: 22px;
  text-align: left;
}

.ascomparsa2 .testo h2 {
  font-size: 25px;
  font-weight: 900;
  font-family: Lato, helvetica, arial, sans-serif;
  margin-top: 0px;
  text-align: left;
}

.ascomparsa2 .testo .testo1 {
  font-size: 17px;
  color: #5175E5;
  font-weight: 700;
  margin-top: 0px;
  text-align: left;
}

.ascomparsa2 .testo .box {
  padding: 15px;
  background-color: #e0eef9;
  border-radius: 10px;
  display: flex;
  flex-direction: row;
  gap: 15px;
}


#stepimage {
  max-width: 50%;
  height: auto;
  border-radius: 10px;
  flex: 1;
}

@media only screen and (max-width: 994px) {
  .ascomparsa2 {
    flex-direction: column;
  }

  .ascomparsa2 .testo {
    flex: none;
  }


  #stepimage {
    max-width: 100%;
    flex: none;
  }

}



.sidebysidemaincontainer {
  display: flex;
  flex-direction: row;
  gap: 10px;
}


.sidebysidemain2 {
  display: flex;
  padding: 25px;
  width: 100%;
  margin: 15px;
  flex-direction: column;
  gap: 20px;
  background-color: #f4f4f4;
  border-radius: 15px;
}

.sidebysidemain2 video {
  max-width: 80%;
  flex: 1;
  border-radius: 15px;
  width: 80%;
}

.sidebysidemain2 .c1 {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 15px;
  flex: 1;
}

.sidebysidemain2 .c1 h5 {
  font-size: 18px;
  font-family: 'IBM Plex Mono', helvetica, arial, sans-serif;
  font-weight: 700;
  color: #464646;
  text-align: left;
}

.sidebysidemain2 .c1 p {
  font-size: 14px;
  color: #464646;
  line-height: 19px;
}

@media only screen and (max-width: 768px) {

  .sidebysidemaincontainer {
    flex-direction: column;
  }

  .sidebysidemain2 {
    flex-direction: column;
    margin: auto;
  }

  .sidebysidemain2 video {
    max-width: 100%;
    width: 100%;
  }

}



.comparazione {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin-top: 20px;
}

.comparazione .c1 {
  flex: 1;
  padding: 15px;
}

.comparazione ul {
  padding: 0;
  margin: 15px 0px;
  list-style-type: none;
}

.comparazione ul li {
  font-size: 15px;
  /*font-family: Lato, helvetica, arial, sans-serif;*/
  margin-bottom: 0px;
  position: relative;
  color: #787878;
  display: flex;
  flex-direction: row;
  gap: 10px;
  margin-top: 10px;

}

.comparazione ul li::before {
  content: '';
  position: absolute;
  left: -15px;

}




.sidebysidemaincontainer2 {
  display: flex;
  flex-direction: row;
  gap: 10px;
}


.sidebysidemain3 {
  display: flex;
  padding: 25px;
  width: 100%;
  margin: 15px;
  flex-direction: column;
  gap: 20px;
  background-color: #E8F1F5;
  border-radius: 15px;
}

.sidebysidemain3 img {
  max-width: 50%;
  flex: 1;
  border-radius: 15px;
}

.sidebysidemain3 .c1 {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 15px;
  flex: 1;
}

.sidebysidemain3 .c1 h5 {
  font-size: 18px;
  font-family: Lato, helvetica, arial, sans-serif;
  font-weight: 700;
  color: #464646;
  text-align: left;
}

.sidebysidemain3 .c1 p {
  font-size: 14px;
  color: #464646;
  line-height: 19px;
  font-family: Lato, helvetica, arial, sans-serif;
}

@media only screen and (max-width: 768px) {

  .sidebysidemaincontainer2 {
    flex-direction: column;
  }

  .sidebysidemain3 {
    flex-direction: column;
    margin: auto;
  }

  .sidebysidemain3 img {
    max-width: 60%;
  }

}




.pianidipagamento {
  display: flex;
  flex-direction: row;
  gap: 10px;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 30px
}

.pianidipagamento .c1 {
  max-width: 200px;
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.pianidipagamento .c1 img {
  width: 100%;
  height: auto;
}

.pianidipagamento .c1 h5 {
  font-size: 16px;
  font-family: Lato, helvetica, arial, sans-serif;
  font-weight: 700;
  color: #000000;
  text-align: left;
}

.pianidipagamento .c1 p {
  font-size: 14px;
  line-height: 19px;
  color: rgb(60, 60, 60);
}

@media only screen and (max-width: 768px) {
  .pianidipagamento .c1 {
    max-width: 90%;
  }

  .pianidipagamento .c1 img {
    width: 60%;
  }
}




/* Open Day Banner */

.banneropenday {
  width: 100%;
  display: flex;
  margin: 15px auto;
  flex-direction: column;
  max-width: 550px;
  padding: 15px;
  border-radius: 10px;
  background-color: #e7f1fa;
  gap: 40px;
  margin-top: 40px;
}

.banneropenday .c1 {
  display: flex;
  width: 100%;
  flex-direction: row;
  gap: 15px;
}

.banneropenday .c1 img {
  width: 50px;
  height: 50px;
}

.banneropenday .c1 .testo h5 {
  font-size: 18px;
  font-family: Lato, helvetica, arial, sans-serif;
  margin-bottom: 15px !important;
  color: black;
  font-weight: 700;
  text-align: left;
}

.banneropenday .c1 .testo p {
  font-family: Lato, helvetica, arial, sans-serif;
  font-size: 14px;
  color: #505050;
  text-align: left;
}

.banneropenday .banner1 {
  text-align: center;
  font-size: 15px;
  font-weight: 500;
  line-height: 22px;
  width: 100%;
  margin: 0px auto;
}

.banneropenday .ctas {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 20px;
}

.banneropenday .chiamata {
  flex: 1;
  max-width: 180px;
}

.banneropenday .form {
  flex: 1;
  max-width: 180px;
}




.imgdescrittiva {
  display: flex;
  flex-direction: row;
  gap: 18px;
  align-items: flex-start;
}

.imgdescrittiva img {
  object-fit: cover;
  width: 52%;
  border-radius: 0;
}

.imgdescrittiva .testo {
  text-align: left;
  max-width: 240px;
  font-size: 13px;
  line-height: 20px;
  font-family: Lato, helvetica, arial, sans-serif;
  font-weight: 600;
  margin-top: 18px;
}

@media only screen and (max-width: 768px) {
  .imgdescrittiva {
    gap: 14px;
  }

  .imgdescrittiva img {
    width: 48%;
  }

  .imgdescrittiva .testo {
    max-width: 220px;
  }
}

@media only screen and (max-width: 560px) {
  .imgdescrittiva {
    flex-direction: column;
    align-items: center;
    gap: 16px;
  }

  .imgdescrittiva img {
    width: 78%;
    order: 1;
  }

  .imgdescrittiva .testo {
    order: 2;
    max-width: 90%;
    margin-top: 0;
    text-align: center;
  }
}




.imgdescrittiva2 {
  display: flex;
  flex-direction: row;
  gap: 30px;
  align-items: flex-start;
  margin: 50px 0px;
  justify-content: center;
  padding: 20px 0px;
}

.imgdescrittiva2 .carousel {
  position: relative;
  flex: 1;
  width: 49%;
  overflow: hidden;
}

.imgdescrittiva2 .carousel-container {
  display: flex;
  transition: transform 0.5s ease;
  width: 200%;
}

.imgdescrittiva2 .carousel-slide {
  min-width: 100%;
  box-sizing: border-box;
}

.imgdescrittiva2 .carousel-navigation {
  position: absolute;
  top: 50%;
  width: 100%;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
  pointer-events: none;
}

.imgdescrittiva2 .carousel-navigation button {
  background: rgba(0, 0, 0, 0.5);
  border: none;
  color: white;
  font-size: 24px;
  padding: 0px 5px;
  cursor: pointer;
  pointer-events: all;
  opacity: 0.5;
  transition: opacity 0.3s;
}

.imgdescrittiva2 .carousel-navigation button:hover {
  background: rgba(0, 0, 0, 0.8);
  opacity: 1;
}

.imgdescrittiva2 .carousel-navigation button.hidden {
  opacity: 0;
}


.imgdescrittiva2 img,
video,
picture {
  flex: 1;
  width: 49%;
}

.imgdescrittiva2 .testo {
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex: 1;
}

.imgdescrittiva2 .testo h4 {
  font-family: 'Palanquin Dark', helvetica, arial, sans-serif;
  font-weight: 400;
  text-align: left;
  font-size: 30px;
}

.imgdescrittiva2 .testo .testov2 p {
  font-family: 'Open Sans', helvetica, arial, sans-serif;
  font-size: 15px;
  line-height: 23px;
  font-weight: 400;
  text-align: left;
  color: rgb(85, 85, 85);
}

.imgdescrittiva2 .testo .testov2 ul {
  padding-left: 40px;
}

.imgdescrittiva2 .testo .testov2 ul li {
  font-family: 'Open Sans', helvetica, arial, sans-serif;
  font-size: 15px;
  line-height: 23px;
  font-weight: 400;
  text-align: left;
  position: relative;
  color: rgb(85, 85, 85);
}

.imgdescrittiva2 .testo .testov2 ul li strong {
  color: black;
}

.imgdescrittiva2 .testo .testov2 ul li::before {
  content: "•";
  position: absolute;
  left: -20px;
  top: 0;
}

.imgdescrittiva2 .ctas {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 20px;
}

.imgdescrittiva2 .ctas .bottonee {
  flex: 1;
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  padding: 10px 15px;
  cursor: pointer;
  transition: opacity 0.5s ease-in-out;
  align-items: center;
  max-width: 250px;
  border-radius: 20px;
  width: 100%;

}

.imgdescrittiva2 .ctas .bottonee:hover {
  opacity: 0.5;
}

.imgdescrittiva2--ecografista {
  align-items: flex-start;
}

.imgdescrittiva2--ecografista .imgdescrittiva2__media {
  position: relative;
  flex: 0 1 calc(50% - 15px);
  width: calc(50% - 15px);
  margin-bottom: 106px;
}

.imgdescrittiva2--ecografista > .testo {
  flex: 0 1 calc(50% - 15px);
  width: calc(50% - 15px);
}

.imgdescrittiva2--ecografista .imgdescrittiva2__media>img {
  width: 100%;
  flex: none;
  display: block;
  border-radius: 0;
}

.imgdescrittiva2--ecografista .imgdescrittiva2__doctor-banner {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: -76px;
  padding: 10px 12px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(66, 74, 86, 0.88), rgba(103, 112, 124, 0.74));
  border: 1px solid rgba(255, 255, 255, 0.24);
  box-shadow: 0 14px 30px rgba(18, 24, 34, 0.26);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}

.imgdescrittiva2--ecografista .avatar-main {
  margin: 0;
  gap: 10px;
  align-items: center;
}

.imgdescrittiva2--ecografista .avatar-main .immaginegastro {
  width: 54px;
  height: 54px;
  min-width: 54px;
  border: 2px solid rgba(255, 255, 255, 0.26);
}

.imgdescrittiva2--ecografista .avatar-main .immagineecografista {
  background-image: url("/admin/immaginipersonalizzate/cella icona blue light.webp");
  background-color: #8eb2cc;
}

.imgdescrittiva2--ecografista .avatar-main .testo h3 {
  margin: 0 0 2px 0;
  font-size: 17px;
  color: #78dfc4;
}

.imgdescrittiva2--ecografista .avatar-main .testo p {
  margin: 0 !important;
  font-size: 12px;
  line-height: 1.35;
  color: rgba(245, 249, 255, 0.97);
}

.imgdescrittiva2--carousel-feature {
  position: relative;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}

.imgdescrittiva2--carousel-feature::before {
  content: "";
  position: absolute;
  left: 4%;
  top: 6%;
  width: 320px;
  height: 320px;
  background: radial-gradient(circle, rgba(21, 130, 214, 0.14) 0%, rgba(21, 130, 214, 0) 70%);
  pointer-events: none;
  z-index: 0;
}

.imgdescrittiva2--carousel-feature>* {
  position: relative;
  z-index: 1;
}

.imgdescrittiva2--carousel-feature .carousel {
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  background: #f7f9fc;
  border: 1px solid #e0e6f0;
  border-radius: 26px;
  box-shadow: 0 18px 45px rgba(17, 38, 72, 0.12);
  padding: 18px;
  overflow: visible;
}

.imgdescrittiva2--carousel-feature .carousel-panel {
  flex: 0 0 50%;
  width: 50%;
  max-width: 480px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.imgdescrittiva2--carousel-feature .carousel-viewport {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 20px;
  background: #ffffff;
  overflow: hidden;
}

.imgdescrittiva2--carousel-feature .carousel-container {
  width: 100%;
  height: 100%;
  display: flex;
}

.imgdescrittiva2--carousel-feature .carousel-slide {
  flex: 0 0 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.imgdescrittiva2--carousel-feature .carousel-slide img {
  flex: 0 0 auto;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  border-radius: 18px;
  background: #ffffff;
  display: block;
  max-width: 100%;
  max-height: 100%;
}

.imgdescrittiva2--carousel-feature .carousel-navigation {
  left: 0;
  right: 0;
  width: 100%;
  padding: 0 10px;
  z-index: 2;
}

.imgdescrittiva2--carousel-feature .carousel-navigation button {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: rgba(240, 243, 247, 0.9);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(180, 190, 205, 0.6);
  color: #1b2a3a;
  font-size: 18px;
  opacity: 1;
  box-shadow: 0 4px 12px rgba(17, 38, 72, 0.2);
  transition: all 0.2s ease;
}

.imgdescrittiva2--carousel-feature .carousel-navigation button:hover {
  background: rgba(230, 235, 242, 0.95);
  border-color: rgba(160, 175, 195, 0.7);
  box-shadow: 0 6px 16px rgba(17, 38, 72, 0.25);
}

.imgdescrittiva2--carousel-feature .carousel-prev {
  transform: translateX(0);
}

.imgdescrittiva2--carousel-feature .carousel-next {
  transform: translateX(0);
}

.imgdescrittiva2--carousel-feature .testo {
  flex: 1 1 50%;
  max-width: 640px;
}

.imgdescrittiva2--carousel-feature .testo h4 {
  font-size: 34px;
  line-height: 1.2;
}

.imgdescrittiva2--carousel-feature .testo .testov2 p {
  font-size: 16px;
  line-height: 26px;
}

.imgdescrittiva2--carousel-feature .carousel-caption-row {
  display: block;
  width: 100%;
  margin-top: 8px;
  position: static;
}

.imgdescrittiva2--carousel-feature .carousel-caption {
  display: none;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  width: 100%;
  max-width: 100%;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  box-shadow: 0 8px 18px rgba(17, 38, 72, 0.08);
  flex: 1 1 auto;
  box-sizing: border-box;
  position: static;
  left: auto;
  right: auto;
  bottom: auto;
}

.imgdescrittiva2--carousel-feature .carousel-caption.is-active {
  display: flex;
}

.imgdescrittiva2--carousel-feature .carousel-caption__badge {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  flex-shrink: 0;
}

.imgdescrittiva2--carousel-feature .carousel-caption__text {
  font-family: 'Open Sans', helvetica, arial, sans-serif;
  font-size: 12px;
  line-height: 1.3;
  color: #1f2933;
  min-width: 0;
  flex: 1;
  white-space: normal;
  overflow-wrap: break-word;
}

.imgdescrittiva2--carousel-feature .carousel-caption__index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 6px;
  margin: 0 4px;
  border-radius: 999px;
  border: 1px solid #d9e1ec;
  background: #eef2f7;
  font-size: 11px;
  font-weight: 600;
  color: #1f2933;
}

.imgdescrittiva2--carousel-feature .carousel-caption--negative .carousel-caption__badge {
  background: #fee2e2;
  border: 1px solid #fecaca;
  color: #b42318;
}

.imgdescrittiva2--carousel-feature .carousel-caption--positive .carousel-caption__badge {
  background: #dcfce7;
  border: 1px solid #bbf7d0;
  color: #15803d;
}

.imgdescrittiva2--carousel-feature .carousel-viewport .carousel-dots {
  position: absolute;
  right: 14px;
  bottom: 14px;
  display: inline-flex;
  gap: 8px;
  pointer-events: none;
}

.imgdescrittiva2--carousel-feature .carousel-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  border: 1px solid #c7d2e3;
  background: #ffffff;
  opacity: 0.7;
}

.imgdescrittiva2--carousel-feature .carousel-dot.is-active {
  background: #1582d6;
  border-color: #1582d6;
  opacity: 1;
}




@media only screen and (max-width: 768px) {
  .imgdescrittiva2 {
    flex-direction: column;
  }

  .imgdescrittiva2 img,
  video,
  picture {
    width: 100%;
  }

  .imgdescrittiva2 img,
  .imgdescrittiva2 .carousel {
    width: 100%;
  }

  .imgdescrittiva2 .carousel-container {
    width: 100%;
  }

  .imgdescrittiva2 .ctas {
    flex-direction: column;
    width: 100%;
    align-items: center;
  }

  .imgdescrittiva2--ecografista .imgdescrittiva2__media {
    width: 100%;
    flex: 1 1 100%;
    margin-bottom: 92px;
  }

  .imgdescrittiva2--ecografista > .testo {
    width: 100%;
    flex: 1 1 100%;
  }

  .imgdescrittiva2--ecografista .imgdescrittiva2__doctor-banner {
    left: 10px;
    right: 10px;
    bottom: -62px;
    padding: 9px 11px;
  }

  .imgdescrittiva2--ecografista .avatar-main .immaginegastro {
    width: 48px;
    height: 48px;
    min-width: 48px;
  }

  .imgdescrittiva2--ecografista .avatar-main .testo p {
    font-size: 11px;
  }

  .imgdescrittiva2--carousel-feature {
    gap: 24px;
    flex-direction: column-reverse;
  }

  .imgdescrittiva2--carousel-feature::before {
    left: 10%;
    top: 0;
    width: 240px;
    height: 240px;
  }

  .imgdescrittiva2--carousel-feature .carousel-panel {
    width: 100%;
    max-width: 520px;
  }

  .imgdescrittiva2--carousel-feature .carousel-container {
    width: 100%;
  }

  .imgdescrittiva2--carousel-feature .carousel-navigation button {
    width: 32px;
    height: 32px;
    font-size: 16px;
  }

  .imgdescrittiva2--carousel-feature .carousel-caption-row {
    display: block;
  }

  .imgdescrittiva2--carousel-feature .carousel-caption {
    max-width: 100%;
  }

  .imgdescrittiva2--carousel-feature .carousel-viewport .carousel-dots {
    right: 10px;
    bottom: 10px;
  }
}


@media only screen and (min-width: 992px) and (max-width: 1200px) {


  .imgdescrittiva2 img,
  video,
  picture {
    width: 50%;
  }
}


/* ProgettoSaluteDonna */
/* Titolo e AppSection*/

.titolosalutedonna {
  font-size: 3.2rem;
  font-family: Lato, helvetica, arial, sans-serif;
  font-weight: 400;
  color: black;
  margin-top: 200px;
  text-align: center;
}

.appsection2 {
  display: flex;
  flex-direction: row;
  gap: 40px;
  justify-content: center;
}

.headermodern2 {
  font-family: Lato, helvetica, arial, sans-serif;
  font-weight: 900;
  font-size: 35px;
  text-align: left;
  color: black;
  line-height: 1.38;
  flex: 0.7;
}

.appsection2 .testo {
  font-family: 'Roboto Flex', helvetica, arial, sans-serif;
  font-size: 21px;
  line-height: 1.38;
  color: rgb(136, 136, 136);
  font-weight: 500;
  text-align: left;
  max-width: 700px;
  display: inline-block;
  letter-spacing: 0.011em;
  flex: 1;
}

.appsection2 .testo strong {
  color: rgb(37, 37, 37);
  font-weight: 700;
  font-family: 'Roboto Flex', helvetica, arial, sans-serif;
  font-size: 21px;
  line-height: 1.38;
}



@media only screen and (max-width: 768px) {
  .titolosalutedonna {
    font-size: 2.8rem;
    text-align: left;
  }

  .appsection2 {
    flex-direction: column;
    align-items: flex-start;
  }

  .appsection2 .testo {
    font-size: 19px;
    letter-spacing: 0.012em;
    line-height: 1.42;
  }

  .appsection2 .testo strong {
    font-weight: 700;
    font-size: 19px;
    letter-spacing: 0.012em;
    line-height: 1.42;
  }
}


/* ProgettoSaluteDonna */
/* Sezione specialista */

.modernspec {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
  gap: 30px;
  margin-top: 100px;
}

.modernspec .c1 {
  display: flex;
  gap: 10px;
  flex: 1;
}

.modernspec .c1#mobile {
  display: none;
}

.modernspec .c1#desktop {
  display: flex;
}

.modernspec .c1 .img {
  border-radius: 25px;
  background-size: 100% 100%;
  flex: 1.2;
  box-shadow: -10px 10px 10px -10px rgba(0, 0, 0, 0.5);
}

.modernspec .c1 .testo {
  display: flex;
  flex-direction: column;
  gap: 25px;
  flex: 1;
}

.modernspec .c1 .testo .hashtags {
  display: flex;
  flex-direction: row;
  gap: 10px;
}

.modernspec .c1 .testo .hashtags .redone {
  padding: 1px 10px;
  background-color: rgb(41, 41, 41);
  color: white;
  font-size: 12px;
  font-family: Lato, helvetica, arial, sans-serif;
  border-radius: 25px;
  font-weight: 500;
}

.modernspec .c1 .testo .hashtags .hashtag {
  color: #8e8e8e;
  font-family: Lato, helvetica, arial, sans-serif;
  font-size: 13px;
  font-style: italic;
}

.modernspec .c1 .testo h3 {
  font-size: 17px;
  font-weight: 700;
  font-family: Lato, helvetica, arial, sans-serif;
}

.modernspec .c1 .testo .testo2 {
  font-size: 14px;
  font-family: 'Roboto Flex', helvetica, aria, sans-serif;
  color: rgb(119, 119, 119);
  line-height: 1.3;
}

.modernspec .c1 .testo .avatar {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  gap: 10px;
  align-items: center;
  align-content: center;
}

.modernspec .c1 .testo .avatar .testo {
  font-size: 12px;
  font-family: 'Roboto Flex', helvetica, aria, sans-serif;
  color: rgb(124, 124, 124);
  line-height: 1.13;
}


.modernspec .c1 .testo .avatar img {
  vertical-align: middle;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  flex: none;
}


.numeriPS {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  margin-top: 100px;
}

.numeriPS .c1 {
  display: block;
  margin: 1em;
  line-height: 1;
  flex: 1;
  text-align: center;
}

.numeriPS .c1 .numgrosso {
  font-size: 35px;
  font-weight: 900;
  font-family: Lato, helvetica, arial, sans-serif;
  color: black;
}


@media only screen and (min-width: 451px) and (max-width: 900px) {
  .modernspec {
    flex-direction: column;
    justify-content: center;
    gap: 100px;
    max-width: 510px;
    width: 100%;
    align-content: center;
    margin: 100px auto;
  }

  .modernspec .c1 .img {
    flex: 1;
  }
}


@media only screen and (max-width: 450px) {
  .modernspec {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 100px;
    margin-top: 100px;
    padding: 10px;
  }

  .modernspec .c1 {
    gap: 20px;
    flex-direction: column;
  }

  .modernspec .c1#mobile {
    display: flex;
    align-items: center;
  }

  .modernspec .c1#desktop {
    display: none;
  }

  .modernspec .c1 .img {
    width: 100%;
    height: 300px;
    order: 2;
    flex: none;
  }

  .modernspec .c1 .testo#uno {
    display: flex;
    flex-direction: row;
    gap: 25px;
    order: 1;
    align-items: center;
  }

  .modernspec .c1 .testo#due {
    order: 3;
  }

  .modernspec .c1 .testo#tre {
    display: flex;
    flex-direction: row;
    align-items: center;
  }



  .modernspec .c1 .testo .avatar img {
    vertical-align: middle;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    object-fit: cover;
    flex: none;
  }
}


/* ProgettoSaluteDonna */
/* FAQ */

.newfaq {
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 25px;
  border: solid 1px rgb(200, 200, 200);
  padding: 20px;
  width: 100%;
  max-width: 600px;
  margin: 100px auto 0px auto;
}

.newfaq .faq {
  margin: 0 auto 15px auto;
  border-bottom: solid 1px rgb(169 169 169);
  width: 80%;
  padding-bottom: 15px;
  cursor: pointer;
}

.newfaq .titolofaq {
  font-size: 21px;
  font-weight: 200;
  font-family: 'Roboto Flex', helvetica, arial, sans-serif;
  color: black;
  text-align: left;
  display: flex;
  gap: 20px;
}

.faq:last-of-type {
  border-bottom: none;
}

.newfaq .content {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.3s ease, max-height 0.3s ease;
  padding: 0 15px;
}

.newfaq .content p,
li {
  text-align: left;
}

.newfaq .content.open {
  max-height: 1000px;
  padding: 15px;
  opacity: 1;
}

.newfaq .titolofaq .fa-plus {
  transition: transform 0.3s ease;
}

.newfaq .titolofaq .rotate {
  transform: rotate(45deg);
}

@media only screen and (max-width: 550px) {

  .newfaq {
    padding: 20px 0px;
  }

  .newfaq .titolofaq {
    font-size: 18px;
    padding: 5px;
    width: 90%;
  }

  .newfaq .content {
    padding: 0;
  }
}




/* ProgettoSaluteDonna */
/* Breadcrumbs */

.breadcrumbsGinecologia {
  text-align: center;
  width: 100%;
  background-color: #e5e5e5;
  display: flex;
  flex-direction: row;
  justify-content: center;
  padding: 20px 0px;
  align-items: center;
}

.breadcrumbsGinecologia li {
  margin: 0px 7px;
}

@media only screen and (max-width: 500px) {
  .breadcrumbsGinecologia li {
    font-size: 11px;
    margin: 0px 4px;
  }
}




/* ProgettoSaluteDonna */
/* Loghi */

.loghiSalutedonna {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin: 50px auto 0px auto;
  justify-content: center;
}

.loghiSalutedonna .logo {
  max-width: 200px;
  object-fit: fill;
  height: 70px;
}




/* ProgettoSaluteDonna */
/* Bottone Moreinfo */
.moreinfobutton {
  background-color: white;
  color: black;
  border: none;
  padding: 10px 20px;
  font-size: 16px;
  font-family: Arial, sans-serif;
  border-radius: 25px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: background-color 0.3s, transform 0.3s;
  margin: 60px auto;
  width: fit-content;
}

.moreinfobutton.offerte {
  margin: 0px 0px;
  font-size: 14px;
  padding: none;
  background-color: #dfdfdf;
}

.moreinfobutton.articles {
  background-color: #f5f5f7;
  border: none;
  font-size: 13px;
  margin: 10px 0px;
}

.moreinfobutton:hover {
  background-color: #f8f8f8;
  transform: translateY(-2px);
  text-decoration: none;
  color: inherit !important;
}

.moreinfobutton .plus-icon {
  background-color: #007bff;
  color: white;
  border-radius: 50%;
  display: inline-block;
  width: 20px;
  height: 20px;
  text-align: center;
  line-height: 20px;
  font-size: 20px;
  font-weight: bold;
}

.moreinfobutton .plus-icon.articles {
  font-size: 15px;
}

@media only screen and (max-width: 768px) {
  .moreinfobutton {
    justify-content: flex-start;
    margin: 60px 0px;
  }

  .moreinfobutton.articles {
    font-size: 12px;
    margin: 10px 0px;
  }
}




/* ProgettoSaluteDonna */
/* Indice Di Contenuto*/

.tof-psd {
  margin-top: 50px;
  text-align: center;
}

.tof-psd-box {
  max-width: 700px;
  margin: 0 auto;
  padding: 20px;
  border-radius: 25px;
  background-color: #ffffff;
}

.tof-psd-header {
  font-size: 21px;
  margin-bottom: 20px;
  font-family: Lato, helvetica, arial, sans-serif;
  font-weight: 700;
  color: black;
}

.tof-psd-list {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
}

.tof-psd-list li {
  display: block;
  margin-bottom: 10px;
}

.tof-psd-link {
  font-size: 15px;
  color: #083769;
  transition: color 0.3s ease-in-out, text-decoration 0.3s ease-in-out;
  padding-bottom: 2px;
  display: block;
  width: fit-content;
  font-weight: 700;
}

.tof-psd-link2 {
  font-size: 13px;
  color: #007AFF;
  transition: color 0.3s ease-in-out, text-decoration 0.3s ease-in-out;
  padding-bottom: 2px;
  left: 30px;
  position: relative;
  display: block;
  width: fit-content;
}

.tof-psd-link:hover {
  color: #0056b3;
  text-decoration: underline;
  cursor: pointer;
}

.tof-psd-link2:hover {
  color: #0056b3;
  text-decoration: underline;
  cursor: pointer;
}

.tof-psd-link::after {
  padding-left: 4px;
  font-family: "Font Awesome 6 Pro";
  content: "\f054";
  font-weight: 400;
  font-size: 12px;
  text-decoration: none;
}

.tof-psd-link2::after {
  padding-left: 4px;
  font-family: "Font Awesome 6 Pro";
  content: "\f054";
  font-weight: 400;
  font-size: 10px;
  text-decoration: none;
}




/* Ginecologia - Link PSD */

.divlinkPSD {
  display: flex;
  flex-direction: row;
  gap: 20px;
  justify-content: center;
  align-items: center;
  margin: 25px 0px;
}

.divlinkPSD .testo {
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex: 1;
  align-items: flex-start;
}

.divlinkPSD .testo p {
  font-size: 14px;
  line-height: 22px;
  text-align: left;
}

.divlinkPSD img {
  object-fit: fill;
  flex: 1;
  max-width: 49%;
}

@media only screen and (max-width: 500px) {
  .divlinkPSD {
    flex-direction: column;
  }

  .divlinkPSD img {
    height: auto;
    flex: none;
    width: 100%;
    max-width: 300px;

  }
}



/* Casi Clinici */
/* Foto Casi Clinici */

.fotocasoclinico {
  display: flex;
  padding: 30px;
  flex-direction: column;
  gap: 15px;
  width: 100%;
  border-radius: 15px;
  background-color: #f4f4f4;
  margin-top: 30px;
}

.fotocasoclinico .titoli {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 70px;
  align-items: flex-start;
}

.fotocasoclinico .titoli h4 {
  font-size: 20px;
  font-weight: 900;
  font-family: Lato, helvetica, arial, sans-serif;
  text-align: left;
}

.fotocasoclinico .titoli .tag {
  padding: 1px 20px;
  background: linear-gradient(to right, rgb(106, 145, 225), rgb(49, 25, 233));
  color: white;
  font-size: 15px;
  font-family: Lato, helvetica, arial, sans-serif;
  border-radius: 25px;
  font-weight: 900;
}

.fotocasoclinico .testo {
  display: flex;
  flex-direction: row;
  gap: 50px;
  align-items: center;
  justify-content: space-between;

}

.fotocasoclinico .testo p,
.fotocasoclinico .testo ul,
.fotocasoclinico .testo li {
  font-size: 14px;
  line-height: 20px;
  margin-top: 10px;
  text-align: left;
}

.fotocasoclinico .testo li::before {
  content: '';
  position: absolute;
  top: 11px;
  left: 0;
  height: 3px;
  width: 3px;
  background: #000;
}

.fotocasoclinico .testo img {
  width: 90px;
  object-fit: contain;
  border-radius: unset;
  box-shadow: unset;
}

.fotocasoclinico picture {
  width: 70%;
  margin: 0px auto;
}

.fotocasoclinico img {
  object-fit: cover;
  width: 100%;
  border-radius: 15px;
  margin-top: 15px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.382);
}

@media only screen and (max-width: 768px) {
  .fotocasoclinico picture {
    width: 100%;
    margin: unset;
  }

  .fotocasoclinico .testo {
    gap: 20px;
    align-items: flex-start;
  }

}



/* Box TAC3D */

.tac3dbox {
  display: flex;
  flex-direction: column;
  gap: 30px;
  width: 100%;
  border-radius: 15px;
  background-color: #f4f4f4;
  margin-top: 30px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.382);
}

.tac3dbox .testo {
  display: flex;
  flex-direction: column;
  gap: 15px;
  padding: 30px;
}

.tac3dbox .testo h4 {
  font-size: 20px;
  font-weight: 900;
  font-family: Lato, helvetica, arial, sans-serif;
  text-align: left;
}

.tac3dbox .testo p {
  font-size: 14px;
  line-height: 20px;
  margin-top: 10px;
  text-align: left;
}

.tac3dbox img {
  width: 100%;
  object-fit: fill;
}

@media only screen and (min-width: 768px) {

  .tac3dbox {
    flex-direction: row;
  }

  .tac3dbox img {
    object-fit: cover;
    max-width: 48%;
    padding: 30px;
    border-radius: 25px;
  }
}




/* Box Icone Tipo InDesign */

.indesignbox {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  justify-content: center;
}

.indesignbox .c1 {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  padding: 20px;
  border-radius: 20px;
  background-color: #dde8ea;
  flex: 1;
  max-width: 250px;
  min-width: 250px;
}

.indesignbox .c1 img {
  width: 60px;
  height: 60px;
}

.indesignbox .c1 h5 {
  font-weight: 600;
  font-size: 16px;
  font-family: Lato, helvetica, arial, sans-serif;
  text-align: center;
  line-height: 24px;
}

.indesignbox .c1 p {
  font-size: 14px;
  line-height: 22px;
  text-align: center;
}




/* Tecnico Ortopedico */
.multistep {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
}

.multistep .c1 {
  padding: 20px;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  border: solid 1px rgb(181, 181, 181);
}

.multistep .c1 .bannermini {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}


.multistep .c1 .bannermini .circle {
  width: 30px;
  height: 30px;
  background-color: black;
  border-radius: 50%;
  color: white;
  text-align: center;
  line-height: 30px;
  font-size: 15px;
  font-family: Lato, helvetica, Arial, sans-serif;
  margin-top: 0px !important;
}

.multistep .c1 .bannermini .testi {
  display: flex;
  flex-direction: column;
}

.multistep .c1 .bannermini p {
  font-size: 13px;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.multistep .c1 .bannermini .testi .tiny {
  font-size: 12px;

}




/* Overlay VideoTesto */
.overlayvideo-container {
  position: relative;
  max-width: 100%;
  margin: auto;
}

.overlayvideo {
  width: 100%;
  display: block;
}

.quote {
  position: absolute;
  bottom: -20%;
  right: 10%;
  background-color: white;
  padding: 30px;
  border-radius: 20px;
  width: 400px;
  max-width: 80%;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  z-index: 2;
}

.quote p {
  font-size: 14px;
  margin: 0;
  line-height: 22px;
}

@media only screen and (max-width: 768px) {
  .overlayvideo-container {
    height: 80vh;
  }
}




/* Prestazini Offerte */

.prestazioni-offerte {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  margin-top: 40px;
  margin-left: 5px;
  padding-left: 20px;
  border-left: dashed 1px gray;
}


.prestazioni-offerte .c1 {
  padding: 20px;
  border-radius: 15px;
  max-width: 270px;
  overflow: hidden;
  box-shadow: 2px 2px 6px rgba(206, 216, 218, 1);
  position: relative;
  min-height: 320px;
}

.prestazioni-offerte .c1 .circle {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  color: rgb(145, 145, 145);
  text-align: center;
  line-height: 20px;
  font-size: 12px;
  font-family: Lato, helvetica, Arial, sans-serif;
  position: absolute;
  top: 2%;
  right: 2%;
  background-color: rgb(236, 236, 236);
}


.prestazioni-offerte .c1 .cc1 {
  display: flex;
  flex-direction: column;
}

.prestazioni-offerte .c1 .cc1 .testo h5 {

  font-weight: 700;
  font-size: 18px;
  line-height: 30px;
  color: rgb(0, 0, 0);
  margin-top: 0px;
  text-align: left;
  font-family: Lato, Arial, Helvetica, sans-serif;
}

.prestazioni-offerte .c1 p {
  font-size: 14px;
  line-height: 20px;
  color: rgb(90, 90, 90);
  text-align: left;
  margin-top: 25px !important;
}

.prestazioni-offerte .cc1 img {
  width: 55px !important;
  height: 55px !important;
  margin-top: 0px !important;

}

.prestazioni-offerte .c1 .separator-line {
  height: 1px;
  background-color: rgb(34, 54, 62);
  width: 100%;
  margin: 20px 0;
}

.prestazioni-offerte .c1 .info-button {

  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 30px;
  height: 30px;
  border: none;
  background-color: #2b2b2b;
  color: #fff;
  font-size: 24px;
  border-radius: 50%;
  cursor: pointer;
  padding: 0;
  line-height: 1;
}



.prestazioni-offerte .c1 .info-button:hover {
  background-color: #9a9a9a;
  transition: background-color 0.2s;

}




@media only screen and (max-width: 768px) {
  .prestazioni-offerte {
    flex-direction: column;
    align-items: center;
    padding-left: 10px;
  }

  .prestazioni-offerte .c1 {
    width: 90%;
    max-width: 90%;
  }

  .prestazioni-offerte .c1 .info-button {

    position: absolute;
    float: right;
    bottom: 2%;
  }



}



/* Modal DIV per Prestazioni-Offerte */
#mini-modal-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  z-index: 9999;
  justify-content: center;
  align-items: center;
}

#mini-modal-window {
  background-color: #ffffff;
  border-radius: 15px;
  padding: 10px 10px 10px 25px;
  max-width: 700px;
  width: 90%;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
  position: relative;
  overflow-y: auto;
  max-height: 80vh;
}

.mini-modal-header {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  justify-content: flex-end;
  padding-bottom: 25px;
}

#mini-modal-close {
  position: relative;
  top: 0;
  right: 0;
  width: 38px;
  height: 38px;
  background: #222;
  border: none;
  border-radius: 50%;
  color: #fff;
  font-size: 22px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
  z-index: 2;
  line-height: 1;
  padding: 0;
}

#mini-modal-close:hover {
  background: #444;
}

#mini-modal-content {
  font-family: Lato, Helvetica, Arial, sans-serif;
  font-size: 16px;
  color: #333;
  line-height: 1.5;
}

#mini-modal-content .testoimg {
  display: flex;
  align-items: flex-start;
  gap: 40px;
  margin-top: 40px;
}

#mini-modal-content .testoimg>div {
  flex: 1;
}

#mini-modal-content .testoimg picture {
  width: 100%;
  max-width: 700px;
}

/* Eyebrow - Small gray text at top */
#mini-modal-content .modal-eyebrow {
  font-size: 13px;
  font-weight: 500;
  color: #86868b;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 12px;
  font-family: Lato, Helvetica, Arial, sans-serif;
}

#mini-modal-content h2 {
  font-size: 31px;
  margin-bottom: 15px;
  font-weight: 700;
  font-family: Lato, arial, helvetica, sans-serif;
  color: #1d1d1f;
}

#mini-modal-content h3 {
  font-size: 24px;
  font-weight: 700;
  color: #1d1d1f;
  font-family: Lato, Helvetica, Arial, sans-serif;
  margin: 28px 0 16px 0;
  line-height: 1.2;
}

#mini-modal-content p {
  font-size: 17px;
  color: #6e6e73;
  line-height: 1.6;
  margin-bottom: 14px;
}

/* Lead paragraph - Bold black followed by gray text */
#mini-modal-content p.modal-lead {
  font-size: 17px;
  line-height: 1.6;
  margin-bottom: 14px;
}

#mini-modal-content p.modal-lead strong,
#mini-modal-content p strong {
  color: #1d1d1f;
  font-weight: 600;
}

/* Lists with custom bullet styling */
#mini-modal-content ul {
  padding-left: 0;
  margin: 20px auto;
  list-style: none;
  max-width: 700px;
  text-align: left;
}

#mini-modal-content li {
  font-size: 16px;
  color: #6e6e73;
  margin-bottom: 10px;
  text-align: left;
  padding-left: 24px;
  position: relative;
  line-height: 1.4;
}

#mini-modal-content li::before {
  content: "•";
  position: absolute;
  left: 8px;
  color: #6e6e73;
  font-size: 18px;
  line-height: 1.4;
  top: 0;
  background: none;
  height: auto;
  width: auto;
}

#mini-modal-content li strong {
  color: #6e6e73;
  font-weight: 600;
}

/* Footnote text - Small gray text at bottom */
#mini-modal-content .modal-footnote {
  font-size: 13px;
  color: #86868b;
  line-height: 1.5;
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid #d2d2d7;
}

/* Image container for modal images */
#mini-modal-content .modal-image {
  margin: 24px 0;
  border-radius: 12px;
  overflow: hidden;
}

#mini-modal-content .modal-image img {
  width: 100%;
  height: auto;
  display: block;
}

/* Small links at bottom of modal */
#mini-modal-content .modal-small-link {
  font-size: 14px;
  color: #0071e3;
  text-decoration: none;
  display: inline-block;
  margin-top: 8px;
  transition: color 0.2s ease;
}

#mini-modal-content .modal-small-link:hover {
  color: #0077ed;
  text-decoration: underline;
}

#mini-modal-content .multilink {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 10px;
}

#mini-modal-content .multilink .ctas {
  width: 100%;
  max-width: 300px;
  border-radius: 15px;
  position: relative;
  background-size: 100% 100%;
  height: 300px;
  margin-top: 20px;
  margin-bottom: 0px;

}

/* Mobile responsive adjustments for mini-modal-content */
@media (max-width: 768px) {
  #mini-modal-content .testoimg {
    flex-direction: column;
  }
}

/* ============================================
   BENTOBOX-SPECIFIC MODAL STYLES
   (Separate from general mini-modal-content)
   ============================================ */

/* Bentobox Modal Overlay */
#bentobox-modal-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  z-index: 9999;
  justify-content: center;
  align-items: center;
}

#bentobox-modal-window {
  background-color: #ffffff;
  border-radius: 15px;
  padding: 10px 10px 10px 25px;
  max-width: 700px;
  width: 90%;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
  position: relative;
  overflow-y: auto;
  max-height: 80vh;
}

.bentobox-modal-header {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  justify-content: flex-end;
  padding-bottom: 25px;
}

#bentobox-modal-close {
  position: relative;
  top: 0;
  right: 0;
  width: 38px;
  height: 38px;
  background: #222;
  border: none;
  border-radius: 50%;
  color: #fff;
  font-size: 22px;
  cursor: pointer;
  transition: background-color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

#bentobox-modal-close:hover {
  background-color: #444;
}

/* Bentobox Modal Content */
#bentobox-modal-content .testoimg {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  justify-content: center;
  margin-top: 40px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

#bentobox-modal-content .testoimg>div {
  padding: 0 40px 56px;
  text-align: left;
}

#bentobox-modal-content .testoimg picture {
  width: 100%;
  max-width: 700px;
}

/* Eyebrow - Small gray text at top */
#bentobox-modal-content .modal-eyebrow {
  font-size: 13px;
  font-weight: 500;
  color: #86868b;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 12px;
  font-family: Lato, Helvetica, Arial, sans-serif;
  text-align: left;
  padding-left: 40px;
}

#bentobox-modal-content h2 {
  font-size: 31px;
  margin-bottom: 15px;
  font-weight: 700;
  font-family: Lato, arial, helvetica, sans-serif;
  text-align: left;
  color: #1d1d1f;
}

#bentobox-modal-content h3 {
  font-size: 24px;
  font-weight: 700;
  color: #1d1d1f;
  font-family: Lato, Helvetica, Arial, sans-serif;
  margin: 28px 0 16px 0;
  line-height: 1.2;
  text-align: left;
}

#bentobox-modal-content p {
  font-size: 17px;
  color: #86868b;
  line-height: 1.4;
  margin-bottom: 14px;
  text-align: left;
}

/* Lead paragraph - Bold gray same as text */
#bentobox-modal-content p.modal-lead {
  font-size: 17px;
  line-height: 1.4;
  margin-bottom: 14px;
}

#bentobox-modal-content p.modal-lead strong,
#bentobox-modal-content p strong {
  color: #1d1d1f;
  font-weight: 600;
}

/* Lists with custom bullet styling */
#bentobox-modal-content ul {
  padding-left: 0;
  margin: 20px auto;
  list-style: none;
  max-width: 700px;
  text-align: left;
}

#bentobox-modal-content li {
  font-size: 16px;
  color: #86868b;
  margin-bottom: 10px;
  text-align: left;
  padding-left: 24px;
  position: relative;
  line-height: 1.4;
}

#bentobox-modal-content li::before {
  content: "•";
  position: absolute;
  left: 8px;
  color: #86868b;
  font-size: 18px;
  line-height: 1.4;
  top: 0;
}

#bentobox-modal-content li strong {
  color: #1d1d1f;
  font-weight: 600;
}

/* Footnote text - Small gray text at bottom */
#bentobox-modal-content .modal-footnote {
  font-size: 13px;
  color: #86868b;
  line-height: 1.5;
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid #d2d2d7;
  text-align: left;
}

/* Image container for modal images */
#bentobox-modal-content .modal-image {
  margin: 24px 0;
  border-radius: 12px;
  overflow: hidden;
}

#bentobox-modal-content .modal-image img {
  width: 100%;
  height: auto;
  display: block;
}

/* Small links at bottom of modal */
#bentobox-modal-content .modal-small-link {
  font-size: 14px;
  color: #0071e3;
  text-decoration: none;
  display: inline-block;
  margin-top: 8px;
  transition: color 0.2s ease;
}

#bentobox-modal-content .modal-small-link:hover {
  color: #0077ed;
  text-decoration: underline;
}

/* CTA Links - Simple gray links at bottom */
#bentobox-modal-content .modal-cta-links {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 30px;
  padding-left: 40px;
}

#bentobox-modal-content .modal-cta-link {
  font-size: 15px;
  color: #86868b;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color 0.2s ease;
}

#bentobox-modal-content .modal-cta-link:hover {
  color: #1d1d1f;
}

#bentobox-modal-content .modal-cta-link .fa-chevron-right {
  font-size: 12px;
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
  #bentobox-modal-content .testoimg {
    flex-direction: column;
    padding: 0;
  }

  #bentobox-modal-content .testoimg>div {
    padding: 0 20px 40px;
  }

  #bentobox-modal-content h2 {
    font-size: 26px;
  }

  #bentobox-modal-content h3 {
    font-size: 21px;
  }

  #bentobox-modal-content p {
    font-size: 16px;
  }

  #bentobox-modal-content .modal-eyebrow {
    padding-left: 20px;
  }

  #bentobox-modal-content .modal-cta-links {
    padding-left: 20px;
  }
}

#mini-modal-content .multilink .ctas .c1 {
  position: absolute;
  bottom: 10px;
}

#mini-modal-content .ctas {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  margin-top: 40px;
  margin-bottom: 50px;

}

#mini-modal-content .ctas .c1 {
  display: flex;
  flex-direction: row;
  gap: 15px;
  cursor: pointer;
  transition: opacity 0.5s ease-in-out;
  padding: 10px 15px;
  border-radius: 25px;
  border: solid 1px black;
}


#mini-modal-content .ctas .c1:hover {
  opacity: 0.5;
}

#mini-modal-content .ctas .c1:nth-child(2):hover {
  transform: none !important;
  opacity: 1 !important;
}





@media only screen and (max-width: 768px) {

  #mini-modal-window {
    height: 80vh;
    width: 90%;
  }

  #mini-modal-content .testoimg {
    flex-direction: column;
    gap: 20px;
  }

  #mini-modal-content .testoimg>div {
    padding: 0 20px;
  }

  #mini-modal-content .testoimg picture {
    width: 100%;
    max-width: 100%;
  }
}



/* Sezione Scopi/Patologie */

.scopes {
  display: flex;
  flex-direction: column;
  gap: 25px;
  margin: 20px 0px;
}

.scopes .c1 {
  background-color: #f4f4f4;
  width: 98%;
  border-radius: 25px;
  padding: 20px 15px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 20px;
}

.scopes .c1 .testo {
  display: flex;
  flex-direction: column;
  gap: 15px;
  flex: 1;
}

.scopes .c1 .testo h5 {
  font-size: 20px;
  font-family: Lato, helvetica, arial, sans-serif;
  font-weight: 700;
}

.scopes .c1 .testo p {
  font-family: 'Open Sans', helvetica, arial, sans-serif;
  font-size: 15px;
  line-height: 24px;
  font-weight: 400;
}

.scopes .c1 .separator-line {
  height: 1px;
  background-color: rgb(108, 108, 108);
  width: 100%;
  margin: 20px 0;
}

.scopes .c1 img {
  object-fit: contain;
  width: 100%;
  height: 230px;
  flex: 1;
}


@media only screen and (max-width: 768px) {
  .scopes .c1 {
    flex-direction: column;
  }
}




/* OFFERTE SBIANCAMENTO */

.offerta-sbiancamento {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 25px;
}

.offerta-sbiancamento .childmain {
  display: flex;
  flex-direction: column;
  gap: 30px;
  background-color: white;
  border-radius: 20px;
  padding: 20px;

}

.offerta-sbiancamento .child1 {
  display: flex;
  justify-content: space-between;
  max-width: 550px;
  width: 100%;
  gap: 15px;
}

.offerta-sbiancamento .child1 .testo {
  display: flex;
  flex-direction: column;
  gap: 15px;
  flex: 1.3;
}

.offerta-sbiancamento .child1 .testo h5 {
  font-family: Lato, helvetica, arial, sans-serif;
  font-weight: 700;
  text-align: left;
  font-size: 18px;
}

.offerta-sbiancamento .child1 picture {
  max-width: 50%;
  flex: 1;
  max-height: 230px;
}

.offerta-sbiancamento .child1 .immagine {
  height: 100%;
}

.offerta-sbiancamento .childmain .hidden-info {
  display: none;
  background-color: white;
  padding: 20px;
  border-top: 1px solid #ddd;
  transition: max-height 1s ease-out;
  max-width: 550px;
  width: 100%;
}

.offerta-sbiancamento .childmain .hidden-info.active {
  display: block;
  max-height: fit-content;
}


@media only screen and (max-width: 599px) {
  .offerta-sbiancamento .child1 picture {
    max-height: 340px;
  }
}

.additional-info {
  text-align: center;
  font-size: 14px;
  color: rgb(136, 136, 136);
  margin: 20px auto 0px auto;
  max-width: 300px;
  font-style: italic;
  display: block;
}




/* New CTA */

.newcta {
  padding: 20px;
  border-radius: 15px;
  box-shadow: 5px 5px 10px rgba(116, 116, 116, 0.322);
  display: flex;
  flex-direction: column;
  gap: 80px;
  max-width: 450px;
  margin-right: auto;
  margin-left: auto;
}

.newcta .firstrow {
  display: flex;
  gap: 10px;
  align-items: center;
}

.newcta .firstrow .circle {
  width: 10px;
  height: 10px;
  background-color: rgb(255, 136, 0);
  border-radius: 50%;
  vertical-align: middle;
}

.newcta .firstrow .testo {
  text-transform: uppercase;
  letter-spacing: 3px;
  font-size: 13px;
}


.newcta .secondrow {
  display: flex;
  width: 100%;
  justify-content: center;
  gap: 20px;
  align-items: flex-start;
  padding-bottom: 20px;
  border-bottom: dashed 1px gray;
  padding-top: 20px;
  border-top: dashed 1px gray;
}

.newcta .secondrow img {
  border-radius: 15px;
  object-fit: fill;
  width: 70px;
}

.newcta .secondrow h5 {
  font-family: 'Lora', helvetica, arial, sans-serif;
  font-size: 17px;
  color: black;
  line-height: 30px;
  text-align: left;
}


.newcta .ctas {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.newcta .ctas .bottonee {
  max-width: 250px;
  border-radius: 30px;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  gap: 20px;
  width: fit-content;
  padding: 10px 20px;
  cursor: pointer;
  transition: opacity 0.5s ease-in-out;
  align-items: center;
  flex: 1;
}

.newcta .ctas .bottonee:hover {
  opacity: 0.5;
}

@media only screen and (max-width: 480px) {
  .newcta .ctas {
    flex-direction: column;
    align-items: center;
  }

  .newcta .ctas .bottonee {
    padding: 10px 30px;
    width: 90%;
    max-width: none;
    justify-content: center;
  }


  .newcta .secondrow .h5 {
    font-size: 17px;
  }
}




/* BentoBox - Full-width breakout overriding style.css constraints */

/* High specificity selector to override .container-flex .col__inner > * rules */
/* Note: -37vw accounts for col-lg-8 width + container padding + gutters */
.container-flex .col__inner>.bentoparent,
.col__inner>.bentoparent,
.bentoparent {
  max-width: none !important;
  width: 100vw !important;
  margin-left: calc(-1 * var(--content-left)) !important;
  margin-right: 0 !important;
  margin-top: 100px;
  margin-bottom: 0;
  padding: 15px 0;
  box-sizing: border-box;
  position: relative;
  z-index: 10;
}

/* Firefox overflow fix for parent column */
.firefox .container-flex .row>[class*='col'] {
  overflow: visible !important;
}

.bentoparent .c1 {
  padding: 20px;
  border-radius: 20px;
  background-color: #f4f4f4;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.bentoparent .c1 img {
  width: 100%;
}

.bentoparent .c1 .testo {
  font-family: Lato, helvetica, arial, sans-serif;
  font-size: 23px;
  text-align: center;
}



.bentobox-container {
  position: relative;
  width: 100%;
  overflow: visible;
}

.bentobox {
  display: flex;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  gap: 15px;
  padding: 20px 40px;
  padding-left: var(--content-left);
  scroll-padding-left: var(--content-left);
}


.bentobox::-webkit-scrollbar {
  display: none;
}

.bentobox-item {
  flex: 0 0 auto;
  max-width: 372px;
  aspect-ratio: 9 / 18;
  width: 90%;
  margin-right: 10px;
  display: flex;
  flex-direction: column;
  align-items: left;
  background-size: 100% 100%;
  padding: 20px;
  border-radius: 20px;
  background-color: #f4f4f4;
  gap: 15px;
  position: relative;
  transition: transform 0.2s;
}

/* Removed hover effect on bentobox cards */

.bentobox-item .testo1 {
  font-family: Lato, helvetica, arial, sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2353641176;
  letter-spacing: -0.022em;

}

.bentobox-item .testo2 {
  font-family: Lato, helvetica, arial, sans-serif;
  font-size: 28px;
  font-weight: 900;
  line-height: 1.1428571429;
  letter-spacing: .007em;
}

.bentobox-item .info-button {
  position: absolute;
  bottom: 15px;
  right: 15px;
  width: 50px;
  height: 50px;
  min-width: 50px;
  border: none;
  background-color: #007BFF;
  color: transparent;
  color: #fff;
  font-size: 0;
  font-weight: 700;
  border-radius: 50%;
  cursor: pointer;
  padding: 0;
  line-height: 1;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  transition: none;
  z-index: 10;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  box-sizing: border-box;
}

.bentobox-item .info-button .info-plus {
  display: block;
  font-size: 24px;
  font-weight: 800;
  color: #fff;
  line-height: 1;
}

.bentobox-item .info-button .info-label {
  display: block;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  opacity: 0;
  max-width: 0;
  overflow: hidden;
}

.bentobox-item .info-button:hover {
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
}

.no-waapi .bentobox-item .info-button {
  transition: width 0.32s cubic-bezier(0.23, 1, 0.32, 1), padding 0.32s cubic-bezier(0.23, 1, 0.32, 1), gap 0.22s ease, border-radius 0.32s cubic-bezier(0.23, 1, 0.32, 1);
}

.no-waapi .bentobox-item .info-button:hover {
  width: 108px;
  padding: 0 12px;
  border-radius: 24px;
  gap: 6px;
  justify-content: flex-start;
}

.no-waapi .bentobox-item .info-button:hover .info-label {
  opacity: 1;
  max-width: 90px;
}



.bentobox-navigation {
  position: relative;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 12px;
  padding-right: 28px;
}

.bentobox-arrow {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid #d2d2d7;
  background-color: #ffffff;
  color: #1d1d1f;
  font-size: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.bentobox-arrow:hover {
  background-color: #f5f5f7;
  border-color: #b8b8bd;
  transform: scale(1.05);
}

.bentobox-arrow:active {
  transform: scale(0.95);
}

@media only screen and (max-width: 768px) {
  .bentobox-navigation {
    padding-right: 15px;
    gap: 10px;
  }

  .bentobox-arrow {
    width: 36px;
    height: 36px;
    font-size: 14px;
  }
}


.bentobox-modal-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.bentobox-modal-overlay.show {
  display: flex;
}

.bentobox-modal-window {
  background-color: #fff;
  border-radius: 10px;
  max-width: 1000px;
  width: 100%;
  position: relative;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
  height: 100%;
  top: 20px;
  overflow-y: auto;
}

.bentobox-modal-overlay.show .bentobox-modal-window {
  opacity: 1;
}

.bentobox-modal-content-inner {
  text-align: center;
  padding: 20px 30px;
}

.bentobox-modal-header {
  margin-top: 0;
  font-size: 24px;
  font-weight: bold;
}

.bentobox-modal-subtitle {
  color: #666;
  font-size: 18px;
  margin-bottom: 15px;
}

.bentobox-modal-description {
  margin-top: 15px;
  color: #333;
  font-size: 16px;
}

.bentobox-modal-image {
  max-width: 100%;
  height: auto;
  margin-top: 20px;
  border-radius: 5px;
}

.bentobox-modal-close {
  position: sticky;
  top: 20px;
  align-self: flex-end;
  margin: 10px;
  width: 40px;
  height: 40px;
  background-color: gray;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  color: #fff;
  font-size: 24px;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  float: right;
}

.bentobox-modal-close:hover {
  background-color: darkgray;
}


@keyframes bentoboxFadeIn {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.bentobox-modal-window {
  animation: bentoboxFadeIn 0.3s ease;
}

/* Responsive adjustments for bentobox */
@media only screen and (max-width: 768px) {

  .container-flex .col__inner>.bentoparent,
  .col__inner>.bentoparent,
  .bentoparent {
    /* Reset full-width breakout on mobile */
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 60px;
    padding: 15px;
  }

  .bentobox {
    padding: 20px 15px;
    /* Less padding on mobile */
    scroll-padding-left: 15px;
  }

  .bentobox-navigation {
    padding-right: 15px;
    /* Less padding on mobile */
  }
}

/* Icone Avatar per sezione multi specialisti */

.avatar-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  max-width: 600px;
  margin: 20px 0px;
}

.avatar-wrapper .avatar-icons {
  display: flex;
  align-items: center;
  --avatar-size: 44px;
  --overlap: 0.2;
}

.avatar-wrapper .avatar-icons .avatar {
  width: var(--avatar-size);
  height: var(--avatar-size);
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid white;
  flex-shrink: 0;
}

.avatar-wrapper .avatar-icons .avatar+.avatar {
  margin-left: calc(-1 * var(--avatar-size) * var(--overlap));
}

.avatar-wrapper .avatar-icons .avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.avatar-wrapper .avatar-header {
  font-size: 20px;
  font-weight: 600;
  font-family: Lato, helvetica, arial, sans-serif;
  text-align: left;
  flex-shrink: 0;
}

@media (min-width: 769px) {
  .avatar-wrapper {
    flex-direction: row;
    justify-content: flex-start;
  }

  .avatar-wrapper .avatar-header {
    text-align: left;
  }
}

@media (max-width: 768px) {
  .avatar-wrapper {
    flex-direction: column-reverse;
    align-items: flex-start;
  }

  .avatar-wrapper .avatar-header {
    margin-top: 0.5rem;
  }
}




/* Table di contenuto */

.table-scroll {
  overflow-x: auto;
  margin: 1.5rem 0;
  border: solid 1px #e3e9ff;
  border-radius: 15px;
}

.esami-trimestre {
  border-collapse: collapse;
  min-width: 600px;
  width: 100%;
  background: #fff;
  overflow: hidden;
}

.esami-trimestre th,
.esami-trimestre td {
  border-right: 1px solid #e3e9ff;
  padding: 1rem;
  text-align: left;
  vertical-align: top;
  font-size: 14px;
}

.esami-trimestre th {
  background: #e6f7f7;
  font-weight: bold;
  font-size: 14px;
}

/* Apple-like style for responsive diagnostic tables (scoped) */
.table-responsive--apple {
  position: relative;
  margin: 22px 0 28px;
  border-radius: 18px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 250, 253, 0.98) 100%);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.85) inset,
    0 12px 30px -22px rgba(15, 23, 42, 0.55),
    0 30px 55px -38px rgba(15, 23, 42, 0.45);
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

.table-responsive--apple::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  pointer-events: none;
  background: linear-gradient(90deg, #a8d7ff 0%, #7fb6ff 35%, #89e4d6 100%);
  opacity: 0.8;
}

.table-responsive--apple > .table {
  margin-bottom: 0;
  min-width: 760px;
  border-collapse: separate;
  border-spacing: 0;
  background: transparent;
}

.table-responsive--apple > .table.table-bordered,
.table-responsive--apple > .table.table-bordered > thead > tr > th,
.table-responsive--apple > .table.table-bordered > tbody > tr > td {
  border: 0 !important;
}

.table-responsive--apple > .table > thead > tr > th {
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.95) 0%, rgba(241, 245, 249, 0.95) 100%);
  border-bottom: 1px solid rgba(148, 163, 184, 0.28) !important;
  color: #0f172a;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 15px 18px 14px;
  white-space: nowrap;
}

.table-responsive--apple > .table > thead > tr > th + th,
.table-responsive--apple > .table > tbody > tr > td + td {
  border-left: 1px solid rgba(203, 213, 225, 0.45) !important;
}

.table-responsive--apple > .table > tbody > tr > td {
  padding: 14px 18px;
  color: #334155;
  font-size: 14px;
  line-height: 1.55;
  vertical-align: top;
  transition: background-color 0.24s ease, color 0.24s ease;
}

.table-responsive--apple > .table > tbody > tr:nth-child(odd) > td {
  background: rgba(255, 255, 255, 0.9);
}

.table-responsive--apple > .table > tbody > tr:nth-child(even) > td {
  background: rgba(248, 250, 252, 0.84);
}

.table-responsive--apple > .table > tbody > tr + tr > td {
  border-top: 1px solid rgba(226, 232, 240, 0.85) !important;
}

.table-responsive--apple > .table > tbody > tr:hover > td {
  background: rgba(239, 246, 255, 0.92);
  color: #0f172a;
}

.table-responsive--apple > .table > tbody > tr > td strong {
  color: #0f172a;
  font-weight: 700;
}

@media (max-width: 768px) {
  .table-responsive--apple {
    margin: 18px 0 22px;
    border-radius: 14px;
  }

  .table-responsive--apple > .table {
    min-width: 640px;
  }

  .table-responsive--apple > .table > thead > tr > th {
    padding: 12px 14px;
    font-size: 11px;
  }

  .table-responsive--apple > .table > tbody > tr > td {
    padding: 12px 14px;
    font-size: 13px;
  }
}

@media (max-width: 600px) {

  .table-scroll-fade {
    position: relative;
    width: 100%;
  }

  .table-fade-right {
    position: absolute;
    top: 0;
    right: 0;
    width: 32px;
    height: 100%;
    pointer-events: none;
    z-index: 10;
    background: linear-gradient(to left, #ffffff 70%, rgba(255, 255, 255, 0));
  }

  .esami-trimestre th,
  .esami-trimestre td {
    font-size: 14px;
    padding: 0.75rem;
  }
}




/* Floating CTA Header ------------------------------------------------------ */
.floating-cta-bar {
  position: fixed;
  top: 14px;
  left: 50%;
  transform: translateX(-50%) translateY(-20px);
  opacity: 0;
  pointer-events: none;
  z-index: 1400;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 14px 8px 18px;
  border-radius: 25px;
  background: rgba(255, 255, 255, 0.715);
  -webkit-backdrop-filter: blur(18px) saturate(190%);
  backdrop-filter: blur(18px) saturate(190%);
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow:
    0 3px 8px -2px rgba(0, 0, 0, 0.10),
    0 10px 26px -8px rgba(0, 0, 0, 0.18),
    0 0 0 1px rgba(255, 255, 255, 0.5) inset,
    0 0 0 1px rgba(0, 0, 0, 0.06);
  transition: opacity .40s cubic-bezier(.4, .2, .2, 1),
    transform .40s cubic-bezier(.4, .2, .2, 1);
  max-width: min(1100px, 98vw);
  width: 100%;
  font-family: Lato, Helvetica, Arial, sans-serif;
}

.floating-cta-bar__main {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1 1 auto;
}

.floating-cta-bar__info {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.floating-cta-bar__title-wrap {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.floating-cta-bar__title {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.floating-cta-bar__title--compressed {
  line-height: 1.1;
}

/* Row that groups breadcrumb + chapter (desktop inline, mobile compact) */
.floating-cta-bar__meta {
  order: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  min-width: 0;
  width: 100%;
}

@media (min-width: 541px) {
  .floating-cta-bar__meta {
    flex-direction: row;
    align-items: center;
    gap: 10px;
  }

  .floating-cta-bar__meta-sep {
    display: inline-block;
    color: rgba(0, 0, 0, 0.25);
    font-size: 14px;
  }
}

/* Current chapter indicator (from table of contents) */
.floating-cta-bar__chapter {
  order: 1;
  /* chapter after crumbs (right) */
  display: block;
  margin: 0;
  /* inline with crumbs */
  font-size: 12px;
  line-height: 1.15;
  color: #111;
  max-width: 100%;
  flex: 0 0 auto;
  /* keep to the right, no shrink */
  white-space: nowrap;
  opacity: 1;
  transform: translateY(0);
  transition: opacity .28s ease, transform .28s ease;
}

.floating-cta-bar:not(.floating-cta-bar--chapters-ready) .floating-cta-bar__chapter {
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
}

.floating-cta-bar__chapter-viewport {
  position: relative;
  height: 18px;
  overflow: hidden;
  display: inline-grid;
  /* keeps intrinsic width from content */
  align-items: center;
}

.floating-cta-bar__chapter-track {
  display: grid;
  /* overlap items while preserving width */
  grid-auto-rows: 18px;
  align-items: center;
}

.floating-cta-bar__chapter-item {
  grid-area: 1 / 1;
  /* stack items */
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 18px;
  line-height: 18px;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .28s ease, transform .28s ease;
}

.floating-cta-bar__chapter-item.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.floating-cta-bar__chapter-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #dff1e3;
  /* light green background */
  color: #1b5e20;
  /* darker green number */
  font-weight: 800;
  font-size: 11px;
  /* compact number */
  line-height: 1;
}

.floating-cta-bar__chapter-text {
  color: #111;
  font-weight: 500;
}


.floating-cta-bar.is-visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

.floating-cta-bar__title {
  font-size: 22px;
  /* larger by default when no chapter */
  font-weight: 600;
  line-height: 1.15;
  color: #111;
  max-width: 52ch;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  word-break: break-word;
  hyphens: auto;
  margin: 0;
  font-family: Lato, helvetica, arial, sans-serif;
}

.floating-cta-bar__actions {
  display: flex;
  gap: 8px;
  margin-left: auto;
  align-items: center;
  transition: opacity .25s ease, transform .25s ease, visibility 0s linear 0s;
}

.floating-cta-bar__actions.is-hidden-by-cta {
  opacity: 0;
  transform: scale(0.92);
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
}

/* Breadcrumb nell'floating header*/
.floating-cta-bar__crumb {
  order: 0;
  /* breadcrumb first (left) */
  display: block;
  margin: 2px 0 0;
  font-size: 11px;
  line-height: 1.15;
  font-weight: 400;
  letter-spacing: .5px;
  text-transform: lowercase;
  color: #6f6f6f;
  /* lighter for non-selected */
  overflow: hidden;
  /* impedisce aumento in altezza */
  max-width: 100%;
  position: relative;
  flex: 0 1 auto;
  /* don't grow; allow shrink */
  min-width: 0;
  /* allow shrinking without overflow */
}

.floating-cta-bar__crumb ol {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: nowrap;
  /* no ritorni a capo */
  align-items: center;
  gap: 4px;
  min-width: 0;
}

.floating-cta-bar__crumb li {
  display: flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
  flex: 0 0 auto;
}

.floating-cta-bar__crumb li.current {
  flex: 1 1 auto;
  /* solo l’ultimo può comprimersi */
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 400;
  color: #4685c5;
  /* current page highlight: light blue */
}

.floating-cta-bar__crumb .sep {
  opacity: .55;
  flex: 0 0 auto;
  padding: 0 2px;
}

.floating-cta-bar__crumb a {
  color: #6f6f6f;
  /* non-selected breadcrumb links */
  text-decoration: none;
  position: relative;
  z-index: 1;
  outline: none;
  font-weight: 400;
}

.floating-cta-bar__crumb a:hover,
.floating-cta-bar__crumb a:focus-visible {
  text-decoration: underline;
}

@media (max-width:540px) {
  .floating-cta-bar__crumb {
    display: none !important;
  }

  .floating-cta-bar__meta {
    gap: 0;
    /* only chapter remains */
  }

  .floating-cta-bar__chapter {
    font-size: 11px;
  }

  .floating-cta-bar__chapter-item,
  .floating-cta-bar__chapter-viewport {
    height: 16px;
    line-height: 16px;
  }

  .floating-cta-bar__chapter-badge {
    width: 16px;
    height: 16px;
    font-size: 10px;
    border-width: 2px;
  }
}

/* Pulsanti base */
.floating-cta-bar__btn {
  --btn-bg: #f5f5f7;
  --btn-cl: #111;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.05;
  padding: 7px 14px 8px;
  border-radius: 22px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  color: var(--btn-cl);
  background: var(--btn-bg);
  text-decoration: none;
  cursor: pointer;
  transition: background .25s, border-color .25s, box-shadow .25s, filter .25s;
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
}

.floating-cta-bar__btn:focus-visible {
  outline: 2px solid #0a84ff;
  outline-offset: 2px;
}

.floating-cta-bar__btn:hover {
  background: #ffffff;
  border-color: rgba(0, 0, 0, 0.18);
}

.floating-cta-bar__btn:active {
  filter: brightness(.92);
}

/* Variante primaria (Chiamata) */
.floating-cta-bar__btn--primary {
  --btn-bg: linear-gradient(145deg, #0A84FF, #0071e3);
  --btn-cl: #fff;
  border: 1px solid rgba(0, 0, 0, 0.15);
}

.floating-cta-bar__btn--primary:hover {
  filter: brightness(1.06);
}

.floating-cta-bar__btn--primary:active {
  filter: brightness(.90);
}

/* Variante ghost (Messaggio) */
.floating-cta-bar__btn--ghost {
  --btn-bg: rgba(255, 255, 255, 0);
  --btn-cl: #111;
  background: var(--btn-bg);
  border: 1px solid #6e6e6e;
}

.floating-cta-bar__btn--ghost:hover {
  background: rgba(0, 0, 0, 0.04);
}

.floating-cta-bar__btn--ghost:active {
  background: rgba(0, 0, 0, 0.07);
}

.floating-cta-bar__btn svg {
  width: 14px;
  height: 14px;
  display: block;
}

/* Compattezza automatica se spazio ridotto */
.floating-cta-bar--narrow .floating-cta-bar__title {
  max-width: 32ch;
}

@media (max-width: 540px) {
  .floating-cta-bar {
    padding: 8px 8px 8px 2px;
  }

  .floating-cta-bar__info {
    gap: 1px;
  }

  .floating-cta-bar__title {
    font-size: 18px;
    max-width: 34ch;
    display: block;
    width: 100%;
    transition: transform .35s cubic-bezier(.4, .2, .2, 1);
  }

  .floating-cta-bar__main {
    transition: padding .35s cubic-bezier(.4, .2, .2, 1);
    padding-left: 10px;
  }

  .floating-cta-bar__meta {
    transition: opacity .32s cubic-bezier(.4, .2, .2, 1), max-height .32s cubic-bezier(.4, .2, .2, 1), transform .32s cubic-bezier(.4, .2, .2, 1), margin .32s cubic-bezier(.4, .2, .2, 1);
  }

  .floating-cta-bar:not(.floating-cta-bar--chapters-ready) .floating-cta-bar__meta {
    max-height: 0;
    opacity: 0;
    transform: translateY(-10px);
    margin: 0;
    overflow: hidden;
    pointer-events: none;
  }

  .floating-cta-bar.floating-cta-bar--chapters-ready .floating-cta-bar__title {
    transform: translateY(0);
  }

  .floating-cta-bar.floating-cta-bar--chapters-ready .floating-cta-bar__meta {
    max-height: 80px;
    opacity: 1;
    transform: translateY(0);
    margin-top: 2px;
  }

  .floating-cta-bar--narrow .floating-cta-bar__title {
    max-width: 26ch;
  }

  .floating-cta-bar__btn {
    font-size: 11.5px;
    padding: 6px 12px 7px;
  }

  .floating-cta-bar__btn svg {
    width: 13px;
    height: 13px;
  }

  /* hide text label for message on mobile */
  .floating-cta-bar__btn--ghost .btn-label {
    display: none;
  }

  .floating-cta-bar__btn--icon {
    padding: 6px 10px 7px;
  }

  .floating-cta-bar__btn--message {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    color: #2c313d;
    background: none;
    border-color: rgba(0, 0, 0, 0.748);
    box-shadow: none;
    padding: 6px;
    border-radius: 999px;
  }

  .floating-cta-bar__btn--message .btn-label {
    display: none !important;
  }

  .floating-cta-bar__btn--message i {
    font-size: 1.1rem;
    line-height: 1;
  }
}

/* Desktop: tighter spacing between title and meta row */
@media (min-width: 541px) {
  .floating-cta-bar__main {
    gap: 2px;
  }

  .floating-cta-bar__crumb {
    margin-top: 0;
  }

  .floating-cta-bar__meta {
    gap: 4px;
  }

  .floating-cta-bar__crumb,
  .floating-cta-bar__crumb ol,
  .floating-cta-bar__crumb li,
  .floating-cta-bar__chapter {
    line-height: 1;
  }
}

/* Desktop: tighter spacing between title and breadcrumb/chapter */
@media (min-width: 541px) {
  .floating-cta-bar__main {
    gap: 6px;
  }

  .floating-cta-bar__crumb {
    margin-top: 0;
  }

  .floating-cta-bar__meta {
    gap: 4px;
  }
}

/* visual separator between crumbs and chapter on desktop */
.floating-cta-bar__meta-sep {
  opacity: .45;
  margin: 0 6px;
  display: inline-block;
  width: 0;
  /* draw a thin vertical rule */
  height: 12px;
  /* compact height */
  border-left: 1px solid rgba(0, 0, 0, .35);
  vertical-align: middle;
  font-size: 0;
  /* hide '|' text if present */
  line-height: 0;
}

@media (max-width:540px) {
  .floating-cta-bar__meta-sep {
    display: none;
  }
}

/* Icon-only button helper */
.floating-cta-bar__btn i {
  font-size: 14px;
  line-height: 1;
  display: inline-block;
}

.floating-cta-bar__btn--icon {
  padding: 7px 10px 8px;
}

.floating-cta-bar__btn--message {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.floating-cta-bar__btn--message .btn-label {
  display: inline;
}

.floating-cta-bar__btn--message i {
  font-size: 1rem;
}

/* Nascondi header principali quando la barra è attiva */
.page-header.is-hidden-by-floating,
#headerlaser.is-hidden-by-floating {
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events: none;
}

.page-header,
#headerlaser {
  opacity: 1;
  transition: opacity .25s ease;
}

/* Reduce title when chapter is present */
.floating-cta-bar--has-chapter .floating-cta-bar__title {
  font-size: 22px;
}


@media (max-width:540px) {
  .floating-cta-bar--has-chapter .floating-cta-bar__title {
    font-size: 18px;
  }
}

/* Floating header navigation drawer --------------------------------------- */
.floating-cta-bar__nav-toggle {
  margin-right: 0;
  background: rgba(255, 255, 255, 0.75);
  border-color: rgba(0, 0, 0, 0.12);
  color: #1f2637;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.floating-cta-bar__nav-toggle .btn-label {
  display: none;
}

.floating-cta-bar__nav-toggle .floating-cta-bar__nav-icon span {
  width: 16px;
}

.floating-cta-bar__nav-icon {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
}

.floating-cta-bar__nav-icon span {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: #1f2637;
}

@media (max-width:540px) {
  .floating-cta-bar__nav-toggle {
    margin-right: 4px;
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    padding: 6px;
  }

  .floating-cta-bar__nav-icon span {
    width: 14px;
    height: 1.6px;
  }
}

body.floating-nav-open {
  overflow: hidden;
  touch-action: none;
}

.floating-nav-drawer {
  position: fixed;
  inset: 0;
  z-index: 1500;
  pointer-events: none;
  display: flex;
  justify-content: flex-end;
  align-items: stretch;
  font-family: Lato, Helvetica, Arial, sans-serif;
}

.floating-nav-drawer__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(12, 17, 32, 0.48);
  opacity: 0;
  transition: opacity .28s ease;
}

.floating-nav-drawer__panel {
  position: relative;
  width: min(420px, 92vw);
  max-width: 100%;
  height: 100%;
  background: #fff;
  box-shadow: -18px 0 46px -20px rgba(12, 18, 35, 0.28);
  transform: translateX(100%);
  transition: transform .32s ease;
  display: flex;
  flex-direction: column;
  border-radius: 22px 0 0 22px;
}

.floating-nav-drawer.is-open {
  pointer-events: auto;
}

.floating-nav-drawer.is-open .floating-nav-drawer__backdrop {
  opacity: 1;
}

.floating-nav-drawer.is-open .floating-nav-drawer__panel {
  transform: translateX(0);
}

@media (max-width:767px) {
  .floating-nav-drawer {
    justify-content: center;
  }

  .floating-nav-drawer__panel {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 100%;
    height: calc(var(--floating-vh, 1vh) * 90);
    max-height: calc(var(--floating-vh, 1vh) * 90);
    height: 90dvh;
    max-height: 90dvh;
    border-radius: 20px 20px 0 0;
    transform: translateY(100%);
  }

  .floating-nav-drawer.is-open .floating-nav-drawer__panel {
    transform: translateY(0);
  }

  .floating-nav-drawer__header {
    padding: 16px 20px 10px;
  }

  .floating-nav-drawer__body {
    padding: 20px;
    gap: 20px;
    overflow-y: auto;
    max-height: calc((var(--floating-vh, 1vh) * 90) - 78px);
    max-height: calc(90dvh - 78px);
  }
}

.floating-nav-drawer[data-mode="inline"] .floating-nav-drawer__backdrop {
  background: rgba(18, 26, 48, 0.12);
}

.floating-nav-drawer[data-mode="inline"] .floating-nav-drawer__panel {
  position: fixed;
  width: min(var(--floating-drawer-width, 960px), calc(100vw - 48px));
  height: auto;
  max-height: min(78vh, 660px);
  top: var(--floating-drawer-top, 120px);
  left: 50%;
  transform: translate(-50%, -14px);
  border-radius: 26px;
  box-shadow: 0 34px 68px -24px rgba(16, 26, 52, 0.32), 0 1px 0 rgba(255, 255, 255, 0.55) inset;
  opacity: 0;
  transition: transform .32s ease, opacity .28s ease;
}

.floating-nav-drawer[data-mode="inline"].is-open .floating-nav-drawer__panel {
  transform: translate(-50%, 0);
  opacity: 1;
}

.floating-nav-drawer[data-mode="inline"] .floating-nav-drawer__body {
  display: grid;
  grid-template-columns: minmax(220px, 0.95fr) minmax(280px, 1.15fr) minmax(240px, 0.95fr);
  grid-template-rows: auto auto;
  grid-template-areas:
    "nav doctors contacts"
    "nav doctors location";
  gap: 26px 28px;
  padding: 32px 36px 22px;
  overflow-y: auto;
}

.floating-nav-drawer[data-mode="inline"] .floating-nav-drawer__header {
  padding: 24px 36px 0;
  border-bottom: 0;
}

.floating-nav-drawer[data-mode="inline"] .floating-nav-drawer__section {
  padding: 0;
  gap: 18px;
}

.floating-nav-drawer[data-mode="inline"] .floating-nav-drawer__section+.floating-nav-drawer__section {
  padding-top: 0;
  border-top: 0;
}

.floating-nav-drawer[data-mode="inline"] .floating-nav-drawer__section--nav {
  grid-area: nav;
  border-right: 1px solid #eceff5;
  padding-right: 28px;
}

.floating-nav-drawer[data-mode="inline"] .floating-nav-drawer__section--doctors {
  grid-area: doctors;
  border-right: 1px solid #eceff5;
  padding-right: 26px;
}

.floating-nav-drawer[data-mode="inline"] .floating-nav-drawer__nav-header {
  align-items: flex-start;
}

.floating-nav-drawer[data-mode="inline"] .floating-nav-drawer__nav-subtitle {
  font-size: 20px;
}

.floating-nav-drawer__nav-static {
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.floating-nav-drawer__nav-static--custom {
  gap: 0;
}

.drawer-nav-block {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.drawer-nav-block__logo img {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 6px 16px rgba(15, 25, 55, 0.18);
}

.drawer-nav-tree,
.floating-nav-drawer__nav-tree {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.drawer-nav-tree__group,
.floating-nav-drawer__nav-group {
  margin: 0 0 12px 0;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  position: relative;
  background: rgba(248, 250, 255, 0.7);
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  backdrop-filter: blur(10px) saturate(140%);
  padding: 6px 14px 6px 6px;
  border-radius: 999px;
  border: 1px solid rgba(90, 110, 140, 0.22);
  box-shadow: 0 10px 20px -16px rgba(15, 28, 51, 0.45);
  font-weight: 600;
  color: #1b2a40;
  font-size: 0.98rem;
}

/* Badge (1) - Using ::before */
.floating-nav-drawer .drawer-nav-tree__group::before,
.floating-nav-drawer .floating-nav-drawer__nav-group::before,
.drawer-nav-tree__group::before,
.floating-nav-drawer__nav-group::before {
  content: '1';
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: linear-gradient(145deg, #1f2a44 0%, #2b3b5f 100%);
  border: 2px solid rgba(255, 255, 255, 0.9);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  font-weight: 700;
  box-shadow: 0 6px 12px -8px rgba(15, 28, 51, 0.5);
  flex-shrink: 0;
  /* Ensure no left margin if we have the dot absolute positioned, or push it? 
     the parent has padding-left: 6px. 
     The Green Dot is usually BEFORE the badge.
     Let's use margin-left to make space for the dot if we want dot first.
     Actually, let's use ::after for the dot and position it absolutely?
  */
  margin-left: 10px;
  /* Space for the green dot */
}

/* Green gradient background when nav section is active (mobile) */
@media (max-width: 1023px),
(hover: none) and (pointer: coarse) {

  .floating-nav-drawer__section--nav.is-active .drawer-nav-tree__group,
  .floating-nav-drawer__section--nav.is-active .floating-nav-drawer__nav-group,
  .floating-nav-drawer__section--nav.is-highlighted .drawer-nav-tree__group,
  .floating-nav-drawer__section--nav.is-highlighted .floating-nav-drawer__nav-group {
    background:
      linear-gradient(180deg, rgba(41, 214, 161, 0) 42%, rgba(41, 214, 161, 0.12) 76%, rgba(41, 214, 161, 0.28) 100%),
      rgba(248, 250, 255, 0.7);
    border-color: rgba(41, 214, 161, 0.28);
    box-shadow: 0 10px 20px -16px rgba(15, 28, 51, 0.45),
      0 8px 20px -14px rgba(41, 214, 161, 0.55);
  }

  .floating-nav-drawer__section--nav.is-active .drawer-nav-tree__group::before,
  .floating-nav-drawer__section--nav.is-active .floating-nav-drawer__nav-group::before,
  .floating-nav-drawer__section--nav.is-highlighted .drawer-nav-tree__group::before,
  .floating-nav-drawer__section--nav.is-highlighted .floating-nav-drawer__nav-group::before {
    background: linear-gradient(135deg, #1bbf86 0%, #29d6a1 100%);
    border-color: rgba(255, 255, 255, 0.95);
    box-shadow:
      0 0 0 4px rgba(41, 214, 161, 0.18),
      0 10px 20px -12px rgba(22, 120, 92, 0.6),
      0 0 14px rgba(41, 214, 161, 0.45);
  }
}

/* Green Dot - Using ::after (Absolute) to place it first visually */
.floating-nav-drawer .drawer-nav-tree__group::after,
.floating-nav-drawer .floating-nav-drawer__nav-group::after,
.drawer-nav-tree__group::after,
.floating-nav-drawer__nav-group::after {
  content: '';
  position: absolute;
  left: 8px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #46c2a6;
  box-shadow: 0 0 0 4px rgba(70, 194, 166, 0.15);
  top: 50%;
  transform: translateY(-50%);
}

.drawer-nav-tree__list,
.floating-nav-drawer__nav-tree ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.drawer-nav-tree__list li ul,
.floating-nav-drawer__nav-tree ul ul {
  margin-top: 3px;
  border-left: 1px solid rgba(15, 25, 55, 0.08);
}

.drawer-nav-tree__list li,
.floating-nav-drawer__nav-tree li {
  font-size: 0.86rem;
  color: #3f4861;
  line-height: 1.32;
  position: relative;
  padding-left: 12px;
}

.floating-nav-drawer__nav-tree li::before,
.drawer-nav-tree__list li::before {
  content: '›';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #bfc6da;
  font-size: 10px;
  transition: color .2s ease;
}

.floating-nav-drawer__nav-link {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 6px;
  border-radius: 7px;
  color: #2c364a;
  text-decoration: none;
  transition: background .2s ease, color .2s ease;
}

.floating-nav-drawer__nav-link:hover {
  background: #f1f4fb;
  color: #0f1c33;
}

.floating-nav-drawer__nav-tree li.is-current>.floating-nav-drawer__nav-link,
.floating-nav-drawer__nav-tree li.floating-nav-drawer__nav-item--current>.floating-nav-drawer__nav-link,
.drawer-nav-tree__list li.is-current>a {
  background: transparent;
  color: #0a53a6;
  text-decoration: underline;
  font-weight: 600;
}

.floating-nav-drawer__nav-tree li.is-current::before,
.floating-nav-drawer__nav-tree li.floating-nav-drawer__nav-item--current::before,
.drawer-nav-tree__list li.is-current::before {
  color: #0a53a6;
}

.floating-nav-drawer__nav-tree li a,
.drawer-nav-tree__list li a {
  color: inherit;
}

.floating-nav-drawer__nav-tree li a:hover,
.drawer-nav-tree__list li a:hover {
  text-decoration: none;
}

.drawer-nav-tree__current-label {
  display: none;
}

.floating-nav-drawer__nav-tree li>span[data-floating-current] {
  display: none !important;
}

.drawer-nav-tree__divider {
  height: 1px;
  background: rgba(15, 25, 55, 0.12);
  margin: 8px 0;
}

.floating-nav-drawer__subchapters {
  margin-top: 6px;
  margin-left: 12px;
  padding-left: 18px;
  border-left: 2px solid #d0e6ff;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.floating-nav-drawer__subchapters .floating-nav-drawer__chapters-title {
  margin: 0 0 2px;
  font-size: 0.62rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #7d89a7;
}

.floating-nav-drawer__subchapters .floating-nav-drawer__chapter-list {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-top: 0px !important;
}

.floating-nav-drawer__subchapters .floating-nav-drawer__chapter-item {
  padding: 3px 7px;
  background: #ffffff;
  font-size: 0.8rem;
}

.floating-nav-drawer__subchapters .floating-nav-drawer__chapter-item.is-active {
  background: #f1f6ff;
  border-color: #0a84ff;
  box-shadow: 0 0 0 1px rgba(10, 132, 255, 0.25);
}

.floating-nav-drawer__subchapters .floating-nav-drawer__chapter-badge {
  width: 16px;
  height: 16px;
  font-size: 0.64rem;
}

.floating-nav-drawer__subchapters .floating-nav-drawer__chapter-label {
  font-size: 0.8rem;
}

.floating-nav-drawer[data-mode="inline"] .floating-nav-drawer__section--contacts {
  grid-area: contacts;
  border-bottom: 1px solid #eceff5;
  padding-bottom: 18px;
  padding-left: 24px;
}

.floating-nav-drawer[data-mode="inline"] .floating-nav-drawer__section--location {
  grid-area: location;
  padding-left: 24px;
}

.floating-nav-drawer[data-mode="inline"] .floating-nav-drawer__map-link img,
.floating-nav-drawer[data-mode="inline"] .floating-nav-drawer__map-image img {
  max-height: 200px;
  object-fit: cover;
}

.floating-nav-drawer[data-mode="inline"] .floating-nav-drawer__footer {
  padding: 18px 36px 28px;
}

.floating-nav-drawer[data-mode="inline"] .floating-nav-drawer__collapse {
  align-items: center;
}

.floating-nav-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px 16px;
  border-bottom: 1px solid #e6e9f2;
}

.floating-nav-drawer__heading {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.3;
  color: #162133;
}

.floating-nav-drawer__close {
  border: 0;
  background: #1f2b3f;
  color: #fff;
  font-size: 1.2rem;
  line-height: 1;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 14px -6px rgba(15, 25, 40, 0.35);
  transition: transform .2s ease, box-shadow .2s ease;
}

.floating-nav-drawer__close:hover {
  transform: scale(1.05);
  box-shadow: 0 8px 18px -6px rgba(15, 25, 40, 0.45);
}

.floating-nav-drawer__body {
  flex: 1;
  overflow-y: auto;
  padding: 24px 28px 28px;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

@media (max-width:767px) {
  .floating-nav-drawer__body {
    padding: 20px 20px 24px;
    gap: 24px;
  }
}

.floating-nav-drawer__section {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.floating-nav-drawer__section+.floating-nav-drawer__section {
  padding-top: 24px;
  border-top: 1px solid #eceff5;
}

.floating-nav-drawer__section-title {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 700;
  color: #15253c;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(236, 242, 255, 0.9));
  -webkit-backdrop-filter: blur(12px) saturate(150%);
  backdrop-filter: blur(12px) saturate(150%);
  padding: 7px 16px 7px 12px;
  border-radius: 999px;
  letter-spacing: 0.015em;
  border: 1px solid rgba(86, 106, 140, 0.25);
  box-shadow: 0 12px 24px -18px rgba(15, 28, 51, 0.45);
  position: relative;
  line-height: 1.2;
  transition: color 0.6s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.6s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.6s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.floating-nav-drawer__section-title::before {
  content: none;
}

@media (max-width: 1023px),
(hover: none) and (pointer: coarse) {

  .floating-nav-drawer__section.is-active .floating-nav-drawer__section-title,
  .floating-nav-drawer__section.is-highlighted .floating-nav-drawer__section-title {
    background:
      linear-gradient(180deg, rgba(41, 214, 161, 0) 42%, rgba(41, 214, 161, 0.12) 76%, rgba(41, 214, 161, 0.28) 100%),
      linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(236, 242, 255, 0.9));
    border-color: rgba(41, 214, 161, 0.28);
    box-shadow: 0 12px 24px -18px rgba(15, 28, 51, 0.45),
      0 8px 20px -14px rgba(41, 214, 161, 0.55);
  }
}

.floating-nav-drawer__section-step {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #0f1f35 0%, #2e4a77 100%);
  border: 2px solid rgba(255, 255, 255, 0.9);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 700;
  box-shadow: 0 8px 16px -10px rgba(15, 28, 51, 0.55);
  letter-spacing: 0.02em;
  transition: background 0.6s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.6s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.6s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.floating-nav-drawer__section.is-active .floating-nav-drawer__section-step {
  background: linear-gradient(135deg, #1bbf86 0%, #29d6a1 100%);
  border-color: rgba(255, 255, 255, 0.95);
  box-shadow:
    0 0 0 4px rgba(41, 214, 161, 0.18),
    0 10px 20px -12px rgba(22, 120, 92, 0.6),
    0 0 14px rgba(41, 214, 161, 0.45);
  transform: translateY(-1px);
}

@media (max-width: 1023px),
(hover: none) and (pointer: coarse) {
  .floating-nav-drawer__section.is-highlighted .floating-nav-drawer__section-step {
    background: linear-gradient(135deg, #1bbf86 0%, #29d6a1 100%);
    border-color: rgba(255, 255, 255, 0.95);
    box-shadow:
      0 0 0 4px rgba(41, 214, 161, 0.18),
      0 10px 20px -12px rgba(22, 120, 92, 0.6),
      0 0 14px rgba(41, 214, 161, 0.45);
    transform: translateY(-1px);
  }
}

@media (min-width: 1024px) {
  .floating-nav-drawer__section-step {
    background: linear-gradient(135deg, #1bbf86 0%, #29d6a1 100%);
    border-color: rgba(255, 255, 255, 0.95);
    box-shadow:
      0 0 0 4px rgba(41, 214, 161, 0.18),
      0 10px 20px -12px rgba(22, 120, 92, 0.6),
      0 0 14px rgba(41, 214, 161, 0.45);
    transform: none;
  }

  .floating-nav-drawer__section.is-active .floating-nav-drawer__section-step {
    transform: none;
  }
}

.floating-nav-drawer__nav-header {
  display: flex;
  align-items: center;
  gap: 16px;
}

.floating-nav-drawer__logo {
  flex: 0 0 60px;
  width: 60px;
  min-width: 60px;
  height: 60px;
  min-height: 60px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: #f3f6fb;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: solid 1px black;
}

.floating-nav-drawer__logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.floating-nav-drawer__logo--placeholder::after {
  content: '';
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 2px solid rgba(58, 110, 165, 0.32);
}

.floating-nav-drawer__nav-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.floating-nav-drawer__nav-caption {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 11px;
  font-weight: 600;
  color: #6f7b91;
}

.floating-nav-drawer__tabs {
  display: none;
}

.floating-nav-drawer__tabs.is-visible {
  display: flex;
}

@media (max-width:767px) {
  .floating-nav-drawer__tabs {
    position: sticky;
    bottom: env(safe-area-inset-bottom);
    left: 0;
    right: 0;
    display: flex;
    gap: 6px;
    padding: 8px 12px calc(10px + env(safe-area-inset-bottom));
    background: rgba(245, 247, 252, 0.98);
    -webkit-backdrop-filter: blur(8px) saturate(120%);
    backdrop-filter: blur(8px) saturate(120%);
    border: 1px solid #d4ddef;
    border-top: 1.5px solid #c4d0e6;
    border-radius: 999px;
    box-shadow: 0 -1px 0 rgba(185, 199, 224, 0.95), 0 -10px 26px -20px rgba(10, 20, 40, 0.45);
    z-index: 20;
    margin: 0 12px 12px;
    isolation: isolate;
  }

  .floating-nav-drawer__tabs::before {
    content: "";
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: calc(100% + 1px);
    height: 36px;
    background: linear-gradient(to top, rgba(245, 247, 252, 0.96) 0%, rgba(245, 247, 252, 0.62) 52%, rgba(245, 247, 252, 0) 100%);
    pointer-events: none;
    z-index: -1;
  }

  .floating-nav-drawer__tab {
    flex: 1;
    border: 1px solid #dde4f2;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.7);
    color: #2d3754;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: center;
    justify-content: center;
    padding: 8px 6px;
    transition: background .35s ease, color .35s ease, border-color .35s ease, box-shadow .35s ease, transform .35s ease;
    box-shadow: 0 10px 18px -16px rgba(15, 28, 51, 0.35);
  }

  .floating-nav-drawer__tab i {
    font-size: 16px;
  }

  .floating-nav-drawer__tab.is-active {
    background: #000000;
    border-color: #000000;
    color: #ffffff;
    box-shadow: 0 14px 24px -16px rgba(0, 0, 0, 0.6);
    transform: translateY(-1px);
  }

  .floating-nav-drawer__body {
    padding-bottom: calc(110px + env(safe-area-inset-bottom));
  }
}

.floating-nav-drawer__nav-group-label {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 0.92rem;
  font-weight: 700;
  color: #15253c;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(236, 242, 255, 0.9));
  -webkit-backdrop-filter: blur(12px) saturate(150%);
  backdrop-filter: blur(12px) saturate(150%);
  padding: 7px 16px 7px 12px;
  border-radius: 999px;
  border: 1px solid rgba(86, 106, 140, 0.25);
  box-shadow: 0 12px 24px -18px rgba(15, 28, 51, 0.45);
  letter-spacing: 0.015em;
  line-height: 1.2;
  transition: color 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}


.floating-nav-drawer__nav-group-label::before,
.floating-nav-drawer .floating-nav-drawer__nav-group-label::before {
  content: none;
}

.floating-nav-drawer__nav-group-label::after,
.floating-nav-drawer .floating-nav-drawer__nav-group-label::after {
  content: none;
}

.floating-nav-drawer__nav-group-label .floating-nav-drawer__section-step {
  flex: 0 0 auto;
}

.floating-nav-drawer__nav-subtitle {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #1c283b;
  line-height: 1.3;
}

.floating-nav-drawer__breadcrumb ol {
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
}

.floating-nav-drawer__breadcrumb li {
  font-size: 0.92rem;
  line-height: 1.4;
  color: #344156;
  display: flex;
  align-items: center;
}

.floating-nav-drawer__breadcrumb li+li {
  margin-top: 6px;
  padding-left: 18px;
  position: relative;
}

.floating-nav-drawer__breadcrumb li+li::before {
  content: '▸';
  position: absolute;
  left: 0;
  top: 0;
  color: #a5b2c9;
  font-size: 11px;
}

.floating-nav-drawer__breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.floating-nav-drawer__breadcrumb a:hover {
  text-decoration: underline;
}

.floating-nav-drawer__breadcrumb li.is-current {
  font-weight: 600;
  color: #0f1c33;
}

.floating-nav-drawer__chapters {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.floating-nav-drawer__chapters.is-hidden {
  display: none;
}

.floating-nav-drawer__chapters-title {
  margin: 18px 0 4px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #7c869c;
}

.floating-nav-drawer__chapter-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.floating-nav-drawer__chapter-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 12px;
  border: 1px solid #e5e9f4;
  background: #ffffff;
  color: #182136;
  font-size: 0.88rem;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.floating-nav-drawer__chapter-item:hover {
  border-color: #b9c4db;
  background: #f6f9ff;
  box-shadow: 0 8px 18px -12px rgba(16, 27, 55, 0.28);
}

.floating-nav-drawer__chapter-item.is-active {
  border-color: #0a84ff;
  background: #f1f6ff;
  box-shadow: 0 0 0 1px rgba(10, 132, 255, 0.25);
}

.floating-nav-drawer__chapter-badge {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #0a84ff;
  color: #fff;
  font-weight: 700;
  font-size: 0.72rem;
}

.floating-nav-drawer__chapter-label {
  flex: 1;
  text-align: left;
}

[data-floating-drawer-doctors-scroll] {
  position: relative;
}

[data-floating-drawer-doctors-scroll]::before,
[data-floating-drawer-doctors-scroll]::after {
  content: '';
  position: absolute;
  pointer-events: none;
  opacity: 0;
  transition: opacity .2s ease;
}

[data-floating-drawer-doctors-scroll].has-scroll-start::before,
[data-floating-drawer-doctors-scroll].has-scroll-end::after {
  opacity: 1;
}

[data-floating-drawer-doctors-scroll][data-orientation="horizontal"]::before,
[data-floating-drawer-doctors-scroll][data-orientation="horizontal"]::after {
  top: 0;
  bottom: 0;
  width: 26px;
}

[data-floating-drawer-doctors-scroll][data-orientation="horizontal"]::before {
  left: 0;
  background: linear-gradient(to right, #fff, rgba(255, 255, 255, 0));
}

[data-floating-drawer-doctors-scroll][data-orientation="horizontal"]::after {
  right: 0;
  background: linear-gradient(to left, #fff, rgba(255, 255, 255, 0));
}

[data-floating-drawer-doctors-scroll][data-orientation="vertical"]::before,
[data-floating-drawer-doctors-scroll][data-orientation="vertical"]::after {
  left: 0;
  right: 0;
  height: 24px;
}

[data-floating-drawer-doctors-scroll][data-orientation="vertical"]::before {
  top: 0;
  background: linear-gradient(to bottom, #fff, rgba(255, 255, 255, 0));
}

[data-floating-drawer-doctors-scroll][data-orientation="vertical"]::after {
  bottom: 0;
  background: linear-gradient(to top, #fff, rgba(255, 255, 255, 0));
}

[data-floating-drawer-doctors-scroll][data-orientation="inline"]::before,
[data-floating-drawer-doctors-scroll][data-orientation="inline"]::after {
  left: 0;
  right: 0;
  height: 22px;
  opacity: 0;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0));
}

[data-floating-drawer-doctors-scroll][data-orientation="inline"]::before {
  top: 0;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0));
}

[data-floating-drawer-doctors-scroll][data-orientation="inline"]::after {
  bottom: 0;
  background: linear-gradient(to top, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0));
}

[data-floating-drawer-doctors-scroll][data-orientation="inline"].has-scroll-start::before,
[data-floating-drawer-doctors-scroll][data-orientation="inline"].has-scroll-end::after {
  opacity: 1;
}

[data-floating-drawer-doctors-scroll][data-orientation="horizontal"] .floating-nav-drawer__doctor-track {
  display: flex;
  flex-direction: row;
  gap: 16px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 6px 4px 12px;
  scroll-snap-type: x proximity;
}

[data-floating-drawer-doctors-scroll][data-orientation="vertical"] .floating-nav-drawer__doctor-track {
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow-y: auto;
  overflow-x: hidden;
  max-height: 320px;
  padding: 4px 2px;
}

[data-floating-drawer-doctors-scroll][data-orientation="inline"] .floating-nav-drawer__doctor-track {
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow: visible;
  max-height: none;
  padding: 0;
}

.floating-nav-drawer__doctor-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 220px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid #e5e9f4;
  background: #ffffff;
  box-shadow: 0 10px 24px -18px rgba(15, 22, 40, 0.32);
  scroll-snap-align: start;
}

[data-floating-drawer-doctors-scroll][data-orientation="vertical"] .floating-nav-drawer__doctor-card {
  min-width: auto;
}

.floating-nav-drawer__doctor-avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-color: #e8eef7;
}

.floating-nav-drawer__doctor-avatar--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #4b5d7e;
}

.floating-nav-drawer__doctor-name {
  margin: 0;
  font-size: 1rem;
  color: #162133;
}

.floating-nav-drawer__doctor-subtitle {
  margin: 0;
  font-size: 0.88rem;
  color: #4c5d7b;
}

.floating-nav-drawer__doctor-text {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.floating-nav-drawer__doctor-details {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.floating-nav-drawer__doctor-details li {
  font-size: 0.84rem;
  line-height: 1.4;
  color: #32405c;
  position: relative;
  padding-left: 18px;
}

.floating-nav-drawer__doctor-details li::before {
  content: '•';
  position: absolute;
  left: 4px;
  top: 0;
  color: #0a84ff;
}

.floating-nav-drawer__contact-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.floating-nav-drawer__contact-block {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.floating-nav-drawer__contact-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid #e1e6f0;
  background: #fff;
  color: #152035;
  text-decoration: none;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.floating-nav-drawer__contact-item:hover {
  border-color: #0a84ff;
  box-shadow: 0 10px 24px -14px rgba(10, 132, 255, 0.35);
  transform: translateY(-1px);
}

.floating-nav-drawer__contact-item:focus-visible {
  outline: 2px solid #0a84ff;
  outline-offset: 2px;
}

button.floating-nav-drawer__contact-item {
  width: 100%;
  text-align: left;
}

.floating-nav-drawer__contact-icon {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: #eef2fb;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #0a84ff;
  font-size: 16px;
}

.floating-nav-drawer__contact-block .floating-nav-drawer__contact-item {
  width: 100%;
}

.floating-nav-drawer__contact-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.floating-nav-drawer__contact-label {
  font-weight: 600;
}

.floating-nav-drawer__contact-description {
  font-size: 0.82rem;
  color: #4c5d7b;
}

.floating-contact-form {
  display: none;
  flex-direction: column;
  gap: 12px;
  padding: 14px 16px 18px;
  border-radius: 16px;
  border: 1px solid #dfe5f2;
  background: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6);
}

.floating-contact-form.is-open,
.floating-contact-form.is-sent {
  display: flex;
}

.floating-contact-form__intro {
  margin: 0;
  font-size: 0.85rem;
  color: #202943;
  font-weight: 600;
}

.floating-contact-form__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.floating-contact-form__field label {
  font-size: 0.78rem;
  font-weight: 600;
  color: #1f2536;
}

.floating-contact-form input,
.floating-contact-form textarea {
  width: 100%;
  border: 1px solid #cfd6ea;
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 0.9rem;
  font-family: inherit;
  line-height: 1.4;
  background: #fff;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.floating-contact-form input:focus,
.floating-contact-form textarea:focus {
  outline: none;
  border-color: #0a84ff;
  box-shadow: 0 0 0 2px rgba(10, 132, 255, 0.18);
}

.floating-contact-form input.has-error,
.floating-contact-form textarea.has-error {
  border-color: #e85c41;
  box-shadow: 0 0 0 1px rgba(232, 92, 65, 0.3);
}

.floating-contact-form textarea {
  min-height: 72px;
  resize: vertical;
}

.floating-contact-form__hint {
  margin: -2px 0 0;
  font-size: 0.72rem;
  color: #6c7693;
}

.floating-contact-form__error {
  margin: 0;
  font-size: 0.75rem;
  color: #c0392b;
  display: block;
}

.floating-contact-form__error[hidden] {
  display: none;
}

.floating-contact-form__error--global {
  font-weight: 600;
}

.floating-contact-form__submit-wrap {
  margin-top: 4px;
}

.floating-contact-form__submit {
  width: 100%;
  border-radius: 999px !important;
  border: 1px solid #d1d9ef !important;
  background: #fff !important;
  color: #0a53a6 !important;
  font-weight: 600;
  height: 44px;
  cursor: pointer;
  transition: background .2s ease, box-shadow .2s ease;
}

.floating-contact-form__submit-inner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-weight: 600;
}

.floating-contact-form__submit:hover {
  background: #f0f4ff !important;
  box-shadow: 0 10px 16px -14px rgba(10, 40, 90, 0.4);
}

.floating-contact-form__submit .fa-solid {
  font-size: 1rem;
}

.floating-contact-form__submit.is-loading {
  opacity: .7;
  cursor: wait;
}

.floating-contact-form__btn-text {
  display: inline-block;
}

.floating-contact-form__privacy {
  margin: -4px 0 0;
  font-size: 0.74rem;
  color: #6d7691;
}

.floating-contact-form__privacy a {
  color: #0a84ff;
  text-decoration: none;
}

.floating-contact-form__privacy a:hover {
  text-decoration: underline;
}

.floating-contact-form__success {
  display: none;
  align-items: center;
  gap: 10px;
  font-size: 0.9rem;
  font-weight: 600;
  color: #1b5e20;
}

.floating-contact-form__success-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #e8f6ef;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.floating-contact-form.is-sent .floating-contact-form__form {
  display: none;
}

.floating-contact-form.is-sent .floating-contact-form__success {
  display: flex;
}

.floating-contact-form.is-collapsed {
  display: none;
}

.floating-nav-drawer__section-note {
  margin: -4px 0 6px !important;
  font-size: 0.78rem;
  color: #5f6479;
}

.floating-nav-drawer__section-note[hidden] {
  display: none;
}

.floating-nav-drawer__section-note a {
  color: #0a84ff;
  text-decoration: none;
}

.floating-nav-drawer__section-note a:hover {
  text-decoration: underline;
}

.floating-nav-drawer__location {
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-size: 0.9rem;
  color: #32405c;
}

.floating-nav-drawer__location-head {
  display: flex;
  align-items: center;
  gap: 10px;
}

.floating-nav-drawer__location-head--only-action {
  justify-content: flex-end;
}

.floating-nav-drawer__location-address {
  margin: 0;
  font-weight: 300;
  color: #162133;
  flex: 1 1 auto;
  font-size: 13px;
}

.floating-nav-drawer__map-link-wrap {
  flex: 0 0 auto;
}

.floating-nav-drawer__map-link,
.floating-nav-drawer__map-image {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #e1e6f0;
  aspect-ratio: 1 / 1;
  display: block;
}

.floating-nav-drawer__map-link img,
.floating-nav-drawer__map-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.floating-nav-drawer__map-link--text {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid #0a84ff;
  color: #0a84ff;
  font-weight: 600;
  font-size: 0.78rem;
  text-decoration: none;
  aspect-ratio: auto;
}

.floating-nav-drawer__map-link--text img {
  height: auto;
}

.floating-nav-drawer__map-link--text:hover {
  background: #eef5ff;
}

.floating-nav-drawer__location-extra,
.floating-nav-drawer__location-disclaimer,
.floating-nav-drawer__location-placeholder {
  margin: 0;
  font-size: 0.82rem;
  color: #4c5d7b;
}

.floating-nav-drawer__parking {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.floating-nav-drawer__parking-media {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #e1e6f0;
  aspect-ratio: 1 / 1;
}

.floating-nav-drawer__parking-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.floating-nav-drawer__parking figcaption {
  margin: 0;
  font-size: 0.78rem;
  color: #5a657d;
}

.floating-nav-drawer__footer {
  padding: 16px 24px 24px;
  border-top: 1px solid #e6e9f2;
}

.floating-nav-drawer__collapse {
  width: 100%;
  border: 0;
  background: #f4f6fb;
  border-radius: 18px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  color: #1f2537;
  cursor: pointer;
  transition: background .2s ease;
}

.floating-nav-drawer__collapse:hover {
  background: #e6ecf8;
}

.floating-nav-drawer__collapse-hint {
  width: 44px;
  height: 5px;
  border-radius: 999px;
  background: #ccd4e4;
}

/* Convenzione ASL glossy box */
.conv-asl {
  position: relative;
  padding: 26px;
  border-radius: 20px;
  background: linear-gradient(135deg, #f8fbff 0%, #eef4ff 100%);
  border: 1px solid #dfe7ff;
  box-shadow: 0 12px 32px rgba(40, 70, 150, .12), inset 0 1px 0 rgba(255, 255, 255, .7);
  -webkit-backdrop-filter: saturate(180%) blur(6px);
  backdrop-filter: saturate(180%) blur(6px);
}

.conv-asl__header {
  display: flex;
  align-items: center;
  gap: 12px;
}

.conv-asl__icon {
  color: #5175E5;
  font-size: 22px;
}

.conv-asl__title {
  margin: 0;
  font-weight: 800;
  color: #1b2559;
  letter-spacing: .2px;
  font-size: 30px;
  line-height: 1.15;
  text-wrap: balance;
}

.conv-asl__divider {
  height: 1px;
  background: linear-gradient(90deg, rgba(81, 117, 229, .25), rgba(81, 117, 229, .05));
  margin: 14px 0 18px;
}

.conv-asl__grid {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}

.conv-asl__col {
  min-width: 280px;
}

.conv-asl__subtitle {
  margin: 0 0 8px;
  color: #2b3568;
  font-weight: 800;
  font-size: 19px;
  line-height: 1.2;
  text-wrap: balance;
  text-align: left;
}

.conv-asl__subtitle--divider {
  border-bottom: 1px dashed #ccd6f6;
  padding-bottom: 8px;
  margin-bottom: 10px;
  max-inline-size: 26ch;
}

.conv-asl__list {
  margin-top: 10px;
}

.conv-asl__doctor {
  font-size: 13px;
  color: #4b4f66;
}

.conv-asl a {
  font-size: 13px;
}

.conv-asl__steps {
  margin: 0;
  padding-left: 18px;
  color: #2d3142;
}

.conv-asl__alert {
  margin-top: 14px;
  display: flex;
  gap: 12px;
  align-items: flex-start;
  background: #f3f7ff;
  border: 1px solid #cfe0ff;
  border-radius: 12px;
  padding: 14px 16px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}

.conv-asl__alert-icon {
  color: #f4b000;
  font-size: 18px;
  margin-top: 2px;
}

.conv-asl__alert-title {
  margin: 0;
  font-weight: 700;
  color: #1b2559;
}

.conv-asl__alert-text {
  margin: 6px 0 0 0;
  font-size: 13px;
  color: #3e4562;
}

@media (max-width: 640px) {
  .conv-asl {
    padding: 20px;
    border-radius: 16px;
  }

  .conv-asl__col {
    flex-basis: 100%;
  }
}

.floating-nav-drawer__nav-tree>.floating-nav-drawer__nav-list>li {
  padding-left: 4px;
}





/* BULLET LIST CON COLLAPSABLE ITEMS */
.ortho-timeline {
  position: relative;
  margin: 20px 0;
  padding-left: 20px;
}

.ortho-item {
  position: relative;
  padding: 20px 24px 20px 52px;
  margin: 0 0 28px 0;
  border: 1px solid #e1e7ee;
  border-radius: 18px;
  background: #fdfefe;
}

.ortho-item::before {
  content: '';
  position: absolute;
  left: -20px;
  top: 24px;
  width: 12px;
  height: 12px;
  border: 2px solid #2d6cdf;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(45, 108, 223, 0.08);
  z-index: 2;
}

.ortho-item::after {
  content: '';
  position: absolute;
  left: -15px;
  top: 38px;
  height: calc(100% + 20px);
  border-left: 1px dashed #c9d3e5;
  z-index: 1;
}

.ortho-item:last-child::after {
  display: none;
}

.ortho-item+.ortho-item {
  margin-top: 35px;
}

.ortho-item .ortho-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.ortho-item .ortho-title {
  font-size: 17px;
  font-weight: 700;
  margin: 0;
  line-height: 1.3;
  text-align: left;
}

.ortho-item p {
  font-size: 14px;
  line-height: 1.6;
  margin: 6px 0 0 0;
  text-align: left;
}

.ortho-item .list-marked li {
  font-size: 14px;
  line-height: 1.6;
  text-align: left;
}

.ortho-toggle {
  background: #fff;
  border: 1px solid #d3ddf0;
  color: #2d6cdf;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  cursor: pointer;
  line-height: 1;
  transition: all .2s ease;
}

.ortho-toggle:hover {
  background: #f0f5ff;
}

.ortho-body {
  margin-top: 12px;
}

.ortho-collapse {
  margin-top: 14px;
}

/* ═══════════════════════════════════════════════════════════
   COMPARISON TABLE - MODERN DESIGN (I-POPS vs Traditional)
   ═══════════════════════════════════════════════════════════ */

.comparison-table-wrapper {
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
  border-radius: 24px;
  padding: 32px;
  margin: 30px 0;
  box-shadow:
    0 4px 6px -1px rgba(0, 0, 0, 0.05),
    0 10px 15px -3px rgba(0, 0, 0, 0.08);
}

.comparison-table-header {
  margin-bottom: 24px;
}

.comparison-table-header h3 {
  font-size: 26px;
  font-weight: 700;
  color: #1e293b;
  margin: 0 0 8px 0;
  text-align: left;
}

.comparison-table-header p {
  font-size: 14px;
  color: #64748b;
  margin: 0;
  text-align: left;
}

/* Table Container */
.comparison-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #ffffff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

/* Table Header */
.comparison-table thead tr {
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
}

.comparison-table th {
  padding: 20px 24px;
  font-size: 15px;
  font-weight: 600;
  color: #475569;
  text-align: left;
  border-bottom: 1px solid #e2e8f0;
}

.comparison-table th:first-child {
  width: 22%;
  color: #64748b;
  font-weight: 500;
}

.comparison-table th:nth-child(2) {
  width: 39%;
  border-left: 1px solid #e2e8f0;
}

.comparison-table th:nth-child(3) {
  width: 39%;
  border-left: 1px solid #e2e8f0;
}

/* Highlighted Column Header (I-POPS) */
.comparison-table th.highlighted-col {
  background: linear-gradient(180deg, #e6f4ea 0%, #d4edda 100%);
  position: relative;
}

.highlighted-col-content {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  flex-wrap: wrap;
}

.badge-evidenza {
  display: inline-flex;
  align-items: center;
  background: #5f8b6b;
  color: #ffffff;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 20px;
  text-transform: lowercase;
  letter-spacing: 0.3px;
}

/* Table Body */
.comparison-table tbody tr {
  transition: background-color 0.2s ease;
}

.comparison-table tbody tr:hover {
  background-color: #fafbfc;
}

.comparison-table tbody tr:not(:last-child) td {
  border-bottom: 1px solid #f1f5f9;
}

.comparison-table td {
  padding: 18px 24px;
  font-size: 15px;
  color: #374151;
  vertical-align: middle;
  text-align: left;
}

.comparison-table td:first-child {
  font-weight: 600;
  color: #1e293b;
  background: #fafbfc;
}

.comparison-table td:nth-child(2) {
  border-left: 1px solid #f1f5f9;
  color: #6b7280;
}

.comparison-table td:nth-child(3) {
  border-left: 1px solid #f1f5f9;
}

/* Highlighted Column (I-POPS values) */
.comparison-table td.highlighted-col {
  background: linear-gradient(180deg, #f0fdf4 0%, #ecfdf5 100%);
}

/* Checkmark + Value styling */
.ipops-value {
  display: flex;
  align-items: center;
  gap: 10px;
}

.ipops-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  min-width: 22px;
  background: #10b981;
  border-radius: 50%;
  color: #ffffff;
  font-size: 12px;
}

.ipops-text {
  font-weight: 600;
  color: #047857;
  text-align: left;
}

.ipops-text small {
  font-weight: 400;
  color: #6b7280;
  font-size: 13px;
}

/* Footer Note */
.comparison-table-footer {
  margin-top: 16px;
  font-size: 13px;
  color: #94a3b8;
  text-align: left;
  padding-left: 4px;
}

/* ═══════════════════════════════════════════════════════════
   MOBILE RESPONSIVE - Card Layout
   ═══════════════════════════════════════════════════════════ */

@media only screen and (max-width: 768px) {
  .comparison-table-wrapper {
    padding: 20px 16px;
    border-radius: 20px;
    margin: 20px 0;
  }

  .comparison-table-header h3 {
    font-size: 22px;
  }

  .comparison-table-header p {
    font-size: 13px;
  }

  /* Hide traditional table on mobile */
  .comparison-table {
    display: none;
  }

  /* Mobile Card View */
  .comparison-mobile {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .comparison-card {
    background: #ffffff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  }

  .comparison-card-header {
    background: #f8fafc;
    padding: 14px 16px;
    font-weight: 600;
    font-size: 15px;
    color: #1e293b;
    border-bottom: 1px solid #e2e8f0;
  }

  .comparison-card-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .comparison-card-col {
    padding: 14px 16px;
  }

  .comparison-card-col:first-child {
    border-right: 1px solid #f1f5f9;
    background: #fafbfc;
  }

  .comparison-card-col:last-child {
    background: linear-gradient(180deg, #f0fdf4 0%, #ecfdf5 100%);
  }

  .comparison-card-label {
    font-size: 11px;
    font-weight: 600;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
  }

  .comparison-card-label.highlighted {
    color: #047857;
    display: flex;
    align-items: center;
    gap: 6px;
  }

  .comparison-card-label.highlighted::after {
    content: '★';
    font-size: 10px;
    color: #10b981;
  }

  .comparison-card-value {
    font-size: 14px;
    color: #6b7280;
    line-height: 1.4;
    text-align: left;
  }

  .comparison-card-col:last-child .comparison-card-value {
    color: #047857;
    font-weight: 600;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    text-align: left;
  }

  .comparison-card-col:last-child .comparison-card-value .ipops-check {
    margin-top: 2px;
    width: 18px;
    height: 18px;
    min-width: 18px;
    font-size: 10px;
  }

  .comparison-table-footer {
    font-size: 12px;
    margin-top: 14px;
  }
}

/* Desktop: hide mobile cards */
@media only screen and (min-width: 769px) {
  .comparison-mobile {
    display: none;
  }
}

/* ===================================
   APPLE-STYLE TESTIMONIAL SECTION
   ==================================== */

/* Full-width breakout for testimonial section - same technique as bentobox */
/* Note: -37vw accounts for col-lg-8 width + container padding + any gutters */
.container-flex .col__inner>.testimonial-parent,
.col__inner>.testimonial-parent,
.testimonial-parent {
  max-width: none !important;
  width: 100vw !important;
  margin-left: calc(-1 * var(--content-left)) !important;
  margin-right: 0 !important;
  margin-top: 30px;
  position: relative;
  z-index: 10;
  box-sizing: border-box;
}

.testimonial-carousel {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  gap: 30px;
  padding: 20px 40px;
  padding-left: var(--content-left);
  -webkit-overflow-scrolling: touch;
  scroll-padding-left: var(--content-left);
}

/* Hide scrollbar but keep functionality */
.testimonial-carousel::-webkit-scrollbar {
  display: none;
}

.testimonial-carousel {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Testimonial Card */
.testimonial-card {
  flex: 0 0 auto;
  scroll-snap-align: start;
  width: auto;
  max-width: 380px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  background-color: #ffffff;
  border-radius: 20px;
  padding: 30px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Square Image - Apple Style */
.testimonial-img {
  flex-shrink: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  max-width: 320px;
  object-fit: cover;
  border-radius: 16px;
  margin: 0 auto;
}

/* Content Area */
.testimonial-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 0;
  gap: 15px;
}

/* Header Section */
.testimonial-header {
  margin-bottom: 0;
}

.testimonial-author {
  font-family: Lato, Helvetica, Arial, sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #1d1d1f;
  margin-bottom: 6px;
  line-height: 1.2;
}

.testimonial-subtitle {
  font-family: Lato, Helvetica, Arial, sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: #6e6e73;
  line-height: 1.4;
}

/* Quote */
.testimonial-quote {
  font-family: Lato, Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: #1d1d1f;
  margin: 0;
  font-style: normal;
  font-weight: 400;
  flex-grow: 0;
}

/* Promotional Card List */
.testimonial-promo-list {
  margin: 0;
  flex-grow: 0;
}

.testimonial-promo-list ul {
  padding-left: 20px;
  margin: 0;
}

.testimonial-promo-list li {
  font-family: Lato, Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #1d1d1f;
  margin-bottom: 8px;
}

/* Link Button - Apple Gray Style */
.testimonial-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: Lato, Helvetica, Arial, sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: #424245;
  text-decoration: none;
  padding: 0;
  transition: color 0.2s ease;
}

.testimonial-link:hover {
  color: #1d1d1f;
}

.testimonial-link .fa-chevron-right {
  font-size: 14px;
  transition: transform 0.2s ease;
}

.testimonial-link:hover .fa-chevron-right {
  transform: translateX(4px);
}

/* Navigation Arrows - Bottom Right */
.testimonial-navigation {
  position: relative;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  z-index: 10;
  padding-right: 28px;
  margin-top: 15px;
}

.testimonial-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 12px;
  padding-right: 28px;
}

.testimonial-dot {
  width: 8px;
  height: 8px;
  border: 0;
  border-radius: 999px;
  background: #c5c9d6;
  padding: 0;
  cursor: pointer;
  transition: width 0.25s ease, background-color 0.25s ease, transform 0.2s ease;
}

.testimonial-dot:hover {
  background: #a8afc3;
}

.testimonial-dot:focus {
  outline: none;
}

.testimonial-dot:focus-visible {
  outline: 2px solid #6f7da1;
  outline-offset: 2px;
}

.testimonial-dot.is-active {
  width: 22px;
  background: #3f4f77;
}

.testimonial-arrow {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid #d2d2d7;
  background-color: #ffffff;
  color: #1d1d1f;
  font-size: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.testimonial-arrow:hover {
  background-color: #f5f5f7;
  border-color: #b8b8bd;
  transform: scale(1.05);
}

.testimonial-arrow:active {
  transform: scale(0.95);
}

/* Responsive - Mobile */
@media only screen and (max-width: 768px) {

  /* Reset full-width breakout on mobile */
  .container-flex .col__inner>.testimonial-parent,
  .col__inner>.testimonial-parent,
  .testimonial-parent {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .testimonial-carousel {
    gap: 15px;
    padding: 10px 15px;
  }

  .testimonial-card {
    max-width: 320px;
    padding: 25px;
    gap: 15px;
  }

  .testimonial-img {
    max-width: 270px;
  }

  .testimonial-author {
    font-size: 20px;
  }

  .testimonial-subtitle {
    font-size: 14px;
  }

  .testimonial-quote {
    font-size: 15px;
  }

  .testimonial-promo-list li {
    font-size: 13px;
  }

  .testimonial-link {
    font-size: 14px;
  }

  .testimonial-navigation {
    position: absolute;
    top: clamp(130px, 42vw, 210px);
    left: 0;
    right: 0;
    margin-top: 0;
    padding: 0 10px;
    gap: 10px;
    justify-content: space-between;
    pointer-events: none;
  }

  .testimonial-pagination {
    gap: 7px;
    padding-right: 0;
    margin-top: 14px;
  }

  .testimonial-dot {
    width: 7px;
    height: 7px;
  }

  .testimonial-dot.is-active {
    width: 18px;
  }

  .testimonial-arrow {
    width: 36px;
    height: 36px;
    font-size: 14px;
    pointer-events: auto;
  }
}

/* ==========================================
   GESTIONE DOLORE - EXPANDABLE CARDS
   ========================================== */

.dolore-timeline {
  position: relative;
  padding-left: 30px;
  margin-top: 40px;
}

/* Vertical line on the left */
.dolore-timeline::before {
  content: '';
  position: absolute;
  left: 15px;
  top: 30px;
  bottom: 30px;
  width: 3px;
  background: linear-gradient(180deg, #a8d4ff 0%, #d4e8ff 100%);
  border-radius: 2px;
  transition: background 0.4s ease;
}

/* When first card is expanded (and second closed): gray at top, transition to blue near card 2 */
.dolore-timeline:has(.dolore-card-wrapper:first-child.expanded):not(:has(.dolore-card-wrapper:last-child.expanded))::before {
  background: linear-gradient(180deg,
      rgba(200, 215, 230, 0.35) 0%,
      rgba(200, 215, 230, 0.3) 45%,
      #a8d4ff 55%,
      #4a9eff 100%);
}

/* When second card is expanded (and first closed): blue at top, gray at bottom */
.dolore-timeline:has(.dolore-card-wrapper:last-child.expanded):not(:has(.dolore-card-wrapper:first-child.expanded))::before {
  background: linear-gradient(180deg,
      #4a9eff 0%,
      #a8d4ff 40%,
      rgba(200, 215, 230, 0.3) 60%,
      rgba(200, 215, 230, 0.35) 100%);
}

/* When both cards are expanded: gray everywhere */
.dolore-timeline:has(.dolore-card-wrapper:first-child.expanded):has(.dolore-card-wrapper:last-child.expanded)::before {
  background: linear-gradient(180deg,
      rgba(200, 215, 230, 0.35) 0%,
      rgba(200, 215, 230, 0.35) 100%);
}

.dolore-card-wrapper {
  position: relative;
  margin-bottom: 30px;
}

/* Step number circle */
.dolore-step-number {
  position: absolute;
  left: -30px;
  top: 25px;
  width: 32px;
  height: 32px;
  background: linear-gradient(135deg, #4a9eff 0%, #2d7ed9 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 600;
  font-size: 14px;
  z-index: 2;
  box-shadow: 0 2px 8px rgba(74, 158, 255, 0.3);
  transition: opacity 0.4s ease, background 0.4s ease, box-shadow 0.4s ease;
}

/* Fade only the expanded card's number to gray */
.dolore-card-wrapper.expanded .dolore-step-number {
  background: linear-gradient(135deg, #b8c9da 0%, #9eb0c4 100%);
  box-shadow: 0 2px 8px rgba(150, 170, 190, 0.2);
  opacity: 0.7;
}

/* Keep the non-expanded card's number blue (default state, no change needed) */

/* Main card */
.dolore-card {
  background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
  border-radius: 20px;
  padding: 25px 30px;
  box-shadow:
    0 4px 20px rgba(0, 0, 0, 0.06),
    0 1px 3px rgba(0, 0, 0, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(200, 220, 240, 0.5);
  transition: all 0.3s ease;
}

.dolore-card:hover {
  box-shadow:
    0 8px 30px rgba(0, 0, 0, 0.08),
    0 2px 6px rgba(0, 0, 0, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

/* Card header with icon and title */
.dolore-card-header {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  margin-bottom: 15px;
}

.dolore-card-icon {
  width: 45px;
  height: 45px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #e8f4ff 0%, #d4e8ff 100%);
  border-radius: 12px;
  font-size: 22px;
}

.dolore-card-icon img {
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.dolore-card-titles {
  flex: 1;
}

.dolore-card-title {
  font-size: 18px;
  font-weight: 700;
  color: #1a1a2e;
  margin: 0 0 4px 0;
  line-height: 1.3;
}

.dolore-card-subtitle {
  font-size: 15px;
  font-weight: 500;
  color: #4a5568;
  margin: 0;
}

/* Badge in top right - subtle style */
.dolore-card-badge {
  position: absolute;
  top: 20px;
  right: 25px;
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
  background: transparent;
  border: 1px solid #d1dae6;
  color: #7a8ca3;
}

.dolore-card-badge.piu-richiesto {
  background: rgba(235, 242, 250, 0.5);
  border-color: #c5d4e8;
  color: #6b7d94;
}

.dolore-card-badge.nuova-tecnologia {
  background: rgba(235, 242, 250, 0.5);
  border-color: #c5d4e8;
  color: #6b7d94;
}

/* Card description */
.dolore-card-description {
  font-size: 15px;
  color: #64748b;
  line-height: 1.6;
  margin: 0 0 20px 0;
  padding-left: 60px;
}

/* Tags/pills */
.dolore-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-left: 60px;
  margin-bottom: 20px;
}

.dolore-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: #f1f5f9;
  border-radius: 25px;
  font-size: 13px;
  font-weight: 500;
  color: #475569;
  border: 1px solid #e2e8f0;
}

.dolore-tag i,
.dolore-tag .tag-icon {
  color: #3b82f6;
  font-size: 14px;
}

@media only screen and (min-width: 769px) {
  .dolore-card {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto auto;
    column-gap: 18px;
    row-gap: 14px;
    align-items: center;
  }

  .dolore-card-header {
    grid-column: 1 / -1;
    grid-row: 1;
    margin-bottom: 0;
  }

  .dolore-card-description {
    grid-column: 1 / -1;
    grid-row: 2;
    margin-bottom: 0;
  }

  .dolore-card-tags {
    grid-column: 1 / 2;
    grid-row: 3;
    margin-bottom: 0;
  }

  .dolore-expand-btn {
    grid-column: 2 / 3;
    grid-row: 3;
    align-self: center;
    justify-self: end;
    margin: 0;
  }
}

/* Expand button - minimal glass style */
.dolore-expand-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 24px;
  background: linear-gradient(135deg, #5fa0ff 0%, #2f6bff 100%);
  border: 1px solid rgba(47, 107, 255, 0.35);
  border-radius: 25px;
  font-size: 14px;
  font-weight: 600;
  color: #ffffff;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-left: auto;
  margin-top: 10px;
  box-shadow: none;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
}

.dolore-expand-btn:hover {
  background: linear-gradient(135deg, #4b8cff 0%, #1f5cff 100%);
  border-color: rgba(31, 92, 255, 0.45);
  transform: translateY(-1px);
}

.dolore-expand-btn i {
  transition: transform 0.3s ease;
}

/* When expanded, make button more subtle (close button style) */
.dolore-card-wrapper.expanded .dolore-expand-btn {
  background: #f8fafc;
  border: 1px solid #d1dae6;
  color: #64748b;
  box-shadow: none;
}

.dolore-card-wrapper.expanded .dolore-expand-btn:hover {
  background: #f1f5f9;
  border-color: #b8c4d4;
  color: #475569;
  transform: none;
}

.dolore-card-wrapper.expanded .dolore-expand-btn i {
  transform: rotate(45deg);
}


.dolore-card-wrapper.expanded .dolore-expand-btn .btn-text {
  display: none;
}

.dolore-card-wrapper.expanded .dolore-expand-btn .btn-text-close {
  display: inline;
}

.dolore-expand-btn .btn-text-close {
  display: none;
}

/* Expandable content section */
.dolore-content-section {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease, opacity 0.3s ease, padding 0.3s ease;
  opacity: 0;
  margin-top: 0;
}

.dolore-card-wrapper.expanded .dolore-content-section {
  max-height: 5000px;
  opacity: 1;
  margin-top: 25px;
  padding-top: 25px;
  padding-bottom: 20px;
  border-top: 1px solid #e5e7eb;
}

/* Reset nested content to have no extra left spacing - but exclude lists */
.dolore-content-section,
.dolore-content-section>div,
.dolore-content-section>p,
.dolore-content-section>h4,
.dolore-content-section .imgdescrittiva2,
.dolore-content-section .sezionegrid {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* Restore necessary padding for specific elements */
.dolore-content-section .dolore-context-banner {
  padding-left: 22px !important;
}

.dolore-content-section div[style*="padding: 25px"] {
  padding: 25px !important;
}

.dolore-content-section .sezionegrid_content {
  padding: 20px !important;
}

/* Restore blue-info-card padding inside dolore content */
.dolore-content-section .blue-info-card {
  padding: 22px 26px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.dolore-content-section .blue-info-card .newbox {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* Ensure list items have proper padding for bullet points */
.dolore-content-section ul,
.dolore-content-section ol {
  padding-left: 20px !important;
  margin-left: 0 !important;
}

.dolore-content-section li {
  padding-left: 8px !important;
  margin-left: 0 !important;
}

.dolore-content-section .blue-info-card .list-marked {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.dolore-content-section .blue-info-card .list-marked>li {
  position: relative;
  padding-left: 20px !important;
  margin-left: 20px !important;
}

.dolore-content-section .blue-info-card .list-marked>li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: #1a1a2e;
}

.dolore-content-section .h4servizi {
  margin-top: 40px !important;
}

/* General blue-info-card list styling */
.blue-info-card .list-marked {
  list-style: none;
  padding-left: 20px;
  margin: 10px 0;
}

.blue-info-card .list-marked>li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 8px;
}

.blue-info-card .list-marked>li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #1a1a2e;
}

/* Headings inside blue-info-card (h3, h4) with underline style */
.blue-info-card .newbox h3,
.blue-info-card .newbox h4 {
  font-size: 18px;
  font-weight: 600;
  color: #1a1a2e;
  margin: 0 0 8px 0;
  padding-bottom: 8px;
  border-bottom: 1px solid #cbcbcb;
}

.blue-info-card .newbox h3:not(:first-child),
.blue-info-card .newbox h4:not(:first-child) {
  margin-top: 20px;
}

.blue-info-card .newbox h3 + p,
.blue-info-card .newbox h4 + p,
.blue-info-card .newbox h3 + ul,
.blue-info-card .newbox h4 + ul {
  margin-top: 10px;
}

/* Info rapide variant (blue-info-card + CTA buttons) */
.blue-info-card.info-rapid-card {
  display: block;
  position: relative;
  overflow: visible;
  margin-top: 30px;
  padding: 36px 34px 32px;
  border-radius: 18px;
  background:
    radial-gradient(circle at 82% 12%, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0) 56%),
    linear-gradient(150deg, #f4f9fe, #e7f1fa 46%, #dfeefb);
  border: 1px solid rgba(140, 180, 225, 0.6);
  box-shadow:
    0 2px 8px rgba(81, 117, 229, 0.18),
    0 8px 24px -6px rgba(81, 117, 229, 0.22),
    0 16px 40px -10px rgba(25, 70, 120, 0.16),
    0 0 0 1px rgba(81, 117, 229, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.blue-info-card.info-rapid-card .bluebox {
  display: none;
}

.blue-info-card.info-rapid-card .newbox {
  position: static;
  padding: 6px 4px 0 4px;
}

.blue-info-card.info-rapid-card .info-rapid-badge {
  position: absolute;
  top: -16px;
  right: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 32px;
  padding: 6px 16px;
  border-radius: 999px;
  border: none;
  background: linear-gradient(180deg, #ecf8f1 0%, #d8f0e1 100%);
  color: #1a7a4a;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1;
  box-shadow:
    0 2px 8px -2px rgba(30, 135, 83, 0.35),
    0 0 0 1px rgba(30, 135, 83, 0.1);
  z-index: 1;
}

.blue-info-card.info-rapid-card .info-rapid-badge::before {
  content: "\f05a";
  font-family: "Font Awesome 6 Pro", "Font Awesome 6 Free", FontAwesome;
  font-weight: 900;
  font-size: 13px;
  line-height: 1;
}

.blue-info-card.info-rapid-card .info-rapid-list {
  list-style: none;
  margin: 20px 0 0 0;
  padding: 0;
}

/* Desktop: narrower text for breathing room */
@media only screen and (min-width: 901px) {
  .blue-info-card.info-rapid-card .info-rapid-list {
    max-width: 72%;
    margin-left: auto;
    margin-right: auto;
  }
}

.blue-info-card.info-rapid-card .info-rapid-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
  font-size: 16px;
  line-height: 1.55;
  color: #000000;
}

.blue-info-card.info-rapid-card .info-rapid-check {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid #5fdf78;
  background: radial-gradient(circle at 30% 30%, #c9fbd3 0%, #84e59b 60%, #4ecf6d 100%);
  color: #0f4d25;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6);
  /* center on the first line: (lineHeight * fontSize - iconSize) / 2 */
  margin-top: 2px;
}

.blue-info-card.info-rapid-card .info-rapid-check .fa-solid {
  font-size: 10px;
}

.blue-info-card.info-rapid-card .info-rapid-cta-text {
  margin: 0 0 24px 0;
  padding-top: 32px;
  padding-bottom: 20px;
  text-align: center;
  font-size: 20px;
  line-height: 1.25;
  color: #000000;
  font-family: Lato, helvetical, Arial, Helvetica, sans-serif;
}

.blue-info-card.info-rapid-card .info-rapid-cta-buttons {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 450px;
  margin: 0 auto;
}

.blue-info-card.info-rapid-card .button-numero-landing-3,
.blue-info-card.info-rapid-card .pulsante-richiedi-informazioni-3 {
  flex: 1 1 0;
  max-width: 210px;
  width: auto;
  min-height: 58px;
  height: 58px;
  border-radius: 8px;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
}

.blue-info-card.info-rapid-card .button-numero-landing-3 {
  background: #5175E5;
  border: none;
  color: #ffffff;
}

.blue-info-card.info-rapid-card .pulsante-richiedi-informazioni-3 {
  border: 1px solid #111827;
  color: #111827;
}

.blue-info-card.info-rapid-card .button-numero-landing-3 span:not(.fa-solid).testo,
.blue-info-card.info-rapid-card .pulsante-richiedi-informazioni-3 span:not(.fa-solid).testo {
  width: auto;
  padding: 0;
  margin: 0;
  text-align: center;
  font-size: 15px;
  font-weight: 400;
}

.blue-info-card.info-rapid-card .newbox p,
.blue-info-card.info-rapid-card .newbox span:not(.fa-solid) {
  color: #000000;
}

.blue-info-card.info-rapid-card .info-rapid-cta-buttons .fa-solid.testo {
  width: auto;
  padding: 0;
  margin: 0;
  font-size: 16px;
  line-height: 1;
}

@media only screen and (max-width: 900px) {
  .blue-info-card.info-rapid-card .info-rapid-list li {
    font-size: 15px;
  }

  .blue-info-card.info-rapid-card .info-rapid-cta-text {
    font-size: 20px;
  }
}

@media only screen and (max-width: 640px) {
  .blue-info-card.info-rapid-card {
    padding: 20px 16px;
    border-radius: 16px;
  }

  .blue-info-card.info-rapid-card .info-rapid-badge {
    position: absolute;
    top: -15px;
    right: 16px;
    left: auto;
    margin: 0;
    font-size: 12px;
    min-height: 30px;
    padding: 5px 14px;
  }

  .blue-info-card.info-rapid-card .info-rapid-list {
    margin-top: 18px;
  }

  .blue-info-card.info-rapid-card .info-rapid-list li {
    font-size: 15px;
  }

  .blue-info-card.info-rapid-card .info-rapid-check {
    width: 20px;
    height: 20px;
  }

  .blue-info-card.info-rapid-card .info-rapid-cta-text {
    font-size: 20px;
    padding-top: 22px;
  }

  .blue-info-card.info-rapid-card .info-rapid-cta-buttons {
    flex-direction: column;
    gap: 12px;
    max-width: none;
    align-items: center;
  }

  .blue-info-card.info-rapid-card .button-numero-landing-3,
  .blue-info-card.info-rapid-card .pulsante-richiedi-informazioni-3 {
    max-width: 210px;
    width: min(100%, 210px);
    min-height: 54px;
    height: 54px;
    border-radius: 8px;
  }

  .blue-info-card.info-rapid-card .button-numero-landing-3 span:not(.fa-solid).testo,
  .blue-info-card.info-rapid-card .pulsante-richiedi-informazioni-3 span:not(.fa-solid).testo {
    font-size: 15px;
  }
}

/* Context banner at top of expanded content */
.dolore-context-banner {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 22px;
  background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
  border: 1px solid #a7f3d0;
  border-radius: 16px;
  margin-bottom: 25px;
  font-size: 13px;
  color: #065f46;
  box-shadow:
    0 0 20px rgba(16, 185, 129, 0.15),
    0 0 40px rgba(16, 185, 129, 0.08),
    0 2px 8px rgba(16, 185, 129, 0.1);
}

.dolore-context-banner i {
  color: #10b981;
  font-size: 16px;
}

.dolore-context-banner strong {
  color: #047857;
  font-weight: 600;
}

/* Mobile responsive */
@media only screen and (max-width: 768px) {
  .dolore-timeline {
    padding-left: 20px;
  }

  .dolore-timeline::before {
    left: 10px;
  }

  .dolore-step-number {
    left: -20px;
    width: 28px;
    height: 28px;
    font-size: 12px;
  }

  .dolore-card {
    padding: 20px;
  }

  .dolore-card-badge {
    position: relative;
    top: auto;
    right: auto;
    margin-bottom: 15px;
    width: fit-content;
  }

  .dolore-card-header {
    flex-direction: column;
    gap: 10px;
  }

  .dolore-card-description {
    padding-left: 0;
  }

  .dolore-card-tags {
    padding-left: 0;
  }

  .dolore-card-icon {
    width: 40px;
    height: 40px;
  }

  .dolore-card-title {
    font-size: 16px;
  }

  .dolore-card-subtitle {
    font-size: 14px;
  }

  .dolore-expand-btn {
    width: 100%;
    justify-content: center;
  }

  /* Ensure expanded content shows fully on mobile */
  .dolore-card-wrapper.expanded .dolore-content-section {
    max-height: none;
    padding-bottom: 30px;
  }

  /* Fix blue-info-card on mobile inside dolore content */
  .dolore-content-section .blue-info-card {
    padding: 18px 16px !important;
  }
}


/* ========================================
   Apple-like Feature Cards Component
   Scoped under .lp-apple-cards
   ======================================== */

.lp-apple-cards {
  --card-radius: 24px;
  --accent-color: #5856D6;
  --accent-hover: #4745B5;
  --text-primary: #1d1d1f;
  --text-secondary: #86868b;
  --bg-subtle: #f5f5f7;
  --border-color: rgba(0, 0, 0, 0.08);
  --font-stack: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --transition-smooth: 0.35s cubic-bezier(0.4, 0, 0.2, 1);

  font-family: var(--font-stack);
  padding: 40px 0;
  position: relative;
}

/* Cards Container - align-items: start for independent card heights */
/* Horizontal scroll container (desktop + mobile) */
.lp-apple-cards__container {
  display: flex;
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  align-items: flex-start;
}

.lp-apple-cards__container::-webkit-scrollbar {
  display: none;
}

/* Individual Card - No background, shadow, or border */
.lp-apple-cards__card {
  display: flex;
  flex-direction: column;
  flex: 0 0 420px;
  min-width: 420px;
  scroll-snap-align: start;
  scroll-margin-left: 24px;
}

/* Card Image - Rounded corners all around, 1:1 aspect ratio */
.lp-apple-cards__image-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: visible;
  background: var(--bg-subtle);
  border-radius: var(--card-radius);
}

.lp-apple-cards__image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: var(--card-radius);
}

/* Card Content */
.lp-apple-cards__content {
  padding: 24px 0 0;
  display: flex;
  flex-direction: column;
}

/* Summary text - gray by default, black for strong */
.lp-apple-cards__summary {
  font-size: 17px;
  line-height: 1.6;
  color: var(--text-secondary);
  margin: 0 0 16px;
  letter-spacing: -0.01em;
  font-weight: 500;
  text-align: left;
  font-family: Lato, helvetica, arial, sans-serif;
}

.lp-apple-cards__summary strong {
  font-weight: 900;
  color: var(--text-primary);
}

/* Toggle Button */
.lp-apple-cards__toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: none;
  padding: 8px 0;
  font-family: var(--font-stack);
  font-size: 15px;
  font-weight: 500;
  color: var(--accent-color);
  cursor: pointer;
  transition: color var(--transition-smooth);
  align-self: flex-start;
}

.lp-apple-cards__toggle:hover {
  color: var(--accent-hover);
}

.lp-apple-cards__toggle:focus {
  outline: none;
}

.lp-apple-cards__toggle:focus-visible {
  outline: 2px solid var(--accent-color);
  outline-offset: 4px;
  border-radius: 4px;
}

/* Toggle Icon */
.lp-apple-cards__toggle-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  transition: transform var(--transition-smooth);
}

.lp-apple-cards__toggle-icon svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  stroke-width: 2.5;
  fill: none;
}

.lp-apple-cards__toggle[aria-expanded="true"] .lp-apple-cards__toggle-icon {
  transform: rotate(45deg);
}

/* Expandable Content Wrapper */
.lp-apple-cards__expand-wrapper {
  overflow: hidden;
  transition: height var(--transition-smooth), opacity var(--transition-smooth);
  opacity: 0;
  height: 0;
}

.lp-apple-cards__expand-wrapper.is-expanded {
  opacity: 1;
}

/* Expanded Content */
.lp-apple-cards__expanded {
  padding: 20px 0 8px;
  border-top: 1px solid var(--border-color);
  margin-top: 16px;
}

.lp-apple-cards__expanded-inner {
  padding: 0;
}

.lp-apple-cards__expanded h3 {
  font-size: 18px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 16px;
  letter-spacing: -0.02em;
}

/* Expanded text - gray by default, black for strong */
.lp-apple-cards__expanded p {
  font-size: 15px;
  line-height: 1.65;
  color: var(--text-secondary);
  margin: 0 0 16px;
}

.lp-apple-cards__expanded p:last-child {
  margin-bottom: 0;
}

.lp-apple-cards__expanded p strong {
  color: var(--text-primary);
  font-weight: 600;
}

.lp-apple-cards__expanded-conclusion {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--border-color);
  font-style: italic;
  color: var(--text-secondary) !important;
}

/* Scroll Hint - Gradient Fade */
.lp-apple-cards__scroll-hint {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 60px;
  background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.9) 70%);
  pointer-events: none;
  z-index: 2;
  opacity: 1;
  transition: opacity 0.3s ease;
}

.lp-apple-cards__scroll-hint.is-hidden {
  opacity: 0;
}

/* Wrapper per le frecce overlay — hanno position:absolute relativo a questo, non alla section intera */
.lp-apple-cards__carousel-wrap {
  position: relative;
}

/* Scroll Arrow Indicators (prev + next) */
.lp-apple-cards__scroll-arrow {
  display: flex;
  position: absolute;
  top: var(--lp-apple-cards-arrow-top, 50%);
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  background: #ffffff;
  border-radius: 50%;
  border: none;
  padding: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  align-items: center;
  justify-content: center;
  z-index: 3;
  opacity: 1;
  transition: opacity 0.3s ease;
  pointer-events: auto;
  cursor: pointer;
}

.lp-apple-cards__scroll-arrow--prev {
  left: 12px;
}

.lp-apple-cards__scroll-arrow--next {
  right: 12px;
}

.lp-apple-cards__scroll-arrow.is-hidden {
  opacity: 0;
}

.lp-apple-cards__scroll-arrow svg {
  width: 16px;
  height: 16px;
  stroke: var(--accent-color);
  stroke-width: 2.5;
  fill: none;
}

/* Nav bar (frecce + dots pill) — visibile solo quando le card overflow */
.lp-apple-cards__nav {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 14px;
}

.lp-apple-cards.lp-apple-cards--has-overflow .lp-apple-cards__nav {
  display: flex;
}

/* Nav small arrows */
.lp-apple-cards__nav-arrow {
  width: 30px;
  height: 30px;
  flex-shrink: 0;
  border-radius: 999px;
  border: 1px solid #d2d2d7;
  background: #ffffff;
  color: #1d1d1f;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.2s ease, opacity 0.2s ease;
}

.lp-apple-cards__nav-arrow .fa-solid {
  font-size: 11px;
}

.lp-apple-cards__nav-arrow:hover:not(:disabled) {
  background: #f5f5f7;
  border-color: #b8b8bd;
  transform: scale(1.05);
}

.lp-apple-cards__nav-arrow:active:not(:disabled) {
  transform: scale(0.95);
}

.lp-apple-cards__nav-arrow:focus-visible {
  outline: 2px solid rgba(88, 86, 214, 0.45);
  outline-offset: 2px;
}

.lp-apple-cards__nav-arrow:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/* Pagination dots — pill container */
.lp-apple-cards__pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.12);
}

.lp-apple-cards__dot {
  width: 7px;
  height: 7px;
  border: 0;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.55);
  padding: 0;
  cursor: pointer;
  transition: width 0.2s ease, background-color 0.2s ease;
}

.lp-apple-cards__dot.is-active {
  width: 18px;
  background: #1d1d1f;
}

/* ========================================
   Mobile Styles (<1024px)
   ======================================== */
@media (max-width: 1023px) {
  .lp-apple-cards {
    padding: 32px 0;
  }

  .lp-apple-cards__container {
    gap: 16px;
    padding: 0;
  }

  /* On mobile the edge fade covers readable text, so keep only arrow controls */
  .lp-apple-cards__scroll-hint {
    display: none;
  }

  /* Same size as desktop, but with stronger contrast */
  .lp-apple-cards__scroll-arrow {
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(88, 86, 214, 0.3);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.2);
  }

  .lp-apple-cards__card {
    /* Keep a small "peek" of the next card visible as a scroll affordance */
    flex: 0 0 calc(100% - 32px);
    min-width: calc(100% - 32px);
    scroll-snap-align: start;
    scroll-margin-left: 0;
  }

  .lp-apple-cards__card:last-child {
    margin-right: 0;
  }

  .lp-apple-cards__content {
    padding: 20px 0 0;
  }

  .lp-apple-cards__summary {
    font-size: 16px;
  }

}

/* Keep scroll hint/arrows visible on desktop too */

/* ========================================
   Reduced Motion Support
   ======================================== */
@media (prefers-reduced-motion: reduce) {

  .lp-apple-cards__card,
  .lp-apple-cards__image,
  .lp-apple-cards__toggle,
  .lp-apple-cards__toggle-icon,
  .lp-apple-cards__expand-wrapper {
    transition: none;
  }

  .lp-apple-cards__container {
    scroll-behavior: auto;
  }
}

/* ========================================
   Case Story Flow (Pre/Post Intervento)
   ======================================== */

.case-story-flow {
  position: relative;
  margin: 16px auto 34px;
  max-width: 1060px;
  padding: 18px 16px 16px;
  overflow: visible;
  border-radius: 30px;
}

/* ── Card: mobile = flex column, desktop = 2×2 grid ── */
.case-story-card {
  width: 100%;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: visible;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 24px 22px 22px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 88% 8%, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0) 42%),
    radial-gradient(circle at 8% 0%, rgba(81, 117, 229, 0.12), rgba(81, 117, 229, 0) 28%),
    linear-gradient(152deg, #ffffff 0%, #f7faff 52%, #eef3fa 100%);
  border: 1px solid rgba(72, 96, 130, 0.16);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    0 14px 34px -22px rgba(45, 66, 94, 0.5),
    0 1px 0 rgba(45, 66, 94, 0.04);
  text-align: left;
}

.case-story-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0) 42%);
}

.case-story-card + .case-story-flow__step-link {
  margin-top: 50px;
  margin-bottom: 50px;
}

.case-story-flow__step-link + .case-story-card {
  margin-top: 14px;
}

/* ── Row 1 Col 1: time + subtitle stacked ── */
.case-story-card__head-info {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 25px;
}

.case-story-card__time {
  margin: 0;
  font-family: Lato, helvetica, arial, sans-serif;
  font-weight: 900;
  font-size: clamp(22px, 5vw, 32px);
  line-height: 1;
  letter-spacing: 0.04em;
  color: #0f172a;
  white-space: nowrap;
  padding-bottom: 15px;
  border-bottom: solid 1px gray;
}

.case-story-card__subtitle {
  margin: 0;
  font-family: Lato, Helvetica, Arial, sans-serif;
  font-size: clamp(18px, 2.5vw, 18px);
  line-height: 1.2;
  font-weight: 600;
  color: #3d4b63;
}

/* ── Row 1 Col 2: green badge ── */
.case-story-card__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  width: fit-content;
  padding: 7px 18px;
  border-radius: 999px;
  background: linear-gradient(180deg, #ecf8f1 0%, #d8f0e1 100%);
  color: #1a7a4a;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.03em;
  border: none;
  text-align: center;
  white-space: nowrap;
  box-shadow:
    0 2px 8px -2px rgba(30, 135, 83, 0.35),
    0 0 0 1px rgba(30, 135, 83, 0.1);
}

/* ── Row 2 Col 1: description text ── */
/* Mobile: content stacks vertically */
.case-story-card__content {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
}

.case-story-card__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.case-story-card__label {
  margin: 0;
  font-size: 16px;
  line-height: 1.45;
  color: #3d4b63;
  text-align: left;
}

.case-story-card .list-marked {
  list-style: none;
  padding-left: 0;
  margin: 0;
  text-align: left;
}

.case-story-card .list-marked > li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 8px;
  color: #0f172a;
  font-size: 15px;
  line-height: 1.45;
}

.case-story-card .list-marked > li:last-child {
  margin-bottom: 0;
}

.case-story-card .list-marked > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.52em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #0f172a;
}

.case-story-flow__step-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 12px;
}

.case-story-flow__step-time {
  font-family: Lato, Helvetica, Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #3c4c66;
  display: inline-block;
  transition: color 0.12s linear, text-shadow 0.12s linear, transform 0.12s linear;
}

.case-story-flow__step-line {
  flex: 1;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(81, 117, 229, 0.26) 0%, rgba(81, 117, 229, 0.08) 100%);
  transition: background 0.05s linear;
}

/* ── Row 2 Col 2: image carousel ── */
.case-story-card__media-carousel {
  position: relative;
  margin-top: 2px;
  width: 100%;
  max-width: 400px;
  align-self: center;
}

.case-story-card__media-track {
  display: flex;
  gap: 0;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.case-story-card__media-track::-webkit-scrollbar {
  display: none;
}

.case-story-card__media-slide {
  flex: 0 0 100%;
  min-width: 100%;
  scroll-snap-align: start;
}

.case-story-card__media {
  width: 100%;
  max-width: 400px;
  height: auto;
  aspect-ratio: 1 / 1;
  margin-left: auto;
  margin-right: auto;
  border-radius: 22px;
  overflow: hidden;
  background: #f3f4f6;
  border: 1px solid rgba(15, 23, 42, 0.12);
}

.case-story-card__media picture,
.case-story-card__media img,
.case-story-card__media video {
  width: 100%;
  height: 100%;
  display: block;
}

.case-story-card__media img,
.case-story-card__media video {
  object-fit: fill;
}

.case-story-card__media-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(17, 17, 17, 0.2);
  background: #000000;
  color: #ffffff;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 2;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.case-story-card__media-arrow:hover {
  transform: translateY(-50%) scale(1.05);
}

.case-story-card__media-arrow--prev {
  left: 10px;
}

.case-story-card__media-arrow--next {
  right: 10px;
}

.case-story-card__media-arrow.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.case-story-card__media-dots {
  width: fit-content;
  margin: 12px auto 0;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.16);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.case-story-card__media-dots.is-hidden {
  display: none;
}

.case-story-card__media-dot {
  width: 7px;
  height: 7px;
  border: 0;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.55);
  padding: 0;
  cursor: pointer;
  transition: width 0.2s ease, background-color 0.2s ease;
}

.case-story-card__media-dot.is-active {
  width: 18px;
  background: #000000;
}

/* ══════════════════════════════════════════
   DESKTOP: 2 cols × 2 rows
   Row 1: info (left, 1fr) | tag (right, auto)
   Row 2: content div spans full width → flex row inside
          body (flex:1) | media-carousel (flex:1)
   ══════════════════════════════════════════ */
@media (min-width: 1024px) {
  .case-story-flow {
    max-width: 980px;
    padding: 20px 20px 18px;
  }

  .case-story-card {
    max-width: 876px;
    padding: 24px 28px 24px;
    border-radius: 26px;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "info    tag"
      "content content";
    column-gap: 28px;
    row-gap: 18px;
    align-items: start;
  }

  .case-story-card__head-info {
    grid-area: info;
    align-self: center;
  }

  .case-story-card__time {
    font-size: clamp(26px, 2.4vw, 38px);
  }

  .case-story-card__subtitle {
    font-size: clamp(18px, 1.1vw, 17px);
  }

  .case-story-card__tag {
    grid-area: tag;
    position: static;
    order: 0;
    justify-self: end;
  }

  /* Row 2: body text + image, side by side with equal width */
  .case-story-card__content {
    grid-area: content;
    display: flex;
    flex-direction: row;
    gap: 28px;
    align-items: flex-start;
  }

  .case-story-card__body {
    flex: 1;
    min-width: 0;
    gap: 10px;
  }

  .case-story-card__media-carousel {
    flex: 1;
    min-width: 0;
    margin-top: 0;
    max-width: none;
    align-self: start;
  }

  .case-story-card__media {
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 1 / 1;
    margin-left: 0;
    margin-right: 0;
  }
}

/* ── Tablet / narrow ── */
@media (max-width: 1023px) {
  .case-story-flow {
    padding: 18px 12px 14px;
    border-radius: 24px;
  }

  .case-story-flow__step-link {
    padding: 0 4px;
  }

  .case-story-card {
    padding: 30px 14px 14px;
    border-radius: 20px;
  }

  .case-story-card__tag {
    position: absolute;
    top: -16px;
    left: 1px;
    font-size: 13px;
    padding: 6px 14px;
  }

  .case-story-card__media-carousel {
    width: 100%;
    max-width: 400px;
  }

  .case-story-card__media-arrow {
    width: 40px;
    height: 40px;
    font-size: 13px;
  }
}


/* ========================================
   Contact Info Card - Clean with Gradient Accent
   Scoped under .lp-contact-card
   ======================================== */

.lp-contact-card {
  --card-bg: linear-gradient(145deg, #f7fbff 0%, #edf5ff 48%, #e4eef9 100%);
  --card-border: rgba(160, 195, 228, 0.5);
  --card-radius: 20px;
  --accent-gradient: linear-gradient(135deg, #4a9eda 0%, #667eea 100%);
  --accent-blue: #4a9eda;
  --text-primary: #1d1d1f;
  --text-secondary: #6e6e73;
  --box-bg: #f5f8fc;
  --font-stack: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;

  font-family: var(--font-stack);
  background:
    radial-gradient(circle at 85% 12%, rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0) 55%),
    var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: var(--card-radius);
  padding: 28px 28px 28px 32px;
  max-width: 100%;
  box-shadow:
    0 18px 40px -30px rgba(30, 90, 140, 0.45),
    0 2px 12px rgba(0, 0, 0, 0.06);
  position: relative;
  overflow: hidden;
}

/* Gradient accent stripe on left edge */
.lp-contact-card::before {
  content: none;
}

.lp-contact-card__title {
  font-size: 24px;
  font-weight: 700;
  color: var(--text-primary);
  margin: 0 0 10px;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.lp-contact-card__subtitle {
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-secondary);
  margin: 0 0 20px;
}

/* Hours Box */
.lp-contact-card__hours-box {
  background: var(--box-bg);
  border-radius: 14px;
  padding: 18px 0px;
  margin-bottom: 20px;
}

.lp-contact-card__hours-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.lp-contact-card__icon {
  color: var(--accent-blue);
  font-size: 18px;
  width: 22px;
  text-align: center;
}

.lp-contact-card__hours-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
}

.lp-contact-card__hours-list {
  list-style: none;
  padding: 0;
  margin: 0 0 0 34px;
}

.lp-contact-card__hours-list li {
  font-size: 14px;
  color: var(--text-primary);
  padding: 4px 0;
  position: relative;
  padding-left: 0;
}

.lp-contact-card__hours-list li::before {
  content: '';
  position: absolute;
  left: -10px;
  top: 50%;
  transform: translateY(-50%);
  width: 5px;
  height: 5px;
  background: var(--accent-gradient);
  border-radius: 50%;
}

/* Contacts Section */
.lp-contact-card__contacts {
  margin-bottom: 0;
}

.lp-contact-card__contacts-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.lp-contact-card__contacts-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
}

.lp-contact-card__contact-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 5px 0;
  margin-left: 34px;
}

.lp-contact-card__contact-item a,
.lp-contact-card__contact-item span {
  font-size: 15px;
  font-weight: 500;
  color: var(--text-primary);
  text-decoration: none;
  transition: color 0.2s ease;
  line-height: 1.4;
}

.lp-contact-card__contact-item a:hover {
  color: var(--accent-blue);
}

.lp-contact-card__contact-icon {
  color: var(--accent-blue);
  font-size: 15px;
  width: 18px;
  text-align: center;
  flex-shrink: 0;
}

/* Divider */
.lp-contact-card__divider {
  height: 1px;
  background: var(--card-border);
  margin: 24px 0;
}

/* Location Section */
.lp-contact-card__location {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: flex-start;
}

.lp-contact-card__location-title {
  flex: 0 0 100%;
  width: 100%;
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 12px;
}

.lp-contact-card__location-image {
  flex: 0 0 calc(50% - 10px);
  width: calc(50% - 10px);
  height: auto;
  border-radius: 14px;
  overflow: hidden;
  background: var(--box-bg);
}

.lp-contact-card__location-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lp-contact-card__location-info {
  flex: 1;
}

.lp-contact-card__location-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 5px 0;
}

.lp-contact-card__location-item span {
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.4;
}

.lp-contact-card__location-item a {
  font-size: 14px;
  color: var(--text-primary);
  text-decoration: none;
  transition: color 0.2s ease;
}

.lp-contact-card__location-item a:hover {
  color: var(--accent-blue);
}

/* Ensure sidebar column doesn't overlap full-width content */
.lp-contact-card-column {
  position: relative !important;
  align-self: flex-start !important;
  height: auto !important;
  max-height: none !important;
  z-index: 1;
  padding: 0px 20px !important;
}

.col-lg-4:has(.lp-contact-card) {
  position: relative !important;
  align-self: flex-start;
  z-index: 1;
}

/* Mobile Responsive */
@media (max-width: 480px) {

  .lp-contact-card-column {
    padding: 0px;
    margin-top: 3.5em;
  }

  .lp-contact-card__title {
    font-size: 20px;
  }

  .lp-contact-card__subtitle {
    font-size: 14px;
  }

  .lp-contact-card__location {
    flex-direction: column;
    gap: 16px;
  }

  .lp-contact-card__location-image {
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
  }
}


/* ========================================
   Complesso Sanitario Carousel
   ======================================== */

.complesso-carousel {
  position: relative;
  width: 100%;
  margin: 20px 0 30px 0;
}

.complesso-carousel__viewport {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 20px;
  background: #f0f4f8;
}

.complesso-carousel__track {
  position: relative;
  width: 100%;
}

.complesso-carousel__slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  z-index: 1;
}

.complesso-carousel__slide.is-active {
  position: relative;
  opacity: 1;
  visibility: visible;
  z-index: 2;
}

.complesso-carousel__slide picture {
  display: block;
  width: 100%;
}

.complesso-carousel__slide img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: fill;
}

/* Desktop: 16:9 aspect ratio */
@media (min-width: 768px) {
  .complesso-carousel__slide img {
    aspect-ratio: 11 / 7;
  }
}

/* Mobile: 9:16 aspect ratio */
@media (max-width: 767px) {
  .complesso-carousel__slide img {
    aspect-ratio: 9 / 16;
  }
}

/* Mobile Overlay Arrows (on image) */
.complesso-carousel__overlay-nav {
  display: none;
}

@media (max-width: 767px) {
  .complesso-carousel__overlay-nav {
    display: flex;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    justify-content: space-between;
    padding: 0 8px;
    pointer-events: none;
    z-index: 2;
  }

  .complesso-carousel__overlay-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 50%;
    background: rgba(240, 243, 247, 0.92);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(180, 190, 205, 0.5);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
    cursor: pointer;
    pointer-events: auto;
    transition: all 0.2s ease;
    color: #1f2937;
  }

  .complesso-carousel__overlay-btn:active {
    transform: scale(0.95);
    background: rgba(230, 235, 242, 0.95);
  }

  .complesso-carousel__overlay-btn:disabled {
    opacity: 0.3;
    pointer-events: none;
  }

  .complesso-carousel__overlay-btn svg {
    width: 16px;
    height: 16px;
  }
}

/* Footer: Caption + Controls */
.complesso-carousel__footer {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 16px;
}

/* Caption Area */
.complesso-carousel__caption {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 14px 18px;
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  min-height: 48px;
}

.complesso-carousel__counter {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  background: linear-gradient(135deg, #1582d6 0%, #0d6ebd 100%);
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  font-family: 'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif;
  border-radius: 20px;
  letter-spacing: 0.5px;
}

.complesso-carousel__separator {
  color: #94a3b8;
  font-size: 14px;
}

.complesso-carousel__description {
  flex: 1;
  font-size: 14px;
  font-weight: 500;
  color: #334155;
  line-height: 1.5;
  font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Controls Area */
.complesso-carousel__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.complesso-carousel__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: linear-gradient(135deg, #f0f3f7 0%, #e8ecf1 100%);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12), 0 1px 3px rgba(0, 0, 0, 0.08);
  border: 1px solid #c8d1dc;
  cursor: pointer;
  transition: all 0.2s ease;
  color: #1f2937;
}

.complesso-carousel__btn:hover:not(:disabled) {
  background: linear-gradient(135deg, #e8ecf1 0%, #dfe4eb 100%);
  border-color: #b8c4d1;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 2px 4px rgba(0, 0, 0, 0.1);
  transform: translateY(-1px);
}

.complesso-carousel__btn:active:not(:disabled) {
  transform: translateY(0);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

.complesso-carousel__btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.complesso-carousel__btn svg {
  width: 20px;
  height: 20px;
}

/* Progress Bar */
.complesso-carousel__progress {
  flex: 1;
  max-width: 200px;
  height: 4px;
  background: #e2e8f0;
  border-radius: 4px;
  overflow: hidden;
}

.complesso-carousel__progress-bar {
  height: 100%;
  width: 12.5%;
  /* 1/8 = 12.5% */
  background: linear-gradient(90deg, #1582d6 0%, #0d6ebd 100%);
  border-radius: 4px;
  transition: width 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Mobile Adjustments */
@media (max-width: 767px) {
  .complesso-carousel {
    margin: 16px 0 24px 0;
  }

  .complesso-carousel__viewport {
    border-radius: 16px;
  }

  .complesso-carousel__footer {
    gap: 0;
    margin-top: 12px;
  }

  .complesso-carousel__caption {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 12px;
  }

  /* Header row: counter + controls on same line */
  .complesso-carousel__caption-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }

  .complesso-carousel__counter {
    font-size: 11px;
    padding: 3px 8px;
  }

  .complesso-carousel__separator {
    display: none;
  }

  .complesso-carousel__description {
    font-size: 13px;
  }

  /* Hide the separate controls section on mobile */
  .complesso-carousel__controls {
    display: none;
  }

  /* Inline controls for mobile (inside caption header) */
  .complesso-carousel__inline-controls {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .complesso-carousel__inline-controls .complesso-carousel__btn {
    width: 28px;
    height: 28px;
    border-radius: 50%;
  }

  .complesso-carousel__inline-controls .complesso-carousel__btn svg {
    width: 14px;
    height: 14px;
  }

  .complesso-carousel__inline-controls .complesso-carousel__progress {
    width: 50px;
    max-width: 50px;
    height: 3px;
  }
}

/* Desktop: hide inline controls */
@media (min-width: 768px) {
  .complesso-carousel__caption-header {
    display: contents;
  }

  .complesso-carousel__inline-controls {
    display: none;
  }
}

/* Quick Info Card */
.quick-info-card {
  background-color: #f9fbff;
  border: 1px solid #e1e8ed;
  border-radius: 8px;
  margin-bottom: 20px;
  transition: all 0.3s ease;
  overflow: hidden;
}

.quick-info-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 20px;
  cursor: pointer;
  color: #5175E5;
  /* Site Blue */
  transition: background-color 0.2s;
}

.quick-info-header:hover {
  background-color: rgba(81, 117, 229, 0.05);
}

.quick-info-header h4 {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: inherit;
}

.quick-info-toggle-icon {
  transition: transform 0.3s ease;
  font-size: 16px;
}

.quick-info-content {
  display: none;
  padding: 0 20px 20px 20px;
  color: #555;
}

/* State: Open */
.quick-info-card.open .quick-info-content {
  display: block;
  animation: fadeIn 0.4s;
}

.quick-info-card.open .quick-info-toggle-icon {
  transform: rotate(180deg);
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ================================================
   Apple Feature Card (image + text side by side)
   ================================================ */
.apple-feature-card {
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: center;
  margin: 50px 0;
  padding: 20px 0;
}

.apple-feature-card .immagine {
  flex: 0 0 auto;
  width: 280px;
  aspect-ratio: 1 / 1;
  border-radius: 20px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

/* Desktop: image takes 50% of the width */
@media (min-width: 992px) {
  .apple-feature-card .immagine {
    flex: 0 0 50%;
    width: auto;
  }
}

.apple-feature-card .testo {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.apple-feature-card .testo p {
  font-size: 19px;
  line-height: 1.45;
  color: #86868b;
  /* Apple-style gray */
  margin: 0;
  letter-spacing: -0.01em;
  font-weight: 400;
}

.apple-feature-card .testo p strong {
  font-weight: 600;
  color: #1d1d1f;
  /* Apple-style black */
}

/* Responsive: stack on mobile */
@media (max-width: 768px) {
  .apple-feature-card {
    flex-direction: column;
    gap: 24px;
    text-align: left;
  }

  .apple-feature-card .immagine {
    width: 100%;
  }
}
/* Delay off-screen CTA rendering on long pages without changing markup behavior */
.come-contattare2[data-contact-lazy="true"] {
  content-visibility: auto;
  contain-intrinsic-size: 1px 640px;
}
