:root {
    --els-hover-blue: #008cf5;
    --els-hover-blue-dark: #006fd1;
    --els-hover-shadow: 0 14px 30px rgba(0, 132, 245, 0.24);
    --els-card-shadow: 0 18px 38px rgba(0, 36, 84, 0.12);
}

a[href],
button,
[role="button"],
input[type="button"],
input[type="submit"],
input[type="reset"],
.button,
.elementor-button,
.single_add_to_cart_button {
    cursor: pointer;
}

a[href],
button,
.button,
.elementor-button,
.elementor-icon,
.elementor-social-icon,
.single_add_to_cart_button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.ct-header-trigger,
.ct-search-trigger,
.ct-cart-item,
.products .product,
.woocommerce ul.products li.product,
input,
select,
textarea {
    transition:
        background-color 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease,
        color 180ms ease,
        filter 180ms ease,
        opacity 180ms ease,
        transform 180ms ease;
}

input:focus,
select:focus,
textarea:focus,
.elementor-search-form__input:focus {
    border-color: var(--els-hover-blue) !important;
    box-shadow: 0 0 0 3px rgba(0, 140, 245, 0.16) !important;
    outline: none;
}

@media (hover: hover) and (pointer: fine) {
    a[href]:hover {
        color: var(--els-hover-blue);
    }

    .elementor-button:hover,
    .button:hover,
    .single_add_to_cart_button:hover,
    .woocommerce a.button:hover,
    .woocommerce button.button:hover,
    .woocommerce input.button:hover,
    .xoo-cp-btns a:hover,
    .checkout-button:hover {
        background-color: var(--els-hover-blue-dark) !important;
        border-color: var(--els-hover-blue-dark) !important;
        box-shadow: var(--els-hover-shadow);
        color: #fff !important;
        filter: saturate(1.08);
        transform: translateY(-2px);
    }

    .elementor-button:hover *,
    .button:hover *,
    .single_add_to_cart_button:hover * {
        color: inherit;
    }

    .ct-header-trigger:hover,
    .ct-search-trigger:hover,
    .ct-cart-item:hover,
    header a:hover,
    #header a:hover {
        color: var(--els-hover-blue);
        filter: saturate(1.12);
        transform: translateY(-1px);
    }

    .elementor-icon:hover,
    .elementor-social-icon:hover,
    .ct-icon:hover {
        filter: brightness(1.08) saturate(1.15);
        transform: translateY(-2px) scale(1.05);
    }

    .products .product:hover,
    .woocommerce ul.products li.product:hover {
        box-shadow: var(--els-card-shadow);
        transform: none;
    }

    .products .product img,
    .woocommerce ul.products li.product img,
    .woocommerce-product-gallery img {
        transition: filter 220ms ease, transform 220ms ease;
    }

    .products .product:hover img,
    .woocommerce ul.products li.product:hover img {
        filter: saturate(1.06);
        transform: none;
    }

    .products .product:hover .woocommerce-loop-product__title,
    .woocommerce ul.products li.product:hover .woocommerce-loop-product__title,
    .products .product:hover h2,
    .products .product:hover h3 {
        color: var(--els-hover-blue);
    }

    .products .product,
    .products .product *,
    .woocommerce ul.products li.product,
    .woocommerce ul.products li.product * {
        transform: none !important;
        translate: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    a[href],
    button,
    .button,
    .elementor-button,
    .elementor-icon,
    .elementor-social-icon,
    .single_add_to_cart_button,
    .products .product,
    .woocommerce ul.products li.product,
    input,
    select,
    textarea {
        transition: none !important;
    }
}
