/* ==========================================================================
   GEASS – Widget "Contattaci": stile form Gravity Forms (solo elemento form)
   Replica del mockup "GEASS Homepage" (step 2: chip settore + campi + invio).
   Scope: .hi-widget-contattaci__form-raw ancorato a #hi-widget-contattaci per
   battere le regole di tema/Gravity. Il contenitore/pannello NON viene toccato:
   sta in hi-widget-contattaci.css.
   ========================================================================== */

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper {
  --hiwc-ink: #0a1326;
  --hiwc-btn: #153e7a;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: none;
  font-family: Inter, system-ui, sans-serif;
  color: var(--hiwc-ink);
}

/* Legenda "* indica i campi obbligatori": non presente nel mockup */
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gform_heading,
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gform_required_legend {
  display: none;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper form {
  margin: 0;
  padding: 0;
}

/* ---- Griglia campi: gap 11px come nel mockup ---- */
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gform_body {
  margin: 0;
  padding: 0;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gform_fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 11px;
  row-gap: 11px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gfield {
  grid-column: 1 / -1;
  width: 100%;
  margin: 0;
  padding: 0;
}

/* Etichette solo per screen reader (i campi usano il placeholder) */
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gfield.hidden_label > .gfield_label,
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gfield.hidden_label > legend.gfield_label {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .ginput_container {
  margin: 0;
  padding: 0;
}

/* ---- Chip "← SETTORE / valore" (distanza dal primo campo = 18px) ---- */
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gfield--type-html {
  margin-bottom: 7px;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .hi-widget-contattaci__chip {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  width: 100%;
  margin: 0;
  padding: 11px 14px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 0;
  box-shadow: none;
  color: #fff;
  font-family: Inter, system-ui, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  text-transform: none;
  cursor: pointer;
  transition: border-color 0.2s ease;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .hi-widget-contattaci__chip:hover,
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .hi-widget-contattaci__chip:focus-visible {
  background: rgba(255, 255, 255, 0.1);
  border-color: #fff;
  color: #fff;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .hi-widget-contattaci__chip:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

/* Freccia: stessa icona del mockup (stroke 1.7) al posto del glifo FontAwesome */
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .hi-widget-contattaci__chip i {
  flex: 0 0 16px;
  display: block;
  width: 16px;
  height: 16px;
  font-size: 0;
  line-height: 0;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M20 12H5M11 6l-6 6 6 6'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M20 12H5M11 6l-6 6 6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .hi-widget-contattaci__chip i::before {
  content: none;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .hi-widget-contattaci__chip-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  min-width: 0;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .hi-widget-contattaci__chip-key {
  display: block;
  font-family: Inter, system-ui, sans-serif;
  font-size: 10.5px;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .hi-widget-contattaci__chip-value {
  display: block;
  font-family: Onest, Inter, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: normal;
  letter-spacing: normal;
  text-transform: none;
  color: #fff;
}

/* ---- Campi di input ---- */
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper input[type="text"],
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper input[type="email"],
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper input[type="tel"],
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper textarea {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 12px 14px;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #fff;
  border-radius: 0;
  box-shadow: none;
  color: var(--hiwc-ink);
  font-family: Inter, system-ui, sans-serif;
  font-size: 13.5px;
  font-weight: 400;
  line-height: 15.5px;
  letter-spacing: normal;
  -webkit-appearance: none;
  appearance: none;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper textarea {
  height: 76px;
  min-height: 76px;
  resize: vertical;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper input::placeholder,
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper textarea::placeholder {
  color: #757575;
  opacity: 1;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper input[type="text"]:focus,
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper input[type="email"]:focus,
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper input[type="tel"]:focus,
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper textarea:focus {
  outline: 2px solid var(--hiwc-ink);
  outline-offset: 2px;
  border-color: #fff;
  box-shadow: none;
}

/* ---- Consenso privacy (non presente nel mockup: stesso linguaggio visivo) ---- */
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gfield--type-consent .ginput_container_consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gfield--type-consent input[type="checkbox"] {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  min-width: 18px;
  margin: 1px 0 0;
  padding: 0;
  background: #fff;
  border: 1px solid #fff;
  border-radius: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gfield--type-consent input[type="checkbox"]:checked {
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23153e7a' stroke-width='3'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 14px 14px no-repeat;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gfield--type-consent input[type="checkbox"]:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gfield--type-consent label {
  margin: 0;
  padding: 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.45;
  cursor: pointer;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gfield--type-consent label a {
  color: #fff;
  text-decoration: underline;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gfield--type-consent .gfield_required {
  position: static;
  width: auto;
  height: auto;
  margin: 0 0 0 2px;
  clip: auto;
  color: #fff;
}

/* ---- Validazione ---- */
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gfield_error input[type="text"],
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gfield_error input[type="email"],
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gfield_error input[type="tel"],
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gfield_error textarea {
  border-color: #ffb4b4;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gfield_validation_message,
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .validation_message {
  margin: 6px 0 0;
  padding: 0;
  background: none;
  border: 0;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gform_validation_errors {
  margin: 0 0 14px;
  padding: 10px 14px;
  background: rgba(10, 19, 38, 0.35);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: #fff;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gform_validation_errors > h2,
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gform_validation_errors .gform-icon {
  margin: 0;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
}

/* Messaggio di conferma dopo l'invio */
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_confirmation_message {
  color: #fff;
  font-size: 14px;
  line-height: 1.5;
}

/* ---- Pulsante "Invia richiesta →" (distanza dai campi = 18px) ---- */
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gform_footer {
  display: block;
  margin: 18px 0 0;
  padding: 0;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gform_footer .gform_button,
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gform_footer input[type="submit"] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 15px 22px;
  background: #fff;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: var(--hiwc-btn) !important; /* il tema forza il colore dei submit con !important */
  font-family: Onest, Inter, sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 16px;
  letter-spacing: 0.04em;
  text-transform: none;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gform_footer .gform_button::after {
  content: "";
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gform_footer .gform_button:hover,
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gform_footer .gform_button:focus-visible {
  background: var(--hiwc-ink);
  color: #fff !important;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gform_footer .gform_button:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

/* Spinner di invio AJAX */
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gform-loader {
  --gf-form-spinner-fg-color: #fff;
  --gf-form-spinner-bg-color: rgba(255, 255, 255, 0.3);
}

/* ==========================================================================
   GEASS – Widget "Contattaci": preselettore settori (passo 1) e passaggio ai campi (passo 2)
   Il passo attivo dipende solo dal campo di testo "Settore" (classe step--1):
   vuoto  -> si vedono le tessere
   pieno  -> si vedono chip + campi + pulsante (anche dopo il re-render AJAX di Gravity Forms)
   ========================================================================== */

/* Nessun settore scelto: nascondi il passo 2 */
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gfield.hi-widget-contattaci__step--2,
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gform_footer {
  display: none;
}

/* Settore scelto: nascondi il passo 1, mostra il passo 2 */
#hi-widget-contattaci .hi-widget-contattaci__form-raw:has(.hi-widget-contattaci__step--1 input[type="text"]:not(:placeholder-shown)) .gform_wrapper .gfield.hi-widget-contattaci__step--1 {
  display: none;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw:has(.hi-widget-contattaci__step--1 input[type="text"]:not(:placeholder-shown)) .gform_wrapper .gfield.hi-widget-contattaci__step--2,
#hi-widget-contattaci .hi-widget-contattaci__form-raw:has(.hi-widget-contattaci__step--1 input[type="text"]:not(:placeholder-shown)) .gform_wrapper .gform_footer {
  display: block;
}

/* Il campo di testo del settore è solo il contenitore del valore: lo riempie lo script */
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gfield--type-text.hi-widget-contattaci__step--1 .ginput_container {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Il blocco HTML con le tessere non ha il margine del chip */
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gfield--type-html.hi-widget-contattaci__step--1 {
  margin-bottom: 0;
}

/* ---- Tessere ---- */
#hi-widget-contattaci .hi-widget-contattaci__form-raw .hi-settori {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .hi-settori__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 0;
  width: 100%;
  height: 145px;
  margin: 0;
  padding: 12px 10px;
  box-sizing: border-box;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 0;
  box-shadow: none;
  color: #fff;
  font-family: Onest, Inter, sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.01em;
  text-align: center;
  text-transform: none;
  cursor: pointer;
  transition: border-color 0.18s, background 0.18s, box-shadow 0.18s, transform 0.18s;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .hi-settori__item:hover,
#hi-widget-contattaci .hi-widget-contattaci__form-raw .hi-settori__item:focus-visible {
  background: rgba(255, 255, 255, 0.16);
  border-color: #fff;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.9);
  color: #fff;
  transform: translateY(-2px);
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .hi-settori__item:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .hi-settori__img {
  flex: 0 0 auto;
  display: block;
  width: 38px;
  height: 38px;
  max-width: none;
  margin: 0;
  object-fit: contain;
}

#hi-widget-contattaci .hi-widget-contattaci__form-raw .hi-settori__label {
  display: block;
  text-align: center;
  text-wrap: balance;
}

/* Freccia del pulsante "Invia richiesta": il tema colora di bianco il ::after, la si eredita dal pulsante */
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .gform_footer .gform_button::after {
  color: inherit !important;
}

@media (prefers-reduced-motion: reduce) {
  #hi-widget-contattaci .hi-widget-contattaci__form-raw .hi-settori__item {
    transition: none;
  }

  #hi-widget-contattaci .hi-widget-contattaci__form-raw .hi-settori__item:hover,
  #hi-widget-contattaci .hi-widget-contattaci__form-raw .hi-settori__item:focus-visible {
    transform: none;
  }
}

/* Tessere settori: nessun alone blu (focus/active del tema e di Gravity Forms), resta solo il bianco */
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .hi-settori__item{-webkit-tap-highlight-color:transparent}
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .hi-settori__item:focus,#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .hi-settori__item:active{outline:0 !important;--gf-local-outline-color:transparent;--gf-local-outline-width:0}
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .hi-settori__item:focus:not(:hover):not(:focus-visible){background:transparent !important;border-color:rgba(255,255,255,.32) !important;box-shadow:none !important;color:#fff !important}
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .hi-settori__item:hover,#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .hi-settori__item:active,#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .hi-settori__item:focus-visible{background:rgba(255,255,255,.16) !important;border-color:#fff !important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.9) !important;color:#fff !important}
#hi-widget-contattaci .hi-widget-contattaci__form-raw .gform_wrapper .hi-settori__item:focus-visible{outline:2px solid #fff !important;outline-offset:2px}

/* Varianti di colonne della griglia (attributo colonne dello shortcode; 2 è il default) */
#hi-widget-contattaci .hi-widget-contattaci__form-raw .hi-settori--cols-1 { grid-template-columns: minmax(0, 1fr); }
#hi-widget-contattaci .hi-widget-contattaci__form-raw .hi-settori--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#hi-widget-contattaci .hi-widget-contattaci__form-raw .hi-settori--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
