/* =========================================================
   WOI AI Chatbot v2 – Frontend Widget
   ========================================================= */

:root {
	--woi-c-primary:   #6366f1;
	--woi-c-primary-d: #4f46e5;
	--woi-c-primary-l: #eef2ff;
	--woi-c-bg:        #ffffff;
	--woi-c-surface:   #f9fafb;
	--woi-c-border:    #e5e7eb;
	--woi-c-text:      #1f2937;
	--woi-c-muted:     #6b7280;
	--woi-c-bot-bg:    #f3f4f6;
	--woi-z:           99999;
	--woi-r:           18px;
	--woi-w:           390px;
	--woi-h:           580px;
	--woi-gap:         20px;
}

/* Dark mode osztály – csak explicit .woi-theme-dark esetén aktivál */
.woi-chatbot-widget.woi-theme-dark {
	--woi-c-bg:      #1e1e2e;
	--woi-c-surface: #2a2a3d;
	--woi-c-border:  #383854;
	--woi-c-text:    #cdd6f4;
	--woi-c-muted:   #a6adc8;
	--woi-c-bot-bg:  #313244;
}

/* ── Positioning ─────────────────────────────────────────── */

.woi-chatbot-widget {
	position: fixed;
	z-index: var(--woi-z);
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	font-size: 14px;
	line-height: 1.5;
	/* Widget maga átlátszó az eseményekre – csak a gyerekek kezelik */
	pointer-events: none;
}

.woi-pos-bottom-right { bottom: var(--woi-gap); right: var(--woi-gap); }
.woi-pos-bottom-left  { bottom: var(--woi-gap); left:  var(--woi-gap); }

/* ── Toggle button ───────────────────────────────────────── */

#woi-chatbot button.woi-toggle-btn {
	all: unset;
	width: 60px !important; height: 60px !important;
	border-radius: 50% !important; border: none !important; cursor: pointer !important;
	background: linear-gradient(135deg, var(--woi-c-primary), var(--woi-c-primary-d)) !important;
	background-image: linear-gradient(135deg, var(--woi-c-primary), var(--woi-c-primary-d)) !important;
	color: #fff !important;
	box-shadow: 0 4px 20px rgba(99,102,241,.45) !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
	pointer-events: all !important;
	transition: transform .2s cubic-bezier(.34,1.56,.64,1), box-shadow .2s !important;
	position: relative !important; z-index: 2 !important;
	box-sizing: border-box !important;
	flex-shrink: 0 !important;
	text-shadow: none !important;
	font-size: 0 !important;
}

#woi-chatbot button.woi-toggle-btn:hover  { transform: scale(1.08) !important; box-shadow: 0 6px 28px rgba(99,102,241,.55) !important; }
#woi-chatbot button.woi-toggle-btn:active { transform: scale(.94) !important; }

.woi-btn-icon {
	position: absolute; width: 26px; height: 26px;
	display: flex; align-items: center; justify-content: center;
	transition: opacity .2s, transform .2s;
}
.woi-btn-icon svg { width: 100%; height: 100%; }

.woi-icon-chat  { opacity: 1;  transform: rotate(0)   scale(1); }
.woi-icon-close { opacity: 0;  transform: rotate(-90deg) scale(.6); }

.woi-chatbot-widget.woi-open .woi-icon-chat  { opacity: 0; transform: rotate(90deg) scale(.6); }
.woi-chatbot-widget.woi-open .woi-icon-close { opacity: 1; transform: rotate(0) scale(1); }

/* Unread badge */
#woi-chatbot button.woi-toggle-btn::after {
	content: '';
	position: absolute; top: 6px; right: 6px;
	width: 10px; height: 10px;
	background: #22c55e; border: 2px solid #fff; border-radius: 50%;
	opacity: 0; transition: opacity .3s;
}
#woi-chatbot button.woi-toggle-btn.has-new::after { opacity: 1; }

/* Recording ring */
#woi-chatbot button.woi-toggle-btn.woi-recording {
	animation: woi-ring 1s ease infinite;
}
@keyframes woi-ring {
	0%,100% { box-shadow: 0 0 0 0 rgba(239,68,68,.6); }
	50%      { box-shadow: 0 0 0 10px rgba(239,68,68,0); }
}

