/**
 * Kedu AI Chat
 *
 * Smart reset: normal-priority base prevents theme bleed,
 * !important on components ensures our styles always win.
 * Left-aligned, game-like, colorful, professional.
 */

/* ============================================================
   Design Tokens
   ============================================================ */
#kedu-chat-app {
	--k-brand:      #7C00FE;
	--k-brand-2:    #001BC3;
	--k-pink:       #FF2DF1;
	--k-cyan:       #06B6D4;
	--k-amber:      #F59E0B;
	--k-green:      #10B981;
	--k-grad:       linear-gradient(135deg, #7C00FE 0%, #001BC3 50%, #FF2DF1 100%);
	--k-grad-fab:   linear-gradient(145deg, #7C00FE 0%, #FF2DF1 100%);
	--k-bg:         #ffffff;
	--k-bg-chat:    #f9f7ff;
	--k-bg-alt:     #f3f0fc;
	--k-text:       #1a1a2e;
	--k-text-soft:  #64648b;
	--k-border:     #ebe6f5;
	--k-z:          999999;
	--k-shadow:     0 8px 40px rgba(124,0,254,.18), 0 2px 8px rgba(0,0,0,.06);
	--k-shadow-lg:  0 16px 64px rgba(124,0,254,.22), 0 4px 16px rgba(0,0,0,.08);
}

/* ============================================================
   RESET — prevent theme/Elementor bleed without nuking SVGs.
   NO `all: revert` — that kills SVG presentation attributes.
   Explicit property list at #id * specificity (1,0,0) beats
   most theme selectors; component !important overrides this.
   ============================================================ */
#kedu-chat-app,
#kedu-chat-app *,
#kedu-chat-app *::before,
#kedu-chat-app *::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: none;
	outline: none;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	line-height: 1.5;
	font-size: 14px;
	color: var(--k-text);
	text-decoration: none;
	text-transform: none;
	letter-spacing: normal;
	-webkit-font-smoothing: antialiased;
	float: none;
	text-align: left;
	vertical-align: baseline;
	list-style: none;
	background: transparent;
	box-shadow: none;
	border-radius: 0;
}

#kedu-chat-app button {
	cursor: pointer !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}

#kedu-chat-app img {
	max-width: 100% !important;
	height: auto !important;
	border: none !important;
	display: inline-block !important;
}

#kedu-chat-app svg {
	display: inline-block !important;
	vertical-align: middle !important;
}

#kedu-chat-app [hidden] {
	display: none !important;
}

/* ============================================================
   FAB Wrap — LEFT BOTTOM
   ============================================================ */
#kedu-fab-wrap {
	position: fixed !important;
	bottom: 20px !important;
	left: 20px !important;
	z-index: var(--k-z) !important;
	width: 72px !important;
	height: 72px !important;
}

.kedu-fab-glow {
	position: absolute !important;
	inset: -8px !important;
	border-radius: 50% !important;
	background: var(--k-grad-fab) !important;
	opacity: .5 !important;
	filter: blur(16px) !important;
	animation: k-glow 2.5s ease-in-out infinite !important;
	pointer-events: none !important;
}

.kedu-fab-glow::after {
	content: "" !important;
	position: absolute !important;
	inset: -4px !important;
	border-radius: 50% !important;
	border: 2px solid rgba(255,255,255,.25) !important;
	animation: k-glow-ring 2.5s ease-in-out infinite !important;
}

@keyframes k-glow {
	0%, 100% { opacity: .3; transform: scale(1); }
	50%      { opacity: .7; transform: scale(1.18); }
}

@keyframes k-glow-ring {
	0%, 100% { opacity: .4; transform: scale(1); }
	50%      { opacity: 0; transform: scale(1.5); }
}

/* Stop glow when chat is open */
#kedu-fab-wrap:has(#kedu-fab.is-open) .kedu-fab-glow {
	animation: none !important;
	opacity: 0 !important;
	transition: opacity .3s !important;
}

#kedu-fab {
	position: relative !important;
	width: 72px !important;
	height: 72px !important;
	border-radius: 50% !important;
	background: var(--k-grad-fab) !important;
	color: #fff !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: var(--k-shadow) !important;
	transition: transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s !important;
	overflow: visible !important;
	padding: 0 !important;
}

#kedu-fab:hover {
	transform: scale(1.08) !important;
	box-shadow: var(--k-shadow-lg) !important;
}

#kedu-fab:active {
	transform: scale(.95) !important;
}

.kedu-fab__img {
	width: 60px !important;
	height: 60px !important;
	object-fit: contain !important;
	filter: drop-shadow(0 2px 6px rgba(0,0,0,.18)) !important;
	border-radius: 0 !important;
	transition: transform .4s cubic-bezier(.34,1.56,.64,1), opacity .3s !important;
	pointer-events: none !important;
	animation: k-float 4s ease-in-out infinite !important;
}

.kedu-fab__x {
	display: none !important;
	color: #fff !important;
	width: 24px !important;
	height: 24px !important;
	stroke: #fff !important;
}

#kedu-fab.is-open .kedu-fab__img {
	opacity: 0 !important;
	transform: scale(.4) rotate(90deg) !important;
	position: absolute !important;
	animation: none !important;
}

#kedu-fab.is-open .kedu-fab__x {
	display: block !important;
	animation: k-spin .4s ease !important;
}

@keyframes k-float {
	0%, 100% { transform: translateY(0); }
	25%      { transform: translateY(-5px) rotate(2deg); }
	75%      { transform: translateY(3px) rotate(-1deg); }
}

@keyframes k-spin {
	from { transform: rotate(-90deg) scale(.5); opacity: 0; }
	to   { transform: rotate(0) scale(1); opacity: 1; }
}

/* Online badge */
.kedu-fab-badge {
	position: absolute !important;
	top: 2px !important;
	right: 2px !important;
	width: 16px !important;
	height: 16px !important;
	border-radius: 50% !important;
	background: var(--k-green) !important;
	border: 3px solid #fff !important;
	animation: k-ping 2s ease-in-out infinite !important;
	pointer-events: none !important;
}

@keyframes k-ping {
	0%, 100% { box-shadow: 0 0 0 0 rgba(16,185,129,.5); }
	50%      { box-shadow: 0 0 0 6px rgba(16,185,129,0); }
}

/* ============================================================
   Nudge — LEFT BOTTOM
   ============================================================ */
#kedu-nudge {
	position: fixed !important;
	bottom: 104px !important;
	left: 20px !important;
	z-index: var(--k-z) !important;
	background: linear-gradient(135deg, #ffffff 0%, #f8faff 100%) !important;
	color: var(--k-text) !important;
	padding: 14px 16px !important;
	border-radius: 18px !important;
	box-shadow: 0 8px 32px rgba(124,0,254,.18), 0 2px 8px rgba(0,0,0,.06) !important;
	max-width: 300px !important;
	min-width: 220px !important;
	display: flex !important;
	align-items: flex-start !important;
	gap: 12px !important;
	border: 1px solid rgba(124,0,254,.12) !important;
	cursor: pointer !important;
	transition: transform .15s ease, box-shadow .15s ease !important;
	animation: k-nudge .5s cubic-bezier(.34,1.56,.64,1) !important;
}

#kedu-nudge:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 12px 36px rgba(124,0,254,.24), 0 4px 12px rgba(0,0,0,.08) !important;
}

#kedu-nudge::after {
	content: "" !important;
	position: absolute !important;
	bottom: -7px !important;
	left: 30px !important;
	width: 14px !important;
	height: 14px !important;
	background: #f8faff !important;
	transform: rotate(45deg) !important;
	box-shadow: 3px 3px 6px rgba(0,0,0,.04) !important;
	border-radius: 2px !important;
	border-right: 1px solid rgba(124,0,254,.12) !important;
	border-bottom: 1px solid rgba(124,0,254,.12) !important;
}

.kedu-nudge__avatar {
	width: 42px !important;
	height: 42px !important;
	border-radius: 50% !important;
	flex-shrink: 0 !important;
	object-fit: cover !important;
	border: 2px solid rgba(124,0,254,.2) !important;
	box-shadow: 0 2px 8px rgba(124,0,254,.15) !important;
	background: #fff !important;
}

.kedu-nudge__body {
	flex: 1 !important;
	min-width: 0 !important;
}

.kedu-nudge__name {
	display: block !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	color: var(--k-brand) !important;
	letter-spacing: .3px !important;
	text-transform: uppercase !important;
	margin-bottom: 3px !important;
	line-height: 1 !important;
}

