/* ZeusWeb Multishop toast. A színek és a .zwt-root elhelyezése (position:fixed, felül középen, z-index, méret)
 * a fejléc <style>-jában vannak (Toast::root_css), mert a LiteSpeed UCSS a külső CSS-t kihagyhatja:
 * üzleti oldalon lila + sötét kártya, lakossági oldalon kék + világos kártya.
 * Az Astra és a business-site.css a/button/input szabályait !important-os, specifikus szelektorokkal írjuk felül. */

.zwt-root {
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

.zwt-root .zwt-toast {
	pointer-events: auto;
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	box-sizing: border-box;
	flex-shrink: 0;
	width: 100%;
	margin: 0;
	padding: 14px 12px 14px 14px;
	background: var(--zwt-bg, #fff);
	color: var(--zwt-text, #0f172a);
	border: 1px solid var(--zwt-line, #e2e8f0);
	border-left: 4px solid var(--zwt-accent, #00b3f3);
	border-radius: 12px;
	box-shadow: 0 6px 14px var(--zwt-shadow, rgba(2, 6, 23, .22));
	font-size: 14px;
	line-height: 1.4;
	text-align: left;
	animation: zwt-in .22s ease-out both;
	transition: opacity .2s ease, transform .2s ease;
}
.zwt-root .zwt-toast.zwt-out { opacity: 0; transform: translateY(-8px); }

.zwt-root .zwt-ico {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	margin-top: 1px;
	border-radius: 50%;
	background: var(--zwt-ok, #15803d);
	color: var(--zwt-ok-ink, #fff);
}
.zwt-root .zwt-ico svg { display: block; width: 14px; height: 14px; }

.zwt-root .zwt-body { flex: 1 1 auto; min-width: 0; }
.zwt-root .zwt-title,
.zwt-root .zwt-text {
	margin: 0;
	padding: 0;
	color: var(--zwt-text, #0f172a);
	overflow-wrap: anywhere;
}
.zwt-root .zwt-title { font-size: 15px; font-weight: 800; line-height: 1.3; }
.zwt-root .zwt-text { margin-top: 2px; font-size: 14px; font-weight: 500; color: var(--zwt-muted, #475569); }
.zwt-root .zwt-text--main { margin-top: 3px; color: var(--zwt-text, #0f172a); font-weight: 600; }

.zwt-root .zwt-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 0; padding: 0; }

.zwt-root a.zwt-btn,
.zwt-root a.zwt-btn:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 36px;
	margin: 0;
	padding: 0 16px;
	border: 1px solid var(--zwt-muted, #475569) !important;
	border-radius: 999px;
	background: transparent !important;
	color: var(--zwt-text, #0f172a) !important;
	font-family: inherit;
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .02em;
	text-decoration: none !important;
	box-shadow: none !important;
	float: none !important;
	cursor: pointer;
}
.zwt-root a.zwt-btn:hover,
.zwt-root a.zwt-btn:focus { filter: brightness(1.08); text-decoration: none !important; color: var(--zwt-text, #0f172a) !important; }

.zwt-root a.zwt-btn.zwt-btn--primary,
.zwt-root a.zwt-btn.zwt-btn--primary:visited {
	background: var(--zwt-accent, #00b3f3) !important;
	border-color: var(--zwt-accent, #00b3f3) !important;
	color: var(--zwt-on-accent, #0f172a) !important;
}
.zwt-root a.zwt-btn.zwt-btn--primary:hover,
.zwt-root a.zwt-btn.zwt-btn--primary:focus {
	background: var(--zwt-accent, #00b3f3) !important;
	color: var(--zwt-on-accent, #0f172a) !important;
	filter: brightness(1.08);
}

.zwt-root button.zwt-close {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin: -4px -2px 0 0;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 8px;
	background: transparent !important;
	color: var(--zwt-muted, #475569) !important;
	box-shadow: none !important;
	line-height: 1;
	cursor: pointer;
}
.zwt-root button.zwt-close:hover,
.zwt-root button.zwt-close:focus {
	background: transparent !important;
	color: var(--zwt-text, #0f172a) !important;
}
.zwt-root button.zwt-close svg { display: block; width: 16px; height: 16px; stroke-width: 2.4; }

.zwt-root a.zwt-btn:focus-visible,
.zwt-root button.zwt-close:focus-visible {
	outline: 2px solid var(--zwt-text, #0f172a) !important;
	outline-offset: 2px;
}

@keyframes zwt-in {
	from { opacity: 0; transform: translateY(-8px); }
	to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.zwt-root .zwt-toast { animation: none !important; transition: none !important; }
	.zwt-root .zwt-toast.zwt-out { transform: none; }
}
