.favorites-button{display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm);width:40px;height:40px;background:transparent;border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:all 0.3s ease;font-size:var(--font-size-sm);color:var(--text-color);font-family:var(--font-primary)}.favorites-button:hover{border-color:var(--secondary-color);color:var(--secondary-color)}.favorites-button.active{background:var(--secondary-color);border-color:var(--secondary-color);color:var(--white)}.favorites-button.active .favorites-icon{fill:currentColor;animation:heartBeat 0.3s ease}.favorites-button.loading{opacity:.6;pointer-events:none}@keyframes heartBeat{0%,100%{transform:scale(1)}25%{transform:scale(1.3)}50%{transform:scale(1)}75%{transform:scale(1.2)}}.favorites-icon{transition:all 0.3s ease}.main-menu__item--favorites{position:relative}.main-menu__item--favorites a{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);color:var(--text-color);text-decoration:none;transition:color 0.3s ease;font-family:var(--font-primary)}.main-menu__item--favorites a:hover{color:var(--secondary-color)}.main-menu__item--favorites.has-items a{color:var(--secondary-color)}.main-menu__item--favorites i{font-size:var(--font-size-xl);transition:transform 0.3s ease}.main-menu__item--favorites.has-items i{animation:heartPulse 1s ease infinite}@keyframes heartPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}.main-menu__item--favorites span:not(.favorites-count){font-size:var(--font-size-xs);font-weight:var(--font-weight-regular)}.favorites-count{position:absolute;top:-8px;right:-5px;display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--text-light);border-radius:50%;font-size:10px;font-weight:var(--font-weight-bold);color:var(--white);line-height:1;opacity:0;transform:scale(0);transition:all 0.3s ease}.favorites-count.active{opacity:1;transform:scale(1);background:var(--secondary-color)}.favorites-page-wrapper{padding:var(--spacing-xxl) 0;min-height:60vh}.favorites-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--border-color)}.favorites-title{font-size:var(--font-size-xxxl);font-weight:var(--font-weight-bold);margin:0;color:var(--text-color);font-family:var(--font-secondary)}.clear-favorites-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:10px 20px;background:var(--white);border:2px solid var(--error);border-radius:var(--border-radius);color:var(--error);cursor:pointer;transition:all 0.3s ease;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:var(--font-primary)}.clear-favorites-btn:hover{background:var(--error);color:var(--white)}.favorites-loading{text-align:center;padding:60px 20px}.loader{border:4px solid var(--light-gray);border-top:4px solid var(--secondary-color);border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.favorites-empty{text-align:center;padding:80px 20px}.empty-icon{font-size:80px;color:var(--light-gray);margin-bottom:var(--spacing-lg)}.favorites-empty h2{font-size:var(--font-size-xxl);margin-bottom:var(--spacing-md);color:var(--text-color);font-family:var(--font-secondary)}.favorites-empty p{color:var(--text-light);margin-bottom:var(--spacing-xl);font-family:var(--font-primary)}.btn-primary{display:inline-block;padding:12px 30px;background:var(--primary-color);color:var(--white);text-decoration:none;border-radius:var(--border-radius);font-weight:var(--font-weight-semibold);transition:all 0.3s ease;font-family:var(--font-primary)}.btn-primary:hover{background:var(--text-color)}.favorites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-xxl)}.favorites-product-card{position:relative;background:var(--white);border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:box-shadow 0.3s ease}.favorites-product-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.15)}.product-badge{position:absolute;top:10px;left:10px;padding:5px 12px;border-radius:var(--border-radius);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);z-index:5}.sale-badge{background:var(--secondary-color);color:var(--white)}.remove-favorite-item{position:absolute;top:10px;right:10px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--white);border:none;border-radius:50%;cursor:pointer;transition:all 0.2s ease;z-index:5;box-shadow:0 2px 8px rgba(0,0,0,.1)}.remove-favorite-item:hover{background:var(--error);color:var(--white)}.product-card-image{position:relative;padding-top:100%;overflow:hidden;background:var(--light-gray)}.product-card-image a{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md)}.product-card-image img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.product-card-info{padding:var(--spacing-lg)}.product-sku{font-size:var(--font-size-xs);color:var(--text-light);margin-bottom:var(--spacing-xs);font-family:var(--font-primary);font-weight:var(--font-weight-regular)}.product-categories{font-size:var(--font-size-xs);color:var(--text-light);margin-bottom:var(--spacing-xs);text-transform:uppercase;letter-spacing:.5px}.product-card-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-sm);line-height:1.4;font-family:var(--font-secondary);min-height:2.8em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card-title a{color:var(--text-color);text-decoration:none;transition:color 0.2s ease}.product-card-title a:hover{color:var(--primary-color)}.product-rating{display:flex;align-items:center;gap:5px;margin-bottom:var(--spacing-sm)}.star-rating{position:relative;display:inline-block;color:var(--light-gray);font-size:var(--font-size-sm)}.star-rating span{position:absolute;top:0;left:0;overflow:hidden;color:var(--warning)}.reviews-count{font-size:var(--font-size-xs);color:var(--text-light)}.product-card-price{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--primary-color);margin-bottom:var(--spacing-sm)}.product-card-price del{font-size:var(--font-size-md);color:var(--text-light);margin-right:var(--spacing-xs)}.product-card-price ins{text-decoration:none;color:var(--secondary-color)}.product-stock{margin-bottom:var(--spacing-md)}.stock-status{display:inline-block;padding:4px 10px;border-radius:var(--border-radius);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.stock-status.in-stock{background:#d4edda;color:#155724}.stock-status.out-of-stock{background:#f8d7da;color:#721c24}.btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:10px 16px;border-radius:var(--border-radius);text-align:center;text-decoration:none;cursor:pointer;transition:all 0.3s ease;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border:none;font-family:var(--font-primary)}.btn-primary{background:var(--primary-color);color:var(--white)}.btn-primary:hover{background:var(--text-color)}.btn-outline{background:var(--white);color:var(--primary-color);border:2px solid var(--primary-color)}.btn-outline:hover{background:var(--primary-color);color:var(--white)}.btn-disabled{background:var(--light-gray);color:var(--text-light);cursor:not-allowed}.favorites-notification{position:fixed;bottom:20px;right:20px;padding:var(--spacing-md) var(--spacing-xl);background:var(--white);color:var(--text-color);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.15);opacity:0;transform:translateY(20px);transition:all 0.3s ease;z-index:9999;font-size:var(--font-size-sm);font-family:var(--font-primary);display:flex;align-items:center;gap:var(--spacing-sm);border-left:4px solid var(--secondary-color)}.favorites-notification.show{opacity:1;transform:translateY(0)}.favorites-notification i{color:var(--secondary-color);font-size:var(--font-size-lg)}@media (max-width:1024px){.favorites-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--spacing-lg)}.favorites-page-wrapper{padding:var(--spacing-xl) 0}.favorites-title{font-size:var(--font-size-xxl)}}@media (max-width:768px){.favorites-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.favorites-page-wrapper{padding:var(--spacing-lg) 0}.favorites-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.favorites-title{font-size:var(--font-size-xl)}.clear-favorites-btn{width:100%;justify-content:center}.product-card-info{padding:var(--spacing-md)}.product-sku{font-size:10px}.product-card-title{font-size:var(--font-size-sm);min-height:auto}.product-card-price{font-size:var(--font-size-lg)}.btn{padding:8px 12px;font-size:var(--font-size-xs)}.favorites-empty{padding:60px var(--spacing-lg)}.empty-icon{font-size:60px}.favorites-empty h2{font-size:var(--font-size-xl)}.favorites-notification{left:var(--spacing-md);right:var(--spacing-md);bottom:var(--spacing-md)}.favorites-button{width:100%;justify-content:center}}@media (max-width:480px){.favorites-grid{grid-template-columns:1fr}.favorites-title{font-size:var(--font-size-lg)}.clear-favorites-btn{padding:8px 16px;font-size:var(--font-size-xs)}.product-badge{font-size:10px;padding:4px 8px}.remove-favorite-item{width:28px;height:28px}.favorites-empty h2{font-size:var(--font-size-lg)}.btn-primary{padding:10px 20px}.favorites-count{top:0;right:11px}}@media (max-width:360px){.product-card-info{padding:var(--spacing-sm)}.product-card-title{font-size:var(--font-size-xs)}.product-card-price{font-size:var(--font-size-md)}}@media (min-width:1440px){.favorites-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-xxl)}}@media (hover:none) and (pointer:coarse){.favorites-button:hover,.remove-favorite-item:hover{transform:none}.favorites-button:active{transform:scale(.98)}.remove-favorite-item{min-width:44px;min-height:44px}}