/* ================= EXIT Motion v2 (stil Apple) — se încarcă DUPĂ glass.css / dark.css / plus.css =================
   Arcurile sunt calculate ca în iOS (response + bounce), vezi MO.spring în motion.js — aceleași valori. */
:root{
 --mo-smooth:linear(0,0.04,0.131,0.242,0.357,0.464,0.561,0.644,0.714,0.773,0.82,0.859,0.889,0.914,0.933,0.948,0.96,0.969,0.976,0.982,0.986,0.99,0.992,0.994,0.995,0.997,0.997,1);
 --mo-smooth-d:458ms;   /* foi, pagini — fără „săritură” (response .34, bounce 0) */
 --mo-snappy:linear(0,0.05,0.165,0.302,0.44,0.566,0.673,0.761,0.83,0.882,0.922,0.95,0.97,0.983,0.992,0.997,1,1.002,1.003,1.003,1.003,1.002,1);
 --mo-snappy-d:370ms;   /* pastile, file, segmente (response .30, bounce .12) */
 --mo-bouncy:linear(0,0.034,0.118,0.23,0.353,0.477,0.593,0.697,0.785,0.858,0.916,0.96,0.992,1.014,1.028,1.036,1.038,1.038,1.035,1.031,1.026,1.021,1.017,1.013,1.009,1.006,1.004,1);
 --mo-bouncy-d:454ms;   /* bula de mesaje, eliberarea butonului (response .38, bounce .28) */
 --mo-quick:linear(0,0.082,0.243,0.413,0.562,0.682,0.774,0.841,0.89,0.925,0.949,0.965,0.977,0.984,0.99,0.993,0.995,0.997,1);
 --mo-quick-d:297ms;    /* lucruri mici, fundal (response .22) */
 --mo-press-in:90ms;    /* cât de repede se strânge butonul sub deget */
}
@supports not (transition-timing-function:linear(0,1)){
 :root{--mo-smooth:cubic-bezier(.25,1,.5,1);--mo-snappy:cubic-bezier(.2,.9,.3,1.02);--mo-bouncy:cubic-bezier(.3,1.25,.5,1);--mo-quick:cubic-bezier(.2,.8,.3,1)}
}

/* ---------- animațiile vechi pe care le face acum motion.js (ca să nu ruleze de două ori) ---------- */
#main.enter>*{animation:none!important}
#sheet{animation:none}
.snav.in .si{animation:none!important}

/* ---------- fereastra care pleacă (copie) ---------- */
.mo-ghost-sheet{position:fixed!important;z-index:51;margin:0!important;max-height:none!important;pointer-events:none;animation:none!important}
.mo-ghost-ov{position:fixed;inset:0;z-index:50;pointer-events:none;background:rgba(20,22,30,.42)}

/* ---------- apăsarea: se strânge repede, revine cu un mic arc (ca butoanele iOS) ----------
   Folosim proprietatea „scale” (nu „transform”), ca să nu stricăm transformările pe care elementele le au deja. */
.btn,.ix-c,.ix-type,.tim,.pu-u,.ix-cr,.pillbtn,.vc-pay,.pay-go,.qb-go,.qm-p,
.seg>button,.qa-seg>button,.tabs>button,.si,.dsb,.chips button,.pills button,.methods button,.grade button,.p,.vp,.dk,.mo-press{
 transition:transform var(--mo-bouncy-d) var(--mo-bouncy),scale var(--mo-bouncy-d) var(--mo-bouncy),background-color .2s,color .2s,box-shadow .2s,opacity .2s}
/* lista veche din motion (transform:scale(.96)) — trecem la „scale”, ca să revină cu arc */
.btn:active,.ix-c:active,.ix-type:active,.tim:active,.pu-u:active,.ix-cr:active,.pillbtn:active,.vc-pay:active,.pay-go:active{transform:none}
:is(.btn,.ix-c,.ix-type,.tim,.pu-u,.ix-cr,.pillbtn,.vc-pay,.pay-go,.qb-go,.qm-p,.seg>button,.qa-seg>button,.tabs>button,.si,.dsb,.chips button,.pills button,.methods button,.grade button,.dk,.mo-press):active:not(:disabled){
 scale:.96;transition-duration:var(--mo-press-in);transition-timing-function:ease-out}
:is(.p,.vp):active{scale:.98;transition-duration:var(--mo-press-in);transition-timing-function:ease-out}  /* cardurile mari: mai puțin */

/* ---------- pastilele meniului (departament + file): alunecă pe arcul „snappy” ---------- */
.dind,.sind{transition:transform var(--mo-snappy-d) var(--mo-snappy),width var(--mo-snappy-d) var(--mo-snappy),opacity .2s}

/* ---------- segmente: pastila falsă care alunecă ---------- */
.mo-seg{isolation:isolate}
.mo-seg-rel{position:relative}
.mo-seg>button{position:relative;z-index:1}
.mo-seg>button.mo-seg-on{background:transparent!important;box-shadow:none!important}
.mo-thumb{position:absolute;z-index:0;pointer-events:none;transform-origin:0 0;will-change:transform}

/* ---------- bula de mesaje: urcă cu arc, se micșorează și se estompează la plecare ---------- */
.toast{scale:.9;filter:blur(4px);
 transition:opacity 180ms ease-in,transform 240ms cubic-bezier(.4,0,1,1),scale 240ms cubic-bezier(.4,0,1,1),filter 200ms ease-in}
