.ce-ab-wrap {
    display: flex;
    width: 100%;
}

.ce-ab-button {
    --ce-ab-icon-gap: 10px;
    --ce-ab-effect-color: #ff4b26;
    --ce-ab-icon-normal-rotate: 0deg;
    --ce-ab-icon-hover-rotate: 0deg;
    position: relative;
    isolation: isolate;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--ce-ab-icon-gap);
    max-width: 100%;
    padding: 16px 28px;
    overflow: hidden;
    color: #fff;
    background: #ff4b26;
    border: 1px solid transparent;
    border-radius: 999px;
    text-decoration: none;
    cursor: pointer;
    transform-style: preserve-3d;
    will-change: transform;
    transition: color .35s ease, background-color .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.ce-ab-button:hover,
.ce-ab-button:focus-visible {
    color: #fff;
    text-decoration: none;
}

.ce-ab-button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}

.ce-ab-width-full {
    width: 100%;
}

.ce-ab-shape-pill {
    border-radius: 999px;
}

.ce-ab-shape-rounded {
    border-radius: 14px;
}

.ce-ab-shape-square {
    border-radius: 0;
}

.ce-ab-shape-circle {
    aspect-ratio: 1 / 1;
    border-radius: 999px;
    padding: 0;
}

.ce-ab-text,
.ce-ab-icon {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ce-ab-text {
    min-width: 0;
}

.ce-ab-icon {
    line-height: 1;
    transform-origin: center;
    border: 0 solid transparent;
    transform: rotate(var(--ce-ab-icon-normal-rotate));
    transition: color .35s ease, transform .35s ease;
}

.ce-ab-icon svg {
    display: block;
    width: 1em;
    height: 1em;
    fill: currentColor;
}

.ce-ab-effect-slide-fill::before,
.ce-ab-effect-spotlight::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

.ce-ab-effect-slide-fill::before {
    background: var(--ce-ab-effect-color);
    transform: translateX(-102%);
    transition: transform .55s cubic-bezier(.19, 1, .22, 1);
}

.ce-ab-effect-slide-fill:hover::before,
.ce-ab-effect-slide-fill:focus-visible::before {
    transform: translateX(0);
}

.ce-ab-effect-spotlight::before {
    background: radial-gradient(circle at var(--ce-ab-spot-x, 50%) var(--ce-ab-spot-y, 50%), var(--ce-ab-effect-color) 0%, transparent 58%);
    opacity: 0;
    transition: opacity .35s ease;
}

.ce-ab-effect-spotlight:hover::before,
.ce-ab-effect-spotlight:focus-visible::before {
    opacity: .9;
}

.ce-ab-effect-icon-push:hover .ce-ab-icon-after,
.ce-ab-effect-icon-push:focus-visible .ce-ab-icon-after {
    transform: translateX(6px) rotate(var(--ce-ab-icon-hover-rotate));
}

.ce-ab-effect-icon-push:hover .ce-ab-icon-before,
.ce-ab-effect-icon-push:focus-visible .ce-ab-icon-before {
    transform: translateX(-6px) rotate(var(--ce-ab-icon-hover-rotate));
}

.ce-ab-button:not(.ce-ab-effect-icon-push):hover .ce-ab-icon,
.ce-ab-button:not(.ce-ab-effect-icon-push):focus-visible .ce-ab-icon {
    transform: rotate(var(--ce-ab-icon-hover-rotate));
}

@media (prefers-reduced-motion: reduce) {
    .ce-ab-button,
    .ce-ab-icon,
    .ce-ab-effect-slide-fill::before,
    .ce-ab-effect-spotlight::before {
        transition: none;
    }
}
