/* Окно ассистента ISCO. */

.isco-bot {
	position: fixed;
	inset-block-end: 92px;
	left: 16px;  /* кнопка чата физически слева */
	z-index: 10000;
	display: flex;
	flex-direction: column;
	inline-size: min(380px, calc(100vw - 24px));
	block-size: min(70vh, 620px);
	border: 1px solid var(--isco-border-default);
	border-radius: var(--isco-radius-lg);
	background: var(--isco-bg-surface);
	box-shadow: var(--isco-shadow-float);
	font-family: Rubik, sans-serif;
	color: var(--isco-text-primary);
	direction: rtl;
	text-align: right;
	overflow: hidden;
}

.isco-bot[hidden] {
	display: none;
}

.isco-bot__head {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 16px;
	background: var(--isco-bg-brand);
	color: #fff;
}

.isco-bot__avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 40px;
	block-size: 40px;
	flex: 0 0 auto;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.18);
	color: #fff;
}

.isco-bot__head-text {
	flex: 1 1 auto;
	min-inline-size: 0;
}

.isco-bot__head-text h2 {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	color: #fff;
}

.isco-bot__head-text p {
	margin: 2px 0 0;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.85);
}

.isco-bot__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 36px;
	block-size: 36px;
	flex: 0 0 auto;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.16);
	color: #fff;
	cursor: pointer;
}

.isco-bot__close:hover {
	background: rgba(255, 255, 255, 0.28) !important;
	color: #fff !important;
}

.isco-bot__log {
	flex: 1 1 auto;
	overflow-y: auto;
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	background: var(--isco-bg-page);
}

.isco-bot__msg {
	display: flex;
	max-inline-size: 92%;
}

.isco-bot__msg--bot {
	align-self: flex-start;
}

.isco-bot__msg--user {
	align-self: flex-end;
}

.isco-bot__body {
	display: grid;
	gap: 8px;
	justify-items: start;
}

.isco-bot__bubble {
	margin: 0;
	padding: 10px 14px;
	border-radius: var(--isco-radius-lg);
	background: var(--isco-bg-surface);
	border: 1px solid var(--isco-border-default);
	font-size: 14px;
	line-height: 1.55;
	white-space: pre-line;
}

.isco-bot__msg--user .isco-bot__bubble {
	background: var(--isco-action-secondary);
	border-color: var(--isco-action-secondary);
	color: #fff;
}

.isco-bot__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.isco-bot__chip {
	padding: 8px 14px;
	border: 1px solid var(--isco-action-secondary);
	border-radius: var(--isco-radius-pill);
	background: var(--isco-bg-surface);
	color: var(--isco-text-brand);
	font-family: inherit;
	font-size: 13px;
	cursor: pointer;
}

.isco-bot__chip:hover {
	background: var(--isco-bg-brand-soft) !important;
	color: var(--isco-text-brand) !important;
}

.isco-bot__cards {
	display: grid;
	gap: 8px;
	inline-size: 100%;
}

.isco-bot__card {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px;
	border: 1px solid var(--isco-border-default);
	border-radius: var(--isco-radius-md);
	background: var(--isco-bg-surface);
	color: var(--isco-text-primary);
	text-decoration: none;
}

.isco-bot__card:hover {
	border-color: var(--isco-action-secondary);
}

.isco-bot__card img {
	inline-size: 56px;
	block-size: 56px;
	flex: 0 0 auto;
	border-radius: var(--isco-radius-sm);
	object-fit: cover;
}

.isco-bot__card-text {
	display: grid;
	gap: 2px;
	min-inline-size: 0;
}

.isco-bot__card-text strong {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
}

.isco-bot__card-meta {
	font-size: 12px;
	color: var(--isco-text-secondary);
}

.isco-bot__more {
	font-size: 13px;
	color: var(--isco-text-brand);
	text-decoration: underline;
}

.isco-bot__handoff {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.isco-bot__cta {
	padding: 10px 16px;
	border-radius: var(--isco-radius-pill);
	background: var(--isco-action-secondary);
	color: #fff;
	font-size: 14px;
	text-decoration: none;
}

.isco-bot__cta--wa {
	background: var(--isco-action-whatsapp);
}

.isco-bot__cta:hover {
	color: #fff;
	opacity: 0.92;
}

.isco-bot__typing .isco-bot__bubble {
	display: flex;
	gap: 4px;
	padding: 14px;
}

.isco-bot__typing span {
	inline-size: 7px;
	block-size: 7px;
	border-radius: 50%;
	background: var(--isco-neutral-400);
	animation: isco-bot-dot 1s infinite ease-in-out;
}

.isco-bot__typing span:nth-child(2) {
	animation-delay: 0.15s;
}

.isco-bot__typing span:nth-child(3) {
	animation-delay: 0.3s;
}

@keyframes isco-bot-dot {
	0%, 60%, 100% { opacity: 0.35; transform: translateY(0); }
	30% { opacity: 1; transform: translateY(-3px); }
}

.isco-bot__form {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 12px;
	border-block-start: 1px solid var(--isco-border-default);
	background: var(--isco-bg-surface);
}

.isco-bot__form input {
	flex: 1 1 auto;
	min-inline-size: 0;
	padding: 10px 14px;
	border: 1px solid var(--isco-border-default);
	border-radius: var(--isco-radius-pill);
	background: var(--isco-bg-page);
	color: var(--isco-text-primary);
	font-family: inherit;
	font-size: 14px;
}

.isco-bot__form input:focus {
	outline: 2px solid var(--isco-border-focus);
	outline-offset: 1px;
}

.isco-bot__form button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 42px;
	block-size: 42px;
	flex: 0 0 auto;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--isco-action-secondary);
	color: #fff;
	cursor: pointer;
}

.isco-bot__form button:hover {
	background: var(--isco-action-secondary-hover) !important;
	color: #fff !important;
}

.isco-bot__note {
	margin: 0;
	padding: 0 14px 10px;
	background: var(--isco-bg-surface);
	font-size: 11px;
	line-height: 1.5;
	color: var(--isco-text-secondary);
}

@media (max-width: 640px) {
	.isco-bot {
		inset-inline: 12px;
		inline-size: auto;
		inset-block-end: 84px;
		block-size: min(76vh, 560px);
	}
}

.isco-bot__chip[disabled] {
	border-color: var(--isco-border-default);
	color: var(--isco-text-secondary);
	cursor: default;
	opacity: 0.65;
}
