/* Gallery Lamsa smart assistant — isolated namespace so it does not collide with legacy widgets. */
#lamsaSmartChatRoot,
#lamsaSmartChatRoot * { box-sizing: border-box; }
#lamsaSmartChatRoot {
  --lsc-primary:#0b72c9;
  --lsc-primary-strong:#07559b;
  --lsc-ink:#123b5d;
  --lsc-muted:#6b8296;
  --lsc-surface:rgba(255,255,255,.96);
  --lsc-border:rgba(11,114,201,.18);
  direction:rtl;
  font-family:Tahoma,"Segoe UI",Arial,sans-serif;
  position:relative;
  z-index:2147482000;
}
.lsc-launcher {
  position:fixed; inset-inline-start:22px; bottom:22px; width:62px; height:62px;
  border:0; border-radius:22px; color:#fff; cursor:pointer; display:grid; place-items:center;
  background:linear-gradient(145deg,#18a7e9,#07559b); box-shadow:0 16px 34px rgba(4,57,105,.3), inset 0 1px 0 rgba(255,255,255,.3);
  transition:transform .2s ease, box-shadow .2s ease; animation:lsc-breathe 3.6s ease-in-out infinite;
}
.lsc-launcher:hover,.lsc-launcher:focus-visible { transform:translateY(-4px) scale(1.03); box-shadow:0 20px 42px rgba(4,57,105,.38),0 0 0 5px rgba(24,167,233,.16); outline:none; }
.lsc-launcher svg { width:30px; height:30px; }
.lsc-wa-submit { background:linear-gradient(135deg,#25d366,#128c7e); }
.lsc-launcher small { position:absolute; bottom:-20px; white-space:nowrap; color:var(--lsc-ink); font-size:10px; font-weight:700; opacity:.85; }
.lsc-panel {
  position:fixed; inset-inline-start:22px; bottom:94px; width:min(420px,calc(100vw - 28px)); height:min(680px,calc(100vh - 124px));
  display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--lsc-border); border-radius:26px; background:var(--lsc-surface);
  box-shadow:0 30px 80px rgba(8,48,84,.24),0 0 0 1px rgba(255,255,255,.65) inset; backdrop-filter:blur(18px);
  opacity:0; transform:translateY(16px) scale(.97); pointer-events:none; transition:opacity .22s ease, transform .22s ease;
}
.lsc-panel.is-open { opacity:1; transform:none; pointer-events:auto; }
.lsc-header { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:16px 18px; color:#fff; background:linear-gradient(135deg,#0b72c9,#073e75); }
.lsc-brand { display:flex; align-items:center; gap:10px; min-width:0; }
.lsc-brand-mark { width:38px; height:38px; border-radius:13px; display:grid; place-items:center; background:rgba(255,255,255,.18); font-size:20px; }
.lsc-title { font-weight:800; font-size:15px; }
.lsc-subtitle { color:rgba(255,255,255,.78); font-size:10px; margin-top:3px; }
.lsc-close { border:0; border-radius:11px; width:34px; height:34px; color:#fff; background:rgba(255,255,255,.14); cursor:pointer; font-size:19px; }
.lsc-close:hover,.lsc-close:focus-visible { background:rgba(255,255,255,.28); outline:none; }
.lsc-tabs { display:flex; gap:8px; padding:10px 12px; background:#f2f8fd; border-bottom:1px solid var(--lsc-border); }
.lsc-tab { flex:1; border:1px solid transparent; border-radius:12px; padding:10px 8px; color:var(--lsc-muted); background:transparent; cursor:pointer; font-weight:700; font-size:12px; }
.lsc-tab.is-active { color:var(--lsc-primary-strong); background:#fff; border-color:var(--lsc-border); box-shadow:0 5px 14px rgba(11,114,201,.08); }
.lsc-wa-mark { display:inline-grid; place-items:center; width:20px; height:20px; margin-inline-end:4px; border-radius:50%; color:#fff; background:#25d366; font-size:8px; font-weight:900; letter-spacing:-.3px; vertical-align:-5px; }
.lsc-view { min-height:0; flex:1; display:none; flex-direction:column; }
.lsc-view.is-active { display:flex; }
.lsc-messages { flex:1; overflow:auto; padding:15px; scroll-behavior:smooth; }
.lsc-message { max-width:88%; padding:10px 12px; border-radius:16px; margin-bottom:10px; line-height:1.65; font-size:13px; white-space:pre-wrap; word-break:break-word; }
.lsc-message.assistant { margin-inline-end:auto; color:var(--lsc-ink); background:#edf6fd; border-start-start-radius:5px; }
.lsc-message.user { margin-inline-start:auto; color:#fff; background:linear-gradient(135deg,#148fdb,#075da8); border-start-end-radius:5px; }
.lsc-message.system { margin:0 auto 10px; color:#6e5b21; background:#fff8dc; border:1px solid #f2df9d; font-size:12px; text-align:center; }
.lsc-product-grid { display:grid; grid-template-columns:1fr; gap:9px; margin:8px 0 14px; }
.lsc-product { display:grid; grid-template-columns:58px 1fr; gap:10px; border:1px solid var(--lsc-border); border-radius:15px; padding:9px; background:#fff; box-shadow:0 5px 18px rgba(11,114,201,.06); }
.lsc-product-media { width:58px; height:58px; overflow:hidden; border-radius:12px; background:#eef5fa; display:grid; place-items:center; color:#8aa0b1; font-size:10px; text-align:center; }
.lsc-product-media img { width:100%; height:100%; object-fit:cover; }
.lsc-product-title { color:var(--lsc-ink); font-weight:800; font-size:12px; line-height:1.4; }
.lsc-product-meta { color:var(--lsc-muted); font-size:10px; margin-top:4px; }
.lsc-product-actions { display:flex; gap:6px; flex-wrap:wrap; margin-top:7px; }
.lsc-mini-btn { border:0; border-radius:9px; padding:6px 8px; color:var(--lsc-primary-strong); background:#eaf5fd; font-size:10px; font-weight:700; cursor:pointer; text-decoration:none; }
.lsc-mini-btn:hover,.lsc-mini-btn:focus-visible { background:#d7edfc; outline:none; }
.lsc-composer { display:flex; gap:8px; padding:12px; border-top:1px solid var(--lsc-border); background:rgba(248,252,255,.95); }
.lsc-composer input,.lsc-form input,.lsc-form textarea { min-width:0; flex:1; border:1px solid #cfe2f0; border-radius:13px; padding:11px 12px; color:var(--lsc-ink); background:#fff; font:inherit; font-size:12px; outline:none; }
.lsc-composer input:focus,.lsc-form input:focus,.lsc-form textarea:focus { border-color:#58aee1; box-shadow:0 0 0 3px rgba(24,167,233,.12); }
.lsc-send { flex:0 0 auto; border:0; border-radius:13px; padding:0 14px; color:#fff; background:var(--lsc-primary); cursor:pointer; font-weight:800; }
.lsc-send:hover,.lsc-send:focus-visible { background:var(--lsc-primary-strong); outline:none; }
.lsc-loading { display:inline-flex; align-items:center; gap:7px; color:var(--lsc-muted); font-size:11px; }
.lsc-spinner { width:14px; height:14px; border:2px solid #c7e2f4; border-top-color:var(--lsc-primary); border-radius:50%; animation:lsc-spin .7s linear infinite; }
.lsc-form { padding:16px; overflow:auto; }
.lsc-form h3 { margin:0 0 6px; color:var(--lsc-ink); font-size:14px; }
.lsc-form p { color:var(--lsc-muted); font-size:11px; line-height:1.6; margin:0 0 12px; }
.lsc-form label { display:block; color:var(--lsc-ink); font-size:11px; font-weight:700; margin:9px 0 5px; }
.lsc-form textarea { width:100%; resize:vertical; min-height:90px; }
.lsc-form .lsc-send { width:100%; min-height:42px; margin-top:12px; }
.lsc-status { display:none; margin-top:10px; border-radius:12px; padding:10px; font-size:11px; line-height:1.6; }
.lsc-status.is-visible { display:block; }
.lsc-status.success { color:#14643a; background:#e9faef; border:1px solid #b7e8c8; }
.lsc-status.error { color:#9f2525; background:#fff0f0; border:1px solid #f0c2c2; }
.lsc-wa-link { display:inline-block; margin-top:9px; border-radius:10px; padding:8px 10px; color:#fff; background:#14a66b; text-decoration:none; font-weight:700; }
.lsc-group-gate { padding:30px 18px; text-align:center; color:var(--lsc-ink); }
.lsc-group-gate p { color:var(--lsc-muted); font-size:12px; line-height:1.7; }
.lsc-group-gate a { display:inline-block; margin-top:8px; padding:10px 14px; border-radius:12px; color:#fff; background:var(--lsc-primary); text-decoration:none; font-size:12px; font-weight:700; }
.lsc-group-message { padding:9px 11px; border-bottom:1px solid #edf3f7; }
.lsc-group-name { color:var(--lsc-primary-strong); font-weight:800; font-size:11px; }
.lsc-group-time { color:#9aacb9; font-size:9px; margin-inline-start:6px; }
.lsc-group-text { color:var(--lsc-ink); font-size:12px; line-height:1.65; white-space:pre-wrap; word-break:break-word; margin-top:3px; }
@keyframes lsc-spin { to { transform:rotate(360deg); } }
@keyframes lsc-breathe { 0%,100% { box-shadow:0 16px 34px rgba(4,57,105,.3),0 0 0 0 rgba(24,167,233,.25); } 50% { box-shadow:0 16px 34px rgba(4,57,105,.3),0 0 0 8px rgba(24,167,233,0); } }
@media (max-width:600px) {
  .lsc-launcher { inset-inline-start:14px; bottom:16px; width:56px; height:56px; border-radius:19px; }
  .lsc-panel { inset-inline:10px; bottom:82px; width:auto; height:min(680px,calc(100vh - 98px)); border-radius:21px; }
  .lsc-message { max-width:94%; }
}
@media (prefers-reduced-motion:reduce) { .lsc-launcher,.lsc-panel { animation:none; transition:none; } }
