/**
 * IcoMoon Icons Replacement with Font Awesome Integration
 * Replaces Joomla's icomoon.css with Font Awesome 6 icons
 * 
 * Font Awesome Free 6.5.0 by @fontawesome
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */

/* Import Font Awesome from CDN */
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css');

/* Base icon styling - maintain Joomla's icon structure */
[class^="icon-"], [class*=" icon-"] {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Pro", serif;
    font-style: normal;
    font-weight: 900; /* FA Solid weight */
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    vertical-align: middle;
    text-rendering: auto;
}

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

/* OK/Check icon */
.icon-ok:before {
    content: "\f00c"; /* fa-check */
    color: #5cb85c;
}

/* Cancel/X icon */
.icon-cancel:before {
    content: "\f00d"; /* fa-times */
    color: #d9534f;
}

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

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

/* Calendar icon */
.icon-calendar:before {
    content: "\f073"; /* fa-calendar */
}

/* Eye icon */
.icon-eye-open:before {
    content: "\f06e"; /* fa-eye */
}

/* List icon */
.icon-list:before {
    content: "\f03a"; /* fa-list */
}

/* Navigation icons */
.icon-first:before {
    content: "\f100"; /* fa-angle-double-left */
}

.icon-previous:before {
    content: "\f104"; /* fa-angle-left */
}

.icon-next:before {
    content: "\f105"; /* fa-angle-right */
}

.icon-last:before {
    content: "\f101"; /* fa-angle-double-right */
}

/* Additional common Joomla icons */
.icon-edit:before {
    content: "\f044"; /* fa-edit */
}

.icon-delete:before {
    content: "\f1f8"; /* fa-trash */
}

.icon-save:before {
    content: "\f0c7"; /* fa-save */
}

.icon-new:before {
    content: "\f067"; /* fa-plus */
}

.icon-copy:before {
    content: "\f0c5"; /* fa-copy */
}

.icon-publish:before {
    content: "\f00c"; /* fa-check */
}

.icon-unpublish:before {
    content: "\f00d"; /* fa-times */
}

.icon-archive:before {
    content: "\f187"; /* fa-archive */
}

.icon-featured:before {
    content: "\f005"; /* fa-star */
}

.icon-unfeatured:before {
    content: "\f006"; /* fa-star-o */
    font-weight: 400; /* FA Regular weight for outline */
}

.icon-help:before {
    content: "\f059"; /* fa-question-circle */
}

.icon-info:before {
    content: "\f05a"; /* fa-info-circle */
}

.icon-warning:before {
    content: "\f071"; /* fa-exclamation-triangle */
}

.icon-error:before {
    content: "\f06a"; /* fa-exclamation-circle */
}

.icon-success:before {
    content: "\f058"; /* fa-check-circle */
}

.icon-home:before {
    content: "\f015"; /* fa-home */
}

.icon-user:before {
    content: "\f007"; /* fa-user */
}

.icon-users:before {
    content: "\f0c0"; /* fa-users */
}

.icon-lock:before {
    content: "\f023"; /* fa-lock */
}

.icon-unlock:before {
    content: "\f09c"; /* fa-unlock */
}

.icon-envelope:before {
    content: "\f0e0"; /* fa-envelope */
}

.icon-phone:before {
    content: "\f095"; /* fa-phone */
}

.icon-location:before {
    content: "\f041"; /* fa-map-marker */
}

.icon-refresh:before {
    content: "\f021"; /* fa-refresh */
}

.icon-print:before {
    content: "\f02f"; /* fa-print */
}

.icon-download:before {
    content: "\f019"; /* fa-download */
}

.icon-upload:before {
    content: "\f093"; /* fa-upload */
}

/* White versions for dark backgrounds */
.icon-white,
.icon-search.icon-white,
.icon-ok.icon-white,
.icon-cancel.icon-white,
[class^="icon-"].icon-white,
[class*=" icon-"].icon-white {
    color: white !important;
}

/* Size variations */
.icon-large:before {
    font-size: 1.33em;
    line-height: 0.75em;
    vertical-align: -15%;
}

.icon-2x:before {
    font-size: 2em;
}

.icon-3x:before {
    font-size: 3em;
}

.icon-4x:before {
    font-size: 4em;
}

/* Compatibility with Bootstrap button styling */
.btn .icon-search,
.btn .icon-ok,
.btn .icon-cancel,
.btn [class^="icon-"],
.btn [class*=" icon-"] {
    margin-right: 0.25em;
}

/* Fallback for browsers that don't support Font Awesome */
@supports not (font-family: "Font Awesome 6 Free") {
    .icon-search:before { content: "🔍"; }
    .icon-ok:before { content: "✓"; }
    .icon-cancel:before { content: "✗"; }
    .icon-plus:before { content: "+"; }
    .icon-minus:before { content: "−"; }
    .icon-calendar:before { content: "📅"; }
    .icon-eye-open:before { content: "👁"; }
    .icon-list:before { content: "☰"; }
    .icon-first:before { content: "«"; }
    .icon-previous:before { content: "‹"; }
    .icon-next:before { content: "›"; }
    .icon-last:before { content: "»"; }
}