/*
 * tables.css — ANZ v3 Table Component
 *
 * Namespace: .anz-v3-table
 * Covers: cart line-items, checkout summary
 * All selectors scoped: body.anz-v3 .anz-v3-table*
 * No hex values — var(--...) only.
 *
 * Phase 4 pages: cart, checkout
 * Provenance: IA spec §6.2 (spacing tokens), brand PDF page 4 (approved text pairs)
 */


/* ===================================================================
 * TABLE WRAPPER
 * =================================================================== */

body.anz-v3 .anz-v3-table-wrap {
  border-radius: var(--radius-md);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}


/* ===================================================================
 * BASE TABLE
 * =================================================================== */

body.anz-v3 .anz-v3-table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: var(--type-body-m-size);
  line-height: var(--type-body-m-lh);
  min-width: 100%;
  width: 100%;
}

body.anz-v3 .anz-v3-table thead {
  background-color: var(--surface-inverse);
  color: var(--text-on-inverse);
}

body.anz-v3 .anz-v3-table th {
  color: var(--text-on-inverse);
  font-size: var(--type-body-s-size);
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.02em;
  padding: var(--space-3) var(--space-4);
  text-align: left;
  text-transform: uppercase;
  white-space: nowrap;
}

body.anz-v3 .anz-v3-table tbody tr {
  border-bottom: 1px solid var(--border);
  transition: background-color var(--motion-fast) var(--motion-exit);
}

body.anz-v3 .anz-v3-table tbody tr:last-child {
  border-bottom: none;
}

body.anz-v3 .anz-v3-table tbody tr:hover {
  background-color: var(--bg-wash);
}

body.anz-v3 .anz-v3-table td {
  color: var(--text);
  padding: var(--space-4);
  vertical-align: middle;
}


/* ===================================================================
 * TABLE VARIANTS
 * =================================================================== */

/* Striped rows */
body.anz-v3 .anz-v3-table--striped tbody tr:nth-child(even) {
  background-color: var(--bg-soft);
}

/* Bordered */
body.anz-v3 .anz-v3-table--bordered,
body.anz-v3 .anz-v3-table--bordered th,
body.anz-v3 .anz-v3-table--bordered td {
  border: 1px solid var(--border);
}

/* Summary table (checkout totals) */
body.anz-v3 .anz-v3-table--summary td:last-child,
body.anz-v3 .anz-v3-table--summary th:last-child {
  font-weight: var(--font-weight-medium);
  text-align: right;
}

body.anz-v3 .anz-v3-table--summary tfoot tr {
  background-color: var(--bg-wash);
  border-top: 2px solid var(--anz-pacific-blue);
}

body.anz-v3 .anz-v3-table--summary tfoot td {
  font-size: var(--type-h3-size);
  font-weight: var(--font-weight-medium);
}


/* ===================================================================
 * PRODUCT IMAGE CELL
 * =================================================================== */

body.anz-v3 .anz-v3-table__product-img {
  background-color: var(--bg-soft);
  border-radius: var(--radius-sm);
  height: 64px;
  object-fit: cover;
  width: 64px;
}

body.anz-v3 .anz-v3-table__product-name {
  color: var(--text);
  font-weight: var(--font-weight-medium);
}

body.anz-v3 .anz-v3-table__product-meta {
  color: var(--text-muted);
  font-size: var(--type-body-s-size);
}


/* ===================================================================
 * RESPONSIVE
 * =================================================================== */

@media (max-width: 768px) {
  body.anz-v3 .anz-v3-table th,
  body.anz-v3 .anz-v3-table td {
    padding: var(--space-3);
  }

  body.anz-v3 .anz-v3-table__product-img {
    height: 48px;
    width: 48px;
  }
}


/* ===================================================================
 * REDUCED MOTION
 * =================================================================== */

@media (prefers-reduced-motion: reduce) {
  body.anz-v3 .anz-v3-table tbody tr {
    transition: none;
  }
}
