/* Wishlist Button */
.wp-block-woolentor-wishsuite{
    display: block;
}
a.wishsuite-addtocart.loading{
    opacity: .25;
    padding-right: 2.618em;
    position: relative;
}
a.wishsuite-addtocart.loading::after{
    font-family: WooCommerce;
    content: '\e01c';
    vertical-align: top;
    -webkit-font-smoothing: antialiased;
    font-weight: 400;
    position: absolute;
    top: auto;
    right: 1em;
    animation: spin 2s linear infinite;
}
a.wishsuite-addtocart.added::after{
    font-family: WooCommerce;
    content: '\e017';
    margin-left: .53em;
    vertical-align: bottom;
}

.wishsuite-loader {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
a.wishsuite-button::after,.woocommerce a.button.wishsuite-button::after{
    display: none;
}
a.wishsuite-btn.loading,.woocommerce a.button.wishsuite-btn.loading{
    opacity: 1;
}
.woocommerce a.button.wishsuite-button{
    display: inline-flex;
}

.wishsuite-shop-top_thumbnail{
    position: absolute !important;
    z-index: 9999;
    top: 10px;
    left: 10px !important;
    margin: 0 !important;
    min-width: 35px;
    min-height: 35px;
    justify-content: center;
}

.wishsuite-button img {
    display: inline-block !important;
    width: 25px !important;
    margin: 0 !important;
}

/* Wraps a custom icon plus its loader so the loader has a box to centre itself in. */
.wishsuite-custom-icon-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
a.wishsuite-button.loading img{
    opacity: 0.5;
}

.wishsuite-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    position: relative;
    /* Themes commonly stack an overlay on the product thumbnail, which swallowed the click. */
    z-index: 10 !important;
}

.wishsuite-btn-text {
    margin: 0 !important;
}

/* Solid heart: hidden by default, shown once the product is in the wishlist. */
.wishsuite-button .heart-solid {
    opacity: 0;
    transition: opacity 200ms ease-out;
}
.wishsuite-button.added .wishsuite-solid-added .heart-solid,
.wishsuite-button.wishsuite-btn-exist .wishsuite-solid-added .heart-solid {
    opacity: 1;
}
.wishsuite-button.added .wishsuite-solid-added .heart,
.wishsuite-button.wishsuite-btn-exist .wishsuite-solid-added .heart {
    opacity: 0;
}
/* The added state normally swaps the heart for the check circle. With the solid heart on, the
   filled heart is the added state, so the check has to go or the two overlap. */
.wishsuite-button.added .wishsuite-solid-added .check,
.wishsuite-button.wishsuite-btn-exist .wishsuite-solid-added .check {
    opacity: 0;
}

.wishsuite-button:focus {
    outline: none;
    border:none;
}
 
.wishsuite-button svg {
    fill:currentColor;
    transition: all 200ms ease-out;
    width: 15px;
    height: 15px;
}
.wishsuite-button svg + span{
    margin-left: 6px;
}
 
.wishsuite-button:hover svg,
.wishlist-toggle.added svg {
    fill:currentColor;
}
 
.wishsuite-button svg .loading,
.wishsuite-button svg .check {
    opacity: 0;
}
 
.wishsuite-button.added svg .check,.wishsuite-button.wishsuite-btn-exist svg .check {
    opacity: 1;
}
 
.wishsuite-button.added svg .heart,.wishsuite-button.wishsuite-btn-exist svg .heart {
    opacity: 0;
}
 
.wishsuite-button.loading svg .loading,
.wishsuite-button.loading:before {
    animation:loading 500ms 0ms infinite normal linear;
    transform-origin: center;
    opacity: 1;
}
 
.wishsuite-button.loading svg .heart {
    opacity:0;
}
.wishsuite-btn-text {
    display: flex;
    align-items: center;
}
 
@keyframes loading {
    from {transform: rotate(0deg);}
    to {transform: rotate(360deg);}
}

/* Table style*/
.wishsuite-table-content table {
    width: 100%;
    margin: 0;
    border: 1px solid #ebebeb;
    border-collapse: collapse;
}
.wishsuite-table-content table thead > tr {
    background-color: #f9f9f9;
    border: 1px solid #ebebeb;
}
.wishsuite-table-content table thead > tr th {
    border-top: medium none;
    color: #333;
    font-size: 14px;
    font-weight: 500;
    padding: 20px 30px 20px;
    text-align: center;
    text-transform: uppercase;
    vertical-align: middle;
    white-space: nowrap;
    border:0;
}

