.favorites-link{position:relative}
.mobile-bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr))}
.favorite-count{position:absolute;top:-3px;right:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:20px;background:var(--forest);color:#fff;font:600 10px/17px var(--sans);text-align:center}
.favorite-count[hidden],.favorites-page [hidden]{display:none!important}
.mobile-bottom-nav .favorite-count{top:4px;right:calc(50% - 24px)}
.product-media{position:relative}
.product-media>.favorite-form{position:absolute;top:10px;right:10px;z-index:2}
.favorite-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:10px;border:1px solid var(--border);border-radius:50%;background:#fff;color:var(--forest);cursor:pointer;box-shadow:0 2px 8px #0000000d}
.favorite-button[aria-pressed="true"] .icon{fill:currentColor}
.favorite-button:hover{background:var(--cream)}
.favorite-button:focus-visible{outline:2px solid var(--forest);outline-offset:3px}
.favorite-button:disabled{opacity:.55;cursor:wait}
.product-detail .favorite-form{margin:16px 0}
.product-detail .favorite-button{border-radius:24px;padding:10px 16px;font:inherit}
.favorites-page h1{margin:16px 0}
.favorites-page .product-grid{margin-top:28px}
.favorites-page .empty-state>.icon{width:40px;height:40px;color:var(--forest);margin-bottom:16px}
.favorite-notice{position:fixed;bottom:92px;left:50%;transform:translateX(-50%);z-index:1000;width:max-content;max-width:calc(100vw - 32px);padding:14px 20px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--forest);box-shadow:0 6px 28px #0002;font-size:14px}
.favorite-notice-error{color:#9a3030}
@media(max-width:759px){.product-media>.favorite-form{top:6px;right:6px}.favorite-button{min-width:40px;min-height:40px;padding:8px}}
