/* Basic reset & fonts */
*{box-sizing:border-box}
body { background: #f9f6f1; color:#333; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
.th-container { max-width:1200px; margin:20px auto; padding:20px; }

/* Header search */
.th-search-container { text-align:center; margin-bottom:18px; }
.th-search-box { display:inline-flex; width:80%; max-width:600px; }
.th-search-box input { 
    flex: 1;
    padding: 11px 20px;
    border: none;
    border-radius: 30px 0 0 30px !important;
    font-size: 1rem;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1) !important;
    height: 100%;
     }
.th-search-box button { padding:14px 20px; background:#074429; color:#fff; border:none; border-radius:0 30px 30px 0; cursor:pointer; }

/* layout */
.th-shop-content { display:flex; gap:30px; align-items:flex-start; padding-bottom: 60px;}
.th-filters { width:300px; background:#fff; padding:22px; border-radius:10px; box-shadow:0 4px 12px rgba(0,0,0,0.06); }
.th-products { flex:1; }

/* filter groups */
.filter-group { margin-bottom:10px; border-bottom:1px solid #eee; padding-bottom:10px; }
.filter-group h3 { color:#4a7c5f; margin-bottom:15px; font-size:1.2rem; }
.filter-options { display:flex; flex-direction:column; gap:4px; }
.filter-option { display:flex; align-items:center; gap:8px; font-size:14px; font-weight: 100; cursor: pointer;}

/* product grid & cards */
.products-grid { display:grid; grid-template-columns: repeat(auto-fill,minmax(250px,1fr)); gap:24px; }
.product-card { background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 4px 8px rgba(0,0,0,0.08); transition:transform .25s }
.product-card:hover{ transform: translateY(-6px); box-shadow:0 8px 18px rgba(0,0,0,0.12); }
.product-img{ background:#f1f1f1; height: 100%;}
.product-name a{ 
    margin-bottom: 10px;
    color: #4a7c5f;
}
h3.product-name{
    padding-bottom: 20px;
    height:70px;
}
.product-reviw {
    display: flex;
    justify-content: space-between;
}
.product-description{ color:#666; font-size:13px; margin-bottom:12px; }
.product-price-th { 
    font-weight: bold;
    color: #4a7c5f;
    font-size: 1.3rem;
    margin-bottom: 0px;
     }
.product-rating i { color:#f0b429; margin-right:2px; }

/* no products */
.no-products{ padding:30px; text-align:center; background:#fff; border-radius:10px; box-shadow:0 4px 12px rgba(0,0,0,0.06); grid-column:1/-1 }
.no-products i{ font-size:36px; color:#ddd; margin-bottom:12px; display:block; }

/* responsiveness */
@media(max-width:768px) {
    .th-shop-content{ flex-direction:column; }
    .th-filters{ width:100%; order:2; }
    .th-products{ order:1; }
    .section-product-th {
    width: 100% !important;
   }
}
/* Pagination */
.th-pagination {
  margin: 30px 0;
  text-align: center;
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.th-pagination .th-page-link a,
.th-pagination .th-page-link span {
  display: inline-block;
  padding: 10px 16px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  color: #333;
  text-decoration: none;
  font-size: 14px;
  transition: all 0.3s ease;
}

.th-pagination .th-page-link a:hover {
  background: #4a7c5f;
  color: #fff;
}

.th-pagination .th-page-link .current {
  background: #4a7c5f;
  color: #fff;
  font-weight: 600;
  box-shadow: 0 3px 8px rgba(0,0,0,0.12);
}

.section-shop-th {
    background: #e3f2e7;
}
.th-search-box input:hover {
    border: 1px solid #1d6531;
}
.price-range {
    -webkit-appearance: auto !important;
    margin: 10px 0px !important;
        accent-color: #4a7c5f;
}
.price-values {
    display: flex;
    justify-content: space-between;
    margin-top: 5px;
    font-size: 0.9rem;
    color: #666;
}
.rating-stars {
    color: #ffc107;
    font-size: 0.9rem;
}
button#th-reset-filters {
    background: #4a7c5f;
    color: white;
    border: none;
    padding: 12px 20px;
    border-radius: 5px;
    width: 100%;
    cursor: pointer;
    margin-top: 10px;
    font-weight: 100;
}

