/* ==========================================================================
   fnc_theme — forms.css
   Stile globale dei form "standard" del front-end (login, recupero password,
   altri form di contenuto). Scope sotto .int-content, escluso .fnc-search-form
   (layout dedicato). Il tema ha base theme:false → stili definiti da zero.
   ========================================================================== */

/* Larghezza leggibile: i campi non si stirano su tutta la colonna. */
.int-content form:not(.fnc-search-form) { max-width: 480px; }

/* --- Voce di form + etichetta ---------------------------------------------- */
.int-content form:not(.fnc-search-form) .form-item { margin: 0 0 18px; }
.int-content form:not(.fnc-search-form) label {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 6px;
}
/* Marcatore campo obbligatorio (assente di default). */
.int-content form:not(.fnc-search-form) .form-required::after {
  content: " *";
  color: var(--red);
  font-weight: 700;
}

/* --- Controlli testuali (text/password/email/search/tel/url + textarea/select) */
.int-content form:not(.fnc-search-form) input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.int-content form:not(.fnc-search-form) textarea,
.int-content form:not(.fnc-search-form) select {
  width: 100%;
  box-sizing: border-box;
  height: 46px;
  padding: 0 14px;
  font-family: var(--font-body);
  font-size: 0.9375rem;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
  transition: border-color .15s ease;
}
.int-content form:not(.fnc-search-form) textarea {
  height: auto;
  min-height: 130px;
  padding: 12px 14px;
  line-height: 1.55;
}
.int-content form:not(.fnc-search-form) input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
.int-content form:not(.fnc-search-form) textarea:focus,
.int-content form:not(.fnc-search-form) select:focus {
  outline: 3px solid var(--red);
  outline-offset: 1px;
  border-color: var(--navy-2);
}
.int-content form:not(.fnc-search-form) ::placeholder { color: var(--muted); }

/* --- Testo di aiuto sotto i campi ------------------------------------------ */
.int-content form:not(.fnc-search-form) .description,
.int-content form:not(.fnc-search-form) .form-item__description {
  font-size: 0.8125rem;
  color: var(--muted);
  margin-top: 6px;
  line-height: 1.5;
}

/* --- Azioni + bottone primario --------------------------------------------- */
.int-content form:not(.fnc-search-form) .form-actions {
  margin-top: 22px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}
.int-content form:not(.fnc-search-form) input[type="submit"],
.int-content form:not(.fnc-search-form) button[type="submit"],
.int-content form:not(.fnc-search-form) .button {
  height: 46px;
  padding: 0 28px;
  font-family: var(--font-body);
  font-size: 0.9375rem;
  font-weight: 700;
  color: #fff;
  background: var(--navy);
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background .15s ease;
}
.int-content form:not(.fnc-search-form) input[type="submit"]:hover,
.int-content form:not(.fnc-search-form) button[type="submit"]:hover,
.int-content form:not(.fnc-search-form) .button:hover {
  background: var(--red);
  color: #fff;
}
/* Link "secondari" dentro le azioni (es. "Annulla") come link, non bottoni. */
.int-content form:not(.fnc-search-form) .form-actions a:not(.button) {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--navy-2);
}

/* --- Login / recupero password: presentazione a "card" --------------------- */
/* Presentazione a "card": sfondo bianco, bordo, angoli. Solo questi due form, via id univoco. */
#user-login-form,
#user-pass {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 28px;
}
