/* sezione del video del Ministro: sfere decorative ai lati, tagliate dai bordi della sezione */
.video-percorso{
  position: relative;
  overflow: hidden;
}
.video-percorso .container{
  position: relative;
  z-index: 1;
}
.deco-sfera{
  position: absolute;
  height: auto;
  clip-path: circle(44.5% at 50% 47.5%); /* toglie il fondo nero dell'immagine (bordo compreso) */
}
/* grande, in alto a sinistra */
.deco-sfera-sx{
  width: min(530px, 37vw); /* in proporzione alla finestra, 530px a 1440 */
  top: -5px;
  left: -20px;
}
/* piu' piccola, in basso a destra, tagliata dal bordo inferiore e da quello destro */
.deco-sfera-dx{
  width: min(440px, 30.5vw);
  bottom: -9vw; /* -130px a 1440 */
  right: -45px;
}
.titolo-video{
  max-width: 560px;
}

.video-container{
	border-radius: 40px;
	overflow: hidden;
}

.video-container iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
}

/* video nelle card delle scorse edizioni: anteprime piccole come nel mockup */
.video-container.video-piccolo{
  max-width: 320px;
  margin: 0 auto;
  border-radius: 12px;
}

.border-light-blue{
	border-color: var(--bs-primary-bg-subtle) !important;
}

/* fasce chiare con le frasi su Milano e Napoli: da desktop la foto rotonda esce dalla fascia */
.testo-fascia{
  color: var(--ngai-blu);
  font-size: calc(1.325rem + .9vw);
  line-height: 1.25;
}
@media (min-width: 1200px){
  .testo-fascia{
    font-size: 2rem;
  }
}
@media (max-width: 991.98px){
  .fascia-percorso + .fascia-percorso{
    margin-top: 3rem;
  }
}
@media (min-width: 992px){
  .fascia-percorso{
    margin-block: 6rem;
  }
  .fascia-percorso .foto-fascia{
    position: relative;
    margin-block: -4.5rem -6.5rem;
  }
}


.edizione .btn{
	width: 200px;
    height: 38px;
    align-items: center;
    display: flex;
    justify-content: center;
}

* { box-sizing: border-box; }

.carousel-container {
  position: relative;
  width: 90%;
  max-width: 800px;
  height: 50vw;
  max-height: 400px;
  margin: 50px auto;
  perspective: 1500px;
  overflow: visible;
}

.coverflow-carousel .carousel-wrapper {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.coverflow-carousel .carousel-track {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  position: relative;
  transition: transform 1s ease; /* scorrimento più lento */
}

.coverflow-carousel .carousel-slide {
  position: absolute;
  width: 60%;
  height: 80%;
  border-radius: 10px;
  overflow: hidden;
  transform-origin: center center;
  opacity: 0;
  transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1), opacity 1s ease; /* più lento */
}

.coverflow-carousel .carousel-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Slide centrale */
.coverflow-carousel .carousel-slide.active {
  opacity: 1;
  transform: translateX(0) translateZ(100px) scale(1.2);
  z-index: 3;
}

/* Slide laterali vicine alla centrale */
.coverflow-carousel .carousel-slide.left {
  transform: translateX(-60%) translateY(0) translateZ(0px) rotateY(35deg) scale(0.9);
  opacity: 1;
  z-index: 2;
}

.coverflow-carousel .carousel-slide.right {
  transform: translateX(60%) translateY(0) translateZ(0px) rotateY(-35deg) scale(0.9);
  opacity: 1;
  z-index: 2;
}

/* Ultime slide esterne più vicine e leggermente sotto */
.coverflow-carousel .carousel-slide.left2 {
  transform: translateX(-100%) translateY(15px) translateZ(-30px) rotateY(50deg) scale(0.7);
  opacity: 1;
  z-index: 1;
}

.coverflow-carousel .carousel-slide.right2 {
  transform: translateX(100%) translateY(15px) translateZ(-30px) rotateY(-50deg) scale(0.7);
  opacity: 1;
  z-index: 1;
}

/* Pulsanti */
button.prev, button.next {
  font-size: 2em;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 5;
  color: #fff;
}


/* Pallini */
.carousel-dots {
  display: flex;
  gap: 10px;
  z-index: 5;
  padding: 0 30px;
  margin-top: 13px;
}

.carousel-dots button {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: none;
  background: #fff;
  cursor: pointer;
}
.carousel-dots button.active {
  background: var(--ngai-orchid);
}

@media (min-width: 992px){
  .border-text{
    border-left: 1px solid var(--ngai-sky-blue);
    padding-left: 1rem;
  }
}

/* Media Queries per dispositivi piccoli */
@media (min-width:992px) and (max-width: 1199.98px) { 
  .coverflow-carousel .carousel-slide {
    width: 70%;
    height: 80%;
  }
  .coverflow-carousel .carousel-slide.left {
    transform: translateX(-35%) translateY(0) rotateY(25deg) scale(0.75);
  }
  .coverflow-carousel .carousel-slide.right {
    transform: translateX(35%) translateY(0) rotateY(-25deg) scale(0.75);
  }
  .coverflow-carousel .carousel-slide.left2 {
    transform: translateX(-50%) translateY(10px) rotateY(40deg) scale(0.55);
  }
  .coverflow-carousel .carousel-slide.right2 {
    transform: translateX(50%) translateY(10px) rotateY(-40deg) scale(0.55);
  } 
}


@media (max-width: 991.98px) {
  .coverflow-carousel .carousel-slide {
    width: 60%;
    height: 90%;
  }
  .coverflow-carousel .carousel-slide.left {
    transform: translateX(-40%) translateY(0) rotateY(20deg) scale(0.7);
  }
  .coverflow-carousel .carousel-slide.right {
    transform: translateX(40%) translateY(0) rotateY(-20deg) scale(0.7);
  }
  .coverflow-carousel .carousel-slide.left2 {
    transform: translateX(-60%) translateY(8px) rotateY(30deg) scale(0.45);
  }
  .coverflow-carousel .carousel-slide.right2 {
    transform: translateX(60%) translateY(8px) rotateY(-30deg) scale(0.45);
  }
  button.prev, button.next {
    font-size: 1.5em;
  }
  .card-tematiche .card-title{
  	margin-left: 20px;
  }

}


/***********************/