/* Shared feedback for controls; reading content remains still and visible. */
.nav-links a { position: relative; }
.nav-links a:not([aria-current="page"])::after {
  content: "";
  position: absolute;
  inset: auto 0 -2px;
  height: 2px;
  background: var(--wc-blue);
  transform: scaleX(0);
  transform-origin: left;
  pointer-events: none;
}
.nav-links a:focus-visible::after { transform: scaleX(1); }
.detail-page .plan-option:focus-within { border-color: var(--wc-blue); }
.home-price-list a:focus-visible strong { color: var(--wc-blue-hover); }

@media (hover: hover) and (pointer: fine) {
  .nav-links a:hover::after { transform: scaleX(1); }
}
@media screen and (prefers-reduced-motion: no-preference) {
  .text-link,
  .home-price-list a { transition: color var(--wc-motion-fast) var(--wc-ease-standard), background-color var(--wc-motion-fast) var(--wc-ease-standard); }
  .btn { transition: color var(--wc-motion-fast) var(--wc-ease-standard), background-color var(--wc-motion-fast) var(--wc-ease-standard), border-color var(--wc-motion-fast) var(--wc-ease-standard), translate var(--wc-motion-fast) var(--wc-ease-standard); }
  .nav-links a::after { transition: transform var(--wc-motion-base) var(--wc-ease-standard); }
  :is(.text-link, .btn, .home-price-list a) .lucide-arrow-right {
    transition: transform var(--wc-motion-base) var(--wc-ease-standard);
  }
  :is(.text-link, .btn, .home-price-list a):focus-visible .lucide-arrow-right { transform: translateX(4px); }
  .btn:active { translate: 0 1px; }
  @media (hover: hover) and (pointer: fine) {
    :is(.text-link, .btn, .home-price-list a):hover .lucide-arrow-right { transform: translateX(4px); }
  }
  @media (max-width: 1100px) {
    .nav[data-menu-open="true"] .nav-links { animation: navigation-open var(--wc-motion-base) var(--wc-ease-standard); }
  }
}
@keyframes navigation-open {
  from { clip-path: inset(0 0 100%); }
  to { clip-path: inset(0); }
}