/* ── Chat window ─────────────────────────────────────────── */

.woi-chat-window {
	position: absolute;
	bottom: calc(60px + 12px);
	width: var(--woi-w);
	height: var(--woi-h);
	background: var(--woi-c-bg);
	border-radius: var(--woi-r);
	box-shadow: 0 20px 60px rgba(0,0,0,.18), 0 0 0 1px rgba(0,0,0,.07);
	display: flex; flex-direction: column; overflow: hidden;
	transform-origin: bottom center;
	transform: scale(.9) translateY(10px);
	opacity: 0; pointer-events: none;
	transition: transform .25s cubic-bezier(.34,1.3,.64,1), opacity .2s;
}

.woi-pos-bottom-right .woi-chat-window { right: 0; }
.woi-pos-bottom-left  .woi-chat-window { left: 0; }

.woi-chatbot-widget.woi-open .woi-chat-window {
	transform: scale(1) translateY(0);
	opacity: 1; pointer-events: all;
}

/* Fullscreen mode */
.woi-chatbot-widget.woi-fullscreen .woi-chat-window {
	position: fixed; inset: 0; width: 100%; height: 100%;
	bottom: 0; right: 0; left: 0;
	border-radius: 0;
}

/* ── Header ──────────────────────────────────────────────── */

.woi-chat-header {
	display: flex; align-items: center; gap: 12px;
	padding: 14px 16px;
	background: linear-gradient(135deg, var(--woi-c-primary), var(--woi-c-primary-d));
	color: #fff; flex-shrink: 0;
}

.woi-chat-avatar {
	width: 38px; height: 38px; border-radius: 50%;
	background: rgba(255,255,255,.2);
	display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.woi-chat-avatar svg { width: 20px; height: 20px; fill: #fff; }

.woi-chat-header-info { flex: 1; min-width: 0; }
.woi-chat-name   { display: block; font-weight: 700; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.woi-chat-status { font-size: 12px; opacity: .85; display: flex; align-items: center; gap: 5px; }

.woi-status-dot {
	width: 7px; height: 7px; background: #4ade80;
	border-radius: 50%;
	box-shadow: 0 0 0 2px rgba(74,222,128,.3);
	animation: woi-pulse 2s infinite;
}
@keyframes woi-pulse {
	0%,100% { box-shadow: 0 0 0 2px rgba(74,222,128,.3); }
	50%      { box-shadow: 0 0 0 5px rgba(74,222,128,.1); }
}

.woi-chat-header-actions { display: flex; gap: 4px; margin-left: auto; }

/* Extra specificity to override theme button styles */
#woi-chatbot .woi-chat-header button.woi-header-btn,
#woi-chatbot .woi-chat-header button.woi-header-btn:link,
#woi-chatbot .woi-chat-header button.woi-header-btn:visited {
	all: unset;
	-webkit-appearance: none !important;
	appearance: none !important;
	width: 30px !important;
	height: 30px !important;
	min-width: 0 !important;
	max-width: none !important;
	min-height: 0 !important;
	max-height: none !important;
	background: rgba(255,255,255,.18) !important;
	background-image: none !important;
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
	cursor: pointer !important;
	color: #fff !important;
	border-radius: 7px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	margin: 0 !important;
	line-height: 1 !important;
	font-size: 0 !important;
	text-shadow: none !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	transition: background .15s !important;
	flex-shrink: 0 !important;
}
#woi-chatbot .woi-chat-header button.woi-header-btn:hover,
#woi-chatbot .woi-chat-header button.woi-header-btn:focus {
	background: rgba(255,255,255,.35) !important;
	transform: none !important;
}
#woi-chatbot .woi-chat-header button.woi-header-btn svg {
	width: 16px !important;
	height: 16px !important;
	stroke: #fff !important;
	fill: none !important;
	display: block !important;
	flex-shrink: 0 !important;
}
#woi-chatbot .woi-chat-header button.woi-header-btn.woi-active {
	background: rgba(239,68,68,.65) !important;
}

/* ── Messages ────────────────────────────────────────────── */

