/* Blount Tourism Concierge Chatbot – Front End */
.btc-chat{max-width:680px;margin:1rem auto;border:1px solid #e2e8f0;border-radius:12px;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,0.05)}
.btc-window{
	height: 100%;
	overflow-y:auto;
	padding:14px 16px;
	background:#f8fafc
}
.btc-msg{white-space:pre-wrap;line-height:1.45;margin-bottom:10px}
.btc-user{
	background:#a5ded475;
	color:#fff;
	padding:8px 10px;
	border-radius:10px 10px 2px 10px;
	display:inline-block;
	color: #444;
}
.btc-assistant{
	background:#3f5a552e;
	color: #000;
	border: 1px solid #e5e7eb;
	padding:8px 10px;
	border-radius:10px 10px 10px 2px;
	display:inline-block
}

.btc-form{
	display:flex;
	gap:8px;
	padding:12px;
	background:#fff;
	border-top:1px solid #e5e7eb;
	border-radius: 0 0 40px 40px;
}
.btc-input{
	flex:1;
	min-height:40px;
	padding:10px 15px;
	border:1px solid #3f5a552e;
	background:#3f5a552e;
	color: #000;
	border-radius:25px;
	font:inherit;
	font-size: 16px;
	line-height: 1.5;
	&:active{
		border: 1px solid #3F5A55;
		outline: none;
	}
	&:focus{
		border: 1px solid #3F5A55;
		outline: none;
	}
	&:focus-visible{
		border: 1px solid #3F5A55;
		outline: none;
	}
	&::placeholder { color: #444; }
}
.btc-actions{display:flex;gap:8px}
.btc-send,.btc-cancel{height:44px;padding:0 14px;border-radius:8px;cursor:pointer}
.btc-send{background:#111827;color:#fff;border:none}
.btc-cancel{background:#f3f4f6;color:#111827;border:none}
@media (prefers-reduced-motion:no-preference){.blink{animation:blink 1s steps(2,start) infinite}}
@keyframes blink{to{visibility:hidden}}

.btc-typing {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-width: 24px;
	min-height: 1em;
}

/* The three dots */
.btc-typing-dot {
	width: 6px;
	height: 6px;
	border-radius: 9999px;
	background: currentColor;
	opacity: 0.3;
	animation: btc-typing-bounce 1s infinite ease-in-out;
}

/* Staggered animation for each dot */
.btc-typing-dot:nth-child(2) {
	animation-delay: 0.15s;
}
.btc-typing-dot:nth-child(3) {
	animation-delay: 0.3s;
}

@keyframes btc-typing-bounce {
	0%, 80%, 100% {
		transform: translateY(0);
		opacity: 0.3;
	}
	40% {
		transform: translateY(-3px);
		opacity: 1;
	}
}

/* --- Floating launcher + panel --- */

.btc-launcher[aria-expanded="true"]{ background:#FFF; }

.btc-backdrop{
	position:fixed; inset:0; background:rgba(0,0,0,.3); z-index:9998;
}

.btc-panel{
	position:fixed;
	right:20px;
	bottom:88px;
	z-index:9999;
	width: min(480px, 92vw);
	max-width: 90%;
	max-height: 70vh;
	display:flex;
	flex-direction:column;
	background:#fff;
	border:1px solid #e5e7eb;
	border-radius:16px;
	box-shadow:0 20px 40px rgba(0,0,0,.65);
}
.btc-panel-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:10px 12px;
	border-bottom:1px solid #e5e7eb;
	background: transparent;
}
.btc-panel-head h2{ font-size:14px; margin:0; color:#111827; }
.btc-close{
	background: #3F5A55;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	padding: 0 0 4px 0;
	border-radius: 100%;
	width: 32px;
	height: 32px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 100;
	color: #fff;
	border: 2px solid #3F5A55;
	transition: all 0.4s ease-in-out;
	&:hover{
		border: 2px solid #2C423F;
		background: #a5ded475;
		color: #2C423F;
	}
}

.btc-window{ height:340px; overflow-y:auto; padding:14px 16px; background:#f8fafc; }


@media (max-width: 480px){
	.btc-panel{ right:10px; left:10px; bottom:88px; width:auto; }
}

/* --- Floating launcher using SVG --- */
.btc-launcher{
	position:fixed;
	right:20px;
	bottom:20px;
	z-index:9999;
	width:64px;
	height:64px;
	border-radius:9999px;
	border:none;
	background:#ffffff;
	cursor:pointer;
	box-shadow:0 8px 24px rgba(0,0,0,.2);
	padding:2px;
	display:flex;
	align-items:center;
	justify-content:center;
}
.btc-launcher-img{ width:100%; height:100%; object-fit:contain; display:block; }

/* Teaser speech bubble */
.btc-teaser{
	position:fixed; right:96px; bottom:96px; z-index:9999;
	max-width: 320px;
	background:#fff; color:#111827;
	border:1px solid #e5e7eb; border-radius:18px;
	padding:14px 40px 14px 16px;
	box-shadow:0 16px 40px rgba(0,0,0,.18);
}
.btc-teaser:after{ /* tail pointing toward launcher */
	content:"";
	position:absolute; right:-10px; bottom:14px;
	width:20px; height:20px; background:#fff;
	border-right:1px solid #e5e7eb; border-bottom:1px solid #e5e7eb;
	transform:rotate(-45deg);
	border-bottom-right-radius:4px;
}
.btc-teaser-text{ margin:0; font-weight:600; line-height:1.35; }
.btc-teaser-close{
	position:absolute; right:8px; top:6px;
	width:28px; height:28px; border:none; border-radius:6px;
	background:transparent; font-size:18px; line-height:1; cursor:pointer;
	color:#444;
}
.btc-teaser-close:hover{ background:#f3f4f6; }
.btc-actions { display: none !important; }


.btc-mascot{
	position: absolute;
	top: -150px;
	left: 50%;
	transform: translateX(-50%);
	width: 204px;
	pointer-events: none;
	z-index: 2;
	height: 204px;
	object-fit: contain;
}
.btc-mascot img{
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	object-fit: contain;
	width: 100%;
	height: 100% !important
}
.btc-close{
	position: relative;
	z-index: 3;
}

.btc-suggest {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 10px 12px;
	border-top: 1px solid #e5e7eb;
	background: #fff;
}
.btc-chip {
	border: 1px solid #e5e7eb;
	background: #f8fafc;
	color: #111827;
	padding: 6px 10px;
	font-size: 13px;
	border-radius: 9999px;
	cursor: pointer;
	text-align: left;
	line-height: 1.3;
}
.grecaptcha-badge{
	left: -2000px !important;
	opacity: 0 !important;
}
.btc-chip:hover { background: #eef2f7; }

.btc-mascot-animate {
	opacity: 0;
	transform: translateY(-12px);
	animation: btc-mascot-in 0.35s ease-out forwards;
}

@keyframes btc-mascot-in {
	from {
		opacity: 0;
		transform: translateY(-12px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}


@media (max-width: 480px){
	.btc-teaser{ right:20px; bottom:96px; max-width: 86vw; }
	.btc-panel{ right:10px; left:10px; bottom:88px; width:auto; }
}

/* simple fade/slide (optional) */
@keyframes btc-pop { from{ transform:translateY(8px); opacity:0 } to{ transform:translateY(0); opacity:1 } }
.btc-teaser[data-anim="in"]{ animation: btc-pop .25s ease-out both; }