.aa-event-card {
  background: var(--aa-white);
  border: 1px solid var(--aa-light-grey);
  color: var(--aa-text);
  text-decoration: none;
}

.aa-event-card__image {
  position: relative;
}

.aa-event-card__image img {
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.aa-event-card__date {
  position: absolute;
  top: 0;
  left: 0;
  background: var(--aa-red);
  color: #fff;
  padding: .8rem;
  text-align: center;
  font-weight: 700;
  min-width: 56px;
}

.aa-event-card__body {
  padding: 1.2rem;
}

.aa-event-card__title {
  font-size: 1.25rem;
  font-weight: 400;
  margin-bottom: .4rem;
}

.aa-event-card__meta {
  color: var(--aa-muted);
  font-size: .85rem;
}

.aa-event-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.aa-map-placeholder {
  min-height: 320px;
  background: var(--aa-light-grey);
  display: flex;
  align-items: center;
  justify-content: center;
}

.aa-menu-toggle {
  display: none;
  border: 0;
  background: transparent;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--aa-dark);
}

.aa-icon {
  width: 42px;
  height: 42px;
  display: inline-flex;
  flex: 0 0 42px;
  background: var(--aa-red);
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}

.aa-icon--clock { mask-image: url("../images/icons/clock.svg"); -webkit-mask-image: url("../images/icons/clock.svg"); }
.aa-icon--pin { mask-image: url("../images/icons/pin.svg"); -webkit-mask-image: url("../images/icons/pin.svg"); }
.aa-icon--accessibility { mask-image: url("../images/icons/accessibility.svg"); -webkit-mask-image: url("../images/icons/accessibility.svg"); }
.aa-icon--mail { mask-image: url("../images/icons/mail.svg"); -webkit-mask-image: url("../images/icons/mail.svg"); }
.aa-icon--users { mask-image: url("../images/icons/users.svg"); -webkit-mask-image: url("../images/icons/users.svg"); }
.aa-icon--school { mask-image: url("../images/icons/school.svg"); -webkit-mask-image: url("../images/icons/school.svg"); }
.aa-icon--building { mask-image: url("../images/icons/building.svg"); -webkit-mask-image: url("../images/icons/building.svg"); }
.aa-icon--stage { mask-image: url("../images/icons/stage.svg"); -webkit-mask-image: url("../images/icons/stage.svg"); }
.aa-icon--monitor { mask-image: url("../images/icons/monitor.svg"); -webkit-mask-image: url("../images/icons/monitor.svg"); }
.aa-icon--megaphone { mask-image: url("../images/icons/megaphone.svg"); -webkit-mask-image: url("../images/icons/megaphone.svg"); }
.aa-icon--paper-plane { mask-image: url("../images/icons/paper-plane.svg"); -webkit-mask-image: url("../images/icons/paper-plane.svg"); }
.aa-icon--expand { mask-image: url("../images/icons/expand.svg"); -webkit-mask-image: url("../images/icons/expand.svg"); }

.aa-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 1.6rem;
}

.aa-section-header a,
.aa-more {
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
}

.aa-structure__inner {
  display: grid;
  grid-template-columns: .8fr 1.7fr;
  gap: 3rem;
  align-items: center;
}

.aa-structure__facts {
  display: grid;
  grid-template-columns: repeat(4, 1fr) 1.6fr;
  align-items: stretch;
  background: rgba(247, 244, 242, .78);
}

.aa-structure__image img {
  width: 100%;
  height: 100%;
  min-height: 210px;
  object-fit: cover;
}

.aa-audience {
  background: var(--aa-cream-deep);
  border-top: 1px solid var(--aa-light-grey);
  border-bottom: 1px solid var(--aa-light-grey);
  padding: 2rem 0;
}

.aa-audience__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.aa-audience-card {
  display: flex;
  gap: 1.4rem;
  padding: 1.6rem;
  color: var(--aa-text);
  text-decoration: none;
  border-right: 1px solid var(--aa-light-grey);
}

.aa-audience-card:last-child {
  border-right: 0;
}

.aa-audience-card strong,
.aa-audience-card small,
.aa-audience-card em {
  display: block;
}

.aa-audience-card small {
  margin-top: .25rem;
  color: var(--aa-muted);
}

.aa-audience-card em {
  margin-top: .6rem;
  color: var(--aa-red);
  font-style: normal;
}

