:root {
    --bosui-form-element-gap: 0.4em;

    --bosui-form-element-select-padding: 0.6em 30px 0.6em 1em;
    --bosui-form-element-select-font-size: 0.9em;

    --bosui-form-element-input-padding: 0.5em 1em;
    --bosui-form-element-input-background-color: var(--ita-colors-neutral-100);
    --bosui-form-element-input-font-size: 1em;
    --bosui-form-element-input-border-radius-base: var(--bosui-theme-border-radius-2);
    --bosui-form-element-input-shadow: var(--bosui-theme-box-shadow-1);
    --bosui-form-element-input-border-color-default: var(--ita-colors-neutral-400);
    --bosui-form-element-input-border-color-focus: var(--ita-colors-primary-500);
    --bosui-form-element-input-caret-color: fuchsia;
    --bosui-form-element-input-required-color: var(--ita-colors-danger-500);
    --bosui-form-element-input-disabled-background-color: var(--ita-colors-neutral-300);
    --bosui-form-element-input-disabled-color: var(--ita-colors-neutral-600);

    --bosui-form-element-label-color: var(--ita-colors-neutral-900);
    --bosui-form-element-label-font-weight: 500;
    --bosui-form-element-label-font-size: 1em;
    
    --bosui-form-element-help-color: var(--ita-colors-primary-600);
    --bosui-form-element-help-font-weight: 350;
    --bosui-form-element-help-font-size: 0.85em;
    --bosui-form-element-error-color: var(--ita-colors-danger-500);
    --bosui-form-element-error-font-weight: 400;
    --bosui-form-element-error-font-size: 0.85em;

    --bosui-form-element-group-label-font-size: 1em;
    --bosui-form-element-group-label-font-weight: 500;
    --bosui-form-element-group-item-label-font-size: 0.9em;
    --bosui-form-element-group-item-label-font-weight: 400;

    --bosui-form-element-checkbox-border-radius: 100px;
    --bosui-form-element-checkbox-inner-spacing: 0.2em;
    --bosui-form-element-checkbox-width: 2.2em;
    --bosui-form-element-checkbox-height: 1.3em;

    --bosui-form-element-radio-border-radius: 100px;
    --bosui-form-element-radio-inner-spacing: 0.35em;
    --bosui-form-element-radio-width: 1.3em;
    --bosui-form-element-radio-height: 1.3em;

    --bosui-form-element-button-color-1: var(--ita-colors-neutral-400);
    --bosui-form-element-button-color-2: var(--ita-colors-neutral-900);
    --bosui-form-element-button-color-mix: color-mix(in srgb, var(--bosui-form-element-button-color-1) 50%, var(--bosui-form-element-button-color-2) 50%);
    --bosui-form-element-button-font-size: 1em;
    --bosui-form-element-button-font-weight: 500;
    --bosui-form-element-button-border-radius: 3em;
    --bosui-form-element-button-outline-width: 3px;
    --bosui-form-element-button-outline-color: color-mix(in srgb, var(--bosui-form-element-button-color-mix) 50%, transparent 50%);

    --bosui-form-element-input-file-dropzone-background-color: var(--ita-colors-primary-200);
    --bosui-form-element-input-file-dropzone-border-width: 1px;
    --bosui-form-element-input-file-dropzone-border-style: dashed;
    --bosui-form-element-input-file-dropzone-border-color: var(--ita-colors-primary-500);
    --bosui-form-element-input-file-dropzone-border-radius: var(--bosui-theme-border-radius-2);
}
.BOSUI_FORM_ELEMENT,
.BOSUI_FORM_ELEMENT_REPEATED {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--bosui-form-element-gap);
    line-height: 1em;
}
.BOSUI_FORM_ELEMENT_REPEATED {
    display: flex;
    flex-direction: column;
    gap: calc(1.5 * var(--bosui-form-element-gap));
    line-height: 1em;
}