.kedu-nudge__text {
	font-size: 13.5px !important;
	line-height: 1.45 !important;
	color: var(--k-text) !important;
	margin: 0 !important;
	word-wrap: break-word !important;
}

.kedu-nudge__dismiss {
	position: absolute !important;
	top: 8px !important;
	right: 8px !important;
	background: rgba(0,0,0,.04) !important;
	width: 22px !important;
	height: 22px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	transition: background .15s, transform .15s !important;
	padding: 0 !important;
	border: none !important;
	cursor: pointer !important;
}

.kedu-nudge__dismiss:hover {
	background: rgba(0,0,0,.1) !important;
	transform: scale(1.1) !important;
}

.kedu-nudge__dismiss svg {
	width: 11px !important;
	height: 11px !important;
	stroke: var(--k-text-soft) !important;
}

@keyframes k-nudge {
	from { opacity: 0; transform: translateY(12px) scale(.9); }
	to   { opacity: 1; transform: translateY(0) scale(1); }
}

#kedu-nudge.kedu-nudge--animate {
	animation: k-nudge .5s cubic-bezier(.34,1.56,.64,1), k-nudge-glow 2.5s ease-in-out 1s infinite !important;
}

@keyframes k-nudge-glow {
	0%, 100% { box-shadow: 0 8px 32px rgba(124,0,254,.18), 0 2px 8px rgba(0,0,0,.06); }
	50%      { box-shadow: 0 8px 36px rgba(124,0,254,.32), 0 2px 12px rgba(0,0,0,.08), 0 0 0 3px rgba(124,0,254,.08); }
}

/* ============================================================
   Chat Window — LEFT BOTTOM
   ============================================================ */
#kedu-window {
	position: fixed !important;
	bottom: 100px !important;
	left: 20px !important;
	z-index: var(--k-z) !important;
	width: 380px !important;
	height: 560px !important;
	max-height: calc(100vh - 130px) !important;
	background: var(--k-bg-chat) !important;
	border-radius: 20px !important;
	box-shadow: var(--k-shadow-lg) !important;
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
	animation: k-window .4s cubic-bezier(.34,1.56,.64,1) !important;
	border: 1px solid rgba(124,0,254,.06) !important;
}

@keyframes k-window {
	from { opacity: 0; transform: translateY(16px) scale(.94); }
	to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* ---------- Header ---------- */
.kedu-window__header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 12px 14px !important;
	background: var(--k-grad) !important;
	color: #fff !important;
	flex-shrink: 0 !important;
	position: relative !important;
	overflow: hidden !important;
	border-radius: 20px 20px 0 0 !important;
}

.kedu-window__header::after {
	content: "" !important;
	position: absolute !important;
	top: -50% !important;
	right: -30% !important;
	width: 140px !important;
	height: 200% !important;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.07), transparent) !important;
	transform: rotate(25deg) !important;
	animation: k-shimmer 6s ease-in-out infinite !important;
	pointer-events: none !important;
}

@keyframes k-shimmer {
	0%, 100% { transform: rotate(25deg) translateX(-250%); }
	50%      { transform: rotate(25deg) translateX(400%); }
}

.kedu-window__header-left {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	position: relative !important;
	z-index: 1 !important;
}

.kedu-window__avatar-ring {
	position: relative !important;
	width: 38px !important;
	height: 38px !important;
	border-radius: 50% !important;
	background: rgba(255,255,255,.18) !important;
	padding: 2px !important;
	flex-shrink: 0 !important;
}

.kedu-window__avatar {
	width: 34px !important;
	height: 34px !important;
	border-radius: 50% !important;
	object-fit: contain !important;
	background: rgba(255,255,255,.12) !important;
	display: block !important;
}

.kedu-window__online-dot {
	position: absolute !important;
	bottom: 0 !important;
	right: 0 !important;
	width: 11px !important;
	height: 11px !important;
	border-radius: 50% !important;
	background: #34D399 !important;
	border: 2px solid rgba(0,27,195,.9) !important;
}

.kedu-window__title {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #fff !important;
	display: block !important;
}

.kedu-window__subtitle {
	font-size: 11px !important;
	color: rgba(255,255,255,.8) !important;
	display: block !important;
	font-weight: 400 !important;
}

.kedu-window__header-right {
	display: flex !important;
	gap: 4px !important;
	position: relative !important;
	z-index: 1 !important;
}

.kedu-window__btn {
	background: rgba(255,255,255,.12) !important;
	width: 30px !important;
	height: 30px !important;
	border-radius: 8px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #fff !important;
	transition: background .2s, transform .15s !important;
	padding: 0 !important;
}

.kedu-window__btn:hover {
	background: rgba(255,255,255,.25) !important;
	transform: scale(1.06) !important;
}

.kedu-window__btn svg {
	width: 15px !important;
	height: 15px !important;
	stroke: #fff !important;
	color: #fff !important;
}

/* ---------- Welcome Screen ---------- */
#kedu-welcome {
	padding: 24px 20px 16px !important;
	text-align: center !important;
	flex-shrink: 0 !important;
	background: var(--k-bg) !important;
	border-bottom: 1px solid var(--k-border) !important;
}

#kedu-welcome.is-hidden { display: none !important; }

.kedu-welcome__mascot {
	width: 88px !important;
	height: 88px !important;
	object-fit: contain !important;
	margin: 0 auto 10px !important;
	display: block !important;
	filter: drop-shadow(0 4px 12px rgba(124,0,254,.15)) !important;
	animation: k-wave 2s ease-in-out 1 !important;
	border-radius: 0 !important;
}

@keyframes k-wave {
	0%, 100% { transform: rotate(0); }
	15%      { transform: rotate(12deg); }
	30%      { transform: rotate(-6deg); }
	45%      { transform: rotate(8deg); }
	60%      { transform: rotate(-3deg); }
	75%      { transform: rotate(0); }
}

.kedu-welcome__title {
	font-size: 17px !important;
	font-weight: 700 !important;
	color: var(--k-text) !important;
	margin: 0 0 4px !important;
	text-align: center !important;
}

.kedu-welcome__desc {
	font-size: 12.5px !important;
	color: var(--k-text-soft) !important;
	margin: 0 0 14px !important;
	line-height: 1.5 !important;
	text-align: center !important;
}

.kedu-welcome__chips {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 7px !important;
	justify-content: center !important;
}

.kedu-chip {
	display: inline-flex !important;
	align-items: center !important;
	gap: 5px !important;
	padding: 7px 13px !important;
	border-radius: 100px !important;
	border: 1.5px solid var(--k-border) !important;
	background: var(--k-bg) !important;
	color: var(--k-text) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	transition: all .2s !important;
	white-space: nowrap !important;
	cursor: pointer !important;
}

.kedu-chip svg {
	width: 13px !important;
	height: 13px !important;
	stroke: var(--k-brand) !important;
	flex-shrink: 0 !important;
	color: var(--k-brand) !important;
}

.kedu-chip:hover {
	border-color: var(--k-brand) !important;
	background: var(--k-bg-alt) !important;
	color: var(--k-brand) !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 3px 10px rgba(124,0,254,.1) !important;
}

.kedu-chip--tour {
	border-color: rgba(6, 182, 212, 0.45) !important;
	background: linear-gradient(135deg, rgba(6, 182, 212, 0.08) 0%, rgba(124, 0, 254, 0.06) 100%) !important;
}

.kedu-chip--tour svg {
	stroke: var(--k-cyan) !important;
	color: var(--k-cyan) !important;
}

.kedu-chip--tour:hover {
	border-color: var(--k-cyan) !important;
	color: #0891b2 !important;
	box-shadow: 0 4px 14px rgba(6, 182, 212, 0.2) !important;
}

/* ---------- Virtual tour modal ---------- */
body.kedu-tour-open {
	overflow: hidden !important;
}

.kedu-tour-modal {
	position: fixed !important;
	inset: 0 !important;
	z-index: calc(var(--k-z) + 50) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 16px !important;
}

.kedu-tour-modal__backdrop {
	position: absolute !important;
	inset: 0 !important;
	background: rgba(15, 23, 42, 0.55) !important;
	backdrop-filter: blur(6px) !important;
	-webkit-backdrop-filter: blur(6px) !important;
}

