Привет) можно и на чистом css.
родительскому блоку position: relative; overflow: hidden.
блоку с кнопкой position: absolute; bottom: 0; transform: translateY(высота кнопки^px); transition: transform .5s;
при ховере на родительский блок блоку с кнопкой задавать transform: translateY(0);
также можно поигратся с появлением кнопки типа чтоб она инертно подъежала, вписать какой нибуть красивый easing )
Можешь еще попробовать filter: drop-shadow() https://developer.mozilla.org/en-US/docs/Web/CSS/f...
за такую тень , как у тебя я хз даже)
может делать несколько блоков з полупрозрачностью и border-radius: 50%
и розмещать их где надо
https://codepen.io/ljutaev/pen/YvJrKY
На гридах это конечно просто!
а вот на флексе без дополнительного дива сделать не могу. Наверное и не получиться)))
Здраствуй! попробуй добавить вендорньіе префиксьі. У меня такое на айпаде бьіло. Не работал центрирование флексбокс) https://autoprefixer.github.io/. А вобще научись использовать галп для сборки проектов )