/* ======================================================
   FORMS PRO
====================================================== */

.mjv2-form{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.mjv2-form-group{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.mjv2-label{
  font-size:13px;
  font-weight:700;
  color:var(--mjv2-text);
  line-height:1.35;
}

.mjv2-help-text{
  font-size:12px;
  line-height:1.5;
  color:var(--mjv2-muted);
}

.mjv2-error-text{
  font-size:12px;
  line-height:1.45;
  color:#ff9f9f;
}

/* ======================================================
   INPUTS / TEXTAREA / SELECT
====================================================== */

.mjv2-input,
.mjv2-textarea,
.mjv2-select,
.mjv2-search-inline input,
.mjv2-chapter-search{
  width:100%;
  border:1px solid var(--mjv2-border);
  background:rgba(255,255,255,.03);
  color:var(--mjv2-text);
  border-radius:14px;
  font-size:14px;
  line-height:1.45;
  transition:
    border-color .16s ease,
    box-shadow .16s ease,
    background .16s ease,
    color .16s ease;
}

.mjv2-input,
.mjv2-select,
.mjv2-search-inline input,
.mjv2-chapter-search{
  min-height:44px;
  padding:0 14px;
}

.mjv2-textarea{
  min-height:120px;
  padding:12px 14px;
  resize:vertical;
}

/* placeholders */

.mjv2-input::placeholder,
.mjv2-textarea::placeholder,
.mjv2-search-inline input::placeholder,
.mjv2-chapter-search::placeholder{
  color:var(--mjv2-muted);
  opacity:1;
}

/* focus */

.mjv2-input:focus,
.mjv2-textarea:focus,
.mjv2-select:focus,
.mjv2-search-inline input:focus,
.mjv2-chapter-search:focus{
  outline:none;
  border-color:var(--mjv2-primary);
  box-shadow:0 0 0 3px rgba(42,171,238,.14);
  background:rgba(255,255,255,.05);
}

/* disabled */

.mjv2-input:disabled,
.mjv2-textarea:disabled,
.mjv2-select:disabled{
  opacity:.65;
  cursor:not-allowed;
}

/* ======================================================
   SEARCH INLINE
====================================================== */

.mjv2-search-inline{
  display:flex;
  align-items:center;
  gap:10px;
}

.mjv2-search-inline input{
  flex:1 1 auto;
  min-width:0;
}

.mjv2-search-inline .mjv2-btn{
  flex:0 0 auto;
}

/* ======================================================
   CHECKBOX / RADIO
====================================================== */

.mjv2-check-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
}

.mjv2-check-row input[type="checkbox"],
.mjv2-check-row input[type="radio"]{
  margin-top:2px;
  accent-color:var(--mjv2-primary);
}

.mjv2-check-row label{
  font-size:13px;
  line-height:1.5;
  color:var(--mjv2-text);
}

/* ======================================================
   FORM CARD SPACING HELPERS
====================================================== */

.mjv2-auth-card .mjv2-form,
.mjv2-profile-card .mjv2-form{
  margin-top:8px;
}

/* ======================================================
   INLINE ACTIONS
====================================================== */

.mjv2-form-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:4px;
}

/* ======================================================
   RESPONSIVE
====================================================== */

@media (max-width:640px){
  .mjv2-input,
  .mjv2-select,
  .mjv2-search-inline input,
  .mjv2-chapter-search{
    min-height:42px;
    padding:0 12px;
    border-radius:13px;
    font-size:13px;
  }

  .mjv2-textarea{
    padding:11px 12px;
    border-radius:13px;
    font-size:13px;
  }

  .mjv2-search-inline{
    flex-direction:column;
    align-items:stretch;
  }

  .mjv2-search-inline .mjv2-btn{
    width:100%;
  }
}