.wdt-button-holder { 
    display: inline-flex; position: relative; 
    -webkit-transition: var(--wdt-Ad-Transition); transition: var(--wdt-Ad-Transition); 
}

.wdt-button { 
    display: inline-flex; align-items: stretch; justify-content: center; text-align: center; 
    border: 1px solid; border-radius: var(--wdtRadius_Part); -webkit-border-radius: var(--wdtRadius_Part);
    font-size: var(--wdt-btn-font-size); padding: var(--wdtPadding_Btn); font-family: var(--wdtFontTypo_Ext); 
    font-weight: var(--wdtFontWeight_Ext); line-height: var(--wdtLineHeight_Ext); letter-spacing: 0; 
    margin: 0; overflow: visible; position: relative; z-index: 0; text-decoration: none; text-transform: none; 
    -webkit-transition: var(--wdt-Ad-Transition); transition: var(--wdt-Ad-Transition); 
}

.wdt-button { 
    background-color: rgb(var(--wdtPrimaryColorRgb),0); color: var(--wdtSecondaryColor); border-color: var(--wdtBorderColor);
}

.wdt-button:focus, .wdt-button:hover { 
    background-color: var(--wdtPrimaryColor); color: var(--wdtAccentTxtColor); border-color: var(--wdtPrimaryColor);
}

/* dark bg */
.wdt-dark-bg .wdt-button {
    background-color: rgb(var(--wdtPrimaryColorRgb),0); border-color: var(--wdtAccentTxtColor); color: var(--wdtAccentTxtColor);
}

.wdt-dark-bg .wdt-button:focus, .wdt-dark-bg .wdt-button:hover { 
    background-color: var(--wdtPrimaryColor); color: var(--wdtAccentTxtColor); border-color: var(--wdtPrimaryColor);
}


/* -------------------
Template default style
----------------------- */
.wdt-button-holder.wdt-template-filled .wdt-button {
    background-color: var(--wdtPrimaryColor); border-color: var(--wdtPrimaryColor); color: var(--wdtAccentTxtColor);
}

.wdt-button-holder.wdt-template-filled .wdt-button:hover,
.wdt-button-holder.wdt-template-filled .wdt-button:focus {
    background-color: var(--wdtSecondaryColor); border-color: var(--wdtSecondaryColor); color: var(--wdtAccentTxtColor);
}

/* dark-bg */
.wdt-dark-bg .wdt-button-holder.wdt-template-filled .wdt-button {
    background-color: var(--wdtPrimaryColor); color: var(--wdtAccentTxtColor); border-color: var(--wdtPrimaryColor);
}

.wdt-dark-bg .wdt-button-holder.wdt-template-filled .wdt-button:hover,
.wdt-dark-bg .wdt-button-holder.wdt-template-filled .wdt-button:focus {
    background-color: var(--wdtAccentTxtColor); color: var(--wdtHeadAltColor); border-color: var(--wdtAccentTxtColor);
}


/* ------------------
Template - Textual 
--------------------*/
.wdt-button-holder.wdt-template-textual .wdt-button { 
    border: none; padding: 0 !important; border-radius: var(--wdtRadius_Zero); -webkit-border-radius: var(--wdtRadius_Zero);
    background: none; color: var(--wdtLinkColor); 
}

.wdt-button-holder.wdt-template-textual .wdt-button:focus, 
.wdt-button-holder.wdt-template-textual .wdt-button:hover { background: none; color: var(--wdtLinkHoverColor); }

/* dark bg */
.wdt-dark-bg .wdt-button-holder.wdt-template-textual .wdt-button { color: var(--wdtAccentTxtColor); }

.wdt-dark-bg .wdt-button-holder.wdt-template-textual .wdt-button:focus, 
.wdt-dark-bg .wdt-button-holder.wdt-template-textual .wdt-button:hover { color: var(--wdtLinkHoverColor); }

/* --------------------------
Button Small and Large Style
----------------------------- */

.wdt-button-holder.wdt-button-size-sm .wdt-button { font-size: calc(var(--wdtFontSize_Ext) - 2px); padding: var(--wdtPadding_MiniBtn);}
.wdt-button-holder.wdt-button-size-lg .wdt-button { font-size: calc(var(--wdtFontSize_Ext) + 2px); padding: var(--wdtPadding_MaxiBtn); }


