/* Omraa AI Assistant Widget */
:root{
  --omraa-ai-primary:#0E5C4A;
  --omraa-ai-primary-2:#0a4538;
  --omraa-ai-secondary:#D4A63C;
  --omraa-ai-bg:#F8FAFC;
  --omraa-ai-surface:#ffffff;
  --omraa-ai-text:#0f172a;
  --omraa-ai-muted:#64748b;
  --omraa-ai-border:#e2e8f0;
  --omraa-ai-user:#DCF8C6;
  --omraa-ai-bot:#ffffff;
  --omraa-ai-radius:16px;
  --omraa-ai-shadow:0 20px 60px rgba(14,92,74,.25);
  --omraa-ai-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Tajawal", "Cairo", Roboto, sans-serif;
}
#omraa-ai-root, #omraa-ai-root *{ box-sizing:border-box; font-family:var(--omraa-ai-font); }
#omraa-ai-root{ position:fixed; bottom:24px; right:24px; z-index:2147483000; direction:rtl; }
#omraa-ai-root[data-position="bottom-left"]{ right:auto; left:24px; }

/* Bubble */
#omraa-ai-bubble{
  position:relative; width:64px; height:64px; border-radius:50%;
  background:linear-gradient(135deg,var(--omraa-ai-primary),var(--omraa-ai-primary-2));
  color:#fff; border:none; cursor:pointer; display:flex;align-items:center;justify-content:center;
  box-shadow:var(--omraa-ai-shadow); transition:transform .25s ease;
}
#omraa-ai-bubble:hover{ transform:scale(1.06); }
.omraa-ai-bubble__icon{ width:30px;height:30px; }
.omraa-ai-bubble__badge{
  position:absolute; top:-4px; left:-4px; background:var(--omraa-ai-secondary);
  color:#1a1a1a; font-size:10px; font-weight:800; padding:3px 6px; border-radius:8px;
}
.omraa-ai-bubble__pulse{
  position:absolute; inset:-6px; border-radius:50%;
  background:var(--omraa-ai-primary); opacity:.35; animation:omraaPulse 2s infinite;
}
@keyframes omraaPulse{
  0%{ transform:scale(.95); opacity:.5; }
  70%{ transform:scale(1.3); opacity:0; }
  100%{ transform:scale(1.3); opacity:0; }
}

/* Popup hint */
.omraa-ai-popup{
  position:absolute; bottom:74px; right:0; background:#fff; padding:10px 14px;
  border-radius:12px; box-shadow:0 8px 20px rgba(0,0,0,.12);
  font-size:13px; color:var(--omraa-ai-text); max-width:240px; display:none;
}
.omraa-ai-popup.show{ display:block; animation:omraaFade .3s ease; }
@keyframes omraaFade{ from{opacity:0; transform:translateY(8px);} to{opacity:1;transform:none;} }

/* Window */
.omraa-ai-window{
  position:absolute; bottom:80px; right:0;
  width:380px; max-width:calc(100vw - 32px); height:600px; max-height:calc(100vh - 120px);
  background:var(--omraa-ai-bg); border-radius:var(--omraa-ai-radius);
  box-shadow:var(--omraa-ai-shadow); display:none; flex-direction:column; overflow:hidden;
}
.omraa-ai-window.open{ display:flex; animation:omraaOpen .3s ease; }
@keyframes omraaOpen{ from{opacity:0; transform:translateY(16px) scale(.97);} to{opacity:1;transform:none;} }

.omraa-ai-header{
  display:flex; align-items:center; gap:12px; padding:14px 16px;
  background:linear-gradient(135deg,var(--omraa-ai-primary),var(--omraa-ai-primary-2));
  color:#fff;
}
.omraa-ai-header__avatar{ width:42px;height:42px; border-radius:50%;
  background:rgba(255,255,255,.15); display:flex;align-items:center;justify-content:center; color:var(--omraa-ai-secondary); }
