@use "../../../../styles/abstracts/functions" as fun; .input { border-right: none; } .icon { transform: scale(0.85); transition: all 0.3s ease-in-out 0s; } .btn { background: var(--color-bg-tertiary); border: fun.convert-px(2) solid var(--color-border); box-shadow: fun.convert-px(3) fun.convert-px(3) 0 0 var(--color-shadow); transition: all 0.25s linear 0s; &:hover, &:focus { .icon { transform: scale(0.85) rotate(20deg) translateX(#{fun.convert-px(2)}) translateY(#{fun.convert-px(3)}); } } &:focus { outline: none; border-color: var(--color-primary); box-shadow: fun.convert-px(3) fun.convert-px(3) 0 0 var(--color-primary-dark); } &:active { .icon { transform: scale(0.7); } } } .form { display: flex; &--no-label { .btn { align-self: stretch; } } &--has-label { .btn { align-self: flex-end; height: fun.convert-px(52); } } } .field { &:focus-within ~ .btn { background: var(--color-bg); border-color: var(--color-primary); box-shadow: none; transform: translate(fun.convert-px(3), fun.convert-px(3)); transition: all 0.2s ease-in-out 0s, transform 0.3s ease-out 0s; } &:hover:not(:focus-within) ~ .btn { box-shadow: fun.convert-px(5) fun.convert-px(5) 0 fun.convert-px(1) var(--color-shadow); transform: translate(fun.convert-px(-3), fun.convert-px(-3)); &:focus { box-shadow: fun.convert-px(5) fun.convert-px(5) 0 fun.convert-px(1) var(--color-primary-dark); } } } .notice { margin-top: var(--spacing-sm); }