/* BV Algolia Filters CSS */

/* === ΦΙΛΤΡΑ STYLING === */
#bv-algolia-filters-root {
    margin-bottom: 20px;
}

.bvaf-filter-container {
    border: 1px solid #ddd;
    border-radius: 5px;
    margin-bottom: 15px;
    padding: 0;
    background: #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}

/* Κρυμμένα φίλτρα δεν καταλαμβάνουν χώρο */
.bvaf-filter-container[style*="display: none"],
.bvaf-filter-hidden {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
}

/* Εμφανή φίλτρα */
.bvaf-filter-container:not(.bvaf-filter-hidden) {
    opacity: 1 !important;
    transition: opacity 0.3s ease !important;
}

.bvaf-filter-header {
    background: #f8f9fa;
    color: #333;
    padding: 12px 15px;
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    border-bottom: 1px solid #ddd;
    border-radius: 5px 5px 0 0;
}

.bvaf-refinement-container {
    max-height: 200px;
    overflow-y: auto;
    padding: 10px 15px;
    -webkit-overflow-scrolling: touch; /* iOS smooth scroll */
}

/* (removed scroll hint styles) */

.bvaf-refinement-container .ais-RefinementList-item {
    margin-bottom: 8px;
    padding: 4px 0;
}

.bvaf-refinement-container .ais-RefinementList-label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 14px;
    color: #555;
}

/* Checkbox removed - no longer needed */

.bvaf-refinement-container .ais-RefinementList-labelText {
    flex: 1;
}

.bvaf-refinement-container .ais-RefinementList-count {
    background: #e9ecef;
    color: #6c757d;
    padding: 2px 6px;
    border-radius: 10px;
    font-size: 12px;
    margin-left: 8px;
}

/* === TERM IMAGES STYLING === */
:root {
    --bvaf-thumbnail-size: 32px;
}

.bvaf-term-item {
    display: flex;
    align-items: center;
    flex: 1;
}

.bvaf-term-thumbnail-container {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--bvaf-thumbnail-size);
    height: var(--bvaf-thumbnail-size);
    flex-shrink: 0;
    margin-right: 8px;
}

.bvaf-term-thumbnail {
    width: var(--bvaf-thumbnail-size);
    height: var(--bvaf-thumbnail-size);
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid #ddd;
    background: #f8f9fa;
    flex-shrink: 0;
    display: block; /* Πάντα visible */
    transition: all 0.2s ease;
}

/* Placeholder styling - δείχνει όταν χρησιμοποιεί το default logo */
.bvaf-term-thumbnail[data-placeholder="true"] {
    opacity: 0.7;
    border-style: solid;
    border-color: #ccc;
    background: #f8f9fa;
}

/* Loaded image styling - δείχνει όταν έχει φορτώσει η πραγματική εικόνα */
.bvaf-term-thumbnail:not([data-placeholder]) {
    opacity: 1;
    border-style: solid;
    border-color: #ddd;
}

/* Hover effect για τις εικόνες */
.bvaf-refinement-container .ais-RefinementList-label:hover .bvaf-term-thumbnail {
    border-color: #0073aa;
    transform: scale(1.05);
    transition: all 0.2s ease;
}

/* Διαφορετικό hover για placeholders - με το default logo */
.bvaf-refinement-container .ais-RefinementList-label:hover .bvaf-term-thumbnail[data-placeholder="true"] {
    border-color: #0073aa;
    opacity: 0.9;
    transform: scale(1.05);
}

/* Selected/Active filter styling - μαύρο background, λευκή γραμματοσειρά */
.bvaf-refinement-container .ais-RefinementList-label.ais-RefinementList-label--selected {
    background-color: #000 !important;
    color: #fff !important;
    border-radius: 5px;
    padding: 8px 12px;
    margin: 2px 0;
}

.bvaf-refinement-container .ais-RefinementList-label.ais-RefinementList-label--selected .ais-RefinementList-labelText {
    color: #fff !important;
}

