.elementor-99 .elementor-element.elementor-element-2872b2a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:8rem;--padding-bottom:8rem;--padding-left:0rem;--padding-right:0rem;}body.elementor-page-99:not(.elementor-motion-effects-element-type-background), body.elementor-page-99 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#06194C;}:root{--page-title-display:none;}/* Start custom CSS */@import url('https://fonts.googleapis.com/css2?family=Archivo:wdth,wght@100..125,400..900&family=IBM+Plex+Mono:wght@500;600&family=IBM+Plex+Sans:wght@400;500&display=swap');

/* =========================================
   VARIABILI E CONTENITORE
   ========================================= */

body.elementor-page-99 .em-events-list {
  --abisso: #040f30;
  --blu: #081d58;
  --corrente: #c80049;
  --corrente-scuro: #96003a;
  --display: "Archivo", system-ui, sans-serif;
  --testo: "IBM Plex Sans", system-ui, sans-serif;
  --dati: "IBM Plex Mono", ui-monospace, monospace;

  display: flex !important;
  flex-direction: column !important;
  gap: 0.4rem !important;
  font-family: var(--testo);
}

/* =========================================
   SINGOLO EVENTO
   ========================================= */

body.elementor-page-99 .em-events-list .em-event.em-item {
  --default-border: var(--corrente) !important;

  position: relative;
  display: flex !important;
  grid-template-columns: none !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 13rem;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--abisso) !important;
  color: #fff !important;
  box-shadow: none !important;
  cursor: pointer;
  transition:
    transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 0.3s ease;
}

/* Linea rossa laterale */
body.elementor-page-99 .em-events-list .em-event.em-item::after {
  content: "";
  position: absolute;
  z-index: 3;
  inset-block: 0;
  left: 0;
  width: 4px;
  background: var(--corrente);
  transition: width 0.3s ease;
}

body.elementor-page-99 .em-events-list .em-event.em-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 45px -28px rgba(4, 15, 48, 0.8) !important;
}

body.elementor-page-99 .em-events-list .em-event.em-item:hover::after {
  width: 8px;
}

/* =========================================
   COLONNA DATA
   ========================================= */

body.elementor-page-99 .em-events-list .em-event.em-item .em-item-image {
  display: block !important;
  flex: 0 0 clamp(7rem, 14vw, 10rem);
  width: clamp(7rem, 14vw, 10rem) !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
  background: rgba(255, 255, 255, 0.05) !important;
}

/* Assicura che l’involucro occupi tutta l’altezza */
body.elementor-page-99 .em-events-list .em-item-image-wrapper {
  width: 100%;
  height: 100%;
}

/* Elimina il grande calendario originale */
body.elementor-page-99 .em-events-list .em-item-image-placeholder {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 100% !important;
  padding: 1.75rem 0 !important;
  aspect-ratio: auto !important;
  background: none !important;
  background-image: none !important;
  opacity: 1 !important;
}

body.elementor-page-99 .em-events-list .em-item-image-placeholder::before,
body.elementor-page-99 .em-events-list .em-item-image-placeholder::after {
  content: none !important;
}

/* Data */
body.elementor-page-99 .em-events-list .em-item-image-placeholder .date {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  height: auto !important;
  gap: 0.25rem;
}

body.elementor-page-99 .em-events-list .em-item-image-placeholder .date .day {
  display: block !important;
  align-self: auto !important;
  color: #fff !important;
  font-family: var(--display) !important;
  font-stretch: 125%;
  font-size: clamp(2.8rem, 5vw, 3.6rem) !important;
  font-weight: 900 !important;
  line-height: 0.85 !important;
  letter-spacing: -0.05em;
}