.kedu-tour-modal__panel {
	position: relative !important;
	z-index: 1 !important;
	width: min(960px, 100%) !important;
	max-height: min(88vh, 720px) !important;
	display: flex !important;
	flex-direction: column !important;
	border-radius: 20px !important;
	overflow: hidden !important;
	background: var(--k-bg) !important;
	box-shadow: var(--k-shadow-lg), 0 0 0 1px rgba(124, 0, 254, 0.12) !important;
	animation: k-tour-in 0.35s cubic-bezier(0.22, 1, 0.36, 1) both !important;
}

@keyframes k-tour-in {
	from {
		opacity: 0;
		transform: translateY(16px) scale(0.98);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.kedu-tour-modal__header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	padding: 14px 16px !important;
	background: var(--k-grad) !important;
	color: #fff !important;
}

.kedu-tour-modal__title-wrap {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	min-width: 0 !important;
}

.kedu-tour-modal__badge {
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em !important;
	padding: 4px 8px !important;
	border-radius: 8px !important;
	background: rgba(255, 255, 255, 0.2) !important;
	border: 1px solid rgba(255, 255, 255, 0.35) !important;
	flex-shrink: 0 !important;
}

.kedu-tour-modal__title {
	font-size: 16px !important;
	font-weight: 700 !important;
	margin: 0 !important;
	color: #fff !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

.kedu-tour-modal__close {
	flex-shrink: 0 !important;
	width: 40px !important;
	height: 40px !important;
	border-radius: 12px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: rgba(255, 255, 255, 0.15) !important;
	color: #fff !important;
	border: 1px solid rgba(255, 255, 255, 0.25) !important;
	transition: background 0.2s !important;
}

.kedu-tour-modal__close:hover {
	background: rgba(255, 255, 255, 0.28) !important;
}

.kedu-tour-modal__frame-wrap {
	position: relative !important;
	flex: 1 !important;
	min-height: 0 !important;
	background: #0f172a !important;
}

.kedu-tour-modal__iframe {
	display: block !important;
	width: 100% !important;
	height: min(62vh, 520px) !important;
	min-height: 280px !important;
	border: none !important;
}

.kedu-tour-modal__hint {
	padding: 10px 16px 14px !important;
	font-size: 11.5px !important;
	color: var(--k-text-soft) !important;
	text-align: center !important;
	margin: 0 !important;
	background: var(--k-bg-chat) !important;
}

/* ---------- Messages ---------- */
#kedu-messages {
	flex: 1 !important;
	overflow-y: auto !important;
	padding: 14px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	scroll-behavior: smooth !important;
	background: var(--k-bg-chat) !important;
}

#kedu-messages::-webkit-scrollbar { width: 4px !important; }
#kedu-messages::-webkit-scrollbar-track { background: transparent !important; }
#kedu-messages::-webkit-scrollbar-thumb { background: rgba(124,0,254,.12) !important; border-radius: 10px !important; }

/* ---------- Message Bubbles ---------- */
.kedu-msg {
	max-width: 82% !important;
	padding: 10px 14px !important;
	font-size: 13.5px !important;
	word-wrap: break-word !important;
	position: relative !important;
	line-height: 1.5 !important;
}

.kedu-msg--bot {
	align-self: flex-start !important;
	background: var(--k-bg) !important;
	color: var(--k-text) !important;
	border-radius: 4px 14px 14px 14px !important;
	box-shadow: 0 1px 3px rgba(0,0,0,.04) !important;
	position: relative !important;
	animation: k-msg-bot .4s cubic-bezier(.22,1,.36,1) both !important;
}

@keyframes k-msg-bot {
	from { opacity: 0; transform: translateX(-18px) translateY(8px); }
	to   { opacity: 1; transform: translateX(0) translateY(0); }
}

/* ── Per-message TTS play button ── */
.kedu-tts-btn {
	position: absolute !important;
	bottom: 4px !important;
	right: 4px !important;
	width: 24px !important;
	height: 24px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: transparent !important;
	border: none !important;
	border-radius: 50% !important;
	color: var(--k-muted) !important;
	cursor: pointer !important;
	opacity: 0 !important;
	transition: opacity .2s, color .2s, background .2s !important;
	padding: 0 !important;
	outline: none !important;
}
.kedu-msg--bot:hover .kedu-tts-btn {
	opacity: .6 !important;
}
.kedu-tts-btn:hover {
	opacity: 1 !important;
	color: var(--k-brand) !important;
	background: rgba(124,0,254,.08) !important;
}
.kedu-tts-btn.is-playing {
	opacity: 1 !important;
	color: var(--k-brand) !important;
	animation: kedu-pulse-tts .8s ease-in-out infinite alternate !important;
}
@keyframes kedu-pulse-tts {
	from { transform: scale(1); }
	to   { transform: scale(1.15); }
}

.kedu-msg--user {
	align-self: flex-end !important;
	background: var(--k-grad-fab) !important;
	color: #fff !important;
	border-radius: 14px 14px 4px 14px !important;
	box-shadow: 0 2px 8px rgba(124,0,254,.18) !important;
	animation: k-msg-user .35s cubic-bezier(.22,1,.36,1) both !important;
}

@keyframes k-msg-user {
	from { opacity: 0; transform: translateX(18px) translateY(8px); }
	to   { opacity: 1; transform: translateX(0) translateY(0); }
}

.kedu-msg__source {
	display: block !important;
	margin-top: 6px !important;
	padding-top: 6px !important;
	border-top: 1px solid var(--k-border) !important;
	font-size: 11px !important;
	color: var(--k-brand) !important;
}

/* ---------- Rich Content inside bot messages ---------- */
.kedu-msg--bot strong {
	font-weight: 700 !important;
	color: var(--k-text) !important;
}

.kedu-msg--bot em {
	font-style: italic !important;
}

.kedu-msg--bot .kedu-md-code {
	display: inline !important;
	padding: 1px 5px !important;
	background: rgba(124,0,254,.07) !important;
	border-radius: 4px !important;
	font-family: "SF Mono", "Fira Code", monospace !important;
	font-size: 12px !important;
	color: var(--k-brand) !important;
}

.kedu-msg--bot .kedu-md-p {
	display: block !important;
	margin-bottom: 1px !important;
	line-height: 1.45 !important;
}

.kedu-msg--bot .kedu-md-gap {
	height: 6px !important;
	display: block !important;
}
.kedu-msg--bot .kedu-md-num {
	display: block !important;
	margin: 4px 0 2px 0 !important;
	line-height: 1.45 !important;
}
.kedu-msg--bot .kedu-md-num__n {
	font-weight: 700 !important;
	color: var(--k-brand) !important;
	margin-right: 2px !important;
}

.kedu-msg--bot .kedu-md-list {
	display: block !important;
	margin: 4px 0 4px 4px !important;
	padding-left: 18px !important;
	list-style: none !important;
}

.kedu-msg--bot ol.kedu-md-list {
	counter-reset: kedu-li !important;
}

.kedu-msg--bot ol.kedu-md-list li {
	counter-increment: kedu-li !important;
}

.kedu-msg--bot ol.kedu-md-list li::before {
	content: counter(kedu-li) "." !important;
	display: inline-block !important;
	width: 20px !important;
	margin-left: -20px !important;
	color: var(--k-brand) !important;
	font-weight: 700 !important;
	font-size: 12px !important;
}

.kedu-msg--bot ul.kedu-md-list li::before {
	content: "●" !important;
	display: inline-block !important;
	width: 16px !important;
	margin-left: -16px !important;
	color: var(--k-brand) !important;
	font-size: 8px !important;
	vertical-align: middle !important;
}

.kedu-msg--bot .kedu-md-list li {
	display: block !important;
	margin-bottom: 4px !important;
	padding-left: 2px !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	color: var(--k-text) !important;
}

/* ---------- Link-card CTA buttons — shimmer animated ---------- */
#kedu-chat-app button.kedu-link-card {
	border: none !important;
	font: inherit !important;
	width: auto !important;
}

.kedu-link-card {
	display: inline-flex !important;
	align-items: center !important;
	gap: 7px !important;
	padding: 9px 16px !important;
	margin-top: 4px !important;
	background: linear-gradient(135deg, #7C00FE 0%, #FF2DF1 50%, #001BC3 100%) !important;
	background-size: 200% 200% !important;
	animation: k-link-shimmer 3s ease-in-out infinite !important;
	color: #fff !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	letter-spacing: .02em !important;
	border-radius: 12px !important;
	text-decoration: none !important;
	transition: transform .2s cubic-bezier(.34,1.56,.64,1), box-shadow .2s !important;
	box-shadow: 0 3px 12px rgba(124,0,254,.25), 0 0 0 0 rgba(255,45,241,.3) !important;
	cursor: pointer !important;
	position: relative !important;
	overflow: hidden !important;
}

.kedu-link-card::before {
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	left: -100% !important;
	width: 100% !important;
	height: 100% !important;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.25), transparent) !important;
	animation: k-link-shine 2.5s ease-in-out infinite !important;
	border-radius: inherit !important;
}

