/* ── Wrapper del formulario ──────────────────────────────────────────── */
.imf-cf-wrap {
  background: #F5F5F5;
  border: 1px solid #E5E5E5;
  border-radius: 12px;
  padding: 40px;
}

/* ── Grid de campos ──────────────────────────────────────────────────── */
.imf-cf-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.imf-cf-full { grid-column: 1 / -1; }

/* ── Field ───────────────────────────────────────────────────────────── */
.imf-cf-field { display: flex; flex-direction: column; gap: 6px; }
.imf-cf-label {
  font-size: 13.5px; font-weight: 600; color: #1A1A1A;
}
.imf-cf-label .imf-cf-req { color: #E94E1B; margin-left: 2px; }

.imf-cf-input,
.imf-cf-select,
.imf-cf-textarea {
  width: 100%; background: #fff; border: 1px solid #E5E5E5;
  border-radius: 8px; font-size: 14px; color: #1A1A1A;
  font-family: inherit; outline: none;
  transition: border-color .15s, box-shadow .15s;
}
.imf-cf-input,
.imf-cf-select { height: 48px; padding: 0 14px; }
.imf-cf-textarea { padding: 12px 14px; resize: vertical; min-height: 130px; }
.imf-cf-select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235A5A5A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 40px; cursor: pointer; }

.imf-cf-input::placeholder,
.imf-cf-textarea::placeholder { color: #BBBBBB; }

.imf-cf-input:focus,
.imf-cf-select:focus,
.imf-cf-textarea:focus {
  border-color: #E94E1B;
  box-shadow: 0 0 0 3px rgba(233,78,27,.1);
}

/* Error state */
.imf-cf-input.imf-cf-error,
.imf-cf-select.imf-cf-error,
.imf-cf-textarea.imf-cf-error { border-color: #ef4444; }
.imf-cf-err-msg { font-size: 12px; color: #ef4444; display: none; }
.imf-cf-field.has-error .imf-cf-err-msg { display: block; }

/* ── Checkbox privacidad ─────────────────────────────────────────────── */
.imf-cf-check-row { display: flex; align-items: flex-start; gap: 10px; }
.imf-cf-check-row input[type="checkbox"] {
  width: 16px; height: 16px; margin-top: 2px;
  accent-color: #E94E1B; flex-shrink: 0; cursor: pointer;
}
.imf-cf-check-lbl {
  font-size: 13px; color: #5A5A5A; line-height: 1.55;
}
.imf-cf-check-lbl a { color: #E94E1B !important; font-weight: 600; text-decoration: none !important; }
.imf-cf-check-lbl a:hover { text-decoration: underline !important; }

/* ── Botón submit ────────────────────────────────────────────────────── */
.imf-cf-submit {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: #E94E1B; color: #fff !important; font-weight: 600;
  font-size: 15px; height: 56px; padding: 0 32px; border-radius: 10px;
  border: none; cursor: pointer; font-family: inherit;
  transition: background .2s; text-decoration: none !important;
}
.imf-cf-submit:hover:not(:disabled) { background: #C8401A; }
.imf-cf-submit:disabled { opacity: .6; cursor: not-allowed; }
.imf-cf-submit svg { width: 16px; height: 16px; stroke: #fff; flex-shrink: 0; }

/* ── Nota inferior ───────────────────────────────────────────────────── */
.imf-cf-note {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; color: #888; margin-top: 14px;
}
.imf-cf-note svg { width: 13px; height: 13px; stroke: #888; flex-shrink: 0; }

/* ── Mensaje de éxito ────────────────────────────────────────────────── */
.imf-cf-success {
  display: none; text-align: center; padding: 40px 20px;
}
.imf-cf-success-icon {
  width: 64px; height: 64px; border-radius: 50%;
  background: #DCFCE7; display: flex; align-items: center;
  justify-content: center; margin: 0 auto 20px;
}
.imf-cf-success-icon svg { width: 32px; height: 32px; stroke: #16a34a; }
.imf-cf-success h3 { font-size: 22px; font-weight: 700; color: #1A1A1A; margin: 0 0 8px; }
.imf-cf-success p  { font-size: 15px; color: #5A5A5A; margin: 0; }

/* ── Responsive ─────────────────────────────────────────────────────── */
@media (max-width: 600px) {
  .imf-cf-wrap { padding: 24px 20px; }
  .imf-cf-grid { grid-template-columns: 1fr; }
  .imf-cf-full { grid-column: 1; }
  .imf-cf-submit { width: 100%; }
}