.woi-messages {
	flex: 1; overflow-y: auto;
	padding: 14px 12px;
	display: flex; flex-direction: column; gap: 10px;
	scroll-behavior: smooth;
}
.woi-messages::-webkit-scrollbar       { width: 4px; }
.woi-messages::-webkit-scrollbar-track { background: transparent; }
.woi-messages::-webkit-scrollbar-thumb { background: var(--woi-c-border); border-radius: 4px; }

.woi-message { display: flex; gap: 8px; animation: woi-msg-in .2s ease; }
@keyframes woi-msg-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }

.woi-message.woi-user { flex-direction: row-reverse; }

.woi-msg-avatar {
	width: 30px; height: 30px; border-radius: 50%; flex-shrink: 0;
	display: flex; align-items: center; justify-content: center;
	font-size: 10px; font-weight: 700; letter-spacing: 0;
	margin-top: 2px; line-height: 1;
}
.woi-message.woi-bot  .woi-msg-avatar { background: var(--woi-c-primary-l); color: var(--woi-c-primary); }
.woi-message.woi-user .woi-msg-avatar { background: var(--woi-c-primary); color: #fff; }

/* Szöveges avatarok – emoji helyett */
.woi-avatar-bot  { font-size: 10px; font-weight: 700; }
.woi-avatar-user { font-size: 10px; font-weight: 700; }

.woi-msg-body { max-width: 84%; display: flex; flex-direction: column; gap: 3px; }
.woi-message.woi-user .woi-msg-body { align-items: flex-end; }

.woi-bubble {
	padding: 10px 14px; border-radius: 16px;
	font-size: 13.5px; line-height: 1.55;
	word-wrap: break-word; white-space: pre-wrap;
}
.woi-message.woi-bot  .woi-bubble { background: var(--woi-c-bot-bg); color: var(--woi-c-text); border-bottom-left-radius: 4px; }
.woi-message.woi-user .woi-bubble { background: var(--woi-c-primary); color: #fff; border-bottom-right-radius: 4px; }

.woi-msg-time { font-size: 10.5px; color: var(--woi-c-muted); padding: 0 4px; }

/* Markdown inside bot bubbles */
.woi-bubble strong  { font-weight: 700; }
.woi-bubble em      { font-style: italic; }
.woi-bubble code    { font-family: 'SF Mono','Fira Code',monospace; background: rgba(0,0,0,.07); padding: 1px 5px; border-radius: 4px; font-size: 12px; }
.woi-bubble pre     { background: #1e1e2e; color: #cdd6f4; padding: 12px; border-radius: 8px; overflow-x: auto; margin: 8px 0; font-size: 12px; white-space: pre; }
.woi-bubble pre code{ background: none; padding: 0; }
.woi-bubble ul,
.woi-bubble ol      { margin: 6px 0 6px 18px; padding: 0; }
.woi-bubble li      { margin-bottom: 3px; }
.woi-bubble p       { margin: 0 0 6px; }
.woi-bubble p:last-child { margin-bottom: 0; }
.woi-bubble a       { color: var(--woi-c-primary); text-decoration: underline; }
.woi-message.woi-user .woi-bubble a { color: rgba(255,255,255,.85); }
.woi-bubble h1,.woi-bubble h2,.woi-bubble h3 { margin: 8px 0 4px; font-size: 14px; }
.woi-bubble hr { border: none; border-top: 1px solid var(--woi-c-border); margin: 8px 0; }

/* Message actions (copy, feedback) */
.woi-msg-actions {
	display: flex; gap: 4px; opacity: 0;
	transition: opacity .15s;
	align-self: flex-start;
	padding: 0 4px;
}
.woi-message.woi-user .woi-msg-actions { align-self: flex-end; }
.woi-message:hover .woi-msg-actions { opacity: 1; }

#woi-chatbot button.woi-action-btn {
	all: unset;
	width: 26px !important; height: 26px !important; border: none !important; cursor: pointer !important;
	background: var(--woi-c-surface) !important; background-image: none !important;
	border-radius: 6px !important; color: var(--woi-c-muted) !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
	font-size: 13px !important; transition: background .15s, color .15s !important;
	box-sizing: border-box !important; padding: 0 !important;
}
#woi-chatbot button.woi-action-btn:hover { background: var(--woi-c-border) !important; color: var(--woi-c-text) !important; }
#woi-chatbot button.woi-action-btn.woi-active-pos { color: #22c55e !important; }
#woi-chatbot button.woi-action-btn.woi-active-neg { color: #ef4444 !important; }

/* Error bubbles */
.woi-error-msg .woi-bubble { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }

/* ── Product cards ───────────────────────────────────────── */

.woi-product-cards { display: flex; gap: 10px; overflow-x: auto; padding: 4px 12px 8px; scroll-snap-type: x mandatory; }
.woi-product-cards::-webkit-scrollbar { height: 4px; }
.woi-product-cards::-webkit-scrollbar-thumb { background: var(--woi-c-border); border-radius: 4px; }

.woi-product-card {
	flex-shrink: 0; width: 150px;
	background: var(--woi-c-bg);
	border: 1px solid var(--woi-c-border);
	border-radius: 12px; overflow: hidden;
	scroll-snap-align: start;
	transition: transform .15s, box-shadow .15s;
	text-decoration: none; color: inherit;
	display: block;
}
.woi-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0,0,0,.1); }

