/* Allgemeine Reset-Einstellungen */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Formularcontainer */
.form-container {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}

/* Formularfelder */
form label {
    display: block;
    margin-bottom: 8px;
    font-weight: bold;
    font-size: 1rem;
}

form input[type="text"],
form input[type="email"],
form input[type="number"],
form button {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 1rem;
    color: #333;
}

form input:focus {
    outline: none;
    border-color: #007bff;
    box-shadow: 0 0 4px rgba(0, 123, 255, 0.4);
}

/* Senden-Button */
form button {
    background-color: #007bff;
    color: #fff;
    font-weight: bold;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s;
}

form button:hover {
    background-color: #0056b3;
}

/* Erfolg- und Fehlermeldungen */
.message {
    font-size: 1rem;
    margin-top: 15px;
    padding: 10px;
    border-radius: 5px;
    text-align: center;
}

.message.success {
    color: #155724;
    background-color: #d4edda;
    border: 1px solid #c3e6cb;
}

.message.error {
    color: #721c24;
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
}

/* Footer */
footer {
    margin-top: 20px;
    text-align: center;
    font-size: 0.9rem;
    color: #666;
}

/* Schriftarten einbinden */
@font-face {
    font-family: 'Comfortaa';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/Comfortaa-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Comfortaa';
    font-style: normal;
    font-weight: 600;
    src: url('fonts/Comfortaa-SemiBold.ttf') format('truetype');
}

@font-face {
    font-family: 'Comfortaa';
    font-style: normal;
    font-weight: 700;
    src: url('fonts/Comfortaa-Bold.ttf') format('truetype');
}

/* Responsivität */
@media (max-width: 768px) {
    body {
        font-size: 14px;
    }

    h1 {
        font-size: 1.5rem;
    }

    nav ul {
        flex-direction: column;
        gap: 10px;
    }

    .form-container {
        padding: 15px;
    }

    form input,
    form button {
        font-size: 0.9rem;
        padding: 8px;
    }
     .logo {
                font-size: 2em;
                text-decoration: none;
            }
            .hero h1 {
                font-size: 1.5rem;
            }

            .how-it-works h2,
            .monthly-summary h3 {
                font-size: 1.2rem;
            }

            .step h3 {
                font-size: 1rem;
            }

}
.consent-container {
    margin-top: 15px;
    font-size: 14px;
    line-height: 1.4;
}

.consent-container input[type="checkbox"] {
    margin-right: 10px;
}

.consent-container a {
    color: #007bff;
    text-decoration: none;
}

