/* دعوت کاربران موبایل به وب‌اپ — برگهٔ پایین صفحه، با توکن‌های سایت برای تم روشن و تیره */
.app-promo { position: fixed; inset: 0; z-index: 1090; display: flex; align-items: flex-end; justify-content: center; }
.app-promo[hidden] { display: none; }
.app-promo-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .5); opacity: 0; transition: opacity .25s ease; backdrop-filter: blur(2px); }
.app-promo-sheet {
  position: relative; width: 100%; max-width: 520px; max-height: calc(100vh - 24px); overflow-y: auto;
  padding: .7rem 1.35rem calc(1.4rem + env(safe-area-inset-bottom));
  background: var(--bg-surface); color: var(--text-main);
  border-radius: 28px 28px 0 0; box-shadow: 0 -18px 48px rgba(15, 23, 42, .22);
  transform: translateY(105%); transition: transform .32s cubic-bezier(.2, .8, .2, 1);
}
.app-promo.is-open .app-promo-backdrop { opacity: 1; }
.app-promo.is-open .app-promo-sheet { transform: none; }
.app-promo-handle { display: block; width: 42px; height: 5px; margin: 0 auto 1rem; border-radius: 3px; background: var(--border-color); }
.app-promo-x {
  position: absolute; top: .85rem; left: .85rem; width: 2.5rem; height: 2.5rem; border: 0; border-radius: 50%;
  background: var(--bg-surface-2); color: var(--text-muted); display: grid; place-items: center;
}
.app-promo-head { display: flex; align-items: center; gap: .95rem; padding-left: 2.6rem; }
.app-promo-head img { flex: 0 0 auto; width: 64px; height: 64px; border-radius: 18px; box-shadow: 0 8px 20px rgba(37, 99, 235, .28); }
.app-promo-head h2 { margin: 0; font-size: 1.05rem; font-weight: 800; line-height: 1.8; }
.app-promo-head p { margin: .15rem 0 0; font-size: .82rem; line-height: 1.95; color: var(--text-muted); text-align: start; }
.app-promo-benefits { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1.05rem 0 1.25rem; padding: 0; list-style: none; }
.app-promo-benefits li {
  display: inline-flex; align-items: center; gap: .35rem; padding: .3rem .7rem; border-radius: 10px;
  background: var(--bg-surface-2); color: var(--color-primary); font-size: .76rem; font-weight: 600;
}
.app-promo-open { display: flex; align-items: center; justify-content: center; gap: .5rem; width: 100%; min-height: 3.1rem; font-weight: 700; }
.app-promo-later { display: block; width: 100%; min-height: 2.9rem; margin-top: .45rem; border: 0; background: none; color: var(--text-muted); font: inherit; font-size: .88rem; }
.app-promo-x:focus-visible, .app-promo-later:focus-visible, .app-promo-open:focus-visible { outline: 3px solid var(--color-primary-light); outline-offset: 2px; }
html.app-promo-lock, html.app-promo-lock body { overflow: hidden; }
@media (prefers-reduced-motion: reduce) {
  .app-promo-backdrop, .app-promo-sheet { transition: none; }
}