.woi-product-img {
	width: 100%; height: 100px; object-fit: cover;
	background: var(--woi-c-surface);
	display: flex; align-items: center; justify-content: center;
	font-size: 32px;
}
.woi-product-img img { width: 100%; height: 100%; object-fit: cover; }

.woi-product-info { padding: 8px 10px; }
.woi-product-name { font-size: 12px; font-weight: 600; color: var(--woi-c-text); line-height: 1.3; margin-bottom: 4px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.woi-product-price { font-size: 13px; font-weight: 700; color: var(--woi-c-primary); }
.woi-product-old-price { font-size: 11px; color: var(--woi-c-muted); text-decoration: line-through; }
.woi-product-stock { font-size: 10px; margin-top: 4px; display: inline-flex; align-items: center; gap: 3px; }
.woi-stock-in  { color: #16a34a; }
.woi-stock-out { color: #ef4444; }
.woi-stock-pre { color: #d97706; }

.woi-product-rating { font-size: 10px; color: var(--woi-c-muted); margin-top: 2px; }

/* ── Typing indicator ────────────────────────────────────── */

.woi-typing-container {
	display: flex; align-items: center; gap: 8px;
	padding: 4px 12px 8px; flex-shrink: 0;
}
.woi-typing-bubble {
	display: flex; align-items: center; gap: 4px;
	background: var(--woi-c-bot-bg);
	padding: 8px 12px; border-radius: 16px; border-bottom-left-radius: 4px;
}
.woi-typing-bubble span {
	width: 7px; height: 7px; background: var(--woi-c-muted);
	border-radius: 50%;
	animation: woi-bounce 1.2s ease-in-out infinite;
}
.woi-typing-bubble span:nth-child(2) { animation-delay: .2s; }
.woi-typing-bubble span:nth-child(3) { animation-delay: .4s; }
@keyframes woi-bounce { 0%,60%,100%{transform:translateY(0)} 30%{transform:translateY(-6px)} }
.woi-typing-container small { font-size: 11px; color: var(--woi-c-muted); }

/* ── Quick replies / suggestions ────────────────────────── */

.woi-quick-replies {
	display: flex; flex-wrap: wrap; gap: 6px;
	padding: 0 12px 8px;
}
#woi-chatbot button.woi-quick-reply {
	all: unset;
	padding: 5px 12px !important;
	background: var(--woi-c-primary-l) !important; background-image: none !important;
	color: var(--woi-c-primary) !important;
	border: 1px solid rgba(99,102,241,.25) !important;
	border-radius: 20px !important; cursor: pointer !important;
	font-size: 12.5px !important; font-family: inherit !important;
	transition: background .15s, transform .1s !important;
	box-sizing: border-box !important; display: inline-block !important;
	text-shadow: none !important;
}
#woi-chatbot button.woi-quick-reply:hover { background: var(--woi-c-primary) !important; color: #fff !important; transform: translateY(-1px) !important; }

/* ── Lead capture form ───────────────────────────────────── */

.woi-lead-form {
	background: var(--woi-c-primary-l);
	border-top: 1px solid var(--woi-c-border);
	padding: 12px 14px; flex-shrink: 0;
}
.woi-lead-form p { font-size: 13px; color: var(--woi-c-text); margin: 0 0 10px; font-weight: 500; }
.woi-lead-inputs { display: flex; flex-direction: column; gap: 7px; }
.woi-lead-inputs input {
	padding: 8px 12px; border: 1px solid var(--woi-c-border);
	border-radius: 8px; font-size: 13px; background: var(--woi-c-bg); color: var(--woi-c-text);
}
.woi-lead-inputs input:focus { outline: none; border-color: var(--woi-c-primary); }
#woi-chatbot button.woi-lead-submit {
	all: unset;
	flex: 1 !important; padding: 8px !important; background: var(--woi-c-primary) !important;
	background-image: none !important; color: #fff !important;
	border: none !important; border-radius: 8px !important; cursor: pointer !important;
	font-size: 13px !important; font-weight: 600 !important; font-family: inherit !important;
	text-align: center !important; box-sizing: border-box !important; display: block !important;
	text-shadow: none !important;
}
#woi-chatbot button.woi-lead-skip {
	all: unset;
	flex: 0 !important; padding: 8px 12px !important; background: none !important;
	background-image: none !important; border: 1px solid var(--woi-c-border) !important;
	border-radius: 8px !important; cursor: pointer !important; font-size: 12px !important;
	color: var(--woi-c-muted) !important; font-family: inherit !important;
	box-sizing: border-box !important; text-shadow: none !important;
}

/* ── Input area ──────────────────────────────────────────── */

.woi-input-area {
	display: flex; align-items: flex-end; gap: 7px;
	padding: 10px 10px;
	border-top: 1px solid var(--woi-c-border);
	background: var(--woi-c-bg); flex-shrink: 0;
}

#woi-chatbot button.woi-voice-btn {
	all: unset;
	width: 36px !important; height: 36px !important; border-radius: 50% !important; border: none !important;
	background: var(--woi-c-surface) !important; background-image: none !important;
	cursor: pointer !important; color: var(--woi-c-muted) !important;
	display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important;
	transition: background .15s, color .15s !important;
	box-sizing: border-box !important; padding: 0 !important; margin: 0 !important; font-size: 0 !important;
	text-shadow: none !important; box-shadow: none !important;
}
#woi-chatbot button.woi-voice-btn:hover { background: var(--woi-c-border) !important; }
#woi-chatbot button.woi-voice-btn.woi-recording { background: #fef2f2 !important; color: #ef4444 !important; animation: woi-ring 1s infinite !important; }
#woi-chatbot button.woi-voice-btn svg { width: 17px !important; height: 17px !important; }

