/* ===== SATURDAY PROMOTION STYLES ===== */

/* Crackers Animation Container */
.crackers-container {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    pointer-events: none;
    overflow: hidden;
}

/* Individual Cracker Elements */
.cracker-left,
.cracker-right {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
}

.cracker-left {
    left: 0;
    background: linear-gradient(135deg, transparent 45%, #FFD700 45%, #FFD700 55%, transparent 55%),
                linear-gradient(45deg, transparent 45%, #FF6B6B 45%, #FF6B6B 55%, transparent 55%),
                linear-gradient(90deg, transparent 45%, #4ECDC4 45%, #4ECDC4 55%, transparent 55%);
    background-size: 20px 20px;
    background-position: 0 0;
    animation: crackerLeft 0.8s ease-out infinite;
    opacity: 0.8;
}

.cracker-right {
    right: 0;
    background: linear-gradient(135deg, transparent 45%, #FF6B6B 45%, #FF6B6B 55%, transparent 55%),
                linear-gradient(45deg, transparent 45%, #FFD700 45%, #FFD700 55%, transparent 55%),
                linear-gradient(90deg, transparent 45%, #95E1D3 45%, #95E1D3 55%, transparent 55%);
    background-size: 20px 20px;
    background-position: 0 0;
    animation: crackerRight 0.8s ease-out infinite;
    opacity: 0.8;
}

@keyframes crackerLeft {
    0% {
        transform: translateX(-50px) translateY(0px) rotate(0deg);
        opacity: 1;
    }
    50% {
        transform: translateX(-100px) translateY(-30px) rotate(45deg);
        opacity: 0.8;
    }
    100% {
        transform: translateX(-150px) translateY(-60px) rotate(90deg);
        opacity: 0;
    }
}

@keyframes crackerRight {
    0% {
        transform: translateX(50px) translateY(0px) rotate(0deg);
        opacity: 1;
    }
    50% {
        transform: translateX(100px) translateY(-30px) rotate(-45deg);
        opacity: 0.8;
    }
    100% {
        transform: translateX(150px) translateY(-60px) rotate(-90deg);
        opacity: 0;
    }
}

/* Promotional Banner Styling */
#promo-banner {
    animation: promoBannerPulse 2s ease-in-out infinite;
}

@keyframes promoBannerPulse {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.1);
    }
    50% {
        box-shadow: 0 0 15px rgba(34, 197, 94, 0.3);
    }
}

/* Promo Price Styling */
.promo-price {
    animation: priceHighlight 0.6s ease-in-out;
}

@keyframes priceHighlight {
    0% {
        transform: scale(1.2);
        color: #dc2626;
    }
    50% {
        transform: scale(1.1);
        color: #22c55e;
    }
    100% {
        transform: scale(1);
        color: #16a34a;
    }
}

/* Discount Badge Animation */
.discount-badge {
    animation: badgePulse 1s ease-in-out infinite;
    background: linear-gradient(135deg, #FF6B6B, #FFD700);
    color: white !important;
    font-weight: bold;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 11px;
    margin-left: 4px;
    display: inline-block;
}

@keyframes badgePulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.15);
    }
}

/* Professional Look for Promo Items */
.promo-eligible-item {
    transition: all 0.3s ease;
    position: relative;
}

.promo-eligible-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(34, 197, 94, 0.2) !important;
}

/* Line-through styling for original price */
.original-price {
    font-size: 12px;
    letter-spacing: 0.3px;
}

/* Bounce animation for celebration emojis */
@keyframes bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

.animate-bounce {
    animation: bounce 1s ease-in-out infinite;
}

/* Saturday Badge - if needed elsewhere */
.saturday-badge {
    background: linear-gradient(135deg, #FF6B6B, #FFD700);
    color: white;
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: bold;
    display: inline-block;
}

/* Gradient Text for Promo Heading */
.promo-heading {
    background: linear-gradient(135deg, #FF6B6B, #FFD700);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Professional Button Styling with Hover Effects */
.promo-eligible-item input[type="radio"]:checked + * {
    font-weight: bold;
}

/* Ensure good contrast and readability */
#promo-banner h4 {
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
    letter-spacing: 1px;
}

#promo-banner p {
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.6);
}

/* Responsive adjustments */
@media (max-width: 640px) {
    .cracker-left,
    .cracker-right {
        background-size: 15px 15px;
    }

    @keyframes crackerLeft {
        0% {
            transform: translateX(-30px) translateY(0px) rotate(0deg);
            opacity: 1;
        }
        50% {
            transform: translateX(-60px) translateY(-20px) rotate(45deg);
            opacity: 0.8;
        }
        100% {
            transform: translateX(-90px) translateY(-40px) rotate(90deg);
            opacity: 0;
        }
    }

    @keyframes crackerRight {
        0% {
            transform: translateX(30px) translateY(0px) rotate(0deg);
            opacity: 1;
        }
        50% {
            transform: translateX(60px) translateY(-20px) rotate(-45deg);
            opacity: 0.8;
        }
        100% {
            transform: translateX(90px) translateY(-40px) rotate(-90deg);
            opacity: 0;
        }
    }

    #promo-banner h4 {
        font-size: 16px;
    }
}
