/**
 * Globális űrlapmező állapotok – kötelező / opcionális / csak olvasható.
 * Bootstrap form-control megjelenés megmarad; csak háttérszín változik.
 */

:root {
    --ffs-required-bg: #fff0f3;
    --ffs-required-bg-focus: #fdecef;
    --ffs-optional-bg: #eef7ff;
    --ffs-optional-bg-focus: #e3f2ff;
    --ffs-readonly-bg: #e9ecef;
    --ffs-readonly-border: #ced4da;
}

/* Kötelező mezők */
.form-control.required-field,
.form-select.required-field,
textarea.form-control.required-field,
.required-field.form-control,
.required-field.form-select,
input.required-field,
select.required-field,
textarea.required-field,
[contenteditable="true"].required-field {
    background-color: var(--ffs-required-bg) !important;
}

.form-control.required-field:focus,
.form-select.required-field:focus,
textarea.form-control.required-field:focus,
input.required-field:focus,
select.required-field:focus,
textarea.required-field:focus,
[contenteditable="true"].required-field:focus {
    background-color: var(--ffs-required-bg-focus) !important;
}

/* Opcionális, szerkeszthető mezők */
.form-control.optional-field,
.form-select.optional-field,
textarea.form-control.optional-field,
.optional-field.form-control,
.optional-field.form-select,
input.optional-field,
select.optional-field,
textarea.optional-field,
[contenteditable="true"].optional-field {
    background-color: var(--ffs-optional-bg) !important;
}

.form-control.optional-field:focus,
.form-select.optional-field:focus,
textarea.form-control.optional-field:focus,
input.optional-field:focus,
select.optional-field:focus,
textarea.optional-field:focus,
[contenteditable="true"].optional-field:focus {
    background-color: var(--ffs-optional-bg-focus) !important;
}

/* Csak olvasható / tiltott mezők */
.form-control.readonly-field,
.form-select.readonly-field,
textarea.form-control.readonly-field,
.readonly-field.form-control,
.readonly-field.form-select,
input.readonly-field,
select.readonly-field,
textarea.readonly-field,
input.readonly-field:disabled,
select.readonly-field:disabled,
textarea.readonly-field:disabled,
.form-control.readonly-field:disabled,
.form-select.readonly-field:disabled {
    background-color: var(--ffs-readonly-bg) !important;
    border-color: var(--ffs-readonly-border);
    color: #6c757d;
    cursor: default;
}

.form-control.readonly-field:focus,
.form-select.readonly-field:focus,
input.readonly-field:focus,
select.readonly-field:focus,
textarea.readonly-field:focus {
    background-color: var(--ffs-readonly-bg) !important;
    box-shadow: none;
}

/* Kivételek: auth, naptár, PDF, aláírás, e-mail modal, fájlfeltöltés */
.weekly-calendar-wrap input,
.weekly-calendar-wrap select,
.weekly-calendar-wrap textarea,
.schedule-grid-wrap input,
.schedule-grid-wrap select,
.schedule-grid-wrap textarea,
.calendar-page-wrap input,
.calendar-page-wrap select,
.calendar-page-wrap textarea,
.ord-signature-canvas-wrap input,
.ord-signature-canvas-wrap select,
.ord-signature-canvas-wrap textarea,
.ws-signature-canvas-wrap input,
.ws-signature-canvas-wrap select,
.ws-signature-canvas-wrap textarea,
#wsSignatureModal input,
#wsSignatureModal select,
#wsSignatureModal textarea,
#quoteSendEmailModal input:not([type="checkbox"]):not([type="radio"]),
#quoteSendEmailModal select,
#quoteSendEmailModal textarea,
canvas,
#ordSignatureCanvas,
#wsSignatureCanvas,
#orderPdfPreviewFrame,
.pdf-preview-wrap input,
.pdf-preview-wrap select,
.pdf-preview-wrap textarea,
#orderPdfPreviewModal input,
#orderPdfPreviewModal select,
#orderPdfPreviewModal textarea,
input[type="file"],
input[type="file"].form-control {
    background-color: revert !important;
    border-color: revert;
    color: revert;
}

/* Mobil: jól látható kontraszt, mérték változatlan */
@media (max-width: 576px) {
    .form-control.required-field,
    .form-select.required-field,
    input.required-field,
    select.required-field,
    textarea.required-field {
        background-color: var(--ffs-required-bg) !important;
    }

    .form-control.optional-field,
    .form-select.optional-field,
    input.optional-field,
    select.optional-field,
    textarea.optional-field {
        background-color: var(--ffs-optional-bg) !important;
    }

    .form-control.readonly-field,
    .form-select.readonly-field,
    input.readonly-field,
    select.readonly-field,
    textarea.readonly-field {
        background-color: var(--ffs-readonly-bg) !important;
    }
}
