
corpo{
/*	  max-width: 1100px; 
      margin: 0 auto;*/
      padding: 20px 20px;
      background-color: #ffffff;
	  margin: 20px auto;
	 
}
.page-riga-cent {
  text-align: center;

}
.container {
      max-width: 1100px;
      margin: 0 auto;
 /*     padding: 40px 20px;*/
      background-color: #ffffff;
/*	  margin: 20px auto;*/
     }

  .container  h2 {
	  padding-left: 20px;
	  padding-right: 20px;
  }
  .container h3{
	  padding-bottom: 1.6em;
	  padding-top: 1.6em;
	  text-align: center;
  }
  .container  p {
      margin-bottom: 0;
	  margin-top:0;
	  padding-bottom: 0;
	  padding-left: 20px;
	  padding-right: 20px;
	  text-align: justify;
	  font-size: 1.2em;
		line-height: 1.6em;
	color: #003366;
/*	 border: 1px solid black;*/
    } 

.container .puntato {
  margin: 1em 0;
  font-size: 1.2em;
  color: #003366;
  padding-right: 20px;
  margin-left: 2em;  /* rientro dell’elenco */
  padding-left: 1em; /* spazio per i pallini */
  line-height: 1.6;  /* migliora leggibilità */
    }

   ul li {
      margin-bottom: 0.5em;
	text-align: justify;
    }
	
/* da sovrascrivere   */
	
.text-with-img {
/*	border: 1px solid black;*/
  display: flow-root;            /* compatto e pulito; altern.: .text-with-img::after clear */
  margin: 0 0 0 0;          /* spazio sotto il blocco */

}
.bordo{
	border: 1px solid red;
}
/* immagine flottante comune */
/*.text-with-img .float-img {
  float: left;                   /* default; sovrascritto dalla classe .right */
/*  display: block;                /* evita gap di baseline */
/*  margin: 0 1.25rem 0 0;    /* destra e sotto: spazio tra immagine e testo */
/*  max-width: 40%;                /* % o px a seconda del layout */
/*  height: auto;
/*  border-radius: 4px;            /* optional */
/*  border: 1px solid red;*/
/*}*/
/* nuova in prova*/
.text-with-img .float-img {
  float: left;                   /* default; sovrascritto dalla classe .right */
  display: block;                /* evita gap di baseline */
  margin: 0 1.25rem 0 0;         /* spazio tra immagine e testo */
  max-width: 60%;                /* % o px a seconda del layout */
  height: auto;
  border-radius: 15px;           /* arrotondamento */
  padding: 10px;                 /* padding interno */
  box-sizing: border-box;        /* così il padding non rompe le dimensioni */
}
.text-with-img .float-img-p {
  float: left;                   /* default; sovrascritto dalla classe .right */
  display: block;                /* evita gap di baseline */
  margin: 0 1.25rem 0 0;         /* spazio tra immagine e testo */
  max-width: 30%;                /* % o px a seconda del layout */
  height: auto;
  border-radius: 15px;           /* arrotondamento */
  padding: 10px;                 /* padding interno */
  box-sizing: border-box;        /* così il padding non rompe le dimensioni */
}
/* se vuoi immagine a destra */
.text-with-img.right .float-img {
  float: right;
  margin: 0 0 0 1.25rem;    /* sinistra e sotto */
}
/* se vuoi immagine a destra PROVA*/
.text-with-img.right .float-img {
  float: right;
  margin: 0 0 0 1.25rem;         /* spazio quando è a destra */
}
.text-with-img .text,
.text-with-img .text p {
  margin: 0;
  padding: 0;
 	  text-align: justify;
	  font-size: 1.2em;
	line-height: 1.6em;
	color: #003366;
}

/* testo dentro .text: gestisci i paragrafi generati dal JSON */
.text-with-img .text p + p {
  margin-top: 0.9rem;            /* spazio tra paragrafi interni */
}

/* quando il testo sotto l'immagine riprende, non ci sarà spazio aggiuntivo indesiderato.
   In caso servisse un "clear" visibile, puoi usare .text-with-img::after per il clearing (ma flow-root già lo evita) */
.text-with-img::after {
  content: "";
  display: table;
  clear: both;
}
/* da sovrascrivere fine   */


	
	
.img-left {
  float: left;
  margin: 0 15px 15px 0; /* spazio a destra e sotto */
  max-width: 40%;        /* evita che l'immagine sia troppo grande */
  height: auto;
}

.img-right {
  float: right;
  margin: 0 0 15px 15px; /* spazio a sinistra e sotto */
  max-width: 40%;
  height: auto;
}

/* Per evitare problemi di overflow sotto immagini flottanti */
article::after {
  content: "";
  display: block;
  clear: both;
}

.close {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 25px;
  cursor: pointer;
  color: #003366;
}


.image-right, .image-left, .video-right, .video-left {
  display: flex;
  align-items: center;
  margin: 2em 0;
}

.image-right img, .image-left img,
.video-right iframe, .video-left iframe,
.video-right video, .video-left video {
  max-width: 40%;
  border-radius: 10px;
  margin-top: 0;
}

.image-right .text, .video-right .text {
  margin-left: 20px;
  flex: 1;
}

.image-left .text, .video-left .text {
  margin-right: 20px;
  flex: 1;
}

