/* Giliro - תנועה. שכבה אחת לשלושת המסכים: כניסה מדורגת של פריטים, מעבר רך בין מסכים,
   גיליון שעולה עם קפיץ עדין, וכפתור שמגיב ללחיצה. הכול transform/opacity בלבד, בלי layout.
   המשתמש שביקש פחות תנועה (prefers-reduced-motion) מקבל אפס. (משה, 29.10.2026) */
@keyframes otRise{from{opacity:0;transform:translateY(72px)}to{opacity:1;transform:none}}
@keyframes otRiseCard{from{opacity:0;transform:translateY(48px)}to{opacity:1;transform:none}}
@keyframes otView{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes otPop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}

/* פריט: עולה מלמטה, לאט מספיק שרואים, ואחד אחרי השני (ארתור: "מהיר מדי, לא מורגש") */
html.ot-motion .ot-in{animation:otRise .64s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i,0) * 85ms)}
html.ot-motion .card.ot-in,html.ot-motion .card-sm.ot-in,html.ot-motion .sgroup.ot-in,html.ot-motion .msec.ot-in,html.ot-motion .empty.ot-in{animation-name:otRiseCard;animation-duration:.56s}
/* פריטים שעולים מתוך כרטיס לא נחתכים בקצה שלו בזמן הכניסה */
html.ot-motion .card:has(> .ot-in),html.ot-motion .card:has(> * > .ot-in),html.ot-motion .sgroup:has(.ot-in){overflow:visible}
/* מסך שמתחלף (יומן ← לקוחות ← התראות): נכנס מלמטה בעדינות בכל מעבר */
html.ot-motion .view:not(.hide){animation:otView .42s cubic-bezier(.16,1,.3,1) both}
/* גיליון: קפיץ קטן בסוף, כמו באפליקציה מקורית */
html.ot-motion .sheet{transition:opacity .22s}
html.ot-motion .sheet .box{transform:translateY(28px);transition:transform .38s cubic-bezier(.2,.9,.3,1.04)}
html.ot-motion .sheet.open .box{transform:none}
/* לחיצה: הפריט נלחץ פנימה ומשתחרר */
html.ot-motion .btn,html.ot-motion .lrow,html.ot-motion .srowl,html.ot-motion .svc,html.ot-motion .slot,html.ot-motion .day,html.ot-motion .mbtn,html.ot-motion .tabbar a,html.ot-motion .rvbtn{transition:transform .14s cubic-bezier(.2,.9,.3,1.2),filter .15s,background-color .15s}
html.ot-motion .btn:active,html.ot-motion .lrow:active,html.ot-motion .srowl:active,html.ot-motion .svc:active,html.ot-motion .slot:active,html.ot-motion .day:active,html.ot-motion .mbtn:active,html.ot-motion .rvbtn:active{transform:scale(.97)}
/* סרגל הלשוניות: האייקון הפעיל מתרומם */
html.ot-motion .tabbar a .i{transition:transform .22s cubic-bezier(.2,.9,.3,1.3)}
html.ot-motion .tabbar a.on .i{transform:translateY(-2px) scale(1.08)}
/* תמונה שנטענת מופיעה ולא קופצת */
html.ot-motion img.ot-img{opacity:0;transition:opacity .35s}
html.ot-motion img.ot-img.ld{opacity:1}
/* חשיפה בגלילה בדפים ארוכים (הזמנה, אזור אישי): מקטע שנכנס לפריים עולה פנימה */
html.ot-motion .ot-reveal{opacity:0;transform:translateY(40px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
html.ot-motion .ot-reveal.in{opacity:1;transform:none}
/* מצב כהה/בהיר מתחלף ברכות */
html.ot-motion body,html.ot-motion .card,html.ot-motion .card-sm{transition:background-color .25s,color .25s}
@media (hover:hover){html.ot-motion .lrow:hover,html.ot-motion .srowl:hover{background:var(--card-2)}html.ot-motion .btn:hover{filter:brightness(1.06)}}
@media (prefers-reduced-motion:reduce){html.ot-motion *,html.ot-motion *::before,html.ot-motion *::after{animation-duration:.001s!important;animation-delay:0s!important;transition-duration:.001s!important}html.ot-motion .ot-reveal{opacity:1;transform:none}}

/* הסרגל הצף של דף ההזמנה נכנס מלמטה כשנבחר שירות */
html.ot-motion .bar{transition:transform .38s cubic-bezier(.2,.9,.3,1.04),opacity .25s}
html.ot-motion .bar.hide{display:flex!important;transform:translateY(110%);opacity:0;pointer-events:none}