@keyframes k-link-shimmer {
	0%, 100% { background-position: 0% 50%; }
	50%      { background-position: 100% 50%; }
}

@keyframes k-link-shine {
	0%   { left: -100%; }
	60%  { left: 100%; }
	100% { left: 100%; }
}

.kedu-link-card:hover {
	transform: translateY(-2px) scale(1.03) !important;
	box-shadow: 0 6px 20px rgba(124,0,254,.35), 0 0 20px rgba(255,45,241,.2) !important;
	color: #fff !important;
}

.kedu-link-card:active {
	transform: translateY(0) scale(.98) !important;
}

.kedu-link-card svg {
	width: 14px !important;
	height: 14px !important;
	stroke: #fff !important;
	flex-shrink: 0 !important;
	filter: drop-shadow(0 1px 2px rgba(0,0,0,.15)) !important;
}

.kedu-link-buttons {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin-top: 10px !important;
	padding-top: 10px !important;
	border-top: 1px solid var(--k-border) !important;
}

.kedu-quick-replies {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
	margin-top: 8px !important;
}

.kedu-quick-reply {
	background: var(--k-bg) !important;
	border: 1.5px solid var(--k-brand) !important;
	color: var(--k-brand) !important;
	padding: 5px 14px !important;
	border-radius: 100px !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	transition: all .2s !important;
	cursor: pointer !important;
}

.kedu-quick-reply:hover {
	background: var(--k-brand) !important;
	color: #fff !important;
}

/* ---------- Typing ---------- */
#kedu-typing {
	padding: 4px 14px 6px !important;
	background: var(--k-bg-chat) !important;
}

.kedu-typing__bubble {
	display: inline-flex !important;
	gap: 4px !important;
	padding: 10px 16px !important;
	background: var(--k-bg) !important;
	border-radius: 4px 14px 14px 14px !important;
	box-shadow: 0 1px 3px rgba(0,0,0,.04) !important;
}

.kedu-typing__bubble span {
	width: 7px !important;
	height: 7px !important;
	border-radius: 50% !important;
	background: var(--k-brand) !important;
	opacity: .35 !important;
	animation: k-dot .8s ease-in-out infinite !important;
	display: block !important;
}

.kedu-typing__bubble span:nth-child(2) { animation-delay: .15s !important; }
.kedu-typing__bubble span:nth-child(3) { animation-delay: .3s !important; }

@keyframes k-dot {
	0%, 100% { opacity: .25; transform: translateY(0); }
	50%      { opacity: 1; transform: translateY(-4px); }
}

/* ---------- Footer / Input ---------- */
.kedu-window__footer {
	padding: 10px 12px 8px !important;
	background: var(--k-bg) !important;
	flex-shrink: 0 !important;
	border-top: 1px solid var(--k-border) !important;
}

.kedu-window__input-wrap {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	background: var(--k-bg-alt) !important;
	border: 1.5px solid var(--k-border) !important;
	border-radius: 12px !important;
	padding: 4px 4px 4px 12px !important;
	transition: border-color .2s, box-shadow .2s !important;
}

.kedu-window__input-wrap:focus-within {
	border-color: var(--k-brand) !important;
	box-shadow: 0 0 0 3px rgba(124,0,254,.08) !important;
}

#kedu-input {
	flex: 1 !important;
	resize: none !important;
	border: none !important;
	background: transparent !important;
	padding: 7px 0 !important;
	font-size: 13.5px !important;
	max-height: 80px !important;
	outline: none !important;
	color: var(--k-text) !important;
	line-height: 1.4 !important;
	min-height: 0 !important;
	width: auto !important;
	height: auto !important;
	overflow-y: auto !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}

#kedu-input::placeholder {
	color: var(--k-text-soft) !important;
	opacity: 1 !important;
}

#kedu-btn-send {
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	min-height: 34px !important;
	border-radius: 10px !important;
	background: var(--k-grad-fab) !important;
	color: #fff !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	transition: transform .15s, box-shadow .15s !important;
	padding: 0 !important;
}

#kedu-btn-send:hover {
	transform: scale(1.06) !important;
	box-shadow: 0 3px 10px rgba(124,0,254,.22) !important;
}

/* ---------- Composer locked while Kedu is replying ---------- */
#kedu-chat-app.is-sending .kedu-window__input-wrap {
	opacity: .6 !important;
	cursor: not-allowed !important;
}

#kedu-chat-app.is-sending #kedu-input {
	cursor: not-allowed !important;
	background: transparent !important;
}

#kedu-chat-app #kedu-input:disabled {
	background: transparent !important;
	color: var(--k-text-soft) !important;
	cursor: not-allowed !important;
}

#kedu-chat-app #kedu-btn-send:disabled,
#kedu-chat-app.is-sending #kedu-btn-send {
	opacity: .55 !important;
	cursor: not-allowed !important;
	pointer-events: none !important;
	transform: none !important;
	box-shadow: none !important;
	filter: grayscale(.3) !important;
}

/* Block clicks on suggested-question chips while sending */
#kedu-chat-app.is-sending .kedu-fs-chip,
#kedu-chat-app.is-sending .kedu-fs-history__item {
	pointer-events: none !important;
	opacity: .65 !important;
}

/* ---------- Typewriter word reveal ----------
   NOTE: individual animation-* props are used (instead of the shorthand)
   so the inline `animation-delay` set in JS is NOT overridden, and no
   static `opacity` is declared so the cascade cannot defeat the animated
   value ( `!important` author rules beat animations in the cascade ). */
.kedu-tw-word {
	display: inline-block !important;
	animation-name: k-tw-word-in !important;
	animation-duration: .28s !important;
	animation-timing-function: cubic-bezier(.22,1,.36,1) !important;
	animation-fill-mode: both !important;
}

@keyframes k-tw-word-in {
	from { opacity: 0; transform: translateY(2px); filter: blur(3px); }
	to   { opacity: 1; transform: translateY(0); filter: blur(0); }
}

#kedu-btn-send svg {
	width: 16px !important;
	height: 16px !important;
	fill: #fff !important;
	stroke: none !important;
}

/* ---------- Sound toggle icons ---------- */
#kedu-btn-sound .kedu-icon-sound-off { display: none !important; }
#kedu-btn-sound.is-muted .kedu-icon-sound-on { display: none !important; }
#kedu-btn-sound.is-muted .kedu-icon-sound-off { display: inline-block !important; }

/* ---------- Powered badge — below the chat window ---------- */
#kedu-powered {
	position: fixed !important;
	bottom: calc(100px - 18px) !important;
	left: 20px !important;
	width: 380px !important;
	text-align: center !important;
	font-size: 10px !important;
	color: var(--k-text-soft) !important;
	opacity: .3 !important;
	pointer-events: none !important;
	letter-spacing: .02em !important;
	font-weight: 400 !important;
	z-index: var(--k-z) !important;
}

.kedu-powered__beta {
	display: inline-block !important;
	padding: 1px 5px !important;
	margin-left: 3px !important;
	font-size: 8px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: .06em !important;
	color: var(--k-brand) !important;
	background: rgba(124,0,254,.08) !important;
	border-radius: 4px !important;
	vertical-align: middle !important;
	opacity: .6 !important;
}

/* ============================================================
   Fullscreen — blur overlay + splash + 70% window
   ============================================================ */
#kedu-fullscreen {
	position: fixed !important;
	inset: 0 !important;
	z-index: calc(var(--k-z) + 2) !important;
	background: rgba(15, 10, 40, .55) !important;
	-webkit-backdrop-filter: blur(12px) !important;
	backdrop-filter: blur(12px) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	animation: k-fs-overlay .3s ease !important;
}

@keyframes k-fs-overlay {
	from { opacity: 0; }
	to   { opacity: 1; }
}

/* Splash — shows Kedu gif before chat appears */
.kedu-fullscreen__splash {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 2 !important;
	pointer-events: none !important;
}

