/* Custom styles for pulse check form */
.input-group .form-group {
    position: relative;
    width: 100%;
}

.input-group .form-control {
    border: 1px solid #dce1e7;
    border-radius: 0.375rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    resize: none;
}

.input-group .form-control:focus {
    border-color: #3264c8;
    box-shadow: 0 0 0 0.25rem rgba(50, 100, 200, 0.25);
}

.input-group-text.bg-primary {
    background-color: #3264c8 !important;
}

.invalid-feedback.d-block {
    margin-top: 0.25rem;
    font-size: 0.875em;
    color: #dc3545;
}

/* Error message styling */
.parsley-errors-list.filled {
    opacity: 1;
    margin-top: 5px;
    text-align: left;
}

.parsley-errors-list li {
    color: #dc3545;
    font-size: 0.875em !important;
    font-weight: 500;
    text-align: left !important;
    margin-top: 4px !important;
}

textarea.parsley-error {
    border: 1px solid #dc3545 !important;
    border-bottom: 2px solid #dc3545 !important;
}

/* Required field indicator */
.form-group.required .control-label:after {
    content: "*";
    color: #dc3545;
    margin-left: 4px;
}