.zetta-btn-b550c46c {
    --btn-transition-speed: 0.4s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    text-decoration: none;
    transition: color var(--btn-transition-speed) ease, border-color var(--btn-transition-speed) ease;
    z-index: 1;
    cursor: pointer;
}

.zetta-btn-bg-b550c46c {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    transition: transform var(--btn-transition-speed) cubic-bezier(0.25, 1, 0.5, 1);
}

/* Sweep Animations (Continuous Direction) */
.zetta-btn-b550c46c.fill-sweep-left-to-right .zetta-btn-bg-b550c46c {
    transform: scaleX(0);
    transform-origin: right; /* Exits right */
}
.zetta-btn-b550c46c.fill-sweep-left-to-right:hover .zetta-btn-bg-b550c46c {
    transform: scaleX(1);
    transform-origin: left; /* Enters left */
}

.zetta-btn-b550c46c.fill-sweep-right-to-left .zetta-btn-bg-b550c46c {
    transform: scaleX(0);
    transform-origin: left; /* Exits left */
}
.zetta-btn-b550c46c.fill-sweep-right-to-left:hover .zetta-btn-bg-b550c46c {
    transform: scaleX(1);
    transform-origin: right; /* Enters right */
}

.zetta-btn-b550c46c.fill-sweep-top-to-bottom .zetta-btn-bg-b550c46c {
    transform: scaleY(0);
    transform-origin: bottom; /* Exits bottom */
}
.zetta-btn-b550c46c.fill-sweep-top-to-bottom:hover .zetta-btn-bg-b550c46c {
    transform: scaleY(1);
    transform-origin: top; /* Enters top */
}

.zetta-btn-b550c46c.fill-sweep-bottom-to-top .zetta-btn-bg-b550c46c {
    transform: scaleY(0);
    transform-origin: top; /* Exits top */
}
.zetta-btn-b550c46c.fill-sweep-bottom-to-top:hover .zetta-btn-bg-b550c46c {
    transform: scaleY(1);
    transform-origin: bottom; /* Enters bottom */
}

/* Bounce Animations (Back on itself - original behavior) */
.zetta-btn-b550c46c.fill-left-to-right .zetta-btn-bg-b550c46c {
    transform: scaleX(0);
    transform-origin: left;
}
.zetta-btn-b550c46c.fill-left-to-right:hover .zetta-btn-bg-b550c46c {
    transform: scaleX(1);
}

.zetta-btn-b550c46c.fill-right-to-left .zetta-btn-bg-b550c46c {
    transform: scaleX(0);
    transform-origin: right;
}
.zetta-btn-b550c46c.fill-right-to-left:hover .zetta-btn-bg-b550c46c {
    transform: scaleX(1);
}

.zetta-btn-b550c46c.fill-bottom-to-top .zetta-btn-bg-b550c46c {
    transform: scaleY(0);
    transform-origin: bottom;
}
.zetta-btn-b550c46c.fill-bottom-to-top:hover .zetta-btn-bg-b550c46c {
    transform: scaleY(1);
}

.zetta-btn-b550c46c.fill-top-to-bottom .zetta-btn-bg-b550c46c {
    transform: scaleY(0);
    transform-origin: top;
}
.zetta-btn-b550c46c.fill-top-to-bottom:hover .zetta-btn-bg-b550c46c {
    transform: scaleY(1);
}


.zetta-btn-content-b550c46c {
    display: flex;
    align-items: center;
    gap: 8px; /* Default gap, can be overridden by widget spacing control */
}

.zetta-btn-icon-b550c46c {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.zetta-btn-icon-b550c46c svg {
    display: block;
    transition: fill var(--btn-transition-speed) ease;
}
