/* ==========================================================================
   Valique — pagine della lista d'attesa e del sondaggio (/anteprima, /anteprima/conferma, /anteprima/sondaggio)
   Si aggiunge a site.css: stessi colori, stessi font, stessi bottoni. Nessun cookie, nessuna libreria.
   ========================================================================== */

/* ---------- Intestazione ridotta (solo logo): qui conta una cosa sola ---------- */
.testata--minima .testata__riga { justify-content: space-between; }
.testata--minima .testata__nota { color: var(--testo-3); font-size: 0.9rem; font-weight: 600; }

/* ---------- Pagina d'ingresso ---------- */
.ant-hero { position: relative; padding-block: clamp(28px, 6vw, 84px) clamp(40px, 6vw, 84px); overflow: clip; }
.ant-hero::before {
  content: ""; position: absolute; z-index: -1; left: 50%; top: -30%; transform: translateX(-50%);
  width: min(140vw, 1100px); aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(201, 169, 110, 0.22), rgba(201, 169, 110, 0));
}
.ant-hero__griglia { display: grid; justify-items: center; }
.ant-hero__testo { text-align: center; }
/* Telefono: il blocco di testo si "scioglie" così il modulo sale subito sotto il titolo (si vede già nel primo schermo) e i punti di forza scendono sotto il modulo */
@media (max-width: 959px) {
  .ant-hero__testo { display: contents; }
  .ant-hero .sopratitolo { order: 1; }
  .ant-hero h1 { order: 2; }
  .ant-hero .lead { order: 3; margin-top: 16px; }
  .ant-scheda { order: 4; margin-top: 26px; }
  .ant-hero .punti-forza { order: 5; margin-top: 26px; }
}
.ant-hero__testo .sopratitolo { display: block; line-height: 1.5; }
.ant-hero__testo .sopratitolo .icona { display: inline-block; vertical-align: -0.22em; margin-right: 0.45rem; }
.ant-hero h1 { margin-top: 16px; font-size: clamp(2.1rem, 1.1rem + 4.6vw, 3.8rem); letter-spacing: -0.04em; line-height: 1.05; text-wrap: balance; }
.ant-hero .lead { margin-inline: auto; }
.ant-hero .punti-forza { margin-top: 24px; }
@media (min-width: 960px) {
  .ant-hero__griglia { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); justify-items: stretch; align-items: center; column-gap: clamp(40px, 6vw, 80px); }
  .ant-hero__testo { text-align: left; }
  .ant-hero .lead { margin-inline: 0; }
  .ant-hero .punti-forza { justify-content: flex-start; }
}

