.action { opacity: 0; transition: opacity 150ms ease; } .card:hover .action, .card:focus-within .action { opacity: 1; } @media (hover: none), (pointer: coarse) { .action { opacity: 1; } } @media (prefers-reduced-motion: reduce) { .action { transition: none; } }