/* ═══════════════════════════════════════════════════════════════
 * Lila Action Components — Unified Design System
 * DönüşümPR 2026
 *
 * Tüm Lila AI butonları, badge'ler ve ipucu kartları için
 * ortak görsel dil. lila_variables.css'e bağımlıdır.
 *
 * Varyantlar:
 *   .lila-btn--ghost        "Lila ile Yaz" inline tetikleyiciler
 *   .lila-btn--solid        "Lila ile Doldur" aksiyon butonları
 *   .lila-btn--contextual   "Lila'ya Sor" soru butonları
 *   .lila-btn--soft         Pastel ipucu butonları
 *   .lila-badge             "Lila tarafından dolduruldu" badge
 *   .lila-hint-card         OCR/autofill ipucu kartları
 * ═══════════════════════════════════════════════════════════════ */

/* ── 0. Convenience Tokens ───────────────────────────────────── */
:root {
    --lila-act-purple: #7b6fb0;
    --lila-act-purple-light: #a78bfa;
    --lila-act-purple-mid: #8b5cf6;
    --lila-act-purple-deep: #6d28d9;
    --lila-act-ghost-bg: rgba(167, 139, 250, 0.15);
    --lila-act-ghost-border: #c4b5fd;
    --lila-act-ghost-bg-hover: rgba(167, 139, 250, 0.25);
    --lila-act-shadow: 0 3px 10px rgba(139, 92, 246, 0.2);
    --lila-act-shadow-hover: 0 5px 14px rgba(139, 92, 246, 0.3);
}

/* ── 1. Base ─────────────────────────────────────────────────── */
.lila-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border-radius: 2rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.22s ease;
    text-decoration: none;
    border: none;
    line-height: 1.4;
    white-space: nowrap;
    vertical-align: middle;
    font-family: inherit;
}
.lila-btn:focus-visible {
    outline: 2px solid var(--lila-act-purple-mid);
    outline-offset: 2px;
}
.lila-btn i.bi-stars,
.lila-btn .bi-stars {
    font-size: 0.9em;
    flex-shrink: 0;
}

/* Size: Small */
.lila-btn--sm {
    font-size: 0.75rem !important;
    padding: 0.2rem 0.6rem !important;
}

/* ── 2. Ghost (inline tetikleyici) ───────────────────────────── */
.lila-btn--ghost {
    background: var(--lila-act-ghost-bg);
    color: var(--lila-act-purple);
    border: 1px solid var(--lila-act-ghost-border);
    padding: 0.2rem 0.65rem;
    font-size: 0.8rem;
    box-shadow: none;
}
.lila-btn--ghost:hover {
    background: var(--lila-act-ghost-bg-hover);
    color: var(--lila-act-purple-deep);
    border-color: var(--lila-act-purple-light);
    text-decoration: none;
}
.lila-btn--ghost:active {
    transform: scale(0.97);
}
.lila-btn--ghost:disabled {
    opacity: 0.5;
    pointer-events: none;
}

/* ── 3. Solid (birincil aksiyon) ─────────────────────────────── */
.lila-btn--solid {
    background: linear-gradient(135deg, var(--lila-act-purple) 0%, var(--lila-act-purple-light) 100%);
    color: #fff;
    padding: 0.5rem 1.25rem;
    font-size: 0.82rem;
    box-shadow: var(--lila-act-shadow);
}
.lila-btn--solid:hover {
    background: linear-gradient(135deg, var(--lila-act-purple-deep) 0%, var(--lila-act-purple) 100%);
    transform: translateY(-1px);
    box-shadow: var(--lila-act-shadow-hover);
    color: #fff;
    text-decoration: none;
}
.lila-btn--solid:active {
    transform: translateY(0);
}
.lila-btn--solid:disabled {
    opacity: 0.55;
    pointer-events: none;
    transform: none;
    box-shadow: none;
}

/* ── 4. Contextual (soru butonları) ──────────────────────────── */
.lila-btn--contextual {
    background: linear-gradient(135deg, var(--lila-act-purple-mid), var(--lila-act-purple));
    color: #fff;
    padding: 0.5rem 1.25rem;
    font-size: 0.82rem;
    box-shadow: var(--lila-act-shadow);
}
.lila-btn--contextual:hover {
    background: linear-gradient(135deg, var(--lila-act-purple), var(--lila-act-purple-deep));
    transform: translateY(-1px);
    box-shadow: var(--lila-act-shadow-hover);
    color: #fff;
    text-decoration: none;
}
.lila-btn--contextual:active {
    transform: translateY(0);
}

