/* =========================================================
   CF7 – UI integrata con Elementor Global Colors (fallback)
   Wrapper: .mm-cf7-form
   ========================================================= */

/* Fallback + hook Elementor (quando disponibili) */

/* Variabili SOLO dentro il form: niente impatti sul footer */
.mm-cf7-form{
  --mm-primary: var(--e-global-color-primary, #111);
  --mm-secondary: var(--e-global-color-secondary, #444);
  --mm-text: var(--e-global-color-text, #1a1a1a);
  --mm-accent: var(--e-global-color-accent, var(--mm-primary));
  --mm-bg: var(--e-global-color-ffffff, #fff);
  --mm-muted: rgba(0,0,0,.06);
  --mm-border: rgba(0,0,0,.14);
  --mm-shadow: 0 12px 36px rgba(0,0,0,.08);
  --mm-radius: 16px;
  --mm-radius-sm: 12px;
  --mm-pad: 18px;
  --mm-gap: 14px;
}

/* Wrapper */
.mm-cf7-form{
  max-width: 760px;
  margin: 0 auto;
  padding: var(--mm-pad);
  border-radius: var(--mm-radius);
  background: var(--mm-bg);
  border: 1px solid var(--mm-border);
  box-shadow: var(--mm-shadow);
  color: var(--mm-text);
}

/* Grid + allineamento in alto */
.mm-cf7-form .mm-row{
  display: grid;
  gap: var(--mm-gap);
  margin-bottom: 0;
  align-items: start;
}
.mm-cf7-form .mm-row-2{
  grid-template-columns: 1fr 1fr;
  align-items: start;
}

/* Campi: colonna in alto */
.mm-cf7-form .mm-field{
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin-bottom: 6px;
}

/* Labels (se presenti: ora li hai rimossi, ma lasciamo pronto) */
.mm-cf7-form label{
  display: block;
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 4px;
  line-height: 1.2;
  color: color-mix(in srgb, var(--mm-text) 85%, transparent);
}

/* Inputs base */
.mm-cf7-form input[type="text"],
.mm-cf7-form input[type="email"],
.mm-cf7-form input[type="tel"],
.mm-cf7-form textarea,
.mm-cf7-form select{
  width: 100%;
  box-sizing: border-box;
  padding: 12px 12px;
  border-radius: var(--mm-radius-sm);
  border: 1px solid var(--mm-border);
  background: color-mix(in srgb, var(--mm-bg) 92%, var(--mm-muted));
  color: var(--mm-text);
  outline: none;
  font-size: 15px;
  line-height: 1.2;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

/* Placeholder */
.mm-cf7-form ::placeholder{
  color: color-mix(in srgb, var(--mm-text) 35%, transparent);
}

/* Textarea (nota: in CF7 metti rows:4, qui manteniamo una min-height corretta) */
.mm-cf7-form textarea{
  min-height: 120px;
  resize: vertical;
}

/* Focus states coerenti con palette */
.mm-cf7-form input:focus,
.mm-cf7-form textarea:focus,
.mm-cf7-form select:focus{
  border-color: color-mix(in srgb, var(--mm-accent) 70%, #000 0%);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--mm-accent) 18%, transparent);
  background: var(--mm-bg);
}

/* =========================
   CONSENSO (checkbox* CF7)
   ========================= */
.mm-cf7-form .mm-consenso{
  padding: 12px;
  border-radius: var(--mm-radius-sm);
  background: color-mix(in srgb, var(--mm-accent) 6%, var(--mm-bg));
  border: 1px solid color-mix(in srgb, var(--mm-accent) 18%, var(--mm-border));
  font-size: 14px;
  line-height: 1.35;
  color: color-mix(in srgb, var(--mm-text) 88%, transparent);
}

/* CF7 checkbox con use_label_element: struttura label + input */
.mm-cf7-form .mm-consenso .wpcf7-form-control{
  margin: 0;
}
.mm-cf7-form .mm-consenso label{
  margin: 0;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-weight: 600;
}
.mm-cf7-form .mm-consenso input[type="checkbox"]{
  margin: 3px 0 0 0;
  transform: none;
  accent-color: var(--mm-accent);
}

/* =========================
   SUBMIT (più piccolo + non bianco in submit)
   ========================= */

/* Centra il bottone (row submit) */
.mm-cf7-form .mm-row:last-child{
  display: flex;
  justify-content: center;
  margin-top: 10px;
}

/* Bottone base */
.mm-cf7-form .mm-submit{
  width: auto;                 /* NON full width */
  min-width: 220px;            /* dimensione elegante */
  padding: 12px 28px;
  border: 0;
  border-radius: 999px;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;

  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--mm-accent) 92%, #000 0%),
    color-mix(in srgb, var(--mm-primary) 92%, #000 0%)
  );
  color: #fff;

  box-shadow: 0 10px 28px color-mix(in srgb, var(--mm-accent) 22%, transparent);
  transition: transform .08s ease, filter .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.mm-cf7-form .mm-submit:hover{
  filter: brightness(1.02);
  box-shadow: 0 12px 34px color-mix(in srgb, var(--mm-accent) 28%, transparent);
}

.mm-cf7-form .mm-submit:active{
  transform: translateY(1px);
  opacity: .98;
}

/* Mantieni stile durante submit/disabled/sent (evita “bianco”) */
.mm-cf7-form .mm-submit:disabled,
.mm-cf7-form .wpcf7-form.submitting .mm-submit,
.mm-cf7-form .wpcf7-form.sent .mm-submit{
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--mm-accent) 92%, #000 0%),
    color-mix(in srgb, var(--mm-primary) 92%, #000 0%)
  );
  color: #fff;
  opacity: 1;
  cursor: not-allowed;
  filter: brightness(.96);
}

/* CF7 validation */
.mm-cf7-form .wpcf7-not-valid-tip{
  font-size: 13px;
  margin-top: 6px;
  color: #b00020;
}

.mm-cf7-form .wpcf7-form-control.wpcf7-not-valid{
  border-color: color-mix(in srgb, #b00020 50%, var(--mm-border));
  box-shadow: 0 0 0 4px color-mix(in srgb, #b00020 12%, transparent);
}

/* CF7 response output (success/error box) */
.mm-cf7-form .wpcf7-response-output{
  margin: 14px 0 0;
  border-radius: var(--mm-radius-sm);
  padding: 12px 12px;
  border: 1px solid var(--mm-border);
  background: color-mix(in srgb, var(--mm-bg) 92%, var(--mm-muted));
  color: var(--mm-text);
}

/* Spinner alignment */
.mm-cf7-form .wpcf7-spinner{
  margin: 10px auto 0;
  display: block;
}

/* Mobile */
@media (max-width: 640px){
  .mm-cf7-form{
    padding: 14px;
    border-radius: 14px;
  }
  .mm-cf7-form .mm-row-2{
    grid-template-columns: 1fr;
  }
  .mm-cf7-form .mm-submit{
    min-width: 180px;
    padding: 11px 22px;
    font-size: 14px;
  }
}

/* FINE CSS CONTACT FORM */

/* =========================================================
   FIX: CF7 overlay bianco + submit a sinistra + form centrato
   ========================================================= */

/* 1) CENTRA IL BOX DEL FORM NELLA COLONNA */
.mm-cf7-form{
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 2) SUBMIT A SINISTRA (non full width) */
.mm-cf7-form .mm-row:last-child{
  display: flex !important;
  justify-content: flex-start !important;  /* SINISTRA */
  align-items: center;
  margin-top: 12px;
}

.mm-cf7-form .mm-submit{
  width: auto !important;
  min-width: 220px;
}

/* 3) BLOCCA IL “BIANCO” DURANTE INVIO
      - CF7 usa una pseudo-layer su .wpcf7-form
      - e/o la spinner .wpcf7-spinner
*/
.mm-cf7-form .wpcf7-spinner{
  display: none !important;   /* se vuoi zero indicatori (niente pill bianca) */
}

/* In alcuni temi CF7 mette overlay sul form: lo neutralizziamo */
.mm-cf7-form .wpcf7-form{
  position: relative;
}

.mm-cf7-form .wpcf7-form::before{
  content: none !important;   /* rimuove eventuale overlay */
  display: none !important;
}

/* E se il tema usa overlay su .submitting, lo disattiviamo */
.mm-cf7-form .wpcf7-form.submitting::before,
.mm-cf7-form .wpcf7-form.submitting::after{
  content: none !important;
  display: none !important;
}

/* 4) MANTIENE STILE BOTTONE ANCHE DISABLED/SUBMITTING */
.mm-cf7-form .mm-submit,
.mm-cf7-form .mm-submit:disabled,
.mm-cf7-form .wpcf7-form.submitting .mm-submit,
.mm-cf7-form .wpcf7-form.sent .mm-submit{
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--mm-accent, #111) 92%, #000 0%),
    color-mix(in srgb, var(--mm-primary, #000) 92%, #000 0%)
  ) !important;
  color: #fff !important;
  opacity: 1 !important;
}

/* =========================================================
   FIX FOOTER Icon List (solo pagina Lavora con noi)
   id 457
   ========================================================= */

.page-id-457 footer .elementor-icon-list-items{
  list-style: none !important;     /* elimina pallini */
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.page-id-457 footer .elementor-icon-list-item{
  list-style: none !important;     /* ulteriore sicurezza */
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

/* Elimina marker anche se il browser lo ripristina */
.page-id-457 footer .elementor-icon-list-item::marker{
  content: "" !important;
}

/* Normalizza dimensione SVG (evita icone gigantesche) */
.page-id-457 footer .elementor-icon-list-icon{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

.page-id-457 footer .elementor-icon-list-icon svg,
.page-id-457 footer .elementor-icon svg{
  width: 1em !important;
  height: 1em !important;
  max-width: 1em !important;
  max-height: 1em !important;
  display: block !important;
}

