/* ============================================================
   MENÜ KONSİYERJİ — arama modalı (keşif + filtre + zengin kart)
   Front token'larıyla tema-adaptif (koyu/açık) + marka-adaptif
   (--color-primary). Giriş İmza Hareket eğrisiyle kademeli.
   Modal kabuğu (.search-modal, __content, __header, __input) app.css'ten
   gelir; burası yeni gövde + filtre + kartlar.
   ============================================================ */

/* Filtre çip şeridi — başlık altında yatay kaydırılabilir */
.search-filters {
    display: flex;
    gap: 8px;
    padding: 12px 16px 4px;
    overflow-x: auto;
    scrollbar-width: none;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
}
.search-filters::-webkit-scrollbar { display: none; }
.search-filters[hidden] { display: none; }

.sr-chip {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid var(--color-border);
    background: var(--color-bg-card);
    color: var(--color-text-secondary);
    font-family: var(--font-primary);
    font-size: 0.8rem;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    transition: transform var(--motion-fast, 190ms) var(--ease-spring, ease),
                background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}
.sr-chip:active { transform: scale(0.93); }
/* Diyet çipi aktif → marka dolgusu */
.sr-chip.is-on {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff;
}
/* Alerjen "içermesin" çipi aktif → uyarı (dışlama) rengi */
.sr-chip--x.is-on {
    background: color-mix(in srgb, var(--color-danger, #e5484d) 90%, #000 0%);
    border-color: transparent;
    color: #fff;
}
.sr-chip--x svg { opacity: 0.75; }
.sr-chip--kcal.is-on { background: var(--color-primary); border-color: var(--color-primary); color: #fff; }

/* Gövde — kayan içerik alanı */
.search-body {
    flex: 1;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 8px 16px 28px;
    -webkit-overflow-scrolling: touch;
}

/* Koleksiyon / sonuç bölümü */
.sr-col { margin-top: 18px; }
.sr-col:first-child { margin-top: 8px; }
.sr-col__title {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-primary);
    margin: 0 2px 10px;
}
.sr-col__list { display: flex; flex-direction: column; gap: 8px; }

/* Zengin kart — görsel + isim/açıklama/meta + fiyat */
.sr-card {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 9px;
    border-radius: var(--radius-lg, 16px);
    background: var(--color-bg-card);
    border: 1px solid var(--color-border);
    text-decoration: none;
    color: inherit;
    transition: transform var(--motion-base, 340ms) var(--ease-spring, ease),
                background var(--transition-fast), border-color var(--transition-fast);
}
.sr-card:active { transform: scale(0.985); }
.sr-card:hover { background: var(--color-bg-card-hover); border-color: color-mix(in srgb, var(--color-primary) 30%, var(--color-border)); }

.sr-card__img {
    flex: 0 0 auto;
    width: 62px;
    height: 62px;
    border-radius: 12px;
    overflow: hidden;
    background: var(--color-bg-glass);
}
.sr-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }

.sr-card__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.sr-card__name {
    font-family: var(--font-display);
    font-size: 0.98rem;
    font-weight: 600;
    color: var(--color-text);
    line-height: 1.2;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.sr-card__desc {
    font-size: 0.76rem;
    color: var(--color-text-muted);
    line-height: 1.35;
    display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden;
}
.sr-card__meta { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: 2px; }
.sr-card__kcal {
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--color-text-secondary);
    background: var(--color-bg-glass);
    padding: 2px 7px;
    border-radius: 6px;
}
.sr-card__badge {
    font-size: 0.64rem;
    font-weight: 700;
    color: #fff;
    background: var(--color-primary);
    padding: 2px 7px;
    border-radius: 6px;
    white-space: nowrap;
}
.sr-card__price {
    flex: 0 0 auto;
    display: flex; align-items: baseline; gap: 5px;
    font-family: var(--font-display);
    font-variant-numeric: tabular-nums;
    padding-right: 4px;
}
.sr-card__price b { font-size: 0.98rem; font-weight: 600; color: var(--color-primary); }
.sr-card__price em { font-style: normal; font-size: 0.8rem; color: var(--color-text-secondary); }
.sr-card__price s { font-size: 0.76rem; color: var(--color-text-muted); }
/* İndirimli fiyatta güncel değer sale rengiyle */
.sr-card__price s + b, .sr-card__price s ~ b { color: var(--color-sale); }
.sr-card__chev { flex: 0 0 auto; color: var(--color-text-muted); margin-right: 2px; }

/* Son aramalar */
.sr-recent { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 12px 2px 4px; }
.sr-recent__label {
    font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--color-text-muted); margin-right: 2px;
}
.sr-recent__chip {
    padding: 6px 12px; border-radius: 999px; cursor: pointer;
    border: 1px solid var(--color-border); background: transparent;
    color: var(--color-text-secondary); font-family: var(--font-primary); font-size: 0.78rem;
    transition: background var(--transition-fast), color var(--transition-fast);
}
.sr-recent__chip:hover { background: var(--color-bg-card); color: var(--color-text); }

