.mfm-kontakt-form { max-width: 700px; margin: 0 auto; font-family: inherit; }

.mfm-kf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 600px) { .mfm-kf-row { grid-template-columns: 1fr; } }

.mfm-kf-label { display: block; font-weight: 600; margin: 1rem 0 0.3rem; font-size: 0.95rem; color: #020617; }

.mfm-kf-input,
.mfm-kf-select {
    width: 100%; padding: 0.75rem; border: 2px solid #e2e8f0; border-radius: 8px;
    font-size: 1rem; box-sizing: border-box; color: #020617; background: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
    font-family: inherit;
}
.mfm-kf-input:focus,
.mfm-kf-select:focus { border-color: #00a19a; outline: none; box-shadow: 0 0 0 3px rgba(0,161,154,.15); }
.mfm-kf-input.error { border-color: #ef4444; }

.mfm-kf-select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2364748b' stroke-width='2' fill='none'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0.75rem center; padding-right: 2.5rem; }

textarea.mfm-kf-input { resize: vertical; min-height: 120px; }

.mfm-kf-datenschutz { margin: 1.25rem 0; font-size: 0.9rem; color: #475569; line-height: 1.5; }
.mfm-kf-datenschutz input[type="checkbox"] { margin-right: 0.5rem; accent-color: #00a19a; }
.mfm-kf-datenschutz a { color: #00a19a; text-decoration: underline; }

.mfm-kf-submit {
    display: inline-block; background: #00a19a; color: #fff; border: none;
    padding: 0.9rem 2.5rem; border-radius: 8px; font-size: 1.1rem; font-weight: 600;
    cursor: pointer; transition: background 0.2s; font-family: inherit;
}
.mfm-kf-submit:hover { background: #008580; }
.mfm-kf-submit:disabled { background: #94a3b8; cursor: not-allowed; }

.mfm-kf-status { margin-top: 1rem; padding: 0; border-radius: 8px; font-size: 0.95rem; display: none; }
.mfm-kf-status.success { display: block; background: #f0fdf4; border: 1px solid #86efac; color: #166534; padding: 1.25rem; }
.mfm-kf-status.error { display: block; background: #fef2f2; border: 1px solid #fca5a5; color: #991b1b; padding: 1rem; }

.mfm-kf-success { text-align: center; padding: 2rem 1rem; }
.mfm-kf-success h3 { color: #00a19a; font-size: 1.5rem; margin-bottom: 0.75rem; }
.mfm-kf-success p { color: #475569; line-height: 1.7; }

/* Theme isolation for .mfm-unified-subpage */
.mfm-unified-subpage .entry-content .mfm-kontakt-form .mfm-kf-input,
.mfm-unified-subpage .entry-content .mfm-kontakt-form .mfm-kf-select,
.mfm-unified-subpage .entry-content .mfm-kontakt-form textarea {
    background: #fff; color: #020617; border: 2px solid #e2e8f0;
}
.mfm-unified-subpage .entry-content .mfm-kontakt-form .mfm-kf-label {
    color: #020617;
}
.mfm-unified-subpage .entry-content .mfm-kontakt-form .mfm-kf-submit {
    background: #00a19a; color: #fff;
}
.mfm-unified-subpage .entry-content .mfm-kontakt-form .mfm-kf-submit:hover {
    background: #008580;
}
.mfm-unified-subpage .entry-content .mfm-kontakt-form h3::after { display: none; }
.mfm-unified-subpage .entry-content .mfm-kontakt-form p { color: #475569; }
