/* Container & card */
.efs-wrap { padding: 8px; background: #f4f5f7; }
.efs-card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
  padding: 22px;
  max-width: 720px;
  margin: 14px auto;
}

/* Grid */
.efs-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 16px;
}
@media (max-width: 700px) { .efs-grid { grid-template-columns: 1fr; } }

.efs-field label { font-weight: 600; margin-bottom: 6px; display: inline-block; color: #222; }
.efs-field input {
  width: 100%; border: 1px solid #dcdde2; border-radius: 12px;
  padding: 10px 12px; outline: none; transition: box-shadow .2s, border-color .2s;
  font-size: 15px;
}
.efs-field input:focus { border-color: #6b299d; box-shadow: 0 0 0 3px rgba(107,41,157,0.12); }

/* Blocks */
.efs-block, .efs-subblock { margin-top: 16px; }
.efs-label { margin: 0 0 6px; font-weight: 700; color: #222; }

/* Choices */
.efs-choice { display: inline-flex; align-items: center; gap: 8px; margin-right: 18px; cursor: pointer; }
.efs-choice input { transform: scale(1.1); }
.efs-check { display: flex; align-items: center; gap: 10px; margin: 8px 0; cursor: pointer; }
.efs-check input { transform: scale(1.05); }

.efs-checkboxes { margin-top: 10px; padding: 10px 12px; background: #fafafa; border: 1px dashed #e2e4ea; border-radius: 12px; }
.efs-other {
  width: 100%; border: 1px solid #dcdde2; border-radius: 10px; padding: 9px 10px; margin-top: 8px;
}

/* Button */
.efs-btn {
  margin-top: 14px; width: 100%;
  background: #6b299d; color: #fff; border: none; border-radius: 12px;
  padding: 12px 14px; font-weight: 700; letter-spacing: .2px; cursor: pointer;
  transition: transform .06s ease, background .2s ease;
}
.efs-btn:hover { background: #5f8f43; }
.efs-btn:active { transform: translateY(1px); }

/* Messages */
.efs-msg { margin-top: 12px; padding: 10px 12px; border-radius: 12px; display: inline-block; }
.efs-ok { background: #f1fff5; border: 1px solid #7ddc90; color: #0a6b2a; }
.efs-err { background: #fff5f5; border: 1px solid #ffb3b3; color: #8b0000; }

/* Misc */
.efs-req { color: #e11; margin-left: 3px; }
.efs-hp { display:none !important; }