body.elementor-page-99 .em-events-list .em-item-image-placeholder .date .month {
  display: block !important;
  color: var(--corrente) !important;
  font-family: var(--dati) !important;
  font-size: 0.66rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

/* =========================================
   CONTENUTO EVENTO
   ========================================= */

body.elementor-page-99 .em-events-list .em-event.em-item .em-item-info {
  display: flex !important;
  flex: 1;
  flex-direction: column !important;
  min-width: 0;
  margin: 0 !important;
  padding: 1.6rem clamp(1.25rem, 3vw, 2rem) !important;
  border: 0 !important;
  border-top: 0 !important;
  border-left: 0 !important;
  background: transparent !important;
}

/* Titolo */
body.elementor-page-99 .em-events-list h3.em-item-title {
  margin: 0 0 1rem !important;
  padding: 0 !important;
  color: #fff !important;
  font-family: var(--display) !important;
  font-stretch: 112%;
  font-size: clamp(1.3rem, 2.4vw, 1.8rem) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase;
}

body.elementor-page-99 .em-events-list h3.em-item-title a {
  color: #fff !important;
  background: transparent !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

body.elementor-page-99 .em-events-list h3.em-item-title a:hover {
  color: var(--corrente) !important;
}

/* =========================================
   METADATI
   ========================================= */

body.elementor-page-99 .em-events-list .em-item-meta {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 0.5rem 1.6rem !important;
  width: 100% !important;
  margin: 0 !important;
}

body.elementor-page-99 .em-events-list .em-item-meta > div {
  flex: 0 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
}

body.elementor-page-99 .em-events-list .em-item-meta-line {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center !important;
  gap: 0.5rem;
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.62) !important;
  font-family: var(--dati) !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Link luogo e categoria */
body.elementor-page-99 .em-events-list .em-item-meta-line a {
  color: rgba(255, 255, 255, 0.62) !important;
  font-style: normal !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}

body.elementor-page-99 .em-events-list .em-item-meta-line a:hover {
  color: #fff !important;
  border-color: var(--corrente);
}

/* Icone */
body.elementor-page-99 .em-events-list .em-item-meta-line .em-icon {
  flex: 0 0 0.95rem;
  width: 0.95rem !important;
  height: 0.95rem !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: transparent !important;
  background-position: center !important;
  background-size: contain !important;
  filter: brightness(0) invert(1);
  opacity: 0.7;
}

/* Prezzo */
body.elementor-page-99 .em-events-list .em-event-prices {
  color: #fff !important;
  font-family: var(--display) !important;
  font-stretch: 112%;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none;
}

/* Nasconde orario e categoria */
body.elementor-page-99 .em-events-list .em-event-time,
body.elementor-page-99 .em-events-list .em-event-categories {
  display: none !important;
}

/* Descrizione */
body.elementor-page-99 .em-events-list .em-item-desc {
  margin: 1rem 0 0 !important;
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 0.95rem !important;
  line-height: 1.55;
}

body.elementor-page-99 .em-events-list .em-item-desc:empty {
  display: none !important;
}

/* =========================================
   PULSANTI
   ========================================= */

body.elementor-page-99 .em-events-list .em-item-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
  margin-top: auto !important;
  padding-top: 1.5rem;
}

body.elementor-page-99 .em-events-list .em-item-actions .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.55rem;
  width: auto !important;
  min-height: auto !important;
  margin: 0 !important;
  padding: 0.95rem 1.4rem !important;
  border: 2px solid transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--display) !important;
  font-stretch: 112%;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.02em;
  text-decoration: none !important;
  text-transform: uppercase;
  transition:
    transform 0.18s ease,
    background 0.18s ease,
    border-color 0.18s ease;
}

body.elementor-page-99 .em-events-list .em-item-actions .button:hover {
  transform: translateY(-2px);
}

/* Altre informazioni */
body.elementor-page-99 .em-events-list .em-item-read-more {
  border-color: rgba(255, 255, 255, 0.45) !important;
  background: transparent !important;
  color: #fff !important;
}

body.elementor-page-99 .em-events-list .em-item-read-more:hover {
  border-color: rgba(255, 255, 255, 0.7) !important;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #fff !important;
}

/* Prenota ora */
body.elementor-page-99 .em-events-list .em-event-book-now {
  border-color: var(--corrente) !important;
  background: var(--corrente) !important;
  color: #fff !important;
}

