/* =====================================================================
   Inventory share page (unlinked, noindex) — slab table, filter & sort.
   Scoped to .inv-* classes so it never collides with styles.css.
   ===================================================================== */

.inv-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(12px, 2vw, 20px);
  align-items: flex-end;
  margin-bottom: clamp(18px, 2.4vw, 28px);
}

.inv-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.inv-field label {
  font-size: var(--label);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--taupe-on-light);
  font-weight: 500;
}

.inv-field select {
  font-family: var(--sans);
  font-size: .95rem;
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--greige);
  border-radius: 2px;
  padding: 10px 14px;
  min-width: 180px;
}

.inv-status {
  font-size: .85rem;
  color: var(--taupe-on-light);
  margin: 0 0 clamp(18px, 2.4vw, 28px);
}

.inv-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--greige);
  border-radius: 4px;
}

.inv-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  font-family: var(--sans);
  font-size: .9rem;
  background: var(--paper);
}

.inv-table th,
.inv-table td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid var(--greige);
  white-space: nowrap;
}

.inv-table thead th {
  background: var(--ivory-deep);
  font-size: var(--label);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--taupe-on-light);
  font-weight: 500;
}

.inv-table th[data-numeric="true"],
.inv-table td[data-numeric="true"] {
  text-align: right;
}

.inv-table__sort {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  color: inherit;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}

.inv-table__sort:hover,
.inv-table__sort:focus-visible {
  color: var(--ink);
}

.inv-table__sort-icon {
  font-size: .75em;
  color: var(--taupe-soft-on-light);
}

th[aria-sort="ascending"] .inv-table__sort,
th[aria-sort="descending"] .inv-table__sort {
  color: var(--ink);
}

th[aria-sort="ascending"] .inv-table__sort-icon,
th[aria-sort="descending"] .inv-table__sort-icon {
  color: var(--rust-on-light);
}

.inv-table tbody tr:last-child td {
  border-bottom: 0;
}

.inv-table tbody tr:hover {
  background: var(--ivory-deep);
}

.inv-table td a {
  color: var(--rust-on-light);
}

.inv-empty td {
  padding: 48px 16px;
  text-align: center;
  color: var(--taupe-on-light);
  font-family: var(--serif);
  font-style: italic;
  font-size: 1.1rem;
  white-space: normal;
}

/* Slabs / Cookies switch under the hero heading. */
.inv-switch {
  display: inline-flex;
  margin-top: clamp(16px, 2vw, 24px);
  border: 1px solid var(--greige);
  border-radius: 999px;
  background: var(--paper);
  padding: 3px;
}

.inv-switch__btn {
  min-height: 44px;
  min-width: 112px;
  padding: 0 22px;
  font-family: var(--sans);
  font-size: var(--label);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--taupe-on-light);
  background: transparent;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
}

.inv-switch__btn:hover { color: var(--ink); }

.inv-switch__btn[aria-pressed="true"] {
  background: var(--ink);
  color: var(--paper);
}

.inv-switch__btn:focus-visible {
  outline: 2px solid var(--rust-on-light);
  outline-offset: 2px;
}