.consent-container a:hover {
    text-decoration: underline;
}
        body {
            font-family: 'Comfortaa', sans-serif;
            margin: 0;
            padding: 0;
            background-color: #f9f9f9;
            color: #333;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 20px;
        }

        header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            background-color: #007bff;
            padding: 15px;
            border-radius: 5px;
            margin-bottom: 20px;
        }

        .logo {
            font-size: 2em;
            font-weight: 700;
            color: #fff;
            text-decoration: none;
        }

        nav ul {
            list-style: none;
            display: flex;
            gap: 15px;
        }

        nav ul li a {
            color: #fff;
            text-decoration: none;
            font-weight: bold;
            padding: 5px 10px;
            border-radius: 3px;
            transition: background 0.3s;
        }

        nav ul li a:hover {
            background-color: #0056b3;
        }

                main {
            background-color: #fff;
            padding: 40px;
            border-radius: 5px;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
            margin-bottom: 40px;
            text-align: center;
        }

        main h1 {
            font-size: 2.5em;
            color: #007bff;
            margin-bottom: 20px;
        }

        h1 {
            font-size: 2.5em;
            color: #007bff;
            text-align: center;
        }

        .faq-section {
            margin-top: 20px;
        }

        .faq-item {
            margin-bottom: 20px;
            padding: 15px;
            border-radius: 5px;
            background-color: #f8f9fa;
            border: 1px solid #ddd;
        }

        .faq-item h2 {
            font-size: 1.5em;
            color: #007bff;
            cursor: pointer;
            margin: 0;
        }

        .faq-item p {
            margin-top: 10px;
            display: none;
            transition: all 0.3s;
        }

        .faq-item.active p {
            display: block;
        }

        footer {
            text-align: center;
            margin-top: 20px;
            padding: 10px 0;
            background-color: #007bff;
            border-radius: 5px;
            color: #fff;
            font-size: 0.9em;
        }

        footer a {
            color: #fff;
            text-decoration: underline;
        }
        
         footer a:hover {
            text-decoration: underline;
        }
        
         .hero {
            background-color: #f0f8ff;
            padding: 40px;
            text-align: center;
            border-radius: 5px;
            margin-bottom: 20px;
        }

        .hero h1 {
            font-size: 2.5em;
            color: #007bff;
            margin-bottom: 10px;
        }

        .hero p {
            font-size: 1.2em;
            margin-bottom: 20px;
        }

        .hero .button {
            background-color: #007bff;
            color: #fff;
            border: none;
            padding: 10px 20px;
            border-radius: 5px;
            font-size: 1em;
            cursor: pointer;
            transition: background-color 0.3s;
        }

        .hero .button:hover {
            background-color: #0056b3;
        }

 form {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 15px;
            max-width: 600px;
            margin: 0 auto;
        }

        label {
            font-weight: bold;
            margin-bottom: 5px;
            align-self: flex-start;
        }

        input {
            width: 100%;
            padding: 10px;
            font-size: 1em;
            border: 1px solid #ddd;
            border-radius: 5px;
        }

        .button {
            background-color: #007bff;
            color: #fff;
            border: none;
            padding: 10px 15px;
            border-radius: 5px;
            font-size: 1.2em;
            cursor: pointer;
            transition: background-color 0.3s;
        }

        .button:hover {
            background-color: #0056b3;
        }

        .success-message {
            background-color: #d4edda;
            color: #155724;
            padding: 10px;
            margin-top: 15px;
            border-radius: 5px;
            border: 1px solid #c3e6cb;
            display: inline-block;
        }

        .error-message {
            background-color: #f8d7da;
            color: #721c24;
            padding: 10px;
            margin-top: 15px;
            border-radius: 5px;
            border: 1px solid #f5c6cb;
            display: inline-block;
        }

        section {
            margin-bottom: 40px;
        }

.how-it-works {
            margin: 20px 0;
            padding: 20px;
            border-radius: 8px;
            background: #f4f6f8;
        }

        .how-it-works h2 {
            font-size: 1.8rem;
            color: #007bff;
            margin-bottom: 15px;
        }

        .how-it-works .steps {
            display: flex;
            flex-wrap: wrap;
            gap: 20px;
            justify-content: center;
        }

        .step {
            background: #fff;
            border: 1px solid #ddd;
            padding: 15px;
            border-radius: 8px;
            width: 100%;
            max-width: 300px;
            text-align: left;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        }

        .step h3 {
            font-size: 1.2rem;
            color: #007bff;
            margin-bottom: 10px;
        }

        .step p {
            font-size: 0.9rem;
            color: #555;
        }
        .monthly-summary {
            background: #fff;
            padding: 20px;
            border-radius: 8px;
            text-align: center;
        }

        .monthly-summary h3 {
            font-size: 1.5rem;
            color: #007bff;
        }
        
                .confirm {
            background-color: #5cb85c;
            color: white;
        }

        .confirm:hover {
            background-color: #4cae4c;
        }

        .cancel {
            background-color: #d9534f;
            color: white;
        }

        .cancel:hover {
            background-color: #c9302c;
        }

        #messageArea {
            text-align: center;
            margin-top: 20px;
        }

        .confirmation-message {
            font-weight: bold;
            color: green;
        }
         p {
            font-size: 1.1em;
            margin-bottom: 20px;
            text-align: center;
        }
         #messageArea {
            text-align: center;
            margin-top: 20px;
        }