#mwai-chat-id {
	--mwai-spacing: 15px;
	--mwai-fontSize: 15px;
	--mwai-borderRadius: 10px;
	--mwai-fontColor: #FFFFFF;
	--mwai-backgroundPrimaryColor: #454654;
	--mwai-backgroundSecondaryColor: #343541;
	--mwai-aiAvatarBackgroundColor: #10a37f;
	--mwai-userAvatarBackgroundColor: #135ea4;
	--mwai-headerButtonsColor: #FFFFFF;
	
	.mwai-open-button {
		position: absolute;
		right: 0;
		bottom: 0;
		transition: all 0.2s ease-out;
		z-index: 9999;
		display: flex;
		flex-direction: column;
    align-items: end;

		.mwai-icon-text {
			background: var(--mwai-backgroundPrimaryColor);
			color: var(--mwai-headerButtonsColor);
			max-width: 200px;
			font-size: 13px;
			margin-bottom: 15px;
			padding: 5px 10px;
			border-radius: 8px;
		}
		
		&:hover {
			cursor: pointer;
			filter: saturate(2.5) hue-rotate(5deg);
		}
	}

	.mwai-content {
		background: var(--mwai-backgroundSecondaryColor);
		color: var(--mwai-fontColor);
		font-size: var(--mwai-fontSize);
		border-radius: var(--mwai-borderRadius);
		overflow: hidden;
		display: flex;
		flex-direction: column;
	}

	.mwai-conversation {
		overflow: auto;
	}

	* {
		box-sizing: border-box;
	}

	a {
		color: #2196f3;
	}

	h1 {
		font-size: 200%;
	}

	h2 {
		font-size: 160%;
	}

	h3 {
		font-size: 140%;
	}

	h4 {
		font-size: 120%;
	}

	pre {
		color: var(--mwai-fontColor);
		border-radius: var(--mwai-borderRadius);
		padding: calc(var(--mwai-spacing) * 2 / 3) var(--mwai-spacing);
		break-after: auto;
		font-size: 95%;
		font-family: system-ui;
		background: #343541;

		code {
			padding: 0 !important;
			font-family: system-ui;
			background: #343541;
		}
	}

	ol {
		padding: 0;
		margin: 0 0 0 20px;
	}
	.mwai-reply {
		display: flex;
		padding: var(--mwai-spacing);
	}

	.mwai-ai, .mwai-system {
		background: var(--mwai-backgroundPrimaryColor);
	}

	.mwai-name {
		color: var(--mwai-fontColor);
		margin-right: 5px;

		.mwai-name-text {
			opacity: 0.50;
		}

		.mwai-avatar {
			margin-right: 10px;
			width: 40px;
			height: 40px;
			background: var(--mwai-aiAvatarBackgroundColor);
			display: flex;
			align-items: center;
			justify-content: center;
			border-radius: 5px;
			overflow: hidden;
	
			img {
				max-width: 100%;
				max-height: 100%;
			}

			&.mwai-svg img {
				width: 28px;
				height: 28px;
				filter: brightness(0) invert(1);
			}
		}
	}

	.mwai-user {

		.mwai-name {

			.mwai-avatar {
				background: var(--mwai-userAvatarBackgroundColor);
			}
		}
	}

	.mwai-text {
		flex: auto;
		>* {
			&:first-child {
				margin-top: 0;
			}
			&:last-child {
				margin-bottom: 0;
			}
		}
	}
	
	.mwai-input {
		display: flex;
		padding: var(--mwai-spacing);
		border-top: 1px solid var(--mwai-backgroundPrimaryColor);

		textarea {
			background: var(--mwai-backgroundPrimaryColor);
			color: var(--mwai-fontColor);
			flex: auto;
			padding: calc(var(--mwai-spacing) / 2) var(--mwai-spacing);
			border: none;
			border-radius: 5px;
			font-size: var(--mwai-fontSize);
			resize: none;
			font-family: inherit;
			line-height: calc(var(--mwai-spacing) * 2);
			margin: 0;

			&:focus {
				outline: none;
			}
		}

		button {
			background: none;
			color: var(--mwai-fontColor);
			background-color: var(--mwai-backgroundSecondaryColor);
			border: 1px solid var(--mwai-backgroundPrimaryColor);
			margin-left: var(--mwai-spacing);
			width: 90px;
			border-radius: 5px;
			cursor: pointer;
			transition: all 0.2s ease-out;
			max-height: 60px;
			display: flex;
			align-items: center;
			justify-content: center;

			.mwai-timer {
				margin-left: 5px;
				margin-right: 5px;
				font-size: 11px;
			}

			&:hover {
				background: var(--mwai-backgroundPrimaryColor);
			}
		}
	}

	button {
		position: relative;
	}

	button[disabled] {

		span {
			display: none;
		}

		&::before {
			content: '';
			width: 18px;
			height: 18px;
			margin: auto;
			border: 3px solid transparent;
			border-top-color: var(--mwai-fontColor);
			border-radius: 50%;
			animation: mwai-button-spinner 1s ease infinite;
		}
	}
}

