/**
 * Sepete Ekleme Işık Efekti CSS - Tüm Kenarlar Kalıcı Flash
 */

.cart-light-effect {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 99999;
}

/* Sol kenar ışık */
.cart-light-effect::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 8px;
    height: 100%;
    background: linear-gradient(to bottom,
        rgba(255, 50, 77, 0) 0%,
        rgba(255, 50, 77, 1) 50%,
        rgba(255, 50, 77, 0) 100%
    );
    box-shadow: 
        0 0 20px rgba(255, 50, 77, 0.8),
        0 0 40px rgba(255, 50, 77, 0.6),
        0 0 60px rgba(255, 50, 77, 0.4);
    animation: flashVertical 5s ease-in-out infinite;
}

/* Sağ kenar ışık */
.cart-light-effect::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 8px;
    height: 100%;
    background: linear-gradient(to bottom,
        rgba(255, 50, 77, 0) 0%,
        rgba(255, 50, 77, 1) 50%,
        rgba(255, 50, 77, 0) 100%
    );
    box-shadow: 
        0 0 20px rgba(255, 50, 77, 0.8),
        0 0 40px rgba(255, 50, 77, 0.6),
        0 0 60px rgba(255, 50, 77, 0.4);
    animation: flashVertical 5s ease-in-out infinite;
}

/* Üst kenar ışık */
.cart-light-effect .top-edge {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 8px;
    background: linear-gradient(to right,
        rgba(255, 50, 77, 0) 0%,
        rgba(255, 50, 77, 1) 50%,
        rgba(255, 50, 77, 0) 100%
    );
    box-shadow: 
        0 0 20px rgba(255, 50, 77, 0.8),
        0 0 40px rgba(255, 50, 77, 0.6),
        0 0 60px rgba(255, 50, 77, 0.4);
    animation: flashHorizontal 5s ease-in-out infinite;
}

/* Alt kenar ışık */
.cart-light-effect .bottom-edge {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 8px;
    background: linear-gradient(to right,
        rgba(255, 50, 77, 0) 0%,
        rgba(255, 50, 77, 1) 50%,
        rgba(255, 50, 77, 0) 100%
    );
    box-shadow: 
        0 0 20px rgba(255, 50, 77, 0.8),
        0 0 40px rgba(255, 50, 77, 0.6),
        0 0 60px rgba(255, 50, 77, 0.4);
    animation: flashHorizontal 5s ease-in-out infinite;
}


/* Dikey kenarlar (sol ve sağ) animasyonu - kalıcı yanıp sönme */
@keyframes flashVertical {
    0%, 100% {
        opacity: 1;
        background: linear-gradient(to bottom,
            rgba(255, 50, 77, 0) 0%,
            rgba(255, 50, 77, 1) 50%,
            rgba(255, 50, 77, 0) 100%
        );
        box-shadow: 
            0 0 20px rgba(255, 50, 77, 0.8),
            0 0 40px rgba(255, 50, 77, 0.6),
            0 0 60px rgba(255, 50, 77, 0.4);
    }
    
    50% {
        opacity: 0.3;
        background: linear-gradient(to bottom,
            rgba(255, 50, 77, 0) 0%,
            rgba(255, 50, 77, 0.3) 50%,
            rgba(255, 50, 77, 0) 100%
        );
        box-shadow: 
            0 0 10px rgba(255, 50, 77, 0.3),
            0 0 20px rgba(255, 50, 77, 0.2);
    }
}

/* Yatay kenarlar (üst ve alt) animasyonu - kalıcı yanıp sönme */
@keyframes flashHorizontal {
    0%, 100% {
        opacity: 1;
        background: linear-gradient(to right,
            rgba(255, 50, 77, 0) 0%,
            rgba(255, 50, 77, 1) 50%,
            rgba(255, 50, 77, 0) 100%
        );
        box-shadow: 
            0 0 20px rgba(255, 50, 77, 0.8),
            0 0 40px rgba(255, 50, 77, 0.6),
            0 0 60px rgba(255, 50, 77, 0.4);
    }
    
    50% {
        opacity: 0.3;
        background: linear-gradient(to right,
            rgba(255, 50, 77, 0) 0%,
            rgba(255, 50, 77, 0.3) 50%,
            rgba(255, 50, 77, 0) 100%
        );
        box-shadow: 
            0 0 10px rgba(255, 50, 77, 0.3),
            0 0 20px rgba(255, 50, 77, 0.2);
    }
}


