.chips-container {
    padding: 8px;
    border-radius: 5px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    border: 1px solid var(--s7-blue-grey);
    align-content: flex-start;
}

.chip {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--s7-white);
    background-color: var(--s7-primary-bg-color);
    padding: 4px 2px 4px 8px;
    border-radius: 5px;
    font-size: 12px;
    white-space: nowrap;
    height: 24px;
    max-width: 20px; /* it will be re-calculated in JS */
}

.chip:has(> .chip-delete-icon:hover.z-a:not([disabled]) ) {
    background-color: var(--s7-secondary-red);
}

.chip-delete-icon {
    color: var(--s7-white) !important;
    height: 100%;
}

.chip-delete-icon:hover {
    background-color: transparent;
}

.chip-delete-icon >i::before {
    font-size: 12px;
    line-height: 12px;
}

.div-with-text__workaround {
    visibility: hidden;
    width: auto;
    position: absolute;
    padding: 0 46px 0 8px;
    line-height: 14px;
    font-size: 13px;
    font-weight: normal;
    white-space: nowrap;
}

.z-textbox.chip-edit-textbox {
    min-width: 80px;
    max-width: 20px; /* it will be re-calculated in JS */
    padding-right: 45px;
}

.chip-edit-actions {
    grid-area: a;
    place-self: stretch end;
    position: relative;
    display: flex;
    padding-right: 3px;
    place-content: center;
}

.chip-edit-actions > .z-a {
    width: 20px;
    display: grid;
    place-content: center;
    text-decoration: none!important;
    color: var(--chip-icon-color);
}
.chip-edit-actions > .z-a:not([disabled]).z-a:hover {
    color: var(--chip-icon-color--hover);
}

.chip-edit-actions .z-a > :is(i.fas, i.far) {
    font-size: 12px;
    line-height: 12px;
    // some icons are wider than 18px: this allows centering in the 28px container
    width: initial;
}

.chip-edit-item-save-icon {
    --chip-icon-color: var(--s7-primary-blue);
    --chip-icon-color--hover: var(--s7-secondary-blue);
}


.chip-edit-item-cancel-icon {
    --chip-icon-color: var(--s7-secondary-red);
    --chip-icon-color--hover: var(--s7-primary-red);
}

.z-textbox.new-chip-textbox {
    border: none;
    height: 24px !important;
    padding: 0;
    flex: 1;
}

.new-chip-textbox-container {
    display: flex;
    gap: 6px;
    flex: 1;
}

.chip-item-container {
    display: flex;
    gap: 6px;
}

.chip-item-container.z-dragged {
    cursor: no-drop;
    opacity: 0.3;
}

.chip-item-container.z-dragged .chip-delete-icon {
    cursor: no-drop;
}

.chip-item-container.z-dragged ~ .new-chip-textbox-container .new-chip-textbox {
    visibility: hidden;
}

.chip-item-container.z-dragged > .chip {
    background-color: var(--s7-primary-bg-color) !important;
}

.chip-item-container.z-drag-over > .chip-item-drop-slot,
.new-chip-textbox-container.z-drag-over > .chip-item-drop-slot {
    display: flex;
}

.chip-item-container.z-drag-over {
    cursor: grabbing;
    background-color: transparent !important;
}

.chip-item-container.z-drag-over > .chip {
    background-color: var(--s7-primary-bg-color) !important;
}

.new-chip-textbox-container.z-drag-over {
    background-color: transparent !important;
}

.chip-item-container.z-drag-ghost {
    cursor: grabbing;
}

.chip-item-container.z-drag-over .chip-delete-icon {
    cursor: grabbing;
    background-color: transparent;
}

.chip-item-drop-slot {
    display: none;
    cursor: grabbing;
    height: 100%;
    align-items: center;
    padding: 0 3px 0 3px;
    overflow: hidden;
    border-radius: 5px;
    background-color: var(--s7-grey-blue) !important;
    color: var(--s7-dark-green) !important;
}

.chip-item-drop-slot.z-drag-over {
    display: flex;
}

.chip-item-drop-slot:hover {
    color: var(--s7-dark-green) !important;
}
