/* Box introduttivo grande */
/* Bordi sopra e sotto il box introduttivo */
.intro-box::before {
  content: "";
  display: block;
  width: 100%;
  background: #000;
  position: absolute;
  top: -40px;
  left: 0;
}

.intro-box::after {
  content: "";
  display: block;
  width: 100%;
  background: #000;
  position: absolute;
  bottom: -40px;
  left: 0;
}

/* Box introduttivo grande */
.intro-box {
  max-width: 1000px;
  min-height: 300px;
  margin: 80px auto 80px;  /* Spazio per i bordi */
  padding: 20px;
  position: relative;  /* Per ::before e ::after */
  overflow: visible;
}

.intro-row {
  display: flex;
  gap: 20px;
  align-items: stretch;  /* Altezza uguale per tutte le colonne */
  min-height: 260px;
}

.intro-col {
  flex: 1;
  line-height: 1.2;
}

/* Colonna sinistra - ALLINEATA IN ALTO */
.intro-left {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;  /* ← In alto */
  align-items: flex-start;
  gap: 15px;
}

.intro-left h2 {
  margin: 0;
  font-size: 1.8em;
  line-height: 1.2;
  font-weight: bold;
}

/* Tutto il testo in strong */
.intro-left,
.intro-right {
  font-weight: bold;
}

/* Colonna centrale (foto) */
.intro-center {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  position: relative;
}

.intro-photo {
  width: 299px;
  position: relative;
}

.intro-photo img {
  display: block;
  width: 100%;
  height: auto;
  margin-top: -50px;     /* Esce sopra */
  margin-bottom: -50px;  /* Esce sotto */
}

/* Colonna destra - ALLINEATA IN BASSO */
.intro-right {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;  /* ← In basso */
  line-height: 1.2;
}

.dedication-author {
  text-align: right;
  margin-top: 20px;
  line-height: 1.2;
  font-style: italic;
}

/* Video responsive */
.video-container {
  max-width: 800px;
  margin: 40px auto;
  text-align: center;
}

/* Responsive */
@media (max-width: 1100px) {
  .intro-box::before,
  .intro-box::after {
    display: none;  /* Nascondi bordi su mobile */
  }
  
  .intro-box {
    margin: 40px auto;
  }
  
  .intro-row {
    flex-direction: column;
    align-items: center;
  }
  
  .intro-col {
    width: 100%;
    text-align: center;
  }
  
  .intro-left,
  .intro-right {
    align-items: center;
    justify-content: center;
  }
  
  .intro-photo {
    margin: 20px auto;
  }
  
  .intro-photo img {
    margin-top: 0;
    margin-bottom: 0;
  }
  
  .dedication-author {
    text-align: center;
  }
}

@media (max-width: 768px) {
  .intro-box {
    padding: 15px;
  }
  
  .intro-left h2 {
    font-size: 1.5em;
  }
}
/* Contenuto principale con immagini laterali */
.story-content {
  max-width: 900px;
  margin: 40px auto;
  padding: 30px;
  text-align: left;
}

.story-content p {
  line-height: 1.6;
  margin: 20px 0;
}

/* Immagini float */
.float-right {
  float: right;
  position: relative;
  right: -50px;  
  margin: 0 0 0 10px;
}

/* Ombra sull’immagine */
.float-right img {
  display: block;
  box-shadow: 0 6px 18px rgb(0, 0, 0); /* ombra elegante */
  border-radius: 3px; /* opzionale, per ammorbidire gli angoli */
}


/* Immagini con posizionamento relativo */
.image-container {
  position: relative;
  margin: 40px 0;
  text-align: center;
}

.image-offset-left img {
  display: block;
  max-width: none;
  width: 120%;        /* leggermente più larga del box */
  margin-left: -10%;
  box-shadow: 0 4px 12px rgba(4, 4, 4, 1);
}



.image-offset-left-small img{
  display: block;
  max-width: none;
  width: 120%;        /* leggermente più larga del box */
  margin-left: -10%;
  box-shadow: 0 4px 12px rgba(4, 4, 4, 1);
}

/* Timeline box */
.timeline-box {
  max-width: 1000px;
  margin: 40px auto;
  padding: 30px;
  text-align: left;
  font-weight: normal;
}

.timeline-box h3 {
  margin: 0 0 20px 0;
  font-weight: bold;
}

.timeline-box ul {
  text-align: left;
  list-style-type: disc;
  padding-left: 40px;
  margin: 20px 0;
}

.timeline-box li {
  margin: 10px 0;
  line-height: 1.6;
}

/* Link nella storia */
.story-content a {
  color: yellow;
  text-decoration: underline;
}

.story-content a:hover {
  color: #ffffff;
}

/* Citazioni */
.quote {
  font-style: italic;
  margin: 20px 0;
  padding-left: 20px;
}

/* Responsive */
@media (max-width: 1100px) {
  .intro-box-large {
    height: auto;
  }
  
  .intro-photo {
    position: static;
    margin: 10px auto;
    text-align: center;
  }
  
  .image-offset-left,
  .image-offset-left-small {
    left: 0;
  }
}

@media (max-width: 768px) {
  .float-right {
    float: none;
    display: block;
    margin: 20px auto;
    max-width: 100%;
    text-align: center; /* centra il contenuto */
  }

  .float-right img {
    display: inline-block; /* evita stretching */
    max-width: 100%;        /* responsive */
    height: auto;
  }
}

  

  
  .timeline-box {
    padding: 20px;
  }
  
  .timeline-box ul {
    padding-left: 20px;
  }
