/* FTOM Members – form styles */
.ftom-form { max-width: 680px; }
.ftom-form .row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ftom-form p { margin: .5rem 0; }
.ftom-form input[type="text"],
.ftom-form input[type="email"],
.ftom-form input[type="url"],
.ftom-form input[type="number"],
.ftom-form input[type="password"],
.ftom-form textarea { width: 100%; padding: .6rem .7rem; border: 1px solid #d3d7df; border-radius: 8px; }
.ftom-form .button { padding: .6rem 1rem; border-radius: 10px; }
.ftom-errors, .ftom-ok {
  margin: .75rem 0; padding: .8rem; border-radius: 8px;
}
.ftom-errors { border: 1px solid #f4c8c8; background: #fff2f2; color: #8a1c1c; }
.ftom-ok { border: 1px solid #c7d7ff; background: #eef3ff; }
.ftom-invalid { border-color: #e26b6b !important; }
@media (max-width:700px){ .ftom-form .row { grid-template-columns: 1fr; } }

.ftom-form .req{color:#c0392b;margin-left:4px}
.ftom-form select{width:100%;padding:.6rem .7rem;border:1px solid #d3d7df;border-radius:8px}
.ftom-form .hint{font-size:.85rem;opacity:.8}
.ftom-form .preview{margin:.5rem 0;max-width:240px;border-radius:8px;display:block}

/* Modal */
.ftom-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;z-index:9998}
.ftom-modal{position:fixed;inset:auto auto 10% 50%;transform:translateX(-50%);width:min(900px,92vw);max-height:75vh;background:#fff;border-radius:10px;box-shadow:0 15px 50px rgba(0,0,0,.35);display:none;z-index:9999;overflow:auto}
.ftom-modal header{padding:.9rem 1rem;border-bottom:1px solid #eee;font-weight:600}
.ftom-modal .body{padding:1rem}
.ftom-modal .close{position:absolute;right:.6rem;top:.5rem;border:0;background:transparent;font-size:20px;cursor:pointer}

/* hide any element we toggle off post-submit */
.ftom-hidden { display: none !important; }

/* simple thank-you box */
.ftom-thanks {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid #c7d7ff;
  background: #eef3ff;
  border-radius: 6px;
}

/* honeypot input is already inline-hidden; this is just belt & suspenders */
.ftom-form input[name="contact_name"] { position:absolute !important; left:-9999px !important; opacity:0 !important; height:0 !important; width:0 !important; }

.ftom-forgot-toggle, .ftom-back-to-login {
  text-decoration: none;
  font-weight: 600;
}
.ftom-forgot-toggle:hover, .ftom-back-to-login:hover { text-decoration: underline; }

/* Stars */
.ftom-stars{display:flex;gap:6px;align-items:center}
.ftom-star{
  appearance:none;border:0;background:transparent;cursor:pointer;
  font-size:24px;line-height:1;color:#cfcfd8;transition:transform .08s ease,color .15s ease;
}
.ftom-star.on{color:#f6b500}
.ftom-star:focus{outline:2px solid #b7c7ff;outline-offset:2px}