/* ── 5. Soft (pastel ipucu) ──────────────────────────────────── */
.lila-btn--soft {
    background: linear-gradient(135deg, #f5f3ff, #ede9fe);
    color: var(--lila-act-purple);
    border: 1px solid rgba(139, 92, 246, 0.2);
    padding: 0.4rem 1rem;
    font-size: 0.82rem;
}
.lila-btn--soft:hover {
    background: linear-gradient(135deg, #ede9fe, #e9d5ff);
    color: var(--lila-act-purple-deep);
    border-color: rgba(139, 92, 246, 0.35);
    text-decoration: none;
    transform: translateY(-1px);
}
.lila-btn--soft:active {
    transform: translateY(0);
}

/* ── 6. Badge ────────────────────────────────────────────────── */
.lila-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    background: var(--lila-act-purple);
    color: #fff;
    font-size: 0.75rem;
    padding: 0.2rem 0.55rem;
    border-radius: 0.4rem;
    font-weight: 600;
    line-height: 1.4;
}

/* ── 7. Hint Card ────────────────────────────────────────────── */
.lila-hint-card {
    background: #f5f0ff;
    border: 1px dashed var(--lila-act-ghost-border);
    border-radius: 0.5rem;
    padding: 0.5rem 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.lila-hint-card > i.bi-stars,
.lila-hint-card > .bi-stars {
    color: var(--lila-act-purple);
    font-size: 1.1rem;
    flex-shrink: 0;
}
.lila-hint-card__text {
    color: var(--lila-act-purple);
    font-weight: 500;
    font-size: 0.85rem;
}

/* ── 8. Lila Filled Highlight (otomatik doldurulan alanlar) ─── */
.lila-filled {
    border-color: var(--lila-act-purple-light) !important;
    box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.12) !important;
}
.lila-filled-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    margin-left: 0.4rem;
    padding: 0.1rem 0.4rem;
    border-radius: 0.3rem;
    background: rgba(139, 92, 246, 0.1);
    color: var(--lila-act-purple);
    font-size: 0.7rem;
    font-weight: 600;
}

/* ── 9. Responsive ───────────────────────────────────────────── */
@media (max-width: 576px) {
    .lila-btn--contextual,
    .lila-btn--solid {
        padding: 0.4rem 1rem;
        font-size: 0.78rem;
    }

    .lila-btn--ghost {
        font-size: 0.75rem;
    }

    .lila-hint-card {
        padding: 0.4rem 0.6rem;
    }

    .lila-hint-card__text {
        font-size: 0.78rem;
    }
}

/* ── 9a. Touch Cihazlar ──────────────────────────────────────── */
@media (pointer: coarse) {
    .lila-btn {
        min-height: 44px;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }

    .lila-btn--ghost {
        min-height: 36px;
    }

    .lila-btn--solid:hover,
    .lila-btn--contextual:hover,
    .lila-btn--soft:hover {
        transform: none;
    }

    .lila-btn--ghost:active,
    .lila-btn--solid:active,
    .lila-btn--contextual:active {
        transform: scale(0.97);
    }
}

/* ── 9b. Reduced Motion ──────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .lila-btn {
        transition: none !important;
    }
}

/* ── 10. Dark Mode ───────────────────────────────────────────── */
html[data-theme='dark'] .lila-btn--ghost {
    background: rgba(139, 92, 246, 0.15);
    color: #c4b5fd;
    border-color: rgba(139, 92, 246, 0.3);
}
html[data-theme='dark'] .lila-btn--ghost:hover {
    background: rgba(139, 92, 246, 0.25);
    color: #e9d5ff;
}
html[data-theme='dark'] .lila-btn--soft {
    background: rgba(139, 92, 246, 0.1);
    color: #c4b5fd;
    border-color: rgba(139, 92, 246, 0.2);
}
html[data-theme='dark'] .lila-hint-card {
    background: rgba(139, 92, 246, 0.08);
    border-color: rgba(139, 92, 246, 0.2);
}
html[data-theme='dark'] .lila-hint-card > i.bi-stars,
html[data-theme='dark'] .lila-hint-card__text {
    color: #c4b5fd;
}