body.elementor-page-99 .em-events-list .em-event-book-now:hover {
  border-color: var(--corrente-scuro) !important;
  background: var(--corrente-scuro) !important;
  color: #fff !important;
}

/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 640px) {
  body.elementor-page-99 .em-events-list .em-event.em-item {
    flex-direction: column !important;
    min-height: 0;
  }

  body.elementor-page-99 .em-events-list .em-event.em-item .em-item-image {
    flex: none;
    width: 100% !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
  }

  body.elementor-page-99 .em-events-list .em-item-image-placeholder {
    padding: 1.1rem !important;
  }

  body.elementor-page-99 .em-events-list .em-item-image-placeholder .date {
    flex-direction: row !important;
    align-items: baseline !important;
    gap: 0.6rem;
  }

  body.elementor-page-99 .em-events-list .em-item-image-placeholder .date .day {
    font-size: 2.4rem !important;
  }

  body.elementor-page-99 .em-events-list .em-event.em-item .em-item-info {
    padding: 1.4rem !important;
  }

  body.elementor-page-99 .em-events-list .em-item-meta {
    flex-direction: column !important;
    align-items: flex-start;
    gap: 0.6rem !important;
  }

  body.elementor-page-99 .em-events-list .em-item-actions {
    width: 100%;
  }

  body.elementor-page-99 .em-events-list .em-item-actions .button {
    flex: 1 1 100%;
    width: 100% !important;
  }
}

/* Accessibilità: riduce le animazioni */
@media (prefers-reduced-motion: reduce) {
  body.elementor-page-99 .em-events-list .em-event.em-item,
  body.elementor-page-99 .em-events-list .em-item-actions .button {
    transition: none !important;
  }
}


/* Card più compatte */
body.elementor-page-99 .em-events-list .em-event.em-item {
  min-height: 0 !important;
}

body.elementor-page-99 .em-events-list .em-event.em-item .em-item-info {
  height: auto !important;
  padding: 1.6rem 2rem !important;
}

/* Avvicina i pulsanti ai dati */
body.elementor-page-99 .em-events-list .em-item-actions {
  margin-top: 1.4rem !important;
  padding-top: 0 !important;
}

/* Primo pulsante: trasparente */
body.elementor-page-99 .em-events-list .em-item-actions .button:first-child {
  border: 2px solid rgba(255, 255, 255, 0.5) !important;
  background: transparent !important;
  color: #fff !important;
}

body.elementor-page-99 .em-events-list .em-item-actions .button:first-child:hover {
  border-color: #fff !important;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #fff !important;
}

/* Ultimo pulsante: rosso */
body.elementor-page-99 .em-events-list .em-item-actions .button:last-child {
  border: 2px solid #c80049 !important;
  background: #c80049 !important;
  color: #fff !important;
}

body.elementor-page-99 .em-events-list .em-item-actions .button:last-child:hover {
  border-color: #96003a !important;
  background: #96003a !important;
  color: #fff !important;
}

/* Anche icone e testo interni devono essere bianchi */
body.elementor-page-99 .em-events-list .em-item-actions .button span,
body.elementor-page-99 .em-events-list .em-item-actions .button i {
  color: inherit !important;
}

body.elementor-page-99 .em-events-list .em-item-actions .button:last-child .em-icon {
  filter: brightness(0) invert(1) !important;
  opacity: 1 !important;
}






/* Sfondo della pagina prenotazioni */
.page-id-99 .em-view-container {
  padding: clamp(48px, 7vw, 90px) clamp(18px, 4vw, 64px);
  background:
    radial-gradient(
      circle at 85% 0,
      rgba(208, 0, 69, 0.12),
      transparent 420px
    ),
    #eef2f9;
}

/* Elenco */
.page-id-99 .em-events-list {
  width: min(100%, 1180px);
  margin-inline: auto;
  display: grid !important;
  gap: 16px !important;
}