.wdt-button .wdt-button-text { vertical-align: top; }
.wdt-button .wdt-button-text { display: inline-grid; align-content: center; text-align: left; gap: 10px; height: 100%; text-transform: capitalize; }
.wdt-button .wdt-button-text .wdt-button-subtext { display: block; font-size: 0.75em; margin-top: -2px; }



.elementor-align-justify .wdt-button-holder, .elementor-align-justify .wdt-button-holder .wdt-button { width: 100%; }




/* ------------------
Underline Styles 
---------------------*/
.wdt-button-holder.wdt-button-style-underline:before{ 
    content: ""; position: absolute; bottom: -1px; left: 0; right: auto; width: 100%; height: 1px; pointer-events: none;
    background-color: var(--wdtPrimaryColor); transition: var(--wdt-Ad-Transition); -webkit-transition: var(--wdt-Ad-Transition); }

.wdt-button-holder.wdt-button-style-underline:focus:before,
.wdt-button-holder.wdt-button-style-underline:hover:before { left: auto; right: 0; width: 0; }


/* -----------------
Button Icon
----------------- */

.wdt-button .wdt-button-icon { display: inline-flex; line-height: 0; transition: var(--wdt-Ad-Transition) }
.wdt-button .wdt-button-icon span { display: inherit; align-items: center; justify-content: center; position: relative; }

.wdt-button-holder.wdt-button-icon-before .wdt-button .wdt-button-icon { margin-right: 10px; }
.wdt-button-holder.wdt-button-icon-after .wdt-button .wdt-button-icon { margin-left: 10px; }

.wdt-button-holder .wdt-button .wdt-button-icon span {
    font-size: 14px;    
    width: 24px;
    height: 24px;
    border-radius: var(--wdtRadius_Full);
    -webkit-border-radius: var(--wdtRadius_Full);
    background-color: var(--wdtAccentTxtColor);
    color: var(--wdtPrimaryColor);
    transition: var(--wdt-Ad-Transition);
    -webkit-transition: var(--wdt-Ad-Transition);
}

.wdt-dark-bg .wdt-button-holder .wdt-button:hover .wdt-button-icon span {
    background-color: var(--wdtPrimaryColor); color: var(--wdtAccentTxtColor);
}

/* normal */
.wdt-button-holder .wdt-button:has(.wdt-button-icon) {
    padding: 14px 48px;
}

/* small */
.wdt-button-holder.wdt-button-size-sm .wdt-button .wdt-button-icon span {
    width: 22px;
    height: 22px;
    font-size: 12px;
}

.wdt-button-holder.wdt-button-size-sm .wdt-button:has(.wdt-button-icon) {
    padding: 10px 28px;
}

/* large */
.wdt-button-holder.wdt-button-size-lg .wdt-button .wdt-button-icon span {
    width: 26px;
    height: 26px;
    font-size: 16px;
}

.wdt-button-holder.wdt-button-size-lg .wdt-button:has(.wdt-button-icon) {
    padding: 18px 52px;
}


/* for border template */
.wdt-button-holder.wdt-template-bordered .wdt-button .wdt-button-icon span {
    background-color: var(--wdtPrimaryColor);
    color: var(--wdtAccentTxtColor);
}

.wdt-button-holder.wdt-template-bordered .wdt-button:hover .wdt-button-icon span,
.wdt-button-holder.wdt-template-bordered .wdt-button:focus .wdt-button-icon span {
    background-color: var(--wdtAccentTxtColor); color: var(--wdtPrimaryColor);
}

/* for textual template */

.wdt-button-holder.wdt-template-textual .wdt-button .wdt-button-icon span {
    background-color: var(--wdtPrimaryColor); color: var(--wdtAccentTxtColor);
}

.wdt-button-holder.wdt-template-textual .wdt-button:hover .wdt-button-icon span,
.wdt-button-holder.wdt-template-textual .wdt-button:focus .wdt-button-icon span {
    background-color: var(--wdtSecondaryColor); color: var(--wdtAccentTxtColor);
}