:root{--ffwc-primary:#e74c3c;--ffwc-primary-hover:#c0392b;--ffwc-heart-outline:#666;--ffwc-text:#333;--ffwc-text-sec:#666;--ffwc-popup-bg:#fff;--ffwc-overlay-a:0.5;--ffwc-radius:8px;--ffwc-heart:24px;--ffwc-font-btn:13px;--ffwc-heart-svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E");--ffwc-heart-svg-fill:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000' stroke='%23000' stroke-width='2'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E");--ffwc-r2:calc(var(--ffwc-radius) / 2);--ffwc-border:rgba(0,0,0,.12)}.ffwc-favorite-btn{background:none;border:none;cursor:pointer;padding:6px 0;display:flex;align-items:center;gap:6px;width:100%;clear:both;outline:none;position:relative;z-index:5}.ffwc-favorite-btn:focus,.ffwc-favorite-btn:active{outline:none;box-shadow:none}.ffwc-favorite-btn:hover .ffwc-heart-icon{transform:scale(1.2)}.ffwc-favorite-btn:active .ffwc-heart-icon{transform:scale(.9)}.ffwc-favorite-btn.ffwc-loading{opacity:.5;pointer-events:none}.ffwc-favorite-text{font-size:var(--ffwc-font-btn);color:var(--ffwc-text-sec)}.ffwc-favorited .ffwc-favorite-text{color:var(--ffwc-primary)}.ffwc-heart-icon{display:block;width:var(--ffwc-heart);height:var(--ffwc-heart);background:var(--ffwc-heart-outline);-webkit-mask:var(--ffwc-heart-svg) center/contain no-repeat;mask:var(--ffwc-heart-svg) center/contain no-repeat}.ffwc-favorited .ffwc-heart-icon{background:var(--ffwc-primary);-webkit-mask-image:var(--ffwc-heart-svg-fill);mask-image:var(--ffwc-heart-svg-fill)}.ffwc-overlay{position:fixed;inset:0;background:rgba(0,0,0,var(--ffwc-overlay-a));z-index:99999;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.ffwc-overlay.ffwc-visible{opacity:1}.ffwc-popup{background:var(--ffwc-popup-bg);border-radius:var(--ffwc-radius);padding:24px;max-width:400px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 4px 24px rgba(0,0,0,.15);transform:translateY(20px);transition:transform .2s}.ffwc-overlay.ffwc-visible .ffwc-popup{transform:translateY(0)}.ffwc-popup-title{margin:0 0 16px;font-size:18px;font-weight:600;color:var(--ffwc-text)}.ffwc-popup-close{position:absolute;top:12px;right:12px;background:none;border:none;font-size:24px;cursor:pointer;color:var(--ffwc-text-sec);padding:4px}.ffwc-popup-close:hover{color:var(--ffwc-text)}.ffwc-variation-list{list-style:none;margin:0;padding:0}.ffwc-variation-list li{padding:8px 0;border-bottom:1px solid var(--ffwc-border)}.ffwc-variation-list li:last-child{border-bottom:none}.ffwc-variation-list label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--ffwc-text)}.ffwc-variation-list input[type="checkbox"]{width:16px;height:16px;accent-color:var(--ffwc-primary)}.ffwc-variation-all{font-weight:600;padding-bottom:12px;margin-bottom:4px;border-bottom:2px solid rgba(0,0,0,.12)}.ffwc-popup-actions{margin-top:16px;display:flex;gap:8px;justify-content:flex-end}.ffwc-popup-actions button{padding:8px 20px;border-radius:var(--ffwc-r2);border:1px solid rgba(0,0,0,.15);cursor:pointer;font-size:14px;color:var(--ffwc-text);background:var(--ffwc-popup-bg)}.ffwc-popup-actions .ffwc-btn-primary{background:var(--ffwc-primary);color:#fff;border-color:var(--ffwc-primary)}.ffwc-popup-actions .ffwc-btn-primary:hover{background:var(--ffwc-primary-hover);border-color:var(--ffwc-primary-hover)}.ffwc-auth-tabs{display:flex;margin-bottom:16px;border-bottom:2px solid var(--ffwc-border)}.ffwc-auth-tab{padding:8px 16px;background:none;border:none;cursor:pointer;font-size:14px;font-weight:500;color:var(--ffwc-text-sec);border-bottom:2px solid transparent;margin-bottom:-2px}.ffwc-auth-tab.ffwc-active{color:var(--ffwc-text);border-bottom-color:var(--ffwc-primary)}.ffwc-auth-form{display:none}.ffwc-auth-form.ffwc-active{display:block}.ffwc-auth-field{margin-bottom:12px}.ffwc-auth-field label{display:block;margin-bottom:4px;font-size:13px;font-weight:500;color:var(--ffwc-text-sec)}.ffwc-auth-field input{width:100%;padding:8px 12px;border:1px solid rgba(0,0,0,.15);border-radius:var(--ffwc-r2);font-size:14px;box-sizing:border-box;color:var(--ffwc-text);background:var(--ffwc-popup-bg)}.ffwc-auth-field input:focus{outline:none;border-color:var(--ffwc-primary);box-shadow:0 0 0 2px rgba(0,0,0,.05)}.ffwc-auth-submit{width:100%;padding:10px;background:var(--ffwc-primary);color:#fff;border:none;border-radius:var(--ffwc-r2);font-size:14px;font-weight:500;cursor:pointer;margin-top:4px}.ffwc-auth-submit:hover{background:var(--ffwc-primary-hover)}.ffwc-auth-submit:disabled{opacity:.5;cursor:not-allowed}.ffwc-auth-error{color:var(--ffwc-primary);font-size:13px;margin-top:8px;display:none}.ffwc-auth-error.ffwc-visible{display:block}.ffwc-favorites-empty{text-align:center;padding:40px 20px;color:var(--ffwc-text-sec)}.ffwc-favorites-empty a{color:var(--ffwc-primary)}.ffwc-unavailable-product{padding:20px;background:rgba(0,0,0,.02);border:1px dashed rgba(0,0,0,.15);border-radius:var(--ffwc-r2);text-align:center;color:var(--ffwc-text-sec)}.ffwc-unavailable-product p{margin:0 0 8px}.ffwc-remove-favorite{background:none;border:1px solid var(--ffwc-border);padding:4px 12px;border-radius:var(--ffwc-r2);cursor:pointer;font-size:12px;color:var(--ffwc-text-sec);display:flex;align-items:center;gap:2px;margin-top:6px;width:fit-content;clear:both}.ffwc-remove-favorite:hover{border-color:var(--ffwc-primary);color:var(--ffwc-primary)}.ffwc-remove-icon{font-size:14px;line-height:1}.ffwc-notification-prefs{margin-bottom:24px;padding:16px;background:rgba(0,0,0,.02);border:1px solid var(--ffwc-border);border-radius:var(--ffwc-radius);display:flex;align-items:center;gap:12px}.ffwc-notification-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--ffwc-text)}.ffwc-notification-toggle input[type="checkbox"]{width:18px;height:18px;accent-color:var(--ffwc-primary);cursor:pointer;flex-shrink:0}.ffwc-notification-saved{font-size:12px;color:#2e7d32;font-weight:500}.ffwc-variation-labels{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;padding:0 4px}.ffwc-variation-tag{font-size:11px;color:var(--ffwc-text-sec);background:rgba(0,0,0,.05);padding:2px 8px;border-radius:var(--ffwc-r2);white-space:nowrap}