/* REQUIRED */
.BOSUI_FORM_ELEMENT:has(input:required) .BOSUI_FORM_ELEMENT__LABEL::after,
.BOSUI_FORM_ELEMENT:has(select:required) .BOSUI_FORM_ELEMENT__LABEL::after,
.BOSUI_FORM_GROUP:has(input:required) .BOSUI_FORM_GROUP__LABEL::after {
    content: ' *';
    color: var(--bosui-form-element-input-required-color);
}

/* SELECT */
.BOSUI_FORM_ELEMENT__SELECT {
    padding: var(--bosui-form-element-select-padding);
    background-color: var(--bosui-form-element-input-background-color);
    font-family: var(--bosui-core-font-family-lead, var(--bosui-core-font-family-lead-fallback));
    font-size: var(--bosui-form-element-select-font-size);
    transition: all 300ms;
    border-radius: var(--bosui-form-element-input-border-radius-base);
    border-width: 1px;
    border-left-width: 5px;
    border-style: solid;
    border-color: var(--bosui-form-element-input-border-color-default);
    caret-color: var(--bosui-form-element-input-caret-color);
    appearance: none;
    background: right 1em top 50% / 0.6em var(--bosui-form-element-input-background-color) no-repeat url('/bundles/bosui/img/iconpark/system/chevron-down-stroke.svg');
}
.BOSUI_FORM_ELEMENT__SELECT:disabled {
    background-color: var(--bosui-form-element-input-disabled-background-color);
    color: var(--bosui-form-element-input-disabled-color);
}
.BOSUI_FORM_ELEMENT__SELECT:focus {
    box-shadow: var(--bosui-theme-box-shadow-1);
    outline: none;
    border-color: var(--bosui-form-element-input-border-color-focus);
}

/* TEXT */
.BOSUI_FORM_ELEMENT__INPUT_TEXT {
    width: 100%;
    padding: var(--bosui-form-element-input-padding);
    background-color: var(--bosui-form-element-input-background-color);
    font-size: var(--bosui-form-element-input-font-size);
    transition: all 300ms;
    border-radius: var(--bosui-form-element-input-border-radius-base);
    border-width: 1px;
    border-left-width: 5px;
    border-style: solid;
    border-color: var(--bosui-form-element-input-border-color-default);
    caret-color: var(--bosui-form-element-input-caret-color);
}
.BOSUI_FORM_ELEMENT__INPUT_TEXT[type="range"] {
    padding-left: 0;
    padding-right: 0;
}
.BOSUI_FORM_ELEMENT__INPUT_TEXT[type="range"]:focus {
    box-shadow: none;
}
.BOSUI_FORM_ELEMENT__INPUT_TEXT:user-invalid {
    border-color: var(--ita-colors-danger-500);
}
.BOSUI_FORM_ELEMENT__INPUT_TEXT:user-valid {
    border-color: var(--ita-colors-success-500);
}
.BOSUI_FORM_ELEMENT__INPUT_TEXT:focus {
    box-shadow: var(--bosui-theme-box-shadow-1);
    outline: none;
    border-color: var(--bosui-form-element-input-border-color-focus);
}
.BOSUI_FORM_ELEMENT__INPUT_TEXT:disabled {
    background-color: var(--bosui-form-element-input-disabled-background-color);
    color: var(--bosui-form-element-input-disabled-color);
}

/* LABEL */
.BOSUI_FORM_ELEMENT__LABEL {
    font-size: var(--bosui-form-element-label-font-size);
    font-weight: var(--bosui-form-element-label-font-weight);
    color: var(--bosui-form-element-label-font-color);
}

/* HELP */
.BOSUI_FORM_ELEMENT__HELP {
    display: flex;
    align-items: baseline;
    gap: var(--bosui-form-element-gap);
    margin: 0;
    color: var(--bosui-form-element-help-color);
    font-size: var(--bosui-form-element-help-font-size);
    font-weight: var(--bosui-form-element-help-font-weight);
}

/* .BOSUI_FORM_ELEMENT__HELP__TEXT {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
} */
.BOSUI_FORM_ELEMENT__HELP .BOSUI_ICON_MASK {
    font-size: 0.7em;
}

