/* Form Builder - LineageCare Elementor Advanced Pack */

.lceap-form-builder-wrap {
  background: #fff;
  border-radius: var(--lceap-radius-lg);
  padding: 40px 44px;
  box-shadow: var(--lceap-shadow);
  max-width: 800px;
}

.lceap-fb-title {
  font-size: 1.7rem;
  font-weight: 800;
  color: var(--lceap-dark);
  margin: 0 0 32px;
  letter-spacing: -0.02em;
}

/* Fields Grid */
.lceap-fb-fields-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.lceap-fb-field-wrap {
  position: relative;
}

.lceap-fb-width-100 { flex: 0 0 100%; max-width: 100%; }
.lceap-fb-width-50  { flex: 0 0 calc(50% - 10px); max-width: calc(50% - 10px); }
.lceap-fb-width-33  { flex: 0 0 calc(33.333% - 14px); max-width: calc(33.333% - 14px); }

/* Label */
.lceap-fb-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--lceap-text);
  margin-bottom: 6px;
  letter-spacing: 0.02em;
}

.lceap-required {
  color: var(--lceap-primary);
  margin-left: 3px;
}

/* Error */
.lceap-fb-error {
  display: block;
  color: #e74c3c;
  font-size: 12px;
  margin-top: 5px;
  min-height: 18px;
}

/* Input has error */
.lceap-fb-field-wrap.lceap-has-error .lceap-fb-input {
  border-color: #e74c3c;
}

/* Checkbox / Radio */
.lceap-fb-checks,
.lceap-fb-radios {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 4px 0;
}

.lceap-fb-check-label,
.lceap-fb-radio-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: var(--lceap-text);
  cursor: pointer;
}

.lceap-fb-checkbox,
.lceap-fb-radio {
  width: 18px;
  height: 18px;
  accent-color: var(--lceap-primary);
  cursor: pointer;
  flex-shrink: 0;
}

/* File */
.lceap-fb-file {
  padding: 10px 14px;
  cursor: pointer;
}

/* Actions */
.lceap-fb-actions {
  margin-top: 28px;
}

.lceap-fb-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 36px;
  background: var(--lceap-primary);
  color: #fff;
  border: none;
  border-radius: 50px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: background var(--lceap-transition), transform var(--lceap-transition), box-shadow var(--lceap-transition);
  letter-spacing: 0.02em;
  box-shadow: 0 4px 18px rgba(233,69,96,0.3);
}

.lceap-fb-submit:hover {
  background: var(--lceap-primary-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(233,69,96,0.45);
}

.lceap-fb-submit:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}

/* Messages */
.lceap-fb-messages {
  margin-top: 20px;
}

.lceap-fb-msg-success,
.lceap-fb-msg-error {
  padding: 14px 18px;
  border-radius: var(--lceap-radius);
  font-size: 14px;
  font-weight: 500;
}

.lceap-fb-msg-success {
  background: #e8f8f0;
  color: #27ae60;
  border-left: 4px solid #27ae60;
}

.lceap-fb-msg-error {
  background: #fff3f3;
  color: #e74c3c;
  border-left: 4px solid #e74c3c;
}

/* Honeypot hidden */
.lceap-fb-hp { display: none !important; visibility: hidden !important; }

@media (max-width: 640px) {
  .lceap-form-builder-wrap { padding: 28px 20px; }
  .lceap-fb-width-50,
  .lceap-fb-width-33 { flex: 0 0 100%; max-width: 100%; }
}
