        .form-validation-styles .label-input-field {
            position: relative;
        }
        
        .form-validation-styles .label-input-field input,
        .form-validation-styles .label-input-field textarea {
            transition: border-color 0.3s ease, box-shadow 0.3s ease;
        }
        
        .form-validation-styles .label-input-field input.is-valid,
        .form-validation-styles .label-input-field textarea.is-valid {
            border-color: #28a745 !important;
            box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25) !important;
        }
        
        .form-validation-styles .label-input-field input.is-invalid,
        .form-validation-styles .label-input-field textarea.is-invalid {
            border-color: #dc3545 !important;
            box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25) !important;
        }
        
        .form-validation-styles .label-input-field .valid-feedback {
            color: #28a745;
            font-size: 0.875rem;
            margin-top: 0.25rem;
            display: none;
        }
        
        .form-validation-styles .label-input-field .invalid-feedback {
            color: #dc3545;
            font-size: 0.875rem;
            margin-top: 0.25rem;
            display: none;
        }
        
        .form-validation-styles .label-input-field.show-valid-feedback .valid-feedback {
            display: block;
        }
        
        .form-validation-styles .label-input-field.show-invalid-feedback .invalid-feedback {
            display: block;
        }
        
        .form-validation-styles .label-input-field label::after {
            content: ' *';
            color: #dc3545;
            font-weight: bold;
        }
        
        .form-validation-styles .label-input-field label:not(.required)::after {
            content: '';
        }
        
        .date-field-wrapper {
            position: relative;
        }
        
        .date-field-wrapper .flatpickr-input {
            width: 100%;
            padding: 0.75rem;
            border: 1px solid #dee2e6;
            border-radius: 0.375rem;
            font-size: 1rem;
            transition: border-color 0.3s ease, box-shadow 0.3s ease;
        }
        
        .date-field-wrapper .flatpickr-input:focus {
            outline: none;
            border-color: #86b7fe;
            box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
        }
        
        /* Responsive adjustments */
        @media (max-width: 768px) {
            .contact-form {
                padding: 2rem 1rem !important;
            }
            
            .form-validation-styles .label-input-field label {
                font-size: 0.9rem;
                margin-bottom: 0.5rem;
            }
            
            .form-validation-styles .label-input-field input,
            .form-validation-styles .label-input-field textarea,
            .date-field-wrapper .flatpickr-input {
                font-size: 0.9rem;
                padding: 0.625rem;
            }
            
            .form-validation-styles .valid-feedback,
            .form-validation-styles .invalid-feedback {
                font-size: 0.75rem;
            }
        }
        
        @media (max-width: 576px) {
            .contact-form {
                padding: 1.5rem 0.75rem !important;
            }
            
            .contact-form h3 {
                font-size: 1.25rem;
                margin-bottom: 1.5rem;
            }
            
            .checkbox-fields .single-field {
                margin-bottom: 0.5rem;
            }
        }
        
        /* Loading state */
        .form-validation-styles .submitting {
            opacity: 0.6;
            pointer-events: none;
        }
        
        .form-validation-styles .btn[type="submit"]:disabled {
            opacity: 0.6;
            cursor: not-allowed;
        }
        
        /* Success message styling */
        .form-success-message {
            background-color: #d4edda;
            border: 1px solid #c3e6cb;
            color: #155724;
            padding: 1rem;
            border-radius: 0.375rem;
            margin-bottom: 1rem;
            display: none;
        }
        
        .form-success-message.show {
            display: block;
        }
        
        /* Error message styling */
        .form-error-message {
            background-color: #f8d7da;
            border: 1px solid #f5c6cb;
            color: #721c24;
            padding: 1rem;
            border-radius: 0.375rem;
            margin-bottom: 1rem;
            display: none;
        }
        
        .form-error-message.show {
            display: block;
        }
    