/* A quiet explanation of the existing comparison controls, without changing rows. */
.comparison-hint-plus {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 21px;
  height: 21px;
  margin-inline: 3px;
  border: 1px solid #dfc4b5;
  border-radius: 50%;
  background: #fff7f1;
  color: transparent;
  /* Preserve the text baseline; the strokes below draw the visible plus. */
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
  vertical-align: -2px;
}
.comparison-hint-plus::before,
.comparison-hint-plus::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 9px;
  height: 1px;
  background: var(--plan-accent-text, #a8431f);
  transform: translate(-50%, -50%);
}
.comparison-hint-plus::after { transform: translate(-50%, -50%) rotate(90deg); }
.comparison-table .comparison-expand {
  position: relative;
  display: block;
  flex: 0 0 12px;
  width: 12px;
  height: 20px;
  /* Keep the existing text/state; draw strokes independent of font metrics. */
  color: transparent;
}
.comparison-table .comparison-expand::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 12px;
  transform: translate(-50%, -50%);
  background:
    linear-gradient(var(--plan-accent-text, #a8431f), var(--plan-accent-text, #a8431f)) center / 12px 1.5px no-repeat,
    linear-gradient(var(--plan-accent-text, #a8431f), var(--plan-accent-text, #a8431f)) center / 1.5px 12px no-repeat;
}
.comparison-table [data-group-toggle][aria-expanded='true'] .comparison-expand::before {
  background-size: 12px 1.5px, 0 0;
}
.comparison-table .table-hint-pulse .comparison-expand::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 28px;
  height: 28px;
  border: 1px solid var(--plan-accent-text, #a8431f);
  border-radius: 50%;
  background: rgb(216 90 48 / 4%);
  opacity: 0;
  pointer-events: none;
  animation: table-hint-ring 1.1s ease-out infinite;
}
@keyframes table-hint-ring {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.85); }
  28% { opacity: .55; }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(1.15); }
}
@media (prefers-reduced-motion: reduce) {
  .comparison-table .table-hint-pulse .comparison-expand::after { animation: none; }
}
