:root {
	--sacw-primary-color: #044d7a;
	--sacw-gradient-color2: #029cfb;
	--sacw-gradient-color3: rgb(10 23 110);
}

.sitewalk-ai-chat-widget {

	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 9999;
	padding: 20px;
	color: #000;
	font-size: 1rem;
	line-height: normal;
	width: 640px;

	.sacw-primary-button {
		background-color: var(--sacw-primary-color);
		color: #fff!important;
		border: none;
		padding: 10px 20px;
		border-radius: 20px;
		cursor: pointer;
		margin-top: 1rem;
		text-align: center;
		display: inline-block;
	}

	a.sacw-primary-button:hover {
		color: #fff!important;
	}

	p:not(:last-of-type) {
		margin-bottom: 1rem !important;
	}

	.sitewalk-ai-chat-widget__container {
		background-color: #fff;
		border-radius: 12px;
		overflow: hidden;
		margin-bottom: 15px;
		box-shadow: 0 0 15px -12px rgba(0, 0, 0, 0.5);
	}

	.sitewalk-ai-chat-widget__container:before {
		content: '';
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(222, 222, 222, 0.7);
		z-index: -1;
		backdrop-filter: blur(5px);
	}

	.sitewalk-ai-chat-widget__header {
		background-color: var(--sacw-primary-color);
		background: linear-gradient(90deg, var(--sacw-primary-color) 0%, var(--sacw-gradient-color2) 50%, var(--sacw-gradient-color3) 100%);
		color: #fff;
		text-align: center;
		padding: 30px 50px;

		.sitewalk-ai-chat-widget__header__title {
			font-size: 1.6rem;
			font-weight: 600;
		}

		.sitewalk-ai-chat-widget__header__logo {
			margin: 20px 0;

			img {
				width: 60px;
				height: 60px;
				object-fit: cover;
				object-position: 50% 50%;
				border-radius: 100%;
			}
		}

		.sitewalk-ai-chat-widget__header__subtitle {
			font-weight: 100;
		}

	}

	.sitewalk-ai-chat-widget__privacy-text {
		min-height: 200px;
		max-height: 40vh;
		padding: 20px;
		overflow: auto;

		a:not(.sacw-primary-button):hover{
			color: var(--sacw-primary-color) !important;
		}

	}

	.sitewalk-ai-chat-widget__conversation {
		min-height: 200px;
		max-height: 40vh;
		padding: 20px;
		overflow: auto;

		.sitewalk-ai-chat-widget__conversation__message {
			margin-bottom: 1rem;

			&:has(.assistant) {
				text-align: right;
			}


		}

		.sitewalk-ai-chat-widget__conversation__message__text {

			padding: 20px;
			border: 1px solid #cfcfcf;
			background-color: #f9f9f9;
			border-radius: 4px 8px 8px 8px;
			display: inline-block;
			line-height: 1.4em;
			font-size: 1rem;
		}

		.sitewalk-ai-chat-widget__conversation__message__text.assistant {
			margin-left: 30px;
			text-align: left;

			a {
				font-weight: 600;
				color: var(--sacw-primary-color) !important;
				text-decoration: underline;
			}
		}

		.sitewalk-ai-chat-widget__conversation__message__text.user {
			border: 1px solid var(--sacw-primary-color) !important;
			background-color: var(--sacw-primary-color);
			color: #fff;
			margin-right: 30px;
			border-radius: 8px 4px 8px 8px;
		}

	}

	.chat-snippets {
		margin: 1rem 0;
		display: flex;
		flex-wrap: wrap;
		gap: 0.4rem;
		justify-content: flex-end;
	}

	.chat-snippet {
		display: inline-block;
		background: #fff;
		padding: 10px;
		border: 1px solid #dbdbdb;
		border-radius: 8px;
		position: relative;
		transition: all 200ms ease;

		&:hover {
			background-color: var(--sacw-primary-color);
			color: #fff;
		}

		a {
			text-decoration: none !important;
		}

		.snippet-url {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			z-index: 1;
		}

	}


	.follow-up-options {
		margin: 30px 0;
		text-align: center;

		button {
			margin-right: 5px;
			font-size: 1rem;
			padding: 5px;
			border: 1px solid #cfcfcf;
			background-color: #f9f9f9;
			border-radius: 4px;
			cursor: pointer;
			font-family: inherit;
		}
	}

	.sitewalk-ai-chat-widget__toolbox {
		padding: 20px;
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 10px;


		.el-input {
			flex-grow: 1;
			width: auto;
		}

		input.el-input__inner {
			margin: 0;
			width: 100%;
			padding-right: 60px;


		}

		input.el-input__inner::placeholder, .el-input__count-inner {
			color: #000;
		}

	}

	.sitewalk-ai-chat-widget__toolbox__mic-button {
		color: var(--sacw-primary-color) !important;
		font-size: 1.4rem;
	}

	.sitewalk-ai-chat-widget__toolbox__submit-button {
		background-color: var(--sacw-primary-color);
		color: #fff;
		border: none;
		padding: 10px 20px;
		border-radius: 4px;
		cursor: pointer;
		font-size: 1.2rem;
		margin-top: 20px;
		width: 100%;
		text-align: center;

		&:hover {
			background-color: var(--sacw-gradient-color3);
		}
	}

	.sitewalk-ai-chat-widget__trigger {
		width: 64px;
		height: 64px;
		border-radius: 100%;
		background-color: var(--sacw-primary-color);
		color: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		font-size: 1.6rem;
		float: right;
	}


	.sitewalk-ai-chat-widget__toolbox__mic-button.listening {
		position: relative;
	}

	.sitewalk-ai-chat-widget__toolbox__mic-button.listening::after {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		width: 40px;
		height: 40px;
		background-color: rgba(210, 210, 210, 0.4);
		border-radius: 50%;
		margin-top: -20px;
		margin-left: -20px;
		animation: pulse 1.5s infinite;
		z-index: 0;
	}

	@keyframes pulse {
		0% {
			transform: translate(-50%, -50%) scale(1);
			opacity: 0.7;
		}
		70% {
			transform: translate(-50%, -50%) scale(1.3);
			opacity: 0;
		}
		100% {
			transform: translate(-50%, -50%) scale(1);
			opacity: 0;
		}
	}

}

@media screen and (max-width: 768px) {
	.sitewalk-ai-chat-widget {
		width: 100%;

		.sitewalk-ai-chat-widget__conversation {
			max-height: 50vh;

		}

		.sitewalk-ai-chat-widget__trigger {
			width: 45px;
			height: 45px;
		}

	}
}