/* ERROR */
.BOSUI_FORM_ELEMENT__ERROR {
    display: flex;
    align-items: baseline;
    gap: var(--bosui-form-element-gap);
    margin: 0;
    color: var(--bosui-form-element-error-color);
    font-size: var(--bosui-form-element-error-font-size);
    font-weight: var(--bosui-form-element-error-font-weight);
}
.BOSUI_FORM_ELEMENT__ERROR .BOSUI_ICON_MASK {
    font-size: 0.7em;
}

/* DISABLED */
.BOSUI_FORM_ELEMENT:has(input:disabled, select:disabled) .BOSUI_FORM_ELEMENT__LABEL,
.BOSUI_FORM_ELEMENT:has(input:disabled, select:disabled) .BOSUI_FORM_ELEMENT__HELP,
.BOSUI_FORM_ELEMENT:has(input:disabled, select:disabled) .BOSUI_FORM_ELEMENT__ERROR,
.BOSUI_FORM_ELEMENT:has(input:disabled, select:disabled) .BOSUI_FORM_ELEMENT__LABEL::after {
    color: var(--bosui-form-element-input-disabled-color);
}

/* PLACEHOLDER */
.BOSUI_FORM_ELEMENT__INPUT_TEXT::placeholder {
    letter-spacing: -0.01em;
    color: var(--ita-colors-neutral-600);
    font-style: italic;
}

/* REPEATED */
.BOSUI_FORM_ELEMENT_REPEATED .BOSUI_FORM_ELEMENT:last-child .BOSUI_FORM_ELEMENT__HELP {
    display: none;
}