#mwai-chat-id.mwai-window {
	position: fixed;
	right: 30px;
	bottom: 30px;
	width: 460px;
	z-index: 9999;

	.mwai-header {
		display: none;
    justify-content: flex-end;
    align-items: center;

		.mwai-resize-button {
			justify-content: center;
			height: 40px;
			width: 25px;
			cursor: pointer;
			display: flex;
    	justify-content: center;
    	align-items: center;

			&:before {
				transition: all 0.2s ease-out;
				content: ' ';
				cursor: pointer;
				position: absolute;
				height: 15px;
				width: 15px;
				opacity: 0.75;
				border: 2px solid var(--mwai-headerButtonsColor);
			}

			&:hover:before {
				width: 20px;
				height: 20px;
			}
		}

		.mwai-close-button {
			justify-content: center;
			height: 35px;
			width: 35px;
			cursor: pointer;
		}

		.mwai-close-button:before, .mwai-close-button:after {
			content: ' ';
			cursor: pointer;
			position: absolute;
			height: 25px;
			width: 2px;
			background-color: var(--mwai-headerButtonsColor);
			opacity: 0.75;
		}

		.mwai-close-button {
			&:before {
				transition: all 0.2s ease-out;
				transform: translate(16px, 5px) rotate(45deg);
			}
			&:after {
				transition: all 0.2s ease-out;
				transform: translate(16px, 5px) rotate(-45deg);
			}
		}

		.mwai-close-button:hover {
			&:before {
				opacity: 1;
				transform: translate(16px, 5px) rotate(135deg);
			}
			&:after {
				opacity: 1;
				transform: translate(16px, 5px) rotate(45deg);
			}
		}
	}

	.mwai-content {
		display: none;
		opacity: 0;
		max-height: 40vh;
	}

	&.mwai-bottom-left {
		bottom: 30px;
		right: inherit;
		left: 30px;

		.mwai-open-button {
			right: inherit;
			left: 0;
		}
	}

	&.mwai-top-right {
		top: 30px;
		bottom: inherit;
		right: 30px;

		.mwai-open-button {
			top: 0;
			bottom: inherit;
		}
	}

	&.mwai-top-left {
		top: 30px;
		bottom: inherit;
		right: inherit;
		left: 30px;

		.mwai-open-button {
			top: 0;
			bottom: inherit;
			right: inherit;
			left: 0;
		}
	}
}

// GALLERY

#mwai-chat-id .mwai-gallery {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 5px;

	img {
		width: 100%;
	}
}

// FULLSCREEN & WINDOW

#mwai-chat-id.mwai-window.mwai-fullscreen {

	.mwai-close-button {
		height: 40px;

		&:before, &:after {
			height: 30px;
		}
	}

	.mwai-resize-button {

		&:before {
			width: 20px;
			height: 20px;
		}

		&:hover:before {
			width: 15px;
			height: 15px;
		}
	}
}

#mwai-chat-id.mwai-fullscreen:not(.mwai-window), #mwai-chat-id.mwai-fullscreen.mwai-window.mwai-open {
	position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  width: inherit;
  height: inherit;
  max-height: inherit;
  max-width: inherit;
	display: flex;
	flex-direction: column;
	margin: 0;

  .mwai-content {
		height: 100%;
    max-height: inherit;
		border-radius: inherit;

		.mwai-conversation {
			flex: auto;
		}
  }
}

#mwai-chat-id.mwai-window.mwai-open {

	.mwai-header {
		display: flex;
	}

	.mwai-content {
		display: flex;
		transition: opacity 200ms ease-in-out 0s;
		opacity: 1;
	}

	.mwai-open-button {
		display: none;
	}
}

@media (max-width: 760px) {

	#mwai-chat-id {

		&.mwai-window {
			left: 10px;
			right: 10px;
			bottom: 10px;
			width: calc(100% - 20px);
			z-index: 9999999999;
		}

		.mwai-reply {
			flex-direction: column;
		}

		.mwai-input {
			flex-direction: column;

			button {
				margin: 15px 0 0 0;
				height: 40px;
				width: inherit;
			}
		}

		.mwai-name {
			margin-right: 0;
			max-width: inherit;
		}
	}
}

@keyframes mwai-button-spinner {

	from {
		transform: rotate(0turn);
	}
	to {
		transform: rotate(1turn);
	}
}

// WordPress Admin Bar

.admin-bar #mwai-chat-id.mwai-fullscreen:not(.mwai-window),
.admin-bar #mwai-chat-id.mwai-fullscreen.mwai-window.mwai-open {
	top: 32px;
}