:root {
    --brand-color: #00a79d;
    --brand-color-hover: #00857b;
}

.zfa-funnel-container { margin: 15px; padding: 20px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: #333; line-height: 1.6; background-color: #ffffff; border-radius: 8px; }
.zfa-funnel-container section { margin-bottom: 30px; padding-bottom: 20px; border-bottom: 1px solid #e9e9e9; }
.zfa-funnel-container section:last-child { border-bottom: none; margin-bottom: 0; }
.zfa-funnel-cta h1 { font-size: 2.2em; color: var(--brand-color); text-align: center; margin-bottom: 10px; line-height: 1.2; }
.zfa-funnel-cta h2 { font-size: 1.3em; text-align: center; color: #555; font-weight: 500; margin-bottom: 15px; }
.zfa-funnel-description h3 { font-size: 1.4em; color: #333; margin-bottom: 15px; }
.zfa-funnel-description ul { list-style: none; padding-left: 0; }
.zfa-funnel-description ul li { padding-left: 30px; position: relative; margin-bottom: 12px; font-size: 1.05em; }
.zfa-funnel-description ul li::before { content: '✓'; color: var(--brand-color); font-weight: bold; font-size: 1.2em; position: absolute; left: 0; top: 0; }
.zfa-funnel-form-section h3 { text-align: center; font-size: 1.5em; margin-bottom: 10px; }
.form-group { margin-bottom: 20px; }
.form-group label { display: block; margin-bottom: 8px; font-weight: 600; font-size: 1em; }
.form-group input[type="text"], .form-group input[type="email"], .form-group input[type="tel"], .form-group textarea { width: 100%; padding: 15px; border: 1px solid #ccc; border-radius: 8px; box-sizing: border-box; font-size: 1.1em; -webkit-appearance: none; }
.form-group input[type="file"] { padding: 10px; border: 1px solid #ccc; border-radius: 8px; width: 100%; }
.form-group-checkbox { display: flex; align-items: flex-start; margin-bottom: 25px; }
.form-group-checkbox input[type="checkbox"] { margin-right: 12px; margin-top: 5px; width: 22px; height: 22px; flex-shrink: 0; }
.form-group-checkbox label { font-size: 1em; line-height: 1.5; }
.form-group-checkbox a { color: var(--brand-color); text-decoration: underline; }
.form-group button { position: relative; width: 100%; padding: 18px; background-color: var(--brand-color); color: white; border: none; border-radius: 8px; font-size: 1.3em; font-weight: bold; cursor: pointer; transition: background-color 0.3s ease; -webkit-appearance: none; }
.form-group button:hover { background-color: var(--brand-color-hover); }
.form-group button:disabled { background-color: #aaa; cursor: not-allowed; }
.button-loader { width: 20px; height: 20px; border: 3px solid rgba(255,255,255,0.3); border-radius: 50%; border-top-color: #fff; animation: spin 1s ease-in-out infinite; -webkit-animation: spin 1s ease-in-out infinite; position: absolute; right: 20px; top: 50%; margin-top: -10px;}
@keyframes spin { to { -webkit-transform: rotate(360deg); } }
@-webkit-keyframes spin { to { -webkit-transform: rotate(360deg); } }
.zfa-funnel-message { padding: 15px; margin-bottom: 20px; border-radius: 8px; text-align: center; font-weight: bold; font-size: 1.1em; }
.zfa-funnel-message.success { background-color: #d4edda; color: #155724; }
.zfa-funnel-message.error { background-color: #f8d7da; color: #721c24; }
@media (min-width: 768px) { .zfa-funnel-container { max-width: 700px; margin: 40px auto; padding: 40px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08); background-color: #f9f9f9; } }
.zfa-funnel-container.modus-integriert { margin: 40px 0; padding: 25px; box-shadow: none; background-color: #f9f9f9; border: 1px solid #e0e0e0; border-radius: 8px; }
.zfa-funnel-description .integriert-titel { font-size: 1.8em; color: var(--brand-color); margin-bottom: 25px; padding-bottom: 15px; border-bottom: 2px solid var(--brand-color); }
@media (min-width: 768px) { .zfa-funnel-container.modus-integriert { padding: 40px; } }