/* AI Site Search — identidade visual UNISAL
   Paleta: azul institucional profundo + vermelho salesiano como accent de ação,
   sobre base clara. Faixa de gradiente azul->vermelho como assinatura visual.
   Obs: cores aproximadas à marca UNISAL — ajuste os hex abaixo se tiver o manual oficial.
*/
.aiss-trigger,
.aiss-overlay,
.aiss-overlay * {
	box-sizing: border-box !important;
}

.aiss-trigger {
	--aiss-primary: #003d82;
	--aiss-primary-dark: #002850;
	--aiss-primary-light: #1f6fc0;
	--aiss-red: #e4032e;
	--aiss-bg: #ffffff;
	--aiss-bg-alt: #f2f6fb;
	--aiss-text: #1b2530;
	--aiss-text-dim: #64707e;
	--aiss-border: #dde5f0;

	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 8px 22px 8px 8px !important;
	background: var(--aiss-bg) !important;
	background-color: var(--aiss-bg) !important;
	color: var(--aiss-primary) !important;
	border: 1.5px solid var(--aiss-border) !important;
	border-radius: 999px !important;
	font-family: 'Space Grotesk', sans-serif !important;
	cursor: pointer !important;
	overflow: visible !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}

.aiss-trigger:hover,
.aiss-trigger:focus,
.aiss-trigger:active {
	background: var(--aiss-bg) !important;
	background-color: var(--aiss-bg) !important;
	color: var(--aiss-primary) !important;
	transform: translateY(-1px) !important;
	border-color: var(--aiss-primary) !important;
	box-shadow: 0 10px 26px -10px rgba(0, 61, 130, 0.45) !important;
}

.aiss-trigger__badge {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 38px !important;
	height: 38px !important;
	flex-shrink: 0 !important;
	border-radius: 50% !important;
	background: linear-gradient(135deg, var(--aiss-primary), var(--aiss-primary-light)) !important;
}

.aiss-trigger__ring {
	position: absolute !important;
	inset: 0 !important;
	border-radius: 50% !important;
	border: 1.5px solid var(--aiss-red) !important;
	opacity: 0 !important;
	pointer-events: none !important;
	animation: aiss-radar-ping 2.6s ease-out infinite !important;
}

.aiss-trigger__icon {
	position: relative !important;
	z-index: 1 !important;
	width: 17px !important;
	height: 17px !important;
	color: #ffffff !important;
	flex-shrink: 0 !important;
}

.aiss-trigger__label {
	font-size: 14.5px !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em !important;
	color: var(--aiss-primary) !important;
	white-space: nowrap !important;
}

@keyframes aiss-radar-ping {
	0% { transform: scale(0.75); opacity: 0.55; }
	80% { transform: scale(1.45); opacity: 0; }
	100% { opacity: 0; }
}

/* ================= Overlay + Modal ================= */
.aiss-overlay {
	--aiss-primary: #003d82;
	--aiss-primary-dark: #002850;
	--aiss-primary-light: #1f6fc0;
	--aiss-red: #e4032e;
	--aiss-bg: #ffffff;
	--aiss-bg-alt: #f2f6fb;
	--aiss-text: #1b2530;
	--aiss-text-dim: #64707e;
	--aiss-border: #dde5f0;

	position: fixed !important;
	inset: 0 !important;
	z-index: 999999 !important;
	display: flex !important;
	align-items: flex-start !important;
	justify-content: center !important;
	padding: 6vh 16px 16px !important;
	background: rgba(6, 16, 32, 0.55) !important;
	backdrop-filter: blur(6px) !important;
	opacity: 0 !important;
	visibility: hidden !important;
	transition: opacity 0.25s ease !important;
	font-family: 'Inter', sans-serif !important;
}

.aiss-overlay.is-open {
	opacity: 1 !important;
	visibility: visible !important;
}

.aiss-modal {
	position: relative !important;
	width: 100% !important;
	max-width: 700px !important;
	max-height: 84vh !important;
	display: flex !important;
	flex-direction: column !important;
	background: var(--aiss-bg) !important;
	border: 1px solid var(--aiss-border) !important;
	border-radius: 22px !important;
	overflow: hidden !important;
	transform: translateY(-16px) scale(0.97) !important;
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
	box-shadow: 0 30px 80px -20px rgba(0, 40, 80, 0.35) !important;
}

.aiss-overlay.is-open .aiss-modal {
	transform: translateY(0) scale(1) !important;
}

/* Faixa de assinatura: gradiente azul -> vermelho institucional, com brilho animado */
.aiss-modal__brandbar {
	height: 4px !important;
	width: 100% !important;
	flex-shrink: 0 !important;
	background: linear-gradient(90deg, var(--aiss-primary) 0%, var(--aiss-primary-light) 45%, var(--aiss-red) 100%) !important;
	background-size: 200% 100% !important;
	animation: aiss-brandbar-shift 4s ease-in-out infinite !important;
}

@keyframes aiss-brandbar-shift {
	0%, 100% { background-position: 0% 0; }
	50% { background-position: 100% 0; }
}

