.table-responsive {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: rgba(49, 63, 99, 0.35) transparent;
  padding-bottom: 1px;
}

.table-responsive::-webkit-scrollbar {
  height: 6px;
}

.table-responsive::-webkit-scrollbar-thumb {
  background: rgba(49, 63, 99, 0.35);
  border-radius: 999px;
}

.table-responsive table {
  width: 100%;
  min-width: 0;
  border-spacing: 0;
  border-collapse: collapse;
  table-layout: auto;
}

.table-responsive th,
.table-responsive td {
  white-space: normal;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(27, 34, 56, 0.06);
}

.table-responsive th {
  font-weight: 600;
  text-transform: uppercase;
}

.table-responsive tbody tr:last-child td {
  border-bottom: none;
}

@media (max-width: 1024px) {
  .table-responsive th,
  .table-responsive td {
    padding-inline: 12px;
  }

  :is(
    .table-responsive .template-table th,
    .table-responsive .template-table td,
    .table-responsive .contact-table th,
    .table-responsive .contact-table td,
    .table-responsive .faq-table th,
    .table-responsive .faq-table td,
    .table-responsive .partners-table th,
    .table-responsive .partners-table td,
    .table-responsive .role-table th,
    .table-responsive .role-table td
  ) {
    text-align: left;
    padding-inline: 16px !important;
    padding-block: 12px !important;
  }
}

@media (max-width: 768px) {
  .table-responsive {
    padding-bottom: 0.75rem;
  }

  .table-responsive table {
    min-width: 520px;
    border: none;
    display: table;
  }

  .table-responsive th,
  .table-responsive td {
    padding: 12px;
    font-size: 14px;
    line-height: 1.5;
    display: table-cell;
    word-break: break-word;
  }

  .table-responsive th {
    font-size: 13px;
    letter-spacing: 0.04em;
  }

  .table-responsive thead {
    display: table-header-group;
  }

  .table-responsive tbody {
    display: table-row-group;
  }

  .table-responsive tr {
    display: table-row;
  }

  .table-responsive td[rowspan] {
    display: table-cell;
  }

  .table-responsive td + td {
    border-left: 1px solid rgba(27, 34, 56, 0.08);
  }

  :is(
    .table-responsive .template-table th,
    .table-responsive .template-table td,
    .table-responsive .contact-table th,
    .table-responsive .contact-table td,
    .table-responsive .faq-table th,
    .table-responsive .faq-table td,
    .table-responsive .partners-table th,
    .table-responsive .partners-table td,
    .table-responsive .role-table th,
    .table-responsive .role-table td
  ) {
    padding: 16px !important;
    text-align: left;
  }
}

@media (max-width: 480px) {
  .table-responsive table {
    min-width: 0;
    table-layout: fixed;
  }

  .table-responsive th,
  .table-responsive td {
    font-size: 13px;
  }

  :is(
    .table-responsive .template-table th,
    .table-responsive .template-table td,
    .table-responsive .contact-table th,
    .table-responsive .contact-table td,
    .table-responsive .faq-table th,
    .table-responsive .faq-table td,
    .table-responsive .partners-table th,
    .table-responsive .partners-table td,
    .table-responsive .role-table th,
    .table-responsive .role-table td
  ) {
    padding: 14px !important;
  }
}
