/* pwa.css — [ZyRox] تجربة تطبيق أصلي شاملة (iPhone/Android حديث) */
:root {
  /* متغيرات المناطق الآمنة — جاهزة للاستخدام في أي مكان */
  --sat: env(safe-area-inset-top, 0px);
  --sab: env(safe-area-inset-bottom, 0px);
  --sal: env(safe-area-inset-left, 0px);
  --sar: env(safe-area-inset-right, 0px);
}

/* أساسيات الصفحة */
html {
  overscroll-behavior-y: none;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  /* [ZyRox] المستند (html) هو حاوية التمرير الوحيدة */
  overflow-x: hidden;
  overflow-y: auto;
}
body {
  margin: 0;
  padding: 0;
  -webkit-tap-highlight-color: transparent;
  overscroll-behavior-y: contain;
  /* [ZyRox] لا نجعل الـ body حاوية تمرير (أدناه) */
  overflow-x: hidden;
  overflow-y: visible;
  /* هوامش جانبية للمناطق الآمنة (الشاشات ذات الزوايا/النوتش الجانبي) */
  padding-left: var(--sal);
  padding-right: var(--sar);
  min-height: 100vh;
  min-height: 100dvh; /* دعم dvh للوحدات الديناميكية (شريط العناوين/لوحة المفاتيح) */
}

/* عناصر الرأس/الشريط العلوي: احترام المنطقة العلوية (النوتش/Dynamic Island) */
header,
.nav,
.navbar,
.topbar,
.appbar,
.chat-header,
[role="banner"] {
  padding-top: max(var(--sat), env(safe-area-inset-top, 0px));
}

/* عناصر التذييل/الشريط السفلي: احترام المنطقة السفلية (شريط المنزل) */
footer,
.foot,
.footer,
.chat-footer,
[role="contentinfo"],
.bottom-bar {
  padding-bottom: calc(var(--sab) + env(safe-area-inset-bottom, 0px) + 8px);
}

/* تمرير ناعم ولمسي أصلي */
* {
  -webkit-overflow-scrolling: touch;
}
/* [ZyRox] scroll-behavior: smooth كان مطبَّقًا على كل عنصر عبر المحدد العام '*'،
   فتصبح كل تمريرة برمجية (سحب المحادثة إلى الأسفل، scrollIntoView، ...) متحرّكة
   وتتنافس مع إصبع المستخدم — فيبدو التمرير اللمسي "معلقًا" على الهاتف والتابلت.
   الحل: سلس على مستوى المستند فقط، وفوري داخل حاويات التمرير. */
html {
  scroll-behavior: smooth;
}
.chat-scroll,
.chat-sidebar > div,
.chat-content,
.settings-content,
.settings-layout nav,
.settings-overlay,
.pay-card,
.pay-body,
.focused-model-menu,
.otp-dialog,
.table-wrap,
.account-body,
.code-preview {
  scroll-behavior: auto !important;
}

/* وضع التطبيق المستقل (PWA) */
@media (display-mode: standalone), (display-mode: fullscreen) {
  /* أخفِ دعوات التنزيل */
  .app-download,
  .install-btn,
  #installBtn,
  [data-install] {
    display: none !important;
  }
  /* في وضع التطبيق: المناطق الآمنة تظهر بوضوح أكبر */
  body {
    padding-top: var(--sat);
    padding-bottom: var(--sab);
  }
}

/* تحسينات iPhone / Dynamic Island */
/* تجنّب المحتوى خلف Dynamic Island في الوضع الأفقي */
@supports (padding: max(0px)) {
  .safe-top    { padding-top:    max(var(--sat), 12px); }
  .safe-bottom { padding-bottom: max(var(--sab), 12px); }
  .safe-left   { padding-left:   max(var(--sal), 12px); }
  .safe-right  { padding-right:  max(var(--sar), 12px); }
}

/* حاوية رئيسية تحترم المناطق الآمنة تلقائيًا */
.page-wrap,
.main-wrap,
.app-shell,
#root,
body > main {
  padding-top: var(--sat);
  padding-bottom: var(--sab);
  padding-left: var(--sal);
  padding-right: var(--sar);
}

/* نموذج المحادثة / مربعات الإدخال */
/* تأكد من أن شريط الإدخال فوق شريط المنزل ولا يُحجب */
.chat-composer,
.message-input-wrap,
.input-bar,
[contenteditable="true"].composer {
  padding-bottom: max(var(--sab), 8px);
  margin-bottom: 0;
}

/* أحجام لمسية كافية (48dp حد أدنى) */
button,
a,
[role="button"],
input[type="button"],
input[type="submit"],
input[type="reset"],
select,
summary {
  min-height: 44px;
  min-width: 44px;
  touch-action: manipulation;
}

/* حقول الإدخال: حجم خط 16px يمنع التكبير التلقائي على iOS */
input,
textarea,
select,
[contenteditable="true"] {
  font-size: 16px !important;
}

/* اخفاء شريط التمرير الاختياري */
/* @media (pointer: fine) { *::-webkit-scrollbar { display: none; } } */

/* انتقالات ثيم ناعمة */
html,
body {
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* تقليل الحركة */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* [ZyRox] القصّ الأفقي دون إنشاء حاوية تمرير.
   ody{overflow-x:hidden} يجعل overflow-y يُحسب كـ auto، فيصبح الـ body حاوية
   تمرير ثانية — وهذا يجمّد التمرير باللمس على الهاتف ويقطع تمرير نافذة
   الإعدادات. clip يقصّ دون أن يصنع حاوية تمرير. */
@supports (overflow: clip) {
  body { overflow-x: clip !important; }
}