.aa-gallery {
  padding: 2rem 0 1.5rem;
}

.aa-gallery__strip {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: .8rem;
}

.aa-gallery__strip img {
  width: 100%;
  height: 120px;
  object-fit: cover;
}

.aa-cta-red {
  background: var(--aa-red);
  color: #fff;
  padding: 2.4rem 0;
  overflow: hidden;
}

.aa-cta-red__inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 2rem;
  align-items: center;
}

.aa-cta-red .aa-icon {
  background: #fff;
  width: 64px;
  height: 64px;
}

.aa-cta-red h2 {
  margin-bottom: .4rem;
}

.aa-map-home {
  display: grid;
  grid-template-columns: 320px 1fr;
  background: var(--aa-cream);
  min-height: 220px;
}

.aa-map-home__text {
  padding: 2rem;
  background: var(--aa-cream);
}

.aa-map-home__text h3 {
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0;
}

.aa-map-home__map {
  position: relative;
  min-height: 220px;
}

.aa-leaflet-map {
  width: 100%;
  height: 100%;
  min-height: 220px;
  z-index: 1;
}

.aa-map-popup {
  font-family: "IBM Plex Sans", Arial, sans-serif;
}

.aa-map-popup strong {
  display: block;
  margin-bottom: .25rem;
}

.aa-footer {
  background: var(--aa-dark);
  color: #fff;
}

.aa-footer a {
  color: #fff;
  text-decoration: none;
}

.aa-footer__inner {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 3rem;
}

.aa-footer img {
  width: 180px;
}

.aa-footer nav {
  display: grid;
  gap: .6rem;
}

/* EU Cookie Compliance - Auditorium Albergotti */

#sliding-popup {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: 24px !important;
  top: auto !important;
  width: min(820px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  max-height: calc(100vh - 48px) !important;
  transform: translateX(-50%) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  background: #fff !important;
  color: var(--aa-dark) !important;
  border: 0 !important;
  border-top: 4px solid var(--aa-red) !important;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .22) !important;
  font-family: "IBM Plex Sans", Arial, sans-serif !important;
  z-index: 10000 !important;
}

#sliding-popup * {
  box-sizing: border-box !important;
}

#sliding-popup .eu-cookie-compliance-content {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
  width: 100% !important;
  padding: 1.45rem !important;
}

#sliding-popup .eu-cookie-compliance-message {
  width: 100% !important;
  color: var(--aa-dark) !important;
  font-size: .95rem !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}

#sliding-popup .eu-cookie-compliance-more-button {
  display: none !important;
}

#sliding-popup .eu-cookie-compliance-categories {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.1rem !important;
  width: 100% !important;
  margin: 0 !important;
}

#sliding-popup .eu-cookie-compliance-category {
  display: block !important;
  min-width: 0 !important;
}

#sliding-popup .eu-cookie-compliance-category > div:first-child {
  display: flex !important;
  align-items: center !important;
  gap: .55rem !important;
  margin-bottom: .35rem !important;
}

#sliding-popup .eu-cookie-compliance-category input {
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
}

#sliding-popup .eu-cookie-compliance-category label {
  color: var(--aa-dark) !important;
  font-weight: 700 !important;
  font-size: .95rem !important;
  line-height: 1.25 !important;
}

#sliding-popup .eu-cookie-compliance-category-description {
  color: var(--aa-muted) !important;
  font-size: .84rem !important;
  line-height: 1.35 !important;
  padding-left: 1.55rem !important;
}

/* Il contenitore originario resta visibile finché JS sposta il bottone */
#sliding-popup .eu-cookie-compliance-categories-buttons {
  display: none !important;
}

/* Dopo il JS, i tre pulsanti sono tutti dentro #popup-buttons */
#sliding-popup #popup-buttons.eu-cookie-compliance-buttons {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  gap: .75rem !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  margin: .25rem 0 0 !important;
  padding: 0 !important;
}

#sliding-popup #popup-buttons.eu-cookie-compliance-buttons > button:not(.eu-cookie-withdraw-button) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 170px !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  border: 1px solid var(--aa-red) !important;
  background: var(--aa-red) !important;
  color: #fff !important;
  padding: .82rem 1.05rem !important;
  font-size: .76rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .03em !important;
  min-height: 42px !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  font-family: "IBM Plex Sans", Arial, sans-serif !important;
}

