/* =====================================================================
   COMPONENTE wishlist (AVT Core): coração de favoritos e página Favoritos.
   Variáveis (padrão): --avt-wl-color (#555, coração vazio)  --avt-wl-on (#e11d48, coração marcado)  --avt-wl-bg (rgba(255,255,255,.92))
   --avt-wl-size (40px)  --avt-wl-radius (50%)  --avt-wl-pos-top (12px)  --avt-wl-pos-right (12px)  --avt-wl-shadow (sombra do botão)  --avt-wl-icon-filter (ex.: drop-shadow no ícone)
   ===================================================================== */
.avt-wish{position:relative;display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:none;color:var(--avt-wl-color,#555);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .15s}
.avt-wish__ico{position:relative;display:inline-grid;place-items:center;width:var(--avt-wl-size,40px);height:var(--avt-wl-size,40px);background:var(--avt-wl-bg,rgba(255,255,255,.92));border-radius:var(--avt-wl-radius,50%);box-shadow:var(--avt-wl-shadow,0 1px 4px rgba(0,0,0,.15));transition:transform .2s}
.avt-wish__ico svg{filter:var(--avt-wl-icon-filter,none)}
.avt-wish__on,.avt-wish__off{display:grid;place-items:center;grid-area:1/1}
.avt-wish__on{display:none;color:var(--avt-wl-on,#e11d48)}
.avt-wish.is-on .avt-wish__on{display:grid}
.avt-wish.is-on .avt-wish__off{display:none}
.avt-wish:hover .avt-wish__ico{transform:scale(1.08)}
.avt-wish.is-pop .avt-wish__ico{animation:avt-wish-pop .45s}
@keyframes avt-wish-pop{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(1)}}
.avt-wish:focus-visible{outline:2px solid var(--avt-wl-on,#e11d48);outline-offset:2px}
/* posição padrão do coração dentro de um cartão (o cartão precisa ser position:relative) */
.avt-card>.avt-wish{position:absolute;z-index:3;top:var(--avt-wl-pos-top,12px);right:var(--avt-wl-pos-right,12px)}
.avt-wish--inline .avt-wish__ico{box-shadow:none;background:none;width:auto;height:auto}
.avt-wish__t{font-size:.95em}
.avt-wish-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--avt-wl-on,#e11d48);color:#fff;font:700 10.5px/1 sans-serif}
.avt-wish-count[hidden]{display:none}
/* página Favoritos */
.avt-wishlist__grid .avt-card.is-leaving{opacity:0;transform:scale(.96);transition:opacity .25s,transform .25s}
.avt-wishlist__empty{padding:40px 16px;text-align:center}
.avt-wishlist__empty[hidden]{display:none}
.avt-wishlist__empty p{margin:0 0 16px}
@media (prefers-reduced-motion:reduce){.avt-wish.is-pop .avt-wish__ico{animation:none}}
/* link do cabeçalho (coração + contador): avt_wishlist_link_html() */
.avt-wish-link{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:38px;color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
.avt-wish-link__ico{position:relative;display:inline-grid;place-items:center;width:38px;height:38px}
.avt-wish-link:hover{color:var(--avt-wl-on,#e11d48)}
.avt-wish-link .avt-wish-count{position:absolute;top:0;right:-2px;min-width:18px;height:18px;padding:0 5px;box-sizing:border-box}
/* aviso ao favoritar. Variáveis: --avt-wl-toast-bg (#1d2327) --avt-wl-toast-color (#fff) --avt-wl-toast-link (#fff) --avt-wl-toast-radius (8px) --avt-wl-toast-bottom (24px; no celular 84px) */
.avt-wl-toast{position:fixed;z-index:100000;left:50%;bottom:var(--avt-wl-toast-bottom,24px);display:flex;align-items:center;gap:14px;max-width:min(560px,calc(100vw - 24px));padding:12px 14px 12px 18px;background:var(--avt-wl-toast-bg,#1d2327);color:var(--avt-wl-toast-color,#fff);border-radius:var(--avt-wl-toast-radius,8px);box-shadow:0 10px 30px rgba(0,0,0,.28);font-size:14px;line-height:1.35;transform:translate(-50%,24px);opacity:0;visibility:hidden;transition:transform .25s ease,opacity .25s ease,visibility 0s .25s}
.avt-wl-toast.is-on{transform:translate(-50%,0);opacity:1;visibility:visible;transition:transform .25s ease,opacity .25s ease}
.avt-wl-toast__t{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.avt-wl-toast__a{flex:none;background:none;border:0;padding:6px 2px;color:var(--avt-wl-toast-link,#fff);font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;white-space:nowrap}
.avt-wl-toast__x{flex:none;display:grid;place-items:center;width:28px;height:28px;background:none;border:0;color:inherit;font-size:22px;line-height:1;opacity:.7;cursor:pointer}
.avt-wl-toast__x:hover{opacity:1}
@media (max-width:767px){.avt-wl-toast{bottom:var(--avt-wl-toast-bottom,84px);width:calc(100vw - 24px)}}
@media (prefers-reduced-motion:reduce){.avt-wl-toast,.avt-wl-toast.is-on{transition:none}}
/* dica (tooltip) do coração sem texto: mouse ou teclado; no toque não aparece. Usa as mesmas variáveis do aviso (--avt-wl-toast-*) */
.avt-wish[data-tip]::after{content:attr(data-tip);position:absolute;z-index:5;top:calc(100% + 6px);right:0;padding:6px 10px;background:var(--avt-wl-toast-bg,#1d2327);color:var(--avt-wl-toast-color,#fff);border-radius:var(--avt-wl-toast-radius,6px);font:500 12.5px/1.2 sans-serif;white-space:nowrap;opacity:0;visibility:hidden;transform:translateY(-3px);pointer-events:none;transition:opacity .15s,transform .15s,visibility 0s .15s}
@media (hover:hover){.avt-wish[data-tip]:hover::after{opacity:1;visibility:visible;transform:none;transition:opacity .15s .25s,transform .15s .25s}}
.avt-wish[data-tip]:focus-visible::after{opacity:1;visibility:visible;transform:none;transition:opacity .15s,transform .15s}
