/**
 * StoreBooster plugins frontend styles
 * 
 * @package TTStoreBooster\Public\Assets\CSS
 * @version 1.0.0
 */
.ttsb-search-wrapper {
    display: inline-block;
    position: relative;
    margin: 0 auto;
}
.ttsb-search-container {
    position: relative;
    width: 100%;
    min-width: 200px;
}
.ttsb-searchinput-wrapper{
    position: relative;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}
.ttsb-icon-popup-handler svg{
    width: 20px;
    height: 20px;
}
.ttsb-search-icon{
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #000;
    padding: 5px 20px;
    cursor: pointer;
    border-radius: 10px;
    transition: all 400ms;
}
.ttsb-search-icon svg{
    width: 20px;
    height: 20px;
}
.ttsb-search-button{
    background-color: #000;
    font-size: 15px;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
    padding: 5px 20px;
    border: 0;
}
.ttsb-searchinput-wrapper .ttsb-input{
    display: flex;
    position: relative;
    width: 100%;
}
.ttsb-searchinput-wrapper .ttsb-clear-input{
    display: none;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 16px;
    color: #000;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ttsb-searchbar-layout3 .ttsb-searchinput-wrapper .ttsb-clear-input,
.ttsb-searchbar-layout5 .ttsb-searchinput-wrapper .ttsb-clear-input,
.ttsb-searchbar-layout3 .ttsb-searchinput-wrapper .ttsb-search-loading,
.ttsb-searchbar-layout5 .ttsb-searchinput-wrapper .ttsb-search-loading{
    right: -30px;
}

.ttsb-searchinput-wrapper .ttsb-search-input{
    background-color: #fff;
    font-size: 16px;
    letter-spacing: 0.32px;
    font-weight: 300;
    line-height: 1 !important;
    color: #292828;
    border: 1px solid #dddddd;
    box-shadow: none;
    border-radius: 10px;
    padding: 0 20px 0 20px;
    height: 50px;
    width: 100%;
}
.ttsb-searchinput-wrapper .ttsb-search-input::placeholder{
    opacity: 1;
    color: var(--placeholder-color, #292828);
}

.ttsb-search-input:focus {
    outline: none;
    border-color: #aaa;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.2);
}

/* Search bar layout styles */
.ttsb-searchbar-layout1 .ttsb-searchinput-wrapper,
.ttsb-searchbar-layout2 .ttsb-searchinput-wrapper,
.ttsb-searchbar-layout4 .ttsb-searchinput-wrapper{
    flex-direction: row-reverse;
}

.ttsb-searchbar-layout1 .ttsb-searchinput-wrapper .ttsb-search-input{
    border-radius: 10px 0 0 10px;
}

.ttsb-searchbar-layout1 .ttsb-searchinput-wrapper .ttsb-search-icon{
    border-radius: 0 10px 10px 0;
}

/* layout 2 */
.ttsb-icon-popup-handler svg{
    cursor: pointer;
}
.ttsb-searchbar-layout2 .ttsb-icon-popup-handler{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    padding: 8px;
}
.ttsb-searchbar-layout2 .ttsb-search-container{
    position: absolute;
    top: 50px;
    right: -20px;
    opacity: 0;
    visibility: hidden;
    transition: all 400ms;
}
.ttsb-searchbar-layout2 .ttsb-search-container::before{
    content: "";
    position: absolute;
    top: -7px;
    right: 24px;
    width: 20px;
    height: 20px;
    display: block;
    background-color: #ffffff;
    transform: rotate(45deg);
    border: 1px solid #dddddd;
}
.ttsb-search-open.ttsb-searchbar-layout2 .ttsb-search-container{
    opacity: 1;
    visibility: visible;
}

.ttsb-searchbar-layout2 .ttsb-searchinput-wrapper .ttsb-clear-input,
.ttsb-searchbar-layout4 .ttsb-searchinput-wrapper .ttsb-clear-input{
    right: 45px;
}
.ttsb-searchbar-layout2 .ttsb-search-loading,
.ttsb-searchbar-layout4 .ttsb-search-loading{
    right: 45px;
}

.ttsb-searchbar-layout2 .ttsb-searchinput-wrapper .ttsb-search-input,
.ttsb-searchbar-layout4 .ttsb-searchinput-wrapper .ttsb-search-input{
    border-radius: 30px;
}
.ttsb-searchbar-layout2 .ttsb-searchinput-wrapper .ttsb-search-icon,
.ttsb-searchbar-layout4 .ttsb-searchinput-wrapper .ttsb-search-icon{
    background-color: transparent;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0px;
    z-index: 2;
}

/* Layout 3 */
.ttsb-searchbar-layout3 .ttsb-searchinput-wrapper .ttsb-search-icon{
    border-radius: 10px 0 0 10px;
}
.ttsb-searchbar-layout3 .ttsb-searchinput-wrapper .ttsb-search-input{
    border-radius: 0 10px 10px 0;
}
.ttsb-searchbar-layout3 .ttsb-searchinput-wrapper .ttsb-search-button,
.ttsb-searchbar-layout5 .ttsb-searchinput-wrapper .ttsb-search-button{
    border-radius: 7px;
    position: absolute;
    right: 5px;
    height: 100%;
    height: calc(100% - 10px);
    top: 50%;
    transform: translateY(-50%);
}
/* Layout 5 */
.ttsb-searchbar-layout5 .ttsb-searchinput-wrapper .ttsb-search-input{
    border-radius: 30px;
}
.ttsb-searchbar-layout5 .ttsb-searchinput-wrapper .ttsb-search-button{
    border-radius: 30px;
}

/* Layout 6 */
.ttsb-searchbar-layout6 .ttsb-searchinput-wrapper{
    gap: 10px;
}
.ttsb-searchbar-layout6 .ttsb-searchinput-wrapper .ttsb-search-button{
    padding: 5px 15px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.ttsb-searchbar-layout6 .ttsb-searchinput-wrapper .ttsb-search-button svg{
    width: 15px;
    height: 15px;
}

/* Recent searches */
.ttsb-recent-search{
    padding: 20px;
}
.fuzzy-search-suggestions{
    padding: 15px;
}
.ttsb-recent-search-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px;
    font-weight: 600;
    color: #333;
}
.ttsb-recent-search-header > span{
    line-height: 1 !important;
}
.ttsb-clear-all-searches {
    color: #000;
    background-color: transparent;
    box-shadow: none;
    border: none;
    cursor: pointer;
    font-size: 12px;
    padding: 0;
    margin-left: 10px;
    border-radius: 0;
    border-bottom: 1px solid #ddd;
}

.ttsb-clear-all-searches:hover{
    background-color: transparent;
    color: #000;
}

.ttsb-recent-search-terms {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 5px;
}

.ttsb-recent-search-terms .ttsb-recent-search-item{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 7px;
    background-color: #f9f9f9;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    gap: 10px;
}

.ttsb-close-recent-search{
    width: 10px;
    height: 10px;
    font-size: 12px;
    line-height: 10px;
    padding: 0;
    border-radius: 50%;
    text-align: center;
    color: #f00;
    cursor: pointer;
    transition: all 400ms;
}
.ttsb-close-recent-search:hover{
    background-color: #f00;
    color: #fff;
}
.ttsb-search-result-container {
    position: absolute;
    top: 100%;
    left: auto;
    right: 0;
    width: 100%;
    background: white;
    border-radius: 4px;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    width: 600px;
    overflow-y: auto;
    display: none;
    transition: all 400ms;
    line-height: 1 !important;
}
.ttsb-search-result-container a{
    text-decoration: none !important;
}
@media(max-width: 767px){
    .ttsb-search-result-container{
        min-width: 100%;
        left: 0;
        right: auto;
    }
}
.show-default-panel .ttsb-search-result-container {
    display: block;
}

.ttsb-search-results-header{
    margin-bottom: 15px;
    padding: 15px;
    background-color: #f8f9fa;
    border-radius: 5px;
}
.ttsb-search-results {
    padding: 0;
}
.no-results-for-term{
    padding: 15px;
    background-color: #f8f9fa;
    margin-bottom: 20px;
}
.ttsb-search-result-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 15px;
    border-bottom: 1px solid #eee;
    transition: background-color 0.2s ease;
}
.ttsb-search-result-item:last-child {
    border-bottom: none;
}
.ttsb-search-result-item:hover {
    background-color: #f9f9f9;
}
.search-result-image {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    border: 1px solid #f0f0f0;
    padding: 2px;
    border-radius: 3px;
    padding: 0 !important;
}
.search-result-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 3px;
}
.ttsb-search-result-info {
    flex-grow: 1;
}
.ttsb-search-result-title-wrapper{
    display: flex;
    align-items: center;
    gap: 5px;
}
.ttsb-search-result-title-wrapper .ttsb-search-result-title {
    font-size: 13px;
    line-height: 1.2;
    font-weight: 400;
    text-decoration: none;
    display: block;
    margin: 0 !important;
    padding: 0 !important;
}
.ttsb-search-result-title-wrapper .ttsb-search-result-title a{
    color: #333;
    text-decoration: none;
    font-size: 13px;
    padding: 0 !important;
}
.ttsb-post-category-list{
    margin-bottom: 5px;
}
.ttsb-post-category-list,
.ttsb-post-category-list .ttsb-category-label{
    font-size: 12px;
    font-weight: 400;
    color: #8b8b8b;
}
.ttsb-search-result-sku {
    font-size: 11px;
    color: #777;
}
.ttsb-search-result-price {
    font-size: 13px;
    font-weight: 600;
    color: #555;
    margin: 0 auto;
}
.ttsb-product-description{
    font-size: 13px;
    line-height: 1.2;
}
.ttsb-product-description p:last-child{
    margin-bottom: 0;
}
.ttsb-search-result-actions{
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.ttsb-search-result-actions .ttsb-ajax-quick-view {
    font-size: 12px !important;
    line-height: 1.1;
    padding: 6px 10px !important;
    border: 1px solid #20c997 !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    transition: all 400ms !important;
    text-align: center !important;
    text-decoration: none !important;
    width: 115px;
}
.ttsb-search-result-actions .ttsb-ajax-quick-view:hover{
    background-color: #20c997 !important;
    color: #fff;
}
.ttsb-search-result-actions button{
    padding: 6px 10px !important;
    color: #fff !important;
    background-color: #20c997 !important;
    border-radius: 5px !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 12px !important;
    line-height: 1.1;
    text-decoration: none !important;
    transition: all 400ms !important;
    text-align: center !important;
}
.ttsb-search-result-actions button:hover{
    background-color: #19ac81 !important;
}

.ttsb-search-loading {
    position: absolute;
    top: 50%;
    right: 40px;
    transform: translateY(-50%);
    display: none;
    z-index: 10;
}

/* Predefined products */
.ttsb-predefined-products{
    padding: 30px 20px;
}
.ttsb-predefined-products-title{
    display: block;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 15px;
}

.ttsb-predefined-products ul.products{
    margin: 0 !important;
    float: none;
    position: static !important;
}
.ttsb-predefined-products .woocommerce ul.products::before,
.ttsb-predefined-products .woocommerce ul.products::after{
    display: none !important;
}
.ttsb-predefined-products .woocommerce ul.products {
    display: grid;
    column-gap: 20px
}

.ttsb-predefined-products .woocommerce ul.products li.product {
    display: flex;
    flex-direction: column;
    width: 100% !important;
    padding: 0;
    position: relative;
    margin-bottom: 20px;
}

.ttsb-predefined-products .woocommerce ul.products li.product .woocommerce ul.products li.product a.woocommerce-loop-product__link{
    padding: 0 !important;
}

.ttsb-predefined-products .woocommerce ul.products.columns-4,
.ttsb-predefined-products .woocommerce ul.products.products-4,
.ttsb-predefined-products .woocommerce.columns-4 ul.products {
    grid-template-columns: repeat(4,1fr)
}

.ttsb-predefined-products .woocommerce ul.products.columns-1,
.ttsb-predefined-products .woocommerce ul.products.products-1,
.ttsb-predefined-products .woocommerce.columns-1 ul.products {
    grid-template-columns: repeat(1,minmax(0,1fr));
    width: 100%;
    margin-right: 0
}

.ttsb-predefined-products .woocommerce ul.products.columns-2,
.ttsb-predefined-products .woocommerce ul.products.products-2,
.ttsb-predefined-products .woocommerce.columns-2 ul.products {
    grid-template-columns: repeat(2,minmax(0,1fr))
}

.ttsb-predefined-products .woocommerce ul.products.columns-3,
.ttsb-predefined-products .woocommerce ul.products.products-3,
.ttsb-predefined-products .woocommerce.columns-3 ul.products {
    grid-template-columns: repeat(3,minmax(0,1fr))
}

.ttsb-predefined-products .woocommerce ul.products.columns-5,
.ttsb-predefined-products .woocommerce ul.products.products-5,
.ttsb-predefined-products .woocommerce.columns-5 ul.products {
    grid-template-columns: repeat(5,minmax(0,1fr))
}

.ttsb-predefined-products .woocommerce ul.products.columns-6,
.ttsb-predefined-products .woocommerce ul.products.products-6,
.ttsb-predefined-products .woocommerce.columns-6 ul.products {
    grid-template-columns: repeat(6,minmax(0,1fr))
}
.ttsb-predefined-products ul.products li.product .add_to_cart_button{
    border-radius: 5px;
}

/* popular categories */
.ttsb-popular-categories,
.ttsb-top-categories{
    margin-bottom: 15px;
    padding: 30px 20px 20px;
}

.ttsb-popular-categories-header,
.ttsb-top-categories-header{
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    font-weight: 600;
    color: #333;
    margin-bottom: 10px;
}
.ttsb-popular-categories-list,
.ttsb-top-categories-list{
    margin: 0;
    padding: 0 !important;
    list-style: none;
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.ttsb-category img{
    border-radius: 7px;
    background-color: #f9f9f9;
    padding: 1px;
}
.ttsb-category a{
    text-decoration: none !important;
    color: #333;
    transition: all 400ms;
    text-align: center;
}
.ttsb-category span{
    display: block;
    font-size: 14px;
    font-weight: 400;
    color: #333;
    text-align: center;
}

@media(max-width: 570px){
    .ttsb-predefined-products .woocommerce ul.products.columns-2,
    .ttsb-predefined-products .woocommerce ul.products.products-2,
    .ttsb-predefined-products .woocommerce.columns-2 ul.products {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }
    .ttsb-predefined-products .woocommerce ul.products.columns-3,
    .ttsb-predefined-products .woocommerce ul.products.products-3,
    .ttsb-predefined-products .woocommerce.columns-3 ul.products {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }
    .ttsb-predefined-products .woocommerce ul.products.columns-4,
    .ttsb-predefined-products .woocommerce ul.products.products-4,
    .ttsb-predefined-products .woocommerce.columns-4 ul.products {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }
    .ttsb-predefined-products .woocommerce ul.products.columns-5,
    .ttsb-predefined-products .woocommerce ul.products.products-5,
    .ttsb-predefined-products .woocommerce.columns-5 ul.products {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }
    .ttsb-predefined-products .woocommerce ul.products.columns-6,
    .ttsb-predefined-products .woocommerce ul.products.products-6,
    .ttsb-predefined-products .woocommerce.columns-6 ul.products {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }
}


/* CSS Spinner */
.ttsb-spinner {
    width: 20px;
    height: 20px;
    border: 2px solid #f3f3f3;
    border-top: 2px solid #0073aa;
    border-radius: 50%;
    animation: ttsb-spin 1s linear infinite;
    transition: all 0.3s ease;
}

.ttsb-spinner:hover {
    border-top-color: #005a87;
    transform: scale(1.1);
}

@keyframes ttsb-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.ttsb-search-no-results {
    padding: 15px;
    text-align: center;
    display: none;
    color: #666;
}

/* Responsive styles */
@media (max-width: 768px) {
    .ttsb-search-result-item {
        padding: 8px 10px;
    }
    
    .search-result-image {
        width: 40px;
        height: 40px;
        margin-right: 10px;
    }
    
    .ttsb-search-loading {
        right: 90px; /* Adjust position for smaller screens */
    }
    
    .ttsb-spinner {
        width: 16px;
        height: 16px;
        border-width: 1.5px;
    }
}

/* loadmore */
.ttsb-load-more-container{
    padding: 20px;
    text-align: center;
    position: sticky;
    bottom: 0;
    background-color: #fff;
    z-index: 10;
}
.ttsb-load-more-container button {
    padding: 10px 20px !important;
    color: #fff !important;
    background-color: #20c997;
    border-radius: 5px !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 12px !important;
    line-height: 1.3;
    transition: all 400ms;
}
.ttsb-load-more-container button:hover {
    background-color: #1a8f77;
    color: #fff;
}
.load-more-results {
    display: none;
    width: 100%;
    padding: 10px;
    margin-top: 10px;
    background-color: #f0f0f0;
    border: 1px solid #ddd;
    border-radius: 4px;
    cursor: pointer;
    text-align: center;
}

.load-more-results:hover {
    background-color: #e0e0e0;
}
.load-more-status{
    padding: 20px;
    text-align: center;
}
.load-more-spinner{
    display: none;
    margin-left: 10px;
}


/* popup */
body.ttsb-show-quick-view-popup {
    overflow: hidden;
}
.ttsb-product-popup {
    position: fixed;
    z-index: 9999;
    top: 0;
    right: -100%;
    width: 460px;
    height: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    transition: all 400ms;
}
.ttsb-show-quick-view-popup .ttsb-product-popup{
    right: 0;
}
.ttsb-product-popup-overlay {
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100vh; 
    background: rgba(0,0,0,0.5);
    transition: all 400ms;
    opacity: 0;
    visibility: hidden;
    transition-delay: 400ms;
    z-index: 1000;
}
.ttsb-show-quick-view-popup .ttsb-product-popup-overlay{
    opacity: 1;
    visibility: visible;
}
.ttsb-product-popup-content {
    position: relative;
    background: #fff; 
    padding: 0;
    width: 100%;
    height: 100vh; 
    overflow-y: auto;
}
.ttsb-product-popup-close {
    position: absolute; 
    top: 10px; 
    right: 20px; 
    font-size: 2rem; 
    cursor: pointer;
    z-index: 1;
}
.ttsb-product-popup-loader {
    text-align: center; font-size: 1.2rem; padding: 40px 0;
}
.ttsb-product-popup-body div.product div.images{
    position: relative;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}
.ttsb-product-popup-body div.product div.summary{
    width: 100% !important;
    float: none !important;
    padding: 20px;
}
.ttsb-product-popup-body div.product div.summary p.price,
.ttsb-product-popup-body div.product div.summary .product_title{
    margin: 0 0 10px 0 !important;
}
.ttsb-product-popup-body .woocommerce-product-gallery__wrapper a{
    pointer-events: none;
}


.ttsb-fly-cart-loader {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.ttsb-fly-cart-loader.active {
    opacity: 1;
    visibility: visible;
}

.ttsb-fly-cart-spinner {
    width: 40px;
    height: 40px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #007cba;
    border-radius: 50%;
    animation: ttsb-spin 1s linear infinite;
}

@keyframes ttsb-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
/* flex carousel */
.ttsb-product-popup-body .flex-direction-nav{
    list-style: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    display: flex;
    justify-content: space-between;
    z-index: 10;
    margin: 0;
    padding: 0 10px;
}
.ttsb-product-popup-body .flex-direction-nav a svg{
    border-radius: 50%;
    width: 30px;
    height: 30px;
    line-height: 30px;
}
.ttsb-product-popup-body .flex-direction-nav a:hover svg{
    background-color: #000000;
}
.ttsb-product-popup-body .flex-direction-nav a:hover svg path{
    fill: #ffffff;
}
.ttsb-product-popup-body .flex-control-nav{
    position: absolute;
    bottom: 20px;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 5px;
    z-index: 10;
    margin: 0;
    padding: 0;
}
.ttsb-product-popup-body .flex-control-nav li{
    list-style: none;
    margin: 0;
    padding: 0;
}
.ttsb-product-popup-body .flex-control-nav li a{
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #ffffff;
    border: 1px solid #000000;
    display: inline-block;
    text-indent: -999999px;
    transition: all 400ms;
}
.ttsb-product-popup-body .flex-control-nav li a.flex-active{
    background-color: #000000;
    border-color: #000000;
}

/* FlexSlider Touch/Swipe Support */
.flexslider {
    touch-action: pan-y pinch-zoom;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: grab;
}

.flexslider .slides {
    touch-action: pan-y pinch-zoom;
    cursor: grab;
}

.flexslider .slides li {
    touch-action: pan-y pinch-zoom;
    cursor: grab;
}

/* Mouse drag support for desktop */
.flexslider.grabbing {
    cursor: grabbing !important;
}

.flexslider .slides.grabbing {
    cursor: grabbing !important;
}

.flexslider .slides li.grabbing {
    cursor: grabbing !important;
}

/* Ensure touch events work on mobile */
@media (max-width: 768px) {
    .flexslider {
        touch-action: manipulation;
    }
    
    .flexslider .slides,
    .flexslider .slides li {
        touch-action: manipulation;
    }
}

/* slick gallery */
.ttsb-product-popup .woocommerce-js div.product div.images .woocommerce-product-gallery__image:nth-child(n+2){
    display: none;
}
.ttsb-product-popup .woocommerce-js div.product div.images .slick-initialized .woocommerce-product-gallery__image:nth-child(n+2){
    display: block;
}
.ttsb-quick-view-product-gallery{
    overflow: hidden;
}
.ttsb-quick-view-product-gallery .slick-slide img{
    width: 100% !important;
}

.ttsb-quick-view-product-gallery .slick-arrow{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    line-height: 30px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 1;
}
.ttsb-quick-view-product-gallery .slick-arrow.ttsb-gallery-prev{
    left: 10px;
    background-image: url("data:image/svg+xml,%3Csvg width='30px' height='30px' viewBox='0 0 32 32' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg id='icomoon-ignore'%3E%3C/g%3E%3Cpath d='M29.312 15.992c0-7.366-5.97-13.337-13.337-13.337s-13.337 5.97-13.337 13.337 5.97 13.337 13.337 13.337 13.337-5.97 13.337-13.337zM3.706 15.992c0-6.765 5.504-12.27 12.27-12.27s12.27 5.505 12.27 12.27-5.505 12.27-12.27 12.27c-6.765 0-12.27-5.505-12.27-12.27z' fill='%23000000'%3E%3C/path%3E%3Cpath d='M12.792 15.231l-0.754 0.754 6.035 6.035 0.754-0.754-5.281-5.281 5.256-5.256-0.754-0.754-3.013 3.013z' fill='%23000000'%3E%3C/path%3E%3C/svg%3E");
}
.ttsb-quick-view-product-gallery .slick-arrow.ttsb-gallery-next{
    right: 10px;
    background-image: url("data:image/svg+xml,%3Csvg width='30px' height='30px' viewBox='0 0 32 32' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg id='icomoon-ignore'%3E%3C/g%3E%3Cpath d='M2.639 15.992c0 7.366 5.97 13.337 13.337 13.337s13.337-5.97 13.337-13.337-5.97-13.337-13.337-13.337-13.337 5.97-13.337 13.337zM28.245 15.992c0 6.765-5.504 12.27-12.27 12.27s-12.27-5.505-12.27-12.27 5.505-12.27 12.27-12.27c6.765 0 12.27 5.505 12.27 12.27z' fill='%23000000'%3E%3C/path%3E%3Cpath d='M19.159 16.754l0.754-0.754-6.035-6.035-0.754 0.754 5.281 5.281-5.256 5.256 0.754 0.754 3.013-3.013z' fill='%23000000'%3E%3C/path%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Search Highlight Styling */
.search-highlight {
    color: #333;
    font-weight: bold;
    padding: 0;
}

/* Alternative highlight styles you can use */
.search-highlight.primary {
    background-color: #2196F3;
    color: white;
}

.search-highlight.success {
    background-color: #4CAF50;
    color: white;
}

.search-highlight.warning {
    background-color: #FF9800;
    color: white;
}

.search-highlight.danger {
    background-color: #F44336;
    color: white;
}

.ttsb-ajax-quick-view{
    cursor: pointer;
    font-size: 12px;
    color: #000;
    text-decoration: underline;
}

/* Trending searches */
.ttsb-trending-searches {
    padding: 30px 20px 20px;
}

.ttsb-trending-searches-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    font-weight: 600;
    color: #333;
}

.trending-icon {
    font-size: 14px;
}

.ttsb-trending-searches-terms {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ttsb-trending-search-item {
    background: linear-gradient(135deg, #ff6b6b, #ff8e8e);
    color: white;
    padding: 6px 12px;
    border-radius: 15px;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    box-shadow: 0 2px 4px rgba(255, 107, 107, 0.2);
}

.ttsb-trending-search-item:hover {
    background: linear-gradient(135deg, #ff5252, #ff7676);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(255, 107, 107, 0.3);
}

.search-count {
    font-size: 10px;
    opacity: 0.8;
    font-weight: normal;
}

/* Related Categories with Breadcrumb */
.ttsb-category-list .category-filters{
    padding: 15px;
}
.ttsb-category-list .category-filters h2,
.ttsb-tag-list .tag-filters h2{
    font-size: 16px;
    font-weight: 500;
    margin: 0 0 5px;
}
.ttsb-tag-list .tag-filters{
    padding: 15px;
}
.ttsb-category-list .category-filters .category-links{
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.ttsb-tag-list .tag-filters .tag-links{
    flex-direction: row;
    flex-wrap: wrap;
    gap: 5px;
    display: flex;
    align-items: center;
    line-height: 1;
}
.ttsb-category-list .category-item,
.ttsb-tag-list .tag-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ttsb-category-list .category-item .ttsb-category-filter,
.ttsb-tag-list .ttsb-tag-filter{
    font-weight: 500;
    color: #333;
    text-decoration: none !important;
    font-size: 13px;
    padding: 0 !important;
}

.ttsb-category-list .category-item .ttsb-category-filter:hover,
.ttsb-tag-list .ttsb-tag-filter:hover {
    text-decoration: underline;
}

.ttsb-category-list .category-breadcrumb,
.ttsb-tag-list .tag-breadcrumb {
    font-size: 11px;
    color: #8b8b8b;
    margin-left: 0;
    line-height: 1.2;
}

.ttsb-category-list .category-count,
.ttsb-tag-list .tag-count {
    font-size: 12px;
    color: #666;
    font-weight: normal;
    margin-left: 4px;
}

/* Shop quick view */
.ttsb-quickview-on-image{
    position: relative;
}
.ttsb-quickview-shop .ttsb-ajax-quick-view{
    display: flex;
    gap: 5px;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    max-width: 110px;
    margin: 10px auto;
}
.ttsb-quickview-shop .ttsb-ajax-quick-view svg,
.ttsb-quickview-shop .ttsb-ajax-quick-view img{
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
}
.ttsb-quickview-on-image .ttsb-ajax-quick-view{
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
    z-index: 10 !important;
    margin: 0 !important;
}
.ttsb-ajax-quick-view.ttsb_icon_before_text,
.ttsb-ajax-quick-view.ttsb_icon_after_text,
.ttsb-ajax-quick-view.ttsb_icon_only,
.ttsb-ajax-quick-view.ttsb_text_only{
    background-color: #ffffff !important;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.15);
    padding: 5px 10px;
    border-radius: 20px;
    font-size: 12px;
    color: #000;
    text-decoration: none !important;
    transition: all 0.3s ease;
    cursor: pointer;
}



/* Theme compatibility */

/* Theme Astra */
@media (min-width: 768px) {
    .ttsb-astra-theme .ttsb-predefined-products ul.products.columns-3 li.product,
    .ttsb-astra-theme .ttsb-predefined-products ul.products.columns-4 li.product{
        width: 100%;
        float: none;
        margin-right: 0;
    }
}
.ttsb-astra-theme .ttsb-ajax-quick-view.ttsb_icon_only{
    width: 32px;
    height: 32px;
    line-height: 32px;
    padding: 0;
    align-items: center;
    justify-content: center;
    padding: 7px;

}
/* Theme Avada */
.ttsb-avada-theme .fusion-menu .ttsb-search-wrapper{
    height: 100%;
    display: flex;
    align-items: center;
}

.ttsb-avada-theme .fusion-menu .ttsb-searchbar-layout2 .ttsb-search-container{
    top: 80px;
    z-index: 1;
}
.ttsb-avada-theme .fusion-main-menu{
    overflow: visible !important;
}

/* cart quantity fix */
.ttsb-avada-theme .ttsb-fly-cart-item-quantity .quantity{
    display: contents;
}
.ttsb-avada-theme .ttsb-fly-cart-item-quantity .quantity input[type="button"]{
    display: none;
}

@media(max-width: 800px){
    .ttsb-avada-theme .fusion-menu .ttsb-search-wrapper{
        height: var(--mobile_menu_nav_height);
        padding-left: 12px;
    }
    .ttsb-avada-theme .fusion-menu .ttsb-searchbar-layout2 .ttsb-search-container{
        top: 50px;
        left: 0;
    }
    .ttsb-avada-theme .fusion-menu .ttsb-searchbar-layout2 .ttsb-search-container::before {
        right: auto;
        left: 20px;
    }
    .ttsb-avada-theme .ttsb-search-result-container{
        right: auto;
        left: 0;
        min-width: 100%;
    }
    .products .fusion-product-wrapper a{
        height: auto !important
    }
}

/* Theme BeTheme */
.ttsb-betheme-theme .menu_wrapper .ttsb-search-wrapper{
    display: flex;
    align-items: center;
    padding: 15px 20px;
    height: 90px;
}
.ttsb-betheme-theme .menu_wrapper .ttsb-searchbar-layout2 .ttsb-search-container {
    top: 80px;
    right: 0px;
}
.ttsb-betheme-theme .ttsb-search-wrapper .ttsb-searchinput-wrapper .ttsb-search-input{
    margin: 0;
}

.ttsb-betheme-theme .ttsb-predefined-products .woocommerce ul.products{
    display: grid !important;
    background-color: transparent !important;
}
.ttsb-betheme-theme .ttsb-predefined-products ul.products li a{
    padding: 0 !important;
}

.ttsb-betheme-theme .menu-item-ttsb-menu-cart .ttsb-menu-cart {
    margin: 0;
    height: 90px;
    display: flex;
    align-items: center;
}


/* Theme Storefront */
.theme-storefront .widget_product_search form:not(.wp-block-search) input[type=text]{
    padding: 16px 20px 16px 20px;
}
.theme-storefront .widget_product_search .ttsb-search-wrapper form::before{
    display: none;
}
.theme-storefront .widget_product_search form:not(.wp-block-search) button[type=submit]{
    position: static;
    width: auto;
    height: auto;
    clip: inherit;
    clip-path: inherit;
    margin: 0;
    border-radius: 5px;
}