*,
*::after,
*::before {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-decoration: none;
  list-style-type: none;
}

/* Previene overflow orizzontale globalmente */
* {
  max-width: 100%;
}
:root {
  --bg: #f1efff;
  --primary: #FFFFFF;
  --border: #000000;
}
::-webkit-scrollbar {
  width: 0;
}
html {
  scroll-behavior: smooth;
  overflow-x: hidden; /* Previene scroll orizzontale */
}
body {
  background-color: transparent;
  overflow-x: hidden; /* Previene scroll orizzontale */
  max-width: 100vw; /* Limita la larghezza al viewport */
}
/* .container {
  max-width: 1440px;
  padding: 0 10px;
  margin: 0 auto;
  overflow-x: hidden; 
  width: 100%;
} */

#page {
  padding-left: 0px;
  padding-left: 0px;
}

.swiper {
  width: 100%;
  height: 530px;
  margin-top: 25px;
  overflow: visible; /* Permette di vedere le slide laterali */
  max-width: 100vw; /* Limita la larghezza al viewport */
}
.swiper-slide {
  width: 350.61px;
  height: 500px;
  transition: transform 0.3s ease;
  bottom: 20px;
}
.swiper-slide img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: all 0.3s ease;
}

/* .swiper-pagination,
.swiper-pagination-clickable,
.swiper-pagination-bullets,
.swiper-pagination-horizontal {
  bottom: 90% !important;
} */

/* Stili per le card dello swiper con pulsanti sovrapposti */
.slide-card {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 1.5rem;
  overflow: hidden;
}

.slide-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* .slide-overlay {
 display: flex;
width: 25.193rem;
height: 35.927rem;
padding: 1.25rem 0.75rem;
flex-direction: column;
justify-content: flex-end;
align-items: center;
gap: 0.625rem;
flex-shrink: 0;
border-radius: 2.111rem;
background: rgba(0, 0, 0, 0.01);
box-shadow: 0px 0px 20.464px 0px rgba(255, 251, 251, 0.60) inset;
} */

.slide-overlay {
  position: absolute;
  bottom: 4%;
  left: 5%;
  width: 90%;
  display: flex;
  justify-content: center;
  transition: all 0.3s ease;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
}

.slide-buttons {
  display: flex;
  gap: 10px;
}


.btn-hourprice {
  display: flex;
  padding: 0rem 1.25rem;
  justify-content: center;
  align-items: center;
  gap: 0.36544rem;
}

.slide-buttons button {
  padding: 10px 20px;
  border: none;
  border-radius: 16px;
  cursor: pointer;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
  box-shadow: 0 4px 15px rgba(0,0,0,0.2);
  color: #000;
  font-family: "DM Sans";
  font-size: 21.88px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%; /* 35.799px */
  letter-spacing: -3%;
}

.btn-info {
  display: inline-flex;
  height: 2.5rem;
  padding: 0.82225rem 1.09631rem;
  justify-content: center;
  align-items: center;
  gap: 0.91356rem;
  /* border-radius: 0.5rem; */
  background: rgba(255, 255, 255, 0.50);
  backdrop-filter: blur(16.88780975341797px);
  flex-shrink: 0;
}

.btn-info svg {
  width: 20px;
  height: 20px;
  fill: #FFF !important;
}

.btn-info svg path {
  fill: #FFF !important;
}

.btn-info:hover {
  background: rgba(255,255,255,1);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.3);
}

.btn-info:hover svg,
.btn-info:hover svg path {
  fill: #000 !important;
}

.btn-tickets {
  display: flex;
  width: 12.8rem;
  height: 2.5rem;
  padding: 0.54813rem 3.65431rem;
  justify-content: center;
  align-items: center;
  gap: 0.27406rem;
  flex-shrink: 0;
  background: #FFF;
  color: black;
}

.clock {
    width: 12.06px;
    height: 12.06px;
    overflow: visible;
  }

.btn-tickets svg {
  width: 22px;
  height: 22px;
  fill: #000 !important;
}

.btn-tickets svg path {
  fill: #000 !important;
}

.btn-tickets:hover {
  transform: translateY(-2px);
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(16.88780975341797px);
}

.btn-tickets:hover svg,
.btn-tickets:hover svg path {
  fill: #FFF !important;
}
/* .swiper-slide-active img {
  border: 2px solid var(--border);
  transform: scale(1.05);
} */
.swiper-pagination {
  position: absolute;
  bottom: 0;
}
.mySwiper .swiper-pagination .swiper-pagination-bullet-active {
  background: var(--primary);
}

@media (max-width: 800px) {
  .eventi-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (max-width: 500px) {
  .swiper {
    height: 450px;
  }
  .swiper-slide {
    width: 300px;
    height: 426.78px;
  }
  .btn-info {
    height: 2rem;
  }
  .btn-tickets {
    height: 2rem;
    width: 10rem;
  }
  .eventi-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px;
    margin-top: 20px;
  }

  .slide-buttons button {
    font-size: 17.74px;
  }

  .round-button {
    display: inline-flex;
    width: 55px;
    height: 54.265px;
    padding: 10px;
    align-items: flex-start;
    gap: 10px;
    border-radius: 68.758px;

  }

  .btn-hourprice {
    font-size: 12.26px;
    gap: 4.35px;
    line-height: 0px !important;
  }
  
  .clock {
    width: 9.778px;
    height: 9.778px;
    object-view-box: 0 0 9.778 9.778;
  }
}

@media (max-width: 350px) {
  .eventi-grid {
    grid-template-columns: repeat(1, 1fr) !important;
  }

  .swiper {
    height: 365px;
  }
  .swiper-slide {
    width: 240px;
    height: 341.42px;
  }
}

/* Sfondo trasparente per l'intera sezione slider */
#movie-slider {
  background-color: transparent !important;
}

/* Contenitore interno (swiper e container) */
#movie-slider .container,
#movie-slider .swiper {
  background-color: transparent !important;
}

/* Singole slide */
#movie-slider .swiper-slide {
  background-color: transparent !important;
}

#eventi-button #futuri-wrapper{
  background-color: transparent !important;
}

/* Assicuriamoci che le immagini si carichino correttamente */
.swiper-slide img {
  display: block;
  object-fit: cover;
  transition: all 0.3s ease;
}

/* Effetto per eventi passati - più leggero */
.swiper-slide img.past {
  filter: grayscale(50%) brightness(0.8);
  opacity: 0.8;
  transition: filter 0.3s ease;
}

#futuri-wrapper {
  display: grid;
  gap: 20px;
  margin-top: 40px;
}

#eventi-mese {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  padding: 20px 0;
}

.eventi-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4 colonne sopra i 500px */
  gap: 20px;
  margin-top: 20px;
}
.evento-card {
  background: transparent;
  /* border-radius: 2rem; */
  overflow: hidden;
  text-align: left;
  transition: transform 0.2s ease;
  /* max-width: 18vw; */
}
.evento-card:hover {
  transform: scale(1.03);
}
.evento-thumb {
  /* width: 100%;
  height: 180px; */
  object-fit: cover;
  border-radius: 1.5rem;
  box-shadow: 0px 0px 28px 0px rgba(255, 251, 251, 0.60) inset;
}
.evento-title {
  font-size: clamp(1rem, 0.809rem + 1.2641vw, 1.4rem);
  margin: 10px 0 5px;
}
.evento-data {
  color: #555;
  font-size: clamp(1rem, 0.809rem + 1.2641vw, 1.4rem);
  margin-bottom: 10px;
}
