.gka-favorite-card { position:relative; min-width:0; }
.gka-favorite { position:absolute; z-index:2; top:12px; right:12px; width:30px; height:30px; display:grid; place-items:center; padding:7px; border:1px solid #f4f4f4; border-radius:50%; background:#fff; color:#202020; box-shadow:0 3px 12px #20202020; cursor:pointer; opacity:0; transition:opacity .2s,transform .2s; }
.gka-favorite svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.8; }
.gka-favorite.is-saved { opacity:1; color:#171717; }
.gka-favorite.is-saved svg { fill:currentColor; }
.gka-favorite-card:hover>.gka-favorite,.gka-favorite:focus-visible { opacity:1; }
.gka-favorite:hover { transform:scale(1.07); }
.gka-favorite:disabled { cursor:wait; }
.gka-favorites-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.gka-favorites-grid a { display:block; position:relative; overflow:hidden; border-radius:12px; color:#fff; text-decoration:none; }
.gka-favorites-grid img { width:100%; display:block; aspect-ratio:4/3; object-fit:cover; border-radius:12px; }
.profile-page .gka-favorite-card>.gka-favorite { top:auto; bottom:12px; right:12px; opacity:0; }
.profile-page .gka-favorite-card:hover>.gka-favorite,.profile-page .gka-favorite-card:focus-within>.gka-favorite { opacity:1; }
@media(hover:none) { .gka-favorite,.profile-page .gka-favorite-card>.gka-favorite { opacity:1; } }
@media(max-width:1050px) { .gka-favorites-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:700px) { .gka-favorites-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; } }

.gka-favorite-login{box-sizing:border-box;width:min(380px,calc(100vw - 32px));padding:32px;border:1px solid #eee;border-radius:16px;background:#fff;color:#171717;box-shadow:0 20px 80px #0002;font-family:Montserrat,Arial,sans-serif}
.gka-favorite-login::backdrop{background:#0005;backdrop-filter:blur(3px)}
.gka-favorite-login h2{font-size:19px;line-height:1.4;margin:0 0 12px;font-weight:600}
.gka-favorite-login p{font-size:13px;line-height:1.8;color:#777;margin:0 0 24px}
.gka-favorite-login>div{display:flex;gap:10px;justify-content:flex-end}
.gka-favorite-login>div button,.gka-favorite-login>div a{font:inherit;font-size:12px;border:0;border-radius:8px;padding:11px 18px;cursor:pointer;text-decoration:none}
.gka-favorite-login-cancel{background:#f3f3f3;color:#555}.gka-favorite-login>div a{background:#171717;color:#fff}
.gka-favorite-login-close{position:absolute;right:10px;top:8px;border:0;background:none;color:#777;font-size:22px;cursor:pointer}
