@scope (.__ButtonMenu) { :scope { > button { position: relative; padding-left: 2.5rem; &::before { content: ''; width: 1rem; height: 1rem; left: 0.75rem; position: absolute; background: url('../icons/chevron-right.svg'); background-position: left 2px center; background-repeat: no-repeat; } &:has(+ :popover-open)::before { transform: rotate(90deg); } @media not (prefers-reduced-motion) { &::before { transition: transform 0.2s; } } } [popover] { inset: unset; top: var(--anchor-y); left: var(--anchor-x); @media not (prefers-reduced-motion) { transform: translate(0, -100%); clip-path: xywh(0 100% 100% 100%); transition-property: transform, clip-path, overlay, display; transition-duration: 0.2s; transition-behavior: allow-discrete; &:popover-open { transform: none; clip-path: xywh(0 0 100% 100%); @starting-style { transform: translate(0, -100%); clip-path: xywh(0 100% 100% 100%); } } } } } }