.kedu-fullscreen__splash-img {
	width: 180px !important;
	height: 180px !important;
	object-fit: contain !important;
	filter: drop-shadow(0 8px 32px rgba(124,0,254,.35)) !important;
	animation: k-fs-splash 1s cubic-bezier(.34,1.56,.64,1) !important;
	border-radius: 0 !important;
}

@keyframes k-fs-splash {
	0%   { opacity: 0; transform: scale(.3) rotate(-10deg); }
	50%  { opacity: 1; transform: scale(1.1) rotate(3deg); }
	100% { opacity: 1; transform: scale(1) rotate(0); }
}

.kedu-fullscreen__splash.is-hidden {
	display: none !important;
}

/* Chat window inside fullscreen — wide layout with sidebar */
#kedu-fullscreen #kedu-window {
	position: relative !important;
	width: 80vw !important;
	height: 80vh !important;
	max-width: 960px !important;
	max-height: 90vh !important;
	border-radius: 20px !important;
	box-shadow: 0 24px 80px rgba(124,0,254,.3), 0 8px 24px rgba(0,0,0,.15) !important;
	animation: k-fs-window .5s cubic-bezier(.34,1.56,.64,1) !important;
	z-index: 1 !important;
	bottom: auto !important;
	left: auto !important;
	flex-direction: row !important;
	overflow: visible !important;
}

/* Sidebar — visible only in fullscreen wide screens */
#kedu-fullscreen .kedu-fs-sidebar {
	display: flex !important;
	flex-direction: column !important;
	width: 240px !important;
	min-width: 240px !important;
	background: var(--k-bg) !important;
	border-right: 1px solid var(--k-border) !important;
	border-radius: 20px 0 0 20px !important;
	overflow: visible !important;
	position: relative !important;
}

#kedu-fullscreen .kedu-fs-sidebar__header {
	padding: 16px 16px 12px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: var(--k-text) !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
}

#kedu-fullscreen .kedu-fs-sidebar__badge {
	width: 28px !important;
	height: 28px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 8px !important;
	background: linear-gradient(135deg, rgba(124,0,254,.14) 0%, rgba(124,0,254,.05) 100%) !important;
	color: var(--k-brand) !important;
	flex-shrink: 0 !important;
}

#kedu-fullscreen .kedu-fs-sidebar__badge svg {
	width: 15px !important;
	height: 15px !important;
}

#kedu-fullscreen .kedu-fs-sidebar__title {
	letter-spacing: -.01em !important;
}

/* ---------- Tabs (Öneriler / Geçmiş) ---------- */
#kedu-fullscreen .kedu-fs-tabs {
	display: flex !important;
	gap: 4px !important;
	margin: 0 12px 8px !important;
	padding: 4px !important;
	background: var(--k-bg-alt) !important;
	border-radius: 12px !important;
	border: 1px solid var(--k-border) !important;
}

#kedu-fullscreen .kedu-fs-tab {
	flex: 1 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	padding: 7px 8px !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--k-text-soft) !important;
	font-family: inherit !important;
	font-size: 11.5px !important;
	font-weight: 600 !important;
	border-radius: 8px !important;
	cursor: pointer !important;
	transition: background .18s, color .18s, box-shadow .18s !important;
}

#kedu-fullscreen .kedu-fs-tab svg {
	width: 14px !important;
	height: 14px !important;
	stroke: currentColor !important;
}

#kedu-fullscreen .kedu-fs-tab:hover { color: var(--k-text) !important; }

#kedu-fullscreen .kedu-fs-tab--active {
	background: var(--k-bg) !important;
	color: var(--k-brand) !important;
	box-shadow: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(124,0,254,.08) !important;
}

/* ---------- Pane ---------- */
#kedu-fullscreen .kedu-fs-pane {
	flex: 1 !important;
	min-height: 0 !important;
	display: flex !important;
	flex-direction: column !important;
}

#kedu-fullscreen .kedu-fs-pane[hidden] { display: none !important; }

#kedu-fullscreen .kedu-fs-sidebar__hint {
	padding: 6px 16px 8px !important;
	font-size: 11.5px !important;
	color: var(--k-text-soft) !important;
	line-height: 1.45 !important;
}

/* ---------- Suggestion list (vertical, ChatGPT-style rows) ---------- */
#kedu-fullscreen .kedu-fs-cloud {
	flex: 1 !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	padding: 4px 12px 20px !important;
	min-height: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
	scrollbar-width: thin !important;
}

#kedu-fullscreen .kedu-fs-cloud::-webkit-scrollbar { width: 6px !important; }
#kedu-fullscreen .kedu-fs-cloud::-webkit-scrollbar-thumb {
	background: rgba(124,0,254,.18) !important;
	border-radius: 3px !important;
}

#kedu-fullscreen .kedu-fs-chip {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	width: 100% !important;
	padding: 10px 30px 10px 12px !important;
	border: 1px solid transparent !important;
	border-radius: 12px !important;
	background: transparent !important;
	color: var(--k-text) !important;
	font-family: inherit !important;
	font-size: 12.5px !important;
	line-height: 1.4 !important;
	font-weight: 500 !important;
	text-align: left !important;
	cursor: pointer !important;
	transition: background .18s, border-color .18s, color .18s, transform .18s !important;
	white-space: normal !important;
	word-break: break-word !important;
	animation: k-chip-in .3s cubic-bezier(.22,1,.36,1) both !important;
}

#kedu-fullscreen .kedu-fs-chip__dot {
	width: 5px !important;
	height: 5px !important;
	border-radius: 50% !important;
	background: var(--k-brand) !important;
	opacity: .45 !important;
	flex-shrink: 0 !important;
	transition: opacity .18s, transform .18s, box-shadow .18s !important;
}

#kedu-fullscreen .kedu-fs-chip { 
    padding: 7px 30px 7px 12px !important;
}

#kedu-fullscreen .kedu-fs-chip__text {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	font-size: 12px;
	
}

#kedu-fullscreen .kedu-fs-cloud {
	gap: 0px !important;
}

#kedu-fullscreen .kedu-fs-chip::after {
	content: "→" !important;
	position: absolute !important;
	right: 12px !important;
	top: 50% !important;
	transform: translate(6px, -50%) !important;
	font-size: 14px !important;
	color: var(--k-brand) !important;
	opacity: 0 !important;
	transition: opacity .18s, transform .18s !important;
	pointer-events: none !important;
}

@keyframes k-chip-in {
	from { opacity: 0; transform: translateY(4px); }
	to   { opacity: 1; transform: translateY(0); }
}

#kedu-fullscreen .kedu-fs-chip:hover {
	background: var(--k-bg-alt) !important;
	border-color: rgba(124,0,254,.12) !important;
	color: var(--k-brand) !important;
}

#kedu-fullscreen .kedu-fs-chip:hover .kedu-fs-chip__dot {
	opacity: 1 !important;
	transform: scale(1.25) !important;
	box-shadow: 0 0 0 3px rgba(124,0,254,.14) !important;
}

#kedu-fullscreen .kedu-fs-chip:hover::after {
	opacity: 1 !important;
	transform: translate(0, -50%) !important;
}

#kedu-fullscreen .kedu-fs-chip:active { transform: translateY(0) !important; }

/* Subtle size variants — all same footprint, only weight/opacity changes */
#kedu-fullscreen .kedu-fs-chip--sm { opacity: .85 !important; font-weight: 400 !important; }
#kedu-fullscreen .kedu-fs-chip--md { opacity: .95 !important; }
#kedu-fullscreen .kedu-fs-chip--lg { font-weight: 600 !important; }
#kedu-fullscreen .kedu-fs-chip--lg .kedu-fs-chip__dot {
	opacity: .85 !important;
	box-shadow: 0 0 0 3px rgba(124,0,254,.1) !important;
}

#kedu-fullscreen .kedu-fs-cloud__empty {
	width: 100% !important;
	padding: 24px 8px !important;
	text-align: center !important;
	font-size: 12px !important;
	color: var(--k-text-soft) !important;
}

/* Skeleton shimmer while loading — matches new row height */
#kedu-fullscreen .kedu-fs-cloud__skel {
	display: block !important;
	width: 100% !important;
	height: 36px !important;
	border-radius: 12px !important;
	background: linear-gradient(90deg, rgba(0,0,0,.04) 0%, rgba(0,0,0,.08) 50%, rgba(0,0,0,.04) 100%) !important;
	background-size: 200% 100% !important;
	animation: k-chip-shimmer 1.4s ease-in-out infinite !important;
}
#kedu-fullscreen .kedu-fs-cloud__skel:nth-child(2) { width: 88% !important; }
#kedu-fullscreen .kedu-fs-cloud__skel:nth-child(3) { width: 94% !important; }
#kedu-fullscreen .kedu-fs-cloud__skel:nth-child(4) { width: 80% !important; }
#kedu-fullscreen .kedu-fs-cloud__skel:nth-child(5) { width: 90% !important; }

