/*
 * Centrale mobiele tabelondersteuning.
 * Deze laag verandert geen kolommen of gegevens en zet geen kolommen
 * automatisch vast. Paginaspecifieke sticky-kolommen blijven opt-in.
 */

.mobile-table-shell {
  position: relative;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
  scrollbar-gutter: stable;
}

.mobile-table-shell.mobile-table-can-scroll-right {
  box-shadow:
    inset -18px 0 18px -18px rgba(255,255,255,.55),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.mobile-table-hint {
  display: none;
  align-items: center;
  gap: 8px;
  margin: 12px 0 -6px;
  color: var(--muted, #aec3df);
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.35;
}

.mobile-table-hint::before {
  content: "↔";
  flex: 0 0 auto;
  color: var(--text, #fff);
  font-size: 1.1rem;
}

.mobile-table-hint.is-visible {
  display: flex;
}

@media (max-width: 900px) {
  .mobile-table-shell > table th,
  .mobile-table-shell > table td {
    padding: 8px 9px;
  }

  .mobile-table-shell > table input:not([type="checkbox"]):not([type="radio"]),
  .mobile-table-shell > table select,
  .mobile-table-shell > table textarea,
  .mobile-table-shell > table button,
  .mobile-table-shell > table .btn,
  .mobile-table-shell > table [class*="btn-"] {
    min-height: 42px;
  }

  .mobile-table-shell > table input[type="checkbox"],
  .mobile-table-shell > table input[type="radio"] {
    min-width: 20px;
    min-height: 20px;
  }
}

@media (max-width: 540px) {
  .mobile-table-shell {
    border-radius: 14px;
  }

  .mobile-table-shell > table {
    font-size: .9rem;
  }

  .mobile-table-shell > table th,
  .mobile-table-shell > table td {
    padding: 7px 8px;
  }
}
