#plan-comparison {
  margin: 24px 0;
  min-width: 0;
  max-width: 100%;
}
.plan-comparison-scroll {
  max-width: 100%;
  overflow-x: auto;
  border: var(--line);
  background: var(--surface);
  box-shadow: var(--shadow);
  border-radius: 12px;
  isolation: isolate;
}
.plan-comparison-scroll:focus-visible {
  outline: 3px solid var(--blue, #356bc4);
  outline-offset: 4px;
}
.plan-comparison-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--ink);
}
.plan-comparison-title {
  text-align: left;
  font-weight: 800;
  padding: 12px 16px;
  margin: 0 0 10px;
  font-size: 15px;
  border-radius: 8px;
  background: #fff0a6;
  color: var(--ink);
}
.plan-comparison-table th,
.plan-comparison-table td {
  box-sizing: border-box;
  border: 0;
  border-right: 1px solid #b5c3dd;
  border-bottom: 1px solid #b5c3dd;
  padding: 12px;
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
  white-space: normal;
}
.plan-comparison-table thead th {
  background: #356bc4;
  color: #fff;
  font-weight: 800;
}
.plan-comparison-table thead th:first-child {
  background: #d8eaff;
  color: var(--ink);
  position: static;
}
.plan-comparison-table tbody th {
  font-weight: 700;
  background: #edf3ff;
  position: static;
}
.plan-comparison-table tr > :last-child { border-right: 0; }
.plan-comparison-table tbody tr:last-child > * { border-bottom: 0; }
.comparison-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.plan-comparison-hint {
  font-size: 12px;
  margin: 12px 0 0;
  color: var(--ink);
}
@media (max-width: 480px) {
  /* Let an entire plan column fit when scrolling on narrow phones. */
  .plan-comparison-table tbody th,
  .plan-comparison-table thead th:first-child {
    position: static;
    box-shadow: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .plan-comparison-scroll {
    scroll-behavior: auto;
  }
}