.aiss-modal__header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 16px 20px !important;
	border-bottom: 1px solid var(--aiss-border) !important;
	background: var(--aiss-bg) !important;
}

.aiss-modal__title {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	color: var(--aiss-primary) !important;
	font-family: 'Space Grotesk', sans-serif !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	letter-spacing: 0.01em !important;
}

.aiss-modal__badge {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 30px !important;
	height: 30px !important;
	border-radius: 50% !important;
	background: linear-gradient(135deg, var(--aiss-primary), var(--aiss-primary-light)) !important;
	flex-shrink: 0 !important;
	box-shadow: 0 0 0 4px rgba(0, 61, 130, 0.08) !important;
}

.aiss-modal__badge svg {
	width: 16px !important;
	height: 16px !important;
	color: #ffffff !important;
}

.aiss-modal__dot {
	width: 7px !important;
	height: 7px !important;
	border-radius: 50% !important;
	background: #2bc48a !important;
	display: inline-block !important;
	margin-left: 4px !important;
	box-shadow: 0 0 0 3px rgba(43, 196, 138, 0.18) !important;
	animation: aiss-dot-pulse 1.8s ease-in-out infinite !important;
}

@keyframes aiss-dot-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.4; }
}

.aiss-modal__close {
	appearance: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: var(--aiss-bg-alt) !important;
	border: none !important;
	color: var(--aiss-text-dim) !important;
	width: 32px !important;
	height: 32px !important;
	padding: 0 !important;
	border-radius: 50% !important;
	cursor: pointer !important;
	flex-shrink: 0 !important;
	transition: background 0.2s ease, color 0.2s ease !important;
}

.aiss-modal__close svg {
	width: 15px !important;
	height: 15px !important;
	display: block !important;
}

.aiss-modal__close:hover {
	background: var(--aiss-red) !important;
	color: #ffffff !important;
}

.aiss-chat {
	flex: 1 1 auto !important;
	overflow-y: auto !important;
	padding: 20px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 14px !important;
	min-height: 260px !important;
	max-height: 56vh !important;
	background: var(--aiss-bg-alt) !important;
}

.aiss-chat::-webkit-scrollbar {
	width: 6px !important;
}
.aiss-chat::-webkit-scrollbar-thumb {
	background: var(--aiss-border) !important;
	border-radius: 6px !important;
}

.aiss-row {
	display: flex !important;
	align-items: flex-end !important;
	gap: 8px !important;
	max-width: 88% !important;
	animation: aiss-msg-in 0.28s ease !important;
}

.aiss-row--bot {
	align-self: flex-start !important;
}

.aiss-row--user {
	align-self: flex-end !important;
	flex-direction: row-reverse !important;
}

@keyframes aiss-msg-in {
	from { opacity: 0; transform: translateY(6px); }
	to { opacity: 1; transform: translateY(0); }
}

.aiss-avatar {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 28px !important;
	height: 28px !important;
	border-radius: 50% !important;
	flex-shrink: 0 !important;
}

.aiss-avatar--bot {
	background: linear-gradient(135deg, var(--aiss-primary), var(--aiss-primary-light)) !important;
}

.aiss-avatar--user {
	background: var(--aiss-text-dim) !important;
}

.aiss-avatar svg {
	width: 15px !important;
	height: 15px !important;
	color: #ffffff !important;
}

.aiss-msg {
	padding: 11px 15px !important;
	border-radius: 14px !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
	color: var(--aiss-text) !important;
	white-space: pre-wrap !important;
	word-wrap: break-word !important;
}

.aiss-msg--bot {
	background: #ffffff !important;
	border: 1px solid var(--aiss-border) !important;
	border-bottom-left-radius: 4px !important;
}

.aiss-msg--user {
	background: linear-gradient(135deg, var(--aiss-primary), var(--aiss-primary-light)) !important;
	border-bottom-right-radius: 4px !important;
	color: #f5f9ff !important;
}

.aiss-msg a {
	color: var(--aiss-red) !important;
	text-decoration: underline !important;
	font-weight: 600 !important;
}

.aiss-msg--user a {
	color: #ffffff !important;
}

.aiss-cursor {
	display: inline-block !important;
	width: 2px !important;
	height: 14px !important;
	background: var(--aiss-primary) !important;
	margin-left: 2px !important;
	vertical-align: text-bottom !important;
	animation: aiss-cursor-blink 0.8s steps(1) infinite !important;
}

@keyframes aiss-cursor-blink {
	0%, 49% { opacity: 1; }
	50%, 100% { opacity: 0; }
}

.aiss-msg--typing {
	display: flex !important;
	align-items: center !important;
	gap: 4px !important;
	padding: 14px 16px !important;
}

.aiss-msg--typing span {
	width: 6px !important;
	height: 6px !important;
	border-radius: 50% !important;
	background: var(--aiss-primary-light) !important;
	animation: aiss-typing 1.1s ease-in-out infinite !important;
}
.aiss-msg--typing span:nth-child(2) { animation-delay: 0.15s !important; }
.aiss-msg--typing span:nth-child(3) { animation-delay: 0.3s !important; }

