.synergy-voting{ --syv-gap:14px; --syv-accent:#e5027b; --syv-toast-text:#000; --syv-mobile-fit:contain; font-family:'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
.synergy-voting-grid{ display:grid; gap:var(--syv-gap); grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); }
@media (max-width: 767px){ .synergy-voting-grid{ grid-template-columns:repeat(2,1fr); } }
.synergy-vote-card{ appearance:none; -webkit-appearance:none; -moz-appearance:none; background:transparent !important; border:0; padding:0; margin:0; cursor:pointer; box-shadow:none !important; border-radius:0; outline-offset:2px; display:block; position:relative; }
.synergy-vote-card img{ width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; display:block; border-radius:12px; transition: transform .2s ease, filter .2s ease, box-shadow .2s ease; }
@media (max-width: 767px){ .synergy-vote-card img{ object-fit:var(--syv-mobile-fit); } }
.synergy-voting[data-effect="zoom"] .synergy-vote-card:hover img{ transform:scale(1.06); }
.synergy-voting[data-effect="lift"] .synergy-vote-card:hover img{ transform:translateY(-4px); box-shadow:0 12px 30px rgba(0,0,0,.25); }
.synergy-voting[data-effect="glow"] .synergy-vote-card:hover img{ box-shadow:0 0 0 6px var(--syv-accent); }
.synergy-voting[data-effect="grayscale"] .synergy-vote-card img{ filter:grayscale(100%); }
.synergy-voting[data-effect="grayscale"] .synergy-vote-card:hover img{ filter:grayscale(0%); }
.synergy-voting[data-effect="tilt"] .synergy-vote-card:hover img{ transform:rotate(-2deg) scale(1.02); }
.synergy-voting[data-effect="pulse"] .synergy-vote-card::after{ content:''; position:absolute; inset:0; border-radius:12px; pointer-events:none; box-shadow:0 0 0 0 var(--syv-accent); opacity:0; transition: box-shadow .3s ease, opacity .3s ease; }
.synergy-voting[data-effect="pulse"] .synergy-vote-card:hover::after{ box-shadow:0 0 0 8px var(--syv-accent); opacity:.6; }
.synergy-voting-toast{ position:fixed; left:50%; top:50%; transform:translate(-50%,-50%) scale(.95); background:var(--syv-accent); color:var(--syv-toast-text); font-weight:700; padding:14px 18px; border-radius:999px; display:none; z-index:99999; box-shadow:0 10px 30px rgba(0,0,0,.25); }
.synergy-voting-toast.show{ display:inline-block; animation:syvPop var(--syv-duration, 2500ms) ease forwards; }
@keyframes syvPop{ 0%{opacity:0; transform:translate(-50%,-50%) scale(.85);} 10%{opacity:1; transform:translate(-50%,-50%) scale(1);} 85%{opacity:1;} 100%{opacity:0; transform:translate(-50%,-50%) scale(1);} }
.syv-trophy{ position:fixed; left:50%; top:50%; transform:translate(-50%,-50%) scale(.8); z-index:100000; pointer-events:none; opacity:0; animation:syvTrophyIn .18s ease forwards, syvTrophyOut var(--syv-trophy-duration, 1800ms) ease forwards .9s; }
@keyframes syvTrophyIn{ to{ opacity:1; transform:translate(-50%,-50%) scale(1);} }
@keyframes syvTrophyOut{ to{ opacity:0; transform:translate(-50%,-50%) scale(1);} }
.syv-fx-canvas{ position:fixed; left:0; top:0; width:100vw; height:100vh; z-index:99998; pointer-events:none; }
.syv-fx-canvas.widget{ position:absolute; width:100%; height:100%; left:0; top:0; }