.woi-textarea-wrap { flex: 1; position: relative; }
.woi-input {
	width: 100%; min-height: 38px; max-height: 120px;
	padding: 9px 12px; padding-right: 44px;
	border: 1px solid var(--woi-c-border); border-radius: 20px;
	font-size: 13.5px; font-family: inherit;
	color: var(--woi-c-text); background: var(--woi-c-surface);
	resize: none; outline: none; box-sizing: border-box;
	overflow-y: auto; transition: border-color .15s, box-shadow .15s;
	line-height: 1.4; display: block;
}
.woi-input:focus { border-color: var(--woi-c-primary); box-shadow: 0 0 0 3px var(--woi-c-primary-l); background: var(--woi-c-bg); }
.woi-input::placeholder { color: #b0b7c3; }

.woi-char-count {
	position: absolute; bottom: 6px; right: 10px;
	font-size: 10px; color: var(--woi-c-muted); pointer-events: none;
}

#woi-chatbot button.woi-send-btn {
	all: unset;
	width: 38px !important; height: 38px !important; border-radius: 50% !important; border: none !important;
	background: var(--woi-c-primary) !important; background-image: none !important;
	color: #fff !important; cursor: pointer !important;
	display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important;
	transition: background .15s, transform .15s, opacity .15s !important;
	opacity: .4 !important;
	box-sizing: border-box !important; padding: 0 !important; margin: 0 !important; font-size: 0 !important;
	text-shadow: none !important; box-shadow: none !important;
}
#woi-chatbot button.woi-send-btn:not(:disabled)       { opacity: 1 !important; }
#woi-chatbot button.woi-send-btn:not(:disabled):hover { background: var(--woi-c-primary-d) !important; transform: scale(1.08) !important; }
#woi-chatbot button.woi-send-btn:not(:disabled):active{ transform: scale(.92) !important; }
#woi-chatbot button.woi-send-btn svg { width: 17px !important; height: 17px !important; }

