/* MIIPH modern form — scoped under .miiph-form */
.miiph-form{
  --mf-purple:#77146e; --mf-magenta:#9d2192; --mf-blue:#1966ad;
  --mf-ink:#2b2b33; --mf-muted:#8a8595; --mf-line:#e4e0ea; --mf-bg:#fbfafc;
  max-width:680px; margin:0 auto; width:100%;
  font-family:'Poppins','Segoe UI',Helvetica,Arial,sans-serif;
  color:var(--mf-ink); text-align:left;
}
.miiph-form *{box-sizing:border-box;}
.miiph-form .mf-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px 20px;}
.miiph-form .mf-col-2{grid-column:1 / -1;}
@media (max-width:560px){ .miiph-form .mf-grid{grid-template-columns:1fr;} }

.miiph-form .mf-field{position:relative; margin:0 0 4px;}
.miiph-form label.mf-label{
  display:block; font-size:13px; font-weight:600; letter-spacing:.2px;
  color:var(--mf-purple); margin:0 0 7px;
}
.miiph-form label.mf-label .mf-req{color:var(--mf-magenta); margin-left:2px;}

.miiph-form input[type=text],
.miiph-form input[type=email],
.miiph-form textarea,
.miiph-form select{
  width:100%; padding:14px 16px; font-size:15px; font-family:inherit; color:var(--mf-ink);
  background:#fff; border:1.5px solid var(--mf-line); border-radius:12px; outline:none;
  transition:border-color .18s, box-shadow .18s, background .18s; -webkit-appearance:none; appearance:none;
}
.miiph-form textarea{min-height:130px; resize:vertical; line-height:1.6;}
.miiph-form input::placeholder,.miiph-form textarea::placeholder{color:#b5b0be;}
.miiph-form input:focus,.miiph-form textarea:focus,.miiph-form select:focus{
  border-color:var(--mf-magenta); background:#fff;
  box-shadow:0 0 0 4px rgba(157,33,146,.12);
}
.miiph-form select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2377146e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat; background-position:right 16px center; padding-right:44px; cursor:pointer;
}
.miiph-form .mf-field.mf-invalid input,
.miiph-form .mf-field.mf-invalid textarea,
.miiph-form .mf-field.mf-invalid select{ border-color:#e0143c; box-shadow:0 0 0 4px rgba(224,20,60,.10); }
.miiph-form .mf-error{display:none; color:#d21138; font-size:12.5px; margin:6px 2px 0; font-weight:500;}
.miiph-form .mf-field.mf-invalid .mf-error{display:block;}

/* checkbox chips (interests) */
.miiph-form .mf-chips{display:flex; flex-wrap:wrap; gap:10px;}
.miiph-form .mf-chip{position:relative;}
.miiph-form .mf-chip input{position:absolute; opacity:0; pointer-events:none;}
.miiph-form .mf-chip span{
  display:inline-block; padding:9px 16px; border:1.5px solid var(--mf-line); border-radius:30px;
  font-size:13.5px; color:#5a5566; background:#fff; cursor:pointer; transition:all .15s; user-select:none;
}
.miiph-form .mf-chip input:checked + span{
  background:linear-gradient(90deg,var(--mf-purple),var(--mf-magenta)); border-color:transparent; color:#fff;
  box-shadow:0 4px 12px rgba(119,20,110,.22);
}
.miiph-form .mf-chip input:focus-visible + span{ box-shadow:0 0 0 4px rgba(157,33,146,.18); }

/* consent */
.miiph-form .mf-consent{display:flex; align-items:flex-start; gap:11px; margin-top:4px;}
.miiph-form .mf-consent input{margin-top:2px; width:18px; height:18px; accent-color:var(--mf-magenta); flex:0 0 auto;}
.miiph-form .mf-consent label{font-size:13.5px; color:#5a5566; line-height:1.5;}

/* submit */
.miiph-form .mf-actions{margin-top:8px;}
.miiph-form button.mf-submit{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:15px 40px; font-size:15px; font-weight:600; font-family:inherit; color:#fff; cursor:pointer;
  border:none; border-radius:40px; background:linear-gradient(90deg,var(--mf-purple),var(--mf-magenta) 60%,var(--mf-blue));
  background-size:180% 100%; background-position:0 0; transition:background-position .4s, transform .1s, box-shadow .2s;
  box-shadow:0 8px 22px rgba(119,20,110,.28);
}
.miiph-form button.mf-submit:hover{ background-position:100% 0; box-shadow:0 10px 26px rgba(119,20,110,.34); }
.miiph-form button.mf-submit:active{ transform:translateY(1px); }
.miiph-form button.mf-submit[disabled]{opacity:.65; cursor:default; box-shadow:none;}
.miiph-form .mf-spinner{width:16px;height:16px;border:2.5px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;display:none;animation:mf-spin .7s linear infinite;}
.miiph-form.is-sending .mf-spinner{display:inline-block;}
@keyframes mf-spin{to{transform:rotate(360deg);}}

/* status banners */
.miiph-form .mf-status{display:none; margin:0 0 20px; padding:16px 18px; border-radius:12px; font-size:14.5px; line-height:1.55;}
.miiph-form .mf-status.show{display:block;}
.miiph-form .mf-status.ok{background:#e9f9f0; color:#0f7a44; border:1px solid #b6ecce;}
.miiph-form .mf-status.err{background:#fdecef; color:#c1123a; border:1px solid #f6c4cf;}

.miiph-form .mf-legend{font-size:13px;font-weight:600;color:var(--mf-purple);margin:0 0 10px;letter-spacing:.2px;}

/* ============================================================
   High-specificity overrides — the Colibri theme styles bare
   inputs/buttons aggressively; id-scoped !important wins cleanly.
   ============================================================ */
body#colibri .miiph-form input[type=text],
body#colibri .miiph-form input[type=email],
body#colibri .miiph-form textarea,
body#colibri .miiph-form select{
  width:100% !important; padding:14px 16px !important; margin:0 !important;
  font-size:15px !important; line-height:1.5 !important;
  font-family:'Poppins','Segoe UI',Helvetica,Arial,sans-serif !important;
  color:#2b2b33 !important; background-color:#fff !important;
  border:1.5px solid #e4e0ea !important; border-radius:12px !important;
  box-shadow:none !important; outline:none !important;
  -webkit-appearance:none !important; appearance:none !important;
}
body#colibri .miiph-form textarea{ min-height:130px !important; resize:vertical !important; }
body#colibri .miiph-form input[type=text]:focus,
body#colibri .miiph-form input[type=email]:focus,
body#colibri .miiph-form textarea:focus,
body#colibri .miiph-form select:focus{
  border-color:#9d2192 !important; background-color:#fff !important;
  box-shadow:0 0 0 4px rgba(157,33,146,.12) !important;
}
body#colibri .miiph-form select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2377146e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") !important;
  background-repeat:no-repeat !important; background-position:right 16px center !important; padding-right:44px !important;
}
body#colibri .miiph-form .mf-field.mf-invalid input,
body#colibri .miiph-form .mf-field.mf-invalid textarea,
body#colibri .miiph-form .mf-field.mf-invalid select{
  border-color:#e0143c !important; box-shadow:0 0 0 4px rgba(224,20,60,.10) !important;
}
body#colibri .miiph-form button.mf-submit{
  display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:10px !important;
  width:auto !important; padding:15px 40px !important; margin:0 !important;
  font-size:15px !important; font-weight:600 !important; color:#fff !important; text-transform:none !important;
  border:none !important; border-radius:40px !important;
  background:linear-gradient(90deg,#77146e,#9d2192 60%,#1966ad) !important; background-size:180% 100% !important;
  box-shadow:0 8px 22px rgba(119,20,110,.28) !important; cursor:pointer !important; letter-spacing:normal !important;
}
body#colibri .miiph-form .mf-chips{ display:flex !important; flex-wrap:wrap !important; gap:10px !important; }
body#colibri .miiph-form .mf-chip{ margin:0 !important; }
body#colibri .miiph-form .mf-chip input{ position:absolute !important; opacity:0 !important; width:auto !important; }
body#colibri .miiph-form .mf-consent input[type=checkbox]{ width:18px !important; height:18px !important; }

/* Labels: the theme enlarges them, which wraps the required "*" onto its own
   line and knocks paired fields out of alignment. Force the intended size. */
body#colibri .miiph-form label.mf-label{
  display:block !important; margin:0 0 7px !important; padding:0 !important;
  font-family:'Poppins','Segoe UI',Helvetica,Arial,sans-serif !important;
  font-size:13px !important; font-weight:600 !important; line-height:1.35 !important;
  letter-spacing:.2px !important; color:#77146e !important; text-transform:none !important;
}
body#colibri .miiph-form label.mf-label .mf-req{
  display:inline !important; margin-left:3px !important; color:#9d2192 !important;
  font-size:inherit !important; font-weight:inherit !important; line-height:inherit !important;
}
body#colibri .miiph-form .mf-legend{
  display:block !important; margin:0 0 10px !important;
  font-size:13px !important; font-weight:600 !important; line-height:1.35 !important;
  color:#77146e !important; text-transform:none !important; letter-spacing:.2px !important;
}
body#colibri .miiph-form .mf-consent label{
  font-size:13.5px !important; font-weight:400 !important; color:#5a5566 !important;
  line-height:1.5 !important; text-transform:none !important; letter-spacing:normal !important; margin:0 !important;
}
/* keep each field's control aligned to the top of its grid cell */
body#colibri .miiph-form .mf-grid{ align-items:start !important; }
body#colibri .miiph-form .mf-field{ margin:0 !important; }
