/**
 * Lucide Icons — local styles (no CDN)
 * Size/color via CSS: font-size, width/height, color / currentColor
 */
.lucide,
[data-lucide]:not(svg) {
    width: 1em;
    height: 1em;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
    flex-shrink: 0;
    display: inline-block;
    vertical-align: -0.125em;
    box-sizing: content-box;
}

/* Host element before createIcons runs */
i[data-lucide]:not(svg),
span[data-lucide]:not(svg) {
    min-width: 1em;
    min-height: 1em;
}

.lucide-spin,
.fa-spin {
    animation: kawenter-lucide-spin 1s linear infinite;
}

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

/* Brand marks (local SVGs — Lucide has no brand icons) */
.brand-icon {
    width: 1.15em;
    height: 1.15em;
    display: inline-block;
    vertical-align: -0.15em;
    fill: currentColor;
    flex-shrink: 0;
}

/* Prefer Lucide stroke icons in common FA-targeted slots */
.language-select-btn .lucide,
.currency-select-btn .lucide,
.mobile-tab-bar__icon .lucide,
.footer .social-links .lucide,
.footer .social-links .brand-icon {
    width: 1.1em;
    height: 1.1em;
}