.omraa-ai-header__avatar svg{ width:22px;height:22px; }
.omraa-ai-header__meta{ flex:1; min-width:0; }
.omraa-ai-header__title{ font-weight:700; font-size:15px; }
.omraa-ai-header__status{ font-size:12px; opacity:.85; display:flex;align-items:center; gap:6px; margin-top:2px; }
.omraa-ai-dot{ width:8px;height:8px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 3px rgba(34,197,94,.25); }
.omraa-ai-header__actions{ display:flex; gap:4px; }
.omraa-ai-btn-icon{
  background:transparent; border:none; color:inherit; cursor:pointer; width:32px;height:32px;
  border-radius:8px; font-size:18px; display:flex;align-items:center;justify-content:center;
}
.omraa-ai-btn-icon:hover{ background:rgba(255,255,255,.15); }

/* Quick actions */
.omraa-ai-quick{
  display:flex; gap:8px; padding:10px 12px; overflow-x:auto; background:#fff; border-bottom:1px solid var(--omraa-ai-border);
}
.omraa-ai-quick::-webkit-scrollbar{ height:4px; }
.omraa-ai-quick button{
  white-space:nowrap; padding:7px 12px; border-radius:20px;
  background:#f1f5f9; border:1px solid var(--omraa-ai-border);
  color:var(--omraa-ai-primary); font-size:12px; cursor:pointer; font-weight:600;
}
.omraa-ai-quick button:hover{ background:var(--omraa-ai-primary); color:#fff; border-color:var(--omraa-ai-primary); }

/* Body */
.omraa-ai-body{
  flex:1; padding:14px; overflow-y:auto;
  background:
    linear-gradient(rgba(248,250,252,.92),rgba(248,250,252,.92)),
    repeating-linear-gradient(45deg,#e7ecf3 0 2px,transparent 2px 14px);
}
.omraa-ai-msg{ display:flex; margin-bottom:10px; }
.omraa-ai-msg.user{ justify-content:flex-end; }
.omraa-ai-msg.bot{ justify-content:flex-start; }
.omraa-ai-bubble-msg{
  max-width:78%; padding:9px 13px; border-radius:14px; font-size:14px; line-height:1.55; color:var(--omraa-ai-text);
  box-shadow:0 1px 1px rgba(0,0,0,.06); position:relative; word-wrap:break-word;
}
.omraa-ai-msg.user .omraa-ai-bubble-msg{ background:var(--omraa-ai-user); border-bottom-right-radius:4px; }
.omraa-ai-msg.bot .omraa-ai-bubble-msg{ background:var(--omraa-ai-bot); border-bottom-left-radius:4px; }
.omraa-ai-time{ font-size:10px; color:var(--omraa-ai-muted); margin-top:4px; text-align:left; }

/* Typing */
.omraa-ai-typing{ display:inline-flex; gap:4px; padding:10px 14px; background:#fff; border-radius:14px; }
.omraa-ai-typing span{
  width:7px;height:7px; border-radius:50%; background:var(--omraa-ai-muted); animation:omraaTyp 1.2s infinite ease-in-out;
}
.omraa-ai-typing span:nth-child(2){ animation-delay:.15s;} .omraa-ai-typing span:nth-child(3){ animation-delay:.3s;}
@keyframes omraaTyp{ 0%,80%,100%{transform:scale(.6); opacity:.5;} 40%{ transform:scale(1); opacity:1;} }

/* Offer cards */
.omraa-ai-cards{ display:flex; flex-direction:column; gap:10px; margin-top:8px; }
.omraa-ai-card{
  background:#fff; border:1px solid var(--omraa-ai-border); border-radius:14px; padding:10px; display:flex; gap:10px;
}
.omraa-ai-card img{ width:72px;height:72px; border-radius:10px; object-fit:cover; background:#eef2f7; }
.omraa-ai-card__body{ flex:1; min-width:0; }
.omraa-ai-card__title{ font-size:13px; font-weight:700; color:var(--omraa-ai-text); margin:0 0 4px; }
.omraa-ai-card__meta{ font-size:11px; color:var(--omraa-ai-muted); display:flex; gap:8px; flex-wrap:wrap; }
.omraa-ai-card__price{ color:var(--omraa-ai-primary); font-weight:800; font-size:14px; margin-top:4px; }
.omraa-ai-card__actions{ display:flex; gap:6px; margin-top:6px; }
.omraa-ai-card__actions a{
  flex:1; text-align:center; font-size:11px; padding:6px; border-radius:8px; text-decoration:none; font-weight:600;
}
.omraa-ai-card__actions .primary{ background:var(--omraa-ai-primary); color:#fff; }
.omraa-ai-card__actions .ghost{ background:#f1f5f9; color:var(--omraa-ai-primary); }

/* Footer */
.omraa-ai-footer{
  display:flex; align-items:center; gap:6px; padding:8px 10px; background:#fff; border-top:1px solid var(--omraa-ai-border);
}
#omraa-ai-input{
  flex:1; border:1px solid var(--omraa-ai-border); background:#f8fafc; border-radius:24px;
  padding:9px 14px; font-size:14px; outline:none; font-family:inherit;
}
#omraa-ai-input:focus{ border-color:var(--omraa-ai-primary); background:#fff; }
.omraa-ai-btn-send{
  width:40px;height:40px; border-radius:50%; border:none; background:var(--omraa-ai-primary); color:#fff;
  display:flex;align-items:center;justify-content:center; cursor:pointer;
}
.omraa-ai-btn-send:hover{ background:var(--omraa-ai-primary-2); }
.omraa-ai-btn-send svg{ width:18px;height:18px; transform:scaleX(-1); }
.omraa-ai-footer .omraa-ai-btn-icon{ color:var(--omraa-ai-muted); }

@media (max-width:480px){
  .omraa-ai-window{ width:calc(100vw - 24px); height:calc(100vh - 100px); bottom:80px; right:0; }
}

/* Dark mode */
@media (prefers-color-scheme: dark){
  .omraa-ai-window{ background:#0b1220; }
  .omraa-ai-quick{ background:#0f172a; border-color:#1e293b; }
  .omraa-ai-quick button{ background:#1e293b; border-color:#1e293b; color:#fff; }
  .omraa-ai-body{ background:linear-gradient(rgba(11,18,32,.96),rgba(11,18,32,.96)); }
  .omraa-ai-msg.bot .omraa-ai-bubble-msg{ background:#1e293b; color:#fff; }
  .omraa-ai-msg.user .omraa-ai-bubble-msg{ background:#0E5C4A; color:#fff; }
  .omraa-ai-footer{ background:#0f172a; border-color:#1e293b; }
  #omraa-ai-input{ background:#1e293b; border-color:#1e293b; color:#fff; }
  .omraa-ai-card{ background:#1e293b; border-color:#334155; }
  .omraa-ai-card__title{ color:#fff; }
}
.omraa-ai-bubble-msg a{color:#0E5C4A;font-weight:700;text-decoration:underline;word-break:break-all;}
.omraa-ai-msg.user .omraa-ai-bubble-msg a{color:inherit;}

/* ---------- Voice conversation (1.2.0) ---------- */
.omraa-ai-btn-icon[hidden], .omraa-ai-voice[hidden], .omraa-ai-footer[hidden] { display: none !important; }
.omraa-ai-btn-icon svg { width: 20px; height: 20px; }
.omraa-ai-mic { color: var(--omraa-ai-primary) !important; background: #E8F3EF !important; border-radius: 50% !important; width: 38px !important; height: 38px !important; }
.omraa-ai-mic:hover { background: var(--omraa-ai-primary) !important; color: #fff !important; }
#omraa-ai-speaker .off { display: none; }
#omraa-ai-speaker.is-muted .on { display: none; }
#omraa-ai-speaker.is-muted .off { display: block; }
.omraa-ai-voice {
  display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 18px 16px 14px;
  background: linear-gradient(180deg, #fff 0%, #F1F9F5 100%); border-top: 1px solid var(--omraa-ai-border);
}
.omraa-ai-voice__orb {
  --lvl: 0; position: relative; display: grid; place-items: center; width: 84px; height: 84px; padding: 0;
  border: 0; border-radius: 50%; cursor: pointer; color: #fff;
  background: radial-gradient(circle at 35% 30%, #18A57F, var(--omraa-ai-primary) 60%, var(--omraa-ai-primary-2));
  box-shadow: 0 10px 30px rgba(14, 92, 74, .35); transform: scale(calc(1 + var(--lvl) * .18)); transition: transform .1s linear;
}
.omraa-ai-voice__orb svg { position: relative; z-index: 1; width: 34px; height: 34px; }
.omraa-ai-voice__ring { position: absolute; inset: -8px; border-radius: 50%; border: 2px solid rgba(14, 92, 74, .35); opacity: 0; }
.omraa-ai-voice[data-state="listening"] .omraa-ai-voice__ring { animation: omraaRing 1.6s ease-out infinite; }
.omraa-ai-voice[data-state="listening"] .omraa-ai-voice__ring.r2 { animation-delay: .8s; }
@keyframes omraaRing { 0% { transform: scale(.9); opacity: .9; } 100% { transform: scale(1.45); opacity: 0; } }
.omraa-ai-voice[data-state="thinking"] .omraa-ai-voice__orb { animation: omraaThink 1.1s ease-in-out infinite; background: radial-gradient(circle at 35% 30%, #F4C35A, var(--omraa-ai-secondary) 60%, #B98A22); }
@keyframes omraaThink { 0%, 100% { transform: scale(.94); } 50% { transform: scale(1.04); } }
.omraa-ai-voice[data-state="speaking"] .omraa-ai-voice__orb { animation: omraaSpeak .9s ease-in-out infinite; }
@keyframes omraaSpeak { 0%, 100% { box-shadow: 0 0 0 0 rgba(14, 92, 74, .35); } 50% { box-shadow: 0 0 0 14px rgba(14, 92, 74, 0); } }
.omraa-ai-voice[data-state="idle"] .omraa-ai-voice__orb { background: #fff; color: var(--omraa-ai-primary); border: 2px solid var(--omraa-ai-primary); box-shadow: none; }
.omraa-ai-voice__state { color: var(--omraa-ai-primary); font-size: 14px; font-weight: 800; text-align: center; }
.omraa-ai-voice__live { min-height: 18px; max-width: 100%; color: var(--omraa-ai-muted); font-size: 13px; line-height: 1.6; text-align: center; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.omraa-ai-voice__end {
  margin-top: 2px; padding: 7px 22px; border: 1px solid #F1C7C7; border-radius: 999px; background: #fff; color: #C2333A;
  font-size: 13px; font-weight: 800; cursor: pointer;
}
.omraa-ai-voice__end:hover { background: #FDECEC; }
@media (prefers-color-scheme: dark) {
  .omraa-ai-voice { background: #0f172a; border-color: #1e293b; }
  .omraa-ai-voice[data-state="idle"] .omraa-ai-voice__orb { background: #1e293b; }
  .omraa-ai-mic { background: #1e293b !important; }
}
#omraa-ai-input { min-width: 0; width: 100%; }
.omraa-ai-footer > * { flex-shrink: 0; }
.omraa-ai-footer > #omraa-ai-input { flex: 1 1 auto; }

/* ---------- 1.2.1 — mobile: launcher in the theme header, chat as a bottom sheet ---------- */
@media (max-width:1023px){
  .omraa-ai-has-header #omraa-ai-bubble,
  .omraa-ai-has-header .omraa-ai-popup{ display:none !important; }
  .omraa-ai-has-header #omraa-ai-root{ bottom:0; right:0; left:auto; }
}
@media (max-width:767px){
  #omraa-ai-bubble{ width:54px; height:54px; }
  .omraa-ai-bubble__icon{ width:26px; height:26px; }
  .omraa-ai-window{
    position:fixed; left:0; right:0; bottom:0; top:auto;
    width:100%; max-width:none; height:min(82vh, 640px); height:min(82dvh, 640px); max-height:none;
    border-radius:20px 20px 0 0; padding-bottom:env(safe-area-inset-bottom);
  }
}
