
  /* Hide legacy "I'm interested" form for logged-in users; show QUIERO ESTE.
     Anonymous users continue to see the legacy form so SEO crawlers + the
     no-signup fallback still work. */
  body.auttiv-logged-in #vdp-lead-form { display: none !important; }
  /* Top CTA bar handles both states now; old per-state boxes stay hidden */
  #vdp-quiero-este-box, #vdp-quiero-anon-box { display: none !important; }
  /* Heart button next to QUIERO ESTE (square, theme-aware) */
  #vdp-photo-heart-btn { position: relative; }
  #vdp-photo-heart-btn:hover { color: #c2410c; border-color: #c2410c; background: rgba(194,65,12,.06); transform: scale(1.05); }
  #vdp-photo-heart-btn.saved { color: #dc2626; background: #fee2e2; border-color: #fecaca; }
  [data-theme="dark"] #vdp-photo-heart-btn.saved { background: rgba(220,38,38,.15); border-color: rgba(220,38,38,.4); }
  #vdp-photo-heart-btn.saved::after {
    content:""; position:absolute; inset:0; border-radius:14px;
    box-shadow:0 0 0 0 rgba(220,38,38,.5); animation:abHeartPulse .55s ease-out;
    pointer-events:none;
  }
  #vdp-top-quiero-btn:hover { transform: translateY(-1px); box-shadow: 0 14px 32px rgba(194,65,12,.36), inset 0 1px 0 rgba(255,255,255,.22); }
  #vdp-top-quiero-btn:active { transform: translateY(0); }
  #vdp-top-quiero-btn[disabled] { opacity: .7; cursor: default; }

  /* Heart button injected into every .car-card. Hidden by default; shown
     only when the buyer is logged in. */
  /* Small, unobtrusive heart top-RIGHT — never overlaps the top-left NEW/USED
     badge. Hidden by default: only shown when the car is ALREADY saved (small
     red heart, like the garage), or on card hover (desktop) so you can still
     save from the grid. Ángel 2026-06-27: "quita que se vean los corazones...
     si ya le di favorito que se muestre pequeño arriba a la derecha". */
  .auttiv-heart-btn{
    position:absolute; top:1px; right:1px; left:auto;
    /* 44×44 hit area (A11Y min touch target) — the heart glyph stays 20px,
       centered, so it looks the same but is far easier to tap. */
    width:44px; height:44px; min-width:44px; min-height:44px;
    border-radius:50%;
    background:transparent;
    border:0; cursor:pointer; padding:0;
    display:none;
    align-items:center; justify-content:center;
    font-size:20px; line-height:1; color:#fff;
    z-index:5;
    transition:transform .15s, color .15s;
    filter:drop-shadow(0 1px 3px rgba(0,0,0,.55));
  }
  /* Saved = small red heart, ALWAYS visible top-right (like the garage). */
  body.auttiv-logged-in .auttiv-heart-btn.saved{ display:inline-flex; color:#dc2626; }
  /* Not-saved = revealed on hover only (desktop pointers), keeps cards clean. */
  @media (hover:hover){
    body.auttiv-logged-in .car-card:hover .auttiv-heart-btn{ display:inline-flex; }
  }
  .auttiv-heart-btn:hover{ transform:scale(1.12); }
  .auttiv-heart-btn.saved::after{
    content:""; position:absolute; inset:0;
    border-radius:50%; box-shadow:0 0 0 0 rgba(220,38,38,.5);
    animation:abHeartPulse .55s ease-out;
  }
  @keyframes abHeartPulse{
    0%  { box-shadow:0 0 0 0 rgba(220,38,38,.5); }
    100%{ box-shadow:0 0 0 18px rgba(220,38,38,0);  }
  }
  /* Flying heart — clones, animates to nav "My Garage" icon, then fades. */
  .auttiv-heart-fly{
    position:fixed; z-index:9999; pointer-events:none;
    font-size:28px; color:#dc2626;
    transition:transform .65s cubic-bezier(.45,.05,.55,.95), opacity .25s ease-in;
    transform-origin:center;
    text-shadow:0 2px 8px rgba(0,0,0,.2);
  }

  /* Toast (bottom-center, ephemeral) */
  .auttiv-toast{
    position:fixed; bottom:96px; left:50%; transform:translateX(-50%);
    z-index:9990;
    background:#18181b; color:#fff;
    padding:12px 22px; border-radius:100px;
    font-size:13.5px; font-weight:600; letter-spacing:.01em;
    box-shadow:0 14px 36px rgba(0,0,0,.4), 0 2px 6px rgba(0,0,0,.16);
    display:flex; align-items:center; gap:10px;
    font-family:'Manrope',-apple-system,sans-serif;
    max-width:calc(100vw - 32px);
    opacity:0; transform:translate(-50%, 10px);
    transition:opacity .2s, transform .25s cubic-bezier(.2,.7,.2,1);
  }
  .auttiv-toast.on{ opacity:1; transform:translate(-50%, 0); }
  .auttiv-toast .check{ font-size:16px; }