.wishsuite-table-content table tbody > tr {
    border-bottom: 1px solid #ebebeb;
}
.wishsuite-table-content table tbody > tr td {
    color: #333;
    font-size: 15px;
    padding: 10px;
    text-align: center;
    border:0;
}

.wishsuite-table-content .quantity .qty {
    width: 3.631em;
    padding: 5px 5px 5px 5px;
    text-align: center;
}

/* Table Loader */
.wishsuite-table-content {
    position: relative;
    overflow-x: auto;
    overflow-y: visible;
}
.wishsuite-table-content.loading:before{
    position: absolute;
    content:"";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    background-color: rgba(255,255,255,.6);
}
.wishsuite-table-content .wishsuite-table-content-loader {
    border: 8px solid #f3f3f3;
    border-radius: 50%;
    border-top: 8px solid #3498db;
    width: 50px;
    height: 50px;
    -webkit-animation: htcomspin 1s linear infinite;
    animation: htcomspin 1s linear infinite;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    transform: translate(-30px, -25px);
    display: none;
}

.wishsuite-table-content.loading .wishsuite-table-content-loader{
    display: block;
}

/* Safari */
@-webkit-keyframes htcomspin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes htcomspin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Remove Button */
.wishsuite-remove{
    position: relative;
    display: inline-block;
    padding: 10px;
    margin-left: -5px;
    transition: none;
    text-decoration: none !important;
}
.wishsuite-remove:focus{
    outline: none;
}
.wishsuite-remove::after, .wishsuite-remove::before {
    content: " ";
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 15px;
    height: 2px;
    background-color: #2d2a2a;
    right: 0;
    -webkit-transform: rotate(45deg);
     transform: rotate(45deg);
}
.wishsuite-remove::after{
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.wishsuite-remove:hover::after,.wishsuite-remove:hover::before{
    background: #EC1E1E;
}

.wishsuite-emplty-text{
    text-align: center;
}

.wishsuite-product-add_to_cart a{
    display: block;
    text-decoration: none !important;
}
.wishsuite-product-add_to_cart a.wc-forward{
    margin-top: 10px;
}

/* Compare wishlist adjustment */
.htcompare-btn + .wishsuite-button{
    margin-left: 10px;
}

/* Variation Product Quick Cart */
.wishsuite-product-add_to_cart{
    position: relative;
}
.wishsuite-quick-cart-area {
    position: absolute;
    width: 300px;
    height: 200px;
    right: 0;
    bottom: 0;
    display: none;
    z-index: 99;
    background-color: #fff;
    padding: 15px 20px 15px 20px;
    border: 1px solid #ddd;
}
.quick-cart-open .wishsuite-quick-cart-area{
    overflow: hidden;
    overflow-y: auto;
    display: block;
}
.wishsuite-quick-cart-area .wishsuite-button {
  display: none !important;
}
.wishsuite-product-add_to_cart .wishsuite-quick-cart-area a {
  display: inline-block;
}

.wishsuite-quick-cart-close {
    display: inline-block;
    padding: 1px 10px;
    position: absolute;
    right: 0;
    top: 0;
    cursor: pointer;
    transition: 0.4s;
}
.wishsuite-quick-cart-close:hover{
  color:#D93025;
}
.wishsuite-quick-cart-area form.cart .variations select {
    max-width: 100%;
    min-width: 75%;
    display: inline-block;
    width: 100%;
    margin-right: 0;
    padding-top: .5em;
    padding-bottom: .5em;
}
.wishsuite-quick-cart-area form.cart .variations select:focus {
    outline: none;
}
.wishsuite-quick-cart-area .single_add_to_cart_button {
    width: auto;
}
.wishsuite-quick-cart-area .single_add_to_cart_button.disabled {
    cursor: not-allowed;
    opacity: 0.5;
}
.wishsuite-quick-cart-area .quantity {
    display: inline-block;
}
.wishsuite-quick-cart-area .woocommerce-variation-add-to-cart{
    margin-top: 15px;
}
.wishsuite-quick-cart-area form.cart table {
    border-width: 0 0 1px;
    margin: 0 0 1.2em;
}

.wishsuite-quick-cart-area form.cart .variations {
    border-bottom: 1px solid rgba(0,0,0,.1);
    position: relative;
    margin-bottom: 1em;
    width: 100%;
}

.wishsuite-quick-cart-area form.cart .variations td, .wishsuite-quick-cart-area form.cart .variations th {
    border: 0;
    line-height: 2em;
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 0;
    display: block;
    text-align: left;
}
.wishsuite-quick-cart-area form.cart table td {
    padding-left: 0;
}
.wishsuite-quick-cart-area a.added_to_cart{
    width: 100%;
    padding: 3px;
    text-align: center;
    border: 1px solid #ddd;
    margin-top: 5px;
}
.wishsuite-quick-cart-area a.reset_variations {
    text-align: left;
}

/* Social Media Share */
.wishsuite-social-share {
    display: flex;
    align-items: center;
    margin-top: 15px;
}
.wishsuite-social-share ul{
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
}
.wishsuite-social-share ul li{
    display: inline-block;
}
.wishsuite-social-share ul li a{
    display: block;
    line-height: 1;
    padding: 5px;
    color: #3a3a3a;
}
.wishsuite-social-share ul li a .wishsuite-social-icon svg{
    fill:currentColor;
    width: 15px;
    height: 15px;
}

/* Wishlist Counter */
.wishsuite-counter-area:not(.wishsuite-has-text) {
    display: inline-block;
    position: relative;
    line-height: 1;
    width: 30px;
    color: #222;
}
.wishsuite-counter-area:not(.wishsuite-has-text) span.wishsuite-counter {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 16px;
    height: 16px;
    border-radius: 8px;
    right: 0;
    top: -8px;
    background: #ec5858;
    color: #fff;
    font-size: 11px;
    line-height: 18px;
    font-weight: 600;
    text-align: center;
}
.wishsuite-align-center .wishsuite-counter-area:not(.wishsuite-has-text) span.wishsuite-counter {
    right: -5px;
}
.wishsuite-align-right .wishsuite-counter-area:not(.wishsuite-has-text) span.wishsuite-counter{
    right: -8px;
}
.wishsuite-counter-area.wishsuite-has-text {
    display: inline-flex;
    align-items: center;
    color: #222;
    font-size: 16px;
}
.wishsuite-has-text span.wishsuite-counter-icon {
    display: flex;
    margin: 0 5px;
}
.wishsuite-has-text .wishsuite-counter-icon{
    color: #ec5858;
}
.wishsuite-counter-icon svg {
    fill: currentColor;
}

/* WooLentor addons */
.elementor-widget-woolentor-universal-product .wishsuite-button img,
.elementor-widget-woolentor-product-tab .wishsuite-button img{
    margin: 0 !important;
}

/* Pagination */
nav.wishsuite-pagination {
    margin-top: 30px;
}
nav.wishsuite-pagination ul {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 10px;
}
nav.wishsuite-pagination ul .page-numbers {
    display: flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border: 2px solid #ebebeb;
    text-decoration: none;
    background-color: transparent;
    color: #333333;
    transition: all 0.3s ease 0s;
}
nav.wishsuite-pagination ul .page-numbers.prev,
nav.wishsuite-pagination ul .page-numbers.next {
    font-size: 24px;
}
nav.wishsuite-pagination ul .page-numbers:focus,
nav.wishsuite-pagination ul .page-numbers:hover {
    border-color: #333333;
    outline: none;
}
nav.wishsuite-pagination ul .page-numbers.current {
    color: #ffffff;
    background-color: #333333;
    border-color: #333333;
}

/*@media only screen and (max-width: 760px),
(min-device-width: 768px) and (max-device-width: 1024px)  {*/

@media (max-width: 767px) {

    /* Force table to not be like tables anymore */
    .wishsuite-table-content table, .wishsuite-table-content thead, .wishsuite-table-content tbody, .wishsuite-table-content th, .wishsuite-table-content td, .wishsuite-table-content tr { 
        display: block; 
    }
    .wishsuite-table-content table, .wishsuite-table-content table th, .wishsuite-table-content table tbody > tr td,.wishsuite-table-content table td.wishsuite-product-title{
        text-align: left;
    }

    .wishsuite-table-content table{
        border:none;
    }

    .wishsuite-table-content td{
        padding: 10px;
    }

    /* Hide table headers (but not display: none;, for accessibility) */
    .wishsuite-table-content thead tr { 
        position: absolute;
        top: -9999px;
        left: -9999px;
    }
    
    .wishsuite-table-content tr {
        border: 1px solid #ebebeb;
        margin-top: 15px;
    }
    
    .wishsuite-table-content table tbody > tr td {
        border: none;
        border-bottom: 1px solid #ebebeb; 
        position: relative;
        padding-left: 50%;
    }
    
    .wishsuite-table-content td::before {
        position: absolute;
        top: 34%;
        left: 15px;
        width: 45%;
        padding-right: 10px;
        white-space: nowrap;
        text-align: left;
    }

    .wishsuite-product-add_to_cart a{
        text-align: center;
    }
    
    /*
    Label the data
    */
    .wishsuite-table-content td:nth-of-type(1):before { content: attr(data-label); }
    .wishsuite-table-content td:nth-of-type(2):before { content: attr(data-label); }
    .wishsuite-table-content td:nth-of-type(3):before { content: attr(data-label); }
    .wishsuite-table-content td:nth-of-type(4):before { content: attr(data-label); }
    .wishsuite-table-content td:nth-of-type(5):before { content: attr(data-label); }
    .wishsuite-table-content td:nth-of-type(6):before { content: attr(data-label); }
    .wishsuite-table-content td:nth-of-type(7):before { content: attr(data-label); }
    .wishsuite-table-content td:nth-of-type(8):before { content: attr(data-label); }
    .wishsuite-table-content td:nth-of-type(9):before { content: attr(data-label); }
    .wishsuite-table-content td:nth-of-type(10):before { content: attr(data-label); }
    .wishsuite-table-content td:nth-of-type(11):before { content: attr(data-label); }
    .wishsuite-table-content td:nth-of-type(12):before { content: attr(data-label); }
    .wishsuite-table-content td:nth-of-type(13):before { content: attr(data-label); }
    .wishsuite-table-content td:nth-of-type(14):before { content: attr(data-label); }
    .wishsuite-table-content td:nth-of-type(15):before { content: attr(data-label); }
    .wishsuite-table-content td:nth-of-type(16):before { content: attr(data-label); }
    .wishsuite-table-content td:nth-of-type(17):before { content: attr(data-label); }
    .wishsuite-table-content td:nth-of-type(18):before { content: attr(data-label); }
    .wishsuite-table-content td:nth-of-type(19):before { content: attr(data-label); }
    .wishsuite-table-content td:nth-of-type(20):before { content: attr(data-label); }

}
/* ---------------------------------------------
 * Copy shareable wishlist link button + tooltip
 * --------------------------------------------- */
.wishsuite-social-share .wishsuite-copy-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    line-height: 1;
    color: inherit;
}