@keyframes k-chip-shimmer {
	0%   { background-position: 200% 0; }
	100% { background-position: -200% 0; }
}

/* ---------- History list ---------- */
#kedu-fullscreen .kedu-fs-history {
	flex: 1 !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	padding: 4px 12px 20px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	scrollbar-width: thin !important;
	min-height: 0 !important;
}

#kedu-fullscreen .kedu-fs-history::-webkit-scrollbar { width: 6px !important; }
#kedu-fullscreen .kedu-fs-history::-webkit-scrollbar-thumb {
	background: rgba(124,0,254,.18) !important;
	border-radius: 3px !important;
}

#kedu-fullscreen .kedu-fs-history__item {
	display: block !important;
	width: 100% !important;
	text-align: left !important;
	padding: 10px 12px !important;
	border: 1px solid var(--k-border) !important;
	border-radius: 12px !important;
	background: var(--k-bg) !important;
	color: var(--k-text) !important;
	font-family: inherit !important;
	cursor: pointer !important;
	transition: transform .18s cubic-bezier(.22,1,.36,1), box-shadow .18s, border-color .18s !important;
	box-shadow: 0 1px 2px rgba(0,0,0,.03) !important;
	animation: k-chip-in .35s cubic-bezier(.22,1,.36,1) both !important;
}

#kedu-fullscreen .kedu-fs-history__item:hover {
	transform: translateY(-1px) !important;
	border-color: rgba(124,0,254,.35) !important;
	box-shadow: 0 6px 14px rgba(124,0,254,.10) !important;
}

#kedu-fullscreen .kedu-fs-history__item.is-loading {
	opacity: .6 !important;
	pointer-events: none !important;
}

#kedu-fullscreen .kedu-fs-history__row {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 8px !important;
	margin-bottom: 4px !important;
}

#kedu-fullscreen .kedu-fs-history__time {
	font-size: 10.5px !important;
	font-weight: 700 !important;
	color: var(--k-brand) !important;
	letter-spacing: .03em !important;
}

#kedu-fullscreen .kedu-fs-history__count {
	font-size: 10px !important;
	color: var(--k-text-soft) !important;
	background: var(--k-bg-alt) !important;
	padding: 2px 6px !important;
	border-radius: 6px !important;
}

#kedu-fullscreen .kedu-fs-history__preview {
	font-size: 12px !important;
	line-height: 1.4 !important;
	color: var(--k-text) !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
}

#kedu-fullscreen .kedu-fs-history__empty {
	padding: 28px 18px !important;
	text-align: center !important;
	color: var(--k-text-soft) !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 6px !important;
}
#kedu-fullscreen .kedu-fs-history__empty svg {
	width: 34px !important;
	height: 34px !important;
	stroke: var(--k-brand) !important;
	opacity: .5 !important;
	margin-bottom: 4px !important;
}
#kedu-fullscreen .kedu-fs-history__empty p {
	margin: 0 !important;
	font-size: 12.5px !important;
	color: var(--k-text) !important;
	font-weight: 600 !important;
}
#kedu-fullscreen .kedu-fs-history__empty span {
	font-size: 11px !important;
	line-height: 1.45 !important;
}

#kedu-fullscreen .kedu-fs-history__skel {
	height: 52px !important;
	border-radius: 12px !important;
	background: linear-gradient(90deg, rgba(0,0,0,.04) 0%, rgba(0,0,0,.08) 50%, rgba(0,0,0,.04) 100%) !important;
	background-size: 200% 100% !important;
	animation: k-chip-shimmer 1.4s ease-in-out infinite !important;
}

/* Kedu mascot — big, sitting at sidebar bottom, overflowing down */
#kedu-fullscreen .kedu-fs-sidebar__mascot {
	position: absolute !important;
	bottom: -20px !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	display: flex !important;
	justify-content: center !important;
	pointer-events: none !important;
	z-index: 5 !important;
}

#kedu-fullscreen .kedu-fs-sidebar__mascot-img {
	width: 380px !important;
	height: 220px !important;
	object-fit: contain !important;
	filter: drop-shadow(0 12px 32px rgba(124,0,254,.35)) !important;
	animation: k-fs-mascot-idle 3.5s ease-in-out infinite !important;
	border-radius: 0 !important;
}

@keyframes k-fs-mascot-idle {
	0%, 100% { transform: translateY(0) rotate(0deg); }
	20%      { transform: translateY(-10px) rotate(3deg); }
	50%      { transform: translateY(3px) rotate(-1.5deg); }
	80%      { transform: translateY(-5px) rotate(2deg); }
}

/* Hide welcome mascot image in fullscreen — sidebar already has Kedu */
#kedu-fullscreen .kedu-welcome__mascot {
	display: none !important;
}

/* Powered-by inside fullscreen — centered below the chat window, white text */
#kedu-powered.kedu-powered--fs {
	position: fixed !important;
	bottom: calc(10vh - 30px) !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	width: auto !important;
	opacity: .5 !important;
	z-index: 3 !important;
	pointer-events: none !important;
	color: rgba(255,255,255,.7) !important;
}

#kedu-powered.kedu-powered--fs .kedu-powered__beta {
	color: rgba(255,255,255,.85) !important;
	background: rgba(255,255,255,.15) !important;
}

/* Main area takes remaining space in fullscreen */
#kedu-fullscreen .kedu-fs-main {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	min-width: 0 !important;
	overflow: hidden !important;
	border-radius: 0 20px 20px 0 !important;
	background: var(--k-bg-chat) !important;
}

/* Kill the shimmer pseudo-element in fullscreen — gradient anim replaces it */
#kedu-fullscreen .kedu-fs-main .kedu-window__header::after {
	display: none !important;
}

/* In fullscreen: header gets narrower radius + animated gradient */
#kedu-fullscreen .kedu-fs-main .kedu-window__header {
	border-radius: 0 20px 0 0 !important;
	background: none !important;
	background-color: transparent !important;
	background-image: linear-gradient(
		90deg,
		#7C00FE 0%,
		#001BC3 20%,
		#FF2DF1 40%,
		#001BC3 60%,
		#7C00FE 80%,
		#FF2DF1 100%
	) !important;
	background-size: 300% 100% !important;
	-webkit-animation: k-fs-header-grad 3s linear infinite !important;
	animation: k-fs-header-grad 3s linear infinite !important;
}

@-webkit-keyframes k-fs-header-grad {
	0%   { background-position: 0% 0; }
	100% { background-position: 300% 0; }
}
@keyframes k-fs-header-grad {
	0%   { background-position: 0% 0; }
	100% { background-position: 300% 0; }
}

@keyframes k-fs-window {
	from { opacity: 0; transform: scale(.92) translateY(20px); }
	to   { opacity: 1; transform: scale(1) translateY(0); }
}

/* Hide sidebar on small fullscreen */
@media (max-width: 700px) {
	#kedu-fullscreen .kedu-fs-sidebar {
		display: none !important;
	}
	#kedu-fullscreen .kedu-fs-main .kedu-window__header {
		border-radius: 0 !important;
		background: none !important;
		background-color: transparent !important;
		background-image: linear-gradient(
			90deg,
			#7C00FE 0%,
			#001BC3 20%,
			#FF2DF1 40%,
			#001BC3 60%,
			#7C00FE 80%,
			#FF2DF1 100%
		) !important;
		background-size: 300% 100% !important;
		-webkit-animation: k-fs-header-grad 3s linear infinite !important;
		animation: k-fs-header-grad 3s linear infinite !important;
	}
}

/* iOS Safari, font-size < 16px olan bir input'a focus olununca sayfayı
   otomatik yakınlaştırır (zoom-in) ve bu kötü bir görüntü oluşturur.
   Mobilde Kedu içindeki tüm metin alanlarını 16px'e çekerek bu davranışı
   engelliyoruz. Masaüstü tasarımı (13.5px) etkilenmez. maximum-scale ile
   zoom'u tamamen kapatmak erişilebilirliği bozacağı için bu yol tercih
   edildi. */