/* ---------- Scheda con il modulo ---------- */
.ant-scheda {
  width: 100%; max-width: 520px; margin-inline: auto; padding: clamp(22px, 4.5vw, 34px);
  background: var(--superficie); border: 1px solid rgba(26, 26, 46, 0.08); border-radius: 28px; box-shadow: var(--ombra);
}
.ant-scheda h2 { font-size: 1.45rem; letter-spacing: -0.02em; }
.ant-scheda__sotto { margin-top: 8px; color: var(--testo-2); font-size: 0.98rem; }
.ant-campo { display: block; margin-top: 22px; font-weight: 700; font-size: 0.95rem; }
.ant-input {
  display: block; width: 100%; min-height: 54px; margin-top: 8px; padding: 0 16px;
  font: inherit; font-size: 1.05rem; color: var(--testo); background: #fff;
  border: 1.5px solid #c9cdd6; border-radius: 14px; transition: border-color 0.15s, box-shadow 0.15s;
}
.ant-input:hover { border-color: #9aa1b2; }
.ant-input:focus { outline: none; border-color: var(--primario); box-shadow: 0 0 0 4px rgba(201, 169, 110, 0.35); }
.ant-input[aria-invalid="true"] { border-color: #b42318; }
.ant-input--numero { max-width: 11rem; }
.ant-consenso { display: flex; gap: 12px; align-items: flex-start; margin-top: 18px; font-size: 0.9rem; line-height: 1.5; color: var(--testo-2); cursor: pointer; }
.ant-consenso input { flex: none; width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--primario); cursor: pointer; }
.ant-consenso a { color: var(--primario); font-weight: 600; text-underline-offset: 3px; text-decoration-color: var(--oro); }
.ant-errore { margin-top: 8px; font-size: 0.9rem; font-weight: 600; color: #b42318; }
.ant-errore[hidden] { display: none; }
.ant-errore.ant-ok { color: #0b7a57; }
.ant-invia { width: 100%; margin-top: 22px; }
.ant-invia[disabled] { opacity: 0.65; cursor: progress; transform: none; }
.ant-nota { margin-top: 14px; font-size: 0.84rem; line-height: 1.5; color: var(--testo-3); }
.ant-nota a { color: var(--primario); font-weight: 600; text-underline-offset: 3px; text-decoration-color: var(--oro); }
/* Casella-trappola per i programmi: invisibile e fuori dalla pagina (le persone non la vedono e non la compilano) */
.ant-trappola { position: absolute !important; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.ant-link { padding: 0; border: 0; background: none; font: inherit; font-weight: 700; color: var(--primario); text-decoration: underline; text-decoration-color: var(--oro); text-underline-offset: 3px; cursor: pointer; }
.ant-link[disabled] { color: var(--testo-3); cursor: default; text-decoration: none; }
.ant-fatto h2 { font-size: 1.45rem; }
.ant-fatto p { margin-top: 12px; color: var(--testo-2); }
.ant-fatto__icona { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 18px; border-radius: 16px; background: var(--primario); color: var(--oro); }
.ant-fatto__icona .icona { width: 28px; height: 28px; }

/* ---------- Cosa succede dopo ---------- */
.ant-passi { display: grid; gap: 18px; counter-reset: ant; }
@media (min-width: 820px) { .ant-passi { grid-template-columns: repeat(3, 1fr); gap: 22px; } }
.ant-passo { position: relative; padding: 28px 26px 30px; background: var(--superficie); border: 1px solid rgba(26, 26, 46, 0.08); border-radius: 22px; box-shadow: var(--ombra-lieve); }
.ant-passo__numero { position: absolute; top: 20px; right: 22px; font-size: 3rem; font-weight: 800; line-height: 1; letter-spacing: -0.05em; color: rgba(201, 169, 110, 0.32); }
.ant-passo h3 { margin-top: 0; padding-right: 3rem; font-size: 1.2rem; letter-spacing: -0.02em; }
.ant-passo p { margin-top: 10px; color: var(--testo-2); }
.ant-risposte { max-width: 46rem; margin-inline: auto; display: grid; gap: 12px; }
.ant-risposte details { background: var(--superficie); border: 1px solid rgba(26, 26, 46, 0.08); border-radius: 16px; padding: 4px 20px; }
.ant-risposte summary { padding: 14px 0; font-weight: 700; cursor: pointer; }
.ant-risposte details p { padding-bottom: 16px; color: var(--testo-2); }

/* ---------- Pagina di conferma ---------- */
.ant-conferma .centro__scheda { max-width: 560px; }
.ant-conferma .bottone { margin-top: 24px; }
.ant-conferma .ant-nota { margin-top: 18px; }

/* ---------- Sondaggio ---------- */
.sond { padding-block: clamp(24px, 5vw, 56px) clamp(56px, 8vw, 96px); }
.sond__colonna { width: min(100% - 2 * var(--margine), 680px); margin-inline: auto; }
.sond h1 { font-size: clamp(1.6rem, 1.2rem + 1.8vw, 2.2rem); letter-spacing: -0.03em; }
.sond__intro { margin-top: 10px; color: var(--testo-2); }
.sond-progresso { margin: 22px 0 0; }
.sond-progresso__testo { display: flex; justify-content: space-between; gap: 12px; font-size: 0.85rem; font-weight: 700; color: var(--testo-3); }
.sond-progresso__barra { height: 8px; margin-top: 8px; border-radius: 999px; background: #e7e9ee; overflow: hidden; }
.sond-progresso__riempi { height: 100%; width: 0; border-radius: inherit; background: var(--oro); transition: width 0.25s ease; }
.sond-pagina { margin-top: 26px; }
.sond-pagina[hidden], .sond-stato[hidden], .sond-domanda[hidden] { display: none; }
.sond-pagina h2 { font-size: 1.3rem; letter-spacing: -0.02em; }
.sond-pagina h2:focus { outline: none; }
.sond-domanda { margin: 26px 0 0; padding: 0; border: 0; min-width: 0; }
.sond-domanda legend { padding: 0; font-weight: 700; font-size: 1.04rem; line-height: 1.4; }
.sond-aiuto { margin-top: 6px; font-size: 0.88rem; color: var(--testo-3); }
.sond-facolt { font-weight: 500; color: var(--testo-3); }
.sond-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.sond-elenco { display: grid; gap: 8px; margin-top: 12px; }
.sond-chip input, .sond-opzione input, .sond-numero input, .sond-piano input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.sond-chip, .sond-opzione, .sond-numero, .sond-piano { position: relative; display: block; cursor: pointer; }
.sond-chip span {
  display: inline-block; padding: 10px 16px; min-height: 44px; border-radius: 999px; background: var(--superficie);
  border: 1.5px solid #c9cdd6; font-weight: 600; font-size: 0.95rem; line-height: 1.4; color: var(--primario);
  transition: background-color 0.12s, border-color 0.12s, color 0.12s;
}
.sond-chip:hover span { border-color: #9aa1b2; }
.sond-chip input:checked + span { background: var(--primario); border-color: var(--primario); color: #fff; }
.sond-chip input:disabled + span { opacity: 0.45; cursor: not-allowed; }
.sond-opzione span {
  display: flex; align-items: center; gap: 12px; padding: 13px 16px; min-height: 52px; border-radius: 14px; background: var(--superficie);
  border: 1.5px solid #c9cdd6; font-weight: 500; line-height: 1.4; transition: background-color 0.12s, border-color 0.12s;
}
.sond-opzione span::before { content: ""; flex: none; width: 20px; height: 20px; border-radius: 50%; border: 2px solid #9aa1b2; background: #fff; }
.sond-opzione:hover span { border-color: #9aa1b2; }
.sond-opzione input:checked + span { border-color: var(--primario); background: #f4f0e6; }
.sond-opzione input:checked + span::before { border-color: var(--primario); background: radial-gradient(circle, var(--primario) 0 5px, #fff 6px); }
.sond-scala { display: grid; grid-template-columns: repeat(11, minmax(0, 1fr)); gap: 4px; margin-top: 12px; }
.sond-scala--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.sond-numero span {
  display: grid; place-items: center; min-height: 48px; border-radius: 12px; background: var(--superficie); border: 1.5px solid #c9cdd6;
  font-weight: 700; font-size: 0.95rem; transition: background-color 0.12s, border-color 0.12s, color 0.12s;
}
.sond-numero:hover span { border-color: #9aa1b2; }
.sond-numero input:checked + span { background: var(--primario); border-color: var(--primario); color: #fff; }
.sond-estremi { display: flex; justify-content: space-between; gap: 12px; margin-top: 8px; font-size: 0.82rem; color: var(--testo-3); }
.sond-piano span.sond-piano__corpo {
  display: grid; grid-template-columns: 1fr auto; gap: 2px 14px; align-items: baseline; padding: 14px 16px; border-radius: 16px; background: var(--superficie);
  border: 1.5px solid #c9cdd6; transition: background-color 0.12s, border-color 0.12s;
}
.sond-piano:hover span.sond-piano__corpo { border-color: #9aa1b2; }
.sond-piano input:checked + span.sond-piano__corpo { border-color: var(--primario); background: #f4f0e6; box-shadow: 0 0 0 1px var(--primario) inset; }
.sond-piano strong { font-size: 1.05rem; }
.sond-piano__prezzo { font-weight: 700; color: var(--primario); white-space: nowrap; }
.sond-piano small { grid-column: 1 / -1; font-size: 0.88rem; line-height: 1.45; color: var(--testo-2); }
.sond-chip input:focus-visible + span, .sond-opzione input:focus-visible + span, .sond-numero input:focus-visible + span, .sond-piano input:focus-visible + span { outline: 3px solid var(--oro); outline-offset: 2px; }
.sond-euro { display: flex; align-items: center; gap: 10px; margin-top: 10px; }
.sond-euro .ant-input { margin-top: 0; }
.sond-euro__segno { font-weight: 700; color: var(--testo-2); }
.sond-casella { display: flex; gap: 12px; align-items: flex-start; margin-top: 14px; padding: 14px 16px; border-radius: 14px; background: var(--superficie); border: 1.5px solid #c9cdd6; cursor: pointer; line-height: 1.5; }
.sond-casella input { flex: none; width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--primario); cursor: pointer; }
.sond-casella small { display: block; margin-top: 2px; color: var(--testo-3); font-size: 0.86rem; }
.sond-azioni { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.sond-azioni .bottone { flex: 1 1 160px; }
.sond-azioni .bottone--secondario { flex: 0 1 auto; }
.sond-stato { margin-top: 28px; padding: clamp(22px, 5vw, 36px); background: var(--superficie); border: 1px solid rgba(26, 26, 46, 0.08); border-radius: 24px; box-shadow: var(--ombra-lieve); }
.sond-stato h2 { font-size: 1.45rem; letter-spacing: -0.02em; }
.sond-stato p { margin-top: 12px; color: var(--testo-2); }
.sond-stato .bottone { margin-top: 22px; }
.sond-cancella { margin-top: 34px; padding-top: 22px; border-top: 1px solid var(--bordo); font-size: 0.9rem; color: var(--testo-3); }
.sond-cancella p { margin-top: 0; }
.sond-cancella .ant-link { color: var(--testo-2); }
.sond-conferma-cancella { margin-top: 12px; padding: 14px 16px; border-radius: 14px; background: #fdf3f2; border: 1px solid #f1c4bf; color: #7a271a; }
.sond-conferma-cancella .sond-azioni { margin-top: 12px; }

@media (max-width: 420px) {
  .sond-scala { gap: 3px; }
  .sond-numero span { min-height: 44px; font-size: 0.85rem; border-radius: 10px; }
}
@media print { .sond-azioni, .sond-cancella, .ant-invia { display: none !important; } }
