.cb-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background-color: #f2f1ed;
    color: #1a1a1a;
    text-decoration: none;
    border-radius: 999px;
    padding: 14px 26px;
    overflow: hidden;
    transition: background-color 0.35s ease;
    cursor: pointer;
}

/* ===== Text: per-letter flip ===== */
.cb-text {
    display: inline-flex;
    white-space: nowrap;
}

.cb-letter {
    position: relative;
    display: inline-block;
    overflow: hidden;
    line-height: 1em;
    vertical-align: top;
}

.cb-letter-inner {
    display: block;
    transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
}

.cb-letter-top {
    display: block;
    height: 1em;
    line-height: 1em;
}

.cb-letter-bottom {
    display: block;
    height: 1em;
    line-height: 1em;
    margin-top: 8px;
}

.cb-space {
    display: inline-block;
    white-space: pre;
    height: 1em;
    line-height: 1em;
}

.cb-btn:hover .cb-letter-inner {
    transform: translateY(calc(-1em - 10px));
}

/* ===== Icon swap ===== */
.cb-icon-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    overflow: hidden;
    flex-shrink: 0;
}

.cb-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.45s cubic-bezier(0.65, 0, 0.35, 1), opacity 0.45s ease;
}
.cb-btn svg{
    fill:none!important;
}

.cb-icon svg {
    display: block;
    width: 1em;
    height: 1em;
}

.cb-icon-default {
    transform: translate(-50%, -50%);
}

.cb-icon-hover {
    transform: translate( -50%,80%);
}

.cb-btn:hover .cb-icon-default {
    transform: translate(-50%, -180%);
    opacity: 0;
}

.cb-btn:hover .cb-icon-hover {
    transform: translate(-50%,-50%);
    opacity: 1;
}
