/* ===== FORM THE BLUE WAY / VERSIONE ELEGANTE E COMPATTA ===== */

form {
  max-width: 100% !important;
  margin: 0 auto !important;
  background: transparent !important;
}

/* griglia più pulita */
form .two-col,
form .row,
form .form-row {
  gap: 18px !important;
}

/* label */
label {
  display: block !important;
  margin-bottom: 6px !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #d4ae6c !important;
  font-weight: 600 !important;
}

/* campi */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
select,
textarea {
  width: 100% !important;
  min-height: 46px !important;
  height: 46px !important;
  padding: 10px 16px !important;
  background: rgba(10, 18, 30, 0.82) !important;
  color: #d9d2c3 !important;
  border: 1px solid rgba(212, 174, 108, 0.28) !important;
  border-radius: 16px !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.02) !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  transition: all 0.25s ease !important;
  box-sizing: border-box !important;
  outline: none !important;
}

/* focus */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
select:focus,
textarea:focus {
  border-color: rgba(212, 174, 108, 0.55) !important;
  box-shadow:
    0 0 0 1px rgba(212, 174, 108, 0.20),
    0 0 20px rgba(11, 43, 77, 0.18) !important;
}

/* placeholder */
input::placeholder,
textarea::placeholder {
  color: rgba(217, 210, 195, 0.52) !important;
  font-size: 14px !important;
  opacity: 1 !important;
}

/* telefono */
input[type="tel"] {
  padding-left: 16px !important;
}

/* eventuali wrapper del telefono */
.iti,
.iti input,
.iti--allow-dropdown input,
.iti--separate-dial-code input {
  width: 100% !important;
}

.iti input[type="tel"],
.iti--allow-dropdown input[type="tel"],
.iti--separate-dial-code input[type="tel"] {
  min-height: 46px !important;
  height: 46px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  padding-right: 16px !important;
  border-radius: 16px !important;
}

/* checkbox privacy */
input[type="checkbox"] {
  width: 15px !important;
  height: 15px !important;
  margin-right: 14px !important;
  vertical-align: middle !important;
  accent-color: #d4ae6c !important;
}

label input[type="checkbox"] {
  margin-right: 14px !important;
}

input[type="checkbox"] + span,
input[type="checkbox"] + label,
label input[type="checkbox"] + span,
label input[type="checkbox"] + * {
  margin-left: 4px !important;
}

/* testo privacy più leggero */
label:has(input[type="checkbox"]) {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 10px !important;
  margin-bottom: 20px !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #d4ae6c !important;
  font-weight: 500 !important;
}

/* fallback se :has non viene letto bene */
.checkbox,
.checkbox-wrap,
.form-check,
.bf-checkbox,
.decision-box {
  margin-top: 10px !important;
  margin-bottom: 20px !important;
}

/* pulsante */
button,
input[type="submit"] {
  display: inline-block !important;
  min-height: auto !important;
  padding: 14px 24px !important;
  border-radius: 4px !important;
  border: 1px solid #b43b63 !important;
  background: #d4ae6c !important;
  color: #0c1420 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

button:hover,
input[type="submit"]:hover {
  background: #ddbb80 !important;
  border-color: #c04a72 !important;
  transform: translateY(-1px) !important;
}

/* helper / error */
small,
.helper-text,
.error,
.error-message {
  font-size: 12px !important;
  line-height: 1.4 !important;
}

/* spaziatura verticale più elegante */
form p,
form .field,
form .form-group,
form .bf-field-container,
form .field-container {
  margin-bottom: 16px !important;
}

/* textarea, se mai la userai */
textarea {
  min-height: 110px !important;
  height: auto !important;
  resize: vertical !important;
  padding-top: 12px !important;
}

/* mobile */
@media (max-width: 767px) {
  label {
    font-size: 10px !important;
    letter-spacing: 0.16em !important;
  }

  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="number"],
  select,
  textarea {
    min-height: 44px !important;
    height: 44px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    border-radius: 14px !important;
  }

  .iti input[type="tel"],
  .iti--allow-dropdown input[type="tel"],
  .iti--separate-dial-code input[type="tel"] {
    min-height: 44px !important;
    height: 44px !important;
    border-radius: 14px !important;
  }

  label:has(input[type="checkbox"]) {
    align-items: flex-start !important;
    gap: 8px !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
    letter-spacing: 0.08em !important;
  }

  button,
  input[type="submit"] {
    width: auto !important;
    padding: 13px 20px !important;
    font-size: 12px !important;
  }
}