.fav-toggle{position:absolute;top:10px;right:10px;z-index:3;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid #d8dfd1;border-radius:50%;background:#fffdf6ed;color:#294735;box-shadow:0 3px 14px #22392814;cursor:pointer}
.fav-toggle[hidden],.fav-count[hidden],.fav-notice[hidden]{display:none!important}
.fav-toggle svg,.pp .media .fav-toggle svg{display:block;width:22px;height:22px}
.fav-toggle[aria-pressed=true] svg{fill:currentColor}
.fav-toggle:hover{background:#e8eddf}
.fav-toggle:focus-visible{outline:3px solid #8a6e3e;outline-offset:3px}
.fav-toggle:disabled{cursor:wait;opacity:.65}
.favorite-media{position:relative;width:100%;height:100%;display:grid;place-items:center}
.favorite-media>.ph{width:100%;height:100%;object-fit:contain}
.favorite-media>.art-box{width:100%;height:100%}
.fav-count{position:absolute;top:0;right:-1px;background:#294735;color:#fff;font-weight:700;font-size:10px;border-radius:12px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 4px}
.favorites-link:hover{color:#294735;background:#edf0e6}
.fav-notice{position:fixed;left:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));max-width:min(420px,calc(100vw - 110px));z-index:90;background:#294735;color:#fffdf5;padding:12px 17px;border-radius:14px;box-shadow:0 6px 24px #17342126;font-size:14px;pointer-events:none}
.favorites-page{padding-top:12px;padding-bottom:56px;min-height:55vh}
.favorites-page h1{font-size:clamp(32px,4vw,48px);color:var(--ink)}
.favorites-intro{margin:14px 0 8px;font-size:18px}
.favorites-privacy{max-width:72ch;color:var(--muted);font-size:14px;margin:0 0 28px}
.favorites-warning,.favorites-error{padding:14px 18px;border-radius:12px;background:#f1eadc;color:#5d4826;border:1px solid #d9c9a8;margin-bottom:20px}
.favorites-page [hidden]{display:none!important}
.favorites-empty{background:var(--surface);padding:48px 20px}
.favorites-empty p{font-family:var(--display);font-size:26px;margin:0 0 22px;color:var(--ink)}
.favorites-grid{margin-top:20px;align-items:stretch}
.fav-availability{font-size:13px;color:var(--muted);margin:8px 0}
.fav-unavailable{font-size:13px;margin:0;color:var(--muted)}
.fav-buy{margin-top:auto;display:grid;gap:10px;padding-top:12px}
.fav-buy label{display:grid;gap:5px;font-size:13px}
.fav-buy select,.fav-buy input{font:inherit;color:var(--ink);border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:9px 10px;min-width:0;width:100%;min-height:44px}
.fav-buy .btn{padding:12px 16px;min-height:46px}
.deco-product{position:relative}
.deco-product>.fav-toggle{position:absolute;width:44px;height:44px;border-radius:50%;padding:0;background:#fffdf6;color:#294735}
@media(max-width:480px){header.has-favorites .hrow{padding-left:16px;padding-right:16px;gap:8px}header.has-favorites .logo span{font-size:22px}header.has-favorites .logo>svg{width:28px;height:28px}header.has-favorites .icons{gap:2px}header.has-favorites .ibtn{width:36px;height:42px}.fav-notice{left:12px;bottom:16px;font-size:13px}.favorites-grid{grid-template-columns:minmax(0,1fr)}.fav-buy input,.fav-buy select{font-size:16px}}
@media(max-width:360px){header.has-favorites .logo>svg{display:none}}
