/* Wide tables must not sit in an 815px column while needing 1680px.
   Desktop: stack the sidebar, give the table the full shell, let cells wrap.
   Mobile: keep horizontal scrolling. */
@media (min-width: 1100px) {
  .kvv-layout:has(.kvv-table-wrap--wide) { grid-template-columns: minmax(0, 1fr); }
  .kvv-layout:has(.kvv-table-wrap--wide) > .kvv-sidebar { max-width: 100%; }
  .kvv-table-wrap .kvv-table,
  .kvv-table-wrap--wide .kvv-table { min-width: 0; }
  .kvv-table th, .kvv-table td { overflow-wrap: anywhere; hyphens: auto; }
}
@media (max-width: 1099px) {
  .kvv-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .kvv-table-wrap .kvv-table { min-width: 720px; }
}
/* row actions stay readable and reachable, never cut off */
.kvv-table td a, .kvv-table td button { white-space: normal; word-break: normal; }

/* homepage table uses a different wrapper (ria-*): same rule applies */
@media (min-width: 1100px) {
  .ria-table-scroll .ria-product-table,
  .ria-table-block .ria-product-table { min-width: 0; }
  .ria-table-scroll th, .ria-table-scroll td { overflow-wrap: anywhere; hyphens: auto; }
}
@media (max-width: 1099px) {
  .ria-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .ria-table-scroll .ria-product-table { min-width: 720px; }
}
