/* Local Icons - CSS-only replacements for Font Awesome */

/* Base icon styles */
.icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    text-align: center;
    line-height: 1;
    vertical-align: middle;
}

/* Social Media Icons using Unicode symbols */
.fab.fa-facebook::before { content: "f"; font-family: Arial; background: #1877f2; color: white; border-radius: 3px; padding: 2px 4px; }
.fab.fa-twitter::before { content: "t"; font-family: Arial; background: #1da1f2; color: white; border-radius: 3px; padding: 2px 4px; }
.fab.fa-instagram::before { content: "📷"; }
.fab.fa-linkedin::before { content: "in"; font-family: Arial; background: #0077b5; color: white; border-radius: 3px; padding: 2px; font-size: 0.8em; }
.fab.fa-youtube::before { content: "▶"; background: #ff0000; color: white; border-radius: 3px; padding: 2px 4px; }
.fab.fa-google::before { content: "G"; font-family: Arial; background: #4285f4; color: white; border-radius: 3px; padding: 2px 4px; }
.fab.fa-apple::before { content: "🍎"; }
.fab.fa-app-store::before { content: "📱"; }
.fab.fa-google-play::before { content: "▶️"; }

/* Regular Icons */
.fas.fa-sparkles::before { content: "✨"; }
.fas.fa-rocket::before { content: "🚀"; }
.fas.fa-users::before { content: "👥"; }
.fas.fa-times::before { content: "❌"; }
.fas.fa-check::before { content: "✅"; }
.fas.fa-play-circle::before { content: "▶️"; }
.fas.fa-images::before { content: "🖼️"; }
.fas.fa-video::before { content: "🎥"; }
.fas.fa-gift::before { content: "🎁"; }
.fas.fa-trophy::before { content: "🏆"; }
.fas.fa-star::before { content: "⭐"; }
.fas.fa-heart::before { content: "❤️"; }
.fas.fa-newspaper::before { content: "📰"; }
.fas.fa-coins::before { content: "🪙"; }
.fas.fa-search::before { content: "🔍"; }
.fas.fa-envelope::before { content: "✉️"; }
.fas.fa-phone::before { content: "📞"; }
.fas.fa-map-marker-alt::before { content: "📍"; }
.fas.fa-bars::before { content: "☰"; }
.fas.fa-shield::before { content: "🛡️"; }
.fas.fa-thumbs-up::before { content: "👍"; }
.fas.fa-comment::before { content: "💬"; }
.fas.fa-share::before { content: "📤"; }
.fas.fa-bookmark::before { content: "🔖"; }
.fas.fa-bell::before { content: "🔔"; }
.fas.fa-camera::before { content: "📸"; }
.fas.fa-microphone::before { content: "🎤"; }
.fas.fa-music::before { content: "🎵"; }

/* CSS-based icons for better visual consistency */
.icon-menu {
    position: relative;
    width: 18px;
    height: 2px;
    background: currentColor;
    display: inline-block;
    vertical-align: middle;
}

.icon-menu::before,
.icon-menu::after {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background: currentColor;
}

.icon-menu::before {
    top: -6px;
}

.icon-menu::after {
    top: 6px;
}

.icon-close {
    position: relative;
    width: 18px;
    height: 18px;
    display: inline-block;
    vertical-align: middle;
}

.icon-close::before,
.icon-close::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 2px;
    background: currentColor;
}

.icon-close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.icon-close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.icon-arrow-right::before {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 6px solid currentColor;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    vertical-align: middle;
}

.icon-check {
    position: relative;
    width: 16px;
    height: 16px;
    display: inline-block;
    vertical-align: middle;
}

.icon-check::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 2px;
    width: 3px;
    height: 8px;
    border: solid currentColor;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.icon-times {
    position: relative;
    width: 14px;
    height: 14px;
    display: inline-block;
    vertical-align: middle;
}

.icon-times::before,
.icon-times::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 2px;
    background: currentColor;
}

.icon-times::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.icon-times::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

/* Loading spinner */
.icon-spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(0,0,0,0.1);
    border-left: 2px solid currentColor;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Social media brand colors for better recognition */
.social-icon .fab.fa-facebook { color: #1877f2; }
.social-icon .fab.fa-twitter { color: #1da1f2; }
.social-icon .fab.fa-instagram { color: #e4405f; }
.social-icon .fab.fa-linkedin { color: #0077b5; }
.social-icon .fab.fa-youtube { color: #ff0000; }

/* Hover effects for icons */
.social-icon:hover .fab {
    transform: scale(1.1);
    transition: transform 0.2s ease;
}