/* Shared form labels — required / optional markers (PDQ.Web) */

.pdq-required {
    color: #dc3545;
    font-weight: 700;
    margin-left: 0.15rem;
}

.pdq-optional {
    color: #64748b;
    font-weight: 400;
    font-size: 0.875em;
    margin-left: 0.15rem;
}

/*
 * .pdq-field-validate — opt-in on any <form>.
 * Invalid = red border + icon (beats module .form-control { border-color }).
 * Field/summary error text is hidden; the border/icon is the only cue.
 */
.pdq-field-validate .form-control.is-invalid,
.pdq-field-validate .form-control.input-validation-error,
.pdq-field-validate .form-select.is-invalid,
.pdq-field-validate .form-select.input-validation-error {
    border-color: #dc3545;
    padding-right: 2.25rem;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.65rem center;
    background-size: 1rem 1rem;
}

.pdq-field-validate .form-control.is-invalid:focus,
.pdq-field-validate .form-control.input-validation-error:focus,
.pdq-field-validate .form-select.is-invalid:focus,
.pdq-field-validate .form-select.input-validation-error:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.18);
}

.pdq-field-validate .field-validation-error,
.pdq-field-validate .validation-summary-errors {
    display: none !important;
}
