/* فورم «اترك رقمك» + مساعد الأسئلة (الشات). */

/* ---------- الفورم ---------- */
.book { max-width: 640px; }
html.js .book-nojs { display: none; }
.book-nojs { display: grid; gap: 12px; justify-items: start; color: var(--soft); }
.lead-form { display: grid; gap: var(--sp-5); padding: var(--sp-6); background: var(--card); border: var(--bd); border-radius: var(--r-lg); }
.field { display: grid; gap: 6px; }
.field label { font: 700 var(--fs-body)/1.4 var(--f-body); }
.field input, .field select, .field textarea {
  width: 100%; min-height: 52px; padding: 12px 16px; border-radius: var(--r-sm); border: 1.5px solid var(--line-strong);
  background: var(--card); color: var(--txt); font: 500 1.0625rem/1.4 var(--f-body);
}
.field textarea { resize: vertical; min-height: 96px; }
.field input:focus-visible, .field select:focus-visible, .field textarea:focus-visible { border-color: var(--txt); outline-offset: 2px; }
.field [aria-invalid="true"], .consent:has([aria-invalid="true"]) { border-color: var(--no-ink); }
.field input[dir="ltr"] { text-align: right; }
.lead-pkg { padding: 12px 16px; border-radius: var(--r-sm); background: var(--bg); font: 500 var(--fs-small)/1.5 var(--f-body); }
.consent {
  display: grid; grid-template-columns: 24px 1fr; gap: 12px; align-items: start; padding: 14px; border-radius: var(--r-sm);
  border: 1.5px solid var(--line); font: 500 var(--fs-small)/1.6 var(--f-body); cursor: pointer;
}
.consent input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--txt); }
.hp { position: absolute; inset-inline-start: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-error { padding: 12px 16px; border-radius: var(--r-sm); background: var(--no-bg); color: var(--no-ink); font: 700 var(--fs-small)/1.6 var(--f-body); }
.lead-done {
  display: grid; gap: 10px; justify-items: start; padding: var(--sp-6); border-radius: var(--r-lg);
  background: var(--ok-bg); color: var(--ok-ink);
}
.lead-done b { font: 400 1.75rem/1.2 var(--f-display); }
.lead-done p { color: var(--txt); }
.book-privacy { margin-top: var(--sp-4); }
.book-link { margin-top: 2px; justify-self: center; font: 700 var(--fs-small)/1.5 var(--f-body); color: var(--soft); }
.pkg__cta .book-link { justify-content: center; }
.hero .book-link { justify-self: start; }
.ask-box .book-link { margin-top: 6px; }

/* ---------- المساعد ---------- */
.chat {
  position: fixed; z-index: var(--z-toast); inset: auto 8px calc(8px + env(safe-area-inset-bottom)) 8px;
  display: grid; grid-template-rows: auto 1fr auto auto; max-height: min(78svh, 640px);
  background: var(--card); border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--sh-float); overflow: hidden;
}
@media (min-width: 768px) { .chat { inset: auto 24px 24px auto; width: 400px; } }
.chat__head { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 0 8px; padding: 10px 12px 10px 16px; border-bottom: 1px solid var(--line); }
.chat__head b { font: 400 1.375rem/1.2 var(--f-display); }
.chat__head small { grid-row: 2; }
.chat__head .btn { grid-row: 1 / span 2; grid-column: 2; }
.chat__log { overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 10px; overscroll-behavior: contain; min-height: 160px; }
.msg { max-width: 88%; padding: 10px 14px; border-radius: 16px; display: grid; gap: 8px; justify-items: start; font: 500 var(--fs-small)/1.65 var(--f-body); }
.msg--bot { align-self: flex-start; background: var(--bg); border-end-start-radius: 4px; }
.msg--user { align-self: flex-end; background: var(--txt); color: var(--card); border-end-end-radius: 4px; }
.chat__chips { display: flex; gap: 6px; overflow-x: auto; padding: 0 12px 8px; scrollbar-width: none; }
.chat__chips:empty { display: none; }
.chat__chips .chip { min-height: 36px; font-size: .875rem; cursor: pointer; }
.chat__form { display: flex; gap: 8px; padding: 10px 12px; border-top: 1px solid var(--line); }
.chat__form input {
  flex: 1; min-width: 0; min-height: var(--tap); padding: 0 16px; border-radius: var(--r-pill); border: 1.5px solid var(--line-strong);
  background: var(--card); color: var(--txt); font: 500 1rem/1.4 var(--f-body);
}
.chat__form input:focus-visible { border-color: var(--txt); outline-offset: 2px; }
