/* Keep the conversation and the current step in one scroll region. The shell controls stay fixed. */
.da-ai-assistant__panel {
	display: flex;
	flex-direction: column;
	/* Keep the complete panel inside the visual viewport above the right-side
	 * launcher, including short landscape screens and the software keyboard. */
	height: min(620px, max(0px, calc(var(--da-ai-visual-height, 100dvh) - 144px)));
	min-height: 0;
	max-height: max(0px, calc(var(--da-ai-visual-height, 100dvh) - 16px));
}

.da-ai-assistant__header,
.da-ai-assistant__composer,
.da-ai-assistant__privacy {
	flex: 0 0 auto;
}

.da-ai-assistant__header-logo {
	flex: 0 0 38px;
}

.da-ai-assistant__step-content {
	flex: 1 1 auto;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-color: #b9ccec transparent;
	scrollbar-width: thin;
}

.da-ai-assistant__step-content:focus-visible {
	outline: 2px solid #1677ef;
	outline-offset: -3px;
}

.da-ai-assistant__conversation {
	flex: 0 0 auto;
	min-height: 0;
	overflow: visible;
	padding: 14px 14px 2px;
}

.da-ai-assistant__choices {
	flex: 0 0 auto;
	align-content: flex-start;
	gap: 8px;
	max-height: none;
	overflow: visible;
	padding: 4px 14px 16px;
}

.da-ai-assistant__selection-panel {
	max-height: min(240px, 34vh);
	overscroll-behavior: contain;
}

.da-ai-assistant__choice,
.da-ai-assistant__choice-link,
.da-ai-assistant__choice-action {
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid #b9cbed;
	background: #fff;
	color: #12366e;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
}

.da-ai-assistant__choice:hover,
.da-ai-assistant__choice-link:hover,
.da-ai-assistant__choice-action:hover {
	border-color: #1669cb;
	background: #edf5ff;
	color: #0a326e;
}

.da-ai-assistant__choice:active,
.da-ai-assistant__choice-link:active,
.da-ai-assistant__choice-action:active {
	background: #dceaff;
	transform: translateY(1px);
}

.da-ai-assistant__choice:focus-visible,
.da-ai-assistant__choice-link:focus-visible,
.da-ai-assistant__choice-action:focus-visible,
.da-ai-assistant__composer button:focus-visible,
.da-ai-assistant__icon-button:focus-visible {
	outline: 3px solid #f0a900;
	outline-offset: 2px;
}

.da-ai-assistant__choice[aria-pressed="true"] {
	border-color: #5c49c7;
	background: #ebeaff;
	color: #302481;
}

.da-ai-assistant__choice--done {
	border: 1px solid #5542be;
	background: linear-gradient(110deg, #075fbd, #5742bd 62%, #a52291);
	color: #fff;
}

.da-ai-assistant__choice--done:hover,
.da-ai-assistant__choice--done:active {
	border-color: #302481;
	background: linear-gradient(110deg, #064f9e, #4935a6 62%, #861875);
	color: #fff;
}

.da-ai-assistant__choice--done:disabled,
.da-ai-assistant__choice--done[aria-disabled="true"] {
	border-color: #c5d0e2;
	background: #e8eef8;
	color: #3c506f;
	cursor: not-allowed;
	opacity: 1;
	transform: none;
}

.da-ai-assistant__choice--loading {
	cursor: progress;
	opacity: .86;
}

.da-ai-assistant__selection-panel {
	background: #f7faff;
}

.da-ai-assistant__composer {
	position: relative;
	gap: 8px;
	padding: 10px 12px 8px;
}

.da-ai-assistant__composer > .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.da-ai-assistant__composer input {
	min-width: 0;
	font-size: 16px;
}

.da-ai-assistant__composer button {
	flex-basis: 44px;
	width: 44px;
	height: 44px;
	background: linear-gradient(130deg, #075fbd, #5742bd 62%, #a52291);
	color: #fff;
}

.da-ai-assistant__composer button:disabled {
	background: #dce5f2;
	color: #344b6f;
	cursor: not-allowed;
	opacity: 1;
}

.da-ai-assistant__privacy {
	padding: 0 12px 10px;
	font-size: 11px;
	line-height: 1.45;
}

.da-ai-assistant__privacy a {
	color: #174e9a;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.da-ai-assistant__form-card {
	align-items: start;
}

.da-ai-assistant__field input {
	min-height: 44px;
	font-size: 14px;
}

.da-ai-assistant__field input[aria-invalid="true"] {
	border-color: #b42318;
	box-shadow: 0 0 0 1px #b42318;
}

.da-ai-assistant__field-error {
	margin: 0;
	color: #a61b1b;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
}

.da-ai-assistant__form-errors {
	grid-column: 1 / -1;
	margin: 0;
	padding: 9px 10px;
	border: 1px solid #e7aaa5;
	border-radius: 10px;
	background: #fff3f1;
	color: #8e1812;
	font-size: 12px;
	line-height: 1.4;
}

.da-ai-assistant__form-errors[hidden],
.da-ai-assistant__field-error[hidden] {
	display: none !important;
}

.da-ai-assistant__message--typing .da-ai-assistant__bubble::after {
	content: "Working…";
	margin-left: 7px;
	color: #4d6283;
	font-size: 12px;
}

@media (max-width: 520px) {
	.da-ai-assistant__panel {
		height: min(620px, max(0px, calc(var(--da-ai-visual-height, 100dvh) - 126px)));
		min-height: 0;
		max-height: max(0px, calc(var(--da-ai-visual-height, 100dvh) - 16px));
	}

	.da-ai-assistant--keyboard-open .da-ai-assistant__panel {
		height: min(620px, max(0px, calc(var(--da-ai-visual-height, 100dvh) - 126px)));
	}

	.da-ai-assistant__selection-panel {
		max-height: min(220px, 32vh);
	}

	.da-ai-assistant__field input {
		font-size: 16px;
	}
}

body:has(.da-chat:not([hidden])) .da-ai-assistant__panel {
	height: min(620px, max(0px, calc(var(--da-ai-visual-height, 100dvh) - 274px)));
}
@media (max-width: 520px) {
	body:has(.da-chat:not([hidden])) .da-ai-assistant__panel {
		height: min(620px, max(0px, calc(var(--da-ai-visual-height, 100dvh) - 256px)));
	}
	body:has(.da-chat:not([hidden])) .da-ai-assistant--keyboard-open .da-ai-assistant__panel {
		height: min(620px, max(0px, calc(var(--da-ai-visual-height, 100dvh) - 126px)));
	}
}

@media (max-height: 500px) and (min-width: 521px) and (orientation: landscape) {
	.da-ai-assistant__panel {
		height: min(620px, max(0px, calc(var(--da-ai-visual-height, 100dvh) - 138px)));
		max-height: max(0px, calc(var(--da-ai-visual-height, 100dvh) - 16px));
	}
	body:has(.da-chat:not([hidden])) .da-ai-assistant__panel {
		height: min(620px, max(0px, calc(var(--da-ai-visual-height, 100dvh) - 138px)));
	}
}
