/* Enhanced Icons CSS for BBF Website
 * This file contains improved styling for all icons across the homepage
 */

/* Common Icon Styling */
.icon-container {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
}

.icon-container::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.1);
    border-radius: inherit;
    z-index: -1;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.icon-container:hover::before {
    opacity: 1;
}

.icon-container i {
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* Feature Icons */
.feature-icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, var(--bbf-gold) 0%, #d4a028 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
    box-shadow: 0 10px 25px rgba(235, 181, 64, 0.3);
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border: 2px solid rgba(255, 255, 255, 0.2);
}

.feature-icon i {
    font-size: 2rem;
    color: var(--bbf-black);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.feature-card:hover .feature-icon {
    transform: scale(1.1) rotate(5deg);
    box-shadow: 0 15px 35px rgba(235, 181, 64, 0.4);
}

.feature-icon::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 70%);
    top: -50%;
    left: -50%;
    opacity: 0;
    transition: all 0.4s ease;
}

.feature-card:hover .feature-icon::after {
    opacity: 0.4;
    transform: translate(50%, 50%);
}

/* Program Icons */
.program-icon {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, var(--bbf-gold) 0%, #d4a028 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1.5rem;
    box-shadow: 0 8px 20px rgba(235, 181, 64, 0.3);
    flex-shrink: 0;
    border: 2px solid rgba(255, 255, 255, 0.2);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.program-icon i {
    font-size: 1.5rem;
    color: var(--bbf-black);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.program-item:hover .program-icon {
    transform: scale(1.1) rotate(5deg);
    box-shadow: 0 12px 30px rgba(235, 181, 64, 0.4);
}

/* Award Icons */
.award-icon {
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, var(--bbf-gold) 0%, #d4a028 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
    box-shadow: 0 10px 25px rgba(235, 181, 64, 0.3);
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border: 2px solid rgba(255, 255, 255, 0.2);
}

.award-icon i {
    font-size: 1.8rem;
    color: var(--bbf-black);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.award-card:hover .award-icon {
    transform: scale(1.1) rotate(10deg);
    box-shadow: 0 15px 35px rgba(235, 181, 64, 0.4);
}

.award-icon::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 70%);
    top: -50%;
    left: -50%;
    opacity: 0;
    transition: all 0.4s ease;
}

.award-card:hover .award-icon::after {
    opacity: 0.4;
    transform: translate(50%, 50%);
}

/* Contact Icons */
.contact-item i {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, var(--bbf-gold) 0%, #d4a028 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--bbf-black);
    font-size: 1.3rem;
    box-shadow: 0 8px 20px rgba(235, 181, 64, 0.3);
    flex-shrink: 0;
    border: 2px solid rgba(255, 255, 255, 0.2);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.contact-item:hover i {
    transform: scale(1.1) rotate(5deg);
    box-shadow: 0 12px 30px rgba(235, 181, 64, 0.4);
}

/* Social Media Icons */
.social-links a {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--bbf-white);
    font-size: 1.2rem;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border: 1px solid rgba(255, 255, 255, 0.1);
    position: relative;
    overflow: hidden;
}

.social-links a:hover {
    background: var(--bbf-gold);
    color: var(--bbf-black);
    transform: translateY(-3px) scale(1.1);
    box-shadow: 0 8px 20px rgba(235, 181, 64, 0.4);
}

.social-links a::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 70%);
    top: -50%;
    left: -50%;
    opacity: 0;
    transition: all 0.4s ease;
}

.social-links a:hover::after {
    opacity: 0.3;
    transform: translate(50%, 50%);
}

/* AI Assistant Button Icon */
#ai-assistant-button i {
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.2));
}

#ai-assistant-button:hover i {
    transform: scale(1.15);
    filter: drop-shadow(0 3px 5px rgba(0, 0, 0, 0.3));
}

/* Navigation Icons */
.nav-right i, 
.language-selector i,
.theme-toggle i {
    transition: all 0.3s ease;
}

.nav-right a:hover i,
.language-selector:hover i,
.theme-toggle:hover i {
    transform: scale(1.15);
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .feature-icon,
    .award-icon {
        width: 70px;
        height: 70px;
    }
    
    .program-icon {
        width: 50px;
        height: 50px;
    }
    
    .contact-item i {
        width: 45px;
        height: 45px;
        font-size: 1.2rem;
    }
    
    .social-links a {
        width: 38px;
        height: 38px;
    }
}

@media (max-width: 480px) {
    .feature-icon,
    .award-icon {
        width: 60px;
        height: 60px;
    }
    
    .feature-icon i,
    .award-icon i {
        font-size: 1.5rem;
    }
    
    .program-icon {
        width: 45px;
        height: 45px;
    }
    
    .program-icon i {
        font-size: 1.3rem;
    }
}
