/* ═══════════════════════════════════════════════════
   modal.css — Modal form system
   Shared across index.html + cursusx-bridge.html
   ═══════════════════════════════════════════════════ */

/* MODAL OVERLAY */
.modal-overlay{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;
  background:rgba(5,8,5,.82);backdrop-filter:blur(12px);opacity:0;transition:opacity .3s ease}
.modal-overlay.active{display:flex;opacity:1}
.modal-box{background:#111611;border:1px solid rgba(109,184,112,.12);border-radius:12px;
  width:90%;max-width:520px;max-height:90vh;overflow-y:auto;padding:40px 36px;position:relative;
  box-shadow:0 32px 80px rgba(0,0,0,.6);transform:translateY(20px);transition:transform .3s ease}
.modal-overlay.active .modal-box{transform:translateY(0)}
.modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:none;
  color:var(--sage);font-size:20px;cursor:pointer;border-radius:50%;display:flex;align-items:center;
  justify-content:center;transition:all .2s}
.modal-close:hover{color:var(--white);background:rgba(255,255,255,.06)}
.modal-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:#3DDC84;margin-bottom:14px}
.modal-badge svg{width:14px;height:14px}
.modal-h{font-family:'Roca Two','Nunito',serif;font-weight:800;font-size:24px;color:var(--white);
  line-height:1.15;margin-bottom:6px}
.modal-sub{font-size:16px;color:var(--sage);font-weight:300;margin-bottom:28px;line-height:1.5}

/* FORM FIELDS */
.mf-group{margin-bottom:18px}
.mf-label{display:block;font-size:12px;font-weight:500;color:var(--sage);letter-spacing:.06em;
  text-transform:uppercase;margin-bottom:6px}
.mf-input,.mf-select,.mf-textarea{width:100%;background:rgba(255,255,255,.04);
  border:1px solid rgba(109,184,112,.12);border-radius:6px;padding:12px 14px;
  font-family:'Nunito',sans-serif;font-size:16px;color:var(--white);outline:none;transition:border-color .2s}
.mf-input:focus,.mf-select:focus,.mf-textarea:focus{border-color:#3DDC84;
  box-shadow:0 0 0 3px rgba(61,220,132,.08)}
.mf-input::placeholder,.mf-textarea::placeholder{color:rgba(255,255,255,.2)}
.mf-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239ec49f' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.mf-select option{background:#111611;color:var(--white)}
.mf-textarea{resize:vertical;min-height:80px}
.mf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:500px){.mf-row{grid-template-columns:1fr}}

/* SUBMIT BUTTON */
.mf-submit{width:100%;padding:14px;border:none;border-radius:6px;background:#3DDC84;
  color:#0a0f0a;font-family:'Nunito',sans-serif;font-size:16px;font-weight:700;
  letter-spacing:.04em;cursor:pointer;transition:all .2s;margin-top:8px}
.mf-submit:hover{background:var(--mint);transform:translateY(-1px)}
.mf-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}
.mf-privacy{font-size:11px;color:rgba(255,255,255,.25);text-align:center;margin-top:12px;line-height:1.5}
.mf-privacy a{color:var(--sage);text-decoration:underline}

/* SUCCESS STATE */
.mf-success{display:none;text-align:center;padding:32px 0}
.mf-success.show{display:block}
.mf-success-icon{font-size:48px;margin-bottom:16px}
.mf-success-h{font-family:'Roca Two','Nunito',serif;font-weight:800;font-size:20px;color:var(--white);margin-bottom:8px}
.mf-success-p{font-size:16px;color:var(--sage);font-weight:300;line-height:1.6}

/* HIDE FORM ON SUCCESS */
.mf-form.hidden{display:none}
