.wdt-button-holder { display: inline-flex; position: relative; -webkit-transition: var(--wdtBaseTransition); transition: var(--wdtBaseTransition); }
.wdt-button { border: 1px solid transparent; display: inline-flex; align-items: stretch; font-size: 1em; letter-spacing: 0; line-height: normal; margin: 0; overflow: visible; position: relative; z-index: 0; text-decoration: none; text-transform: none; -webkit-transition: var(--wdtBaseTransition); transition: var(--wdtBaseTransition); }

.wdt-button, .wdt-button-holder .wdt-button { background-color: none; color: var(--wdt-elementor-color-white); justify-content: center; text-align: center; border: 1px solid transparent; border-radius: var(--wdtRadius_1X);
    position:relative; z-index: 1; background-image: linear-gradient(180deg, var(--wdtPrimaryColor), var(--wdtSecondaryColor),var(--wdtPrimaryColor)); background-size:100% 200%; background-position: top left; pointer-events:auto;  }

.wdt-button:before, .wdt-button-holder .wdt-button:before{
    content: ""; display: inline-block; position: absolute;
    top: 0; left: 0; right: 0; bottom: 0; margin:auto;
    height:calc(100% - 2px); width:calc(100% - 2px); border-radius: inherit;
    border:1px solid var(--wdtBorderColor); pointer-events:none;
}
.wdt-button:after, .wdt-button-holder .wdt-button:after{
    content: ""; display: inline-block; position: absolute; top: 0; left: -2px; right: -2px; bottom: 0; margin:auto; height:calc(100% + 5px); width:calc(100% + 5px); border-radius: inherit;
    background-image: linear-gradient(180deg, var(--wdtPrimaryColor), var(--wdtSecondaryColor),var(--wdtPrimaryColor));
    background-size:100% 200%; z-index:-1; filter:blur(8px); pointer-events: none; transition: background-position 0.4s ease;
}
.wdt-button:hover, .wdt-button-holder .wdt-button:hover,
.wdt-button:hover:after, .wdt-button-holder .wdt-button:hover:after{ 
    background-color: transparent; color: var(--wdt-elementor-color-white); background-position: bottom left ; }

.wdt-button .wdt-button-text, 
.wdt-button .wdt-button-icon { vertical-align: top; }

.wdt-button .wdt-button-text { display: inline-grid; align-content: center; text-align: left; gap: 10px; height: 100%; }
.wdt-button .wdt-button-icon { display: inline-flex; line-height: 0; transition: var(--wdtBaseTransition) }
.wdt-button .wdt-button-icon span { display: inherit; align-items: center; position: relative; font-size: var(--wdtFontSize_Ext); animation: wdt-spin-rev 5s linear infinite; animation-play-state: paused; }
.wdt-button:hover .wdt-button-icon span {  animation-play-state: running;}
@keyframes wdt-spin-rev { 0% { transform: rotate(0deg) translate3d(0, 0, 0); -webkit-transform: rotate(0deg) translate3d(0, 0, 0); } 100% { transform: rotate(360deg) translate3d(0, 0, 0); -webkit-transform: rotate(360deg) translate3d(0, 0, 0); } }
@-webkit-keyframes wdt-spin-rev { 0% { transform: rotate(0deg) translate3d(0, 0, 0); -webkit-transform: rotate(0deg) translate3d(0, 0, 0); } 100% { transform: rotate(360deg) translate3d(0, 0, 0); -webkit-transform: rotate(360deg) translate3d(0, 0, 0); } }


.wdt-button .wdt-button-text .wdt-button-subtext { display: block; font-size: 0.75em; margin-top: -2px; }

.wdt-button-holder.wdt-button-size-sm .wdt-button { font-size: 14px; padding: var(--wdtPadding_MiniBtn); }
.wdt-button-holder.wdt-button-size-nm .wdt-button { font-size: var(--wdtFontSize_Base); padding: var(--wdtPadding_Btn); font-family: var(--wdtFontTypo_Alt); font-weight: var(--wdtFontWeight_Ext); line-height: 1; }
.wdt-button-holder.wdt-button-size-lg .wdt-button { font-size: 18px; padding: var(--wdtPadding_MaxiBtn); }