#sliding-popup #popup-buttons .eu-cookie-compliance-save-preferences-button {
  background: #fff !important;
  color: var(--aa-red) !important;
}

#sliding-popup #popup-buttons .eu-cookie-withdraw-button {
  display: none !important;
}

#sliding-popup button:hover,
#sliding-popup button:focus {
  outline: 3px solid rgba(196, 54, 28, .25) !important;
  outline-offset: 2px !important;
}

.eu-cookie-withdraw-banner {
  display: none !important;
}

.eu-cookie-withdraw-tab {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

@media (max-width: 760px) {
  #sliding-popup {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    width: auto !important;
    max-width: none !important;
    transform: none !important;
  }

  #sliding-popup .eu-cookie-compliance-content {
    padding: 1rem !important;
  }

  #sliding-popup .eu-cookie-compliance-categories {
    grid-template-columns: 1fr !important;
    gap: .85rem !important;
  }

  #sliding-popup #popup-buttons.eu-cookie-compliance-buttons {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: .75rem !important;
  }

  #sliding-popup #popup-buttons.eu-cookie-compliance-buttons > button:not(.eu-cookie-withdraw-button) {
    width: 100% !important;
    min-width: 0 !important;
  }
}

.aa-cookie-settings-link {
  appearance: none;
  border: 0;
  background: transparent;
  color: #fff;
  padding: 0;
  margin: 0;
  font: inherit;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}

.aa-cookie-settings-link:hover,
.aa-cookie-settings-link:focus {
  color: var(--aa-red);
  outline: none;
}

/* FIX FINALE pulsanti EU Cookie Compliance */

#sliding-popup div#popup-buttons.eu-cookie-compliance-buttons.eu-cookie-compliance-has-categories {
  display: grid !important;
  grid-template-columns: repeat(3, max-content) !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 1.25rem 0 0 !important;
  padding: 0 !important;
}

#sliding-popup div#popup-buttons.eu-cookie-compliance-buttons.eu-cookie-compliance-has-categories > button:not(.eu-cookie-withdraw-button) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 170px !important;
  max-width: none !important;
  margin: 0 !important;
  flex: none !important;
}

#sliding-popup div#popup-buttons.eu-cookie-compliance-buttons.eu-cookie-compliance-has-categories > .eu-cookie-withdraw-button {
  display: none !important;
}

@media (max-width: 640px) {
  #sliding-popup div#popup-buttons.eu-cookie-compliance-buttons.eu-cookie-compliance-has-categories {
    grid-template-columns: 1fr !important;
  }

  #sliding-popup div#popup-buttons.eu-cookie-compliance-buttons.eu-cookie-compliance-has-categories > button:not(.eu-cookie-withdraw-button) {
    width: 100% !important;
    min-width: 0 !important;
  }
}



/* FIX FINALE EU Cookie Compliance - pulsanti */

#sliding-popup {
  overflow-x: hidden !important;
}

#sliding-popup .eu-cookie-compliance-banner,
#sliding-popup .eu-cookie-compliance-content {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

#sliding-popup .eu-cookie-compliance-categories-buttons {
  display: none !important;
}

#sliding-popup #popup-buttons.eu-cookie-compliance-buttons {
  position: static !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;

  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;

  width: 100% !important;
  max-width: 620px !important;
  margin: 1.25rem auto 0 !important;
  padding: 0 !important;
}

#sliding-popup #popup-buttons.eu-cookie-compliance-buttons > button:not(.eu-cookie-withdraw-button) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
}

#sliding-popup #popup-buttons .eu-cookie-withdraw-button {
  display: none !important;
}

@media (max-width: 760px) {
  #sliding-popup #popup-buttons.eu-cookie-compliance-buttons {
    grid-template-columns: 1fr !important;
    max-width: none !important;
  }

  #sliding-popup #popup-buttons.eu-cookie-compliance-buttons > button:not(.eu-cookie-withdraw-button) {
    width: 100% !important;
  }
}

/*-----*/


#sliding-popup {
  border-top: 0 !important;
}

#sliding-popup:empty {
  display: none !important;
}

#sliding-popup[aria-hidden="true"] {
  display: none !important;
}

#sliding-popup .eu-cookie-compliance-banner {
  border-top: 4px solid var(--aa-red) !important;
}