:root{
  --hz-hizli:120ms;
  --hz-orta:220ms;
  --hz-yavas:420ms;
  --hz-cikis:cubic-bezier(.22,1,.36,1);
  --hz-yay:cubic-bezier(.34,1.56,.64,1);
  --hz-leke-1:color-mix(in srgb, var(--primary) 13%, transparent);
  --hz-leke-2:color-mix(in srgb, var(--accent) 10%, transparent);
  --hz-on-accent:#FFFFFF;
}
[data-bs-theme="dark"]{
  --hz-leke-1:color-mix(in srgb, var(--primary) 15%, transparent);
  --hz-leke-2:color-mix(in srgb, var(--accent) 11%, transparent);
  --hz-on-accent:#0B2316;
}
.app{ isolation:isolate; }
.app::before,
.app::after{ content:""; position:absolute; z-index:-1; pointer-events:none; border-radius:50%;
  will-change:transform; }
.app::before{ width:360px; height:360px; left:-140px; top:24%;
  background:radial-gradient(circle at 50% 50%, var(--hz-leke-1) 0%, transparent 68%);
  animation:hzLeke1 26s ease-in-out infinite alternate; }
.app::after{ width:420px; height:420px; right:-180px; bottom:6%;
  background:radial-gradient(circle at 50% 50%, var(--hz-leke-2) 0%, transparent 66%);
  animation:hzLeke2 32s ease-in-out infinite alternate; }
@keyframes hzLeke1{
  0%  { transform:translate3d(0,0,0) scale(1); }
  50% { transform:translate3d(120px,-60px,0) scale(1.12); }
  100%{ transform:translate3d(60px,90px,0) scale(.94); }
}
@keyframes hzLeke2{
  0%  { transform:translate3d(0,0,0) scale(1); }
  50% { transform:translate3d(-110px,-90px,0) scale(.9); }
  100%{ transform:translate3d(-40px,40px,0) scale(1.08); }
}
.app-main > *{ animation:hzGiris var(--hz-yavas) var(--hz-cikis) backwards; }
.app-main > :nth-child(2){ animation-delay:40ms; }
.app-main > :nth-child(3){ animation-delay:80ms; }
.app-main > :nth-child(4){ animation-delay:120ms; }
.app-main > :nth-child(n+5){ animation-delay:160ms; }
@keyframes hzGiris{ from{ opacity:0; transform:translate3d(0,10px,0); } }
.hz-dalga-kap{ overflow:hidden; }
.hz-dalga-kap.hz-konumla{ position:relative; }
.hz-dalga{ position:absolute; border-radius:50%; pointer-events:none; background:currentColor;
  opacity:.16; transform:scale(0); animation:hzDalga .55s var(--hz-cikis) forwards; }
@keyframes hzDalga{ to{ transform:scale(1); opacity:0; } }
.hz-mesgul, .hz-gidiyor{ cursor:progress; }
.hz-mesgul .bi:not(.yt-kilitDon),
.hz-gidiyor .bi:not(.yt-kilitDon){ display:inline-block; animation:hzIkonOyna .8s ease-in-out infinite; }
.hz-gidiyor .bi-chevron-right, .hz-gidiyor .bi-arrow-right, .hz-gidiyor .bi-arrow-left,
.hz-mesgul .bi-chevron-right{ animation-name:hzIkonDurt; }
@keyframes hzIkonOyna{
  0%,100%{ transform:translate3d(0,0,0) rotate(0); }
  30%    { transform:translate3d(0,-3px,0) rotate(-8deg); }
  60%    { transform:translate3d(0,0,0) rotate(6deg); }
}
@keyframes hzIkonDurt{
  0%,100%{ transform:translate3d(0,0,0); }
  50%    { transform:translate3d(4px,0,0); }
}
.btn-cta.hz-mesgul, .btn-cta.hz-gidiyor, .btn-cta.yt-gonderiliyor,
.sube-kart.hz-gidiyor, .tile.hz-gidiyor, .mahalle-oge.hz-gidiyor, .kapsam-btn.hz-gidiyor,
.hizli-btn.hz-gidiyor, .delivery-bar.hz-gidiyor, .sepet-sube.hz-gidiyor, .app-msg-ok.hz-gidiyor,
.app-msg-kisayol.hz-gidiyor, .sube-onay-devam.hz-gidiyor, .konum-btn.hz-mesgul{ position:relative; overflow:hidden; }
.btn-cta.hz-mesgul::after, .btn-cta.hz-gidiyor::after, .btn-cta.yt-gonderiliyor::after,
.sube-kart.hz-gidiyor::after, .tile.hz-gidiyor::after, .mahalle-oge.hz-gidiyor::after, .kapsam-btn.hz-gidiyor::after,
.hizli-btn.hz-gidiyor::after, .delivery-bar.hz-gidiyor::after, .sepet-sube.hz-gidiyor::after, .app-msg-ok.hz-gidiyor::after,
.app-msg-kisayol.hz-gidiyor::after, .sube-onay-devam.hz-gidiyor::after, .konum-btn.hz-mesgul::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(105deg, transparent 30%, color-mix(in srgb, currentColor 22%, transparent) 50%, transparent 70%);
  transform:translate3d(-100%,0,0); animation:hzIsilti 1.15s ease-in-out infinite; }