/* Ticket evento */
.page-id-99 .em-events-list .em-event {
  display: grid !important;
  grid-template-columns: 155px minmax(0, 1fr);
  overflow: hidden;

  background: #06194c !important;
  border: 1px solid rgba(6, 25, 76, 0.16) !important;
  border-left: 5px solid #d00045 !important;
  box-shadow: 0 18px 45px rgba(2, 13, 43, 0.12);

  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease;
}

@media (hover: hover) {
  .page-id-99 .em-events-list .em-event:hover {
    transform: translateY(-4px);
    box-shadow: 0 25px 55px rgba(2, 13, 43, 0.20);
  }
}

/* Blocco data */
.page-id-99 .em-item-image {
  min-height: 185px;
  display: grid !important;
  place-items: center;
  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.07),
      transparent
    ),
    #101b3d !important;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.page-id-99 .em-item-image .day {
  color: #ffffff !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 64px !important;
  font-weight: 850 !important;
  line-height: 0.85 !important;
}

.page-id-99 .em-item-image .month {
  color: #d00045 !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

/* Contenuto */
.page-id-99 .em-item-info {
  padding: clamp(26px, 4vw, 44px) !important;
}

.page-id-99 .em-item-title,
.page-id-99 .em-item-title a {
  color: #ffffff !important;
  font-family: "Archivo", sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em;
  text-transform: uppercase;
}

.page-id-99 .em-event-meta {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin-top: 18px !important;
}

.page-id-99 .em-item-meta-line {
  color: rgba(255, 255, 255, 0.68) !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 12px !important;
  letter-spacing: 0.05em;
}

.page-id-99 .em-item-meta-line a {
  color: rgba(255, 255, 255, 0.76) !important;
}

/* Pulsanti */
.page-id-99 .em-item-actions {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px !important;
  margin-top: 28px !important;
}

.page-id-99 .em-item-actions .button {
  min-height: 44px;
  padding: 13px 24px !important;
  border-radius: 0 !important;

  font-family: "Archivo", sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.page-id-99 .em-item-read-more {
  background: transparent !important;
  color: #ffffff !important;
  border: 2px solid rgba(255, 255, 255, 0.55) !important;
}

.page-id-99 .em-event-book-now {
  background: #d00045 !important;
  color: #ffffff !important;
  border: 2px solid #d00045 !important;
}

.page-id-99 .em-item-actions .button:focus-visible {
  outline: 3px solid #ffc400 !important;
  outline-offset: 4px;
}

/* Mobile */
@media (max-width: 767px) {
  .page-id-99 .em-view-container {
    padding: 28px 14px 60px;
  }

  .page-id-99 .em-events-list .em-event {
    grid-template-columns: 1fr;
  }

  .page-id-99 .em-item-image {
    min-height: 92px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }

  .page-id-99 .em-item-image .day {
    font-size: 48px !important;
  }

  .page-id-99 .em-item-info {
    padding: 26px !important;
  }

  .page-id-99 .em-item-actions {
    flex-direction: column;
  }

  .page-id-99 .em-item-actions .button {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}


html {
  background: #020d2b;
}

body.page-id-99 {
  min-height: 100vh;

  background:
    radial-gradient(
      ellipse 70% 55% at 88% 8%,
      rgba(208, 0, 69, 0.28),
      transparent 70%
    ),
    radial-gradient(
      ellipse 55% 45% at 5% 65%,
      rgba(21, 58, 145, 0.24),
      transparent 72%
    ),
    linear-gradient(
      145deg,
      #0a1d52 0%,
      #04143e 42%,
      #020d2b 100%
    ) !important;

  background-attachment: fixed !important;
}

/* Rende trasparenti i wrapper che creavano il rettangolo */
.page-id-99 #page,
.page-id-99 main#content,
.page-id-99 main#content article,
.page-id-99 main#content .entry-content,
.page-id-99 .em-view-container {
  background: transparent !important;
}

/* Mantiene la corretta area verticale */
.page-id-99 main#content {
  min-height: 70vh;
}

/* Evita problemi di rendering su mobile */
@media (max-width: 767px) {
  body.page-id-99 {
    background-attachment: scroll !important;
  }
}/* End custom CSS */