.sswpf-address {
  --sswpf-address-gap-x: 18px;
  --sswpf-address-gap-y: 16px;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  row-gap: var(--sswpf-address-gap-y) !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  margin: 2px 0 4px !important;
  padding: 0 !important;
  float: none !important;
  clear: both !important;
}

/* Rispetta la dimensione scelta in WPForms, applicandola al gruppo indirizzo. */
.sswpf-address-size-small { max-width: 25% !important; }
.sswpf-address-size-medium { max-width: 60% !important; }
.sswpf-address-size-large { max-width: 100% !important; }

.sswpf-address-row-two {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  column-gap: var(--sswpf-address-gap-x) !important;
  row-gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: both !important;
  align-items: start !important;
}

.sswpf-address-part {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: none !important;
  box-sizing: border-box !important;
}

/*
 * Gli input interni non devono ereditare wpforms-field-medium/small: quella
 * larghezza sul singolo input era la causa del layout sfalsato visto nel tema.
 */
.wpforms-container .wpforms-field-ss-address .sswpf-address input.sswpf-address-input,
.wpforms-container-full .wpforms-field-ss-address .sswpf-address input.sswpf-address-input,
.sswpf-address input.sswpf-address-input {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
}

.sswpf-address-cap {
  width: calc((100% - var(--sswpf-address-gap-x)) / 2) !important;
  max-width: calc((100% - var(--sswpf-address-gap-x)) / 2) !important;
  justify-self: start !important;
}

.sswpf-sublabel {
  display: block !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
  font-size: .88em !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  opacity: .72;
  float: none !important;
  clear: both !important;
}

.sswpf-geolocation {
  display: grid;
  gap: 8px;
}
.sswpf-repeater {
  display: grid;
  gap: 8px;
}
.sswpf-repeater-row {
  display: flex;
  gap: 8px;
}
.sswpf-add-row,
.sswpf-remove-row,
.sswpf-geolocate-button {
  width: fit-content;
  cursor: pointer;
}
.sswpf-section hr {
  margin: 8px 0 16px;
}
@media (max-width: 700px) {
  .sswpf-address-size-small,
  .sswpf-address-size-medium,
  .sswpf-address-size-large { max-width: 100% !important; }
  .sswpf-address-row-two {
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: var(--sswpf-address-gap-y) !important;
  }
  .sswpf-address-cap {
    width: 100% !important;
    max-width: 100% !important;
  }
  .sswpf-repeater-row { display: grid; }
}

.sswpf-codice-fiscale {
  text-transform: uppercase;
  letter-spacing: .04em;
}


/* Campi Professione / Disciplina dipendenti. */
.sswpf-profession,
.sswpf-discipline {
  width: 100%;
  box-sizing: border-box;
}
.sswpf-discipline:disabled {
  cursor: not-allowed;
}

/* v1.9.3 - Layout robusto per Indirizzo (SS): usa flex e azzera gli stili ereditati che possono spezzare le colonne. */
.wpforms-container .wpforms-field-ss-address .sswpf-address,
.wpforms-container-full .wpforms-field-ss-address .sswpf-address,
.sswpf-address {
  display: block !important;
}

.wpforms-container .wpforms-field-ss-address .sswpf-address-row-two,
.wpforms-container-full .wpforms-field-ss-address .sswpf-address-row-two,
.sswpf-address-row-two {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: var(--sswpf-address-gap-x) !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  clear: both !important;
}

.wpforms-container .wpforms-field-ss-address .sswpf-address-row-two::before,
.wpforms-container .wpforms-field-ss-address .sswpf-address-row-two::after,
.wpforms-container-full .wpforms-field-ss-address .sswpf-address-row-two::before,
.wpforms-container-full .wpforms-field-ss-address .sswpf-address-row-two::after,
.sswpf-address-row-two::before,
.sswpf-address-row-two::after {
  content: none !important;
  display: none !important;
}

.wpforms-container .wpforms-field-ss-address .sswpf-address-row-two > .sswpf-address-part,
.wpforms-container-full .wpforms-field-ss-address .sswpf-address-row-two > .sswpf-address-part,
.sswpf-address-row-two > .sswpf-address-part {
  flex: 1 1 0 !important;
  width: calc((100% - var(--sswpf-address-gap-x)) / 2) !important;
  max-width: calc((100% - var(--sswpf-address-gap-x)) / 2) !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: none !important;
}

.wpforms-container .wpforms-field-ss-address .sswpf-address-cap,
.wpforms-container-full .wpforms-field-ss-address .sswpf-address-cap,
.sswpf-address-cap {
  display: block !important;
  width: calc((100% - var(--sswpf-address-gap-x)) / 2) !important;
  max-width: calc((100% - var(--sswpf-address-gap-x)) / 2) !important;
  min-width: 0 !important;
  margin-top: 0 !important;
  margin-right: auto !important;
  margin-left: 0 !important;
  justify-self: auto !important;
}

@media (max-width: 700px) {
  .wpforms-container .wpforms-field-ss-address .sswpf-address-row-two,
  .wpforms-container-full .wpforms-field-ss-address .sswpf-address-row-two,
  .sswpf-address-row-two {
    display: block !important;
  }
  .wpforms-container .wpforms-field-ss-address .sswpf-address-row-two > .sswpf-address-part,
  .wpforms-container-full .wpforms-field-ss-address .sswpf-address-row-two > .sswpf-address-part,
  .sswpf-address-row-two > .sswpf-address-part,
  .wpforms-container .wpforms-field-ss-address .sswpf-address-cap,
  .wpforms-container-full .wpforms-field-ss-address .sswpf-address-cap,
  .sswpf-address-cap {
    width: 100% !important;
    max-width: 100% !important;
  }
  .wpforms-container .wpforms-field-ss-address .sswpf-address-row-two > .sswpf-address-part + .sswpf-address-part,
  .wpforms-container-full .wpforms-field-ss-address .sswpf-address-row-two > .sswpf-address-part + .sswpf-address-part,
  .sswpf-address-row-two > .sswpf-address-part + .sswpf-address-part {
    margin-top: var(--sswpf-address-gap-y) !important;
  }
}

/* v1.10.2 - Visualizzazione in MAIUSCOLO coerente con il salvataggio server-side. */
.wpforms-container input[type="text"],
.wpforms-container input[type="search"],
.wpforms-container textarea,
.wpforms-container select,
.wpforms-container-full input[type="text"],
.wpforms-container-full input[type="search"],
.wpforms-container-full textarea,
.wpforms-container-full select,
.sswpf-landing input[type="text"],
.sswpf-landing input[type="search"],
.sswpf-landing textarea,
.sswpf-landing select {
    text-transform: uppercase;
}

/* Campi tecnici: non forzare maiuscolo. */
.wpforms-container input[type="email"],
.wpforms-container input[type="url"],
.wpforms-container input[type="password"],
.wpforms-container-full input[type="email"],
.wpforms-container-full input[type="url"],
.wpforms-container-full input[type="password"],
.sswpf-landing input[type="email"],
.sswpf-landing input[type="url"],
.sswpf-landing input[type="password"] {
    text-transform: none;
}
