/* Avarida Assistant — chat widget (brand: purple / lavender / white). */
.avge-agent{
	--avge-purple:#6d28d9;--avge-purple-2:#a855f7;--avge-ink:#1e1b2e;--avge-line:#ece9f5;
	--avge-lav:#f5f3ff;--avge-user:#efe9ff;--avge-grad:linear-gradient(135deg,#6d28d9 0%,#a855f7 100%);
	position:fixed;right:22px;bottom:22px;z-index:99998;
	font-family:Inter,system-ui,-apple-system,sans-serif;
}

/* Launcher */
.avge-agent__toggle{
	display:flex;gap:9px;align-items:center;border:0;border-radius:999px;
	background:var(--avge-grad);color:#fff;padding:13px 20px;font-weight:700;font-size:15px;
	box-shadow:0 14px 34px rgba(109,40,217,.38);cursor:pointer;
	transition:transform .18s ease,box-shadow .18s ease;
}
.avge-agent__toggle:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(109,40,217,.46)}
.avge-agent__spark{font-size:16px;animation:avge-twinkle 2.6s ease-in-out infinite}
.avge-agent.is-open .avge-agent__toggle{transform:scale(.96);opacity:.9}
@keyframes avge-twinkle{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.18)}}

/* Panel */
.avge-agent__panel{
	position:absolute;right:0;bottom:64px;width:min(384px,calc(100vw - 28px));
	max-height:min(640px,calc(100vh - 110px));display:flex;flex-direction:column;overflow:hidden;
	background:#fff;border:1px solid var(--avge-line);border-radius:22px;
	box-shadow:0 30px 70px rgba(30,27,46,.28);color:var(--avge-ink);
	animation:avge-pop .22s cubic-bezier(.16,1,.3,1);
}
@keyframes avge-pop{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}

/* Header */
.avge-agent__header{
	display:flex;align-items:center;gap:12px;padding:16px 18px;
	background:var(--avge-grad);color:#fff;position:relative;
}
.avge-agent__header::after{content:"";position:absolute;inset:0;background:
	radial-gradient(120px 80px at 85% -20%,rgba(255,255,255,.28),transparent);pointer-events:none}
