/**
    Hotspot trigger animations
*/


/* Animations */

    @-webkit-keyframes wdt-soft-beat {
        from { -webkit-transform: scale(1); transform: scale(1); }
        to { -webkit-transform: scale(1.1); transform: scale(1.1); }
    }

    @keyframes wdt-soft-beat {
        from { -webkit-transform: scale(1); transform: scale(1); }
        to { -webkit-transform: scale(1.1); transform: scale(1.1); }
    }

    @-webkit-keyframes wdt-expand {
        0% { -webkit-transform: scale(.5); transform: scale(.5); opacity: 1; }
        to { -webkit-transform: scale(1.5); transform: scale(1.5); opacity: 0; }
    }

    @keyframes wdt-expand {
        0% { -webkit-transform: scale(.5); transform: scale(.5); opacity: 1; }
        to { -webkit-transform: scale(1.5); transform: scale(1.5); opacity: 0; }
    }

    @keyframes ripple {
        0% { transform: scale(1); opacity: .8; }
        45% { transform: scale(1.75); opacity: 0; border-width: 10; }
    }

/* Soft Beat */

    .wdt-hotspot-soft-beat { -webkit-animation: wdt-soft-beat .7s infinite alternate; animation: wdt-soft-beat .7s infinite alternate; 
        -webkit-animation-timing-function: ease; animation-timing-function: ease; }

/* Expand */

    .wdt-hotspot-expand:before { -webkit-animation: wdt-expand 2s infinite; animation: wdt-expand 2s infinite; }
    .wdt-hotspot-expand:before { position: absolute; z-index: -1; width: 100%; height: 100%; 
        content: ''; opacity: 0; border-radius: inherit; background-color: inherit; }

/* Overlay */

    .wdt-hotspot-overlay { -webkit-transition: opacity .2s; -o-transition: opacity .2s; transition: opacity .2s; opacity: 0; pointer-events: none; }
    .wdt-hotspot-item-active .wdt-hotspot-overlay { opacity: 0; }

/* Ripple */

    .wdt-hotspot-ripple:before { -webkit-animation: ripple 3s ease-out infinite; animation: ripple 3s ease-out infinite; }
    .wdt-hotspot-ripple:before { position: absolute; z-index: -1; width: 100%; height: 100%; 
        content: ''; opacity: 0; border-width: 2px; border-style: solid; border-color: inherit; border-radius: inherit; }

    .wdt-hotspot-item-active .wdt-hotspot-item-trigger.wdt-hotspot-ripple:before { -webkit-animation-play-state: paused; animation-play-state: paused; }

/**
    Tooltip animations
*/

/* Scale */

    .tippy-box[data-animation=scale][data-placement*=top] { transform-origin: bottom; }
    .tippy-box[data-animation=scale][data-placement*=bottom] { transform-origin: top; }
    .tippy-box[data-animation=scale][data-placement*=left] { transform-origin: right; }
    .tippy-box[data-animation=scale][data-placement*=right] { transform-origin: left; }
    .tippy-box[data-animation=scale][data-state=hidden] { transform: scale(.5); opacity: 0; }

/* Perspective */

    .tippy-box[data-animation=perspective][data-placement^=top] { transform-origin: bottom; }
    .tippy-box[data-animation=perspective][data-placement^=top][data-state=visible] { transform: perspective(700px); }
    .tippy-box[data-animation=perspective][data-placement^=top][data-state=hidden] { transform: perspective(700px) translateY(8px) rotateX(60deg); }

    .tippy-box[data-animation=perspective][data-placement^=bottom] { transform-origin: top; }
    .tippy-box[data-animation=perspective][data-placement^=bottom][data-state=visible] { transform: perspective(700px); }
    .tippy-box[data-animation=perspective][data-placement^=bottom][data-state=hidden] { transform: perspective(700px) translateY(-8px) rotateX(-60deg); }

    .tippy-box[data-animation=perspective][data-placement^=left] { transform-origin: right; }
    .tippy-box[data-animation=perspective][data-placement^=left][data-state=visible] { transform: perspective(700px); }
    .tippy-box[data-animation=perspective][data-placement^=left][data-state=hidden] { transform: perspective(700px) translateX(8px) rotateY(-60deg); }

    .tippy-box[data-animation=perspective][data-placement^=right] { transform-origin: left; }
    .tippy-box[data-animation=perspective][data-placement^=right][data-state=visible] { transform: perspective(700px); }
    .tippy-box[data-animation=perspective][data-placement^=right][data-state=hidden] { transform: perspective(700px) translateX(-8px) rotateY(60deg); }

    .tippy-box[data-animation=perspective][data-state=hidden] { opacity: 0; }

