/**
 * ITSOS — Gravity Forms minimal style (ported from Neve itsos-site.css)
 * Caricato dopo gform_theme / Flatsome per sovrascrivere il tema Orbital.
 */

body .gform_wrapper,
body .gform_wrapper.gravity-theme,
body .gform_wrapper.gform-theme--framework {
  --itsos-gf-line: #000;
  font-family: var(--itsos-font-stack) !important;
  font-weight: var(--e-global-typography-text-font-weight, 300);
}

body .gform_wrapper .gform_heading,
body .gform_wrapper .gfield_description,
body .gform_wrapper .validation_message {
  color: #111;
}

body .gform_wrapper .validation_error,
body .gform_wrapper .gform_validation_errors,
body .gform_wrapper .gfield_validation_message,
body .gform_wrapper .validation_message {
  background: rgba(255, 149, 23, 0.14) !important;
  border: 1px solid #FF9517 !important;
  border-radius: 5px !important;
  padding: 10px 12px !important;
  box-shadow: none !important;
}

body .gform_wrapper .gform_title {
  display: none !important;
}

body .gform_wrapper .gfield {
  margin-bottom: 18px;
  position: relative;
}

body .gform_wrapper .gfield.itsos-gf-inline-label > .gfield_label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
}

body .gform_wrapper .gfield_required_text {
  display: none !important;
}

body .gform_wrapper .gfield_required,
body .gform_wrapper .gfield_required_asterisk {
  color: #FF9517 !important;
  font-weight: 700 !important;
}

