:root {
  --av-ai-pink: #e62574;
  --av-ai-deep: #b50f52;
  --av-ai-ink: #25121c;
  --av-ai-blush: #fff2f7;
  --av-ai-line: #f2ccdc;
  --av-ai-green: #35b779;
}

.av-ai,
.av-ai * { box-sizing: border-box; }

.av-ai {
  position: fixed;
  z-index: 2147481000;
  right: 22px;
  bottom: 22px;
  font-family: Onest, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--av-ai-ink);
  text-align: left;
  line-height: 1.45;
}

.av-ai__launcher {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 196px;
  height: 66px;
  padding: 5px 18px 5px 5px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 999px;
  background: linear-gradient(130deg, #ef3a82 0%, #bd1055 74%);
  color: #fff;
  box-shadow: 0 18px 50px rgba(144, 10, 69, .28), inset 0 1px 0 rgba(255,255,255,.28);
  cursor: pointer;
  isolation: isolate;
  transition: transform .25s ease, box-shadow .25s ease, opacity .2s ease;
}

.av-ai__launcher:hover { transform: translateY(-3px); box-shadow: 0 22px 56px rgba(144,10,69,.34); }
.av-ai__launcher:focus-visible,.av-ai__close:focus-visible,.av-ai__send:focus-visible,.av-ai__suggestions button:focus-visible { outline: 3px solid rgba(230,37,116,.28); outline-offset: 3px; }
.av-ai.is-open .av-ai__launcher { opacity: 0; pointer-events: none; transform: translateY(12px) scale(.92); }

.av-ai__launcher img {
  width: 56px;
  height: 56px;
  object-fit: contain;
  border-radius: 50%;
  background: #fff;
  padding: 2px;
  filter: drop-shadow(0 5px 12px rgba(69,0,31,.18));
}

.av-ai__launcher-copy { display: flex; flex-direction: column; line-height: 1.18; }
.av-ai__launcher-copy b { font-size: 14px; font-weight: 800; letter-spacing: -.01em; }
.av-ai__launcher-copy small { margin-top: 3px; font-size: 10px; opacity: .82; }
.av-ai__online { position: absolute; top: 6px; left: 48px; width: 12px; height: 12px; border: 2px solid #fff; border-radius: 50%; background: #35d58b; }
.av-ai__launcher-glow { position: absolute; inset: 4px; z-index: -1; border-radius: inherit; background: inherit; opacity: 0; }
.av-ai.is-attention .av-ai__launcher-glow { animation: av-ai-pulse 1.6s ease-out 3; }

.av-ai__panel {
  position: absolute;
  right: 0;
  bottom: 0;
  display: grid;
  grid-template-rows: auto auto minmax(180px, 1fr) auto auto;
  width: min(400px, calc(100vw - 28px));
  height: min(680px, calc(100vh - 34px));
  overflow: hidden;
  border: 1px solid rgba(184,16,83,.14);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 30px 90px rgba(57,8,32,.24);
  transform-origin: 90% 100%;
  animation: av-ai-open .26s cubic-bezier(.2,.85,.3,1) both;
}

.av-ai__panel[hidden] { display: none; }

.av-ai__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 16px 13px;
  color: #fff;
  background:
    radial-gradient(circle at 90% 0, rgba(255,255,255,.2), transparent 33%),
    linear-gradient(128deg, #ea2d78, #ad0c4b);
}

.av-ai__identity { display: flex; align-items: center; gap: 11px; }
.av-ai__identity > span:last-child { display: flex; flex-direction: column; }
.av-ai__identity strong { font-size: 16px; line-height: 1.2; font-weight: 850; }
.av-ai__identity small { display: flex; align-items: center; gap: 5px; margin-top: 3px; font-size: 11px; opacity: .86; }
.av-ai__identity small i { width: 7px; height: 7px; border-radius: 50%; background: #49e79e; box-shadow: 0 0 0 3px rgba(73,231,158,.15); }
.av-ai__avatar { position: relative; display: grid; place-items: center; width: 50px; height: 50px; border-radius: 16px; background: rgba(255,255,255,.96); transform: rotate(-3deg); box-shadow: 0 8px 20px rgba(70,0,30,.15); }
.av-ai__avatar img { width: 45px; height: 45px; object-fit: contain; }
.av-ai__avatar i { position:absolute; right:-2px; bottom:-2px; width:12px; height:12px; border:2px solid #bb0f52; border-radius:50%; background:#45dc99; }
.av-ai__close { display:grid; place-items:center; width:38px; height:38px; padding:0; border:1px solid rgba(255,255,255,.24); border-radius:13px; color:#fff; background:rgba(255,255,255,.11); font:300 27px/1 Arial,sans-serif; cursor:pointer; }
.av-ai__close:hover { background:rgba(255,255,255,.2); }

.av-ai__context {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 7px 17px;
  border-bottom: 1px solid #f6dce7;
  color: #8d526c;
  background: #fff7fa;
  font-size: 10.5px;
  font-weight: 650;
}
.av-ai__context span { color: var(--av-ai-pink); }

.av-ai__messages {
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 17px 15px 10px;
  background:
    radial-gradient(circle at 8% 8%, rgba(247,190,214,.17), transparent 26%),
    linear-gradient(#fff, #fffafd);
  scrollbar-width: thin;
  scrollbar-color: #e8bdcf transparent;
}

.av-ai__message { display:flex; align-items:flex-end; gap:8px; max-width:92%; margin:0 0 12px; animation:av-ai-message .22s ease-out both; }
.av-ai__message--user { justify-content:flex-end; margin-left:auto; }
.av-ai__message-avatar { flex:0 0 auto; display:grid; place-items:center; width:30px; height:30px; overflow:hidden; border:1px solid #f1d3df; border-radius:10px; background:#fff; box-shadow:0 4px 12px rgba(99,15,51,.08); }
.av-ai__message-avatar img { width:29px; height:29px; object-fit:contain; }
.av-ai__bubble { position:relative; padding:11px 13px; border:1px solid #efdce4; border-radius:17px 17px 17px 5px; color:#402733; background:#fff; box-shadow:0 6px 18px rgba(91,18,49,.055); font-size:13px; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; }
.av-ai__message--user .av-ai__bubble { border-color:transparent; border-radius:17px 17px 5px 17px; color:#fff; background:linear-gradient(135deg,#e52b76,#bb1053); box-shadow:0 8px 20px rgba(184,15,81,.17); }
.av-ai__bubble a { color:#b20d4e; font-weight:700; text-decoration:underline; text-underline-offset:2px; }
.av-ai__sources { display:flex; flex-direction:column; gap:5px; margin-top:9px; padding-top:8px; border-top:1px solid #f3e1e8; white-space:normal; }
.av-ai__sources a { display:block; padding:6px 8px; border-radius:9px; color:#a40d49; background:#fff3f7; font-size:11px; font-weight:750; line-height:1.3; text-decoration:none; }
.av-ai__sources a:hover { background:#fee5ef; }

.av-ai__typing { display:flex; align-items:center; gap:4px; min-width:54px; padding:13px 14px; border:1px solid #efdce4; border-radius:17px 17px 17px 5px; background:#fff; }
.av-ai__typing i { width:6px; height:6px; border-radius:50%; background:#d72a6d; animation:av-ai-dot 1s ease-in-out infinite; }
.av-ai__typing i:nth-child(2) { animation-delay:.14s; }.av-ai__typing i:nth-child(3) { animation-delay:.28s; }

.av-ai__suggestions { display:flex; gap:7px; overflow-x:auto; padding:4px 15px 11px; background:#fffafd; scrollbar-width:none; }
.av-ai__suggestions::-webkit-scrollbar { display:none; }
.av-ai__suggestions.is-hidden { display:none; }
.av-ai__suggestions button { flex:0 0 auto; max-width:220px; padding:8px 11px; border:1px solid #f1c8d9; border-radius:999px; color:#9f174f; background:#fff; font:700 10.5px/1.25 inherit; cursor:pointer; transition:.2s ease; }
.av-ai__suggestions button:hover { border-color:#e62a74; color:#fff; background:#e62a74; transform:translateY(-1px); }

.av-ai__composer { padding:11px 13px 9px; border-top:1px solid #f1dce5; background:#fff; }
.av-ai__composer textarea { display:block; width:calc(100% - 49px); min-height:44px; max-height:112px; margin:0; padding:11px 10px; border:0!important; outline:0!important; color:#34202a; background:transparent!important; box-shadow:none!important; resize:none; font:500 13px/1.45 inherit; }
.av-ai__composer textarea::placeholder { color:#a78b98; }
.av-ai__composer textarea:disabled { opacity:.65; }
.av-ai__send { position:absolute; right:13px; bottom:35px; display:grid; place-items:center; width:42px; height:42px; padding:0; border:0; border-radius:14px; color:#fff; background:linear-gradient(135deg,#ed337e,#b90d50); box-shadow:0 9px 20px rgba(185,13,80,.22); cursor:pointer; transition:.2s ease; }
.av-ai__send:hover { transform:translateY(-2px) rotate(-2deg); }
.av-ai__send:disabled { opacity:.45; cursor:not-allowed; transform:none; }
.av-ai__send span { display:block; font:700 20px/1 Arial,sans-serif; transform:rotate(-22deg); }
.av-ai__meta { display:flex; justify-content:space-between; gap:8px; margin-top:4px; color:#a18b95; font-size:8.5px; }
.av-ai__remaining { color:#b71656; font-weight:750; white-space:nowrap; }

@keyframes av-ai-open { from{opacity:0;transform:translateY(15px) scale(.92)} to{opacity:1;transform:none} }
@keyframes av-ai-message { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:none} }
@keyframes av-ai-dot { 0%,60%,100%{transform:none;opacity:.45} 30%{transform:translateY(-4px);opacity:1} }
@keyframes av-ai-pulse { 0%{opacity:.35;transform:none} 80%,100%{opacity:0;transform:scale(1.42)} }

@media (max-width: 600px) {
  .av-ai { right: 12px; bottom: 14px; }
  .single-product .av-ai,.woocommerce-cart .av-ai { bottom: 92px; }
  .av-ai__launcher { min-width:0; width:62px; height:62px; padding:4px; }
  .av-ai__launcher img { width:52px; height:52px; }
  .av-ai__launcher-copy { display:none; }
  .av-ai__online { top:4px; left:auto; right:2px; }
  .av-ai__panel { right:-4px; bottom:-4px; width:calc(100vw - 16px); height:min(680px, calc(100dvh - 28px)); max-height:none; border-radius:24px; }
  .single-product .av-ai__panel,.woocommerce-cart .av-ai__panel { bottom:-78px; height:calc(100dvh - 16px); }
  .av-ai__header { padding:13px 14px 12px; }
  .av-ai__avatar { width:46px; height:46px; }
  .av-ai__identity strong { font-size:15px; }
  .av-ai__messages { padding-inline:12px; }
  .av-ai__suggestions { padding-inline:12px; }
}

@media (prefers-reduced-motion: reduce) {
  .av-ai *, .av-ai *::before, .av-ai *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; }
}