@keyframes hzIsilti{ to{ transform:translate3d(100%,0,0); } }
.btn-cta.hz-mesgul:disabled,
form .btn-cta.yt-gonderiliyor:disabled{ background:var(--primary-dolgu); color:var(--on-primary); opacity:1;
  box-shadow:0 10px 24px color-mix(in srgb, var(--primary) 40%, transparent); }
.hz-mesgul{ pointer-events:none; }
.hz-zipla{ animation:hzZipla .42s var(--hz-yay); }
i.hz-zipla{ display:inline-block; }
@keyframes hzZipla{ 0%{ transform:scale(1); } 40%{ transform:scale(1.32); } 100%{ transform:scale(1); } }
.hz-salla{ display:inline-block; animation:hzSalla .5s ease-in-out; }
@keyframes hzSalla{
  0%,100%{ transform:rotate(0); } 20%{ transform:rotate(-14deg) scale(1.12); }
  45%{ transform:rotate(10deg) scale(1.12); } 70%{ transform:rotate(-5deg); }
}
.nav-item:active i{ transform:translateY(-2px) scale(.88); }
.icon-btn.hz-don i{ display:inline-block; animation:hzDon .5s var(--hz-cikis); }
@keyframes hzDon{ from{ transform:rotate(-180deg) scale(.6); } }
.addon.selected .ck,
.odeme-kart.selected .odeme-isaret,
.adres-oge.secili .adres-isaret{ animation:hzSecPop .34s var(--hz-yay); }
@keyframes hzSecPop{ 0%{ transform:scale(.6); } 100%{ transform:scale(1); } }
.cat-chip.active{ animation:hzCipPop .32s var(--hz-yay); }
@keyframes hzCipPop{ 0%{ transform:scale(.92); } 100%{ transform:scale(1); } }
.btn-cta.hz-tamam{ background:var(--accent); color:var(--hz-on-accent);
  box-shadow:0 10px 24px color-mix(in srgb, var(--accent) 40%, transparent); transition:background var(--hz-orta); }
.add-btn.hz-eklendi{ background:var(--accent); color:var(--hz-on-accent);
  box-shadow:0 6px 14px color-mix(in srgb, var(--accent) 40%, transparent); }
.add-btn.hz-eklendi i{ animation:hzSecPop .34s var(--hz-yay); }
.hz-ucan{ position:fixed; z-index:2100; width:56px; height:56px; margin:-28px 0 0 -28px; border-radius:50%;
  display:grid; place-items:center; font-size:1.7rem; overflow:hidden; pointer-events:none;
  background:var(--surface); box-shadow:0 0 0 3px var(--primary), 0 10px 26px rgba(0,0,0,.28); }
.hz-ucan img{ width:100%; height:100%; object-fit:cover; }
.hz-konfeti{ position:fixed; z-index:2100; width:8px; height:8px; margin:-4px 0 0 -4px; border-radius:2px;
  pointer-events:none; }
.app-msg-overlay.show .app-msg-basari .app-msg-ikon{ animation:hzIkonGel .5s var(--hz-yay),
  hzHalka 1s .15s ease-out; }
.app-msg-overlay.show .app-msg-uyari .app-msg-ikon,
.app-msg-overlay.show .app-msg-hata .app-msg-ikon{ animation:hzIkonSalla .5s .1s ease-in-out; }
@keyframes hzIkonGel{ 0%{ transform:scale(.3); opacity:0; } 100%{ transform:scale(1); opacity:1; } }
@keyframes hzHalka{
  0%  { box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent); }
  100%{ box-shadow:0 0 0 18px transparent; }
}
@keyframes hzIkonSalla{
  0%,100%{ transform:translateX(0); } 20%{ transform:translateX(-6px); } 40%{ transform:translateX(5px); }
  60%{ transform:translateX(-3px); } 80%{ transform:translateX(2px); }
}
@media (prefers-reduced-motion: reduce){
  .app::before, .app::after,
  .app-main > *,
  .hz-mesgul .bi, .hz-gidiyor .bi,
  .hz-mesgul::after, .hz-gidiyor::after, .yt-gonderiliyor::after,
  .hz-zipla, .hz-salla, .icon-btn.hz-don i,
  .addon.selected .ck, .odeme-kart.selected .odeme-isaret, .adres-oge.secili .adres-isaret,
  .cat-chip.active, .add-btn.hz-eklendi i,
  .app-msg-overlay.show .app-msg-ikon{ animation:none !important; }
  .hz-mesgul::after, .hz-gidiyor::after, .yt-gonderiliyor::after{ display:none; }
  .nav-item:active i{ transform:none; }
}
