.cta-secondaria h3, .cta-primaria h3{
  color: var(--color-primario) ;
  font-family: var(--ff-titoli)!important;
}

.cta-secondaria p, .cta-primaria p{
    font-family: var(--ff-paragrafi)!important;
}
.forminator-title{
  font-family: var(--ff-titoli)!important;
  font-size: var(--font-size-6)!important;
  color: var(--color-primario);
  text-align: center!important;
  font-weight:bold!important;
}
.forminator-subtitle{
    font-family: var(--ff-paragrafi)!important;
}

a.sowb-button.ow-icon-placement-left {
    margin-bottom: 2rem;
}
#cta-prenota{
    margin-top: 3rem;
    margin-bottom:3rem;
}
footer#colophon {
    margin-top: -23px;
}
.medico-hero-wrap {
  background: #7fb2b1;
  padding: var(--size-8) var(--size-4);
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
@media (min-width: 1024px) {
  .medico-hero-wrap {
    padding: var(--size-8) var(--size-9);
  }
}
.medico-hero {
  max-width: 1280px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  align-items: center;
  gap: clamp(2rem, 4vw, 5rem);
  padding: clamp(2rem, 4vw, 3.5rem);
  background: #f5f5f5;
  border-radius: 1.8rem;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
}

.medico-hero__content {
  max-width: 620px;
}

.medico-hero__title {
  margin: 0 0 1.5rem;
font-family: var(--ff-titoli);
  line-height: 1;
  color:var(--color-primario);
}

.medico-hero__description {
  margin-bottom: 2rem;
  font-family: var(--ff-paragrafi);
  font-size: 1.15rem;
  line-height: 1.55;
  color: var(--color-paragrafi);
}

.medico-hero__button {
    font-family: var(--ff-paragrafi);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  padding: 1rem 1.6rem;
  border-radius: 0.45rem;
  background:var(--color-verde-cuore);
  color: #fff;
  text-decoration: none;
  font-size: 1.05rem;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.medico-hero__button:hover {
  opacity: 0.92;
  transform: translateY(-1px);
  color: #fff!important;
}

.medico-hero__media {
  display: flex;
  justify-content: center;
  align-items: center;
}

.medico-hero__image {
  width: min(100%, 380px);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid var(--color-primario);
  background: #f5f5f5;
}

.medico-hero__image--placeholder {
  background:
    radial-gradient(circle at center, transparent 63%, #0d7b7b 64%, #0d7b7b 66%, transparent 67%);
}

@media (max-width: 900px) {
  .medico-hero {
    grid-template-columns: 1fr;
    text-align: left;
  }

  .medico-hero__media {
    order: -1;
  }

  .medico-hero__image {
    width: min(75vw, 320px);
  }
}

.medico-hero__button:visited,
.medico-hero__button:focus {
  color: #fff;
  text-decoration: none;
}
.masthead-sentinel {
    height:0px!important;
    margin-bottom: 62px !important;
}
.medico-prestazioni-wrap {
  padding: var(--size-8) var(--size-4) var(--size-9);
}

.medico-prestazioni {
  max-width: 1280px;
  margin-inline: auto;
}

.medico-prestazioni__title {
  margin: 0 0 var(--size-6);
  font-family: var(--ff-titoli);
  color: var(--color-primario);
  font-size: 2.5rem;
  text-align: center;
}

.medico-prestazioni__list {
  display: flex;
  flex-direction: column;
  gap: var(--size-4);
}

.prestazione-accordion {
  border-radius: var(--radius-3);
  overflow: hidden;
}

.prestazione-accordion__head {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--size-4);
  padding: 1.25rem 1.5rem;
  background: #fff;
  border-radius: var(--radius-3);
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
  cursor: pointer;
  text-align: left;
  font: inherit;
}
.prestazione-accordion__head:hover {
  background: var(--color-sfondo-chiaro);
}

.prestazione-accordion__title {
  font-family: "Optima", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  color: var(--color-paragrafi);
  font-size: 1.2rem;
}
.prestazione-accordion__title:hover {
  color: var(--color-primario);
  font-weight: bold;
}
.prestazione-accordion.is-open .prestazione-accordion__title {
  color: var(--color-primario);
  font-weight: bold;
}
.prestazione-accordion.is-open .prestazione-accordion__head {
  background: var(--color-accordtion-open);
}
.prestazione-accordion__icon {
  font-size: 2rem;
  line-height: 1;
  color: var(--color-verde-cuore);
  flex-shrink: 0;
}

.prestazione-accordion__content {
  display: none;
  background: #fff;
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
}

.prestazione-accordion.is-open .prestazione-accordion__content {
  display: block;
}

.prestazione-accordion.is-open .prestazione-accordion__icon {
  transform: rotate(45deg);
}

.prestazione-accordion__inner {
  padding: 1.5rem;
}

.prestazione-accordion__excerpt {
  margin: 0 0 1.5rem;
  font-family: var(--ff-paragrafi);
  color: var(--color-paragrafi);
  line-height: 1.6;
}

.prestazione-accordion__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  padding: 1rem 1.6rem;
  border-radius: 0.45rem;
  background: var(--color-verde-cuore);
  color: #fff;
  text-decoration: none;
  font-family: var(--ff-paragrafi);
}

.prestazione-accordion__button:hover,
.prestazione-accordion__button:focus,
.prestazione-accordion__button:visited {
  color: #fff!important;
  text-decoration: none;
}
/* Percorsi ------------------------------------------------*/
.medico-percorsi {
  padding-block: var(--size-8);
}

.medico-percorsi__inner {
  width: min(100% - var(--size-6), 1200px);
  margin-inline: auto;
}

.medico-percorsi__title {
  margin-bottom: var(--size-6);
  font-size: var(--font-size-7);
  line-height: var(--font-lineheight-1);
}

/* GRID: fino a 3 card */
.medico-percorsi__wrapper.is-grid {
  display: grid;
  gap: var(--size-5);
  grid-template-columns: repeat(3, 1fr);
}

/* CAROUSEL: oltre 3 card */
.medico-percorsi__wrapper.is-carousel {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(260px, 320px);
  gap: var(--size-5);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  padding-block-end: var(--size-2);
  padding-inline-end: var(--size-2);
}

/* scrollbar */
.medico-percorsi__wrapper.is-carousel::-webkit-scrollbar {
  height: 8px;
}

.medico-percorsi__wrapper.is-carousel::-webkit-scrollbar-thumb {
  background: var(--gray-5);
  border-radius: var(--radius-round);
}

.medico-percorsi {
  padding-block: var(--size-8);
}

.medico-percorsi__inner {
  width: min(100% - var(--size-6), 1200px);
  margin-inline: auto;
}

.medico-percorsi__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--size-4);
  margin-bottom: var(--size-6);
}

