/* Iubenda Cookie Banner - Custom Tiscali styles
   Layout: modale centrata con backdrop scuro, card bianca, bottoni viola in basso a destra. */

#iubenda-cs-banner {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(0, 0, 0, 0.5) !important;
  padding: 16px !important;
  font-family:
    Roboto, system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

#iubenda-cs-banner .iubenda-cs-container,
#iubenda-cs-banner .ts_iub_cnt {
  width: 100% !important;
  max-width: 940px !important;
  display: flex !important;
  justify-content: center !important;
}

#iubenda-cs-banner .iubenda-cs-content {
  background: #ffffff !important;
  border-radius: 12px !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25) !important;
  width: 100% !important;
  max-height: calc(100vh - 32px) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

#iubenda-cs-banner .iub_ts_rtnl {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
}

#iubenda-cs-banner .iub_ts_bc,
#iubenda-cs-banner .iubenda-custom-content {
  padding: 28px 32px 20px !important;
  overflow-y: auto !important;
  color: #000 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
}

#iubenda-cs-banner #iubenda-cs-title {
  font-size: 18px !important;
  margin-bottom: 8px !important;
  color: #000 !important;
}

#iubenda-cs-banner #iubenda-cs-paragraph {
  font-size: 14px !important;
  line-height: 1.55 !important;
}

#iubenda-cs-banner #iubenda-cs-paragraph a,
#iubenda-cs-banner .iub_ts_bc a {
  color: #5f57a1 !important;
  text-decoration: underline !important;
}

#iubenda-cs-banner .iubenda-cs-opt-group,
#iubenda-cs-banner .ts_iub_btn_grp {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 28px 0 0 32px !important;
  background: #fff !important;
}

#iubenda-cs-banner .iubenda-cs-opt-group button,
#iubenda-cs-banner .ts_iub_btn_grp button {
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  cursor: pointer !important;
  line-height: 1.2 !important;
  transition:
    background-color 0.15s ease,
    color 0.15s ease,
    border-color 0.15s ease !important;
}

/* Personalizza / Rifiuta = viola pieno (allineato a CMS, ticket demand) */
#iubenda-cs-banner .ts_iub_btn_pr,
#iubenda-cs-banner .ts_iub_btn_rjct,
#iubenda-cs-banner .iubenda-cs-customize-btn,
#iubenda-cs-banner .iubenda-cs-reject-btn {
  background: #5f57a1 !important;
  color: #ffffff !important;
  border-color: #5f57a1 !important;
}

#iubenda-cs-banner .ts_iub_btn_pr:hover,
#iubenda-cs-banner .ts_iub_btn_rjct:hover,
#iubenda-cs-banner .iubenda-cs-customize-btn:hover,
#iubenda-cs-banner .iubenda-cs-reject-btn:hover {
  background: #4d4789 !important;
  border-color: #4d4789 !important;
}

/* Accetta = full viola */
#iubenda-cs-banner .ts_iub_btn_ok,
#iubenda-cs-banner .iubenda-cs-accept-btn {
  background: #5f57a1 !important;
  color: #ffffff !important;
  border-color: #5f57a1 !important;
}

#iubenda-cs-banner .ts_iub_btn_ok:hover,
#iubenda-cs-banner .iubenda-cs-accept-btn:hover {
  background: #4d4789 !important;
  border-color: #4d4789 !important;
}

@media (max-width: 640px) {
  /* Mobile: modale fullscreen, niente backdrop padding, niente border-radius.
     align-items: stretch sul banner cosi' la catena flex riempie davvero 100dvh
     fino in fondo (con align-items:center il container restava alto quanto il
     contenuto e i bottoni non finivano alla base dello schermo). */
  #iubenda-cs-banner {
    padding: 0 !important;
    align-items: stretch !important;
    justify-content: stretch !important;
  }
  #iubenda-cs-banner .iubenda-cs-container,
  #iubenda-cs-banner .ts_iub_cnt {
    max-width: 100% !important;
    width: 100% !important;
    height: 100dvh !important;
    align-items: stretch !important;
  }
  #iubenda-cs-banner .iubenda-cs-content {
    border-radius: 0 !important;
    height: 100% !important;
    max-height: 100% !important;
    box-shadow: none !important;
  }

  /* Testo: scrollabile, occupa tutta l'altezza ma con padding-bottom pari
     all'ingombro del gruppo bottoni fixed (3 bottoni stacked + safe-area). */
  #iubenda-cs-banner .iub_ts_bc,
  #iubenda-cs-banner .iubenda-custom-content {
    padding: 20px 18px calc(170px + env(safe-area-inset-bottom)) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    height: auto !important;
    max-height: none !important;
  }

  /* Bottoni: position fixed in fondo allo schermo, width 100%, sopra al testo.
     Cosi' restano visibili anche se la flex chain di Iubenda si rompe. */
  #iubenda-cs-banner .iubenda-cs-opt-group,
  #iubenda-cs-banner .ts_iub_btn_grp {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 2 !important;
    flex-direction: column !important;
    padding: 12px 18px calc(12px + env(safe-area-inset-bottom)) !important;
    border-top: 1px solid #ececec !important;
    background: #fff !important;
    gap: 8px !important;
    margin: 0 !important;
  }
  #iubenda-cs-banner .iubenda-cs-opt-group button,
  #iubenda-cs-banner .ts_iub_btn_grp button {
    width: 100% !important;
    flex: 0 0 auto !important;
  }
}
