/* Ninja Neumorph - Tables */

table {
  width: 100%;
  border-collapse: collapse;
  background: linear-gradient(145deg, var(--nm-surface), var(--nm-surface-raised));
  border-radius: 0.85rem;
  overflow: hidden;
  font-size: 14px;
  box-shadow: var(--nm-shadow-inset-sm);
}

table thead {
  background: color-mix(in srgb, var(--nm-surface-raised) 88%, #fff 12%);
}

table th {
  padding: var(--nm-space-sm) var(--nm-space-md);
  font-weight: 600;
  font-size: 13px;
  text-align: left;
  color: var(--nm-text);
  border-bottom: 2px solid var(--nm-border-strong);
  white-space: nowrap;
}

table td {
  padding: var(--nm-space-sm) var(--nm-space-md);
  color: var(--nm-text);
  border-bottom: 1px solid var(--nm-border);
  vertical-align: middle;
}

table tbody tr:last-child td {
  border-bottom: none;
}

table tbody tr:hover {
  background: color-mix(in srgb, #ffffff 24%, transparent);
}

/* Sortable headers */
.sortable-heading {
  cursor: pointer;
}

.sortable-heading:hover {
  color: var(--nm-accent);
}

.tablesort {
  display: inline-block;
  width: 14px;
  height: 14px;
  vertical-align: middle;
  margin-left: 4px;
}

/* Striped */
table.table-striped tbody tr:nth-child(odd) {
  background: var(--nm-surface-inset);
}

table.table-striped tbody tr:nth-child(odd):hover {
  background: var(--nm-accent-muted);
}

/* Responsive wrapper */
.table-responsive,
.gin-table-scroll-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: var(--nm-space-md);
  border-radius: var(--nm-radius-sm);
  box-shadow: var(--nm-shadow-raised-sm);
}

.table-responsive table,
.gin-table-scroll-wrapper table {
  margin-bottom: 0;
  border-radius: 0;
}

/* Drupal-specific tables */
.views-table {
  width: 100%;
}

.field-multiple-table th {
  font-size: 12px;
}

/* Tabledrag (sortable rows) */
.draggable {
  cursor: move;
}

.draggable a.tabledrag-handle {
  cursor: move;
  padding: 2px 4px;
}

.tabledrag-handle .handle {
  width: 18px;
  height: 18px;
}

/* Sticky headers */
table.sticky-header,
table.position-sticky,
table.gin--sticky-table-header {
  position: sticky;
  top: 0;
  z-index: 10;
}

/* Operations column */
td.views-field-operations,
td.operations {
  white-space: nowrap;
}

/* Bulk operations column */
td.views-field-bulk-form,
th.select-all {
  width: 40px;
  text-align: center;
}