@media (max-width: 700px) {
	#kedu-chat-app input,
	#kedu-chat-app textarea,
	#kedu-chat-app select,
	#kedu-fullscreen input,
	#kedu-fullscreen textarea,
	#kedu-fullscreen select {
		font-size: 16px !important;
	}
}

/* Lang picker inside fullscreen — centered above window */
#kedu-fullscreen #kedu-lang-picker {
	position: fixed !important;
	bottom: auto !important;
	left: 50% !important;
	top: 50% !important;
	transform: translate(-50%, -50%) !important;
	z-index: 10 !important;
}

/* ============================================================
   Language Picker — LEFT SIDE
   ============================================================ */
#kedu-lang-picker {
	position: fixed !important;
	bottom: 100px !important;
	left: 350px !important;
	z-index: calc(var(--k-z) + 5) !important;
	background: var(--k-bg) !important;
	border: 1px solid var(--k-border) !important;
	border-radius: 12px !important;
	box-shadow: var(--k-shadow-lg) !important;
	overflow: hidden !important;
	min-width: 155px !important;
	animation: k-msg .25s ease !important;
}

.kedu-lang-picker__title {
	padding: 10px 14px 4px !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	color: var(--k-text-soft) !important;
	text-transform: uppercase !important;
	letter-spacing: .06em !important;
}

.kedu-lang-picker__item {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	width: 100% !important;
	padding: 9px 14px !important;
	background: none !important;
	text-align: left !important;
	font-size: 13px !important;
	color: var(--k-text) !important;
	transition: background .15s !important;
	cursor: pointer !important;
}

.kedu-lang-picker__item:hover {
	background: var(--k-bg-alt) !important;
}

.kedu-lang-picker__item--active {
	color: var(--k-brand) !important;
	font-weight: 600 !important;
}

.kedu-lang-flag {
	width: 26px !important;
	height: 18px !important;
	border-radius: 3px !important;
	background: var(--k-grad) !important;
	color: #fff !important;
	font-size: 9px !important;
	font-weight: 700 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	letter-spacing: .04em !important;
}

/* ============================================================
   Print
   ============================================================ */
@media print {
	#kedu-chat-app { display: none !important; }
}

/* ============================================================
   Dark Mode — follows prefers-color-scheme OR site body class
   ============================================================ */
@media (prefers-color-scheme: dark) {
	#kedu-chat-app {
		--k-bg:        #1e1e2e;
		--k-bg-chat:   #181825;
		--k-bg-alt:    #252538;
		--k-text:      #e4e4ef;
		--k-text-soft: #9898b0;
		--k-border:    #33334a;
		--k-shadow:    0 8px 40px rgba(0,0,0,.35), 0 2px 8px rgba(0,0,0,.2);
		--k-shadow-lg: 0 16px 64px rgba(0,0,0,.45), 0 4px 16px rgba(0,0,0,.25);
	}

	#kedu-chat-app .kedu-lead-form {
		background: linear-gradient(135deg, #252538 0%, #1e2a1e 100%) !important;
		border-color: rgba(124,0,254,.15) !important;
	}

	#kedu-chat-app .kedu-lead-form__input {
		background: #1e1e2e !important;
		border-color: rgba(255,255,255,.1) !important;
		color: #e4e4ef !important;
	}

	#kedu-chat-app .kedu-card__badge--dept {
		background: linear-gradient(135deg, #1e0050 0%, #0a0840 100%) !important;
	}

	#kedu-chat-app .kedu-card__badge--scholarship {
		background: linear-gradient(135deg, #3d3520 0%, #3a3018 100%) !important;
	}

	#kedu-chat-app .kedu-card__badge--fee {
		background: linear-gradient(135deg, #1a3028 0%, #183020 100%) !important;
	}

	#kedu-chat-app .kedu-msg--bot {
		background: var(--k-bg-alt) !important;
	}

	#kedu-fullscreen .kedu-fs-cloud__skel,
	#kedu-fullscreen .kedu-fs-history__skel {
		background: linear-gradient(90deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.09) 50%, rgba(255,255,255,.04) 100%) !important;
		background-size: 200% 100% !important;
	}

	#kedu-fullscreen .kedu-fs-chip:hover {
		background: rgba(124,0,254,.09) !important;
		border-color: rgba(124,0,254,.18) !important;
	}

	#kedu-chat-app #kedu-nudge {
		background: linear-gradient(135deg, #252538 0%, #1e1e2e 100%) !important;
		border-color: rgba(124,0,254,.15) !important;
	}

	#kedu-chat-app #kedu-nudge::after {
		background: #1e1e2e !important;
		border-color: rgba(124,0,254,.15) !important;
	}
}

/* Also support explicit dark class on body for theme-controlled dark mode */
body.dark-mode #kedu-chat-app,
body.dark #kedu-chat-app,
html.dark #kedu-chat-app {
	--k-bg:        #1e1e2e;
	--k-bg-chat:   #181825;
	--k-bg-alt:    #252538;
	--k-text:      #e4e4ef;
	--k-text-soft: #9898b0;
	--k-border:    #33334a;
	--k-shadow:    0 8px 40px rgba(0,0,0,.35), 0 2px 8px rgba(0,0,0,.2);
	--k-shadow-lg: 0 16px 64px rgba(0,0,0,.45), 0 4px 16px rgba(0,0,0,.25);
}

/* ============================================================
   Mobile
   ============================================================ */
@media (max-width: 480px) {
	#kedu-window {
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		max-height: 100% !important;
		border-radius: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		animation: none !important;
	}

	.kedu-window__header {
		border-radius: 0 !important;
	}

	#kedu-fab-wrap {
		bottom: 14px !important;
		left: 14px !important;
	}

	#kedu-nudge {
		left: 14px !important;
		bottom: 98px !important;
		max-width: calc(100vw - 90px) !important;
		min-width: 0 !important;
		padding: 12px 14px !important;
	}

	.kedu-nudge__avatar {
		width: 36px !important;
		height: 36px !important;
	}

	#kedu-lang-picker {
		left: 14px !important;
		bottom: 94px !important;
	}

	#kedu-fullscreen #kedu-window {
		width: 100vw !important;
		height: 100vh !important;
		max-width: 100% !important;
		max-height: 100% !important;
		border-radius: 0 !important;
	}

	#kedu-powered {
		display: none !important;
	}
}

/* ============================================================
   Inline Lead Form (inside chat messages)
   ============================================================ */
/* ============================================================
   Rich Cards — department / scholarship / fee
   ============================================================ */
/* Minimal, compact horizontal card */
.kedu-card {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 10px 12px !important;
	border: 1px solid var(--k-border) !important;
	border-radius: 14px !important;
	background: var(--k-bg) !important;
	box-shadow: 0 1px 2px rgba(0,0,0,.03) !important;
	max-width: 340px !important;
	transition: transform .2s cubic-bezier(.22,1,.36,1), box-shadow .2s ease, border-color .2s ease !important;
	text-decoration: none !important;
	color: inherit !important;
}

.kedu-card:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 18px rgba(124,0,254,.10), 0 1px 3px rgba(0,0,0,.04) !important;
	border-color: rgba(124,0,254,.25) !important;
}

.kedu-card:active {
	transform: translateY(0) !important;
	box-shadow: 0 2px 8px rgba(124,0,254,.08) !important;
}

.kedu-card__badge {
	flex: 0 0 auto !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 40px !important;
	height: 40px !important;
	border-radius: 10px !important;
	font-size: 20px !important;
	line-height: 1 !important;
	border: 0 !important;
	padding: 0 !important;
}

.kedu-card__badge img.emoji,
.kedu-card__badge .emoji {
	width: 22px !important;
	height: 22px !important;
	margin: 0 !important;
	vertical-align: middle !important;
}

.kedu-card__badge--dept {
	background: linear-gradient(135deg, #ede9fe 0%, #e0e7ff 100%) !important;
}

.kedu-card__badge--scholarship {
	background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%) !important;
}

.kedu-card__badge--fee {
	background: linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%) !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	color: #059669 !important;
}

.kedu-card__rate {
	font-size: 15px !important;
	font-weight: 800 !important;
	color: var(--k-amber) !important;
	line-height: 1 !important;
}

.kedu-card__body {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 2px !important;
	padding: 0 !important;
}

