/* Non-critical styles: things that only appear after load (booking toast,
   live-dot animation). Loaded non-blocking; everything visible on first
   paint lives inline in index.html. */

/* --- booking toast ------------------------------------------------------ */
.toast{position:fixed;left:16px;bottom:16px;z-index:50;max-width:calc(100vw - 2rem);
       opacity:0;transform:translateX(-40px);pointer-events:none;
       transition:opacity .4s ease-out,transform .4s ease-out}
.toast.show{opacity:1;transform:none}
.toast-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;
     background:var(--panel);border:1px solid var(--line);color:var(--text);
     font-size:12px;font-weight:500;white-space:nowrap;
     box-shadow:0 10px 15px -3px rgba(0,0,0,.3),0 4px 6px -4px rgba(0,0,0,.3)}
@media(min-width:640px){.toast-pill{font-size:14px}}

/* --- mobile: no ping animation, no heavy shadows, no parallax ----------- */
@media(min-width:768px){
  .dot-live.ping{position:relative}
  .dot-live.ping::before{content:"";position:absolute;inset:0;border-radius:50%;
        background:#4ADE80;opacity:.6;animation:ping 1s cubic-bezier(0,0,.2,1) infinite}
  @keyframes ping{75%,100%{transform:scale(2);opacity:0}}
}
@media(max-width:767px){
  .toast-pill{box-shadow:none}   /* the video-frame glow stays: static, and Base44 keeps it on mobile */
}
@media(prefers-reduced-motion:reduce){
  .toast{transition:none}
  .dot-live.ping::before{animation:none}
}
