.favorite-button{position:absolute;top:12px;right:12px;z-index:4;display:grid;place-items:center;width:44px;height:44px;padding:10px;border:1px solid #e7e4e0;border-radius:50%;background:#fff;color:#202020;box-shadow:0 2px 10px #0000000d;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color .16s ease,box-shadow .16s ease,transform .16s ease}
.favorite-button svg{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.favorite-button[aria-pressed="true"]{color:#ad2944}.favorite-button[aria-pressed="true"] svg{fill:currentColor}
.favorite-button:focus-visible{outline:2px solid #1f2340;outline-offset:3px}.favorite-button:active{transform:scale(.94)}
@media(hover:hover){.favorite-button:hover{color:#ad2944;box-shadow:0 3px 14px #0000001c}}
.favorite-feedback{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:50%;z-index:1550;width:max-content;max-width:calc(100vw - 32px);margin:0;padding:11px 18px;border:1px solid #e7e4e0;border-radius:8px;background:#fff;color:#202020;box-shadow:0 4px 24px #0002;transform:translateX(-50%);font:14px/1.6 var(--arabic,Arial,sans-serif);text-align:center;direction:rtl;pointer-events:none}.favorite-feedback[hidden]{display:none}
@media(max-width:767px){.favorite-button{top:10px;right:10px}}
@media(prefers-reduced-motion:reduce){.favorite-button{transition:none}}
.favorites-toggle{position:relative}.favorites-toggle [data-favorites-count]{position:absolute;top:0;right:0;display:grid;place-items:center;min-width:17px;height:17px;padding:0 3px;border-radius:50%;background:#252a26;color:#fff;font:10px Arial}.favorites-toggle [data-favorites-count][hidden]{display:none}
body.favorites-open{overflow:hidden}.favorites-backdrop{position:fixed;inset:0;z-index:1499;background:#0007}.favorites-drawer{position:fixed;inset-block:0;left:0;z-index:1500;display:flex;flex-direction:column;width:min(460px,92vw);max-height:100dvh;background:#fff;color:#171717;box-shadow:14px 0 36px #0003;direction:rtl}.favorites-drawer[hidden],.favorites-backdrop[hidden],.favorites-drawer [hidden]{display:none}
.favorites-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px 14px;border-bottom:1px solid #ece9e5}.favorites-heading h2{margin:0;font-size:26px}.favorites-close{width:44px;height:44px;padding:0;border:0;background:transparent;color:#171717;font:36px/1 Arial}.favorites-list{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;padding:0 20px}.favorites-row{display:grid;grid-template-columns:80px minmax(0,1fr) 36px;gap:14px;align-items:start;padding:20px 0;border-bottom:1px solid #eee}.favorites-image{display:grid;place-items:center;width:80px;height:100px;background:#fff}.favorites-image img{width:100%;height:100%;object-fit:contain}.favorites-image span{font:34px Georgia;color:#8b7046}.favorites-info{display:grid;justify-items:start;gap:8px;min-width:0}.favorites-name{font-size:15px;font-weight:600;line-height:1.5;overflow-wrap:anywhere;unicode-bidi:plaintext}.favorites-view,.favorites-retry{color:#3c3c3c;font:13px/1.5 var(--arabic,Arial,sans-serif);text-decoration:underline;text-underline-offset:4px}.favorites-retry{padding:0;border:0;background:transparent;text-align:start}.favorites-state{margin:0;font-size:13px;color:#6c6c6c}.favorites-remove{display:grid;place-items:center;width:36px;height:40px;padding:8px;border:0;background:transparent;color:#777}.favorites-remove svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}.favorites-remove:hover{color:#ad2944}
.favorites-empty{flex:1;display:grid;place-content:center;justify-items:center;gap:14px;padding:40px 24px;text-align:center}.favorites-empty>svg{width:46px;height:46px;fill:none;stroke:#ad2944;stroke-width:1.2}.favorites-empty h3,.favorites-empty p{margin:0}.favorites-empty h3{font-size:21px}.favorites-empty p{color:#666;font-size:14px;line-height:1.8}.favorites-empty .button{margin-top:6px;min-height:44px}.favorites-note{margin:0;padding:14px 20px calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid #eee;text-align:center;color:#777;font-size:12px}.favorites-drawer button:focus-visible,.favorites-drawer a:focus-visible{outline:2px solid #1f2340;outline-offset:3px}
@media(max-width:767px){.favorites-heading{padding:14px 14px 10px}.favorites-heading h2{font-size:23px}.favorites-list{padding-inline:14px}.favorites-row{grid-template-columns:66px minmax(0,1fr) 32px;gap:10px;padding:16px 0}.favorites-image{width:66px;height:86px}.favorites-remove{width:32px}.favorites-name{font-size:14px}}
