/* ---------- קארין, יועצת ההרשמה (AI) ---------- */
.karin-fab { position: fixed; z-index: 1040; bottom: 20px; left: 20px; display: inline-flex; align-items: center; gap: .5rem; padding: .35rem 1rem .35rem .4rem; border: 0; border-radius: 50rem; background: var(--bk-navy); color: #fff; font-weight: 700; box-shadow: 0 10px 26px rgba(32, 41, 66, .3); }
.karin-fab:hover { transform: translateY(-1px); }
.karin { position: fixed; z-index: 1050; bottom: 20px; left: 20px; width: min(380px, calc(100vw - 24px)); height: min(640px, calc(100dvh - 40px)); display: flex; flex-direction: column; background: #fff; border-radius: 26px; box-shadow: 0 24px 60px rgba(22, 28, 45, .28); overflow: hidden; animation: karin-in .22s ease-out; }
.karin[hidden] { display: none; }
@keyframes karin-in { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: none; } }
.karin-top { display: flex; justify-content: space-between; padding: .8rem .8rem 0; background: linear-gradient(180deg, #fff3e3, #fff); }
.karin-ic { width: 36px; height: 36px; border-radius: 50%; border: 0; background: rgba(32, 41, 66, .07); color: var(--bk-navy); display: grid; place-items: center; }
.karin-ic:hover { background: rgba(32, 41, 66, .13); }
.karin-body { flex: 1; overflow-y: auto; padding: 1rem 1.1rem 1rem; display: flex; flex-direction: column; gap: .6rem; }
.karin-hello { text-align: center; }
.karin-hello[hidden] { display: none; }
.karin-hello h2 { font-size: 1.25rem; font-weight: 800; line-height: 1.35; color: var(--bk-navy); margin: 0 0 .4rem; }
.karin-hello p { color: var(--bk-muted, #6b7280); font-size: .9rem; margin-bottom: 1rem; }
.karin-chips { display: flex; flex-direction: column; align-items: center; gap: .5rem; }
.karin-chips button { border: 0; background: #fff3e3; color: #9a4a06; font-weight: 600; font-size: .92rem; padding: .5rem 1rem; border-radius: 50rem; }
.karin-chips button:hover { background: #ffe5c2; }
.karin-msg { max-width: 86%; padding: .6rem .85rem; border-radius: 16px; line-height: 1.55; font-size: .95rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.karin-msg.me { align-self: flex-start; background: var(--bk-navy); color: #fff; border-end-start-radius: 4px; }
.karin-msg.her { align-self: flex-end; background: #f3f4f7; color: var(--bk-ink); border-end-end-radius: 4px; }
.karin-msg.her a { color: var(--bk-navy); font-weight: 600; text-decoration: underline; }
.karin-typing { align-self: flex-end; display: inline-flex; gap: 4px; padding: .7rem .9rem; background: #f3f4f7; border-radius: 16px; }
.karin-typing i { width: 7px; height: 7px; border-radius: 50%; background: #9aa3b2; animation: karin-blink 1s infinite; }
.karin-typing i:nth-child(2) { animation-delay: .15s; }
.karin-typing i:nth-child(3) { animation-delay: .3s; }
@keyframes karin-blink { 50% { opacity: .3; } }
.karin-form { display: flex; align-items: flex-end; gap: .5rem; padding: .6rem .8rem; border-top: 1px solid #eef0f4; }
.karin-form textarea { flex: 1; resize: none; border: 1.5px solid #e2e6ec; border-radius: 14px; padding: .55rem .8rem; font: inherit; max-height: 120px; }
.karin-form textarea:focus { outline: none; border-color: var(--bk-navy); }
.karin-send { flex: none; width: 42px; height: 42px; border-radius: 50%; border: 0; background: var(--bs-primary); color: #fff; display: grid; place-items: center; }
.karin-send:disabled { opacity: .5; }
.karin-note { margin: 0; padding: 0 1rem .7rem; font-size: .74rem; color: var(--bk-muted, #6b7280); text-align: center; }
.karin-note a { color: inherit; }
body.karin-on .karin-fab { display: none; }
@media (max-width: 575.98px) {
  .karin-fab { left: 12px; bottom: 12px; padding: .3rem; }
  .karin-fab-text { display: none; }
  .karin { left: 0; right: 0; bottom: 0; width: 100%; height: calc(100dvh - 60px); border-radius: 22px 22px 0 0; }
}
@media (prefers-reduced-motion: reduce) { .karin { animation: none; } .karin-typing i { animation: none; } }
/* תמונת קארין: בורדר לבן וצל */
.karin-pic { display: block; border-radius: 50%; background: #FFE7C7; border: 3px solid #fff; box-shadow: 0 6px 16px rgba(22, 28, 45, .22); object-fit: cover; }
.karin-pic.sm { width: 42px; height: 42px; border-width: 2px; }
.karin-pic.lg { width: 124px; height: 124px; border-width: 5px; box-shadow: 0 0 0 10px rgba(var(--bs-primary-rgb), .12), 0 14px 30px rgba(22, 28, 45, .18); }
.karin-hero { position: relative; display: inline-block; margin: 1.25rem auto 1.5rem; }
.karin-dot { position: absolute; bottom: 12px; right: 12px; width: 18px; height: 18px; border-radius: 50%; background: #22c55e; border: 3px solid #fff; }
.karin-fab { padding: .3rem 1.1rem .3rem .3rem; }
.karin-view { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.karin-view[hidden] { display: none; }
/* "השיחות שלי" */
.karin-head { display: flex; align-items: center; justify-content: space-between; padding: .8rem; border-bottom: 1px solid #eef0f4; }
.karin-head-t { font-size: 1.05rem; font-weight: 800; color: var(--bk-navy); margin: 0; }
.karin-list-wrap { flex: 1; overflow-y: auto; padding: .9rem; }
.karin-new { width: 100%; min-height: 46px; display: flex; align-items: center; justify-content: center; gap: .4rem; border: 0; border-radius: 12px; background: var(--bk-navy); color: #fff; font-weight: 700; }
.karin-new:hover { background: #161d31; }
.karin-list { list-style: none; padding: 0; margin: .9rem 0 0; display: grid; gap: .5rem; }
.karin-item { width: 100%; text-align: start; border: 1px solid #eef0f4; background: #fff; border-radius: 12px; padding: .7rem .85rem; display: flex; flex-direction: column; gap: .15rem; }
.karin-item:hover { border-color: var(--bk-navy); }
.karin-item strong { color: var(--bk-ink); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.karin-item small { color: var(--bk-muted, #6b7280); }
.karin-empty { text-align: center; color: var(--bk-muted, #6b7280); margin-top: 2.5rem; }
.karin-empty[hidden] { display: none; }
.karin-empty-ic { width: 44px; height: 44px; border-radius: 50%; display: inline-grid; place-items: center; background: #f1f3f6; color: var(--bk-navy); margin-bottom: .5rem; }
/* בזמן שהודעת העוגיות מוצגת: קארין והחץ עולים מעליה, כדי לא לכסות את "אישור" */
/* הודעת העוגיות היא כרטיס קטן בצד ימין: בדסקטופ לא מכסה את קארין, במובייל היא לכל הרוחב ולכן קארין עולה */
@media (max-width: 575.98px) { body:has(#cookie-bar:not([hidden])) .karin-fab { bottom: 212px; } }
/* הכפתור הצף: רק התמונה של קארין, עם בורדר לבן וצל */
.karin-fab { padding: 0; background: transparent; box-shadow: none; border-radius: 50%; }
.karin-pic.fab { width: 78px; height: 78px; border-width: 4px; box-shadow: 0 10px 24px rgba(22, 28, 45, .28); transition: transform .15s ease; }
.karin-fab:hover .karin-pic.fab { transform: scale(1.06); }
.karin-fab:focus-visible { outline: 3px solid rgba(var(--bs-primary-rgb), .6); outline-offset: 4px; }
/* נקודת "זמינה" על קצה העיגול, לא על הפנים */
.karin-dot.sm { bottom: 5px; right: 5px; width: 15px; height: 15px; border-width: 2.5px; }
@media (max-width: 575.98px) { .karin-fab { padding: 0; } .karin-pic.fab { width: 66px; height: 66px; } }
/* חץ "חזרה למעלה": תמיד ממורכז מעל קארין, עם רווח (המזהה כפול כדי לגבור על כללי הפס ב-site.css). המיקום נגזר מאותם משתנים שקובעים את קארין,
   כך שהפס של המבצע, הודעת העוגיות והמסכים הצרים מזיזים את שניהם יחד */
body:has(.karin-fab) { --kf-b: 20px; --kf-l: 20px; --kf-s: 78px; }

@media (max-width: 575.98px) {
  body:has(.karin-fab) { --kf-b: 12px; --kf-l: 12px; --kf-s: 66px; }
  body:has(.karin-fab):has(#cookie-bar:not([hidden])) { --kf-b: 212px; }
}
body:has(.karin-fab) .karin-fab { bottom: var(--kf-b); left: var(--kf-l); }
body:has(.karin-fab) #back-to-top#back-to-top { width: 40px; height: 40px; line-height: 40px; border-radius: 50% !important; padding: 0; bottom: calc(var(--kf-b) + var(--kf-s) + 12px) !important; left: calc(var(--kf-l) + (var(--kf-s) - 40px) / 2) !important; box-shadow: 0 8px 18px rgba(22, 28, 45, .22); }
body.karin-on #back-to-top#back-to-top { display: none !important; }

/* קארין תמיד למטה: הפס של המבצע (מופיע בגלילה) לא מקפיץ אותה, הוא משאיר לה את הפינה השמאלית */
body:has(.karin-fab) .promo-bar { padding-left: calc(var(--kf-l) + var(--kf-s) + 10px); }
/* השיחה לא נצמדת לפס העליון: רווח מעל ההודעה הראשונה, והפס העליון מקבל קו דק כשיש שיחה */
.karin-top { padding-bottom: .6rem; }
.karin-hello[hidden] ~ .karin-msg:first-of-type, .karin-body > .karin-msg:first-child { margin-top: .25rem; }
.karin-view:has(.karin-msg) .karin-top { border-bottom: 1px solid #eef0f4; }
.karin-hello { margin-top: -1rem; }
