/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
    Add your custom styles here
*/
/* Smooth zoom effect */
.woocommerce ul.products li.product a img {
    transition: transform 0.4s ease;
}

/* Slight zoom on hover */
.woocommerce ul.products li.product:hover a img {
    transform: scale(1.05); /* adjust 1.02–1.08 for subtlety */
}

.custom-filter-details {
  border-bottom: 1px solid rgba(0,0,0,0.08);
  padding: 8px 0;
}

.custom-filter-summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 700;
  padding: 6px 0;
}

.custom-filter-summary::-webkit-details-marker {
  display: none;
}

.custom-filter-summary-icon::before {
  content: "+";
  font-weight: 900;
  display: inline-block;
  width: 18px;
  text-align: center;
}

.custom-filter-details[open] .custom-filter-summary-icon::before {
  content: "–";
}

.custom-filter-list {
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}

.custom-filter-list li {
  margin: 6px 0;
}

.custom-filter-list li a {
  color: #EC2027;
}

.custom-filter-list li a:hover, .custom-filter-list li a:active, .custom-filter-list li a:focus {
  color: #59595B;
}

ul.products li.product .button {
  width: 100%;
}

/* =====================================
   Woo Product Grids (Archives + Related)
   4 → 2 → 1 layout
   ===================================== */

/* Large screens */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}

/* Remove Woo floats */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
}

/* Tablet / laptop / mobile landscape */
@media (max-width: 1366px){
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Mobile portrait */
@media (max-width: 767px){
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================
   ARCHIVE PRODUCT GRID ONLY
   Desktop: 4 max
   <= 1366: 2
   <= 767: 1
   ========================================= */

body:not(.single-product).woocommerce ul.products,
body:not(.single-product).woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;  /* 4 across MAX */
  gap: 20px !important;
}

body:not(.single-product).woocommerce ul.products li.product,
body:not(.single-product).woocommerce-page ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
}

/* Everything else (tablet + mobile landscape etc.) = 2 across */
@media (max-width: 1366px) {
  body:not(.single-product).woocommerce ul.products,
  body:not(.single-product).woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Mobile portrait only = 1 across */
@media (max-width: 767px) {
  body:not(.single-product).woocommerce ul.products,
  body:not(.single-product).woocommerce-page ul.products {
    grid-template-columns: 1fr !important;
  }
}

ul.products::before,
ul.products::after {
    display: none !important;
    content: none !important;
}

/* =========================================
   Dynamic Product Search
========================================= */

.dynamic-product-search-wrapper {
    position: relative;
    width: 100%;
}

.dynamic-product-search-input {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #dcdcdc;
    border-radius: 6px;
    background: #fff;
    font-size: 16px;
}

.dynamic-product-search-results {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: #fff;
    border: 1px solid #dcdcdc;
    border-top: none;
    z-index: 999999;
    max-height: 500px;
    overflow-y: auto;
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}

.dynamic-search-results-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.dynamic-search-result-item {
    border-bottom: 1px solid #f1f1f1;
}

.dynamic-search-result-item:last-child {
    border-bottom: none;
}

.dynamic-search-result-item a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    text-decoration: none;
    background: #fff;
    transition: background 0.2s ease;
}

.dynamic-search-result-item a:hover {
    background: #f8f8f8;
}

.dynamic-search-thumb {
    width: 50px;
    height: 50px;
    object-fit: contain;
    background: #fff;
    flex-shrink: 0;
}

.dynamic-search-title {
    color: #333;
    font-size: 14px;
    line-height: 1.4;
}

.dynamic-search-loading,
.dynamic-search-no-results {
    padding: 14px;
    background: #fff;
    font-size: 14px;
    color: #666;
}

.dynamic-product-search-wrapper,
.dynamic-product-search-results {
    position: relative;
    z-index: 2000;
}

.dynamic-product-search-results {
    position: absolute;
}