.fascia-consenso {
  position: fixed;
  left: 16px; right: 16px; bottom: 16px;
  z-index: 60;
  max-width: 560px;
  margin-left: auto;
  background: #FFFFFF;
  color: #1E2422;
  border: 1px solid rgba(30, 36, 34, .12);
  border-radius: 18px;
  box-shadow: 0 18px 46px rgba(30, 36, 34, .16);
  padding: 22px 22px 18px;
  font-family: Onest, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  transform: translateY(14px);
  opacity: 0;
  transition: transform .38s cubic-bezier(.16, 1, .3, 1), opacity .38s cubic-bezier(.16, 1, .3, 1);
}
.fascia-consenso[data-visibile="si"] { transform: translateY(0); opacity: 1; }

.consenso-titolo {
  margin: 0 0 7px;
  font-size: 16px;
  font-weight: 650;
  letter-spacing: -.2px;
}
.consenso-testo {
  margin: 0 0 16px;
  font-size: 14.5px;
  line-height: 1.55;
  color: #3C4542;
}
.consenso-testo a { color: #3C4542; text-decoration: underline; text-underline-offset: 3px; }
.consenso-testo a:hover { color: #1E2422; }

.consenso-azioni { display: flex; align-items: center; gap: 10px; }
.consenso-bottone {
  flex: 1 1 0;
  min-width: 0;
  height: 46px;
  border-radius: 23px;
  font: inherit;
  font-size: 15px;
  font-weight: 650;
  cursor: pointer;
  transition: transform .2s cubic-bezier(.16, 1, .3, 1), background .2s ease, border-color .2s ease;
}
.consenso-bottone:hover { transform: translateY(-1px); }
.consenso-bottone:focus-visible { outline: 2px solid #5B3DF5; outline-offset: 2px; }
.consenso-si { background: #1E2422; color: #FAF7F1; border: 1px solid #1E2422; }
.consenso-si:hover { background: #000000; }
.consenso-no { background: transparent; color: #1E2422; border: 1px solid rgba(30, 36, 34, .28); }
.consenso-no:hover { border-color: rgba(30, 36, 34, .5); }

@media (max-width: 760px) {
  .fascia-consenso { left: 12px; right: 12px; bottom: 12px; padding: 19px 18px 16px; border-radius: 16px; }
  .consenso-titolo { font-size: 15.5px; }
  .consenso-testo { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .fascia-consenso { transition: none; transform: none; opacity: 1; }
}
