.gp-favorite-button{position:absolute;z-index:9;top:14px;inset-inline-end:14px;width:44px;height:44px;display:grid;place-items:center;padding:0;color:var(--brand-secondary,#862f48);border:1px solid rgba(255,255,255,.76);border-radius:50%;background:rgba(255,253,249,.86);box-shadow:0 9px 24px rgba(20,56,47,.13);backdrop-filter:blur(12px);cursor:pointer;transition:transform .22s ease,color .22s ease,background .22s ease,box-shadow .22s ease}
.gp-favorite-button:hover,.gp-favorite-button:focus-visible{transform:translateY(-2px) scale(1.05);outline:2px solid var(--brand-accent,#c09a5d);outline-offset:2px}
.gp-favorite-button svg{width:20px;height:20px;fill:transparent;stroke:currentColor;stroke-width:1.7;transition:fill .22s ease,transform .22s ease}
.gp-favorite-button.is-favorite{color:#fff;border-color:var(--brand-secondary,#862f48);background:var(--brand-secondary,#862f48);box-shadow:0 12px 28px rgba(134,47,72,.28)}
.gp-favorite-button.is-favorite svg{fill:currentColor;transform:scale(1.06)}
.gp-favorite-button[data-favorite-busy="1"]{cursor:wait;opacity:.65}
.product-heart.gp-favorite-button{display:grid;padding:0}
.gp-favorite-toast{position:fixed;z-index:1300;inset-inline-start:50%;bottom:max(24px,calc(env(safe-area-inset-bottom) + 14px));max-width:min(440px,calc(100% - 28px));padding:12px 18px;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:var(--brand-primary,#15382f);box-shadow:0 18px 44px rgba(11,36,29,.25);font:600 10px/1.7 "Noto Kufi Arabic",sans-serif;text-align:center;opacity:0;visibility:hidden;transform:translate(-50%,18px);transition:.25s ease;backdrop-filter:blur(14px)}
.gp-favorite-toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
.gp-favorites-panel{margin-bottom:20px}
.gp-favorites-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.gp-favorite-card{position:relative;overflow:hidden;border:1px solid rgba(125,103,73,.18);border-radius:18px;background:rgba(255,255,255,.7)}
.gp-favorite-card[hidden]{display:none!important}
.gp-favorite-card-media{position:relative;height:190px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#eee3d2,#d9c5a8)}
.gp-favorite-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.gp-favorite-card:hover .gp-favorite-card-media img{transform:scale(1.035)}
.gp-favorite-card-copy{display:grid;gap:7px;padding:14px}
.gp-favorite-card-copy strong{font:700 17px/1.5 "Noto Serif Arabic",serif}
.gp-favorite-card-copy small{color:var(--brand-secondary,#862f48);font-size:8px;font-weight:700}
.gp-favorite-card-copy a{font-size:8px;font-weight:700}
.gp-favorite-card .gp-favorite-button{top:10px;inset-inline-end:10px;width:44px;height:44px}
.gp-favorites-empty{padding:28px 18px;border:1px dashed rgba(125,103,73,.26);border-radius:16px;color:#736d65;text-align:center;font-size:10px}
.gp-favorites-empty[hidden]{display:none!important}
.gp-favorites-empty a{display:inline-flex;margin-top:10px;padding:9px 14px;color:#fff;border-radius:10px;background:var(--brand-primary,#15382f);font-size:8px;font-weight:700}
@media(max-width:900px){.gp-favorites-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.gp-favorite-button{top:10px;inset-inline-end:10px;width:44px;height:44px}.gp-favorites-grid{grid-template-columns:1fr 1fr;gap:9px}.gp-favorite-card-media{height:150px}.gp-favorite-card-copy{padding:11px}.gp-favorite-card-copy strong{font-size:14px}.gp-favorite-toast{bottom:calc(82px + env(safe-area-inset-bottom));border-radius:14px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.gp-favorite-button,.gp-favorite-button svg,.gp-favorite-toast,.gp-favorite-card-media img{transition:none!important}}
