/* Moduli pubblici: etichette e stati, senza cambiare i layout delle singole sezioni. */
:is(#form_moduloForm1, #form_moduloForm2) .prn-form-consents {
  display: grid;
  gap: 4px;
  grid-column: 1 / -1;
  min-width: 0;
  width: 100%;
}
:is(#form_moduloForm1, #form_moduloForm2) .prn-form-consents .luxor-privacy {
  margin: 0;
  padding: 0 0 0 24px !important;
  position: relative;
}
:is(#form_moduloForm1, #form_moduloForm2) .prn-form-consents input[type='checkbox'] {
  height: 17px;
  left: 4px;
  margin: 0;
  position: absolute;
  top: 7px;
  width: 17px;
}
:is(#form_moduloForm1, #form_moduloForm2) .prn-form-consents label {
  display: block;
  margin: 0;
  min-height: 36px;
  padding: 6px 0 6px 8px;
}
:is(#form_moduloForm1, #form_moduloForm2) .prn-form-consents label::before,
:is(#form_moduloForm1, #form_moduloForm2) .prn-form-consents label::after { top: 7px; }
@media (max-width: 767px) {
  :is(#form_moduloForm1, #form_moduloForm2) .prn-form-consents label { min-height: 44px; }
}
:where(#form_moduloForm1, #form_moduloForm2) .prn-home-label {
  color: #fff;
  display: block;
  font: 14px/1.5 Arial, sans-serif;
  margin-bottom: 8px;
}
:where(#form_moduloForm1, #form_moduloForm2) .prn-form-status {
  color: #fff;
  font: 14px/1.5 Arial, sans-serif;
  letter-spacing: 0;
  margin: 12px 0 0;
  max-width: 304px;
  text-align: left;
  white-space: normal;
}
.home .prn-form-status,
.prn-service-page .prn-form-status { font-family: 'Px Grotesk', sans-serif; }
:where(#form_moduloForm1, #form_moduloForm2)[aria-busy='true'] button[type='submit'] { cursor: wait; }
:where(#form_moduloForm1, #form_moduloForm2) .prn-form-status:empty { display: none; }
:where(#form_moduloForm1, #form_moduloForm2) input.tel-icon[type='tel'] { background-image: url('../icons-form/luxor-phone-icon.png'); }
.prn-form-actions-hidden .cta-action,
.prn-form-actions-hidden .help_box { display: none; }

@media (max-width: 359px) {
  /* Il margine negativo della vecchia navbar tagliava il logo a 320 px. */
  body:not(.home):not(.prn-service-page) #navbar-scroll #thelogo { margin-left: 0; }
}

/* Un solo layout del modulo, condiviso da homepage, servizi, Guide e Circolari. */
.prn-contact-form.form_container {
  background: #005b9f;
  border-radius: 4px;
  color: #fff;
  max-width: 1180px;
  padding: 48px 64px;
  width: 100%;
}
.prn-guides-form .ohana-form--container,
.prn-circolari-form .ohana-form--container { background: transparent; padding: 0; }
.prn-guides-form .prn-contact-form,
.prn-circolari-form .prn-contact-form { margin: 32px auto 64px; top: 0; }
.prn-contact-form .table-title { margin: 0; padding: 0; text-align: center; }
.prn-contact-form .table-title > header { margin: 0; }
.prn-contact-form > .row { margin: 0; }
.prn-contact-form > .row > .col-md-12 { padding: 0; }
.prn-contact-form .ohana_title--default {
  margin: 0 0 32px;
  color: #fff;
  font-family: 'Agency FB', sans-serif;
  font-size: 46px;
  font-weight: 700;
  letter-spacing: .3px;
  line-height: 1.2;
  width: 100%;
  text-align: center;
  text-wrap: balance;
}
.prn-contact-form .ohana_title--default > span { text-align: center; }
.prn-contact-form .prn-home-nowrap { white-space: nowrap; }
.prn-contact-form form { display: block; margin: 0 auto; max-width: 800px; }
.prn-contact-form form > .luxor_flexbox--elements {
  width: 100%;
  max-width: none;
  padding: 0;
}
.prn-contact-form .luxor_fieldset {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 24px;
  width: 100%;
  min-width: 0;
  max-width: none;
  min-height: 0;
  padding: 0;
}
.prn-contact-form .luxor-form { padding: 0; }
.prn-contact-form .luxor_fieldset > * { min-width: 0; }
.prn-contact-form .luxor-form:nth-child(n+3),
.prn-contact-form .luxor-privacy,
.prn-contact-form .luxor_fieldset > div:last-child { grid-column: 1 / -1; }
.prn-contact-form .prn-home-label {
  display: block;
  margin-bottom: 9px;
  color: #fff;
  font-size: 16px;
  line-height: 1.4;
}
.prn-contact-form .form-control {
  width: 100%;
  min-height: 52px;
  padding: 13px 16px;
  border: 1px solid rgba(255, 255, 255, .5);
  border-radius: 4px;
  background-color: #fff;
  color: #203547;
  font-size: 17px;
  letter-spacing: 0;
  line-height: 1.5;
}
.prn-contact-form .form-control::placeholder { color: #697d8b; font: inherit; opacity: 1; }
.prn-contact-form .luxor-textarea { min-height: 140px; max-height: 400px; }
.prn-contact-form .checkbox {
  width: 100%;
  margin: 0;
  padding: 0 0 0 24px !important;
}
.prn-contact-form .checkbox label {
  padding-left: 8px;
  color: #fff;
  font-size: 15px;
  line-height: 1.6;
}
.prn-contact-form .luxor_fieldset > div:last-child {
  flex-direction: row !important;
  justify-content: space-between !important;
  gap: 24px;
  width: 100%;
  margin: 4px 0 0 !important;
}
.prn-contact-form button[type='submit'] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: auto;
  min-height: 52px;
  margin-top: 0 !important;
  padding: 14px 24px;
  border: 1px solid transparent;
  border-radius: 4px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .2px;
  line-height: 1.35;
  text-align: center;
  white-space: normal;
}
.prn-contact-form button[type='submit']:not(:disabled):hover { background-color: #e4f3ff; color: #004d86; }
.prn-contact-form button[type='submit']:focus-visible { outline: 3px solid #c2d8e8; outline-offset: 4px; }
.prn-contact-form button[type='submit']:disabled { cursor: not-allowed; }

@media (max-width: 699px) {
  .prn-contact-form .luxor_fieldset > div:last-child { flex-direction: column !important; }
}
@media (max-width: 575px) {
  .prn-contact-form.form_container { padding: 32px 24px; }
  .prn-contact-form .ohana_title--default { font-size: 36px; }
  .prn-contact-form .luxor_fieldset { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .prn-contact-form .prn-home-label { font-size: 15px; }
  .prn-contact-form .form-control { font-size: 16px; }
  .prn-contact-form .checkbox label { font-size: 14px; }
  .prn-contact-form button[type='submit'] { font-size: 14px; width: 100%; }
}
@media (max-width: 359px) {
  .prn-contact-form.form_container { padding-left: 18px; padding-right: 18px; }
}