.avge-agent__avatar{
	position:relative;flex:0 0 auto;width:40px;height:40px;border-radius:50%;
	display:grid;place-items:center;font-size:18px;
	background:rgba(255,255,255,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
}
.avge-agent__online{
	position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;
	background:#34d399;box-shadow:0 0 0 2px #7c3aed;
}
.avge-agent__id{flex:1;min-width:0;line-height:1.25}
.avge-agent__id strong{display:block;font-size:15px}
.avge-agent__id small{display:block;opacity:.85;font-size:12px;margin-top:1px}
.avge-agent__close{border:0;background:rgba(255,255,255,.14);color:#fff;width:30px;height:30px;
	border-radius:50%;font-size:20px;line-height:1;cursor:pointer;transition:background .15s}
.avge-agent__close:hover{background:rgba(255,255,255,.28)}

/* Messages */
.avge-agent__messages{flex:1;padding:16px;display:flex;flex-direction:column;gap:12px;overflow:auto;
	background:linear-gradient(#fff,#fbfaff)}
.avge-message{display:flex;gap:8px;align-items:flex-end;max-width:100%}
.avge-message--user{flex-direction:row-reverse}
.avge-message__av{flex:0 0 auto;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
	font-size:13px;color:#fff;background:var(--avge-grad)}
.avge-bubble{padding:11px 14px;border-radius:16px;line-height:1.5;font-size:14.5px;
	background:var(--avge-lav);color:var(--avge-ink);border-bottom-left-radius:5px;
	max-width:82%;word-wrap:break-word;overflow-wrap:anywhere}
.avge-message--user .avge-bubble{background:var(--avge-user);color:#3b1d75;
	border-bottom-left-radius:16px;border-bottom-right-radius:5px}
.avge-bubble[dir=rtl]{text-align:right}

/* Quick-reply chips */
.avge-agent__chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 4px}
.avge-chip{border:1px solid #e3ddf7;background:#fff;color:var(--avge-purple);font-weight:600;
	font-size:13px;padding:8px 12px;border-radius:999px;cursor:pointer;transition:.15s}
.avge-chip:hover{background:var(--avge-lav);border-color:#c9bdf2;transform:translateY(-1px)}

/* Typing indicator */
.avge-agent__typing{display:flex;gap:5px;padding:4px 20px 10px}
.avge-agent__typing span{width:7px;height:7px;border-radius:50%;background:#b9a7e8;
	animation:avge-bounce 1.2s infinite ease-in-out}
.avge-agent__typing span:nth-child(2){animation-delay:.15s}
.avge-agent__typing span:nth-child(3){animation-delay:.3s}
@keyframes avge-bounce{0%,80%,100%{transform:translateY(0);opacity:.5}40%{transform:translateY(-5px);opacity:1}}

/* Attachment chips */
.avge-agent__attachments:not(:empty){display:flex;flex-wrap:wrap;gap:6px;padding:6px 16px 0}
.avge-attach-chip{display:inline-flex;align-items:center;gap:6px;background:var(--avge-lav);
	border:1px solid #e3ddf7;border-radius:999px;padding:5px 8px 5px 10px;font-size:12.5px;max-width:220px}
.avge-attach-chip span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.avge-attach-chip button{border:0;background:#ded5f7;color:#5b3aa8;width:18px;height:18px;border-radius:50%;
	cursor:pointer;line-height:1;font-size:13px}

/* Composer */
.avge-agent__chat{display:flex;gap:8px;align-items:flex-end;padding:12px 14px;border-top:1px solid var(--avge-line);background:#fff}
.avge-agent__attach,.avge-agent__send{flex:0 0 auto;border:0;cursor:pointer;display:grid;place-items:center;
	width:40px;height:40px;border-radius:12px;transition:.15s}
.avge-agent__attach{background:var(--avge-lav);color:var(--avge-purple)}
.avge-agent__attach:hover{background:#ece5fb}
.avge-agent__attach:disabled{opacity:.5;cursor:wait}
.avge-agent__chat textarea{flex:1;resize:none;max-height:120px;border:1px solid #e3ddf7;border-radius:14px;
	padding:10px 12px;font:inherit;font-size:14.5px;line-height:1.4;background:#fff;color:var(--avge-ink)}
.avge-agent__chat textarea:focus{outline:none;border-color:var(--avge-purple-2);
	box-shadow:0 0 0 3px rgba(168,85,247,.18)}
.avge-agent__send{background:var(--avge-grad);color:#fff;box-shadow:0 6px 16px rgba(109,40,217,.32)}
.avge-agent__send:hover{filter:brightness(1.06)}

/* Callback form */
.avge-agent__callback{border-top:1px solid var(--avge-line);padding:12px 16px;background:#fff}
.avge-agent__callback summary{cursor:pointer;font-weight:700;color:var(--avge-purple);font-size:14px;list-style:none}
.avge-agent__callback summary::-webkit-details-marker{display:none}
.avge-agent__callback summary::before{content:"▸ ";}
.avge-agent__callback[open] summary::before{content:"▾ ";}
.avge-agent__lead{display:grid;gap:10px;margin-top:12px}
.avge-agent__lead label{display:grid;gap:4px;font-size:13px;font-weight:500}
.avge-agent__lead input,.avge-agent__lead select{width:100%;border:1px solid #e3ddf7;border-radius:10px;padding:9px 10px;font:inherit}
.avge-agent__lead input:focus,.avge-agent__lead select:focus{outline:none;border-color:var(--avge-purple-2);box-shadow:0 0 0 3px rgba(168,85,247,.15)}
.avge-agent__lead input[name=website]{position:absolute;left:-9999px}
.avge-agent__lead .avge-consent{display:flex;gap:8px;align-items:flex-start;font-weight:400}
.avge-agent__lead .avge-consent input{width:auto;margin-top:3px}
.avge-agent__lead button[type=submit]{border:0;border-radius:12px;background:var(--avge-grad);color:#fff;
	padding:11px 14px;font-weight:700;cursor:pointer}
.avge-agent__status{font-size:13px;margin:0;color:var(--avge-purple)}

/* Booking panel */
.avge-agent__booking{border-top:1px solid var(--avge-line);padding:14px 16px;background:var(--avge-lav)}
.avge-booking__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.avge-booking__head strong{font-size:14px;color:var(--avge-purple)}
.avge-booking__head button{border:0;background:#ded5f7;color:#5b3aa8;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:16px;line-height:1}
.avge-booking__form{display:grid;gap:10px}
.avge-booking__form label{display:grid;gap:4px;font-size:13px;font-weight:500}
.avge-booking__form input,.avge-booking__form select{width:100%;border:1px solid #e3ddf7;border-radius:10px;padding:9px 10px;font:inherit;background:#fff}
.avge-booking__form input:focus,.avge-booking__form select:focus{outline:none;border-color:var(--avge-purple-2);box-shadow:0 0 0 3px rgba(168,85,247,.15)}
.avge-booking__form input[name=website]{position:absolute;left:-9999px}
.avge-booking__slots{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.avge-booking__form .avge-consent{display:flex;gap:8px;align-items:flex-start;font-weight:400}
.avge-booking__form .avge-consent input{width:auto;margin-top:3px}
.avge-booking__form button[type=submit]{border:0;border-radius:12px;background:var(--avge-grad);color:#fff;padding:11px 14px;font-weight:700;cursor:pointer}
.avge-booking__status{font-size:13px;margin:0;color:var(--avge-purple)}

/* Mobile */
@media(max-width:480px){
	.avge-agent{right:14px;bottom:14px}
	.avge-agent__panel{position:fixed;left:12px;right:12px;bottom:74px;width:auto;max-height:calc(100vh - 96px)}
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
	.avge-agent *,.avge-agent__panel{animation:none!important;transition:none!important}
	.avge-agent__typing span{animation:none!important}
}
