/* Widget Wrapper */
.angie-btn-wrapper-7a364d1d {
	display: flex;
}

.elementor-align-left .angie-btn-wrapper-7a364d1d { justify-content: flex-start; }
.elementor-align-center .angie-btn-wrapper-7a364d1d { justify-content: center; }
.elementor-align-right .angie-btn-wrapper-7a364d1d { justify-content: flex-end; }
.elementor-align-justify .angie-btn-wrapper-7a364d1d { justify-content: stretch; }
.elementor-align-justify .angie-btn-7a364d1d { width: 100%; }

/* Button Base */
.angie-btn-7a364d1d {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
	text-decoration: none;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	cursor: pointer;
    box-sizing: border-box;
    --angie-btn-gap: 10px;
}

/* 
 * Layout - Pure CSS approach
 * Grid reserves the layout space. Text stays invisible initially on hover
 * but grid columns ensure dimensions are perfectly kept.
 */
.angie-btn-layout-7a364d1d {
    display: flex;
    align-items: center;
    gap: var(--angie-btn-gap);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.angie-btn-icon-7a364d1d {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    transform-origin: center center;
}

.angie-btn-text-7a364d1d {
    white-space: nowrap;
    opacity: 1;
    transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), max-width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    max-width: 500px;
}

/* Hover States */
.angie-btn-7a364d1d:hover .angie-btn-layout-7a364d1d {
    gap: 0;
}

.angie-btn-7a364d1d:hover .angie-btn-text-7a364d1d {
    opacity: 0;
    max-width: 0;
}

.angie-btn-7a364d1d:hover .angie-btn-icon-7a364d1d {
    transform: scale(1.2);
}

/* Bob Animation */
@keyframes angie-icon-bob-7a364d1d {
  0% { transform: scale(1.2) translateY(0); }
  50% { transform: scale(1.2) translateY(-4px); }
  100% { transform: scale(1.2) translateY(0); }
}

.elementor-widget-animated_button_7a364d1d.angie-hover-icon-bob .angie-btn-7a364d1d:hover .angie-btn-icon-7a364d1d {
    animation: angie-icon-bob-7a364d1d 0.8s ease-in-out infinite;
}

/* Hang Animation */
@keyframes angie-icon-hang-7a364d1d {
  0% { transform: scale(1.2) translateY(0); }
  50% { transform: scale(1.2) translateY(4px); }
  100% { transform: scale(1.2) translateY(0); }
}

.elementor-widget-animated_button_7a364d1d.angie-hover-icon-hang .angie-btn-7a364d1d:hover .angie-btn-icon-7a364d1d {
    animation: angie-icon-hang-7a364d1d 0.8s ease-in-out infinite;
}