/* ── Kapcsolatfelvételi form ─────────────────────────────── */

.woi-contact-form {
	border-top: 2px solid var(--woi-c-primary);
	background: var(--woi-c-bg);
	padding: 14px;
	flex-shrink: 0;
	max-height: 70%;
	overflow-y: auto;
}

.woi-cf-header { margin-bottom: 10px; }
.woi-cf-title  { font-size: 14px; font-weight: 700; color: var(--woi-c-text); margin: 0 0 4px; }
.woi-cf-desc   { font-size: 12px; color: var(--woi-c-muted); margin: 0; line-height: 1.4; }

.woi-cf-body { display: flex; flex-direction: column; gap: 8px; }

.woi-cf-input {
	width: 100%;
	padding: 8px 10px;
	border: 1px solid var(--woi-c-border);
	border-radius: 7px;
	font-size: 13px;
	font-family: inherit;
	color: var(--woi-c-text);
	background: var(--woi-c-surface);
	box-sizing: border-box;
	transition: border-color .15s;
}
.woi-cf-input:focus { border-color: var(--woi-c-primary); outline: none; }

.woi-cf-textarea { resize: none; min-height: 60px; }

.woi-cf-gdpr-label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 11.5px;
	color: var(--woi-c-muted);
	line-height: 1.4;
	cursor: pointer;
}
.woi-cf-gdpr-check { flex-shrink: 0; margin-top: 2px; cursor: pointer; }
.woi-cf-priv-link  { color: var(--woi-c-primary); text-decoration: underline; }

.woi-cf-msg {
	font-size: 12px;
	padding: 8px 10px;
	border-radius: 6px;
}
.woi-cf-error   { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }
.woi-cf-success { background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0; }

.woi-cf-actions { display: flex; gap: 7px; }

#woi-chatbot button.woi-cf-btn-primary {
	all: unset;
	flex: 1 !important; padding: 9px !important;
	background: var(--woi-c-primary) !important; background-image: none !important;
	color: #fff !important; border: none !important; border-radius: 7px !important;
	font-size: 13px !important; font-weight: 600 !important; font-family: inherit !important;
	cursor: pointer !important; transition: background .15s !important;
	text-align: center !important; box-sizing: border-box !important;
	text-shadow: none !important; display: block !important;
}
#woi-chatbot button.woi-cf-btn-primary:hover    { background: var(--woi-c-primary-d) !important; }
#woi-chatbot button.woi-cf-btn-primary:disabled { opacity: .6 !important; cursor: default !important; }

#woi-chatbot button.woi-cf-btn-secondary {
	all: unset;
	padding: 9px 14px !important; background: none !important; background-image: none !important;
	border: 1px solid var(--woi-c-border) !important; border-radius: 7px !important;
	font-size: 12px !important; font-family: inherit !important;
	color: var(--woi-c-muted) !important; cursor: pointer !important;
	box-sizing: border-box !important; text-shadow: none !important;
}

.woi-cf-note {
	font-size: 10px;
	color: var(--woi-c-muted);
	margin: 0;
	line-height: 1.4;
}

/* ── Scroll-to-bottom ────────────────────────────────────── */

#woi-chatbot button.woi-scroll-btn {
	all: unset;
	position: absolute !important; bottom: 130px !important; left: 50% !important;
	transform: translateX(-50%) !important;
	width: 32px !important; height: 32px !important; border-radius: 50% !important;
	background: var(--woi-c-bg) !important; background-image: none !important;
	border: 1px solid var(--woi-c-border) !important;
	box-shadow: 0 2px 8px rgba(0,0,0,.12) !important;
	cursor: pointer !important; color: var(--woi-c-muted) !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
	z-index: 2 !important; animation: woi-msg-in .2s ease !important;
	box-sizing: border-box !important; padding: 0 !important;
}
#woi-chatbot button.woi-scroll-btn svg { width: 16px !important; height: 16px !important; }

/* ── Footer ──────────────────────────────────────────────── */

