.campaign-card { transition: all 0.3s ease; position: relative; overflow: hidden; }
.campaign-card::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: linear-gradient(45deg, transparent, rgba(255,255,255,0.1), transparent); transform: rotate(45deg); transition: all 0.6s; opacity: 0; }
.campaign-card:hover::before { animation: shine 0.6s ease-in-out; }
@keyframes shine { 0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); opacity: 0; } 50% { opacity: 1; } 100% { transform: translateX(100%) translateY(100%) rotate(45deg); opacity: 0; } }
.discount-badge { position: absolute; top: 15px; right: 15px; background: linear-gradient(135deg, #ff6b6b, #ee5a24); color: white; padding: 8px 12px; border-radius: 20px; font-weight: bold; font-size: 12px; box-shadow: 0 4px 15px rgba(238, 90, 36, 0.4); animation: pulse 2s infinite; }
@keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } }
