/**
 * File Name: gco-ui-table.css
 * Project: GCO UI CSS Architecture Migration
 * Pattern: gco_table
 *
 * Production-ready governed table primitive promoted from the accepted
 * Composition Lab matrix. The table owns regular and selected foreground/
 * background combinations. Hover changes to the governed light interaction
 * surface, uses the complementary Text-on-light foreground, and applies the
 * shared interaction ring.
 */

.gco-ui-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--gco-ui-font-family);
  font-size: var(--gco-ui-font-size-2);
  line-height: var(--gco-ui-line-height);
}

.gco-ui-table__heading {
  padding: var(--gco-ui-space-3) var(--gco-ui-space-4);
  background: var(--gco-ui-table-heading-background);
  color: var(--gco-ui-table-heading-foreground);
  border:
    var(--gco-ui-border-width-2)
    var(--gco-ui-border-style)
    var(--gco-ui-table-heading-border);
  text-align: left;
  font-weight: var(--gco-ui-font-weight-bold);
  vertical-align: top;
}

.gco-ui-table__cell {
  padding: var(--gco-ui-space-3) var(--gco-ui-space-4);
  background: var(--gco-ui-table-cell-regular-background);
  color: var(--gco-ui-table-cell-regular-foreground);
  border:
    var(--gco-ui-border-width-2)
    var(--gco-ui-border-style)
    var(--gco-ui-table-cell-regular-border);
  text-align: left;
  vertical-align: top;
}

/*
 * Semantic Actions/control column exception.
 * Ordinary data cells keep their wrapping behavior; compact controls stay intact.
 */
.gco-ui-table__heading--actions,
.gco-ui-table__cell--actions {
  width: 1%;
  white-space: nowrap;
}

.gco-ui-table tbody tr:not(.is-selected):hover {
  position: relative;
  z-index: 1;
  box-shadow: var(--gco-ui-interaction-hover-ring);
}

.gco-ui-table tbody tr:not(.is-selected):hover > .gco-ui-table__cell {
  background: var(--gco-ui-table-cell-hover-background);
  color: var(--gco-ui-table-cell-hover-foreground);
  border-color: var(--gco-ui-table-cell-hover-border);
}

.gco-ui-table tbody tr.is-selected > .gco-ui-table__cell,
.gco-ui-table tbody tr.is-selected:hover > .gco-ui-table__cell {
  background: var(--gco-ui-table-cell-selected-background);
  color: var(--gco-ui-table-cell-selected-foreground);
  border-color: var(--gco-ui-table-cell-selected-border);
  font-weight: var(--gco-ui-font-weight-bold);
}

.gco-ui-table tbody tr.is-selected:hover {
  position: relative;
  z-index: 1;
  box-shadow: var(--gco-ui-interaction-hover-ring);
}

/*
 * Structural modifier for label/value detail tables.
 * It owns layout only; the base table primitive still owns presentation.
 */
.gco-ui-table--two-column {
  table-layout: auto;
}

.gco-ui-table--two-column
.gco-ui-table__cell[scope="row"] {
  width: 1%;
  white-space: nowrap;
}

/* PL-0004 pagination composition. */
.gco-ui-table__pagination {
display: grid;
gap: var(--gco-ui-space-3);
}

.gco-ui-table__pagination-controls {
display: flex;
align-items: end;
justify-content: flex-start;
flex-wrap: wrap;
gap: var(--gco-ui-space-2);
}

.gco-ui-table__pagination-navigation { display: inline-flex; align-items: center; gap: var(--gco-ui-space-2); margin-left: auto; }
.gco-ui-table__page-size {
display: inline-grid;
width: auto;
}

.gco-ui-table__page-size-control {
width: auto;
min-width: 5rem;
}

/* PL-0004: complementary resting ring for Rows per page only.
 * The governed Form hover ring supersedes it; focus-visible remains Form-owned. */
.gco-ui-table__pagination {
  --gco-ui-table-page-size-rest-ring: var(--gco-ui-bg-light-background);
}
.gco-ui-table__pagination.gco-ui-form--on-light {
  --gco-ui-table-page-size-rest-ring: var(--gco-ui-bg-dark-background);
}
.gco-ui-table__pagination .gco-ui-form__control.gco-ui-table__page-size-control,
body.wp-admin .gco-ui-form .gco-ui-table__pagination .gco-ui-form__control.gco-ui-table__page-size-control {
  box-shadow: 0 0 0 2px var(--gco-ui-table-page-size-rest-ring);
}
.gco-ui-table__pagination .gco-ui-form__control.gco-ui-table__page-size-control:not([readonly]):not(:disabled):hover,
body.wp-admin .gco-ui-form .gco-ui-table__pagination .gco-ui-form__control.gco-ui-table__page-size-control:not([readonly]):not(:disabled):hover {
  box-shadow: var(--gco-ui-interaction-hover-ring);
}


/* PL-0004: native Rows per page popup options use a light menu surface.
 * Keep their foreground explicitly complementary, independent of host text.
 * The selected option remains legible against the governed action colour.
 * The closed control, resting ring, hover and keyboard focus are unchanged. */
.gco-ui-table__pagination select.gco-ui-table__page-size-control option {
  background-color: var(--gco-ui-bg-light-background);
  color: var(--gco-ui-text-on-light);
}
.gco-ui-table__pagination select.gco-ui-table__page-size-control option:checked {
  background-color: var(--gco-ui-color-action);
  color: var(--gco-ui-bg-light-background);
}

.gco-ui-table__pagination-status,
.gco-ui-table__pagination-summary {
align-self: center;
}

.gco-ui-table__scroll {
overflow-x: auto;
}