.wishsuite-social-share .wishsuite-copy-link:hover,
.wishsuite-social-share .wishsuite-copy-link:focus {
    background: transparent;
    outline: none;
}

.wishsuite-social-share .wishsuite-copy-link .wishsuite-link-icon {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    transition: all 200ms ease-out;
}

.wishsuite-social-share .wishsuite-copy-link:hover .wishsuite-link-icon {
    opacity: 0.7;
}

.wishsuite-social-share .wishsuite-copy-link::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(-6px);
    padding: 4px 8px;
    border-radius: 3px;
    background: #333;
    color: #fff;
    font-size: 11px;
    line-height: 1.4;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: opacity 150ms ease-out, visibility 150ms ease-out;
    pointer-events: none;
    z-index: 10;
}

.wishsuite-social-share .wishsuite-copy-link::before {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(-1px);
    border: 4px solid transparent;
    border-top-color: #333;
    opacity: 0;
    visibility: hidden;
    transition: opacity 150ms ease-out, visibility 150ms ease-out;
    pointer-events: none;
    z-index: 10;
}

.wishsuite-social-share .wishsuite-copy-link:hover::after,
.wishsuite-social-share .wishsuite-copy-link:hover::before,
.wishsuite-social-share .wishsuite-copy-link.wishsuite-copied::after,
.wishsuite-social-share .wishsuite-copy-link.wishsuite-copied::before {
    opacity: 1;
    visibility: visible;
}

.wishsuite-social-share .wishsuite-copy-link.wishsuite-copied::after {
    background: #46b450;
}

.wishsuite-social-share .wishsuite-copy-link.wishsuite-copied::before {
    border-top-color: #46b450;
}
