/* ==========================================================================
   pages/comparison.css — Filter/search controls + sortable table chrome
   Loaded only on /visas/. Depends on tokens.css + main.css.
   ========================================================================== */

.ct-controls {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
  align-items: end;
  margin-block: var(--space-5);
}

.ct-field { display: flex; flex-direction: column; gap: var(--space-2); }
.ct-field label { font-weight: var(--fw-semibold); font-size: var(--fs-sm); color: var(--text-strong); }

.ct-field input[type="search"],
.ct-field select {
  width: 100%;
  padding: var(--space-3);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-md);
  background: var(--bg-surface);
  color: var(--text-strong);
}

.ct-field--check {
  flex-direction: row;
  align-items: center;
  gap: var(--space-2);
}
.ct-field--check input { width: 1.15rem; height: 1.15rem; }
.ct-field--check label { font-weight: var(--fw-medium); }

.ct-status {
  margin: 0;
  font-size: var(--fs-sm);
  color: var(--text-muted);
  align-self: center;
}

/* Sortable header buttons: fill the cell, look like plain header text. */
.th-sort {
  all: unset;
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  width: 100%;
  cursor: pointer;
  font-weight: var(--fw-semibold);
  color: var(--text-strong);
}
.th-sort:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; border-radius: var(--radius-sm); }

.data-table th[data-sort] .th-sort::after {
  content: "\2195"; /* up-down arrow: sortable */
  font-size: 0.85em;
  color: var(--text-muted);
}
.data-table th[aria-sort="ascending"] .th-sort::after { content: "\2191"; color: var(--color-primary-700); }
.data-table th[aria-sort="descending"] .th-sort::after { content: "\2193"; color: var(--color-primary-700); }

.data-table td a.btn { white-space: nowrap; }

@media (min-width: 768px) {
  .ct-controls { grid-template-columns: 2fr 1fr auto auto; }
}
