
    /* Heart button — top-LEFT of every product card.
       Минималистичный контур, без подложки и тени. Не отвлекает от карточки. */
    ul.products li.product .e24-wl-btn,
    .e24-similar-card .e24-wl-btn,
    .e24-gear-recs-card .e24-wl-btn {
        position:absolute;
        top:8px;
        left:8px;
        z-index:6;
        width:32px;
        height:32px;
        padding:0;
        margin:0;
        border:0;
        background:transparent;
        color:#fff;
        cursor:pointer;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        box-shadow:none;
        backdrop-filter:none;
        -webkit-backdrop-filter:none;
        transition:color .15s, transform .15s;
        -webkit-appearance:none; appearance:none;
        font-family:inherit;
    }
    ul.products li.product .e24-wl-btn:hover,
    .e24-similar-card .e24-wl-btn:hover,
    .e24-gear-recs-card .e24-wl-btn:hover {
        color:#E63946;
        transform:scale(1.12);
        background:transparent;
        box-shadow:none;
    }
    ul.products li.product .e24-wl-btn .e24-wl-icon,
    .e24-similar-card .e24-wl-btn .e24-wl-icon,
    .e24-gear-recs-card .e24-wl-btn .e24-wl-icon {
        width:22px;
        height:22px;
        transition:fill .2s, stroke .2s, transform .15s;
        fill:none;
        /* лёгкая тёмная тень — чтобы белый контур был виден и на светлом фоне */
        filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));
    }
    /* Active state — filled red heart, контур остаётся минималистичным */
    ul.products li.product .e24-wl-btn.is-fav,
    .e24-similar-card .e24-wl-btn.is-fav,
    .e24-gear-recs-card .e24-wl-btn.is-fav {
        color:#E63946;
        background:transparent;
    }
    ul.products li.product .e24-wl-btn.is-fav .e24-wl-icon,
    .e24-similar-card .e24-wl-btn.is-fav .e24-wl-icon,
    .e24-gear-recs-card .e24-wl-btn.is-fav .e24-wl-icon {
        fill:#E63946;
        stroke:#E63946;
        animation:e24wl-pop .35s ease-out;
    }
    @keyframes e24wl-pop {
        0%   { transform:scale(1); }
        40%  { transform:scale(1.35); }
        100% { transform:scale(1); }
    }
    /* Make sure card itself is positioning context (already true on most loops) */
    ul.products li.product { position:relative; }

    /* Header counter badge (next to existing heart icon if any) */
    .e24-wl-count {
        display:inline-flex;
        align-items:center;
        justify-content:center;
        min-width:18px;
        height:18px;
        padding:0 5px;
        margin-left:4px;
        background:#E63946;
        color:#fff;
        border-radius:9px;
        font-size:.72rem;
        font-weight:800;
        line-height:1;
    }
    .e24-wl-count[data-empty="1"] { display:none; }
    