.image-centered, .video-centered {
  text-align: center;
  margin: 2em 0;

}
.image-cent {
  text-align: center;   /* centra il contenuto */
  margin: 2em 0;
}
.image-centered img {
  display: inline-block;
  width: 40%;       /* su desktop: 40% della larghezza pagina */
  height: auto;     /* mantiene le proporzioni originali */
  max-width: 100%;  /* evita di uscire dai bordi */
  border-radius: 10px;
}
.image-cent img {
  display: inline-block;
  width: 80%;       /* su desktop: 40% della larghezza pagina */
  height: auto;     /* mantiene le proporzioni originali */
  max-width: 100%;  /* evita di uscire dai bordi */
  border-radius: 10px;
}
.imgCent {
  width: 80%;
  height: auto;
 // border: 1px solid red;
}
.member-gallery {
  display: flex;
  gap: 15px;
  margin-top: 20px;
  position: relative;
  z-index: 0;
//  border: 1px solid red;
}
.member-info{
//	border: 1px solid black;
}

.member-gallery .img-box {
//	border: 1px solid black;
  flex: 1;
  border-radius: 10px;
  position: relative;
  overflow: visible; /* ✅ permette all'immagine di uscire */
}

.member-gallery img {
  width: 60%;
  height: auto;
  transition: transform 0.4s ease, box-shadow 0.3s ease;
  cursor: pointer;
  display: block;
  position: relative;
  z-index: 1;
}
.icon-mail {
    width: 24px !important;
    height: 19px !important;
    max-width: none !important;
    vertical-align: middle;
}
/* Effetto zoom e overlay */
.member-gallery .img-box:hover img {
  transform: scale(2.8);   /* ingrandisce */
  z-index: 1000;           /* va sopra tutto */
  box-shadow: 0 8px 20px rgba(0,0,0,0.4); /* effetto rilievo */
}
.tooltip {
  position: relative;
  cursor: pointer;
  font-weight: bold;   /* parola in grassetto */
  color: #004080;      /* blu */
}

/* Tooltip box */
.tooltip .tooltiptext {
  visibility: hidden;
  background-color: #cce2ed; /* stesso azzurro della testata */
  color: #003060;            /* blu */
  border-radius: 10px;
  padding: 10px 15px;
  position: absolute;
  z-index: 10;

  /* Tooltip largo su PC */
  min-width: 500px;
  max-width: 900px;
  white-space: normal;
  text-align: left;
  font-weight: normal; /* testo non bold */

  /* Posizione sopra la parola su PC */
  top: -120%;   /* Posizionato sopra la parola */
  left: 50%;
  transform: translateX(-50%);  /* Centrare il tooltip sopra la parola */

  /* Animazione */
  opacity: 0;
  transition: opacity 0.3s;
}

/* Mostra tooltip */
.tooltip:hover .tooltiptext,
.tooltip:active .tooltiptext {
  visibility: visible;
  opacity: 1;
}
.faq-container{
    max-width:800px;
    margin:auto;
	text-align: justify;
}

.faq-item{
    background:white;
	font-size: 1.2em;
	line-height: 1.6em;
    margin-bottom:15px;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 2px 6px rgba(0,0,0,0.1);
}

.faq-question{
    padding:18px 20px;
    cursor:pointer;
    font-weight:bold;
    position:relative;
    transition:0.3s;
}

.faq-question:hover{
    background:#f0f0f0;
}

.faq-question.active{
    background:#dfefff;
    color:#003366;
}

.faq-answer{
    max-height:0;
    overflow:hidden;
    padding:0 20px;
    transition:max-height 0.4s ease, padding 0.3s ease;
    background:#fafafa;
}

.faq-answer.show{
    padding:20px;
    max-height:300px;
}

.faq-number{
    color:#003366;
    margin-right:10px;
}
/* 🔹 Versione mobile ottimizzata */
@media (max-width: 600px) {
  .tooltip .tooltiptext {
    min-width: 70vw;     /* Impostiamo una larghezza minima che è 70% dello schermo */
    max-width: 90vw;     /* Tooltip può arrivare massimo al 90% della larghezza */
    left: 50%;            /* Centrare il tooltip */
    transform: translateX(-70%); /* Centrare orizzontalmente */
    text-align: center;   /* testo centrato */
  }
}
/* --- VERSIONE RESPONSIVE --- */
@media (max-width: 768px) {
  .image-centered img {
    width: 60%;  /* su tablet/cellulare: diventa più grande */
  }
  .img-left, .img-right {
    float: none;
    display: block;
    margin: 0 auto 0 auto; /* centrata */
    max-width: 100%;
padding-bottom: 0;
  }
  container {
	margin: 0 20px;
    padding: 20px 20px;*/
  }
    .team-member {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .team-member img {
    width: 220px;
    max-width: 90%;
  }

  .member-info {
    width: 100%;
  }

  .member-info p {
    text-align: left;
  }

}

@media (max-width: 480px) {
  .image-centered img {
    width: 80%;  /* su smartphone piccoli: ancora più grande */
  }
}

 /*   .image-centered {
      text-align: center;
      margin: 2em 0;
    }

    .image-centered img {

     max-width: 70%; 
      height: auto;
      border-radius: 6px;
    }
*/
    @media (max-width: 768px) {
      .image-right,
      .image-left {
        flex-direction: column;
      }

      .image-right img,
      .image-left img {
        max-width: 100%;
        margin-bottom: 1em;
      }

      .image-left .text,
      .image-right .text {
        padding: 0;
      }
.text-with-img {
    display: flex;
    flex-direction: column-reverse;      /* impila testo e immagine */
  }

  .text-with-img .float-img {
    float: none;                 /* annulla float */
    margin: 1rem auto 0;         /* centrata sotto il testo */
    max-width: 80%;              /* un po’ più grande su mobile */
  }
  .text-with-img .float-img-p {
    float: none;                 /* annulla float */
    margin: 1rem auto 0;         /* centrata sotto il testo */
    max-width: 60%;              /* un po’ più grande su mobile */
  }
    }