/* ==========================================================================
   Beca Theme — Tables
   ========================================================================== */

table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: var(--space-8);
  font-size: var(--text-sm);
  background-color: var(--color-white);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}

/* Head */
thead {
  background-color: var(--color-primary);
  color: var(--color-white);
}

thead th {
  padding: var(--space-3) var(--space-4);
  text-align: left;
  font-weight: var(--font-weight-semi);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: var(--text-xs);
  white-space: nowrap;
}

thead th a {
  color: var(--color-white);
  text-decoration: none;
  opacity: 0.9;
}
thead th a:hover { opacity: 1; }

/* Body */
tbody tr {
  border-bottom: 1px solid var(--color-gray-100);
  transition: background-color var(--transition-fast);
}

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

tbody tr:hover {
  background-color: var(--color-gray-50);
}

tbody td {
  padding: var(--space-3) var(--space-4);
  color: var(--color-gray-700);
  vertical-align: middle;
}

/* Foot */
tfoot {
  background-color: var(--color-gray-50);
  border-top: 2px solid var(--color-gray-200);
}

tfoot td {
  padding: var(--space-3) var(--space-4);
  font-weight: var(--font-weight-semi);
  color: var(--color-gray-700);
}

/* Striped rows */
.table--striped tbody tr:nth-child(even) {
  background-color: var(--color-gray-50);
}

/* Drupal admin table overrides */
.views-table th.active a {
  color: var(--color-white);
}

/* Responsive table wrapper */
.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: var(--space-8);
}

.table-responsive table {
  margin-bottom: 0;
}
