/* ═══════════════════════════════════════════════════════════
   RICHIESTA PREVENTIVO — chiude la pagina, sopra il footer
   ═══════════════════════════════════════════════════════════ */

.cta {
  padding-inline: var(--pad-x);
  padding-block: clamp(48px, 7vw, 88px) clamp(40px, 5vw, 64px);
  background: var(--bg-2);
}

.cta__panel {
  position: relative;
  max-width: var(--maxw-text);
  margin-inline: auto;
  border-radius: clamp(20px, 3vw, 36px);
  background: var(--grad-deep);
  overflow: hidden;
  isolation: isolate;
  box-shadow: var(--shadow-xl);
}

.cta__glow {
  position: absolute;
  inset: -40% -10% auto -10%;
  height: 120%;
  background:
    radial-gradient(60% 50% at 25% 15%, rgba(0, 113, 227, 0.45) 0%, transparent 60%),
    radial-gradient(45% 45% at 85% 80%, rgba(66, 165, 245, 0.22) 0%, transparent 65%);
  z-index: -1;
  animation: cc-glow 16s var(--ease) infinite alternate;
}

@keyframes cc-glow {
  from { transform: translate3d(-2%, -1%, 0) scale(1); }
  to   { transform: translate3d(3%, 2%, 0) scale(1.08); }
}

.cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(28px, 4vw, 56px);
  padding: clamp(28px, 4vw, 56px);
}

.cta__intro .section-eyebrow { color: var(--blue-soft); }
.cta__intro .section-title { color: #fff; font-size: var(--fs-h3); max-width: 16ch; }
.cta__intro .section-desc { color: var(--on-dark-mute); font-size: var(--fs-small); }
.cta__intro .section-head { margin-bottom: 0; }

/* ── Form ── */

.lead-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.lead-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.lead-form .field__input { padding: var(--space-3) var(--space-4); }

.lead-form textarea.field__input { resize: vertical; min-height: 84px; }

.lead-form__footer {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  flex-wrap: wrap;
}

.lead-form__note {
  font-size: var(--fs-label);
  color: var(--on-dark-faint);
  max-width: 28ch;
  line-height: 1.5;
}

.lead-form__status {
  font-size: var(--fs-small);
  line-height: 1.6;
  color: var(--on-dark);
}

.lead-form__status.is-success,
.lead-form__status.is-error {
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-sm);
}

.lead-form__status.is-success {
  background: rgba(37, 211, 102, 0.14);
  border: 1px solid rgba(37, 211, 102, 0.4);
}

.lead-form__status.is-error {
  background: rgba(255, 123, 123, 0.12);
  border: 1px solid rgba(255, 123, 123, 0.38);
}

/* A invio riuscito resta solo il messaggio di conferma. */
.lead-form.is-sent .lead-form__grid,
.lead-form.is-sent .consent,
.lead-form.is-sent .lead-form__footer,
.lead-form.is-sent .field__error { display: none; }

@media (max-width: 960px) {
  .cta__inner { grid-template-columns: 1fr; }
  .cta__intro .section-title { max-width: none; }
}

@media (max-width: 560px) {
  .lead-form__grid { grid-template-columns: 1fr; }
  .lead-form__footer .btn { width: 100%; }
  .lead-form__note { max-width: none; }
}
