.form-group {
    position: relative;
}

.char-counter {
    margin-top: 8px;
    text-align: right;
    font-size: 0.82rem;
    color: #94a3b8;
    line-height: 1;
}

.form-response {
    display: none;
    margin-top: 6px;
    padding: 16px 18px;
    border-radius: 14px;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.5;
}

.form-response.is-visible {
    display: block;
}

.form-response.success {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #166534;
}

.form-response.error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.premium-form-layout input.input-error,
.premium-form-layout textarea.input-error {
    border-color: #dc2626 !important;
    background: #fffafa !important;
    box-shadow: 0 8px 20px rgba(220, 38, 38, 0.08) !important;
}

.form-consent.consent-error .checkmark {
    border-color: #dc2626 !important;
    background: #fffafa !important;
    box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.06) !important;
}

.field-error-message {
    margin-top: 8px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #dc2626;
    line-height: 1.4;
}

.submit-btn.is-loading {
    opacity: 0.8;
    pointer-events: none;
    transform: none !important;
    box-shadow: none !important;
}

.submit-btn:disabled {
    cursor: not-allowed;
}
