/* Pop-up di benvenuto e consenso newsletter del footer */
html.ac-no-scroll { overflow: hidden; }

.ac-benvenuto {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.ac-benvenuto[hidden] { display: none; }
.ac-benvenuto.is-aperto { opacity: 1; }

.ac-benvenuto__velo {
  position: absolute;
  inset: 0;
  background: rgba(43, 31, 24, 0.55);
  backdrop-filter: blur(2px);
}

.ac-benvenuto__box {
  position: relative;
  width: 100%;
  max-width: 460px;
  max-height: calc(100vh - 2rem);
  overflow-y: auto;
  background: var(--paper, #FAF6EC);
  color: var(--ink, #2B1F18);
  border: 1px solid var(--gold, #C9A76A);
  outline: 1px solid var(--gold, #C9A76A);
  outline-offset: -8px;
  box-shadow: var(--shadow-lg);
  padding: clamp(2rem, 6vw, 3rem) clamp(1.5rem, 5vw, 2.5rem);
  text-align: center;
  transform: translateY(16px);
  transition: transform 0.3s ease;
}
.ac-benvenuto.is-aperto .ac-benvenuto__box { transform: none; }

.ac-benvenuto__x {
  position: absolute;
  top: 0.75rem;
  right: 0.9rem;
  width: 2.25rem;
  height: 2.25rem;
  font-size: 1.6rem;
  line-height: 1;
  color: var(--ink-soft, #5A4A3E);
  background: transparent;
  border: 0;
  cursor: pointer;
}
.ac-benvenuto__x:hover { color: var(--bordeaux, #6B1F2A); }

.ac-benvenuto__titolo {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(1.7rem, 5vw, 2.2rem);
  line-height: 1.15;
  color: var(--bordeaux, #6B1F2A);
  margin: 0.9rem 0 0.8rem;
}
.ac-benvenuto__titolo,
.ac-benvenuto__titolo em {
  font-weight: 400;
  font-style: normal;
}
.ac-benvenuto__testo {
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.55;
  color: var(--ink-soft, #5A4A3E);
  margin: 0 0 1.4rem;
}

.ac-benvenuto__form { display: grid; gap: 0.9rem; text-align: left; }
.ac-benvenuto__form input[type="email"],
.ac-benvenuto__form input[name="nome"] {
  width: 100%;
  padding: 0.85rem 1rem;
  font-family: var(--font-body);
  font-size: 1rem;
  background: #fff;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  color: var(--ink);
}
.ac-benvenuto__form input[type="email"]:focus,
.ac-benvenuto__form input[name="nome"]:focus { outline: 2px solid var(--gold); outline-offset: 1px; }

.ac-benvenuto__consenso,
.ac-iscrizione__consenso {
  display: flex;
  gap: 0.55rem;
  align-items: flex-start;
  font-size: 0.82rem;
  line-height: 1.45;
  cursor: pointer;
}
.ac-benvenuto__consenso { color: var(--ink-soft); }
.ac-benvenuto__consenso input,
.ac-iscrizione__consenso input { margin-top: 0.2rem; accent-color: var(--bordeaux); flex-shrink: 0; }
.ac-benvenuto__consenso a { color: var(--bordeaux); }

.ac-benvenuto__invia {
  width: 100%;
  padding: 0.95rem 1.2rem;
  font-family: var(--font-body);
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--cream, #F4EEE2);
  background: var(--bordeaux, #6B1F2A);
  border: 0;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: background 0.25s ease;
}
.ac-benvenuto__invia:hover { background: var(--bordeaux-deep, #4A1219); }
.ac-benvenuto__invia:disabled { opacity: 0.7; cursor: wait; }

.ac-benvenuto__errore,
.ac-iscrizione__errore { margin: 0; font-size: 0.85rem; color: #B3261E; }
.ac-benvenuto__nota {
  margin: 1.1rem 0 0;
  font-size: 0.8rem;
  font-style: italic;
  color: var(--ink-faded, #8B7866);
}
.ac-benvenuto [data-passo="codice"] .ac-benvenuto__invia { margin-top: 1.4rem; }

.ac-codice {
  display: flex;
  align-items: stretch;
  margin: 1.2rem 0 1rem;
  border: 2px dashed var(--gold-deep, #A6843D);
  background: #fff;
}
.ac-codice__valore {
  flex: 1;
  padding: 0.9rem 0.6rem;
  font-family: var(--font-display);
  font-size: 1.6rem;
  letter-spacing: 0.18em;
  color: var(--bordeaux, #6B1F2A);
  user-select: all;
}
.ac-codice__copia {
  padding: 0 1.1rem;
  font-family: var(--font-body);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink);
  background: var(--cream-deep, #ECE3CF);
  border: 0;
  border-left: 2px dashed var(--gold-deep, #A6843D);
  cursor: pointer;
  min-width: 8.5rem;
}
.ac-codice__copia:hover { background: var(--gold, #C9A76A); }
.ac-codice__copia.is-copiato { background: var(--olive, #6B7B4D); color: #fff; }

.ac-trappola { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

/* Footer: consenso sotto il campo e-mail */
.footer-newsletter .ac-iscrizione__consenso {
  max-width: 520px;
  margin: 1rem auto 0;
  color: rgba(244, 238, 226, 0.65);
  text-align: left;
}
.footer-newsletter .ac-iscrizione__consenso a { color: var(--gold); }
.footer-newsletter .ac-iscrizione__errore { max-width: 520px; margin: 0.6rem auto 0; color: #F2B8B5; }

@media (prefers-reduced-motion: reduce) {
  .ac-benvenuto, .ac-benvenuto__box { transition: none; }
}
