.bricks-element-storm-button {
	position: relative;
	cursor: pointer;
	transition: border-radius 0.15s ease-out;
}

.bricks-element-storm-button.icon-right {
	margin-right: var(--storm-full-offset, 0px);
}

.bricks-element-storm-button.icon-left {
	margin-left: var(--storm-full-offset, 0px);
}

.bricks-element-storm-button svg,
.bricks-element-storm-button i {
	position: absolute;
	width: auto;
	height: 100%;
	padding: 0.5em;
	transition: border-radius 0.15s ease-out;
	border-radius: inherit;
	background: inherit;
	aspect-ratio: 1;
	rotate: 0deg;
}

.bricks-element-storm-button.icon-right svg,
.bricks-element-storm-button.icon-right i {
	right: 0;
	translate: calc(100% + var(--storm-gap, 1em));
}

.bricks-element-storm-button.icon-left svg,
.bricks-element-storm-button.icon-left i {
	left: 0;
	translate: calc(-100% - var(--storm-gap, 1em));
}

.bricks-element-storm-button.is-glued {
	transition: border-radius 0.1s ease-out 0.12s;
}

.bricks-element-storm-button.is-glued.icon-right {
	border-top-right-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
}

.bricks-element-storm-button.is-glued.icon-left {
	border-top-left-radius: 0 !important;
	border-bottom-left-radius: 0 !important;
}

.bricks-element-storm-button.is-glued svg,
.bricks-element-storm-button.is-glued i {
	transition: border-radius 0.1s ease-out 0.12s;
}

.bricks-element-storm-button.is-glued.icon-right svg,
.bricks-element-storm-button.is-glued.icon-right i {
	border-radius: 0 var(--parent-br-tr, 0px) var(--parent-br-br, 0px) 0;
}

.bricks-element-storm-button.is-glued.icon-left svg,
.bricks-element-storm-button.is-glued.icon-left i {
	border-radius: var(--parent-br-tl, 0px) 0 0 var(--parent-br-bl, 0px);
}
