.card { position: relative; overflow: hidden; display: flex; text-decoration: none; color: inherit; border: 1px solid var(--border-color); background-color: light-dark(var(--mantine-color-white), var(--mantine-color-dark-7)); transition: border-color 120ms ease, background-color 120ms ease; @mixin dark { --border-color: var(--mantine-color-dark-4); } @mixin light { --border-color: var(--mantine-color-gray-3); } &:hover, &:focus-visible { border-color: var(--mantine-primary-color-filled); background-color: var(--mantine-color-default-hover); } &:focus-visible { outline: 2px solid var(--mantine-primary-color-filled); outline-offset: -2px; } } .content { position: relative; z-index: 1; flex: 1; min-width: 0; } .poster { flex-shrink: 0; object-fit: cover; box-shadow: var(--mantine-shadow-sm); } @media (prefers-reduced-motion: reduce) { .card { transition: none; } }