/* Generale --------------------------------------------------------------------------------------- */
.form-control:focus{
    border-color: var(--form-borders);
    box-shadow: var(--form-box-shadow);
}

.form-label {
    color: var(--black-color);
    font-size: medium;
    font-weight: bold;
}

/* CheckBoxes ----------------------------------------------------------------------------------- */
.form-check-input:checked {
    background-color: var(--secondary-background-color) !important;
    border-color: var(--secondary-background-color) !important;
}

.form-check-input:focus {
    border-color: var(--secondary-background-color);
    box-shadow:var(--form-box-shadow) !important;
}

.form-check-input:checked:focus {
    box-shadow: var(--form-box-shadow) !important;
}

/* styling dei box di select2 ------------------------------------------------------------------- */
/* nasconde le select native finché select2 non le ha inizializzate, per evitare il flash */
.js-loading select {
    visibility: hidden;
}

.select2 {
    width: 100% !important;
}

/* nomi lunghi: nella tendina vanno a capo invece di sfondare il pannello */
.select2-container--bootstrap-5 .select2-dropdown .select2-results__option {
    overflow-wrap: anywhere;
}

.select2-container--bootstrap-5 .select2-dropdown .select2-search .select2-search__field:focus{
    border-color: color-mix(in srgb, var(--form-borders), transparent 90%);
    box-shadow: 0 0 0 .05rem color-mix(in srgb, var(--secondary-background-color), transparent 60%);
}

.select2-container.select2-container--open .select2-selection--single {
    border: 1px solid var(--form-borders);;
    box-shadow: var(--form-box-shadow);
    clip-path: inset(-5px -5px 0px -5px);
}

.select2-container--bootstrap-5 .select2-dropdown{
    border: 1px solid var(--form-borders);
    box-shadow: var(--form-box-shadow);
    clip-path: inset(0px -5px -5px -5px);
}

.select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option.select2-results__option--highlighted {
    background-color: var(--form-select-higlight-background);
    color: var(--form-select-higlight-foreground);
}

.select2-container--bootstrap-5 .select2-dropdown .select2-results__options 
.select2-results__option.select2-results__option--selected, .select2-container--bootstrap-5 
.select2-dropdown .select2-results__options .select2-results__option[aria-selected=true]:not(.select2-results__option--highlighted){
    background-color: var(--form-select-higlight-background);
    color: var(--form-select-higlight-foreground);
}

.select2-container--bootstrap-5.select2-container--focus .select2-selection, .select2-container--bootstrap-5.select2-container--open .select2-selection{
    border: 1px solid var(--form-borders);
    box-shadow: var(--form-box-shadow);
}

/* Flatpickr ---------------------------------------------------------------------------------------- */
.flatpickr-day.today{
    border-color: var(--form-today-border);
}

.flatpickr-day.selected{
    border-color: var(--form-day-selected);
    background-color: var(--form-day-selected);
}

.flatpickr-day.selected:hover{
    border-color: var(--form-day-selected);
    background-color: var(--form-day-selected);
}