.kedu-card__tag {
	display: block !important;
	font-size: 10px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: .05em !important;
	color: var(--k-brand) !important;
	opacity: .75 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

.kedu-card__title {
	display: block !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: var(--k-text) !important;
	line-height: 1.3 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

.kedu-card__desc {
	font-size: 11.5px !important;
	color: var(--k-text-soft) !important;
	line-height: 1.4 !important;
	margin: 1px 0 0 0 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

.kedu-card__condition {
	font-weight: 600 !important;
	color: var(--k-amber) !important;
}

.kedu-card__fee {
	display: inline-block !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	color: #059669 !important;
	margin: 1px 0 0 0 !important;
}

.kedu-card__scholarship-note {
	color: var(--k-green) !important;
	font-weight: 500 !important;
	font-size: 11px !important;
}

.kedu-card__action {
	flex: 0 0 auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 28px !important;
	height: 28px !important;
	padding: 0 !important;
	margin-left: 4px !important;
	font-size: 0 !important;
	font-weight: 600 !important;
	color: var(--k-brand) !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: transparent !important;
	transition: background .15s, color .15s, transform .15s !important;
	text-decoration: none !important;
}

.kedu-card__action::after {
	content: "→" !important;
	font-size: 15px !important;
	line-height: 1 !important;
}

.kedu-card:hover .kedu-card__action {
	background: rgba(124,0,254,.08) !important;
	transform: translateX(2px) !important;
}

.kedu-card__action:hover {
	background: rgba(124,0,254,.14) !important;
	color: var(--k-brand-2) !important;
}

/* ============================================================
   Carousel — horizontal scroll
   ============================================================ */
.kedu-carousel {
	position: relative !important;
	max-width: 100% !important;
	margin: 4px 0 !important;
}

.kedu-carousel__track {
	display: flex !important;
	gap: 10px !important;
	overflow-x: auto !important;
	scroll-snap-type: x mandatory !important;
	-webkit-overflow-scrolling: touch !important;
	padding: 4px 2px 8px !important;
	scrollbar-width: none !important;
}

.kedu-carousel__track::-webkit-scrollbar {
	display: none !important;
}

.kedu-carousel__slide {
	flex: 0 0 auto !important;
	scroll-snap-align: start !important;
	width: 240px !important;
}

.kedu-carousel__slide .kedu-card {
	max-width: 100% !important;
	width: 100% !important;
	height: 100% !important;
}

.kedu-carousel__btn {
	position: absolute !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 28px !important;
	height: 28px !important;
	border-radius: 50% !important;
	background: var(--k-bg) !important;
	border: 1px solid var(--k-border) !important;
	box-shadow: 0 2px 6px rgba(0,0,0,.1) !important;
	font-size: 18px !important;
	line-height: 1 !important;
	color: var(--k-text) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	z-index: 2 !important;
	transition: background .15s, transform .15s !important;
	padding: 0 !important;
}

.kedu-carousel__btn:hover {
	background: var(--k-bg-alt) !important;
	transform: translateY(-50%) scale(1.1) !important;
}

.kedu-carousel__btn--left  { left: -8px !important; }
.kedu-carousel__btn--right { right: -8px !important; }

/* ============================================================
   Image message
   ============================================================ */
.kedu-msg-image {
	padding: 0 !important;
	overflow: hidden !important;
	border-radius: 4px 14px 14px 14px !important;
	background: var(--k-bg) !important;
}

.kedu-msg-image__caption {
	padding: 10px 14px 8px !important;
	font-size: 13px !important;
	color: var(--k-text) !important;
	margin: 0 !important;
	line-height: 1.45 !important;
}

.kedu-msg-image__img {
	display: block !important;
	width: 100% !important;
	max-height: 220px !important;
	object-fit: cover !important;
	border-radius: 0 !important;
}

/* ============================================================
   Inline Lead Form (inside chat messages)
   ============================================================ */
.kedu-lead-form {
	background: linear-gradient(135deg, #f0f4ff 0%, #e8f5e9 100%) !important;
	border: 1px solid rgba(124,0,254,.25) !important;
	border-radius: 16px !important;
	padding: 16px !important;
	margin: 8px 0 !important;
	max-width: 100% !important;
}

.kedu-lead-form__header {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	margin-bottom: 14px !important;
}

.kedu-lead-form__icon {
	font-size: 28px !important;
	line-height: 1 !important;
	flex-shrink: 0 !important;
}

.kedu-lead-form__title {
	display: block !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: var(--k-text) !important;
	margin-bottom: 2px !important;
}

.kedu-lead-form__desc {
	font-size: 12px !important;
	color: var(--k-text-soft) !important;
	margin: 0 !important;
	line-height: 1.4 !important;
}

/* Multi-step progress dots */
.kedu-lead-form__progress {
	display: flex !important;
	justify-content: center !important;
	gap: 8px !important;
	margin-bottom: 14px !important;
}

.kedu-lead-form__dot {
	width: 8px !important;
	height: 8px !important;
	border-radius: 50% !important;
	background: rgba(0,0,0,.12) !important;
	transition: background .3s, transform .3s !important;
}

.kedu-lead-form__dot.is-active {
	background: var(--k-brand) !important;
	transform: scale(1.25) !important;
}

.kedu-lead-form__dot.is-done {
	background: #22c55e !important;
}

/* Step visibility */
.kedu-lead-form__step {
	display: none !important;
}

.kedu-lead-form__step.is-visible {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	animation: k-lead-step-in .3s ease-out !important;
}

@keyframes k-lead-step-in {
	from { opacity: 0; transform: translateX(16px); }
	to   { opacity: 1; transform: translateX(0); }
}

/* "Devam" button */
.kedu-lead-form__next {
	display: block !important;
	width: 100% !important;
	padding: 10px !important;
	border: none !important;
	border-radius: 10px !important;
	background: linear-gradient(135deg, var(--k-brand) 0%, #7C00FE 100%) !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: opacity .2s, transform .1s !important;
}

.kedu-lead-form__next:hover {
	opacity: .9 !important;
}

.kedu-lead-form__next:active {
	transform: scale(.98) !important;
}

.kedu-lead-form__fields {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	margin-bottom: 0 !important;
}

.kedu-lead-form__input {
	display: block !important;
	width: 100% !important;
	padding: 9px 12px !important;
	border: 1px solid rgba(0,0,0,.12) !important;
	border-radius: 10px !important;
	background: #fff !important;
	font-size: 13px !important;
	color: var(--k-text) !important;
	outline: none !important;
	transition: border-color .2s !important;
	box-sizing: border-box !important;
	font-family: inherit !important;
	line-height: 1.4 !important;
}

.kedu-lead-form__input:focus {
	border-color: var(--k-brand) !important;
	box-shadow: 0 0 0 2px rgba(124,0,254,.15) !important;
}

.kedu-lead-form__input::placeholder {
	color: #9ca3af !important;
}

select.kedu-lead-form__input {
	appearance: auto !important;
	-webkit-appearance: menulist !important;
	cursor: pointer !important;
}

.kedu-lead-form__kvkk {
	display: flex !important;
	align-items: flex-start !important;
	gap: 6px !important;
	font-size: 11px !important;
	color: var(--k-text-soft) !important;
	line-height: 1.4 !important;
	cursor: pointer !important;
}

.kedu-lead-form__kvkk input[type="checkbox"] {
	margin-top: 2px !important;
	flex-shrink: 0 !important;
	width: 14px !important;
	height: 14px !important;
	accent-color: var(--k-brand) !important;
}

.kedu-lead-form__kvkk a {
	color: var(--k-brand) !important;
	text-decoration: underline !important;
}

.kedu-lead-form__submit {
	display: block !important;
	width: 100% !important;
	padding: 10px !important;
	border: none !important;
	border-radius: 10px !important;
	background: linear-gradient(135deg, var(--k-brand) 0%, #7C00FE 100%) !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: opacity .2s, transform .1s !important;
}

.kedu-lead-form__submit:hover {
	opacity: .9 !important;
}

.kedu-lead-form__submit:active {
	transform: scale(.98) !important;
}

.kedu-lead-form__submit:disabled {
	opacity: .5 !important;
	cursor: not-allowed !important;
}

.kedu-lead-form__status {
	margin-top: 8px !important;
	padding: 8px 12px !important;
	border-radius: 8px !important;
	font-size: 12px !important;
	text-align: center !important;
}

.kedu-lead-form__status--success {
	background: #dcfce7 !important;
	color: #166534 !important;
}

.kedu-lead-form__status--error {
	background: #fef2f2 !important;
	color: #991b1b !important;
}
