/* Fame Clinic Chatbot — brand: #019fa7 / #e38844 */
.fame-chatbot{
	--fc-teal:#019fa7;
	--fc-teal-dark:#017a80;
	--fc-orange:#e38844;
	--fc-orange-dark:#c96f30;
	--fc-ink:#1d2a32;
	--fc-muted:#5f6f78;
	--fc-panel:#ffffff;
	--fc-soft:#f3fafb;
	position:fixed;
	left:22px;
	bottom:22px;
	z-index:99990;
	font-family:"Sora",sans-serif;
}

.fame-chatbot .visually-hidden{
	position:absolute!important;
	width:1px;height:1px;
	padding:0;margin:-1px;
	overflow:hidden;clip:rect(0,0,0,0);
	white-space:nowrap;border:0;
}

.fame-chatbot__launcher{
	width:60px;
	height:60px;
	border:0;
	border-radius:50%;
	background:linear-gradient(145deg,var(--fc-teal),var(--fc-teal-dark));
	color:#fff;
	box-shadow:0 10px 28px rgba(1,159,167,.35);
	cursor:pointer;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	position:relative;
	transition:transform .2s ease, box-shadow .2s ease;
}

.fame-chatbot__launcher:hover{
	transform:translateY(-2px);
	box-shadow:0 14px 32px rgba(1,159,167,.42);
}

.fame-chatbot__launcher i{
	font-size:22px;
	line-height:1;
}

.fame-chatbot__launcher-close{
	display:none;
}

.fame-chatbot.is-open .fame-chatbot__launcher-icon{display:none;}
.fame-chatbot.is-open .fame-chatbot__launcher-close{display:inline-flex;}
.fame-chatbot.is-open .fame-chatbot__launcher{
	background:linear-gradient(145deg,var(--fc-orange),var(--fc-orange-dark));
	box-shadow:0 10px 28px rgba(227,136,68,.35);
}

.fame-chatbot__panel{
	position:absolute;
	left:0;
	bottom:76px;
	width:min(360px,calc(100vw - 32px));
	height:min(520px,calc(100vh - 120px));
	background:var(--fc-panel);
	border-radius:22px;
	overflow:hidden;
	display:flex;
	flex-direction:column;
	box-shadow:0 18px 50px rgba(16,40,48,.22);
	border:1px solid rgba(1,159,167,.15);
	transform-origin:bottom left;
	animation:fameChatIn .22s ease;
}

@keyframes fameChatIn{
	from{opacity:0;transform:translateY(10px) scale(.98);}
	to{opacity:1;transform:translateY(0) scale(1);}
}

.fame-chatbot__header{
	background:linear-gradient(135deg,var(--fc-teal) 0%,#028f97 55%,var(--fc-orange) 160%);
	color:#fff;
	padding:14px 14px 14px 16px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
}

.fame-chatbot__brand{
	display:flex;
	align-items:center;
	gap:12px;
	min-width:0;
}

.fame-chatbot__avatar{
	width:42px;
	height:42px;
	border-radius:50%;
	background:rgba(255,255,255,.18);
	border:1px solid rgba(255,255,255,.35);
	display:flex;
	align-items:center;
	justify-content:center;
	font-weight:700;
	letter-spacing:.04em;
	flex-shrink:0;
}

.fame-chatbot__brand strong{
	display:block;
	font-size:15px;
	line-height:1.2;
	font-weight:600;
}

.fame-chatbot__status{
	display:block;
	font-size:12px;
	opacity:.9;
	margin-top:2px;
}

.fame-chatbot__minimize{
	border:0;
	background:rgba(255,255,255,.16);
	color:#fff;
	width:34px;
	height:34px;
	border-radius:10px;
	cursor:pointer;
}

.fame-chatbot__messages{
	flex:1;
	overflow-y:auto;
	padding:16px;
	background:linear-gradient(180deg,var(--fc-soft),#fff 40%);
	display:flex;
	flex-direction:column;
	gap:10px;
}

.fame-chatbot__bubble{
	max-width:86%;
	padding:10px 12px;
	border-radius:16px;
	font-size:14px;
	line-height:1.55;
	color:var(--fc-ink);
	word-wrap:break-word;
}

.fame-chatbot__bubble--bot{
	align-self:flex-start;
	background:#fff;
	border:1px solid rgba(1,159,167,.18);
	border-bottom-left-radius:6px;
}

.fame-chatbot__bubble--user{
	align-self:flex-end;
	background:var(--fc-teal);
	color:#fff;
	border-bottom-right-radius:6px;
}

.fame-chatbot__bubble a{
	color:var(--fc-teal-dark);
	font-weight:600;
	text-decoration:underline;
	text-underline-offset:2px;
}

.fame-chatbot__bubble--user a{
	color:#fff;
}

.fame-chatbot__typing{
	align-self:flex-start;
	display:inline-flex;
	gap:4px;
	padding:10px 12px;
	background:#fff;
	border:1px solid rgba(1,159,167,.18);
	border-radius:16px;
}

.fame-chatbot__typing span{
	width:6px;height:6px;border-radius:50%;
	background:var(--fc-teal);
	opacity:.45;
	animation:fameDot 1s infinite ease-in-out;
}
.fame-chatbot__typing span:nth-child(2){animation-delay:.15s;}
.fame-chatbot__typing span:nth-child(3){animation-delay:.3s;}
@keyframes fameDot{
	0%,80%,100%{transform:translateY(0);opacity:.35;}
	40%{transform:translateY(-3px);opacity:1;}
}

.fame-chatbot__suggestions{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	padding:0 14px 10px;
	background:#fff;
}

.fame-chatbot__suggestions button{
	border:1px solid rgba(1,159,167,.28);
	background:#fff;
	color:var(--fc-teal-dark);
	border-radius:999px;
	padding:6px 12px;
	font-size:12px;
	cursor:pointer;
	transition:background .15s ease, color .15s ease, border-color .15s ease;
}

.fame-chatbot__suggestions button:hover{
	background:var(--fc-teal);
	border-color:var(--fc-teal);
	color:#fff;
}

.fame-chatbot__form{
	display:flex;
	gap:8px;
	padding:12px;
	border-top:1px solid rgba(1,159,167,.12);
	background:#fff;
}

.fame-chatbot__form input{
	flex:1;
	border:1px solid rgba(1,159,167,.22);
	border-radius:14px;
	padding:11px 12px;
	font-size:14px;
	outline:none;
	color:var(--fc-ink);
}

.fame-chatbot__form input:focus{
	border-color:var(--fc-teal);
	box-shadow:0 0 0 3px rgba(1,159,167,.12);
}

.fame-chatbot__send{
	width:44px;
	height:44px;
	border:0;
	border-radius:14px;
	background:var(--fc-orange);
	color:#fff;
	cursor:pointer;
	flex-shrink:0;
	transition:background .15s ease;
}

.fame-chatbot__send:hover{
	background:var(--fc-orange-dark);
}

@media (max-width:575.98px){
	.fame-chatbot{
		left:14px;
		bottom:14px;
	}
	.fame-chatbot__panel{
		width:calc(100vw - 28px);
		height:min(70vh,540px);
	}
}