/* Shift-away */

    .tippy-box[data-animation=shift-away][data-state=hidden] { opacity: 0; }
    .tippy-box[data-animation=shift-away][data-state=hidden][data-placement^=top] { transform: translateY(10px); }
    .tippy-box[data-animation=shift-away][data-state=hidden][data-placement^=bottom] { transform: translateY(-10px); }
    .tippy-box[data-animation=shift-away][data-state=hidden][data-placement^=left] { transform: translateX(10px); }
    .tippy-box[data-animation=shift-away][data-state=hidden][data-placement^=right] { transform: translateX(-10px); }

/* Shift-toward */

    .tippy-box[data-animation=shift-toward][data-state=hidden] { opacity: 0; }
    .tippy-box[data-animation=shift-toward][data-state=hidden][data-placement^=top] { transform: translateY(-10px); }
    .tippy-box[data-animation=shift-toward][data-state=hidden][data-placement^=bottom] { transform: translateY(10px); }
    .tippy-box[data-animation=shift-toward][data-state=hidden][data-placement^=left] { transform: translateX(-10px); }
    .tippy-box[data-animation=shift-toward][data-state=hidden][data-placement^=right] { transform: translateX(10px); }

/** 
    Others 
*/

    .wdt-hotspot-holder { position: relative; }
    .wdt-hotspot-holder .wdt-hotspot-repeater-item { position: absolute; }

    .wdt-hotspot-item-trigger { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex;
        -webkit-box-align: center; align-items: center; -ms-flex-align: center; -ms-flex-flow: row nowrap; 
        flex-flow: row nowrap; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-box-pack: center; 
        -ms-flex-pack: center; justify-content: center; border-radius: var(--wdtRadius_Zero); padding: 10px; width: 36px; height: 36px;
        -webkit-transition: var(--wdt-Ad-Transition); transition: var(--wdt-Ad-Transition); cursor: pointer;
        -webkit-transform: translateZ(0); transform: translateZ(0); border-color: var(--wdt-elementor-color-primary); background-color: var(--wdt-elementor-color-primary); }

    .wdt-hotspot-item-active .wdt-hotspot-item-trigger { border-color: var(--wdtLinkHoverColor); background-color: var(--wdtLinkHoverColor); }

    .wdt-hotspot-item-trigger > *:not(:last-child) { margin: 0 10px 0 0; }

/** 
    Hotspot Item Default 
*/

    .wdt-hotspot-item-trigger div[class*="wdt-hotspot-item-"] { line-height: 1; display: inline-flex; align-items: center; 
        justify-content: center; -webkit-transition: var(--wdt-Ad-Transition); transition: var(--wdt-Ad-Transition); 
        color: var(--wdt-elementor-color-white); }
        
    .wdt-hotspot-item-trigger:has(.wdt-hotspot-item-default) { font-size: calc(var(--wdtFontSize_H5) + 2px); padding: 0; width: 1em; height: 1em; background: transparent; color: var(--wdt-elementor-color-white, --wdtAccentTxtColor); border-color: currentColor; border-radius: var(--wdtRadius_Full); -webkit-border-radius: var(--wdtRadius_Full); }

    .wdt-hotspot-item-trigger div.wdt-hotspot-item-default { color: inherit; width: 1em; height: 1em; background: transparent; border-color: currentColor; border-style: solid; border-width: 0.37em; border-radius: inherit; -webkit-border-radius: inherit; }

    .wdt-hotspot-item-trigger div.wdt-hotspot-item-default > * { display: none; }

