/* Hero Banner */
.shop-hero { height: 400px; position: relative; }
.shop-hero .hero-img { width: 100%; height: 100%; object-fit: cover; }
.shop-hero .hero-overlay { position: absolute; top:0; left:0; width:100%; height:100%; background: rgba(0,0,0,0.3); display:flex; justify-content:center; align-items:center; }
.shop-hero .form-control { border-radius: 50px; padding: 15px 20px; font-size: 16px; }
.shop-hero .btn-info { border-radius: 50px; padding: 15px 25px; }

/* Sidebar */
.filter-box { background:#fff; border-radius:10px; margin-bottom:15px; }
.filter-box h5 { border-bottom:1px solid #eee; padding-bottom:8px; margin-bottom:10px; font-weight:bold; }
.category-tree .list-group-item { border:none; padding:5px 5px; position:relative; }
/*.category-tree .category-link { color:#333; text-decoration:none; font-weight:500; }*/
.category-tree .category-link:hover { color:#003366; }
.toggle-btn { border:none; background:transparent; font-size:18px; cursor:pointer; color:#31D2F2; padding:0 5px; }
.category-tree .list-group-item { 
    border: none; 
    padding: 0; 
}

.category-tree .category-link { 
    color: #333; 
    text-decoration: none; 
    font-weight: 500; 
    display: block; 
    width: 100%; 
    padding: 10px 15px; 
    border-radius: 5px; 
    transition: background 0.3s, color 0.3s; 
}

.category-tree .category-link:hover { 
    background-color: #f1f1f1;
    color: #003366;
}

.category-tree .category-link.active { 
    background-color: #31D2F2; 
    color: #fff; 
    font-weight: 600;
}

.toggle-btn { 
    border: none; 
    background: transparent; 
    font-size: 18px; 
    cursor: pointer; 
    color: #31D2F2; 
    padding: 0 5px; 
    flex-shrink: 0; 
}


/* Product Cards */
.product-card { border:1px solid #eee; border-radius:10px; overflow:hidden; transition: all 0.3s ease-in-out; background:#fff; }
.product-card:hover { transform: translateY(-5px); box-shadow: 0 6px 20px rgba(0,0,0,0.15); }
.product-card img { height: 250px; object-fit: cover; }