.woi-chat-footer {
	padding: 5px 14px 7px;
	text-align: center; font-size: 11px;
	color: var(--woi-c-muted);
	border-top: 1px solid var(--woi-c-border);
	background: var(--woi-c-bg); flex-shrink: 0;
}

/* ── GDPR Consent overlay ────────────────────────────────── */

.woi-consent-screen {
	position: absolute;
	inset: 0;
	background: var(--woi-c-bg);
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	animation: woi-msg-in .25s ease;
}

.woi-consent-body {
	text-align: center;
	max-width: 300px;
}

.woi-consent-icon {
	font-size: 36px;
	margin-bottom: 10px;
}

.woi-consent-title {
	font-size: 16px;
	font-weight: 700;
	color: var(--woi-c-text);
	margin: 0 0 10px;
}

.woi-consent-text {
	font-size: 13px;
	color: var(--woi-c-muted);
	line-height: 1.55;
	margin: 0 0 8px;
}

.woi-consent-third-party {
	font-size: 11px;
	color: var(--woi-c-muted);
	background: var(--woi-c-surface);
	border-radius: 6px;
	padding: 6px 10px;
	margin: 0 0 10px;
}

.woi-consent-link {
	display: inline-block;
	font-size: 12px;
	color: var(--woi-c-primary);
	text-decoration: underline;
	margin-bottom: 16px;
}

.woi-consent-buttons {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 10px;
}

#woi-chatbot button.woi-consent-accept {
	all: unset;
	padding: 10px 20px !important;
	background: var(--woi-c-primary) !important; background-image: none !important;
	color: #fff !important; border: none !important; border-radius: 8px !important;
	cursor: pointer !important; font-size: 13px !important; font-weight: 600 !important;
	font-family: inherit !important; transition: background .15s !important;
	text-align: center !important; box-sizing: border-box !important; display: block !important;
	text-shadow: none !important; width: 100% !important;
}
#woi-chatbot button.woi-consent-accept:hover { background: var(--woi-c-primary-d) !important; }

#woi-chatbot button.woi-consent-decline {
	all: unset;
	padding: 8px 20px !important; background: none !important; background-image: none !important;
	color: var(--woi-c-muted) !important; border: 1px solid var(--woi-c-border) !important;
	border-radius: 8px !important; cursor: pointer !important;
	font-size: 12px !important; font-family: inherit !important;
	text-align: center !important; box-sizing: border-box !important; display: block !important;
	text-shadow: none !important; width: 100% !important;
}

.woi-consent-note {
	font-size: 10px;
	color: var(--woi-c-muted);
	margin: 0;
	line-height: 1.4;
}

/* ── Handoff notice ──────────────────────────────────────── */

.woi-handoff-notice {
	background: #fef3c7; border: 1px solid #fde68a;
	margin: 0 12px 8px; padding: 8px 12px; border-radius: 8px;
	font-size: 12px; color: #92400e; text-align: center;
	animation: woi-msg-in .2s ease;
}

/* ── Responsive ──────────────────────────────────────────── */

@media (max-width: 480px) {
	:root { --woi-w: calc(100vw - 24px); --woi-h: 72vh; --woi-gap: 12px; }
	.woi-pos-bottom-right .woi-chat-window,
	.woi-pos-bottom-left  .woi-chat-window { left: 0; right: 0; }
	.woi-pos-bottom-left  { left: 12px; }
	.woi-pos-bottom-right { right: 12px; }
	.woi-chat-window { border-radius: 16px; }
}

/* ── Utils ───────────────────────────────────────────────── */

@keyframes woi-spin { to { transform: rotate(360deg); } }
.woi-spin { animation: woi-spin .7s linear infinite; display: inline-block; }

/* Wiki-források */
.woi-sources{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 10px;padding:2px 12px 4px;font-size:12px;line-height:1.3}
.woi-sources-label{display:inline-flex;align-items:center;gap:5px;color:var(--woi-c-muted);font-weight:700;letter-spacing:.02em}
.woi-source-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;border:1px solid var(--woi-c-border);background:var(--woi-c-surface);color:var(--woi-c-text)!important;text-decoration:none!important;transition:border-color .2s,background .2s}
.woi-source-chip:hover{border-color:var(--woi-c-primary);background:var(--woi-c-primary-l)}
.woi-source-chip span{font-size:11px;opacity:.7}