/** 
    Tool Tip 
*/

    .wdt-hotspot-item-tooltip { display: none; visibility: hidden; }

    .wdt-hotspot-holder .tippy-box { padding: 0; border-radius: var(--wdtRadius_Zero); background: transparent; }

    .wdt-hotspot-holder .tippy-box .tippy-content { padding: 10px; border-radius: var(--wdtRadius_Zero); background-color: var(--wdtAccentTxtColor); }

    .wdt-hotspot-holder .tippy-box .tippy-content h5 { line-height: 1; margin: 0 0 15px; color: var(--wdt-elementor-color-primary);
        -webkit-transition: var(--wdt-Ad-Transition); transition: var(--wdt-Ad-Transition); }

    .wdt-hotspot-holder .tippy-box .tippy-content p { margin: 0; -webkit-transition: var(--wdt-Ad-Transition); 
        transition: var(--wdt-Ad-Transition); color: var(--wdtBodyTxtColor); }

    .wdt-hotspot-holder .tippy-box .tippy-arrow { color: var(--wdtAccentTxtColor); }

/** 
    Tool Tip Product
*/

    .wdt-hotspot-holder .tippy-box .tippy-content .woocommerce ul.products li.product.product-list-view .product-wrapper .product-details {
        padding: 10px 10px 10px 20px; }

    .wdt-hotspot-holder .tippy-box .tippy-content .woocommerce ul.products.product-content-alignment-left li.product .product-details > div { 
        font-size: 0px; color: transparent; }

    .wdt-hotspot-holder .tippy-box .tippy-content .woocommerce ul.products li.product .product-details .product-category-wrapper a:not(:first-child) {
        display: none; }

    .wdt-hotspot-holder .tippy-box .tippy-content .woocommerce ul.products li.product .product-details .product-title h5,
    .wdt-hotspot-holder .tippy-box .tippy-content .woocommerce ul.products li.product .product-details .price {
        font-size: var(--wdtFontSize_H6); font-weight: var(--wdtFontWeight_Alt); letter-spacing: var(--wdtLetterSpacing_2X); text-transform: uppercase; }

    .wdt-hotspot-holder .woocommerce ul.products li.product.product-list-view .product-wrapper .product-thumb { 
        width: 30% !important; max-width: 30% !important; }

    .wdt-hotspot-holder .woocommerce ul.products li.product.product-list-view .product-wrapper .product-details { 
        width: 70% !important; }


/** 
    Others Style
*/

    .elementor-widget-wdt-hotspot { height: 100%; display: flex; }
    .elementor-widget-wdt-hotspot > * { height: auto !important; width: 100%; }
    .elementor-widget-wdt-hotspot .wdt-hotspot-holder,
    .elementor-widget-wdt-hotspot .wdt-hotspot-holder img { width: 100%; height: 100%; object-fit: cover; }


/** 
    Responsive Style
*/

    @media only screen and (max-width:767px) {
        .wdt-hotspot-holder:has(.wdt-hotspot-overlay) .tippy-box .tippy-arrow { display: none; }
    }

    @media only screen and (max-width: 479px) {
        .wdt-hotspot-holder .woocommerce ul.products li.product.product-list-view.product-list-left-thumb .product-wrapper, 
        .wdt-hotspot-holder .woocommerce ul.products li.product.product-list-view.product-list-right-thumb .product-wrapper { flex-direction: row; align-items: center; }
        .wdt-hotspot-holder .tippy-box .tippy-content .woocommerce ul.products li.product.product-list-view .product-wrapper .product-details{ padding: 0px 0px 0px 15px; }
    }