/**
 * SVG Icon System
 *
 * @package thrust_theme
 */

.icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: -0.125em;
    fill: currentColor;
    stroke: currentColor;
    stroke-width: 0;
}

/* Stroke-based icons (default from sprite) */
.icon-chevron-right,
.icon-chevron-left,
.icon-chevron-down,
.icon-chevron-up,
.icon-arrow-right,
.icon-arrow-left,
.icon-menu,
.icon-close,
.icon-search,
.icon-share,
.icon-comment,
.icon-heart,
.icon-star,
.icon-calendar,
.icon-user,
.icon-mail,
.icon-external-link,
.icon-facebook,
.icon-twitter,
.icon-instagram,
.icon-linkedin,
.icon-youtube,
.icon-tiktok,
.icon-pinterest {
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
}

/* Solid fill icons */
.icon-play,
.icon-pause,
.icon-quote-left,
.icon-quote-right {
    fill: currentColor;
    stroke: none;
}

/* Size variants */
.icon-xs {
    width: 0.75em;
    height: 0.75em;
}

.icon-sm {
    width: 0.875em;
    height: 0.875em;
}

.icon-lg {
    width: 1.25em;
    height: 1.25em;
}

.icon-xl {
    width: 1.5em;
    height: 1.5em;
}

.icon-2x {
    width: 2em;
    height: 2em;
}

.icon-3x {
    width: 3em;
    height: 3em;
}

/* Utility classes */
.icon-spin {
    animation: icon-spin 1s linear infinite;
}

@keyframes icon-spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* Breadcrumb chevron specific styling */
.breadcrumbs .icon {
    margin: 0 0.25em;
    opacity: 0.7;
}
