.ap-col-hover { background-color: oklch(var(--bc) / 0.07) !important; }

.pricing-compare-wrap {
  border: 1px solid oklch(var(--bc) / 0.10);
  box-shadow: 0 18px 50px oklch(var(--b3) / 0.18);
}

.pricing-compare-table {
  border-collapse: separate;
  border-spacing: 0;
}

.pricing-compare-table :where(th, td) {
  border-color: oklch(var(--bc) / 0.08);
}

.pricing-compare-table thead th {
  position: sticky;
  top: 0;
  z-index: 20;
  background: oklch(var(--b3));
  box-shadow: inset 0 -1px 0 oklch(var(--bc) / 0.10);
}

.pricing-compare-table tbody tr:hover td {
  background-color: oklch(var(--p) / 0.055);
}

.pricing-section-row {
  box-shadow: inset 0 1px 0 oklch(var(--bc) / 0.10), inset 0 -1px 0 oklch(var(--bc) / 0.08);
}

.pricing-limit-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3.1rem;
  padding: .25rem .55rem;
  border-radius: 999px;
  background: oklch(var(--b1) / 0.72);
  border: 1px solid oklch(var(--bc) / 0.08);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.pricing-limit-pill-primary {
  color: oklch(var(--p));
  background: oklch(var(--p) / 0.12);
  border-color: oklch(var(--p) / 0.24);
}

.pricing-total-row td {
  background-color: oklch(var(--b2) / 0.36);
}

.pricing-bonus-teaser-row td {
  padding-top: .38rem;
  padding-bottom: .38rem;
  box-shadow: inset 0 1px 0 oklch(var(--bc) / 0.06), inset 0 -1px 0 oklch(var(--bc) / 0.05);
}

.pricing-bonus-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.6rem;
  padding: 0;
  color: oklch(var(--p) / 0.86);
  background: transparent;
  border: 0;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.pricing-bonus-pill-primary {
  color: oklch(var(--p));
  background: transparent;
}

.pricing-weather-row td {
  padding-top: .38rem;
  padding-bottom: .38rem;
  background-color: oklch(var(--b2) / 0.36);
  box-shadow: inset 0 -1px 0 oklch(var(--bc) / 0.05);
}

.pricing-weather-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.2rem;
  padding: .12rem .45rem;
  border-radius: 999px;
  color: oklch(var(--bc) / 0.72);
  background: transparent;
  border: 1px solid oklch(var(--bc) / 0.12);
  font-weight: 700;
}

.pricing-weather-pill-primary {
  color: oklch(var(--p));
  border-color: oklch(var(--p) / 0.24);
}

.pricing-bonus-toggle {
  min-height: 1.5rem;
  height: 1.5rem;
  vertical-align: middle;
}

.pricing-bonus-toggle i {
  transition: transform .16s ease;
}

.pricing-bonus-toggle[aria-expanded="true"] i {
  transform: rotate(180deg);
}

.pricing-bonus-detail-row td {
  background-color: oklch(var(--b2) / 0.54);
}

.pricing-compare-table td:first-child,
.pricing-compare-table th:first-child {
  box-shadow: 1px 0 0 oklch(var(--bc) / 0.08);
}

.pricing-endpoint-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 999px;
  color: oklch(var(--p));
  background: oklch(var(--p) / 0.10);
  vertical-align: middle;
  transition: transform .15s ease, background-color .15s ease, color .15s ease;
}

.pricing-endpoint-link:hover {
  color: oklch(var(--pc));
  background: oklch(var(--p));
  transform: translateY(-1px);
}
