/* ===================================================================
   Forminator CI Overrides
   Styled Forminator-Formulare passend zur CI des Kunden.
   Alle Farben/Fonts via CSS Custom Properties.
   =================================================================== */

/* --- Input Fields --- */
.ci-form-card .forminator-custom-form .forminator-field input,
.ci-form-card .forminator-custom-form .forminator-field textarea,
.ci-form-card .forminator-custom-form .forminator-field select {
    width: 100% !important;
    padding: 0.85rem 1rem !important;
    border: 1.5px solid var(--ci-border) !important;
    border-radius: 10px !important;
    font-family: var(--ci-font-body), -apple-system, sans-serif !important;
    font-size: 1rem !important;
    color: var(--ci-dark) !important;
    background: #fff !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
    box-shadow: none !important;
}

/* --- Focus State --- */
.ci-form-card .forminator-custom-form .forminator-field input:focus,
.ci-form-card .forminator-custom-form .forminator-field textarea:focus,
.ci-form-card .forminator-custom-form .forminator-field select:focus {
    outline: none !important;
    border-color: var(--ci-primary) !important;
    box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.15) !important;
}

/* --- Labels --- */
.ci-form-card .forminator-custom-form .forminator-label {
    font-family: var(--ci-font-body), sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    color: var(--ci-dark) !important;
    margin-bottom: 0.35rem !important;
}

/* --- Submit Button --- */
.ci-form-card .forminator-custom-form .forminator-button-submit,
.ci-form-card .forminator-custom-form button[type="submit"] {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    font-family: var(--ci-font-body), sans-serif !important;
    font-weight: 600 !important;
    font-size: 1.1rem !important;
    background: var(--ci-primary) !important;
    color: #fff !important;
    padding: 1.1rem 2rem !important;
    border: none !important;
    border-radius: var(--ci-border-radius-button) !important;
    cursor: pointer !important;
    box-shadow: 0 4px 16px rgba(13, 148, 136, 0.25) !important;
    transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease !important;
}

.ci-form-card .forminator-custom-form .forminator-button-submit:hover,
.ci-form-card .forminator-custom-form button[type="submit"]:hover {
    background: var(--ci-primary-dark) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 24px rgba(13, 148, 136, 0.35) !important;
}

/* --- Field Spacing --- */
.ci-form-card .forminator-custom-form .forminator-field {
    margin-bottom: 1rem !important;
}

/* --- Response Messages --- */
.ci-form-card .forminator-custom-form .forminator-response-message {
    border-radius: 10px !important;
    font-family: var(--ci-font-body), sans-serif !important;
}

/* --- Error State --- */
.ci-form-card .forminator-custom-form .forminator-field input.forminator-has_error,
.ci-form-card .forminator-custom-form .forminator-field textarea.forminator-has_error {
    border-color: var(--ci-accent-red) !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
}

/* --- Placeholder --- */
.ci-form-card .forminator-custom-form .forminator-field input::placeholder,
.ci-form-card .forminator-custom-form .forminator-field textarea::placeholder {
    color: var(--ci-text-subtle) !important;
    opacity: 1 !important;
}

/* --- Multi-Column Layout (Forminator Grid) --- */
.ci-form-card .forminator-custom-form .forminator-row {
    gap: 1rem !important;
}