.bvaf-refinement-container .ais-RefinementList-label.ais-RefinementList-label--selected .ais-RefinementList-count {
    background: #333 !important;
    color: #fff !important;
}

/* Hover effect για selected items */
.bvaf-refinement-container .ais-RefinementList-label.ais-RefinementList-label--selected:hover {
    background-color: #333 !important;
    transform: scale(1.02);
    transition: all 0.2s ease;
}

/* Selected items έχουν λευκό border στις εικόνες */
.bvaf-refinement-container .ais-RefinementList-label.ais-RefinementList-label--selected .bvaf-term-thumbnail {
    border-color: #fff !important;
}

/* Fallback styling για terms χωρίς εικόνες */
.bvaf-term-item:not(:has(.bvaf-term-thumbnail)) .ais-RefinementList-labelText {
    margin-left: 32px; /* Ίδιο spacing με τα terms που έχουν εικόνες */
}

/* Alternative fallback για browsers που δεν υποστηρίζουν :has() */
.bvaf-term-item .ais-RefinementList-labelText {
    margin-left: 0;
}

/* Scroll styling */
.bvaf-refinement-container::-webkit-scrollbar {
    width: 6px;
}

.bvaf-refinement-container::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

.bvaf-refinement-container::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 3px;
}

.bvaf-refinement-container::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

/* === ΠΡΟΪΟΝΤΑ STYLING === */

/* Όταν ΔΕΝ υπάρχουν Algolia προϊόντα - κανονικό WooCommerce grid */
body:not(.bv-algolia-active) .woocommerce ul.products,
body:not(.bv-algolia-active) .woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

/* Όταν υπάρχουν Algolia προϊόντα - το parent container είναι block */
body.bv-algolia-active .woocommerce ul.products,
body.bv-algolia-active .woocommerce-page ul.products {
    display: block !important;
    width: 100% !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* InstantSearch containers - Infinite Hits */
.ais-InfiniteHits {
    display: contents !important;
    width: 100% !important;
}

.ais-InfiniteHits-list {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
    width: 100% !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    grid-column: 1 / -1 !important;
}

/* Product items styling */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.ais-InfiniteHits-item,
.ais-InfiniteHits-list .ais-InfiniteHits-item,
ul.products .ais-InfiniteHits-item {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    min-height: 300px !important;
}

.ais-InfiniteHits-item {
    list-style: none !important;
    position: relative !important;
}

/* Κρύβουμε τα αρχικά WooCommerce προϊόντα όταν τα Algolia είναι ενεργά */
body.bv-algolia-active ul.products li.product:not(.ais-InfiniteHits-item) {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    left: -9999px !important;
}

/* Εμφανίζουμε μόνο τα Algolia προϊόντα */
body.bv-algolia-active ul.products li.product.ais-InfiniteHits-item {
    display: flex !important;
    visibility: visible !important;
    position: relative !important;
    left: auto !important;
}

/* Fallback: Εμφανίζουμε όλα τα προϊόντα αν δεν υπάρχει η κλάση bv-algolia-active */
body:not(.bv-algolia-active) ul.products li.product {
    display: flex !important;
    visibility: visible !important;
    position: relative !important;
    left: auto !important;
}

/* === RESPONSIVE DESIGN === */

/* Tablet - 3 στήλες */
@media (max-width: 768px) {
    body:not(.bv-algolia-active) .woocommerce ul.products,
    body:not(.bv-algolia-active) .woocommerce-page ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 15px !important;
    }
    
    .ais-InfiniteHits-list {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 15px !important;
    }
    
    .bvaf-filter-container {
        margin-bottom: 10px;
    }
    
    .bvaf-filter-header {
        font-size: 14px;
        padding: 10px 12px;
    }
    
    .bvaf-refinement-container {
        max-height: 180px;
        padding: 8px 12px;
    }
}

/* Mobile - 2 στήλες */
@media (max-width: 480px) {
    body:not(.bv-algolia-active) .woocommerce ul.products,
    body:not(.bv-algolia-active) .woocommerce-page ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }
    
    .ais-InfiniteHits-list {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px !important;
    }
}

