/* ==== Seite: kontakt ==== */

        /* Contact Form */
body.page-kontakt .contact-form {
            max-width: 600px;
            margin: 0 auto;
        }

body.page-kontakt .form-group {
            margin-bottom: 25px;
        }

body.page-kontakt .form-label {
            display: block;
            font-weight: 600;
            margin-bottom: 10px;
            color: var(--c-muted);
            font-size: 14px;
        }

body.page-kontakt .required {
            color: var(--c-danger);
        }

body.page-kontakt .form-input, body.page-kontakt .form-textarea {
            width: 100%;
            padding: 15px 20px;
            font-size: 16px;
            border: 2px solid var(--c-border);
            border-radius: 12px;
            transition: all 0.3s;
            font-family: inherit;
        }

body.page-kontakt .form-input:focus, body.page-kontakt .form-textarea:focus {
            outline: none;
            border-color: var(--c-accent);
            box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
        }

body.page-kontakt .form-textarea {
            min-height: 150px;
            resize: vertical;
        }

        /* Honeypot Fields - Hidden from users */
body.page-kontakt .honeypot-field {
            display: none !important;
            visibility: hidden !important;
            opacity: 0 !important;
            position: absolute !important;
            left: -9999px !important;
        }

        /* Math Challenge */
body.page-kontakt .math-challenge {
            background: var(--c-surface);
            border-radius: 12px;
            padding: 20px;
            margin-bottom: 25px;
        }

body.page-kontakt .math-question {
            font-size: 18px;
            font-weight: 600;
            color: var(--c-text);
            margin-bottom: 15px;
            text-align: center;
        }

body.page-kontakt .math-input {
            width: 100%;
            padding: 12px 15px;
            font-size: 16px;
            border: 2px solid var(--c-border);
            border-radius: 8px;
            text-align: center;
            font-family: 'Courier New', monospace;
            -moz-appearance: textfield;
            appearance: none;
        }

body.page-kontakt .math-input::-webkit-outer-spin-button, body.page-kontakt .math-input::-webkit-inner-spin-button {
            -webkit-appearance: none;
            margin: 0;
        }

body.page-kontakt .math-input:focus {
            outline: none;
            border-color: var(--c-accent);
        }

        /* Submit Button */
body.page-kontakt .submit-btn {
            width: 100%;
            padding: 15px;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: white;
            border: none;
            border-radius: 12px;
            cursor: pointer;
            font-size: 16px;
            font-weight: 600;
            transition: all 0.3s;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
        }

body.page-kontakt .submit-btn:hover:not(:disabled) {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
        }

body.page-kontakt .submit-btn:disabled {
            background: #ccc;
            cursor: not-allowed;
            opacity: 0.6;
        }

body.page-kontakt .submit-btn.loading {
            pointer-events: none;
            animation: kontakt-btn-pulse 1.2s ease-in-out infinite;
        }

        @keyframes kontakt-btn-pulse {
            0%, 100% { opacity: 0.7; }
            50% { opacity: 0.4; }
        }

        /* Message Display */
body.page-kontakt .message {
            padding: 15px 20px;
            border-radius: 12px;
            margin-bottom: 20px;
            display: none;
            font-weight: 600;
        }

body.page-kontakt .message.show {
            display: block;
        }

body.page-kontakt .message.success {
            background: #d4edda;
            color: #155724;
            border-left: 4px solid #10b981;
        }

body.page-kontakt .message.error {
            background: #f8d7da;
            color: #721c24;
            border-left: 4px solid #ef4444;
        }

        /* Info Section */
body.page-kontakt .info-section {
            border-left: 4px solid #667eea;
            padding: 15px 20px;
            border-radius: 8px;
            display: flex;
            align-items: center;
            gap: 12px;
        }

body.page-kontakt .info-icon {
            font-size: 24px;
        }

body.page-kontakt .info-text {
            flex: 1;
            font-size: 14px;
            color: var(--c-accent);
            font-weight: 600;
        }

        /* SEO Section */

        /* Responsive */
        @media (max-width: 768px) {

        }

        /* Dark Theme */

body.dark-theme.page-kontakt .form-label {
            color: var(--c-muted);
        }

body.dark-theme.page-kontakt .form-input, body.dark-theme.page-kontakt .form-textarea {
            background: var(--c-surface)1a;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 0 22px rgba(102, 126, 234, 0.10);
            border: 1px solid rgba(255, 255, 255, 0.08);
            color: var(--c-text);
        }   

body.dark-theme.page-kontakt .math-challenge {
            background: #13182c;
            border-color: #6879e3;
        }

body.dark-theme.page-kontakt .math-question {
            color: var(--c-text);
        }

body.dark-theme.page-kontakt .math-input {
            background: var(--c-surface)1a;
            box-shadow: 0 0 22px rgba(102, 126, 234, 0.10);
            border: 1px solid #6879e3;
            color: var(--c-text);
        }

body.dark-theme.page-kontakt .info-section {
            color: var(--c-accent);
        }

body.dark-theme.page-kontakt .info-text {
            color: var(--c-accent);
        }

body.dark-theme.page-kontakt .message.success {
            background: rgba(16, 185, 129, 0.15);
            color: #6ee7b7;
            border-left: 4px solid #10b981;
        }

body.dark-theme.page-kontakt .message.error {
            background: rgba(239, 68, 68, 0.15);
            color: #fca5a5;
            border-left: 4px solid #ef4444;
        }

body.dark-theme.page-kontakt .submit-btn:disabled {
            background: #3a3a4a;
        }

        /* Validierungs-Farben (Klassen statt Inline-Styles) */
body.page-kontakt .form-input.field-invalid,
body.page-kontakt .form-textarea.field-invalid,
body.page-kontakt .math-input.field-invalid {
            border-color: var(--c-danger);
        }

body.page-kontakt .math-input.field-valid {
            border-color: var(--c-success);
        }

body.dark-theme.page-kontakt .form-input.field-invalid,
body.dark-theme.page-kontakt .form-textarea.field-invalid,
body.dark-theme.page-kontakt .math-input.field-invalid {
            border-color: #ef4444;
        }

body.dark-theme.page-kontakt .math-input.field-valid {
            border-color: #10b981;
        }