/* Sıfır-sonuç zarafeti */
.sr-empty { text-align: center; padding: 48px 24px 24px; color: var(--color-text-muted); }
.sr-empty svg { color: color-mix(in srgb, var(--color-primary) 55%, var(--color-text-muted)); opacity: 0.7; }
.sr-empty__title { font-family: var(--font-display); font-size: 1rem; color: var(--color-text-secondary); margin: 12px 0 4px; }
.sr-empty__hint { font-size: 0.82rem; line-height: 1.5; max-width: 30ch; margin: 0 auto; }

/* İskelet (yükleme) — kart-şekilli siluetlerin konteyneri */
.sr-skel { margin-top: 12px; }
@keyframes srShimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }

/* İMZA HAREKET — kartlar TEKER TEKER SOLDAN kayarak sırayla belirir:
   "şu an sana özel bir öneri oluşturuluyor" hissi. Gecikme kartın sırasından
   (--i, JS'te set edilir); uzun listede birikmesin diye tavanlı (min()).
   Çipler hafif, hızlı bir kademeyle yükselir. */
@media (prefers-reduced-motion: no-preference) {
    .sr-card {
        animation: srDeal 520ms var(--ease-sig, ease) both;
        animation-delay: calc(min(var(--i, 0), 12) * 55ms);
        will-change: transform, opacity;
    }
    @keyframes srDeal {
        from { opacity: 0; transform: translateX(-28px) scale(0.98); }
        to   { opacity: 1; transform: none; }
    }

    .sr-col__title { animation: srRise 320ms var(--ease-sig, ease) both; }
    .sr-chip, .sr-recent__chip { animation: srRise 380ms var(--ease-sig, ease) both; }
    .sr-chip:nth-child(1) { animation-delay: 20ms; }
    .sr-chip:nth-child(2) { animation-delay: 45ms; }
    .sr-chip:nth-child(3) { animation-delay: 70ms; }
    .sr-chip:nth-child(4) { animation-delay: 95ms; }
    .sr-chip:nth-child(5) { animation-delay: 120ms; }
    .sr-chip:nth-child(n+6) { animation-delay: 140ms; }
    @keyframes srRise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
}

/* Filtre çipi ikonu (etiket ikonu / kalori şimşeği) */
.sr-chip__ico {
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
    object-fit: contain;
    margin-right: -1px;
}
.sr-chip--kcal .sr-chip__ico { color: currentColor; }
/* Aktif çipe hafif marka-gölgesi (daha premium) */
.sr-chip.is-on { box-shadow: 0 4px 12px -4px color-mix(in srgb, var(--color-primary) 55%, transparent); }

/* ============================================================
   BONUS DOKUNUŞLAR — sesli arama · dinamik başlık · kelime vurgusu · blur-up
   ============================================================ */