.toast.on{scale:1;filter:blur(0);
 transition:opacity 160ms ease-out,transform var(--mo-bouncy-d) var(--mo-bouncy),scale var(--mo-bouncy-d) var(--mo-bouncy),filter 220ms ease-out}
.toast.mo-life::after{animation-timing-function:linear}

/* ---------- rând nou în coș / listă: coboară puțin în loc și se luminează (nu mai vine din lateral) ---------- */
@keyframes moRowIn{from{opacity:0;translate:0 -6px;scale:.98}to{opacity:1;translate:0 0;scale:1}}
.ln.new{animation:moRowIn var(--mo-snappy-d) var(--mo-snappy) both,lnGlow 1.6s ease-out}
.ln.ti.new{animation:moRowIn var(--mo-snappy-d) var(--mo-snappy) both,lnGlowG 1.6s ease-out}
/* rândul nou: animația o face motion.js (se deschide pe înălțime) */
.ci2.new,.cl.new{animation:none}
.cl.new{animation:moRowIn var(--mo-snappy-d) var(--mo-snappy) both,glow 1.6s ease-out}
.cl.ti.new{animation:moRowIn var(--mo-snappy-d) var(--mo-snappy) both,glowG 1.6s ease-out}

/* ---------- cifre: aceeași lățime pentru toate cifrele, ca totalul să nu „tremure” când numără ---------- */
.mo-num,.vc-tot b,.pay-tot b,.topay b{font-variant-numeric:tabular-nums;display:inline-block}

/* ---------- adăugare în coș: copia care zboară (poza produsului / pastila cu numele) ---------- */
.mo-fly{position:fixed;z-index:120;pointer-events:none;margin:0;display:grid;place-items:center;overflow:hidden;object-fit:contain;
 background:#fff;border-radius:16px;box-shadow:0 14px 30px -12px rgba(0,0,0,.35);will-change:transform}
.mo-fly img{max-width:86%;max-height:86%;object-fit:contain}
.mo-fly-pill{display:flex;align-items:center;padding:0 14px;border-radius:999px;background:rgba(28,28,30,.92);color:#fff;font-size:14px;font-weight:600;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 12px 26px -10px rgba(0,0,0,.45)}
/* ---------- pastila din jos (minimizare) și pulsul coșului: mai scurte ---------- */
.dk{animation:none}
.bill.pulse,.bill.pulse-g{animation-duration:.45s;animation-timing-function:var(--mo-smooth);animation-delay:var(--mo-land,0ms)}

/* ---------- mișcare redusă: nimic nu se mișcă (motion.js oprește și el animațiile) ---------- */
html.rm .toast,html.rm .toast.on{scale:1;filter:none}
html.rm :active{scale:none!important}
@media (prefers-reduced-motion:reduce){
 .toast,.toast.on{scale:1;filter:none;transition:opacity .01ms}
 :active{scale:none!important}
 .ln.new,.ln.ti.new,.ci2.new,.cl.new,.cl.ti.new{animation:none}
}

/* ---------- coșul: crește din butonul „Coș” (motion.js) — fără vechea alunecare din dreapta ---------- */
@media(min-width:901px){
 #main.flush .vcart{transform:none;transition:none}
 #main.flush .vcart:not(.open){opacity:0;visibility:hidden;pointer-events:none}
 #main.flush .vcart.open{opacity:1;visibility:visible}
}
/* rândul nou din coș / bon: o lumină verde care se stinge */
.cl.mo-glow,.ci2.mo-glow,.qb-li.mo-glow{animation:moGlow 1.3s ease-out}
@keyframes moGlow{0%{background-color:rgba(75,227,156,.32)}100%{background-color:transparent}}
/* „+” de pe card: o clipă bifă verde */
.vp .add.mo-ok>*{display:none!important}
.vp .add.mo-ok{background:var(--accent,#4be39c)!important;color:var(--accent-ink,#04281c)!important;font-size:0!important}
.vp .add.mo-ok::after{content:"";width:11px;height:6px;border:2.5px solid currentColor;border-top:0;border-right:0;transform:translateY(-2px) rotate(-45deg);display:block}
html.rm .cl.mo-glow,html.rm .ci2.mo-glow,html.rm .qb-li.mo-glow{animation:none}
@media (prefers-reduced-motion:reduce){.cl.mo-glow,.ci2.mo-glow,.qb-li.mo-glow{animation:none}}
/* ---------- fără sacadări: cât timp coșul / fereastra cresc, fundal plin în loc de sticlă încețoșată ---------- */
.mo-morphing{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:var(--surface,#fff)!important;will-change:transform,opacity;transform-origin:0 0!important}
:root[data-theme=dark] .mo-morphing{background:var(--surface,#1c1c1e)!important}
.mo-morphing>*{will-change:opacity,transform}
/* lumina verde: un strat care se stinge (doar opacitate), nu repictarea fundalului */
.cl.mo-glow,.ci2.mo-glow,.qb-li.mo-glow{animation:none;position:relative}
.cl.mo-glow::before,.ci2.mo-glow::before,.qb-li.mo-glow::before{content:"";position:absolute;inset:0;border-radius:inherit;background:rgba(75,227,156,.3);pointer-events:none;animation:moGlowO 1.3s ease-out forwards}
@keyframes moGlowO{from{opacity:1}to{opacity:0}}
html.rm .mo-glow::before{animation:none;opacity:0}
@media (prefers-reduced-motion:reduce){.mo-glow::before{animation:none;opacity:0}}
.cl.new,.cl.ti.new,.ci2.new{animation:none!important}
