.categories-section{margin:40px 0;width:100%}.categories-section .categories-title{font-size:24px;font-weight:600;margin-bottom:24px;text-align:center}.categories-section .categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:20px;gap:20px;justify-content:center;max-width:1000px;margin:0 auto;padding:0 10px}.categories-section .categories-grid .category-item{display:flex;flex-direction:column;align-items:center;padding:15px;cursor:pointer;transition:all .3s ease;border-radius:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;overflow:hidden}.categories-section .categories-grid .category-item:hover{transform:translateY(-5px);box-shadow:0 5px 15px rgba(0,0,0,.1);background-color:#f9f9f9}.categories-section .categories-grid .category-item:hover .category-icon-container{transform:scale(1.05);background-color:#fff;box-shadow:0 4px 10px rgba(0,0,0,.05)}.categories-section .categories-grid .category-item:hover .category-name{color:#06c}.categories-section .categories-grid .category-item:active{transform:scale(.95)}.categories-section .categories-grid .category-item:focus-visible{outline:2px solid #06c;outline-offset:3px}.categories-section .categories-grid .category-item .category-icon-container{width:70px;height:70px;border-radius:50%;background-color:#f5f5f5;display:flex;align-items:center;justify-content:center;margin-bottom:12px;transition:all .3s ease;border:1px solid #eaeaea}.categories-section .categories-grid .category-item .category-icon-container .category-icon{max-width:42px;max-height:42px;transition:all .3s ease}.categories-section .categories-grid .category-item .category-name{font-size:14px;font-weight:500;text-align:center;color:#333;transition:color .3s ease}@media(max-width:768px){.categories-section{margin:30px 0}.categories-section .categories-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:15px}.categories-section .categories-grid .category-item{padding:10px}.categories-section .categories-grid .category-item .category-icon-container{width:60px;height:60px}.categories-section .categories-grid .category-item .category-icon-container .category-icon{max-width:36px;max-height:36px}.categories-section .categories-grid .category-item .category-name{font-size:13px}}@media(max-width:480px){.categories-section{margin:20px 0}.categories-section .categories-title{font-size:20px;margin-bottom:16px}.categories-section .categories-grid{grid-template-columns:repeat(3,1fr);gap:10px}}.search-container{width:100%;max-width:900px;margin:20px auto;padding:0 16px}.search-container .search-form{display:flex;width:100%;gap:10px}.search-container .search-form .search-input-container{position:relative;flex-grow:1;display:flex;align-items:center;background-color:#f5f5f5;border-radius:4px;overflow:hidden}.search-container .search-form .search-input-container .search-input{width:100%;padding:12px 80px 12px 16px;border:none;background:rgba(0,0,0,0);font-size:16px}.search-container .search-form .search-input-container .search-input:focus{outline:none}.search-container .search-form .search-input-container .search-buttons{position:absolute;right:8px;display:flex;align-items:center;gap:4px}.search-container .search-form .search-input-container .reset-button{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:8px;border-radius:50%;transition:background-color .2s}.search-container .search-form .search-input-container .reset-button svg{opacity:.7;transition:opacity .2s}.search-container .search-form .search-input-container .reset-button:hover{background-color:rgba(0,0,0,.05)}.search-container .search-form .search-input-container .reset-button:hover svg{opacity:1}.search-container .search-form .search-input-container .filter-button{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:8px;position:relative}.search-container .search-form .search-input-container .filter-button svg{opacity:.7;transition:opacity .2s}.search-container .search-form .search-input-container .filter-button:hover svg{opacity:1}.search-container .search-form .search-input-container .filter-button .filter-count{position:absolute;top:0;right:0;background-color:#5e35b1;color:#fff;font-size:10px;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center}.search-container .search-form .search-button{background-color:#5e35b1;color:#fff;border:none;border-radius:4px;padding:0 20px;font-weight:500;cursor:pointer;transition:background-color .2s}.search-container .search-form .search-button:hover{background-color:#4527a0}.product-card-link{text-decoration:none;color:inherit;display:block}.product-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);overflow:hidden;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;cursor:pointer}.product-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px rgba(0,0,0,.1)}.product-card .product-image-container{position:relative;width:100%;height:200px;overflow:hidden}.product-card .product-image-container .product-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.product-card .product-image-container .favorite-button{position:absolute;top:10px;right:10px;background:rgba(0,0,0,0);border:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background-color .2s ease;z-index:2}.product-card .product-image-container .favorite-button:hover{background:#fff}.product-card .product-image-container .favorite-button.active svg path{fill:#f44336}.product-card .product-image-container .favorite-button.loading{cursor:wait;pointer-events:none}.product-card .product-image-container .favorite-button .loading-indicator{position:absolute;top:-5px;right:-5px;width:12px;height:12px;border:2px solid rgba(0,0,0,.1);border-top-color:#f44336;border-radius:50%;animation:spin 1s linear infinite}.product-card .product-info{padding:15px}.product-card .product-info .product-title{font-size:16px;font-weight:500;margin:0 0 10px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-card .product-info .product-details{display:flex;justify-content:space-between;margin-bottom:5px;font-size:14px}.product-card .product-info .product-details .detail-label{color:#757575}.product-card .product-info .product-details .detail-value{color:#333;font-weight:500}.product-card .product-info .product-price{margin-top:10px;font-weight:600;font-size:18px;color:#333;display:flex;align-items:center;justify-content:space-between}.product-card .product-info .product-price .new-tag{background-color:#6ddc6d;color:#fff;padding:2px 6px;border-radius:4px;font-size:12px;font-weight:400}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.product-listing-section{margin:40px 0;width:100%}.product-listing-section .product-listing-title{font-size:24px;font-weight:600;margin-bottom:24px;text-align:center}.product-listing-section .product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:20px;gap:20px;max-width:1200px;margin:0 auto;padding:0 16px}@media(max-width:768px){.product-listing-section .product-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media(max-width:480px){.product-listing-section .product-grid{grid-template-columns:1fr}}.product-listing-section .product-grid.product-grid-loading{min-height:300px}.product-listing-section .no-results{text-align:center;padding:40px 0;font-size:16px;color:#666}.product-listing-section .error{text-align:center;padding:40px 0;font-size:18px;color:#e53935}