/* FORM GROUP (CHECKBOXES AND RADIOS) */
.BOSUI_FORM_GROUP {
    gap: var(--bosui-form-element-gap);
}
.BOSUI_FORM_GROUP__LABEL {
    margin: 0;
    font-size: var(--bosui-form-element-group-label-font-size);
    font-weight: var(--bosui-form-element-group-label-font-weight);
}
.BOSUI_FORM_GROUP__CTN__ITEM {
    display: flex;
}
.BOSUI_FORM_GROUP__CTN__ITEM__RADIO,
.BOSUI_FORM_GROUP__CTN__ITEM__CHECKBOX {
    opacity: 0;
    position: absolute;
    margin: 0;
    width: 0;
    height: 0;
}
.BOSUI_FORM_GROUP__CTN__ITEM__LABEL {
    position: relative;
    width: 100%;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    padding-right: 1.5em;
    font-size: var(--bosui-form-element-group-item-label-font-size);
    font-weight: var(--bosui-form-element-group-item-label-font-weight);
    border-bottom: 1px var(--bosui-form-element-group-container-border-bottom, none) var(--ita-colors-neutral-400);
    text-wrap-style: balance;
    line-height: 1.5em;
}
.BOSUI_FORM_GROUP__CTN__ITEM__LABEL::before,
.BOSUI_FORM_GROUP__CTN__ITEM__LABEL::after {
    content: '';
    position: absolute;
}
/* CHECKBOXES */
.BOSUI_FORM_GROUP__CTN__ITEM__CHECKBOX ~ .BOSUI_FORM_GROUP__CTN__ITEM__LABEL {
    padding-left: calc(var(--bosui-form-element-checkbox-width) + 0.8em);
}
.BOSUI_FORM_GROUP__CTN__ITEM__CHECKBOX ~ .BOSUI_FORM_GROUP__CTN__ITEM__LABEL::before {
    left: 0;
    top: 0.55em;
    width: var(--bosui-form-element-checkbox-width);
    height: var(--bosui-form-element-checkbox-height);
    border-radius: var(--bosui-form-element-checkbox-border-radius);
    background-color: var(--ita-colors-neutral-400);
    box-shadow: inset 0px 0px var(--bosui-form-element-checkbox-inner-spacing) 1px var(--ita-colors-neutral-500);
    transition: all 300ms;
}
.BOSUI_FORM_GROUP__CTN__ITEM__CHECKBOX ~ .BOSUI_FORM_GROUP__CTN__ITEM__LABEL::after {
    top: calc(0.55em + var(--bosui-form-element-checkbox-inner-spacing));
    left: var(--bosui-form-element-checkbox-inner-spacing);
    width: calc(var(--bosui-form-element-checkbox-height) - 2 * var(--bosui-form-element-checkbox-inner-spacing));
    height: calc(var(--bosui-form-element-checkbox-height) - 2 * var(--bosui-form-element-checkbox-inner-spacing));
    border-radius: var(--bosui-form-element-checkbox-border-radius);
    background-color: var(--ita-colors-neutral-100);
    box-shadow: 0px 0px var(--bosui-form-element-checkbox-inner-spacing) 1px var(--ita-colors-neutral-600);
    transition: all 300ms;
}
.BOSUI_FORM_GROUP__CTN__ITEM__CHECKBOX:checked ~ .BOSUI_FORM_GROUP__CTN__ITEM__LABEL::before {
    background-color: var(--ita-colors-success-500);
    box-shadow: inset 0px 0px var(--bosui-form-element-checkbox-inner-spacing) 1px var(--ita-colors-success-700);
}
.BOSUI_FORM_GROUP__CTN__ITEM__CHECKBOX:checked ~ .BOSUI_FORM_GROUP__CTN__ITEM__LABEL::after {
    box-shadow: 0px 0px var(--bosui-form-element-checkbox-inner-spacing) 1px var(--ita-colors-success-700);
    left: calc(var(--bosui-form-element-checkbox-width) - calc(var(--bosui-form-element-checkbox-height) - 2 * var(--bosui-form-element-checkbox-inner-spacing)) - var(--bosui-form-element-checkbox-inner-spacing));
}
/* RADIOS */
.BOSUI_FORM_GROUP__CTN__ITEM__RADIO ~ .BOSUI_FORM_GROUP__CTN__ITEM__LABEL {
    padding-left: calc(var(--bosui-form-element-radio-width) + 0.8em);
}
.BOSUI_FORM_GROUP__CTN__ITEM__RADIO ~ .BOSUI_FORM_GROUP__CTN__ITEM__LABEL::before {
    left: 0;
    top: 0.5em;
    width: var(--bosui-form-element-radio-width);
    height: var(--bosui-form-element-radio-height);
    border-radius: var(--bosui-form-element-radio-border-radius);
    border: 1px solid var(--ita-colors-neutral-700);
    background-color: var(--ita-colors-neutral-300);
    box-shadow: inset 0px 0px calc(var(--bosui-form-element-radio-inner-spacing) * 0.2) 1px var(--ita-colors-neutral-500);
    transition: all 300ms;
}
.BOSUI_FORM_GROUP__CTN__ITEM__RADIO ~ .BOSUI_FORM_GROUP__CTN__ITEM__LABEL::after {
    top: calc(0.5em + var(--bosui-form-element-radio-inner-spacing));
    left: var(--bosui-form-element-radio-inner-spacing);
    width: calc(var(--bosui-form-element-radio-width) - 2 * var(--bosui-form-element-radio-inner-spacing));
    height: calc(var(--bosui-form-element-radio-height) - 2 * var(--bosui-form-element-radio-inner-spacing));
    opacity: 0;
    border-radius: var(--bosui-form-element-radio-border-radius);
    background-color: var(--ita-colors-neutral-100);
    transition: all 300ms;
}
.BOSUI_FORM_GROUP__CTN__ITEM__RADIO:checked ~ .BOSUI_FORM_GROUP__CTN__ITEM__LABEL::before {
    background-color: var(--ita-colors-success-500);
    box-shadow: inset 0px 0px calc(var(--bosui-form-element-radio-inner-spacing) * 0.2) 1px var(--ita-colors-success-600);
    border-color: var(--ita-colors-success-700);
}
.BOSUI_FORM_GROUP__CTN__ITEM__RADIO:checked ~ .BOSUI_FORM_GROUP__CTN__ITEM__LABEL::after {
    opacity: 1;
    box-shadow: 0px 0px calc(var(--bosui-form-element-radio-inner-spacing) * 0.5) 1px var(--ita-colors-success-800);
}
.BOSUI_FORM_GROUP__CTN__ITEM__RADIO:disabled ~ .BOSUI_FORM_GROUP__CTN__ITEM__LABEL,
.BOSUI_FORM_GROUP__CTN__ITEM__CHECKBOX:disabled ~ .BOSUI_FORM_GROUP__CTN__ITEM__LABEL {
    opacity: 0.5;
}