/* === INFINITE SCROLL STYLING === */

/* Load More Button */
.bv-load-more-button {
    display: block !important;
    width: 100% !important;
    max-width: 300px !important;
    margin: 30px auto !important;
    padding: 15px 30px !important;
    background: #0073aa !important;
    color: white !important;
    border: none !important;
    border-radius: 5px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    text-align: center !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}

.bv-load-more-button:hover {
    background: #005a87 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.15) !important;
}

.bv-load-more-button:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}

/* Disabled Load More Button */
.bv-load-more-disabled {
    background: #ccc !important;
    color: #666 !important;
    cursor: not-allowed !important;
    opacity: 0.6 !important;
}

.bv-load-more-disabled:hover {
    background: #ccc !important;
    transform: none !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}

/* Infinite Hits Container */
.ais-InfiniteHits {
    width: 100% !important;
}

/* Loading Animation */
.ais-InfiniteHits-loadMore {
    text-align: center !important;
    margin-top: 30px !important;
}

/* Empty State */
.ais-InfiniteHits-empty {
    text-align: center !important;
    padding: 40px 20px !important;
    color: #666 !important;
    font-size: 18px !important;
}

.bvaf-terms-under-image {
  text-align: center;
  margin: -5px 10px;
  color: #959595;
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 3px;
}

.ais-InfiniteHits-item .add_to_cart_button {
  margin-bottom: 10px !important;
  padding: 10px !important;
}

/* === SEARCH BOX IN FILTERS === */

.bvaf-search-container {
    margin-bottom: 15px !important;
}




.bvaf-search-container .ais-SearchBox-input {
    width: 100% !important;
    border-radius: 6px !important;
    font-weight: bolder;
}

.bvaf-search-container .ais-SearchBox-input:focus {
    outline: none !important;
    border-color: #0073aa !important;
    box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.1) !important;
}

/* === SORT BY WIDGET STYLING === */

.bv-algolia-sort-container {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 20px !important;
    padding: 15px !important;
    background: #f8f9fa !important;
    border-radius: 6px !important;
    border: 1px solid #e9ecef !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}



.bv-algolia-sort-container label {
    font-weight: 600 !important;
    color: #495057 !important;
    margin: 0 !important;
    white-space: nowrap !important;
    font-size: 14px !important;
}

.ais-SortBy {
    flex: 1 !important;
    max-width: 250px !important;
}

.ais-SortBy-select {
    width: 100% !important;
    padding: 8px 12px !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 4px !important;
    background: white !important;
    font-size: 14px !important;
    color: #495057 !important;
    cursor: pointer !important;
}

.ais-SortBy-select:focus {
    outline: none !important;
    border-color: #0073aa !important;
    box-shadow: 0 0 0 2px rgba(0, 115, 170, 0.1) !important;
}

.ais-SortBy-select:hover {
    border-color: #adb5bd !important;
}

.ais-SortBy-select option {
    padding: 5px !important;
    font-size: 14px !important;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .bv-algolia-sort-container {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
        padding: 12px !important;
    }
    
    .ais-SortBy {
        max-width: 100% !important;
        width: 100% !important;
    }
    
    .bv-algolia-sort-container label {
        font-size: 13px !important;
    }
    
    .ais-SortBy-select {
        font-size: 13px !important;
        padding: 10px !important;
    }
}

/* === Current Refinements (minimal) === */
.ais-CurrentRefinements-label { 
    display: none !important; }
.bv-cr-list { 
    display: flex !important; 
    flex-wrap: wrap !important; 
    gap: 8px !important; 
    list-style: none !important; 
    margin: 0 0 12px 0 !important; 
}
.bv-cr-chip { 
    padding-left: 10px;
    border-radius: 999px !important; 
    background: #eeeeee !important; 
    border: 1px solid #e0e0e0 !important; 
    color: #222 !important; }
.bv-cr-chip .ais-CurrentRefinements-value { 
    margin-right: 2px !important; }
.bv-cr-chip-delete { 
    background: transparent !important; 
    color: inherit !important; 
    padding: 10px;
}