/**
 * Lucide Icons - Consistent Icon System
 * Font Awesome'dan Lucide'a geçiş için temel stiller
 */

/* Temel Lucide İkon Stilleri */
.lucide-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    vertical-align: middle;
    transition: all 0.2s ease;
}

/* Boyut Varyantları */
.lucide-icon[data-lucide] {
    stroke-width: 2;
}

/* Küçük Boyutlar */
.lucide-xs {
    width: 12px !important;
    height: 12px !important;
    stroke-width: 2;
}

.lucide-sm {
    width: 16px !important;
    height: 16px !important;
    stroke-width: 2;
}

/* Varsayılan Orta Boyut */
.lucide-md {
    width: 20px !important;
    height: 20px !important;
    stroke-width: 2;
}

/* Büyük Boyutlar */
.lucide-lg {
    width: 24px !important;
    height: 24px !important;
    stroke-width: 2;
}

.lucide-xl {
    width: 32px !important;
    height: 32px !important;
    stroke-width: 1.5;
}

.lucide-2xl {
    width: 48px !important;
    height: 48px !important;
    stroke-width: 1.5;
}

/* Renk Temaları */
.lucide-icon.text-primary {
    color: var(--brand-primary);
}

.lucide-icon.text-secondary {
    color: var(--brand-muted);
}

.lucide-icon.text-success {
    color: #198754;
}

.lucide-icon.text-danger {
    color: #dc3545;
}

.lucide-icon.text-warning {
    color: #ffc107;
}

.lucide-icon.text-info {
    color: #0dcaf0;
}

.lucide-icon.text-light {
    color: #f8f9fa;
}

.lucide-icon.text-dark {
    color: #212529;
}

.lucide-icon.text-muted {
    color: var(--brand-muted);
}

.lucide-icon.text-white {
    color: #ffffff;
}

/* İçinde bulunduğu elementin rengini miras al */
.lucide-icon.inherit-color {
    color: currentColor;
}

/* Butonlar İçin İkonlar */
.btn .lucide-icon {
    vertical-align: middle;
    margin-top: -2px;
}

.btn-sm .lucide-icon {
    width: 16px;
    height: 16px;
}

.btn-lg .lucide-icon {
    width: 24px;
    height: 24px;
}

/* Navigasyon İkonları */
.nav-link .lucide-icon,
.navbar .lucide-icon {
    vertical-align: middle;
    margin-top: -2px;
}

/* Menü İkonları */
.dropdown-item .lucide-icon {
    width: 18px;
    height: 18px;
    margin-right: 0.5rem;
    vertical-align: middle;
}

/* Form İkonları */
.input-group-text .lucide-icon {
    width: 18px;
    height: 18px;
}

/* Alert İkonları */
.alert .lucide-icon {
    width: 20px;
    height: 20px;
    margin-right: 0.5rem;
    flex-shrink: 0;
}

/* Kart İkonları */
.card-title .lucide-icon {
    width: 20px;
    height: 20px;
    margin-right: 0.5rem;
    vertical-align: middle;
}

/* Badge İçi İkonlar */
.badge .lucide-icon {
    width: 12px;
    height: 12px;
    vertical-align: middle;
    margin-right: 0.25rem;
}

/* Liste İkonları */
.list-group-item .lucide-icon {
    width: 18px;
    height: 18px;
    margin-right: 0.75rem;
    vertical-align: middle;
}

/* Tablo İkonları */
.table .lucide-icon {
    width: 16px;
    height: 16px;
    vertical-align: middle;
}

/* Modal İkonları */
.modal-title .lucide-icon {
    width: 24px;
    height: 24px;
    margin-right: 0.5rem;
    vertical-align: middle;
}

/* Toast İkonları */
.toast-body .lucide-icon {
    width: 20px;
    height: 20px;
    margin-right: 0.5rem;
    flex-shrink: 0;
}

/* Mobil Alt Navigasyon İkonları */
.mobile-bottom-nav-icon .lucide-icon {
    width: 24px;
    height: 24px;
}

.mobile-bottom-nav-item.active .lucide-icon {
    filter: drop-shadow(0 2px 4px rgba(168, 34, 83, 0.3));
}

/* Animasyonlar */
@keyframes lucide-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

.lucide-icon.pulse {
    animation: lucide-pulse 2s ease-in-out infinite;
}

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

.lucide-icon.spin {
    animation: lucide-spin 1s linear infinite;
}

@keyframes lucide-bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
}

.lucide-icon.bounce {
    animation: lucide-bounce 1s ease-in-out infinite;
}

/* Hover Efektleri */
.btn:hover .lucide-icon,
.nav-link:hover .lucide-icon,
a:hover .lucide-icon {
    transform: scale(1.1);
}

/* Buton Grupları */
.btn-group .lucide-icon {
    vertical-align: middle;
}

/* Simgeler Arası Boşluk */
.lucide-icon + span,
span + .lucide-icon,
.lucide-icon + .lucide-icon {
    margin-left: 0.375rem;
}

/* Yıldız Derecelendirme */
.lucide-icon.star-filled {
    fill: var(--brand-gold, #C5A059);
    stroke: var(--brand-gold, #C5A059);
}

.lucide-icon.star-empty {
    fill: none;
    stroke: var(--brand-muted);
}

/* Favori Kalp */
.lucide-icon.heart-filled {
    fill: #dc3545;
    stroke: #dc3545;
}

.lucide-icon.heart-empty {
    fill: none;
    stroke: currentColor;
}

/* Dark Mode Uyumluluğu */
html[data-bs-theme="dark"] .lucide-icon {
    stroke-width: 2;
}

html[data-bs-theme="dark"] .lucide-icon.text-primary {
    color: var(--brand-primary);
}

/* Erişilebilirlik */
.lucide-icon[aria-hidden="true"] {
    pointer-events: none;
}

/* Focus States */
.lucide-icon:focus-visible {
    outline: 2px solid var(--brand-primary);
    outline-offset: 2px;
    border-radius: 2px;
}

/* Print Stilleri */
@media print {
    .lucide-icon {
        color: #000 !important;
        stroke: #000 !important;
    }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    .lucide-icon,
    .lucide-icon.pulse,
    .lucide-icon.spin,
    .lucide-icon.bounce {
        animation: none !important;
        transition: none !important;
    }
}