.medico-percorsi__title {
  margin: 0;
  font-size: var(--font-size-7);
  line-height: var(--font-lineheight-1);
  font-family: var(--ff-titoli);
}

.medico-percorsi__nav {
  display: flex;
  gap: var(--size-2);
}

.medico-percorsi__arrow {
  inline-size: 44px;
  block-size: 44px;
  border: 1px solid var(--gray-4);
  border-radius: var(--radius-round);
  background: white;
  color: var(--gray-8);
  cursor: pointer;
  font-size: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: transform .2s var(--ease-3), box-shadow .2s var(--ease-3), opacity .2s var(--ease-3);
  box-shadow: var(--shadow-2);
}

.medico-percorsi__arrow:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-3);
}

.medico-percorsi__arrow:disabled {
  opacity: .4;
  cursor: default;
  transform: none;
  box-shadow: var(--shadow-1);
}

.medico-percorsi__viewport {
  overflow: hidden;
}

.medico-percorsi__track.is-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--size-5);
}

.medico-percorsi__track.is-carousel {
  display: flex;
  gap: var(--size-5);
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.medico-percorsi__track.is-carousel::-webkit-scrollbar {
  display: none;
}

/* 3 card visibili */
.medico-percorsi__track.is-carousel .percorso-card {
  flex: 0 0 calc((100% - (var(--size-5) * 2)) / 3);
}

.percorso-card {
  display: block;
  text-decoration: none;
  color: inherit;
  min-width: 0;
}

.percorso-card__media {
  position: relative;
  min-height: 220px;
  border-radius: var(--radius-4);
  overflow: hidden;
  box-shadow: var(--shadow-3);
  background: var(--gray-2);
  isolation: isolate;
}

.percorso-card__media img {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  transition: transform .35s var(--ease-3);
}

.percorso-card__overlay {
  position: absolute;
  inset: 0;
  background: rgb(17 112 112 / 82%);
  z-index: 1;
  transition: background .25s var(--ease-3);
}

.percorso-card__content {
  position: absolute;
  inset-inline: var(--size-5);
  inset-block-end: var(--size-5);
  z-index: 2;
  color: var(--gray-9);
}

.percorso-card__title {
  margin: 0;
  font-size: var(--font-size-6);
  line-height: var(--font-lineheight-1);
}
h3.percorso-card__title  {
  font-family: var(--ff-titoli);
  color: #fff;
}
p.percorso-card__desc {
  font-family: var(--ff-paragrafi);
  color: var(--color-border);
}
.percorso-card__desc {
  margin-top: var(--size-2);
  font-size: var(--font-size-3);
  line-height: var(--font-lineheight-3);
  max-inline-size: 24ch;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.percorso-card:hover .percorso-card__media img,
.percorso-card:focus-visible .percorso-card__media img {
  transform: scale(1.05);
}

.percorso-card:hover .percorso-card__overlay,
.percorso-card:focus-visible .percorso-card__overlay {
  background: rgb(17 112 112 / 92%);
}

/* tablet */
@media (max-width: 900px) {
  .medico-percorsi__track.is-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .medico-percorsi__track.is-carousel .percorso-card {
    flex: 0 0 calc((100% - var(--size-5)) / 2);
  }
}

/* mobile */
@media (max-width: 640px) {
  .medico-percorsi__head {
    align-items: flex-start;
    flex-direction: column;
  }

  .medico-percorsi__track.is-grid {
    grid-template-columns: 1fr;
  }

  .medico-percorsi__track.is-carousel .percorso-card {
    flex: 0 0 100%;
  }
}

.medico-editor-wrap {
  padding: var(--size-3) var(--size-2);
}

.medico-editor {
  max-width: 1400px;
  margin: 0 auto;
  font-size: var(--font-size-4);
  font-family: var(--ff-paragrafi);
  line-height: 1.7;
}

.medico-editor h2,
.medico-editor h3 {
  font-family: var(--ff-titoli);
  font-size: var(--font-size-6);
  margin-top: var(--size-7);
  margin-bottom: var(--size-3);
  color: var(--color-primario);
  text-align: center;
}

.medico-editor p {
  margin-bottom: var(--size-4);
}

.medico-editor ul,
.medico-editor ol {
  margin-bottom: var(--size-4);
  padding-left: 1.5rem;
}