/*!
 * Font Awesome Local Implementation
 * 
 * Local fallback for Font Awesome icons to comply with CSP
 * Uses CSS-only icons to avoid external CDN dependencies
 * 
 * @package CatPlugin
 * @since 3.0.0
 */

/* Essential Font Awesome Icons as CSS-only implementations */
.fa {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
}

/* Download icon */
.fa-download::before {
    content: "⬇";
}

/* Share icon */
.fa-share::before {
    content: "📤";
}

/* Refresh/Reload icon */
.fa-refresh::before,
.fa-sync::before {
    content: "🔄";
}

/* Heart icon */
.fa-heart::before {
    content: "♥";
}

/* Star icon */
.fa-star::before {
    content: "★";
}

/* Thumbs up icon */
.fa-thumbs-up::before {
    content: "👍";
}

/* User icon */
.fa-user::before {
    content: "👤";
}

/* Settings/Cog icon */
.fa-cog::before,
.fa-gear::before {
    content: "⚙";
}

/* Search icon */
.fa-search::before {
    content: "🔍";
}

/* Plus icon */
.fa-plus::before {
    content: "+";
}

/* Minus icon */
.fa-minus::before {
    content: "-";
}

/* Times/Close icon */
.fa-times::before,
.fa-close::before {
    content: "×";
}

/* Check icon */
.fa-check::before {
    content: "✓";
}

/* Arrow icons */
.fa-arrow-left::before {
    content: "←";
}

.fa-arrow-right::before {
    content: "→";
}

.fa-arrow-up::before {
    content: "↑";
}

.fa-arrow-down::before {
    content: "↓";
}

/* Chevron icons */
.fa-chevron-left::before {
    content: "‹";
}

.fa-chevron-right::before {
    content: "›";
}

/* File icons */
.fa-file::before {
    content: "📄";
}

.fa-file-image::before {
    content: "🖼";
}

/* Social icons */
.fa-facebook::before {
    content: "📘";
}

.fa-twitter::before {
    content: "🐦";
}

.fa-instagram::before {
    content: "📷";
}

/* Info and warning icons */
.fa-info::before {
    content: "ℹ";
}

.fa-warning::before,
.fa-exclamation-triangle::before {
    content: "⚠";
}

.fa-error::before,
.fa-times-circle::before {
    content: "⚠";
}

/* Loading spinner */
.fa-spinner {
    animation: fa-spin 2s infinite linear;
}

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

.fa-spinner::before {
    content: "⟳";
}

/* Size classes */
.fa-lg {
    font-size: 1.33333em;
    line-height: 0.75em;
    vertical-align: -15%;
}

.fa-2x {
    font-size: 2em;
}

.fa-3x {
    font-size: 3em;
}

.fa-4x {
    font-size: 4em;
}

.fa-5x {
    font-size: 5em;
}

/* Fixed width */
.fa-fw {
    width: 1.28571em;
    text-align: center;
}

/* Borders */
.fa-border {
    padding: .2em .25em .15em;
    border: solid .08em #eee;
    border-radius: .1em;
}

/* Pull left/right */
.fa-pull-left {
    float: left;
}

.fa-pull-right {
    float: right;
}

/* Rotation */
.fa-rotate-90 {
    transform: rotate(90deg);
}

.fa-rotate-180 {
    transform: rotate(180deg);
}

.fa-rotate-270 {
    transform: rotate(270deg);
}

/* Flip */
.fa-flip-horizontal {
    transform: scale(-1, 1);
}

.fa-flip-vertical {
    transform: scale(1, -1);
}

/* Stack */
.fa-stack {
    position: relative;
    display: inline-block;
    width: 2em;
    height: 2em;
    line-height: 2em;
    vertical-align: middle;
}

.fa-stack-1x {
    position: absolute;
    left: 0;
    width: 100%;
    text-align: center;
}

.fa-stack-2x {
    position: absolute;
    left: 0;
    width: 100%;
    text-align: center;
    font-size: 2em;
}

/* Inverse */
.fa-inverse {
    color: #fff;
}

/* Custom cat plugin icons */
.fa-cat::before {
    content: "🐱";
}

.fa-meme::before {
    content: "😂";
}

.fa-magic::before {
    content: "✨";
}

.fa-ai::before {
    content: "🤖";
}

.fa-brain::before {
    content: "🧠";
}

.fa-crown::before {
    content: "👑";
}

.fa-trophy::before {
    content: "🏆";
}

.fa-fire::before {
    content: "🔥";
}

.fa-rocket::before {
    content: "🚀";
}

.fa-paint-brush::before {
    content: "🎨";
}