/* Scoped to this shortcode: no Elementor or theme table styles are changed. */
@font-face {
  font-family: "GCT Roobert Light";
  src: url("./Roobert-Light.woff2") format("woff2");
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: "GCT Roobert Medium";
  src: url("./Roobert-Medium.woff2") format("woff2");
  font-weight: 500;
  font-display: swap;
}
.gct-table {
  --gct-navy: #23335a;
  --gct-coral: #ee7f60;
  --gct-tint: #cbd5db52;
  width: 100%;
  max-width: 1140px;
  margin: 20px auto 0;
  color: var(--gct-navy);
  font: 300 15px/1.4 "GCT Roobert Light", sans-serif;
  letter-spacing: .4px;
}
.gct-table *, .gct-table *::before, .gct-table *::after { box-sizing: border-box; }
.gct-table .gct-viewport {
  width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}
.gct-table .gct-viewport::-webkit-scrollbar { height: 10px; }
.gct-table .gct-viewport::-webkit-scrollbar-track { background: #edf1f3; border-radius: 20px; }
.gct-table .gct-viewport::-webkit-scrollbar-thumb { background: var(--gct-coral); border: 0; border-radius: 20px; }
.gct-table .gct-viewport::-webkit-scrollbar-thumb:hover { background: #d96f52; }
.gct-table .gct-viewport { scrollbar-color: var(--gct-coral) #edf1f3; scrollbar-width: thin; }
.gct-table .gct-viewport:focus-visible,
.gct-table .gct-slider:focus-visible { outline: 2px solid var(--gct-coral); outline-offset: 2px; }
.gct-table .gct-grid {
  display: table;
  width: 100%;
  min-width: var(--gct-min-width, 959px);
  table-layout: fixed;
  border-spacing: 0;
  border-collapse: separate;
  border: 0;
  border-bottom: 0;
  background: #fff;
  color: var(--gct-navy);
  font: inherit;
  letter-spacing: inherit;
  margin: 0;
  padding: 0;
}
.gct-table .gct-grid thead { display: table-header-group; }
.gct-table .gct-grid tbody { display: table-row-group; }
.gct-table .gct-grid tr { display: table-row; background: transparent; }
.gct-table .gct-grid th, .gct-table .gct-grid td {
  display: table-cell;
  position: relative;
  border: 0;
  width: auto;
  min-width: 0;
  padding: 10px;
  vertical-align: middle;
  box-shadow: none;
  color: var(--gct-navy);
  background: #fff;
  letter-spacing: .4px;
  text-transform: none;
}
/* The first feature-label column stays white; product 1, 3, 5, ... are tinted. */
.gct-table .gct-grid tr > :nth-child(even) { background: var(--gct-tint); }
.gct-table .gct-grid thead th {
  height: 75px;
  text-align: center;
  font: 500 15px/1.3 "GCT Roobert Medium", sans-serif;
  letter-spacing: .4px;
}
.gct-table .gct-grid thead th:nth-child(even) { border-radius: 15px 15px 0 0; }
.gct-table .gct-grid thead .gct-label-col { font: 300 15px/1.3 "GCT Roobert Light", sans-serif; }
.gct-table .gct-label-pill {
  display: inline-block;
  border-radius: 15px;
  background: var(--gct-tint);
  color: #000;
  padding: 7px 20px;
  font: 300 12px/1.3 "GCT Roobert Light", sans-serif;
  letter-spacing: 1.2px;
  white-space: nowrap;
}
.gct-table .gct-grid tbody tr { height: 53px; border-bottom: 0; }
.gct-table .gct-grid tbody tr > th,
.gct-table .gct-grid tbody tr > td { border-top: 1px solid #cbd6db; }
.gct-table .gct-grid tbody tr:last-child,
.gct-table .gct-grid tbody tr:last-child > th,
.gct-table .gct-grid tbody tr:last-child > td { border-bottom: 0; }
.gct-table .gct-grid tbody th {
  text-align: center;
  font: 300 14px/1.4 "GCT Roobert Light", sans-serif;
  letter-spacing: .4px;
}
.gct-table .gct-grid tbody td {
  text-align: center;
  font: 300 15px/1.4 "GCT Roobert Light", sans-serif;
  letter-spacing: .4px;
}
.gct-table .gct-grid tbody .gct-price-row th,
.gct-table .gct-grid tbody .gct-price-row td {
  font: 500 15px/1.4 "GCT Roobert Medium", sans-serif;
  letter-spacing: .4px;
}
.gct-table .gct-grid tbody tr:last-child > :nth-child(even) { border-radius: 0 0 15px 15px; }
.gct-table .gct-check {
  display: inline-flex;
  width: 30px;
  height: 30px;
  vertical-align: middle;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 10px;
}
/* Check badges on white product columns use the same pale tint as alternate columns. */
.gct-table .gct-grid tbody td:nth-child(odd) .gct-check { background: var(--gct-tint); }
.gct-table .gct-check::before {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  background: var(--gct-coral);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.gct-table .gct-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  margin: -1px;
  padding: 0;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}
.gct-table .gct-slider { display: none; }
@media (max-width: 900px) {
  .gct-table .gct-label-pill {
    padding: 7px 10px;
    font: 300 9px/1.3 "GCT Roobert Light", sans-serif;
  }
  /* Without JavaScript the styled native scrollbar remains available. */
  .gct-table.gct-enhanced .gct-viewport { scrollbar-width: none; }
  .gct-table.gct-enhanced .gct-viewport::-webkit-scrollbar { display: none; }
  .gct-table .gct-slider {
    display: block;
    width: calc(100% - 8px);
    height: 8px;
    padding: 0;
    margin: 16px 4px 14px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(to right, var(--gct-coral) 0%, var(--gct-coral) var(--gct-progress, 0%), #edf1f3 var(--gct-progress, 0%), #edf1f3 100%);
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    touch-action: manipulation;
  }
  .gct-table .gct-slider::-webkit-slider-thumb {
    width: 18px;
    height: 18px;
    border: 0;
    border-radius: 50%;
    background: var(--gct-coral);
    box-shadow: 0 0 0 5px #ee7f6030;
    -webkit-appearance: none;
    appearance: none;
  }
  .gct-table .gct-slider::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border: 0;
    border-radius: 50%;
    background: var(--gct-coral);
    box-shadow: 0 0 0 5px #ee7f6030;
  }
  .gct-table .gct-slider[hidden] { display: none; }
}