/* 🎤 Sesli arama butonu (kutu boşken görünür; dinlerken nabız atar) */
.sr-mic {
    position: relative;
    flex: 0 0 auto;
    width: 34px; height: 34px;
    border: none; border-radius: 50%;
    background: transparent; cursor: pointer;
    color: var(--color-primary);
    display: flex; align-items: center; justify-content: center;
    transition: background var(--transition-fast), transform var(--motion-fast, 190ms) var(--ease-spring, ease);
}
.sr-mic[hidden] { display: none; }
.sr-mic:active { transform: scale(0.88); }
.sr-mic.is-listening { color: #fff; background: var(--color-primary); }
.sr-mic__pulse { position: absolute; inset: 0; border-radius: 50%; pointer-events: none; }
.sr-mic.is-listening .sr-mic__pulse { animation: srMicPulse 1.25s ease-out infinite; }
@keyframes srMicPulse {
    0%   { box-shadow: 0 0 0 0 color-mix(in srgb, var(--color-primary) 55%, transparent); }
    100% { box-shadow: 0 0 0 15px transparent; }
}

/* Dinamik sonuç başlığı — "8 sonuç · Vegan · ≤500 kcal" + sıralama seçici */
.sr-rescount {
    display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap;
    padding: 8px 2px 2px; margin-bottom: 2px;
    font-size: 0.82rem; color: var(--color-text-muted);
}
.sr-rescount__n { display: inline-flex; align-items: baseline; gap: 8px; flex-wrap: wrap; min-width: 0; }
.sr-rescount b { font-family: var(--font-display); font-size: 1.02rem; color: var(--color-text); font-variant-numeric: tabular-nums; }
.sr-rescount__ctx { color: var(--color-primary); font-weight: 600; padding-left: 8px; border-left: 1px solid var(--color-border); }

/* Sıralama seçici — ikon + native select (appearance:none), pill kabuk */
.sr-sort {
    flex: 0 0 auto;
    display: inline-flex; align-items: center; gap: 6px;
    padding: 5px 10px 5px 11px; border-radius: 999px;
    border: 1px solid var(--color-border); background: var(--color-bg-card);
    color: var(--color-text-secondary); cursor: pointer;
    transition: border-color var(--transition-fast), background var(--transition-fast);
}
.sr-sort:hover { border-color: color-mix(in srgb, var(--color-primary) 34%, var(--color-border)); }
.sr-sort svg { flex: 0 0 auto; color: var(--color-primary); opacity: 0.85; }
.sr-sort select {
    appearance: none; -webkit-appearance: none;
    border: 0; background: transparent; outline: none;
    font-family: var(--font-primary); font-size: 0.78rem; font-weight: 600;
    color: var(--color-text); cursor: pointer;
    padding-right: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.4'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right center;
}
.sr-sort select option { color: initial; }

/* Eşleşen kelime vurgusu (arama sonuçlarında) */
.sr-card__name mark {
    background: color-mix(in srgb, var(--color-primary) 22%, transparent);
    color: inherit; border-radius: 3px; padding: 0 1px;
}

/* Kart görseli blur-up — pop-in yerine yumuşak netleşme */
@media (prefers-reduced-motion: no-preference) {
    .sr-card__img img { animation: srImgUp 520ms var(--ease-sig, ease) both; }
    @keyframes srImgUp { from { opacity: 0; filter: blur(8px); transform: scale(1.06); } to { opacity: 1; filter: none; transform: none; } }
}

/* ============================================================
   GELİŞTİRMELER — kategori gözat · yatay carousel · kart-skeleton · temizle
   ============================================================ */

/* Kategori hızlı-gözat çipleri (keşifte) — outline pill + sayı rozeti */
.sr-browse { margin-top: 18px; }
.sr-browse__row {
    display: flex; gap: 8px; overflow-x: auto; flex-wrap: nowrap;
    scrollbar-width: none; -webkit-overflow-scrolling: touch; padding-bottom: 2px;
}
.sr-browse__row::-webkit-scrollbar { display: none; }
.sr-browse__chip {
    flex: 0 0 auto;
    display: inline-flex; align-items: center; gap: 7px;
    padding: 9px 13px; border-radius: 12px;
    border: 1px solid var(--color-border); background: var(--color-bg-card);
    color: var(--color-text); font-family: var(--font-primary);
    font-size: 0.82rem; font-weight: 600; white-space: nowrap; cursor: pointer;
    transition: transform var(--motion-fast, 190ms) var(--ease-spring, ease),
                border-color var(--transition-fast), background var(--transition-fast);
}
.sr-browse__chip:active { transform: scale(0.95); }
.sr-browse__chip:hover { border-color: color-mix(in srgb, var(--color-primary) 34%, var(--color-border)); background: var(--color-bg-card-hover); }
.sr-browse__n {
    font-size: 0.66rem; font-weight: 700; color: var(--color-text-muted);
    background: var(--color-bg-glass); padding: 1px 6px; border-radius: 6px;
    font-variant-numeric: tabular-nums;
}

/* Koleksiyon yatay carousel (keşif) — peek-next + snap */
.sr-col--carousel .sr-col__list {
    flex-direction: row; gap: 10px;
    overflow-x: auto; scroll-snap-type: x proximity; scroll-padding-left: 2px;
    padding: 2px 2px 6px;
    scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.sr-col--carousel .sr-col__list::-webkit-scrollbar { display: none; }
.sr-col--carousel .sr-card {
    flex: 0 0 82%; max-width: 320px; scroll-snap-align: start;
}

/* Kart-şekilli yükleme iskeleti */
.sr-skelcard {
    display: flex; align-items: center; gap: 13px;
    padding: 9px; margin-bottom: 8px;
    border-radius: var(--radius-lg, 16px);
    border: 1px solid var(--color-border); background: var(--color-bg-card);
}
.sr-skelcard__img { flex: 0 0 auto; width: 62px; height: 62px; border-radius: 12px; }
.sr-skelcard__body { flex: 1; display: flex; flex-direction: column; gap: 8px; }
.sr-skelcard__line { height: 12px; border-radius: 6px; width: 70%; }
.sr-skelcard__line--sm { width: 45%; height: 10px; }
.sr-skelcard__price { flex: 0 0 auto; width: 46px; height: 18px; border-radius: 6px; }
.sr-skelcard__img, .sr-skelcard__line, .sr-skelcard__price {
    background: linear-gradient(100deg, var(--color-bg-card) 30%, var(--color-bg-card-hover) 50%, var(--color-bg-card) 70%);
    background-size: 200% 100%; animation: srShimmer 1.2s linear infinite;
}

/* Filtreleri temizle çipi — sakin ghost (dashed), × ikonlu */
.sr-chip--clear {
    color: var(--color-text-muted); background: transparent; border-style: dashed;
}
.sr-chip--clear:hover {
    color: var(--color-danger, #e5484d);
    border-color: color-mix(in srgb, var(--color-danger, #e5484d) 40%, transparent);
}
.sr-chip--clear .sr-chip__ico { opacity: 0.8; }

/* Carousel + skeleton İMZA HAREKET istisnası: yatay kartlar zaten srDeal ile
   soldan geliyor; skeleton kartları animasyonsuz (shimmer yeterli). */
.sr-skelcard { animation: none; }