@keyframes aiss-typing {
	0%, 60%, 100% { transform: translateY(0); opacity: 0.5; }
	30% { transform: translateY(-4px); opacity: 1; }
}

.aiss-results {
	display: flex !important;
	flex-direction: column !important;
	gap: 7px !important;
	margin-top: 2px !important;
	max-width: 88% !important;
	align-self: flex-start !important;
	margin-left: 36px !important;
}

.aiss-result-card {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 10px !important;
	padding: 11px 13px !important;
	background: #ffffff !important;
	border: 1px solid var(--aiss-border) !important;
	border-left: 3px solid var(--aiss-primary) !important;
	border-radius: 10px !important;
	text-decoration: none !important;
	transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
}

.aiss-result-card:hover {
	border-left-color: var(--aiss-red) !important;
	transform: translateX(3px) !important;
	box-shadow: 0 6px 16px -8px rgba(0, 61, 130, 0.3) !important;
}

.aiss-result-card__text {
	display: flex !important;
	flex-direction: column !important;
	gap: 2px !important;
	min-width: 0 !important;
}

.aiss-result-card__title {
	color: var(--aiss-text) !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

.aiss-result-card__type {
	color: var(--aiss-text-dim) !important;
	font-size: 11px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
}

.aiss-result-card__arrow {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: var(--aiss-primary) !important;
	flex-shrink: 0 !important;
	width: 20px !important;
	height: 20px !important;
}

.aiss-result-card__arrow svg {
	width: 16px !important;
	height: 16px !important;
}

.aiss-error {
	color: #b3001b !important;
	background: #fdecef !important;
	border: 1px solid #f3c1cb !important;
}

.aiss-whatsapp-bar {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 10px !important;
	padding: 10px 16px !important;
	background: #eefaf3 !important;
	border-top: 1px solid var(--aiss-border) !important;
	flex-wrap: wrap !important;
}

.aiss-whatsapp-bar__text {
	font-size: 12.5px !important;
	color: var(--aiss-text-dim) !important;
	font-weight: 500 !important;
}

.aiss-whatsapp-bar__link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 7px 14px !important;
	background: #25d366 !important;
	color: #ffffff !important;
	border-radius: 999px !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	flex-shrink: 0 !important;
	transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}

.aiss-whatsapp-bar__link:hover {
	transform: translateY(-1px) !important;
	box-shadow: 0 8px 18px -8px rgba(37, 211, 102, 0.55) !important;
}

.aiss-whatsapp-bar__link svg {
	width: 14px !important;
	height: 14px !important;
	flex-shrink: 0 !important;
}

.aiss-form {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 14px 16px !important;
	border-top: 1px solid var(--aiss-border) !important;
	background: var(--aiss-bg) !important;
}

.aiss-form__input {
	flex: 1 1 auto !important;
	background: var(--aiss-bg-alt) !important;
	border: 1.5px solid var(--aiss-border) !important;
	color: var(--aiss-text) !important;
	font-family: 'Inter', sans-serif !important;
	font-size: 14px !important;
	padding: 12px 16px !important;
	border-radius: 12px !important;
	outline: none !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.aiss-form__input:focus {
	border-color: var(--aiss-primary) !important;
	box-shadow: 0 0 0 3px rgba(0, 61, 130, 0.1) !important;
}

.aiss-form__input::placeholder {
	color: var(--aiss-text-dim) !important;
}

.aiss-form__submit {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 44px !important;
	height: 44px !important;
	flex-shrink: 0 !important;
	background: linear-gradient(135deg, var(--aiss-primary), var(--aiss-primary-light)) !important;
	border: none !important;
	border-radius: 12px !important;
	color: #ffffff !important;
	cursor: pointer !important;
	transition: transform 0.15s ease, opacity 0.15s ease, box-shadow 0.15s ease !important;
}

.aiss-form__submit svg {
	width: 18px !important;
	height: 18px !important;
	transform: translateX(-1px) !important;
}

.aiss-form__submit:hover {
	transform: scale(1.06) !important;
	box-shadow: 0 6px 16px -6px rgba(0, 61, 130, 0.5) !important;
}

.aiss-form__submit:disabled {
	opacity: 0.5 !important;
	cursor: not-allowed !important;
	transform: none !important;
	box-shadow: none !important;
}

@media (max-width: 600px) {
	.aiss-overlay {
		padding: 0 !important;
		align-items: stretch !important;
	}
	.aiss-modal {
		max-width: 100% !important;
		max-height: 100vh !important;
		height: 100vh !important;
		border-radius: 0 !important;
	}
	.aiss-chat {
		max-height: none !important;
	}
	.aiss-results {
		margin-left: 0 !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.aiss-trigger__ring,
	.aiss-modal__brandbar,
	.aiss-modal__dot,
	.aiss-row,
	.aiss-msg--typing span,
	.aiss-cursor {
		animation: none !important;
	}
}