/* ── Aliuyar Social — animasyonlar ve ince dokunuşlar ─────────── */

/* Tema geçişi yumuşatma */
body {
    transition: background-color .35s ease, color .35s ease;
}

/* Sipariş ilerleme çubuğu — devam eden siparişlerde hareketli şerit */
@keyframes progressStripes {
    from { background-position: 0 0; }
    to   { background-position: 1rem 0; }
}
.progress-striped {
    background-image: linear-gradient(45deg,
        rgba(255,255,255,.28) 25%, transparent 25%,
        transparent 50%, rgba(255,255,255,.28) 50%,
        rgba(255,255,255,.28) 75%, transparent 75%, transparent);
    background-size: 1rem 1rem;
    animation: progressStripes 1s linear infinite;
}

/* Sayfa girişi */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0); }
}
.page-enter { animation: fadeUp .45s cubic-bezier(.22,.68,.35,1) both; }

/* Sıralı beliren elemanlar (staggered fade-in) */
.stagger > * { opacity: 0; animation: fadeUp .5s cubic-bezier(.22,.68,.35,1) forwards; }
.stagger > *:nth-child(1)  { animation-delay: .03s; }
.stagger > *:nth-child(2)  { animation-delay: .07s; }
.stagger > *:nth-child(3)  { animation-delay: .11s; }
.stagger > *:nth-child(4)  { animation-delay: .15s; }
.stagger > *:nth-child(5)  { animation-delay: .19s; }
.stagger > *:nth-child(6)  { animation-delay: .23s; }
.stagger > *:nth-child(7)  { animation-delay: .27s; }
.stagger > *:nth-child(8)  { animation-delay: .31s; }
.stagger > *:nth-child(9)  { animation-delay: .35s; }
.stagger > *:nth-child(10) { animation-delay: .39s; }
.stagger > *:nth-child(11) { animation-delay: .43s; }
.stagger > *:nth-child(12) { animation-delay: .47s; }
.stagger > *:nth-child(n+13) { animation-delay: .5s; }

/* Kart hover: hafif yükselme + gölge */
.card-lift {
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.card-lift:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 24px -8px rgb(0 0 0 / .18);
}

/* Buton basma efekti */
.btn-press { transition: transform .12s ease, filter .2s ease, box-shadow .2s ease; }
.btn-press:hover  { filter: brightness(1.06); }
.btn-press:active { transform: scale(.965); }

/* Skeleton yükleme */
@keyframes shimmer {
    0%   { background-position: -400px 0; }
    100% { background-position: 400px 0; }
}
.skeleton {
    background: linear-gradient(90deg, rgb(var(--c-text) / .06) 25%, rgb(var(--c-text) / .12) 37%, rgb(var(--c-text) / .06) 63%);
    background-size: 800px 100%;
    animation: shimmer 1.4s linear infinite;
    border-radius: .5rem;
}

/* Yükleniyor dönmesi */
@keyframes spin360 { to { transform: rotate(360deg); } }
.animate-spin-slow { animation: spin360 1.1s linear infinite; }
form.loading .btn-label   { display: none; }
form.loading .btn-spinner { display: inline-flex !important; }
form.loading button[type="submit"] { opacity: .75; pointer-events: none; }

/* Karanlık mod ikon geçişi (güneş/ay döner-solar) */
.theme-toggle { position: relative; }
.theme-toggle .icon-sun,
.theme-toggle .icon-moon {
    position: absolute; inset: 0; margin: auto;
    transition: transform .45s cubic-bezier(.34,1.56,.64,1), opacity .3s ease;
}
html.dark .theme-toggle .icon-sun        { opacity: 0; transform: rotate(120deg) scale(.4); }
html:not(.dark) .theme-toggle .icon-moon { opacity: 0; transform: rotate(-120deg) scale(.4); }

/* İnce kaydırma çubuğu */
::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
    background: rgb(var(--c-text) / .18);
    border-radius: 9999px;
    border: 2px solid transparent;
    background-clip: content-box;
}
::-webkit-scrollbar-thumb:hover { background-color: rgb(var(--c-text) / .32); }

/* Tablo satırı hover */
.row-hover { transition: background-color .15s ease; }
.row-hover:hover { background-color: rgb(var(--c-primary) / .05); }

/* Odak halkası tutarlılığı */
input:focus-visible, select:focus-visible, textarea:focus-visible, button:focus-visible, a:focus-visible {
    outline: 2px solid rgb(var(--c-primary) / .55);
    outline-offset: 2px;
}

/* Alpine gizleme (yanıp sönmeyi önler) */
[x-cloak] { display: none !important; }

/* ── WhatsApp yüzen iletişim butonu ───────────────────────────── */
.wa-float {
    position: fixed;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 60;
    transition: transform .25s ease, box-shadow .25s ease;
}
.wa-float:hover {
    transform: translateY(-3px) scale(1.04);
    box-shadow: 0 14px 30px -6px rgb(37 211 102 / .55);
}
.wa-float:active { transform: scale(.97); }
.wa-float .wa-label {
    max-width: 0;
    opacity: 0;
    overflow: hidden;
    white-space: nowrap;
    transition: max-width .35s ease, opacity .25s ease, margin-left .35s ease;
}
.wa-float:hover .wa-label,
.wa-float:focus-visible .wa-label {
    max-width: 240px;
    opacity: 1;
    margin-left: .55rem;
}

/* ── Hızlı Sipariş kutuları ───────────────────────────────────── */
.qob-card {
    transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
    box-shadow: 0 6px 18px -8px rgb(0 0 0 / .25);
}
.qob-card:hover {
    transform: translateY(-3px);
    filter: brightness(1.03);
    box-shadow: 0 18px 36px -10px var(--qob-glow, rgb(0 0 0 / .3));
}
