.fc-wrapper {
    max-width: 680px;
    margin: 24px auto;
    font-family: inherit;
}

/* ── Filas ── */
.fc-row {
    display: flex;
    gap: 16px;
}

.fc-two-col .fc-field {
    flex: 1;
}

/* ── Campo ── */
.fc-field {
    display: flex;
    flex-direction: column;
    margin-bottom: 18px;
}

.fc-field label {
    font-size: .9rem;
    font-weight: 600;
    color: #1a1a2e;
    margin-bottom: 6px;
}

.fc-req {
    color: #c0392b;
}

.fc-field input,
.fc-field textarea {
    padding: 10px 14px;
    font-size: .95rem;
    border: 2px solid #e5e7eb;
    border-radius: 8px;
    outline: none;
    transition: border-color .2s;
    font-family: inherit;
    background: #fff;
    color: #1a1a2e;
}

.fc-field input:focus,
.fc-field textarea:focus {
    border-color: #c0392b;
}

.fc-field input.fc-error,
.fc-field textarea.fc-error {
    border-color: #c0392b;
    background: #fff5f5;
}

.fc-field textarea {
    resize: vertical;
    min-height: 120px;
}

/* ── Botón ── */
.fc-btn {
    background: #c0392b;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 11px 32px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s;
    margin-top: 4px;
}

.fc-btn:hover { background: #a93226; }
.fc-btn:disabled { opacity: .6; cursor: default; }

/* ── Status ── */
.fc-status {
    padding: 10px 14px;
    border-radius: 6px;
    margin-bottom: 14px;
    font-size: .9rem;
}

.fc-status.success {
    background: #d1fae5;
    color: #065f46;
    border: 1px solid #6ee7b7;
}

.fc-status.error {
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fca5a5;
}

/* ── Responsive ── */
@media (max-width: 540px) {
    .fc-row.fc-two-col {
        flex-direction: column;
        gap: 0;
    }
}
