/* Shared pointer and keyboard states for both POP calculators.
   Keep selection colours and static borders; do not add a mouse-focus ring. */
:root .layout :is(button, a.buy-button, a.pop-button, a.full-comparison, .partner-cta a, a.ranking-card-link, a.mobile-result, summary),
:root .layout :is(.mode-switch, .series-chips) label > span {
  -webkit-tap-highlight-color: transparent;
  transition: filter 150ms ease;
  transform: none;
}
:root .layout :is(button, a.buy-button, a.pop-button, a.full-comparison, .partner-cta a, a.ranking-card-link, a.mobile-result, summary):focus:not(:focus-visible),
:root .layout :is(.mode-switch, .series-chips) input:focus:not(:focus-visible) + span {
  outline: none;
}
:root .layout :is(button, a.buy-button, a.pop-button, a.full-comparison, .partner-cta a, a.ranking-card-link, a.mobile-result, summary):focus-visible,
:root .layout :is(.mode-switch, .series-chips) input:focus-visible + span {
  outline: 3px solid var(--pop-navy);
  outline-offset: 3px;
}
/* Focus belongs to the actual control, not the whole ranking card. */
:root .layout .ranking-card:focus-within { outline: none; }
@media (hover: hover) {
  :root .layout :is(button, a.buy-button, a.pop-button, a.full-comparison, .partner-cta a, a.ranking-card-link, a.mobile-result, summary):hover:not(:disabled),
  :root .layout :is(.mode-switch, .series-chips) label:hover > input:not(:disabled) + span {
    filter: brightness(.95);
    transform: none;
  }
}
:root .layout :is(button, a.buy-button, a.pop-button, a.full-comparison, .partner-cta a, a.ranking-card-link, a.mobile-result, summary):active:not(:disabled),
:root .layout :is(.mode-switch, .series-chips) label:active > input:not(:disabled) + span {
  filter: brightness(.95);
  transform: none;
}
:root .layout button:disabled { filter: none; transform: none; }
@media (prefers-reduced-motion: reduce) {
  :root .layout :is(button, a, summary),
  :root .layout :is(.mode-switch, .series-chips) label > span { transition: none; }
}


/* Some controls focus themselves in pointerdown; do not retain a keyboard ring. */
:root[data-calc-input="pointer"] .layout :is(button, a.buy-button, a.pop-button, a.full-comparison, .partner-cta a, a.ranking-card-link, a.mobile-result, summary):focus,
:root[data-calc-input="pointer"] .layout :is(.mode-switch, .series-chips) input:focus + span {
  outline: none;
}
