/* ============================================================================
   AZALYS v17.41 — Icônes flottantes premium : Messages + Robot AI sans texte
   ============================================================================ */

:root{
  --az-icon-blue:#2563eb;
  --az-icon-cyan:#22d3ee;
  --az-icon-violet:#7c3aed;
  --az-icon-indigo:#4f46e5;
}

/* --------------------------------------------------------------------------
   Icône Messages — bulle glassmorphism + enveloppe
   -------------------------------------------------------------------------- */
.client-chat-btn,
.cabinet-chat-btn{
  width:62px!important;
  height:62px!important;
  min-width:62px!important;
  padding:0!important;
  border:0!important;
  border-radius:24px!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
  background:
    radial-gradient(circle at 22% 18%,rgba(34,211,238,.42),transparent 33%),
    linear-gradient(135deg,#0891b2 0%,#2563eb 54%,#4f46e5 100%)!important;
  box-shadow:
    0 20px 48px rgba(37,99,235,.34),
    0 7px 18px rgba(14,165,233,.18),
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -16px 32px rgba(49,46,129,.18)!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
.client-chat-btn:hover,
.cabinet-chat-btn:hover{
  transform:translateY(-3px) scale(1.025)!important;
  box-shadow:
    0 26px 62px rgba(37,99,235,.44),
    0 10px 24px rgba(34,211,238,.20),
    inset 0 1px 0 rgba(255,255,255,.40),
    inset 0 -16px 34px rgba(49,46,129,.20)!important;
}
.client-chat-glow,
.cabinet-chat-glow{
  position:absolute!important;
  inset:-11px!important;
  z-index:-1!important;
  border-radius:32px!important;
  background:radial-gradient(circle,rgba(34,211,238,.34),rgba(79,70,229,.18) 48%,transparent 72%)!important;
  filter:blur(10px)!important;
  pointer-events:none!important;
}
.client-chat-face,
.cabinet-chat-face{
  position:relative!important;
  width:42px!important;
  height:34px!important;
  border-radius:17px!important;
  display:block!important;
  font-size:0!important;
  line-height:0!important;
  overflow:visible!important;
  background:
    linear-gradient(90deg,rgba(210,250,255,.88),rgba(210,250,255,.88)) 8px 10px/12px 3px no-repeat,
    linear-gradient(90deg,rgba(210,250,255,.78),rgba(210,250,255,.78)) 8px 17px/11px 3px no-repeat,
    linear-gradient(90deg,rgba(210,250,255,.68),rgba(210,250,255,.68)) 8px 24px/10px 3px no-repeat,
    linear-gradient(145deg,rgba(255,255,255,.28),rgba(255,255,255,.08) 58%,rgba(59,130,246,.10))!important;
  border:1px solid rgba(224,242,254,.72)!important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.18) inset,
    0 0 20px rgba(34,211,238,.34),
    0 11px 22px rgba(15,23,42,.15)!important;
  backdrop-filter:blur(8px)!important;
}
.client-chat-face::before,
.cabinet-chat-face::before{
  content:"";
  position:absolute;
  left:7px;
  bottom:-6px;
  width:13px;
  height:13px;
  border-radius:0 0 0 4px;
  transform:rotate(45deg);
  background:linear-gradient(135deg,rgba(226,251,255,.28),rgba(34,211,238,.20));
  border-left:1px solid rgba(224,242,254,.62);
  border-bottom:1px solid rgba(224,242,254,.62);
  box-shadow:0 0 14px rgba(34,211,238,.26);
}
.client-chat-face::after,
.cabinet-chat-face::after{
  content:"";
  position:absolute;
  right:7px;
  top:10px;
  width:17px;
  height:13px;
  border-radius:4px;
  background:
    linear-gradient(135deg,transparent 46%,rgba(147,197,253,.95) 48%,rgba(147,197,253,.95) 52%,transparent 54%),
    linear-gradient(225deg,transparent 46%,rgba(147,197,253,.95) 48%,rgba(147,197,253,.95) 52%,transparent 54%),
    linear-gradient(180deg,#ffffff,#eaf5ff);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.72) inset,
    0 6px 15px rgba(15,23,42,.16),
    0 0 18px rgba(255,255,255,.34);
}
.client-chat-text,
.cabinet-chat-text{display:none!important;}
.client-chat-badge,
.cabinet-chat-badge{
  right:-7px!important;
  top:-8px!important;
  min-width:24px!important;
  height:24px!important;
  padding:0 6px!important;
  border-radius:999px!important;
  border:3px solid #fff!important;
  background:linear-gradient(135deg,#ef4444,#f97316)!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:1000!important;
  box-shadow:0 11px 26px rgba(239,68,68,.42)!important;
}
.client-chat-btn::after,
.cabinet-chat-btn::after{
  content:"Messages"!important;
  right:72px!important;
  background:rgba(8,23,52,.91)!important;
}
.client-chat-floating.has-unread .client-chat-btn,
.cabinet-chat-floating.has-unread .cabinet-chat-btn{
  animation:clientUnreadPulse 1.45s ease-in-out infinite!important;
}
.client-chat-floating.has-unread .client-chat-glow,
.cabinet-chat-floating.has-unread .cabinet-chat-glow{
  background:radial-gradient(circle,rgba(239,68,68,.36),rgba(37,99,235,.22) 50%,transparent 74%)!important;
}
.client-chat-avatar,
.cabinet-chat-avatar{
  position:relative!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  padding:0!important;
  border-radius:15px!important;
  display:grid!important;
  place-items:center!important;
  font-size:0!important;
  color:transparent!important;
  background:linear-gradient(135deg,#e0faff,#eef2ff)!important;
  border:1px solid rgba(191,219,254,.78)!important;
  box-shadow:0 10px 24px rgba(37,99,235,.13)!important;
}
.client-chat-avatar::before,
.cabinet-chat-avatar::before{
  content:"";
  width:27px;
  height:22px;
  border-radius:11px;
  background:
    linear-gradient(90deg,#60a5fa,#60a5fa) 6px 7px/7px 2px no-repeat,
    linear-gradient(90deg,#60a5fa,#60a5fa) 6px 12px/7px 2px no-repeat,
    linear-gradient(135deg,transparent 45%,#93c5fd 47%,#93c5fd 52%,transparent 54%) 15px 7px/10px 8px no-repeat,
    linear-gradient(225deg,transparent 45%,#93c5fd 47%,#93c5fd 52%,transparent 54%) 15px 7px/10px 8px no-repeat,
    linear-gradient(135deg,rgba(255,255,255,.92),rgba(219,234,254,.74));
  border:1px solid rgba(125,211,252,.55);
  box-shadow:0 0 16px rgba(34,211,238,.20);
}

/* --------------------------------------------------------------------------
   Icône Robot AI — sans lettres AI, robot centré dans le bouton
   -------------------------------------------------------------------------- */
.ai-robot-btn{
  width:88px!important;
  min-width:88px!important;
  height:62px!important;
  padding:0!important;
  border:0!important;
  border-radius:26px!important;
  display:grid!important;
  place-items:center!important;
  gap:0!important;
  overflow:visible!important;
  background:
    radial-gradient(circle at 24% 22%,rgba(34,211,238,.30),transparent 32%),
    linear-gradient(135deg,#2563eb 0%,#3b82f6 42%,#7c3aed 100%)!important;
  box-shadow:
    0 20px 50px rgba(79,70,229,.36),
    0 7px 18px rgba(37,99,235,.18),
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -18px 36px rgba(76,29,149,.20)!important;
  color:transparent!important;
}
.ai-robot-btn:hover{
  transform:translateY(-3px) scale(1.03)!important;
  box-shadow:
    0 28px 64px rgba(79,70,229,.46),
    0 9px 23px rgba(34,211,238,.18),
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -18px 36px rgba(76,29,149,.22)!important;
}
.ai-robot-glow{
  position:absolute!important;
  inset:-12px!important;
  border-radius:34px!important;
  background:radial-gradient(circle,rgba(34,211,238,.28),rgba(124,58,237,.22) 46%,transparent 74%)!important;
  filter:blur(10px)!important;
  pointer-events:none!important;
}
.ai-robot-text{display:none!important;}
.ai-robot-face{
  position:relative!important;
  width:60px!important;
  height:52px!important;
  display:block!important;
  font-size:0!important;
  line-height:0!important;
  filter:drop-shadow(0 12px 18px rgba(15,23,42,.22))!important;
}
.ai-robot-face::after{
  content:"";
  position:absolute;
  inset:1px 0;
  z-index:0;
  border-radius:999px;
  opacity:.98;
  background:
    radial-gradient(circle at 50% 0%,#bffcff 0 4px,transparent 4.8px),
    radial-gradient(circle at 50% 100%,#bffcff 0 4px,transparent 4.8px),
    radial-gradient(circle at 0% 50%,#bffcff 0 4px,transparent 4.8px),
    radial-gradient(circle at 100% 50%,#bffcff 0 4px,transparent 4.8px),
    linear-gradient(to bottom,transparent 0 4px,rgba(125,249,255,.74) 4px 17px,transparent 17px) 50% 0/2px 22px no-repeat,
    linear-gradient(to top,transparent 0 4px,rgba(125,249,255,.68) 4px 17px,transparent 17px) 50% 100%/2px 22px no-repeat,
    linear-gradient(to right,transparent 0 4px,rgba(125,249,255,.70) 4px 19px,transparent 19px) 0 50%/24px 2px no-repeat,
    linear-gradient(to left,transparent 0 4px,rgba(125,249,255,.70) 4px 19px,transparent 19px) 100% 50%/24px 2px no-repeat,
    radial-gradient(circle,rgba(191,247,255,.30) 0 43%,rgba(191,247,255,.11) 45%,transparent 69%);
  box-shadow:0 0 22px rgba(34,211,238,.34);
}
.ai-robot-face::before{
  content:"";
  position:absolute;
  z-index:1;
  left:50%;
  top:50%;
  width:43px;
  height:29px;
  transform:translate(-50%,-50%);
  border-radius:18px;
  border:4px solid rgba(224,250,255,.94);
  background:
    radial-gradient(circle at 34% 50%,#7df9ff 0 4px,transparent 4.8px),
    radial-gradient(circle at 66% 50%,#7df9ff 0 4px,transparent 4.8px),
    linear-gradient(180deg,#1e1b75 0%,#24116a 100%);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.22) inset,
    0 0 18px rgba(191,247,255,.46),
    0 9px 18px rgba(30,27,117,.34);
}
.ai-robot-badge{
  top:-7px!important;
  right:-7px!important;
  z-index:3!important;
}
.ai-robot-btn.thinking .ai-robot-face{
  animation:aiBotThinking .78s ease-in-out infinite!important;
}
.ai-avatar{
  position:relative!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  padding:0!important;
  border-radius:14px!important;
  display:grid!important;
  place-items:center!important;
  font-size:0!important;
  color:transparent!important;
  background:linear-gradient(135deg,#eef8ff,#f3ecff)!important;
  box-shadow:0 10px 24px rgba(37,99,235,.13)!important;
}
.ai-avatar::before{
  content:"";
  width:28px;
  height:25px;
  border-radius:999px;
  background:
    radial-gradient(circle at 50% 0%,#67e8f9 0 2px,transparent 2.6px),
    radial-gradient(circle at 50% 100%,#67e8f9 0 2px,transparent 2.6px),
    linear-gradient(to bottom,rgba(103,232,249,.65),rgba(103,232,249,.65)) 50% 0/1.5px 8px no-repeat,
    linear-gradient(to top,rgba(103,232,249,.55),rgba(103,232,249,.55)) 50% 100%/1.5px 8px no-repeat,
    radial-gradient(circle,rgba(103,232,249,.18),transparent 64%);
  position:relative;
}
.ai-avatar::after{
  content:"";
  position:absolute;
  width:22px;
  height:15px;
  border-radius:10px;
  border:2px solid rgba(14,165,233,.60);
  background:
    radial-gradient(circle at 34% 50%,#22d3ee 0 2px,transparent 2.6px),
    radial-gradient(circle at 66% 50%,#22d3ee 0 2px,transparent 2.6px),
    linear-gradient(180deg,#312e81,#271065);
  box-shadow:0 0 12px rgba(34,211,238,.28);
}

@media(max-width:720px){
  .client-chat-btn,
  .cabinet-chat-btn{
    width:56px!important;
    min-width:56px!important;
    height:56px!important;
    border-radius:21px!important;
  }
  .client-chat-face,
  .cabinet-chat-face{
    transform:scale(.92);
  }
  .ai-robot-btn{
    width:72px!important;
    min-width:72px!important;
    height:56px!important;
    border-radius:22px!important;
  }
  .ai-robot-face{transform:scale(.88);}
  .client-chat-btn::after,
  .cabinet-chat-btn::after,
  .client-chat-floating.has-unread .client-chat-btn::before,
  .cabinet-chat-floating.has-unread .cabinet-chat-btn::before{
    display:none!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .client-chat-btn,
  .cabinet-chat-btn,
  .ai-robot-btn,
  .ai-robot-glow{
    animation:none!important;
  }
}