.elementor-align-justify .wdt-button-holder, .elementor-align-justify .wdt-button-holder .wdt-button { width: 100%; }

.wdt-button-holder.wdt-button-icon-before .wdt-button .wdt-button-icon { margin-right: 4px; }
.wdt-button-holder.wdt-button-icon-after .wdt-button .wdt-button-icon { margin-left: 4px; }


/* Styles */
.wdt-button-holder.wdt-button-style-underline a:before, 
.wdt-button-holder.wdt-button-style-overline a:before,
.wdt-button-holder.wdt-button-style-line-through .wdt-button .wdt-button-text > span:before { 
    content: ""; display: inline !important; height: 1px; pointer-events: none; position: absolute; bottom: 0; left: 0; right: 0; top: auto; 
    width: auto; -webkit-transition: inherit; transition: inherit; }

.wdt-button-holder.wdt-button-style-underline .wdt-button { margin-bottom: 3px; }
.wdt-button-holder.wdt-button-style-underline:before { bottom: 0; top: auto; }

.wdt-button-holder.wdt-button-style-overline .wdt-button { margin-top: 3px; }
.wdt-button-holder.wdt-button-style-overline:before { bottom: auto; top: 0; }

.wdt-button-holder.wdt-button-style-underline a:before, 
.wdt-button-holder.wdt-button-style-overline a:before { color: var(--wdt-elementor-color-accent); background-color: currentColor; background-image: inherit; }

/* .wdt-button-holder.wdt-button-style-underline:focus:before,
.wdt-button-holder.wdt-button-style-underline:hover:before, 
.wdt-button-holder.wdt-button-style-overline:focus:before,
.wdt-button-holder.wdt-button-style-overline:hover:before { color: var(--wdt-elementor-color-primary); background-color: currentColor; background-image: inherit; } */

.wdt-button-holder.wdt-button-style-line-through .wdt-button .wdt-button-text > span { position: relative; }
.wdt-button-holder.wdt-button-style-line-through .wdt-button .wdt-button-text > span:before { background-color: currentColor; margin: auto; -webkit-transform: translateY(100%); transform: translateY(100%); }

.wdt-dark-bg .wdt-button-holder.wdt-button-style-underline a:before, 
.wdt-dark-bg .wdt-button-holder.wdt-button-style-overline a:before { color: inherit;  }

/* Template - Bordered */
.wdt-button-holder.wdt-template-bordered .wdt-button { background: none !important; border-color: currentColor; }
.wdt-button-holder.wdt-template-bordered .wdt-button::before, .wdt-button-holder.wdt-template-bordered .wdt-button-holder .wdt-button::before {border-color: currentColor;}
.wdt-button-holder.wdt-template-bordered .wdt-button:not(:hover) { color: var(--wdt-elementor-color-accent); }
.wdt-dark-bg .wdt-button-holder.wdt-template-bordered .wdt-button:not(:hover) {color: var(--wdt-elementor-color-white);}
.wdt-button-holder.wdt-template-bordered .wdt-button:hover { color: var(--wdt-elementor-color-primary);  }
.wdt-dark-bg .wdt-button-holder.wdt-template-bordered .wdt-button:hover { background-color: var(--wdt-elementor-color-white) !important;  }


/* Template - Textual */
.wdt-button-holder.wdt-template-textual .wdt-button { border-width: 0; padding: 0; border-radius: var(--wdtRadius_Zero); }

.wdt-button-holder.wdt-template-textual .wdt-button:not(:focus), 
.wdt-button-holder.wdt-template-textual .wdt-button:not(:hover) { background: none !important; border-width: 0; color: var(--wdt-elementor-color-accent); }

.wdt-dark-bg .wdt-button-holder.wdt-template-textual .wdt-button:not(:focus), 
.wdt-dark-bg .wdt-button-holder.wdt-template-textual .wdt-button:not(:hover) { color: var(--wdt-elementor-color-white); }

.wdt-button-holder.wdt-template-textual .wdt-button:focus, 
.wdt-button-holder.wdt-template-textual .wdt-button:hover { background: none; border-width: 0; color: var(--wdt-elementor-color-primary);
    -webkit-box-shadow: none; box-shadow: none; }

.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: rgb(var(--wdtAccentTxtColorRgb),.7); }