/* Input: underline minimal — override GF Orbital + Flatsome */
body .gform_wrapper input[type="text"],
body .gform_wrapper input[type="email"],
body .gform_wrapper input[type="tel"],
body .gform_wrapper input[type="url"],
body .gform_wrapper input[type="password"],
body .gform_wrapper input[type="number"],
body .gform_wrapper input[type="search"],
body .gform_wrapper textarea,
body .gform_wrapper select,
body .gform_wrapper.gravity-theme input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]),
body .gform_wrapper.gravity-theme textarea,
body .gform_wrapper.gravity-theme select {
  width: 100% !important;
  max-width: 100% !important;
  border: 0 !important;
  border-bottom: 1px solid var(--itsos-gf-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 11px 0 10px !important;
  color: #000 !important;
  box-shadow: none !important;
  outline: none !important;
  font-size: 16px !important;
  font-family: var(--itsos-font-stack) !important;
  line-height: 1.4 !important;
  min-height: 0 !important;
  height: auto !important;
}

body .gform_wrapper textarea {
  min-height: calc(1.35em * 3 + 22px);
  resize: none;
}

body .gform_wrapper input::placeholder,
body .gform_wrapper textarea::placeholder {
  color: #444;
  opacity: 1;
}

body .gform_wrapper .itsos-gf-ghost-label {
  position: absolute;
  left: 0;
  top: 10px;
  pointer-events: none;
  color: #444;
  font-size: 16px;
  line-height: 1.2;
  transition: opacity 0.2s ease, transform 0.2s ease;
  z-index: 1;
}

body .gform_wrapper .itsos-gf-ghost-required {
  color: #FF9517;
  font-weight: 700;
}

body .gform_wrapper .gfield.itsos-gf-focused .itsos-gf-ghost-label,
body .gform_wrapper .gfield.itsos-gf-has-value .itsos-gf-ghost-label {
  opacity: 0;
  transform: translateY(-5px);
}

body .gform_wrapper input:focus,
body .gform_wrapper textarea:focus,
body .gform_wrapper select:focus {
  border-bottom-color: #FF9517 !important;
  box-shadow: none !important;
}

/* Submit — reset Flatsome .button */
body .gform_wrapper .gform_footer input[type="submit"],
body .gform_wrapper .gform_footer button,
body .gform_wrapper .gform_page_footer input[type="button"],
body .gform_wrapper .gform_page_footer input[type="submit"],
body .gform_wrapper.gravity-theme .gform_button,
body .gform_wrapper.gravity-theme input[type="submit"],
body .gform_wrapper.gravity-theme button.button,
.itsos-ticket-actions .itsos-ticket-link {
  border: 1px solid #FF9517 !important;
  background: #FF9517 !important;
  color: #fff !important;
  border-radius: 10px !important;
  padding: 12px 20px !important;
  font-weight: 700 !important;
  font-family: var(--itsos-font-stack) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 16px !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
  min-height: 0 !important;
  width: auto !important;
  margin: 0 !important;
}

body .gform_wrapper .gform_footer input[type="submit"]:hover,
body .gform_wrapper .gform_footer button:hover,
body .gform_wrapper .gform_page_footer input[type="button"]:hover,
body .gform_wrapper .gform_page_footer input[type="submit"]:hover,
body .gform_wrapper.gravity-theme .gform_button:hover,
body .gform_wrapper.gravity-theme input[type="submit"]:hover,
.itsos-ticket-actions .itsos-ticket-link:hover,
.itsos-ticket-actions .itsos-ticket-link:focus {
  background: #000 !important;
  border-color: #000 !important;
  color: #fff !important;
}

/* Checkbox / radio: non toccare il minimal underline */
body .gform_wrapper .gfield--type-checkbox input,
body .gform_wrapper .gfield--type-radio input,
body .gform_wrapper .gfield--type-consent input {
  width: auto !important;
  border: revert !important;
  border-bottom: revert !important;
  padding: revert !important;
  background: revert !important;
}

@media (prefers-reduced-motion: reduce) {
  body .gform_wrapper .itsos-gf-ghost-label {
    transition: none;
  }
}

/* ------------------------------------------------------------------
 * Multistep preventivo — progress bar + pill choices (installo.pro pattern)
 * Wrapper: .itsos-gf-compact .itsos-gf-multistep (via form cssClass + page UX)
 * ------------------------------------------------------------------ */

body .itsos-gf-compact .gform_wrapper.itsos-gf-multistep,
body .itsos-gf-compact .gform_wrapper .itsos-gf-multistep,
body .gform_wrapper.itsos-gf-multistep {
  --itsos-gf-accent: #FF9517;
  --itsos-gf-accent-dark: #000;
}

/* Progress bar — percentage style */
body .itsos-gf-compact .gform_wrapper .gf_progressbar_wrapper,
body .gform_wrapper.itsos-gf-multistep .gf_progressbar_wrapper {
  margin: 0 0 14px !important;
  padding: 0 !important;
}

body .itsos-gf-compact .gform_wrapper .gf_progressbar_title,
body .gform_wrapper.itsos-gf-multistep .gf_progressbar_title {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #666 !important;
  margin-bottom: 6px !important;
}

body .itsos-gf-compact .gform_wrapper .gf_progressbar,
body .gform_wrapper.itsos-gf-multistep .gf_progressbar {
  background: #eee !important;
  border-radius: 999px !important;
  height: 6px !important;
  overflow: hidden;
  box-shadow: none !important;
}

body .itsos-gf-compact .gform_wrapper .gf_progressbar_percentage,
body .gform_wrapper.itsos-gf-multistep .gf_progressbar_percentage {
  background: var(--itsos-gf-accent) !important;
  border-radius: 999px !important;
  height: 6px !important;
  box-shadow: none !important;
  transition: width 0.25s ease;
}

body .itsos-gf-compact .gform_wrapper .gf_progressbar_percentage span,
body .gform_wrapper.itsos-gf-multistep .gf_progressbar_percentage span {
  display: none !important;
}

/* Step microcopy (HTML fields) */
body .gform_wrapper .itsos-gf-step-lead {
  margin: 0 0 12px;
  font-size: 13px;
  color: #444;
  line-height: 1.35;
}

body .gform_wrapper .itsos-gf-inline-alert {
  margin: 0 0 10px;
  padding: 10px 12px;
  border-left: 3px solid var(--itsos-gf-accent);
  background: rgba(255, 149, 23, 0.1);
  font-size: 14px;
  line-height: 1.4;
}

body .gform_wrapper .itsos-gf-inline-alert a {
  color: #000;
  font-weight: 700;
}

/* Pill-style radio buttons (macro + urgenza) */
body .itsos-gf-compact .gform_wrapper .gfield.itsos-gf-pill-choice .gfield_radio,
body .gform_wrapper .gfield.itsos-gf-pill-choice .gfield_radio {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px;
  margin: 4px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body .itsos-gf-compact .gform_wrapper .gfield.itsos-gf-pill-choice .gchoice,
body .gform_wrapper .gfield.itsos-gf-pill-choice .gchoice {
  display: flex !important;
  align-items: center;
  position: relative;
  flex: 0 1 auto;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body .itsos-gf-compact .gform_wrapper .gfield.itsos-gf-pill-choice .gchoice label,
body .gform_wrapper .gfield.itsos-gf-pill-choice .gchoice label {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 10px 16px !important;
  border: 1px solid #ccc !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #333 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  max-width: none !important;
  width: auto !important;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

body .itsos-gf-compact .gform_wrapper .gfield.itsos-gf-pill-choice .gchoice input,
body .gform_wrapper .gfield.itsos-gf-pill-choice .gchoice input {
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  pointer-events: none;
}

body .itsos-gf-compact .gform_wrapper .gfield.itsos-gf-pill-choice .gchoice input:checked + label,
body .gform_wrapper .gfield.itsos-gf-pill-choice .gchoice input:checked + label {
  background: var(--itsos-gf-accent) !important;
  border-color: var(--itsos-gf-accent) !important;
  color: #fff !important;
}

body .itsos-gf-compact .gform_wrapper .gfield.itsos-gf-pill-choice .gchoice label:hover,
body .gform_wrapper .gfield.itsos-gf-pill-choice .gchoice label:hover {
  border-color: var(--itsos-gf-accent) !important;
}

/* Multistep footer buttons */
body .itsos-gf-compact .gform_wrapper .gform_page_footer,
body .gform_wrapper.itsos-gf-multistep .gform_page_footer {
  margin-top: 16px !important;
  padding-top: 0 !important;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

body .itsos-gf-compact .gform_wrapper .gform_page_footer input[type="button"],
body .itsos-gf-compact .gform_wrapper .gform_page_footer input[type="submit"],
body .gform_wrapper.itsos-gf-multistep .gform_page_footer input[type="button"],
body .gform_wrapper.itsos-gf-multistep .gform_page_footer input[type="submit"] {
  padding: 12px 22px !important;
  line-height: 1.35 !important;
  white-space: normal !important;
}

body .itsos-gf-compact .gform_wrapper .gform_page_footer .gform_previous_button,
body .gform_wrapper.itsos-gf-multistep .gform_page_footer .gform_previous_button {
  border: 1px solid #ccc !important;
  background: transparent !important;
  color: #333 !important;
}

body .itsos-gf-compact .gform_wrapper .gform_page_footer .gform_previous_button:hover,
body .gform_wrapper.itsos-gf-multistep .gform_page_footer .gform_previous_button:hover {
  border-color: #000 !important;
  color: #000 !important;
  background: transparent !important;
}

@media (max-width: 640px) {
  body .gform_wrapper .gfield.itsos-gf-pill-choice .gfield_radio {
    gap: 8px;
  }

  body .gform_wrapper .gfield.itsos-gf-pill-choice .gchoice label {
    font-size: 13px !important;
    padding: 9px 14px !important;
    line-height: 1.3 !important;
  }
}
