@-webkit-keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.aws-container .aws-search-form{position:relative;width:100%;float:none!important;display:-webkit-box!important;display:-moz-box!important;display:-ms-flexbox!important;display:-webkit-flex!important;display:flex!important;align-items:stretch;height:44px}.aws-container .aws-search-form *,.aws-search-result{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;-moz-hyphens:manual;-webkit-hyphens:manual;hyphens:manual;border-radius:0!important}.aws-container .aws-search-form .aws-loader,.aws-container .aws-search-form .aws-loader:after{border-radius:50%!important;width:20px;height:20px}.aws-container .aws-search-form .aws-wrapper{flex-grow:1;position:relative;vertical-align:top;padding:0;width:100%;overflow:hidden}.aws-container .aws-search-form .aws-loader{position:absolute;display:none;right:10px;top:50%;z-index:999;margin:-10px 0 0;font-size:10px;text-indent:-9999em;border-top:3px solid #ededed;border-right:3px solid #ededed;border-bottom:3px solid #ededed;border-left:3px solid #555}.aws-container .aws-search-form.aws-processing .aws-loader{display:block;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:load8 .7s infinite linear;animation:load8 .7s infinite linear}.aws-container .aws-search-label{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.aws-container .aws-search-field{width:100%;max-width:100%;color:#313131;padding:6px;line-height:30px;display:block;font-size:12px;position:relative;z-index:2;-webkit-appearance:none;height:100%;margin:0!important;border:1px solid #d8d8d8;outline:0}@media screen and (-webkit-min-device-pixel-ratio:0) and (max-width:1024px){.aws-container .aws-search-field{font-size:16px}}.aws-container .aws-search-field::-ms-clear{display:none;width:0;height:0}.aws-container .aws-search-field::-ms-reveal{display:none;width:0;height:0}.aws-container .aws-search-field::-webkit-search-cancel-button,.aws-container .aws-search-field::-webkit-search-decoration,.aws-container .aws-search-field::-webkit-search-results-button,.aws-container .aws-search-field::-webkit-search-results-decoration{display:none}.aws-container .aws-search-field:focus{background-color:#fff}.aws-container .aws-show-clear .aws-search-field{padding-right:40px}.aws-container .aws-search-field:focus::-webkit-input-placeholder{color:transparent}.aws-container .aws-search-field:focus:-moz-placeholder{color:transparent}.aws-container .aws-search-field:focus::-moz-placeholder{color:transparent}.aws-container .aws-search-field:focus:-ms-input-placeholder{color:transparent}.aws-container .aws-search-form .aws-search-clear{display:none!important;position:absolute;top:0;right:0;z-index:2;cursor:pointer;color:#757575;height:100%;width:38px;padding:0 0 0 10px;text-align:left}.aws-container .aws-search-form .aws-search-clear span{position:relative;display:block;font-size:24px;line-height:24px;top:50%;margin-top:-12px}.aws-container .aws-search-form.aws-show-clear.aws-form-active .aws-search-clear{display:block!important}.aws-container .aws-search-form.aws-form-active.aws-processing .aws-search-clear{display:none!important}.aws-container .aws-search-form .aws-search-btn{padding:0;line-height:10px;width:42px}.aws-container .aws-search-form .aws-search-btn_icon{display:inline-block;fill:currentColor;height:24px;line-height:24px;position:relative;width:42px;color:#555}.aws-container .aws-search-form .aws-search-btn svg{display:block;height:100%;width:100%}.aws-container[data-show-page=false] .aws-search-form .aws-search-btn:hover{background:#ededed;cursor:default}.aws-container .aws-search-form .aws-form-btn{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;justify-content:center;flex-direction:column;text-align:center;background:#ededed;border:1px solid #d8d8d8;margin:0 0 0-1px;cursor:pointer;position:relative;white-space:nowrap;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:background-color 100ms ease-in-out;-moz-transition:background-color 100ms ease-in-out;-o-transition:background-color 100ms ease-in-out;transition:background-color 100ms ease-in-out}.aws-container .aws-search-form .aws-form-btn:hover{background:#dcdcdc}.aws-container .aws-search-form .aws-form-btn:active{background:#d8d8d8}.aws-container[data-buttons-order="3"] .aws-search-form .aws-wrapper{-webkit-order:2;order:2}.aws-container[data-buttons-order="3"] .aws-search-form .aws-search-btn{margin:0-1px 0 0}.aws-search-result{position:absolute;text-align:left;z-index:9999999999999;background:#fff;width:100%;margin-top:-1px;border:1px solid #ccc;font-size:12px;line-height:16px}.aws-search-result ul{list-style:none;padding:0!important;margin:0!important;max-height:400px;overflow-y:auto}.aws-search-result ul::-webkit-scrollbar-track{-webkit-box-shadow:none;background-color:#ededed}.aws-search-result ul::-webkit-scrollbar{width:7px;background-color:#ededed}.aws-search-result ul::-webkit-scrollbar-thumb{background-color:#d8d8d8}.aws-search-result ul li{list-style:none;border-bottom:1px solid #ccc;overflow:hidden;margin:0!important;position:relative}.aws-search-result ul li:last-child{border-bottom:0}.aws-search-result .aws_result_link{display:block;cursor:pointer;padding:10px 8px;height:100%;overflow:hidden;text-decoration:none;border:0}.aws-search-result .aws_top_text{width:100%;padding:10px 8px;border-bottom:1px solid #ccc}.aws-search-result .aws_result_item.hovered,.aws-search-result .aws_result_item:hover,.aws-search-result .aws_search_more a:hover{background:#f5f5f5}.aws-search-result .aws_results .aws_result_item{position:relative}.aws-search-result .aws_result_item .aws_result_link_top{position:absolute;z-index:1;white-space:nowrap;text-indent:-9999px;overflow:hidden;top:0;bottom:0;left:0;right:0;opacity:0;outline:0;text-decoration:none}.aws-search-result .aws_result_item [data-link],.aws-search-result .aws_result_item a,.aws-search-result .aws_result_item button,.aws-search-result .aws_result_item span[href]{position:relative;z-index:2}.aws-search-result .aws_result_content{overflow:hidden;display:block}.aws-search-result .aws_result_title{display:block;font-weight:400;margin-bottom:3px;color:#21759b}.aws-search-result .aws_result_featured{margin:0 6px 0 0;position:relative;top:-2px;left:3px}.aws-search-result .aws_result_featured svg{width:13px;height:13px;fill:#fa0;vertical-align:bottom}.aws-search-result .aws_result_sku,.aws-search-result .aws_result_stock{display:block;font-weight:400;margin-top:4px;margin-bottom:5px;color:#7ad03a}.aws-search-result .aws_result_stock.out{color:#a44}.aws-search-result .aws_result_sku{margin-top:3px;color:#222}.aws-search-result .aws_result_cat .aws_result_title,.aws-search-result .aws_result_tag .aws_result_title{margin-bottom:2px}.aws-search-result .aws_result_excerpt{display:block;color:#222}.aws-search-result .aws_result_price{display:block;padding:2px 0;color:#222}.aws-search-result .aws_result_price del{background:0 0;padding:0 12px 0 0;opacity:.8;text-decoration:line-through!important}.aws-search-result .aws_result_price ins{background:0 0;padding:0 12px 0 0;opacity:1}.aws-search-result .aws_result_cats{display:block;float:left;margin:0 20px 0 0}.aws-search-result .aws_result_image{display:block;height:100%;float:left;padding:0 10px 0 0}.aws-search-result .aws_result_image img{width:50px;height:auto;box-shadow:none}.aws-search-result .aws_result_sale{display:block;height:42px;overflow:hidden;position:absolute;right:0;top:0;width:47px}.aws-search-result .aws_onsale{background:#77a464 0 0;color:#fff;display:block;float:right;height:20px;padding-top:2px;position:relative;right:-25px;text-align:center;top:3px;transform:rotate(45deg);width:77px}.aws-search-result .aws_no_result{line-height:1.5;padding:10px 6px;cursor:auto}.aws-search-result .aws_search_more a{line-height:40px;display:block;text-decoration:none;border:0;text-align:center;color:#21759b}.aws-search-result .aws_terms_suggestions{line-height:1.7}.aws-search-result .aws_term_suggestion{color:#222;vertical-align:middle}.aws-search-result a.aws_term_suggestion{color:#222;background:#ededed;border:0;border-radius:3px;font-size:13px;padding:2px 5px}.aws-search-result a.aws_term_suggestion:hover{background-color:#dad8da}body.aws-overlay{overflow:hidden!important;position:fixed;width:100%}.aws-container.aws-mobile-fixed{position:fixed!important;z-index:9999999!important;top:10px!important;left:20px!important;width:100%;width:calc(100% - 40px)!important}.aws-mobile-fixed-close{padding:15px;margin-right:-10px;display:inline-block;float:right;cursor:pointer}.aws-overlay-mask{display:block;position:fixed;top:0;left:0;right:0;bottom:0;opacity:0;background:#fff;z-index:9999998!important}.aws-overlay .aws-overlay-mask{opacity:1}.et_search_outer .aws-container{width:60%}.et_search_outer .aws-container .aws-search-form{max-width:100%!important}.et_vertical_nav .et_search_outer .aws-container{width:auto;margin:0 20px 0 0}.et_fixed_nav .et-fixed-header .et_search_outer .aws-container{top:7px}.et_pb_menu__search .aws-container{width:100%}#et-boc .aws-container .aws-search-field{border:1px solid #d8d8d8;padding:6px 15px}#et-boc .aws-container .aws-search-form .aws-form-btn{background:#ededed;border:1px solid #d8d8d8;margin:0 0 0-1px}#et-boc .aws-container .aws-search-form .aws-wrapper .aws-loader{border-top:3px solid #ededed;border-right:3px solid #ededed;border-bottom:3px solid #ededed;border-left:3px solid #555;margin:-10px 0 0}#et-boc .aws-container .aws-search-form .aws-search-clear span{margin-top:-12px}#et-boc .aws-container .aws-search-form .aws-search-clear{padding:0 0 0 10px}.aws-search-result .aws_result_title .advanced-woo-labels{position:relative!important;width:auto!important;margin:0 5px 5px 0!important;transform:none!important}.aws-search-result .aws_result_title .advanced-woo-labels:last-child{margin-bottom:0!important}.aws-search-result .aws_result_title .aws_result_labels{display:flex;margin:0!important;flex-wrap:wrap;flex-direction:row;text-align:left;justify-content:flex-start}.site-header {
position: relative;
z-index: 1000;
} .navbar {
padding: 1.5rem 0;
border-bottom: none;
background: #ffffff !important;
} .header-content {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 0 1rem;
} .logo-img {
height: 60px !important;
width: auto !important;
max-width: 200px !important;
transition: all 0.3s ease;
}
.logo-img:hover {
transform: scale(1.05);
}
.navbar-brand {
text-decoration: none;
padding: 0;
}
.navbar-brand:hover {
text-decoration: none;
} .navbar-nav {
margin: 0 auto;
}
.navbar-nav .nav-link {
font-weight: 600;
color: #333333 !important;
padding: 0.5rem 1.2rem !important;
transition: all 0.3s ease;
position: relative;
text-transform: uppercase;
font-size: 0.95rem;
letter-spacing: 0.5px;
}
.navbar-nav .nav-link:hover {
color: #00a76b !important;
transform: translateY(-1px);
}
.navbar-nav .nav-link.active {
color: #00a76b !important;
border-bottom: 2px solid #00a76b;
padding-bottom: 0.3rem !important;
} .header-actions {
display: flex;
align-items: center;
gap: 1.2rem;
}
.action-icon {
display: flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
background: #f0f8f4;
border: none;
border-radius: 50%;
color: #00a76b;
text-decoration: none;
transition: all 0.3s ease;
font-size: 1.1rem;
position: relative;
}
.action-icon:hover {
background: #007a52;
color: #ffffff;
transform: scale(1.05);
text-decoration: none;
}
.action-icon i {
font-size: 1.1rem;
transition: all 0.3s ease;
z-index: 2;
position: relative;
}
.action-icon:hover i {
color: #ffffff;
} .tooltip {
position: absolute;
bottom: -35px;
left: 50%;
transform: translateX(-50%);
background: #ffffff;
color: #333333;
padding: 4px 8px;
border-radius: 4px;
font-size: 0.75rem;
font-weight: 500;
white-space: nowrap;
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
border: 1px solid #e0e0e0;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
z-index: 10;
}
.tooltip::before {
content: '';
position: absolute;
top: -4px;
left: 50%;
transform: translateX(-50%);
width: 0;
height: 0;
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-bottom: 4px solid #ffffff;
}
.action-icon:hover .tooltip {
opacity: 1;
visibility: visible;
transform: translateX(-50%) translateY(-2px);
} .cart-icon {
position: relative;
display: flex;
} .header-search {
position: absolute;
right: 0;
top: 100%;
background: #ffffff;
border: 1px solid #e9ecef;
box-shadow: 0 18px 40px rgba(0,0,0,0.12);
border-radius: 14px;
padding: 12px;
display: none;
z-index: 1100;
width: 360px;
transform: translateY(8px) scale(0.98);
opacity: 0;
transition: opacity .2s ease, transform .2s ease;
}
.header-search.active { display: block; opacity: 1; transform: translateY(0) scale(1); }
.header-search-form { display: block; }
.header-search-input-wrap { position: relative; display: flex; align-items: center; }
.header-search-leading { position: absolute; left: 12px; color: #9aa0a6; }
.header-search-input {
flex: 1;
border: 2px solid #e9ecef;
border-radius: 10px;
padding: 10px 44px 10px 36px;
width: 100%;
box-shadow: inset 0 1px 2px rgba(0,0,0,0.02);
}
.header-search-input:focus { outline: none; border-color: #00a76b; }
.header-search-submit {
background: #00a76b;
color: #fff;
border: none;
border-radius: 10px;
padding: 10px 12px;
margin-left: 8px;
} .cart-count,
.wishlist-count {
position: absolute;
top: -8px;
right: -8px;
background: #ff4757;
color: #ffffff;
border-radius: 50%;
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.7rem;
font-weight: 600;
min-width: 20px;
line-height: 1;
border: 2px solid #ffffff;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
z-index: 3;
}
.cart-count:empty,
.wishlist-count:empty {
display: none;
} .dropdown-menu {
border: none;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
border-radius: 8px;
padding: 0.5rem 0;
margin-top: 0.5rem;
animation: fadeInDown 0.3s ease;
}
.dropdown-item {
padding: 0.75rem 1.5rem;
color: #333;
transition: all 0.3s ease;
}
.dropdown-item:hover {
background-color: #f8f9fa;
color: #00a76b;
transform: translateX(5px);
} .navbar-toggler {
border: none;
padding: 0.5rem;
background: #00a76b;
border-radius: 8px;
transition: all 0.3s ease;
}
.navbar-toggler:focus {
box-shadow: 0 0 0 0.2rem rgba(0, 167, 107, 0.25);
}
.navbar-toggler-icon {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
width: 1.5em;
height: 1.5em;
}  .mobile-menu-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
backdrop-filter: blur(5px);
z-index: 9998;
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
}
.mobile-menu-overlay.active {
opacity: 1;
visibility: visible;
} .mobile-menu-panel {
position: fixed;
top: 0;
left: -100%;
width: 85%;
max-width: 400px;
height: 100%;
background: #ffffff;
z-index: 9999;
transition: left 0.4s cubic-bezier(0.4, 0, 0.2, 1);
display: flex;
flex-direction: column;
box-shadow: 2px 0 30px rgba(0, 0, 0, 0.1);
}
.mobile-menu-panel.active {
left: 0;
z-index: 9999999;
} .mobile-menu-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 1.5rem;
background: linear-gradient(135deg, #00a76b, #007a52);
color: #ffffff;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.mobile-logo-img {
height: 35px;
filter: brightness(0) invert(1);
}
.mobile-menu-close {
background: none;
border: none;
color: #ffffff;
cursor: pointer;
padding: 0.5rem;
border-radius: 6px;
transition: all 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.25rem;
}
.mobile-menu-close:hover {
background: rgba(255, 255, 255, 0.1);
transform: scale(1.1);
} .mobile-menu-content {
flex: 1;
overflow-y: auto;
padding: 0;
}
.mobile-nav-list {
list-style: none;
margin: 0;
padding: 0;
}
.mobile-nav-list li {
border-bottom: 1px solid #e9ecef;
}
.mobile-nav-list li:last-child {
border-bottom: none;
}
.mobile-nav-list a {
display: flex;
align-items: center;
justify-content: space-between;
padding: 1rem 1.5rem;
color: #333333;
text-decoration: none;
font-weight: 500;
font-size: 1rem;
transition: all 0.3s ease;
position: relative;
}
.mobile-nav-list a:hover {
background: #f8f9fa;
color: #00a76b;
padding-left: 2rem;
} .mobile-submenu {
list-style: none;
margin: 0;
padding: 0;
background: #f8f9fa;
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease;
}
.mobile-submenu.active {
max-height: 500px;
}
.mobile-submenu li {
border-bottom: 1px solid #e9ecef;
}
.mobile-submenu a {
padding: 0.75rem 1.5rem 0.75rem 3rem;
font-size: 0.9rem;
color: #666;
}
.mobile-submenu a:hover {
background: #e9ecef;
color: #00a76b;
} .mobile-arrow {
transition: transform 0.3s ease;
}
.mobile-nav-list .menu-item-has-children.active .mobile-arrow {
transform: rotate(180deg);
}  @media (min-width: 992px) {
.mobile-menu-overlay,
.mobile-menu-panel {
display: none !important;
}
.navbar-toggler {
display: none !important;
}
} @media (max-width: 991px) {
.navbar-collapse {
display: none !important;
}
.navbar-toggler {
display: block !important;
}
.header-actions {
display: none !important;
}
.navbar-nav {
margin: 0;
}
.header-content {
padding: 0 0.5rem;
}
} @keyframes fadeInDown {
from {
opacity: 0;
transform: translateY(-10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes slideInLeft {
from {
transform: translateX(-100%);
}
to {
transform: translateX(0);
}
} body.mobile-menu-open {
overflow: hidden;
position: fixed;
width: 100%;
} .text-primary-green {
color: #00a76b !important;
}
.bg-primary-green {
background-color: #00a76b !important;
}
.border-primary-green {
border-color: #00a76b !important;
} .dropdown-toggle::after {
margin-left: 0.5rem;
vertical-align: 0.15em;
border-top: 0.3em solid;
border-right: 0.3em solid transparent;
border-bottom: 0;
border-left: 0.3em solid transparent;
} .navbar-nav .nav-link:focus,
.dropdown-item:focus {
outline: 2px solid #00a76b;
outline-offset: 2px;
}
.mobile-nav-list a:focus {
outline: 2px solid #00a76b;
outline-offset: -2px;
} .navbar-scrolled {
background: rgba(255, 255, 255, 0.95) !important;
backdrop-filter: blur(10px);
box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
transition: all 0.3s ease;
} @media print {
.mobile-menu-overlay,
.mobile-menu-panel,
.navbar-toggler {
display: none !important;
}
}.product-card {
background: #ffffff;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
display: flex;
flex-direction: column;
height: 100%;
}
.product-card:hover {
transform: translateY(-8px);
box-shadow: 0 8px 30px rgba(0, 167, 107, 0.2);
} .product-image-container {
position: relative;
width: 100%;
height: 280px;
overflow: hidden;
background: #f8f9fa;
aspect-ratio: 1 / 1;
}
.product-image {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.product-card:hover .product-image {
transform: scale(1.1);
} .product-badge {
position: absolute;
top: 12px;
left: 12px;
background: #00a76b;
color: #ffffff;
padding: 6px 12px;
border-radius: 6px;
font-size: 0.75rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.5px;
z-index: 3;
}
.product-badge.sale {
background: #ff4757;
}
.product-badge.new {
background: #00a76b;
} .product-actions {
position: absolute;
top: 12px;
right: 12px;
display: flex;
flex-direction: row;
gap: 8px;
opacity: 0;
transform: translateY(-10px);
transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
z-index: 10;
pointer-events: none;
}
.product-card:hover .product-actions,
.product-actions:hover,
.product-actions:focus-within {
opacity: 1;
transform: translateY(0);
pointer-events: auto;
}
.action-btn {
width: 40px;
height: 40px;
border-radius: 50%;
background: #ffffff;
border: 2px solid #00a76b;
color: #00a76b;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all 0.3s ease;
text-decoration: none;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.action-btn:hover {
background: #00a76b;
color: #ffffff;
transform: scale(1.1);
box-shadow: 0 4px 12px rgba(0, 167, 107, 0.3);
}
.action-btn i {
font-size: 0.9rem;
}
.see-more-btn,
.quick-view-btn {
background: #ffffff;
border: 2px solid #00a76b;
color: #00a76b;
}
.see-more-btn:hover,
.quick-view-btn:hover {
background: #00a76b;
color: #ffffff;
}
.wishlist-btn.active {
background: #00a76b;
color: #ffffff;
border-color: #00a76b;
} .product-content {
padding: 16px;
flex: 1;
display: flex;
flex-direction: column;
} .product-title {
font-size: 1rem;
font-weight: 600;
color: #333333;
margin-bottom: 8px;
line-height: 1.4;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
text-decoration: none;
transition: color 0.3s ease;
}
.product-title:hover {
color: #00a76b;
text-decoration: none;
} .product-price {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 12px;
}
.current-price {
font-size: 1.1rem;
font-weight: 700;
color: #00a76b;
}
.original-price {
font-size: 0.9rem;
color: #999999;
text-decoration: line-through;
} .product-rating {
display: flex;
align-items: center;
gap: 4px;
margin-bottom: 12px;
}
.stars {
color: #ffc107;
font-size: 0.9rem;
}
.rating-text {
font-size: 0.8rem;
color: #666666;
} .add-to-cart-bottom {
width: 100%;
background: #00a76b;
color: #ffffff;
border: none;
padding: 10px 16px;
border-radius: 8px;
font-weight: 600;
font-size: 0.9rem;
cursor: pointer;
transition: all 0.3s ease;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.add-to-cart-bottom:hover {
background: #007a52;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0, 167, 107, 0.3);
} .quickview-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.7);
backdrop-filter: blur(5px);
z-index: 9998;
display: none;
align-items: center;
justify-content: center;
opacity: 0;
transition: opacity 0.3s ease;
}
.quickview-overlay.active {
display: flex;
opacity: 1;
}
.quickview-modal {
background: #ffffff;
border-radius: 16px;
max-width: 900px;
width: 90%;
max-height: 90vh;
overflow-y: auto;
position: relative;
z-index: 9999;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
animation: modalSlideIn 0.3s ease;
}
@keyframes modalSlideIn {
from {
transform: translateY(-50px);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
.quickview-head {
padding: 20px;
border-bottom: 1px solid #e9ece一身f;
display: flex;
justify-content: space-between;
align-items: center;
position: sticky;
top: 0;
background: #ffffff;
z-index: 1;
}
.quickview-close {
background: none;
border: none;
font-size: 1.5rem;
color: #666;
cursor: pointer;
padding: 0;
width: 35px;
height: 35px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
transition: all 0.3s ease;
}
.quickview-close:hover {
background: #f8f9fa;
color: #00a76b;
}
.quickview-body {
padding: 30px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 30px;
}
.quickview-image {
border-radius: 12px;
overflow: hidden;
}
.quickview-image img {
width: 100%;
height: auto;
display: block;
}
.quickview-content h2 {
font-size: 1.8rem;
font-weight: 700;
color: #333;
margin-bottom: 15px;
}
.qv-price {
font-size: 1.5rem;
font-weight: 700;
color: #00a76b;
margin-bottom: 15px;
}
.qv-meta {
margin-bottom: 20px;
}
.qv-meta-row h6 {
font-weight: 700;
color: #666;
}
.qv-meta-row a {
color: #00a76b;
font-weight: 600;
text-decoration: none;
}
.qv-spec-list {
border-top: 1px solid #e9ecef;
border-bottom: 1px solid #e9ecef;
}
.qv-spec-row {
display: flex;
justify-content: space-between;
padding: 10px 0;
border-bottom: 1px solid #f1f3f5;
}
.qv-spec-row:last-child {
border-bottom: none;
}
.qv-spec-row .spec-label {
color: #666;
font-weight: 600;
}
.qv-spec-row .spec-val {
color: #00a76b;
font-weight: 600;
}
.qv-btn {
border-radius: 14px;
padding: 12px 18px;
font-weight: 800;
letter-spacing: .2px;
}
.qv-desc {
color: #333;
line-height: 1.6;
}  .products-grid {
margin-bottom: 40px;
} .row .col-lg-3 .product-card,
.row .col-md-6 .product-card,
.row .col-sm-12 .product-card {
height: 100%;
display: flex;
flex-direction: column;
} @media (max-width: 992px) {
.product-image-container {
height: 200px !important;
aspect-ratio: auto !important;
}
.product-image {
height: 200px !important;
}
} .product-slider {
position: relative;
overflow: hidden;
}
.product-slider .products-grid {
display: flex;
gap: 24px;
transition: transform 0.3s ease;
}
.product-slider .product-card {
flex: 0 0 280px;
min-width: 280px;
} .slider-nav {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 40px;
height: 40px;
border-radius: 50%;
background: #ffffff;
border: 2px solid #00a76b;
color: #00a76b;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all 0.3s ease;
z-index: 2;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.slider-nav:hover {
background: #00a76b;
color: #ffffff;
transform: translateY(-50%) scale(1.1);
}
.slider-nav.prev {
left: -20px;
}
.slider-nav.next {
right: -20px;
} .product-card.loading {
pointer-events: none;
}
.product-card.loading .product-image {
background: #f0f0f0;
animation: shimmer 1.5s infinite;
}
@keyframes shimmer {
0% { background-position: -200px 0; }
100% { background-position: calc(200px + 100%) 0; }
} .action-btn:focus,
.add-to-cart-bottom:focus {
outline: 2px solid #00a76b;
outline-offset: 2px;
}
.product-title:focus {
outline: 2px solid #00a76b;
outline-offset: 2px;
} .product-notification {
position: fixed;
top: 20px;
right: 20px;
background: #ffffff;
border-radius: 8px;
padding: 12px 16px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
display: flex;
align-items: center;
gap: 8px;
z-index: 10000;
opacity: 0;
transform: translateX(100%);
transition: all 0.3s ease;
max-width: 300px;
}
.product-notification.show {
opacity: 1;
transform: translateX(0);
}
.product-notification.success {
border-left: 4px solid #00a76b;
}
.product-notification.error {
border-left: 4px solid #ff4757;
}
.product-notification.info {
border-left: 4px solid #007bff;
}
.product-notification i {
font-size: 1.1rem;
}
.product-notification.success i {
color: #00a76b;
}
.product-notification.error i {
color: #ff4757;
}
.product-notification.info i {
color: #007bff;
} @media print {
.product-actions,
.add-to-cart-bottom {
display: none !important;
}
.product-card {
box-shadow: none !important;
border: 1px solid #e0e0e0 !important;
}
.product-notification {
display: none !important;
}
}.shop-sidebar-wrapper {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100vh;
background: rgba(0, 0, 0, 0.7);
backdrop-filter: blur(10px);
z-index: 9999;
transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
opacity: 0;
visibility: hidden;
transform: translateX(-100%);
display: none; }
.shop-sidebar-wrapper.active {
opacity: 1;
visibility: visible;
transform: translateX(0);
}
.shop-sidebar-inner {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 50%, #ffffff 100%);
box-shadow: 8px 0 50px rgba(0, 0, 0, 0.25);
overflow-y: auto;
transform: translateX(-100%);
transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
border-radius: 0 25px 25px 0;
border-left: 4px solid #00a76b;
}
.shop-sidebar-wrapper.active .shop-sidebar-inner {
transform: translateX(0);
} .mobile-sidebar-header {
background: linear-gradient(135deg, #00a76b 0%, #007a52 100%);
padding: 20px 25px;
color: white;
border-radius: 0 25px 0 0;
position: relative;
overflow: hidden;
}
.mobile-sidebar-header::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(45deg, rgba(255,255,255,0.1) 0%, transparent 100%);
pointer-events: none;
}
.mobile-sidebar-title {
font-size: 1.3rem;
font-weight: 700;
margin: 0;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.mobile-sidebar-subtitle {
font-size: 0.9rem;
opacity: 0.9;
margin: 5px 0 0 0;
} .mobile-sidebar-content {
padding: 25px;
background: #ffffff;
animation: slideInContent 0.6s ease-out 0.2s both;
}
@keyframes slideInContent {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
} .mobile-sidebar-content .sidebar-widget {
animation: slideInWidget 0.5s ease-out both;
animation-delay: calc(var(--widget-delay, 0) * 0.1s);
}
.mobile-sidebar-content .sidebar-widget:nth-child(1) { --widget-delay: 1; }
.mobile-sidebar-content .sidebar-widget:nth-child(2) { --widget-delay: 2; }
.mobile-sidebar-content .sidebar-widget:nth-child(3) { --widget-delay: 3; }
.mobile-sidebar-content .sidebar-widget:nth-child(4) { --widget-delay: 4; }
@keyframes slideInWidget {
from {
opacity: 0;
transform: translateX(-30px);
}
to {
opacity: 1;
transform: translateX(0);
}
} .mobile-sidebar-content {
padding: 30px 20px;
background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);
height: 100%;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}
.mobile-sidebar-content::-webkit-scrollbar {
width: 6px;
}
.mobile-sidebar-content::-webkit-scrollbar-track {
background: #f1f1f1;
}
.mobile-sidebar-content::-webkit-scrollbar-thumb {
background: #00a76b;
border-radius: 10px;
}
.mobile-sidebar-content::-webkit-scrollbar-thumb:hover {
background: #007a52;
}
.mobile-sidebar-title {
font-size: 1.2rem;
font-weight: 700;
color: #00a76b;
margin-bottom: 20px;
text-align: center;
border-bottom: 2px solid #00a76b;
padding-bottom: 12px;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.mobile-filter-section {
margin-bottom: 22px;
padding-bottom: 18px;
border-bottom: 2px solid rgba(0, 167, 107, 0.1);
background: #ffffff;
border-radius: 10px;
padding: 16px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.mobile-filter-section:last-of-type {
border-bottom: none;
}
.mobile-filter-section h4,
.mobile-filter-title {
font-size: 0.95rem;
font-weight: 700;
color: #00a76b;
margin-bottom: 14px;
display: flex;
align-items: center;
gap: 8px;
padding-bottom: 8px;
border-bottom: 2px solid rgba(0, 167, 107, 0.2);
}
.mobile-filter-title i {
font-size: 0.85rem;
color: #00a76b;
} .mobile-price-inputs {
display: flex;
flex-direction: column;
gap: 15px;
margin-bottom: 18px;
}
.mobile-price-input-wrapper {
display: flex;
flex-direction: column;
gap: 8px;
}
.mobile-price-label {
font-size: 0.75rem;
font-weight: 600;
color: #555;
text-transform: uppercase;
letter-spacing: 0.3px;
}
.mobile-price-input {
width: 100%;
padding: 12px 14px;
border: 2px solid #e9ecef;
border-radius: 8px;
font-size: 0.9rem;
transition: all 0.3s ease;
background: #f8f9fa;
color: #333;
}
.mobile-price-input:focus {
outline: none;
border-color: #00a76b;
background: #ffffff;
box-shadow: 0 0 0 3px rgba(0, 167, 107, 0.1);
}
.mobile-price-inputs span {
display: none;
}
.mobile-filter-btn-apply {
width: 100%;
padding: 12px 16px;
background: linear-gradient(135deg, #00a76b 0%, #007a52 100%);
color: white;
border: none;
border-radius: 8px;
font-weight: 600;
font-size: 0.85rem;
cursor: pointer;
transition: all 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
gap: 6px;
box-shadow: 0 3px 12px rgba(0, 167, 107, 0.3);
text-transform: uppercase;
letter-spacing: 0.3px;
}
.mobile-filter-btn-apply:hover {
background: linear-gradient(135deg, #007a52 0%, #005a3a 100%);
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(0, 167, 107, 0.4);
}
.mobile-filter-btn-apply:active {
transform: translateY(0);
}
.mobile-filter-btn-apply.loading {
opacity: 0.7;
cursor: not-allowed;
pointer-events: none;
}
.mobile-filter-btn-apply.loading::after {
content: '';
width: 16px;
height: 16px;
border: 2px solid rgba(255, 255, 255, 0.3);
border-top-color: white;
border-radius: 50%;
animation: spin 0.6s linear infinite;
margin-left: 8px;
}
@keyframes spin {
to { transform: rotate(360deg); }
} .mobile-categories-list {
list-style: none;
padding: 0;
margin: 0 0 18px 0;
}
.mobile-category-item {
margin-bottom: 8px;
border: 1px solid #e9ecef;
border-radius: 8px;
overflow: hidden;
background: #f8f9fa;
transition: all 0.3s ease;
}
.mobile-category-item:hover {
border-color: #00a76b;
box-shadow: 0 2px 8px rgba(0, 167, 107, 0.15);
}
.mobile-category-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 12px 15px;
cursor: pointer;
}
.mobile-category-label {
display: flex;
align-items: center;
gap: 10px;
flex: 1;
cursor: pointer;
}
.mobile-category-checkbox {
width: 20px;
height: 20px;
cursor: pointer;
accent-color: #00a76b;
}
.mobile-category-name {
font-size: 0.85rem;
font-weight: 600;
color: #333;
flex: 1;
}
.mobile-category-count {
font-size: 0.75rem;
color: #666;
font-weight: 500;
}
.mobile-category-toggle {
background: none;
border: none;
color: #00a76b;
font-size: 0.85rem;
cursor: pointer;
padding: 5px 8px;
transition: transform 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
}
.mobile-category-item.active .mobile-category-toggle {
transform: rotate(180deg);
}
.mobile-subcategories {
list-style: none;
padding: 0;
margin: 0;
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease;
background: #ffffff;
border-top: 1px solid #e9ecef;
}
.mobile-category-item.active .mobile-subcategories {
max-height: 500px;
}
.mobile-subcategory-item {
padding: 0;
border-bottom: 1px solid #f0f0f0;
}
.mobile-subcategory-item:last-child {
border-bottom: none;
}
.mobile-subcategory-label {
display: flex;
align-items: center;
gap: 10px;
padding: 10px 15px 10px 35px;
cursor: pointer;
transition: background 0.2s ease;
}
.mobile-subcategory-label:hover {
background: #f8f9fa;
}
.mobile-subcategory-checkbox {
width: 18px;
height: 18px;
cursor: pointer;
accent-color: #00a76b;
}
.mobile-subcategory-name {
font-size: 0.8rem;
color: #555;
flex: 1;
}
.mobile-subcategory-count {
font-size: 0.7rem;
color: #888;
} .mobile-brands {
max-height: 200px;
overflow-y: auto;
}
.mobile-brand-item {
display: flex;
align-items: center;
padding: 8px 0;
cursor: pointer;
transition: background 0.3s ease;
border-radius: 4px;
margin-bottom: 5px;
}
.mobile-brand-item:hover {
background: #f8f9fa;
}
.mobile-brand-checkbox {
margin-right: 10px;
transform: scale(1.2);
}
.mobile-brand-name {
flex: 1;
font-size: 0.8rem;
color: #333;
font-weight: 500;
}
.mobile-brand-count {
font-size: 0.8rem;
color: #666666;
margin-left: 5px;
}
.mobile-brands-container {
max-height: 300px;
overflow-y: auto;
margin-bottom: 18px;
border: 1px solid #e9ecef;
border-radius: 8px;
padding: 10px;
background: #f8f9fa;
}
.mobile-brands-container .mobile-brands {
display: flex;
flex-direction: column;
gap: 8px;
}
.mobile-brands-container .mobile-brand-item {
display: flex;
align-items: center;
gap: 10px;
padding: 10px 12px;
cursor: pointer;
transition: all 0.2s ease;
border-radius: 6px;
background: #ffffff;
border: 1px solid transparent;
}
.mobile-brands-container .mobile-brand-item:hover {
background: #ffffff;
border-color: #00a76b;
box-shadow: 0 2px 6px rgba(0, 167, 107, 0.1);
}
.mobile-brands-container .mobile-brand-checkbox {
width: 18px;
height: 18px;
cursor: pointer;
accent-color: #00a76b;
}
.mobile-brands-container .mobile-brand-name {
flex: 1;
font-size: 0.9rem;
color: #333;
font-weight: 500;
}
.mobile-brands-container .mobile-brand-count {
font-size: 0.8rem;
color: #666;
font-weight: 500;
} .mobile-brands-container::-webkit-scrollbar {
width: 6px;
}
.mobile-brands-container::-webkit-scrollbar-track {
background: #f1f1f1;
border-radius: 10px;
}
.mobile-brands-container::-webkit-scrollbar-thumb {
background: #00a76b;
border-radius: 10px;
}
.mobile-brands-container::-webkit-scrollbar-thumb:hover {
background: #007a52;
} .mobile-filter-actions {
display: flex;
flex-direction: column;
gap: 10px;
margin-top: 22px;
padding-top: 18px;
border-top: 2px solid rgba(0, 167, 107, 0.2);
}
.mobile-apply-all,
.mobile-clear-all {
width: 100%;
padding: 12px 16px;
border-radius: 8px;
font-weight: 600;
font-size: 0.85rem;
cursor: pointer;
transition: all 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
text-transform: uppercase;
letter-spacing: 0.5px;
border: none;
}
.mobile-apply-all {
background: linear-gradient(135deg, #00a76b 0%, #007a52 100%);
color: white;
box-shadow: 0 4px 15px rgba(0, 167, 107, 0.3);
}
.mobile-apply-all:hover {
background: linear-gradient(135deg, #007a52 0%, #005a3a 100%);
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(0, 167, 107, 0.4);
}
.mobile-apply-all:active {
transform: translateY(0);
}
.mobile-apply-all.loading {
opacity: 0.7;
cursor: not-allowed;
pointer-events: none;
}
.mobile-clear-all {
background: #ffffff;
color: #666;
border: 2px solid #e9ecef;
}
.mobile-clear-all:hover {
background: #f8f9fa;
border-color: #00a76b;
color: #00a76b;
transform: translateY(-2px);
}
.mobile-clear-all:active {
transform: translateY(0);
} .close-sidebar {
position: absolute;
top: 20px;
right: 20px;
width: 40px;
height: 40px;
border: none;
background: #f8f9fa;
color: #666;
border-radius: 50%;
font-size: 0;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.3s ease;
z-index: 1000;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
border: 2px solid #e9ecef;
line-height: 1;
padding: 0;
overflow: hidden;
}
.close-sidebar:hover {
background: #00a76b;
color: #ffffff;
border-color: #00a76b;
transform: scale(1.05);
box-shadow: 0 4px 12px rgba(0, 167, 107, 0.3);
}
.close-sidebar:active {
transform: scale(0.95);
}
.close-sidebar::before {
content: '×';
font-weight: 300;
font-size: 2rem;
line-height: 1;
display: block;
color: inherit;
transition: color 0.3s ease;
} .mobile-filter-container {
position: fixed;
top: 50%;
left: 20px;
transform: translateY(-50%);
z-index: 1000;
transition: all 0.3s ease;
display: block; }
.mobile-filter-container:hover {
transform: translateY(-50%) scale(1.05);
}
.mobile-filter-btn {
background: linear-gradient(135deg, #00a76b 0%, #007a52 100%);
color: #ffffff;
border: none;
padding: 0;
border-radius: 50%;
font-weight: 600;
cursor: pointer;
transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
box-shadow: 0 8px 25px rgba(0, 167, 107, 0.4);
display: flex;
align-items: center;
justify-content: center;
font-size: 1.1rem;
width: 35px;
height: 35px;
position: relative;
overflow: hidden;
}
.mobile-filter-btn::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
transition: left 0.5s;
}
.mobile-filter-btn:hover::before {
left: 100%;
}
.mobile-filter-btn:hover {
background: linear-gradient(135deg, #007a52 0%, #005a3a 100%);
transform: scale(1.15) rotate(10deg);
box-shadow: 0 12px 35px rgba(0, 167, 107, 0.6);
}
.mobile-filter-btn:active {
transform: scale(1.05) rotate(10deg);
}
.mobile-filter-btn i {
font-size: 15px;
transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
z-index: 2;
position: relative;
}
.mobile-filter-btn:hover i {
transform: scale(1.2) rotate(-10deg);
text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
} @media (max-width: 991px) {
.shop-sidebar-wrapper {
display: block !important;
}
.mobile-filter-container {
display: block !important;
}
.shop-sidebar {
display: none !important;
}
}
@media (min-width: 992px) {
.shop-sidebar-wrapper {
display: none !important;
}
.mobile-filter-container {
display: none !important;
}
.shop-sidebar {
display: block !important;
}
} .shop-sidebar {
background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
border-radius: 20px;
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
padding: 35px;
margin-bottom: 30px;
width: 100%;
border: 1px solid rgba(0, 167, 107, 0.1);
} .shop-widget-area {
margin-bottom: 0;
}
.sidebar-widget {
margin-bottom: 35px;
padding-bottom: 28px;
border-bottom: 2px solid #f0f0f0;
transition: all 0.3s ease;
}
.sidebar-widget:hover {
transform: translateY(-2px);
}
.sidebar-widget:last-child {
border-bottom: none;
margin-bottom: 0;
}
.sidebar-widget h3 {
font-size: 1.2rem;
font-weight: 700;
color: #333333;
margin-bottom: 16px;
padding-bottom: 8px;
border-bottom: 2px solid #00a76b;
position: relative;
}
.sidebar-widget h3::after {
content: '';
position: absolute;
bottom: -2px;
left: 0;
width: 30px;
height: 2px;
background: #00a76b;
} .price-filter {
background: #f8f9fa;
border-radius: 8px;
padding: 20px;
}
.price-range {
display: flex;
flex-direction: column;
gap: 12px;
margin-bottom: 16px;
}
.price-input {
flex: 1;
padding: 8px 12px;
border: 1px solid #e0e0e0;
border-radius: 6px;
font-size: 0.9rem;
transition: all 0.3s ease;
}
.price-input:focus {
outline: none;
border-color: #00a76b;
box-shadow: 0 0 0 2px rgba(0, 167, 107, 0.1);
}
.price-slider {
width: 100%;
height: 4px;
border-radius: 2px;
background: #e0e0e0;
outline: none;
margin: 16px 0;
-webkit-appearance: none;
}
.price-slider::-webkit-slider-thumb {
-webkit-appearance: none;
width: 20px;
height: 20px;
border-radius: 50%;
background: #00a76b;
cursor: pointer;
box-shadow: 0 2px 6px rgba(0, 167, 107, 0.3);
transition: all 0.3s ease;
}
.price-slider::-webkit-slider-thumb:hover {
transform: scale(1.1);
box-shadow: 0 4px 12px rgba(0, 167, 107, 0.4);
}
.price-slider::-moz-range-thumb {
width: 20px;
height: 20px;
border-radius: 50%;
background: #00a76b;
cursor: pointer;
border: none;
box-shadow: 0 2px 6px rgba(0, 167, 107, 0.3);
}
.price-apply-btn {
width: 100%;
background: #00a76b;
color: #ffffff;
border: none;
padding: 12px 16px;
border-radius: 8px;
font-weight: 600;
cursor: pointer;
transition: all 0.3s ease;
text-transform: uppercase;
letter-spacing: 0.5px;
position: relative;
overflow: hidden;
}
.price-apply-btn:hover {
background: #007a52;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0, 167, 107, 0.3);
}
.price-apply-btn:disabled {
background: #cccccc;
cursor: not-allowed;
transform: none;
box-shadow: none;
}
.price-apply-btn.loading {
background: #007a52;
color: transparent;
}
.price-apply-btn.loading::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 20px;
height: 20px;
border: 2px solid #ffffff;
border-top: 2px solid transparent;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% { transform: translate(-50%, -50%) rotate(0deg); }
100% { transform: translate(-50%, -50%) rotate(360deg); }
} .categories-filter {
max-height: 300px;
overflow-y: auto;
overflow-x: hidden;
}
.category-item {
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap;
padding: 8px 0;
cursor: pointer;
transition: all 0.3s ease;
border-radius: 6px;
margin-bottom: 4px;
}
.category-checkbox {
margin-right: 8px;
}
.category-label {
display: inline-flex;
align-items: center;
gap: 8px;
}
.subcategory-label {
display: inline-flex;
align-items: center;
gap: 8px;
}
.subcategory-count { margin-left: 4px; }
.category-item:hover {
background: #f0f8f5;
padding-left: 8px;
}
.category-checkbox {
margin-right: 12px;
width: 16px;
height: 16px;
accent-color: #00a76b;
}
.category-label {
flex: 1;
font-size: 0.9rem;
color: #333333;
cursor: pointer;
display: flex;
align-items: center;
justify-content: space-between;
}
.category-count {
background: #e9ecef;
color: #666666;
padding: 2px 8px;
border-radius: 12px;
font-size: 0.8rem;
font-weight: 500;
}
.category-item:hover .category-count {
background: #00a76b;
color: #ffffff;
} .subcategories {
margin-top: 8px;
margin-left: 16px;
padding-left: 0;
background: transparent;
border: none;
box-shadow: none;
display: block;
width: 100%;
flex-basis: 100%;
overflow-x: hidden;
}
.subcategories.active {
max-height: 300px;
padding: 16px;
border-color: #00a76b;
box-shadow: 0 4px 12px rgba(0, 167, 107, 0.15);
}
.subcategory-item {
display: flex;
align-items: center;
padding: 6px 0;
cursor: pointer;
transition: all 0.3s ease;
border-radius: 4px;
margin-bottom: 2px;
}
.subcategory-item:hover {
background: #f0f8f5;
padding-left: 8px;
}
.subcategory-checkbox {
margin-right: 10px;
width: 14px;
height: 14px;
accent-color: #00a76b;
}
.subcategory-label {
flex: 1;
font-size: 0.85rem;
color: #666666;
cursor: pointer;
display: flex;
align-items: center;
justify-content: space-between;
}
.subcategory-count {
background: #f8f9fa;
color: #999999;
padding: 1px 6px;
border-radius: 10px;
font-size: 0.75rem;
}
.subcategory-item:hover .subcategory-count {
background: #00a76b;
color: #ffffff;
} .brands-filter {
max-height: 260px;
overflow-y: auto;
padding-right: 8px;
}
.brands-filter::-webkit-scrollbar {
width: 6px;
}
.brands-filter::-webkit-scrollbar-track {
background: #f1f1f1;
border-radius: 3px;
}
.brands-filter::-webkit-scrollbar-thumb {
background: #00a76b;
border-radius: 3px;
}
.brands-filter::-webkit-scrollbar-thumb:hover {
background: #007a52;
}
.brand-item {
display: flex;
align-items: center;
padding: 10px 0;
cursor: pointer;
transition: all 0.3s ease;
border-radius: 6px;
margin-bottom: 4px;
}
.brand-item:hover {
background: #f0f8f5;
padding-left: 8px;
}
.brand-checkbox {
margin-right: 12px;
width: 16px;
height: 16px;
accent-color: #00a76b;
}
.brand-label {
flex: 1;
font-size: 0.9rem;
color: #333333;
cursor: pointer;
display: flex;
align-items: center;
justify-content: space-between;
}
.brand-logo {
width: 24px;
height: 24px;
object-fit: contain;
margin-right: 8px;
border-radius: 4px;
}
.brand-count {
background: #e9ecef;
color: #666666;
padding: 2px 8px;
border-radius: 12px;
font-size: 0.8rem;
font-weight: 500;
}
.brand-item:hover .brand-count {
background: #00a76b;
color: #ffffff;
} .filter-actions {
display: flex;
gap: 12px;
margin-top: 20px;
padding-top: 20px;
border-top: 1px solid #e9ecef;
}
.filter-btn {
flex: 1;
padding: 12px 16px;
border-radius: 8px;
font-weight: 600;
cursor: pointer;
transition: all 0.3s ease;
text-transform: uppercase;
letter-spacing: 0.5px;
font-size: 0.85rem;
position: relative;
overflow: hidden;
}
.filter-btn:disabled {
cursor: not-allowed;
opacity: 0.6;
}
.filter-btn.loading {
color: transparent;
}
.filter-btn.loading::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 16px;
height: 16px;
border: 2px solid currentColor;
border-top: 2px solid transparent;
border-radius: 50%;
animation: spin 1s linear infinite;
}
.filter-apply {
background: #00a76b;
color: #ffffff;
border: none;
}
.filter-apply:hover {
background: #007a52;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0, 167, 107, 0.3);
}
.filter-clear {
background: #ffffff;
color: #666666;
border: 2px solid #e0e0e0;
}
.filter-clear:hover {
background: #f8f9fa;
border-color: #00a76b;
color: #00a76b;
} @media (max-width: 991px) {
.sidebar-toggle {
display: block;
}
.shop-sidebar {
display: none;
}
}
@media (min-width: 992px) {
.shop-sidebar-wrapper {
display: none;
}
} .sidebar-widget.loading {
opacity: 0.6;
pointer-events: none;
}
.sidebar-widget.loading::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 20px;
height: 20px;
border: 2px solid #e0e0e0;
border-top: 2px solid #00a76b;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% { transform: translate(-50%, -50%) rotate(0deg); }
100% { transform: translate(-50%, -50%) rotate(360deg); }
} .category-checkbox:focus,
.subcategory-checkbox:focus,
.brand-checkbox:focus,
.price-input:focus,
.price-slider:focus {
outline: 2px solid #00a76b;
outline-offset: 2px;
}
.filter-btn:focus {
outline: 2px solid #00a76b;
outline-offset: 2px;
} @media print {
.shop-sidebar-wrapper,
.sidebar-toggle {
display: none !important;
}
.shop-sidebar {
display: block !important;
box-shadow: none !important;
border: 1px solid #e0e0e0 !important;
}
}