/**
 * @file
 * Claro styles for Tables.
 */

table {
  width: 100%;
  margin-block: var(--space-l);
  border-collapse: collapse;
}

.sticky-header {
  min-width: 0;
}

caption {
  text-align: start;
}

th {
  position: relative;
  box-sizing: border-box;
  height: var(--space-xl);
  padding: var(--space-xs) var(--space-m);
  text-align: start;
  color: var(--color-text);
  background: var(--color-gray-050);
  line-height: 1.25rem; /* 20px */
}

tr {
  border-bottom: 0.0625rem solid var(--color-gray-200);
  &:hover,
  &:focus-within {
    color: var(--color-text);
    background: var(--color-bgblue-hover);
  }
  &.color-warning:hover,
  &.color-warning:focus {
    color: var(--color-text);
    background: #fdf8ed;
  }
  &.color-error:hover,
  &.color-error:focus {
    color: var(--color-text);
    background: #fcf4f2;
  }
}
tr,
.draggable-table.tabledrag-disabled tr {
  color: var(--color-text);
  background: var(--color-white);
}
thead tr {
  border: 0;
}

td {
  box-sizing: border-box;
  min-height: 4rem;
  padding: var(--space-xs) var(--space-m);
  text-align: start;

  & .item-list ul {
    margin: 0;
  }

  &.is-active {
    background: none;
  }
}

/**
 * Target every .form-element input that parent is a form-item of a table cell.
 * This ignores the filter format select of the textarea editor.
 */
td {
  & > .form-item > .form-element,
  & > .ajax-new-content > .form-item > .form-element,
  & > .form-item > .claro-autocomplete,
  & > .form-item > .claro-autocomplete > .form-element,
  & > .ajax-new-content > .form-item > .claro-autocomplete,
  & > .ajax-new-content > .form-item > .claro-autocomplete > .form-element {
    width: 100%;
  }

  & > .form-item > .form-element--type-select,
  & > .ajax-new-content > .form-item > .form-element--type-select {
    width: max-content;
    min-width: 100%;
  }
}

/* Win over table-file-multiple-widget. */
th.is-disabled.is-disabled {
  color: var(--input--disabled-fg-color);
}
/* Force browsers to calculate the width of a 'select all' <th> element. */
th.select-all {
  width: 1px;
}

/**
 * Captions.
 */
.caption {
  margin-block-end: 1.25rem; /* 20px */
}

tfoot {
  font-weight: bold;
  & tr {
    &:last-child {
      border-bottom: 0;
    }
    &:first-child td {
      border-top: 0.0625rem solid var(--color-gray-500);
    }
  }
}

/**
 * Responsive table cells.
 */
th.priority-low,
th.priority-medium,
td.priority-low,
td.priority-medium {
  display: none;
}

@media screen and (min-width: 38em) {
  th.priority-medium,
  td.priority-medium {
    display: table-cell;
  }
}

@media screen and (min-width: 60em) {
  th.priority-low,
  td.priority-low {
    display: table-cell;
  }
}

.tabledrag-toggle-weight-wrapper {
  margin-block-start: var(--space-l);
  line-height: calc(28rem / 16);

  & + table,
  & + .tableresponsive-toggle-columns + table {
    margin-block-start: 0;
  }
}
