.products-section{padding:var(--spacing-5xl) 0}.section-header{margin-bottom:var(--spacing-4xl);text-align:center}.section-subtitle{color:var(--color-primary);display:inline-block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:2px;margin-bottom:var(--spacing-sm);text-transform:uppercase}.section-title{color:var(--color-gray-900);font-size:clamp(2rem,5vw,3rem);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md)}.section-description{color:var(--color-gray-600);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin:0 auto;max-width:1000px}.products-filters{display:grid;gap:var(--spacing-lg);grid-template-columns:1fr}.search-box{max-width:500px;position:relative;width:100%}.search-icon{color:var(--color-gray-400);font-size:1.1rem;left:var(--spacing-md);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-input{background:var(--color-white);border:2px solid var(--color-gray-200);border-radius:var(--border-radius-full);color:var(--color-gray-900);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);padding:var(--spacing-md) var(--spacing-3xl) var(--spacing-md) var(--spacing-3xl);transition:all var(--transition-base);width:100%}.search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(200,16,46,.1);outline:none}.search-input::placeholder{color:var(--color-gray-400)}.search-clear{align-items:center;background:var(--color-gray-200);border:none;border-radius:50%;color:var(--color-gray-600);cursor:pointer;display:flex;height:28px;justify-content:center;position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%);transition:all var(--transition-base);width:28px}.search-clear:hover{background:var(--color-primary);color:var(--color-white)}.filter-tabs{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.filter-tab{align-items:center;background:var(--color-white);border:2px solid var(--color-gray-200);border-radius:var(--border-radius-full);color:var(--color-gray-700);cursor:pointer;display:inline-flex;font-weight:var(--font-weight-medium);gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-base)}.filter-tab i{font-size:.9rem}.filter-tab:hover{border-color:var(--color-primary);box-shadow:0 4px 12px rgba(200,16,46,.15);color:var(--color-primary);transform:translateY(-2px)}.filter-tab.active{background:var(--color-primary);border-color:transparent;box-shadow:var(--shadow-lg);color:var(--color-white)}.filter-tab.active:hover{box-shadow:0 6px 20px rgba(200,16,46,.3);transform:translateY(-2px)}.filter-controls{align-items:center;display:flex;gap:var(--spacing-md);justify-content:flex-end}.filter-select{background:var(--color-white);border:2px solid var(--color-gray-200);border-radius:var(--border-radius-lg);color:var(--color-gray-700);cursor:pointer;font-weight:var(--font-weight-medium);min-width:200px;padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-base)}.filter-select:focus,.filter-select:hover{border-color:var(--color-primary);outline:none}.view-toggle{background:var(--color-white);border:2px solid var(--color-gray-200);border-radius:var(--border-radius-lg);display:flex;gap:var(--spacing-xs);padding:var(--spacing-xs)}.view-btn{background:transparent;border:none;border-radius:var(--border-radius-md);color:var(--color-gray-600);cursor:pointer;padding:var(--spacing-sm);transition:all var(--transition-base)}.view-btn:hover{background:var(--color-gray-100);color:var(--color-primary)}.view-btn.active{background:var(--color-primary);color:var(--color-white)}.products-grid{display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:var(--spacing-3xl)}.products-grid.grid-view-2{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.products-grid.list-view{grid-template-columns:1fr}.product-card{background:var(--color-white);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);will-change:transform,box-shadow}.product-card:hover{box-shadow:0 20px 40px rgba(0,0,0,.15);transform:translateY(-8px)}.product-card-link{color:inherit;display:flex;flex:1;flex-direction:column}.product-card-link,.product-card-link:hover{text-decoration:none}.product-card-link .product-title{transition:color var(--transition-base)}.product-card-link:hover .product-title{color:var(--color-primary)}.product-image-wrapper{background:var(--color-gray-100);overflow:hidden;padding-top:100%;position:relative}.product-image-wrapper:after{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.4),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:50%}.product-card:hover .product-image-wrapper:after{left:150%}.product-image{height:100%;left:0;object-fit:cover;position:absolute;top:0;transition:transform .5s cubic-bezier(.4,0,.2,1);width:100%;will-change:transform}.product-card:hover .product-image{transform:scale(1.08)}.product-badges{display:flex;flex-direction:column;gap:var(--spacing-xs);left:var(--spacing-md);position:absolute;top:var(--spacing-md);z-index:5}.product-badge{border-radius:var(--border-radius-md);box-shadow:0 2px 8px rgba(0,0,0,.2);color:var(--color-white);display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:var(--spacing-xs) var(--spacing-sm);text-transform:uppercase;transition:transform .2s ease}.product-card:hover .product-badge{transform:scale(1.05)}.badge-new{background:var(--color-success)}.badge-sale{animation:pulse-badge 2s ease-in-out infinite;background:var(--color-primary)}@keyframes pulse-badge{0%,to{box-shadow:0 2px 8px rgba(198,11,30,.4)}50%{box-shadow:0 2px 16px rgba(198,11,30,.6)}}.badge-featured{background:var(--gradient-secondary);color:#fff}.badge-limited{background:var(--color-navy)}.product-actions{display:flex;flex-direction:column;gap:var(--spacing-xs);opacity:0;pointer-events:none;position:absolute;right:var(--spacing-md);top:var(--spacing-md);transform:translateX(20px);transition:opacity .3s ease,transform .3s cubic-bezier(.4,0,.2,1);z-index:5}.product-card:hover .product-actions{opacity:1;pointer-events:auto;transform:translateX(0)}.action-btn{align-items:center;background:var(--color-white);border:none;border-radius:var(--border-radius-full);box-shadow:var(--shadow-md);color:var(--color-gray-700);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);width:40px}.action-btn:hover{background:var(--color-primary);box-shadow:0 8px 16px rgba(198,11,30,.3);color:var(--color-white);transform:scale(1.15)}.action-btn:active{transform:scale(1.05)}.action-btn i{font-size:1.125rem}.product-info{display:flex;flex:1;flex-direction:column;padding:var(--spacing-lg)}.product-category{color:var(--color-gray-500);display:block;font-size:var(--font-size-xs);letter-spacing:1px;margin-bottom:var(--spacing-xs);text-transform:uppercase}.product-title{color:var(--color-gray-900);display:-webkit-box;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);-webkit-line-clamp:2;line-clamp:2;line-height:1.3;margin-bottom:var(--spacing-sm);-webkit-box-orient:vertical;overflow:hidden;transition:color .2s ease}.product-title a{color:inherit;text-decoration:none;transition:color .2s ease}.product-card:hover .product-title,.product-title a:hover{color:var(--color-primary)}.product-rating{align-items:center;display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.stars{display:flex;font-size:.875rem;gap:3px;line-height:1}.stars i{transition:transform .2s ease}.stars .star-filled{color:#5a6c7d}.stars .star-empty{color:#d1d5db}.product-card:hover .stars i{transform:scale(1.1)}.rating-count{color:var(--color-gray-500);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.product-description{color:var(--color-gray-600);display:-webkit-box;font-size:var(--font-size-sm);-webkit-line-clamp:6;line-clamp:6;line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-md);-webkit-box-orient:vertical;overflow:hidden}.product-footer{align-items:center;border-top:1px solid var(--color-gray-200);display:flex;justify-content:space-between;padding-top:var(--spacing-md)}.product-price{display:flex;flex-direction:column;gap:var(--spacing-xs)}.price-current{color:var(--color-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);transition:transform .2s ease}.product-card:hover .price-current{transform:scale(1.05)}.price-old,.price-original{color:var(--color-gray-500);font-size:var(--font-size-base);text-decoration:line-through;transition:color .2s ease}.price-discount{color:var(--color-success);font-size:var(--font-size-sm)}.add-to-cart-btn,.price-discount{font-weight:var(--font-weight-semibold)}.add-to-cart-btn{align-items:center;background:var(--color-primary);border:none;border-radius:var(--border-radius-lg);color:var(--color-white);cursor:pointer;display:flex;gap:var(--spacing-xs);justify-content:center;overflow:hidden;padding:var(--spacing-sm) var(--spacing-lg);position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);z-index:10}.add-to-cart-btn:before{background:hsla(0,0%,100%,.3);border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.add-to-cart-btn:hover:before{height:300px;width:300px}.add-to-cart-btn:hover{background:var(--color-primary-dark);box-shadow:0 8px 20px rgba(198,11,30,.4);transform:translateY(-2px)}.add-to-cart-btn:active{box-shadow:0 4px 10px rgba(198,11,30,.3);transform:translateY(0)}.add-to-cart-btn i,.add-to-cart-btn span{position:relative;z-index:1}.product-stock{align-items:center;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.stock-indicator{border-radius:var(--border-radius-full);height:8px;width:8px}.stock-in{color:var(--color-success)}.stock-in .stock-indicator{background:var(--color-success)}.stock-low{color:var(--color-warning)}.stock-low .stock-indicator{background:var(--color-warning)}.stock-out{color:var(--color-error)}.stock-out .stock-indicator{background:var(--color-error)}.products-grid.list-view .product-card{display:flex;flex-direction:row}.products-grid.list-view .product-image-wrapper{min-height:250px;padding-top:0;width:300px}.products-grid.list-view .product-image{position:static}.products-grid.list-view .product-info{flex:1;padding:var(--spacing-xl)}.products-grid.list-view .product-description{-webkit-line-clamp:4;line-clamp:4;max-width:700px}.products-grid.list-view .product-footer{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}.pagination{gap:var(--spacing-sm);margin-top:var(--spacing-4xl)}.pagination,.pagination-btn{align-items:center;display:flex;justify-content:center}.pagination-btn{background:var(--color-white);border:2px solid var(--color-gray-200);border-radius:var(--border-radius-lg);color:var(--color-gray-700);cursor:pointer;font-weight:var(--font-weight-medium);height:45px;min-width:45px;padding:var(--spacing-sm);transition:all var(--transition-base)}.pagination-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px)}.pagination-btn.active{background:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--shadow-md);color:var(--color-white)}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.products-loading{align-items:center;display:flex;justify-content:center;padding:var(--spacing-5xl)}.spinner{animation:spin 1s linear infinite;border:4px solid var(--color-gray-200);border-radius:var(--border-radius-full);border-top-color:var(--color-primary);height:50px;width:50px}.products-empty{padding:var(--spacing-5xl);text-align:center}.empty-icon{color:var(--color-gray-300);font-size:5rem;margin-bottom:var(--spacing-xl)}.empty-title{color:var(--color-gray-700);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md)}.empty-text{color:var(--color-gray-500);font-size:var(--font-size-lg);margin-bottom:var(--spacing-xl)}.loading-state{flex-direction:column;gap:var(--spacing-md);grid-column:1/-1;min-height:300px;padding:var(--spacing-2xl) var(--spacing-xl);text-align:center}.loading-state,.loading-state .loading-spinner{align-items:center;display:flex;justify-content:center}.loading-state .loading-spinner{animation:pulse-loading 2s ease-in-out infinite;border-radius:50%;height:60px;position:relative;width:60px}.loading-state .loading-spinner:before{animation:pulse-ring 2s ease-in-out infinite;border-radius:50%;bottom:-2px;content:"";left:-2px;position:absolute;right:-2px;top:-2px;z-index:-1}.loading-state .loading-spinner i{animation:spin 1s linear infinite;color:var(--color-primary);font-size:1.8rem}.loading-state p{color:var(--color-gray-600);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin:0}@keyframes pulse-loading{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes pulse-ring{0%{opacity:.8;transform:scale(.8)}50%{opacity:.4;transform:scale(1.1)}to{opacity:0;transform:scale(1.3)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-state{align-items:center;background:var(--color-light);border-radius:var(--border-radius-xl);display:flex;flex-direction:column;gap:var(--spacing-md);grid-column:1/-1;justify-content:center;min-height:300px;padding:var(--spacing-2xl) var(--spacing-xl);text-align:center}.error-state i{color:var(--color-danger);font-size:3rem;margin-bottom:var(--spacing-sm)}.error-state p{color:var(--color-gray-600);font-size:var(--font-size-base);margin-bottom:var(--spacing-xl)}@media (max-width:1200px){.products-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (min-width:768px) and (max-width:991px){.products-grid{gap:1.25rem;grid-template-columns:repeat(3,1fr)}.product-card{padding:1rem}.product-title{font-size:.9rem;line-height:1.4}.product-price{font-size:1.1rem}.product-description{font-size:.8rem;line-height:1.5}.add-to-cart-btn{font-size:13px;padding:.5rem .75rem}.add-to-cart-btn span{display:none}}@media (max-width:991px){.products-filters{gap:var(--spacing-md)}.search-box{max-width:100%}.filter-tabs{justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.filter-tabs::-webkit-scrollbar{display:none}.filter-controls{justify-content:space-between;width:100%}.filter-select{flex:1;min-width:auto}.products-grid.list-view .product-card{flex-direction:column}.products-grid.list-view .product-image-wrapper{padding-top:75%;width:100%}}@media (max-width:768px){.filter-tab span{display:none}.filter-tab i{margin:0}.search-input{font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-2xl)}.products-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.product-info{padding:var(--spacing-md)}.product-actions{bottom:var(--spacing-md);flex-direction:row;right:var(--spacing-md);top:auto}}@media (min-width:481px) and (max-width:576px){.products-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}.product-card{padding:.875rem}.product-title{font-size:.875rem}.product-description{display:-webkit-box;font-size:.75rem;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.add-to-cart-btn{font-size:12px;padding:.5rem}.add-to-cart-btn span{display:none}}@media (max-width:576px){.products-filters{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md)}.search-box{order:1;width:100%}.search-input{font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);width:100%}.filter-tabs{display:grid;gap:var(--spacing-xs);grid-template-columns:repeat(2,1fr);order:2;width:100%}.filter-tab{font-size:var(--font-size-xs);justify-content:center;padding:var(--spacing-sm);text-align:center}.filter-tab i{font-size:1rem;margin-right:var(--spacing-xs)}.filter-tab span{display:inline;font-size:var(--font-size-xs)}.filter-controls{display:flex;flex-direction:column;gap:var(--spacing-sm);order:3;width:100%}.filter-select{font-size:var(--font-size-sm);padding:var(--spacing-sm);width:100%}.view-toggle-wrapper{align-items:center;display:flex;gap:var(--spacing-sm);justify-content:space-between;width:100%}.view-toggle{order:4}.view-toggle button{min-width:40px;padding:var(--spacing-sm)}.products-grid{gap:var(--spacing-md);grid-template-columns:1fr}.product-card{display:flex;flex-direction:column}.product-image-wrapper{padding-top:100%;width:100%}.product-info{padding:var(--spacing-md)}.product-title{font-size:var(--font-size-base)}.product-description{font-size:var(--font-size-sm);-webkit-line-clamp:2;line-clamp:2}.pagination{flex-wrap:wrap;gap:var(--spacing-xs);justify-content:center}.pagination .page-link{font-size:var(--font-size-sm);min-width:36px;padding:var(--spacing-xs) var(--spacing-sm)}.pagination .page-info{font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm);order:-1;text-align:center;width:100%}}@media (max-width:380px){.filter-tabs{grid-template-columns:1fr}.filter-tab span{display:inline}.filter-select{font-size:var(--font-size-xs)}.product-title{font-size:var(--font-size-sm)}.view-toggle{display:none}}.empty-state,.error-state,.loading-spinner{align-items:center;display:flex;flex-direction:column;grid-column:1/-1;justify-content:center;min-height:400px;padding:var(--spacing-lg) var(--spacing-lg);text-align:center}.loading-spinner i{color:var(--color-primary);font-size:3rem}.loading-spinner p{color:var(--color-gray-600);font-size:var(--font-size-lg);margin:0}.empty-state i,.error-state i{color:var(--color-gray-400);font-size:4rem;margin-bottom:var(--spacing-xl)}.empty-state h3,.error-state h3{color:var(--color-gray-900);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md)}.empty-state p,.error-state p{color:var(--color-gray-600);font-size:var(--font-size-base);margin:0 auto;max-width:500px}.error-state .btn{margin-top:var(--spacing-xl)}.notification{align-items:center;background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:0 10px 40px rgba(0,0,0,.15);display:flex;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-xl);position:fixed;right:20px;top:20px;transform:translateX(400px);transition:transform .3s ease;z-index:10000}.notification.show{transform:translateX(0)}.notification i{font-size:1.5rem}.notification-success{border-left:4px solid var(--color-success)}.notification-success i{color:var(--color-success)}.notification-error{border-left:4px solid var(--color-danger)}.notification-error i{color:var(--color-danger)}.notification-info{border-left:4px solid var(--color-info)}.notification-info i{color:var(--color-info)}.notification span{color:var(--color-gray-900);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.products-filters{display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:center;margin-bottom:var(--spacing-3xl)}.filter-btn{background:var(--color-white);border:2px solid var(--color-gray-300);border-radius:var(--border-radius-full);color:var(--color-gray-700);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.5px;padding:var(--spacing-sm) var(--spacing-xl);text-transform:uppercase;transition:all var(--transition-base)}.filter-btn:hover{background:var(--color-gray-100);border-color:var(--color-gray-400);transform:translateY(-2px)}.filter-btn.active{background:linear-gradient(135deg,var(--color-primary) 0,#a51729 100%);border-color:var(--color-primary);box-shadow:0 4px 15px rgba(200,16,46,.3);color:var(--color-white)}@media (max-width:768px){.notification{left:10px;right:10px;transform:translateX(0) translateY(-100px)}.notification.show{transform:translateX(0) translateY(0)}.products-filters{gap:var(--spacing-sm)}.filter-btn{font-size:.75rem;padding:var(--spacing-xs) var(--spacing-lg)}}