/* BUTTON */
.BOSUI_FORM_ELEMENT__BUTTON,
a.BOSUI_FORM_ELEMENT__BUTTON {
    --bosui-button-color-1: var(--bosui-flash-color, var(--bosui-form-element-button-color-1));
    --bosui-button-color-2: var(--bosui-flash-contrast-color, var(--bosui-form-element-button-color-2));
    border-style: solid;
    border-width: 1px;
    border-color: var(--bosui-button-color-1);
    background-color: var(--bosui-button-color-1);
    color: var(--bosui-button-color-2);
    font-weight: var(--bosui-form-element-button-font-weight);
    font-size: var(--bosui-form-element-button-font-size);
    text-decoration: none;
    text-align: center;
    line-height: 1em;
    text-overflow: ellipsis;
    white-space: nowrap;
    letter-spacing: -0.01em;
    overflow: hidden;
    padding: 0.6em 1.5em;
    border-radius: var(--bosui-form-element-button-border-radius);
    transition: color 300ms, background-color 300ms, border-color 300ms, opacity 300ms;
}
a.BOSUI_FORM_ELEMENT__BUTTON {
    display: inline-flex;
    justify-content: center;
}
.BOSUI_FORM_ELEMENT__BUTTON:focus,
.BOSUI_FORM_ELEMENT__BUTTON:active {
    --bosui-form-element-button-color-mix: color-mix(in srgb, var(--bosui-button-color-1) 50%, var(--bosui-button-color-2) 50%);
    --bosui-form-element-button-outline-color: color-mix(in srgb, var(--bosui-form-element-button-color-mix) 50%, transparent 50%);
    outline: var(--bosui-form-element-button-outline-width) solid var(--bosui-form-element-button-outline-color);
}
.BOSUI_FORM_ELEMENT__BUTTON:hover {
    background-color: color-mix(in oklch, var(--bosui-button-color-1) 80%, var(--bosui-button-color-2) 20%);
}
/* PRIMARY */
.BOSUI_FORM_ELEMENT__BUTTON[data-bosui-theme="primary"] {
    --bosui-button-color-1: var(--ita-colors-primary-500);
    --bosui-button-color-2: var(--ita-colors-primary-100);
}
/* DANGER */
.BOSUI_FORM_ELEMENT__BUTTON[data-bosui-theme="danger"] {
    --bosui-button-color-1: var(--ita-colors-danger-500);
    --bosui-button-color-2: var(--ita-colors-danger-100);
}
/* WARNING */
.BOSUI_FORM_ELEMENT__BUTTON[data-bosui-theme="warning"] {
    --bosui-button-color-1: var(--ita-colors-warning-500);
    --bosui-button-color-2: var(--ita-colors-warning-100);
}
/* SUCCESS */
.BOSUI_FORM_ELEMENT__BUTTON[data-bosui-theme="success"] {
    --bosui-button-color-1: var(--ita-colors-success-500);
    --bosui-button-color-2: var(--ita-colors-success-100);
}
/* * -STROKE */
.BOSUI_FORM_ELEMENT__BUTTON[data-bosui-theme*="stroke"] {
    border-color: var(--bosui-button-color-2);
}
/* PRIMARY STROKE */
.BOSUI_FORM_ELEMENT__BUTTON[data-bosui-theme="primary-stroke"] {
    --bosui-button-color-1: transparent;
    --bosui-button-color-2: var(--ita-colors-primary-500);
}
/* DANGER STROKE */
.BOSUI_FORM_ELEMENT__BUTTON[data-bosui-theme="danger-stroke"] {
    --bosui-button-color-1: transparent;
    --bosui-button-color-2: var(--ita-colors-danger-600);
}
/* WARNING STROKE */
.BOSUI_FORM_ELEMENT__BUTTON[data-bosui-theme="warning-stroke"] {
    --bosui-button-color-1: transparent;
    --bosui-button-color-2: var(--ita-colors-warning-600);
}
/* SUCCESS STROKE */
.BOSUI_FORM_ELEMENT__BUTTON[data-bosui-theme="success-stroke"] {
    --bosui-button-color-1: transparent;
    --bosui-button-color-2: var(--ita-colors-success-600);
}
/* PRIMARY TRANSPARENT */
.BOSUI_FORM_ELEMENT__BUTTON[data-bosui-theme="primary-transparent"] {
    --bosui-button-color-1: transparent;
    --bosui-button-color-2: var(--ita-colors-primary-500);
}
.BOSUI_FORM_ELEMENT__BUTTON[data-bosui-theme="primary-transparent"]:hover {
    background-color: transparent;
}
/* DANGER TRANSPARENT */
.BOSUI_FORM_ELEMENT__BUTTON[data-bosui-theme="danger-transparent"] {
    --bosui-button-color-1: transparent;
    --bosui-button-color-2: var(--ita-colors-danger-600);
}
.BOSUI_FORM_ELEMENT__BUTTON[data-bosui-theme="danger-transparent"]:hover {
    background-color: transparent;
}
/* WARNING TRANSPARENT */
.BOSUI_FORM_ELEMENT__BUTTON[data-bosui-theme="warning-transparent"] {
    --bosui-button-color-1: transparent;
    --bosui-button-color-2: var(--ita-colors-warning-600);
}
.BOSUI_FORM_ELEMENT__BUTTON[data-bosui-theme="warning-transparent"]:hover {
    background-color: transparent;
}
/* SUCCESS TRANSPARENT */
.BOSUI_FORM_ELEMENT__BUTTON[data-bosui-theme="success-transparent"] {
    --bosui-button-color-1: transparent;
    --bosui-button-color-2: var(--ita-colors-success-600);
}
.BOSUI_FORM_ELEMENT__BUTTON[data-bosui-theme="success-transparent"]:hover {
    background-color: transparent;
}
/* BUTTON SIZES */
.BOSUI_FORM_ELEMENT__BUTTON[data-bosui-size="1"] {
    --bosui-form-element-button-font-size: var(--ita-fontSizes-1);
}
.BOSUI_FORM_ELEMENT__BUTTON[data-bosui-size="2"] {
    --bosui-form-element-button-font-size: var(--ita-fontSizes-2);
}
.BOSUI_FORM_ELEMENT__BUTTON[data-bosui-size="3"] {
    --bosui-form-element-button-font-size: var(--ita-fontSizes-3);
}
.BOSUI_FORM_ELEMENT__BUTTON[data-bosui-size="4"] {
    --bosui-form-element-button-font-size: var(--ita-fontSizes-4);
}
.BOSUI_FORM_ELEMENT__BUTTON[data-bosui-size="5"] {
    --bosui-form-element-button-font-size: var(--ita-fontSizes-5);
}
.BOSUI_FORM_ELEMENT__BUTTON[data-bosui-size="6"] {
    --bosui-form-element-button-font-size: var(--ita-fontSizes-6);
}
/* FORM BUTTON COMBOS */
.BOSUI_COMBO_BTN {
    display: flex;
}
.BOSUI_COMBO_BTN .BOSUI_FORM_ELEMENT:not(:first-of-type):not(:last-of-type) .BOSUI_FORM_ELEMENT__BUTTON {
    border-radius: 0;
}
.BOSUI_COMBO_BTN .BOSUI_FORM_ELEMENT:first-of-type:not(:last-of-type) .BOSUI_FORM_ELEMENT__BUTTON {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.BOSUI_COMBO_BTN .BOSUI_FORM_ELEMENT:last-of-type:not(:first-of-type) .BOSUI_FORM_ELEMENT__BUTTON {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.BOSUI_COMBO_BTN .BOSUI_FORM_ELEMENT:not(:last-of-type) .BOSUI_FORM_ELEMENT__BUTTON {
    border-right-color: var(--bosui-button-color-2);
}
.BOSUI_COMBO_BTN .BOSUI_FORM_ELEMENT:not(:first-of-type) .BOSUI_FORM_ELEMENT__BUTTON {
    border-left-width: 0;
}
/* BUTTON COMBOS */
.BOSUI_COMBO_BTN > .BOSUI_FORM_ELEMENT__BUTTON:first-child {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.BOSUI_COMBO_BTN > .BOSUI_FORM_ELEMENT__BUTTON:last-child {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.BOSUI_COMBO_BTN > .BOSUI_FORM_ELEMENT__BUTTON:not(:first-child):not(:last-child) {
    border-radius: 0;
}
.BOSUI_COMBO_BTN > .BOSUI_FORM_ELEMENT__BUTTON:not(:last-child) {
    border-right-color: var(--bosui-button-color-2);
}
.BOSUI_COMBO_BTN > .BOSUI_FORM_ELEMENT__BUTTON:not(:first-child) {
    border-left-width: 0;
}

/* INPUT FILE */
.BOSUI_FORM_ELEMENT__INPUT_FILE {
    position: absolute;
    opacity: 0;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.BOSUI_FORM_ELEMENT__INPUT_FILE_LABEL {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
    padding: 2em 2em 2em 7em;
    position: relative;
    background-color: var(--bosui-form-element-input-file-dropzone-background-color);
    border: var(--bosui-form-element-input-file-dropzone-border-width) var(--bosui-form-element-input-file-dropzone-border-style) var(--bosui-form-element-input-file-dropzone-border-color);
    border-radius: var(--bosui-form-element-input-file-dropzone-border-radius);
}
.BOSUI_FORM_ELEMENT__INPUT_FILE_LABEL::before {
    content: '';
    position: absolute;
    left: 2em;
    top: 50%;
    transform: translateY(-50%);
    width: 3em;
    aspect-ratio: 1;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    background-color: var(--ita-colors-primary-500);
    mask-image: url('/bundles/bosui/img/icon/upload-simple.svg');
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
}
@media (max-width: 599px) {
    .BOSUI_FORM_ELEMENT__INPUT_FILE_LABEL {
        padding: 7em 2em 2em 2em;
    }
    .BOSUI_FORM_ELEMENT__INPUT_FILE_LABEL::before {
        left: 50%;
        top: 2em;
        transform: translateX(-50%);
    }
}
.BOSUI_FORM_ELEMENT__INPUT_FILE_LABEL__TITLE {
    font-size: var(--bosui-form-element-label-font-size);
    font-weight: var(--bosui-form-element-label-font-weight);
    color: var(--bosui-form-element-label-font-color);
}
.BOSUI_FORM_ELEMENT__INPUT_FILE_LABEL__HELP {
    color: var(--bosui-form-element-help-color);
    font-size: var(--bosui-form-element-help-font-size);
    font-weight: var(--bosui-form-element-help-font-weight);
}
.BOSUI_FORM_ELEMENT__INPUT_FILE_LABEL__CONSTRAINTS {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
    color: var(--bosui-form-element-help-color);
    font-size: var(--bosui-form-element-help-font-size);
    font-weight: var(--bosui-form-element-help-font-weight);
    padding-left: 0.8em;
    margin-left: 0.25em;
    border-left: 1px solid color-mix(in srgb, var(--bosui-form-element-help-color) 30%, transparent 70%);
}
.BOSUI_FORM_ELEMENT__INPUT_FILE_LABEL__CONSTRAINTS > span::before {
    content: '• ';
}
