.wfh-el-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    z-index: 1;
    
    transition: color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
    text-transform: var(--btn-tt, none);
    flex-direction: var(--btn-fdir, row);
    gap: var(--btn-gap, 8px);
    
    /* Змінні для ПК (Desktop) за замовчуванням */
    font-size: var(--btn-fs, 14px);
    border-radius: var(--btn-rad, 4px);
    padding: var(--btn-pad, 10px 20px);
    
    color: var(--btn-tc, #ffffff) !important;
    background: var(--btn-bg, #2271b1);
    border: var(--btn-bw, 0px) solid var(--btn-bc, #2271b1);
}

.wfh-el-button::before {
    content: '';
    position: absolute;
    top: calc(var(--btn-bw, 0px) * -1);
    left: calc(var(--btn-bw, 0px) * -1);
    right: calc(var(--btn-bw, 0px) * -1);
    bottom: calc(var(--btn-bw, 0px) * -1);
    background: var(--btn-bg-h, #135e96);
    opacity: 0;
    z-index: -1;
    transition: opacity 0.3s ease;
    border-radius: inherit;
}

.wfh-btn-icon-img {
    display: block;
    object-fit: contain;
    flex-shrink: 0;
}

.wfh-btn-icon-svg {
    display: inline-block;
    background-color: var(--btn-ic, currentColor);
    -webkit-mask-image: var(--btn-icon-url);
    mask-image: var(--btn-icon-url);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    flex-shrink: 0;
    transition: background-color 0.3s ease;
}

.wfh-el-button:hover {
    color: var(--btn-tc-h, #ffffff) !important;
    border-color: var(--btn-bc-h, #135e96);
    box-shadow: var(--btn-sh-h, none);
    transform: var(--btn-hov-trans, translateY(-3px));
}

.wfh-el-button:hover::before {
    opacity: 1;
}

.wfh-el-button:hover .wfh-btn-icon-svg {
    background-color: var(--btn-ic-h, var(--btn-ic));
}