/* Responsive - mobil cihazlarda daha ince çizgiler */
@media (max-width: 768px) {
    .cart-light-effect::before,
    .cart-light-effect::after {
        width: 5px;
    }
}

    right: -150px;
    background: linear-gradient(
        to top,
        var(--effect-color-3, #00FF00) 0%,
        var(--effect-color-2, #FFA500) 50%,
        var(--effect-color-1, #FF324D) 100%
    );
    width: 150px;
    border-radius: 0 50% 50% 0;
    animation: 
        snakeRight var(--effect-speed, 2s) ease-in-out infinite,
        colorPulse calc(var(--effect-speed, 2s) / 2) ease-in-out infinite alternate,
        fadeInOut var(--effect-speed, 2s) ease-out forwards;
    filter: blur(20px);
    box-shadow: 
        0 0 30px var(--effect-color-3, #00FF00),
        0 0 60px var(--effect-color-2, #FFA500),
        0 0 90px var(--effect-color-1, #FF324D);
}

/* Orta ışık */
.cart-light-effect {
    background: linear-gradient(
        to top,
        var(--effect-color-1, #FF324D) 0%,
        var(--effect-color-2, #FFA500) 33%,
        var(--effect-color-3, #00FF00) 66%,
        transparent 100%
    );
    filter: blur(15px);
    animation: 
        riseUp var(--effect-speed, 2s) ease-out forwards,
        centerPulse calc(var(--effect-speed, 2s) / 3) ease-in-out infinite;
    box-shadow: 
        0 0 40px var(--effect-color-1, #FF324D),
        0 0 80px var(--effect-color-2, #FFA500),
        0 0 120px var(--effect-color-3, #00FF00);
}

/* Animasyonlar */
@keyframes riseUp {
    0% {
        height: 0;
        opacity: 0;
        bottom: 0;
    }
    10% {
        opacity: 1;
    }
    90% {
        opacity: 1;
    }
    100% {
        height: 100vh;
        opacity: 0;
        bottom: 0;
    }
}

@keyframes snakeLeft {
    0%, 100% {
        transform: translateX(0) scaleX(1);
    }
    25% {
        transform: translateX(-20px) scaleX(1.2);
    }
    50% {
        transform: translateX(10px) scaleX(0.9);
    }
    75% {
        transform: translateX(-15px) scaleX(1.1);
    }
}

@keyframes snakeRight {
    0%, 100% {
        transform: translateX(0) scaleX(1);
    }
    25% {
        transform: translateX(20px) scaleX(1.2);
    }
    50% {
        transform: translateX(-10px) scaleX(0.9);
    }
    75% {
        transform: translateX(15px) scaleX(1.1);
    }
}

@keyframes colorPulse {
    0%, 100% {
        filter: blur(20px) brightness(1);
    }
    50% {
        filter: blur(25px) brightness(1.5);
    }
}

@keyframes centerPulse {
    0%, 100% {
        width: 200px;
        filter: blur(15px) brightness(1);
    }
    50% {
        width: 250px;
        filter: blur(20px) brightness(1.3);
    }
}

@keyframes fadeInOut {
    0% {
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    85% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

/* Mobil uyumluluk */
@media only screen and (max-width: 767px) {
    .cart-light-effect {
        width: 150px;
    }
    
    .cart-light-effect::before,
    .cart-light-effect::after {
        width: 100px;
    }
    
    .cart-light-effect::before {
        left: -100px;
    }
    
    .cart-light-effect::after {
        right: -100px;
    }
}

@media only screen and (max-width: 480px) {
    .cart-light-effect {
        width: 100px;
    }
    
    .cart-light-effect::before,
    .cart-light-effect::after {
        width: 75px;
    }
    
    .cart-light-effect::before {
        left: -75px;
    }
    
    .cart-light-effect::after {
        right: -75px;
    }
}
