
:where([class^="ri-"])::before { content: "\f3c2"; }
@media (max-width: 768px) {
.mobile-menu {
display: none;
}
.mobile-menu.active {
display: flex;
}
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
-webkit-appearance: none;
margin: 0;
}
.custom-checkbox {
position: relative;
padding-left: 30px;
cursor: pointer;
display: flex;
align-items: center;
}
.custom-checkbox input {
position: absolute;
opacity: 0;
cursor: pointer;
}
.checkmark {
position: absolute;
top: 0;
left: 0;
height: 20px;
width: 20px;
background-color: #fff;
border: 2px solid #ddd;
border-radius: 4px;
}
.custom-checkbox input:checked ~ .checkmark {
background-color: #4CAF50;
border-color: #4CAF50;
}
.checkmark:after {
content: "";
position: absolute;
display: none;
}
.custom-checkbox input:checked ~ .checkmark:after {
display: block;
}
.custom-checkbox .checkmark:after {
left: 6px;
top: 2px;
width: 5px;
height: 10px;
border: solid white;
border-width: 0 2px 2px 0;
transform: rotate(45deg);
}
.custom-radio {
position: relative;
padding-left: 30px;
cursor: pointer;
display: flex;
align-items: center;
}
.custom-radio input {
position: absolute;
opacity: 0;
cursor: pointer;
}
.radio-mark {
position: absolute;
top: 0;
left: 0;
height: 20px;
width: 20px;
background-color: #fff;
border: 2px solid #ddd;
border-radius: 50%;
}
.custom-radio input:checked ~ .radio-mark {
border-color: #4CAF50;
}
.radio-mark:after {
content: "";
position: absolute;
display: none;
top: 4px;
left: 4px;
width: 8px;
height: 8px;
border-radius: 50%;
background: #4CAF50;
}
.custom-radio input:checked ~ .radio-mark:after {
display: block;
}
.custom-switch {
position: relative;
display: inline-block;
width: 48px;
height: 24px;
}
.custom-switch input {
opacity: 0;
width: 0;
height: 0;
}
.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ccc;
transition: .4s;
border-radius: 24px;
}
.slider:before {
position: absolute;
content: "";
height: 18px;
width: 18px;
left: 3px;
bottom: 3px;
background-color: white;
transition: .4s;
border-radius: 50%;
}
input:checked + .slider {
background-color: #4CAF50;
}
input:checked + .slider:before {
transform: translateX(24px);
}
.product-card {
transition: all 0.3s ease;
}
.product-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}
.color-swatch {
width: 24px;
height: 24px;
border-radius: 50%;
display: inline-block;
cursor: pointer;
border: 2px solid transparent;
}
.color-swatch.selected {
border-color: #4CAF50;
}
.range-slider {
--webkit-appearance: none;
width: 100%;
height: 4px;
border-radius: 5px;
background: #ddd;
outline: none;
}
.range-slider::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 16px;
height: 16px;
border-radius: 50%;
background: #4CAF50;
cursor: pointer;
}
.range-slider::-moz-range-thumb {
width: 16px;
height: 16px;
border-radius: 50%;
background: #4CAF50;
cursor: pointer;
}
.filter-section {
transition: all 0.3s ease;
}
.filter-section.collapsed .filter-content {
max-height: 0;
overflow: hidden;
}
.filter-section:not(.collapsed) .filter-content {
max-height: 500px;
overflow: auto;
}
.filter-section:not(.collapsed) .filter-toggle i {
transform: rotate(180deg);
}
