/* Asfour concierge chat — matches site design system */
.chat-fab{position:fixed;right:1.4rem;bottom:1.4rem;z-index:70;width:60px;height:60px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold),var(--gold-deep));color:#161309;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 16px 34px -12px rgba(165,129,63,.6);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.chat-fab:hover{transform:translateY(-3px) scale(1.04)}
.chat-fab svg{width:26px;height:26px}
.chat-fab .fab-close{display:none}
.chat-fab.open .fab-open{display:none}
.chat-fab.open .fab-close{display:block}

.chat-panel{position:fixed;right:1.4rem;bottom:5.6rem;z-index:70;width:min(24.5rem,calc(100vw - 2rem));
  height:min(36rem,calc(100svh - 8rem));background:var(--white);border:1px solid var(--line);border-radius:1.3rem;
  display:flex;flex-direction:column;overflow:hidden;box-shadow:0 40px 80px -30px rgba(17,16,20,.4);
  opacity:0;transform:translateY(16px) scale(.98);pointer-events:none;transition:opacity .35s var(--ease),transform .35s var(--ease)}
.chat-panel.open{opacity:1;transform:none;pointer-events:auto}
.chat-head{padding:1.1rem 1.3rem;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:.8rem;
  background:linear-gradient(180deg,var(--paper),var(--white))}
.chat-avatar{width:38px;height:38px;border-radius:50%;background:var(--night);color:var(--gold);
  display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.1rem;letter-spacing:.05em}
.chat-head h4{font-family:var(--serif);font-size:1.15rem;font-weight:600;line-height:1.1}
.chat-head p{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep)}
.chat-body{flex:1;overflow-y:auto;padding:1.1rem 1rem;display:flex;flex-direction:column;gap:.85rem;scroll-behavior:smooth}
.chat-msg{max-width:88%;padding:.75rem 1rem;border-radius:1.05rem;font-size:.88rem;line-height:1.55}
.chat-msg.bot{align-self:flex-start;background:var(--paper);border:1px solid var(--line);border-bottom-left-radius:.3rem}
.chat-msg.user{align-self:flex-end;background:var(--ink);color:var(--paper);border-bottom-right-radius:.3rem}
.chat-msg a{color:var(--gold-deep);text-decoration:underline;text-underline-offset:2px}
.chat-products{display:flex;flex-direction:column;gap:.55rem;margin-top:.1rem}
.chat-prod{display:flex;gap:.75rem;align-items:center;background:var(--white);border:1px solid var(--line);
  border-radius:.85rem;padding:.55rem .7rem;text-align:left;width:100%;transition:border-color .25s,box-shadow .25s}
button.chat-prod{cursor:pointer}
button.chat-prod:hover{border-color:var(--gold-deep);box-shadow:0 8px 20px -12px rgba(17,16,20,.3)}
.chat-prod img{width:52px;height:52px;object-fit:contain;mix-blend-mode:multiply;flex-shrink:0}
.chat-prod-info{min-width:0;flex:1}
.chat-prod-info b{display:block;font-family:var(--serif);font-size:.92rem;font-weight:600;line-height:1.2;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-prod-info span{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep)}
.chat-prod-info small{display:block;font-size:.72rem;color:var(--ink-soft)}
.chat-prod-ext{font-size:.72rem;color:var(--ink-soft);flex-shrink:0}
.chat-more{align-self:flex-start;font-size:.78rem;letter-spacing:.06em;color:var(--gold-deep);font-weight:500;
  padding:.35rem .2rem;text-decoration:underline;text-underline-offset:3px}
.chat-typing{align-self:flex-start;display:flex;gap:5px;padding:.8rem 1rem;background:var(--paper);
  border:1px solid var(--line);border-radius:1.05rem;border-bottom-left-radius:.3rem}
.chat-typing i{width:6px;height:6px;border-radius:50%;background:var(--gold-deep);animation:tp 1.1s infinite}
.chat-typing i:nth-child(2){animation-delay:.18s}.chat-typing i:nth-child(3){animation-delay:.36s}
@keyframes tp{0%,60%,100%{opacity:.25;transform:none}30%{opacity:1;transform:translateY(-3px)}}
.chat-chips{display:flex;gap:.45rem;flex-wrap:wrap;padding:.6rem 1rem 0}
.chat-chips button{font-size:.74rem;padding:.42rem .85rem;border-radius:999px;border:1px solid var(--line);
  color:var(--ink-soft);transition:all .25s}
.chat-chips button:hover{border-color:var(--gold-deep);color:var(--gold-deep)}
.chat-form{display:flex;gap:.5rem;padding:.8rem 1rem 1rem}
.chat-form input{flex:1;padding:.8rem 1.1rem;border-radius:999px;border:1px solid var(--line);
  background:var(--paper);font:inherit;font-size:.88rem;outline:none;transition:border-color .3s,box-shadow .3s}
.chat-form input:focus{border-color:var(--gold-deep);box-shadow:0 0 0 3px rgba(201,163,92,.18)}
.chat-form button{width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--paper);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .25s}
.chat-form button:hover{background:var(--gold-deep);color:#161309}
.chat-form button svg{width:18px;height:18px}
@media (max-width:480px){
  .chat-panel{right:0;bottom:0;width:100vw;height:100svh;border-radius:0;border:0}
  .chat-fab{right:1rem;bottom:1rem}
  .chat-fab.open{bottom:auto;top:1rem}
}
