/*
 * Toopix — стилови на сајтот (скинови), типови заглавие, векторски анимации,
 * честички, сцени, прелоадери и транзиции.
 */

/* ==========================================================================
   1. Горна лента и типови заглавие
   ========================================================================== */
.tx-topbar {
	--tb-h: 40px;
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	flex: 0 0 var(--tb-h);
	height: var(--tb-h);
	font-size: 0.8rem;
	background: var(--tx-topbar-bg, rgba(0, 0, 0, 0.28));
	color: var(--tx-topbar-fg, rgba(255, 255, 255, 0.86));
	transition: margin-top 0.45s var(--tx-ease), opacity 0.3s;
}

.tx-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
}

.tx-topbar__info,
.tx-topbar__side {
	display: flex;
	align-items: center;
	gap: 1.4rem;
	min-width: 0;
}

.tx-topbar__text {
	font-weight: 700;
	letter-spacing: 0.02em;
}

.tx-topbar__item {
	display: inline-flex;
	align-items: center;
	gap: 0.45em;
	color: inherit;
	text-decoration: none;
	white-space: nowrap;
	opacity: 0.92;
	transition: opacity 0.3s, color 0.3s;
}

a.tx-topbar__item:hover {
	opacity: 1;
	color: inherit;
}

.tx-topbar__item svg,
.tx-topbar .tx-social svg {
	width: 14px;
	height: 14px;
}

.tx-topbar .tx-social {
	gap: 0.3rem;
}

.tx-topbar .tx-social a {
	width: 28px;
	height: 28px;
	border: 0;
	color: inherit;
	background: transparent;
}

.tx-has-topbar {
	--tx-header-h: 124px;
}

.tx-has-topbar .tx-header {
	display: flex;
	flex-direction: column;
}

.tx-has-topbar .tx-header__inner {
	flex: 1 1 auto;
	height: auto;
	width: 100%;
}

.tx-header.is-scrolled .tx-topbar {
	margin-top: calc(-1 * var(--tb-h));
	opacity: 0;
	pointer-events: none;
}

/* Прекинувач ладно / топло (стил „Клима“) */
.tx-climate {
	position: relative;
	display: inline-flex;
	padding: 3px;
	border-radius: 99px;
	background: rgba(255, 255, 255, 0.12);
}

.tx-climate__btn {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	padding: 0.25em 0.8em;
	border: 0;
	border-radius: 99px;
	background: transparent;
	color: inherit;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
	transition: color 0.3s;
}

.tx-climate__btn svg {
	width: 14px;
	height: 14px;
}

.tx-climate__knob {
	position: absolute;
	top: 3px;
	bottom: 3px;
	left: 3px;
	width: calc(50% - 3px);
	border-radius: 99px;
	background: linear-gradient(135deg, #2fa8ff, #0a6fd0);
	box-shadow: 0 4px 14px -4px rgba(10, 132, 214, 0.8);
	transition: transform 0.5s var(--tx-ease), background 0.5s;
}

html[data-climate="warm"] .tx-climate__knob {
	transform: translateX(100%);
	background: linear-gradient(135deg, #ffb340, #ff6a2b);
	box-shadow: 0 4px 14px -4px rgba(255, 106, 43, 0.8);
}

/* --- Светло заглавие --- */
.tx-tone-light .tx-header {
	color: var(--tx-ink);
}

.tx-tone-light .tx-header::before {
	opacity: 1;
	background: var(--tx-header-bg, #fff);
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	box-shadow: 0 14px 40px -28px rgba(0, 0, 0, 0.35);
}

.tx-tone-light .tx-logo,
.tx-tone-light .tx-logo:hover {
	color: var(--tx-ink);
}

.tx-tone-light .tx-menu a {
	color: color-mix(in srgb, var(--tx-ink) 78%, transparent);
}

.tx-tone-light .tx-menu a:hover,
.tx-tone-light .tx-menu .current-menu-item > a,
.tx-tone-light .tx-menu .current_page_item > a,
.tx-tone-light .tx-menu .current-menu-ancestor > a {
	color: var(--tx-ink);
}

.tx-tone-light .tx-roll__b {
	color: var(--tx-accent);
}

.tx-tone-light .tx-menu .sub-menu {
	background: #fff;
	border-color: rgba(0, 0, 0, 0.06);
	box-shadow: 0 24px 60px -24px rgba(0, 0, 0, 0.3);
}

.tx-tone-light .tx-menu .sub-menu a:hover {
	background: color-mix(in srgb, var(--tx-accent) 10%, transparent);
	color: var(--tx-ink);
}

.tx-tone-light .tx-burger {
	border-color: rgba(0, 0, 0, 0.14);
}

.tx-tone-light .tx-burger__lines span {
	background: var(--tx-ink);
}

.tx-menu-open .tx-tone-light .tx-burger__lines span {
	background: var(--tx-ink);
}

.tx-tone-light .tx-lang a,
.tx-tone-light .tx-lang {
	color: var(--tx-ink);
}

/* --- Полна лента (bar) --- */
.tx-hl-bar .tx-header::before {
	opacity: 1;
	background: var(--tx-header-bg, var(--tx-ink));
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

.tx-hl-bar .tx-nav {
	margin-inline: auto;
}

/* --- Лого во средина, мени лево и десно (split) --- */
.tx-hl-split .tx-header__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	gap: 1.4rem;
}

.tx-hl-split .tx-nav--left {
	justify-self: end;
}

.tx-hl-split .tx-header__brand {
	justify-self: center;
}

.tx-header__right {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-width: 0;
}

.tx-hl-split .tx-header__right {
	justify-self: stretch;
}

.tx-hl-split .tx-menu {
	gap: 0.1rem;
}

.tx-hl-split .tx-menu > li > a {
	padding-inline: 0.8em;
	white-space: nowrap;
}

@media (max-width: 1320px) {
	.tx-hl-split .tx-nav {
		display: none;
	}

	.tx-hl-split .tx-burger {
		display: block;
	}

	.tx-hl-split .tx-header__inner {
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	}

	.tx-hl-split .tx-header__brand {
		grid-column: 2;
	}

	.tx-hl-split .tx-header__right {
		grid-column: 3;
		justify-content: flex-end;
	}
}

/* --- Лого горе во средина, мени под него (center) --- */
.tx-hl-center {
	--tx-header-h: 136px;
}

.tx-hl-center .tx-header {
	display: flex;
	flex-direction: column;
}

.tx-hl-center .tx-header__inner {
	flex: 0 0 84px;
	height: 84px;
	justify-content: center;
	width: 100%;
	transition: flex-basis 0.45s var(--tx-ease), height 0.45s var(--tx-ease), opacity 0.3s;
}

.tx-hl-center .tx-header__inner .tx-header__actions {
	position: absolute;
	right: var(--tx-gutter);
	top: 50%;
	transform: translateY(-50%);
}

.tx-hl-center .tx-header__inner .tx-header__left {
	position: absolute;
	left: var(--tx-gutter);
	top: 50%;
	display: flex;
	gap: 1.2rem;
	transform: translateY(-50%);
	font-size: 0.85rem;
}

.tx-header__navrow {
	position: relative;
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	border-top: 1px solid color-mix(in srgb, currentColor 12%, transparent);
}

.tx-header__navrow .tx-container {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
}

.tx-header__mini {
	position: absolute;
	left: var(--tx-gutter);
	display: none;
}

.tx-header__mini .tx-logo-img {
	max-height: 38px;
}

.tx-hl-center .tx-header.is-scrolled {
	height: 64px;
}

.tx-hl-center .tx-header.is-scrolled .tx-header__inner {
	flex-basis: 0;
	height: 0;
	opacity: 0;
	overflow: hidden;
}

.tx-hl-center .tx-header.is-scrolled .tx-header__mini {
	display: block;
}

/* --- Минимално: мени преку цел екран (overlay) --- */
.tx-hl-overlay .tx-nav {
	display: none;
}

.tx-hl-overlay .tx-burger {
	display: block;
}

.tx-header__onair {
	position: absolute;
	left: 50%;
	top: 50%;
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.45rem 1rem 0.45rem 0.8rem;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 99px;
	color: inherit;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-decoration: none;
	text-transform: uppercase;
	transform: translate(-50%, -50%);
	transition: border-color 0.3s, background-color 0.3s;
}

.tx-header__onair:hover {
	border-color: var(--tx-accent);
	background: color-mix(in srgb, var(--tx-accent) 14%, transparent);
	color: inherit;
}

.tx-header__onair i {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #ff2e5b;
	box-shadow: 0 0 0 0 rgba(255, 46, 91, 0.6);
	animation: tx-onair 1.6s infinite;
}

.tx-header__onair b {
	display: inline-flex;
	align-items: flex-end;
	gap: 2px;
	height: 14px;
}

.tx-header__onair b span {
	width: 3px;
	height: 100%;
	border-radius: 2px;
	background: var(--tx-accent);
	transform-origin: bottom;
	animation: tx-eqbar 0.8s ease-in-out infinite alternate;
}

.tx-header__onair b span:nth-child(2) { animation-delay: -0.3s; animation-duration: 0.6s; }
.tx-header__onair b span:nth-child(3) { animation-delay: -0.5s; animation-duration: 0.9s; }
.tx-header__onair b span:nth-child(4) { animation-delay: -0.2s; animation-duration: 0.7s; }

@keyframes tx-onair {
	70% { box-shadow: 0 0 0 10px rgba(255, 46, 91, 0); }
	100% { box-shadow: 0 0 0 0 rgba(255, 46, 91, 0); }
}

@keyframes tx-eqbar {
	from { transform: scaleY(0.2); }
	to { transform: scaleY(1); }
}

.tx-mobile-menu__art {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
	opacity: 0.5;
	pointer-events: none;
}

@media (max-width: 1180px) {
	.tx-hl-split .tx-header__inner {
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	}

	.tx-hl-split .tx-header__brand {
		grid-column: 2;
	}

	.tx-hl-split .tx-header__right {
		grid-column: 3;
		justify-content: flex-end;
	}

	.tx-hl-center .tx-header__navrow .tx-nav {
		display: none;
	}

	.tx-hl-center {
		--tx-header-h: 84px;
	}

	.tx-hl-center .tx-header__navrow {
		display: none;
	}

	.tx-hl-center .tx-header.is-scrolled .tx-header__inner {
		flex-basis: 64px;
		height: 64px;
		opacity: 1;
	}

	.tx-hl-center .tx-header__left {
		display: none !important;
	}

	.tx-header__onair span.tx-header__onair-text {
		display: none;
	}
}

@media (max-width: 860px) {
	.tx-topbar__item--mail,
	.tx-topbar__item--hours,
	.tx-topbar .tx-social,
	.tx-topbar__text {
		display: none;
	}
}

@media (max-width: 600px) {
	.tx-has-topbar {
		--tx-header-h: 74px;
	}

	.tx-topbar {
		display: none;
	}

	.tx-header__onair {
		display: none;
	}
}

/* ==========================================================================
   2. Векторски анимации
   ========================================================================== */
.tx-vec {
	--v1: var(--tx-accent);
	--v2: color-mix(in srgb, var(--tx-accent) 50%, #fff);
	--v3: var(--tx-ink);
	--v4: #fff;
	--v5: color-mix(in srgb, var(--v1) 45%, #fff);
	--vs: 1;
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.tx-vec .f1 { fill: var(--v1); }
.tx-vec .f2 { fill: var(--v2); }
.tx-vec .f3 { fill: var(--v3); }
.tx-vec .f4 { fill: var(--v4); }
.tx-vec .f5 { fill: var(--v5); }
.tx-vec .s1 { stroke: var(--v1); }
.tx-vec .s2 { stroke: var(--v2); }
.tx-vec .s3 { stroke: var(--v3); }
.tx-vec .s4 { stroke: var(--v4); }
.tx-vec .s5 { stroke: var(--v5); }
.tx-vec .n { fill: none; }

.tx-vec * {
	animation-duration: calc(var(--d, 4s) / var(--vs));
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
}

.tx-vec.is-paused *,
.tx-vec.is-paused {
	animation-play-state: paused !important;
}

/* Existing botanical-strip widgets also work outside the Flora skin. */
body:not(.tx-skin-flora) .tx-vec--gardener .tx-botanical__season { display: none; }
body:not(.tx-skin-flora) .tx-vec--gardener .tx-botanical__season--spring { display: inline; }

/* Природни бои по вектор (се менуваат во елементот) */
.tx-vec--flower { --v1: #ff7aa8; --v2: #5aa83c; --v3: #ffc93c; --v5: #ffb3cc; }
.tx-vec--sprout { --v1: #7cc64b; --v2: #4f9a2f; --v3: #7a4a2a; }
.tx-vec--branch { --v1: #8fd16a; --v2: #4f9a2f; --v3: #6b4a2e; }
.tx-vec--tree { --v1: #5fae3d; --v2: #3d8a2b; --v3: #6b4a2e; --v5: #ff8fb1; }
.tx-vec--watering { --v1: #3f8f3a; --v2: #5aa83c; --v3: #7a4a2a; --v5: #6cc4ff; }
.tx-vec--butterfly { --v1: #ff9f43; --v3: #2b2b2b; --v5: #ffd36e; }
.tx-vec--snowflake { --v1: #49b6ff; --v2: #bfe6ff; --v5: #9fdcff; }
.tx-vec--sun { --v1: #ffad1f; --v2: #ffd36e; --v5: #fff3c4; }
.tx-vec--ac { --v1: #49b6ff; --v3: #0d2238; --v5: #8fd3ff; }
.tx-vec--thermo { --v1: #2fa8ff; --v2: #ff5a3c; --v3: #0d2238; }
.tx-vec--heatpump { --v1: #0a84d6; --v3: #0d2238; --v5: #ff8a3d; }
.tx-vec--wind { --v1: #49b6ff; --v2: #bfe6ff; }
.tx-vec--ecg { --v1: #e53950; --v3: #12212c; }
.tx-vec--scan { --v1: #e53950; --v3: #1d3442; --v5: #ffffff; }
.tx-vec--heart { --v1: #e53950; }
.tx-vec--dna { --v1: #e53950; --v2: #2fa8ff; --v3: #12212c; }
.tx-vec--cross { --v1: #e53950; --v2: #f3a3b0; }
.tx-vec--steam { --v1: #c8692e; --v2: #f3d9a7; --v3: #6b3d1e; --v4: #fff; --v5: #c9c2b8; }
.tx-vec--wheat { --v1: #e0aa45; --v2: #c48b2c; }
.tx-vec--pie { --v1: #e3a548; --v3: #8a4a16; --v4: #fff6dd; --v5: #c9c2b8; }
.tx-vec--olive { --v1: #5b6d2a; --v2: #8aa04a; --v3: #6b4a2e; --v4: #fff; }
.tx-vec--eq { --v1: #ff7a1a; --v2: #7b4dff; }
.tx-vec--vinyl { --v1: #ff7a1a; --v2: #ffd9b8; --v3: #111018; --v5: #cfcde0; }
.tx-vec--mic { --v1: #ff7a1a; --v3: #1b1a26; }
.tx-vec--notes { --v1: #ff7a1a; --v2: #7b4dff; }
.tx-vec--onair { --v1: #ff2e5b; --v3: #14121e; }

/* Анимации */
.txv-sway { --d: 6s; animation-name: txv-sway; animation-direction: alternate; }
.txv-bloom { --d: 4s; animation-name: txv-bloom; animation-direction: alternate; }
.txv-spin-slow { --d: 36s; animation-name: txv-spin; animation-timing-function: linear !important; }
.txv-spin-rev { --d: 48s; animation-name: txv-spin-rev; animation-timing-function: linear !important; }
.txv-spin { --d: 3s; animation-name: txv-spin; animation-timing-function: linear !important; }
.txv-spin-fast { --d: 0.9s; animation-name: txv-spin; animation-timing-function: linear !important; }
.txv-spin-vinyl { --d: 4s; animation-name: txv-spin; animation-timing-function: linear !important; }
.txv-petal-fall,
.txv-leaf-fall { --d: 7s; animation-name: txv-fall; animation-timing-function: linear !important; }
.txv-grow { --d: 7s; animation-name: txv-grow; stroke-dasharray: 100; }
.txv-unfurl { --d: 7s; animation-name: txv-unfurl; }
.txv-flutter { --d: 3s; animation-name: txv-flutter; animation-direction: alternate; }
.txv-tilt { --d: 5s; animation-name: txv-tilt; animation-direction: alternate; }
.txv-drop { --d: 1.2s; animation-name: txv-drop; animation-timing-function: ease-in !important; }
.txv-fly { --d: 7s; animation-name: txv-fly; }
.txv-wing { --d: 0.36s; animation-name: txv-wing; animation-direction: alternate; }
.txv-twinkle { --d: 2.4s; animation-name: txv-twinkle; }
.txv-pulse { --d: 3s; animation-name: txv-pulse; animation-direction: alternate; }
.txv-flow { --d: 1.6s; animation-name: txv-flow; animation-timing-function: linear !important; stroke-dasharray: 26 18; }
.txv-blink { --d: 1.4s; animation-name: txv-blink; }
.txv-snow-drift { --d: 3.4s; animation-name: txv-snow-drift; animation-timing-function: linear !important; }
.txv-temp { --d: 7s; animation-name: txv-temp; animation-direction: alternate; fill: var(--v1); }
.txv-level { --d: 7s; animation-name: txv-level; animation-direction: alternate; }
.txv-heat { --d: 2.6s; animation-name: txv-heat; }
.txv-flow-long { --d: 3.6s; animation-name: txv-flow-long; stroke-dasharray: 70 130; }
.txv-ecg { --d: 2.4s; animation-name: txv-ecg; animation-timing-function: linear !important; stroke-dasharray: 26 100; }
.txv-beat { --d: 1.3s; animation-name: txv-beat; }
.txv-ring { --d: 2.6s; animation-name: txv-ring; animation-timing-function: ease-out !important; }
.txv-ring-out { --d: 2.6s; animation-name: txv-ring-out; animation-timing-function: ease-out !important; }
.txv-slide { --d: 3s; animation-name: txv-slide; animation-direction: alternate; }
.txv-rung { --d: 3.2s; animation-name: txv-rung; }
.txv-steam { --d: 3.4s; animation-name: txv-steam; stroke-dasharray: 55 100; }
.txv-stalk { --d: 3.6s; animation-name: txv-stalk; animation-direction: alternate; }
.txv-spiral { --d: 6s; animation-name: txv-spiral; stroke-dasharray: 100; }
.txv-swing { --d: 2.8s; animation-name: txv-swing; animation-direction: alternate; }
.txv-bar { --d: 0.8s; animation-name: txv-bar; animation-direction: alternate; }
.txv-arm { --d: 2.4s; animation-name: txv-arm; animation-direction: alternate; }
.txv-wave { --d: 1.2s; animation-name: txv-wave; animation-direction: alternate; }
.txv-float { --d: 4.5s; animation-name: txv-float; }
.txv-glow { --d: 1.8s; animation-name: txv-glow; animation-direction: alternate; }
.txv-glow-text { --d: 1.8s; animation-name: txv-glow-text; animation-direction: alternate; }
.txv-leaf-l,
.txv-leaf-r { --d: 3.4s; animation-name: txv-flutter-sm; animation-direction: alternate; }
.txv-draw { stroke-dasharray: 100; }
.txv-d2 { animation-delay: -2.2s; }
.txv-d3 { animation-delay: -1.1s; }

.tx-vec.is-ready:not(.is-in) .txv-draw {
	stroke-dashoffset: 100;
}

.tx-vec.is-in .txv-draw {
	animation: txv-draw 1.8s var(--tx-ease) both;
}

@keyframes txv-sway { from { transform: rotate(-3deg); } to { transform: rotate(3deg); } }
@keyframes txv-bloom { from { transform: scale(0.9) rotate(-4deg); } to { transform: scale(1.04) rotate(4deg); } }
@keyframes txv-spin { to { transform: rotate(360deg); } }
@keyframes txv-spin-rev { to { transform: rotate(-360deg); } }
@keyframes txv-draw { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
@keyframes txv-fall {
	0% { transform: translate(0, 0) rotate(0); opacity: 0; }
	10% { opacity: 1; }
	80% { opacity: 1; }
	100% { transform: translate(46px, 150px) rotate(280deg); opacity: 0; }
}
@keyframes txv-grow {
	0% { stroke-dashoffset: 100; opacity: 1; }
	35%, 88% { stroke-dashoffset: 0; opacity: 1; }
	100% { stroke-dashoffset: 0; opacity: 0; }
}
@keyframes txv-unfurl {
	0%, 28% { transform: scale(0); opacity: 1; }
	52%, 88% { transform: scale(1); opacity: 1; }
	100% { transform: scale(1); opacity: 0; }
}
@keyframes txv-flutter { from { transform: rotate(-9deg); } to { transform: rotate(9deg); } }
@keyframes txv-flutter-sm { from { transform: rotate(-5deg); } to { transform: rotate(6deg); } }
@keyframes txv-tilt { from { transform: rotate(0); } to { transform: rotate(-12deg); } }
@keyframes txv-drop {
	0% { transform: translate(0, 0); opacity: 0; }
	15% { opacity: 1; }
	100% { transform: translate(4px, 120px); opacity: 0; }
}
@keyframes txv-fly {
	0%, 100% { transform: translate(0, 0) rotate(-4deg); }
	25% { transform: translate(14px, -16px) rotate(6deg); }
	50% { transform: translate(0, -6px) rotate(-2deg); }
	75% { transform: translate(-14px, -18px) rotate(-8deg); }
}
@keyframes txv-wing { from { transform: scaleX(1); } to { transform: scaleX(0.3); } }
@keyframes txv-twinkle {
	0%, 100% { transform: scale(0.3) rotate(0); opacity: 0.2; }
	50% { transform: scale(1.1) rotate(45deg); opacity: 1; }
}
@keyframes txv-pulse { from { transform: scale(0.9); opacity: 0.25; } to { transform: scale(1.12); opacity: 0.5; } }
@keyframes txv-flow { to { stroke-dashoffset: -88; } }
@keyframes txv-blink { 0%, 100% { opacity: 1; } 50% { opacity: 0.25; } }
@keyframes txv-snow-drift {
	0% { transform: translate(0, 0) rotate(0); opacity: 0; }
	15% { opacity: 1; }
	100% { transform: translate(12px, 56px) rotate(180deg); opacity: 0; }
}
@keyframes txv-temp { from { fill: var(--v1); } to { fill: var(--v2); } }
@keyframes txv-level { from { transform: scaleY(0.28); } to { transform: scaleY(0.92); } }
@keyframes txv-heat {
	0% { transform: translateY(10px); opacity: 0; }
	40% { opacity: 0.9; }
	100% { transform: translateY(-36px); opacity: 0; }
}
@keyframes txv-flow-long { from { stroke-dashoffset: 70; } to { stroke-dashoffset: -130; } }
@keyframes txv-ecg { from { stroke-dashoffset: 126; } to { stroke-dashoffset: 0; } }
@keyframes txv-beat {
	0%, 100% { transform: scale(1); }
	14% { transform: scale(1.14); }
	28% { transform: scale(1); }
	42% { transform: scale(1.08); }
	70% { transform: scale(1); }
}
@keyframes txv-ring {
	0% { transform: scale(1); opacity: 0.8; }
	100% { transform: scale(1.55); opacity: 0; }
}
@keyframes txv-ring-out {
	0% { transform: scale(0.92); opacity: 0.7; }
	100% { transform: scale(1.22); opacity: 0; }
}
@keyframes txv-slide { from { transform: translateX(-42px); } to { transform: translateX(42px); } }
@keyframes txv-rung {
	0%, 100% { transform: scaleX(1); }
	50% { transform: scaleX(-1); }
}
@keyframes txv-steam {
	0% { stroke-dashoffset: 100; transform: translateY(8px); opacity: 0; }
	30% { opacity: 0.9; }
	100% { stroke-dashoffset: -55; transform: translateY(-14px); opacity: 0; }
}
@keyframes txv-stalk { from { transform: rotate(-4deg); } to { transform: rotate(4deg); } }
@keyframes txv-spiral {
	0% { stroke-dashoffset: 100; }
	45%, 85% { stroke-dashoffset: 0; }
	100% { stroke-dashoffset: -100; }
}
@keyframes txv-swing { from { transform: rotate(-10deg); } to { transform: rotate(10deg); } }
@keyframes txv-bar { from { transform: scaleY(0.18); } to { transform: scaleY(1); } }
@keyframes txv-arm { from { transform: rotate(-2deg); } to { transform: rotate(3deg); } }
@keyframes txv-wave { from { opacity: 0.12; } to { opacity: 1; } }
@keyframes txv-float {
	0% { transform: translate(0, 10px) rotate(-8deg); opacity: 0; }
	20% { opacity: 1; }
	80% { opacity: 1; }
	100% { transform: translate(18px, -80px) rotate(14deg); opacity: 0; }
}
@keyframes txv-glow { from { opacity: 0.45; } to { opacity: 1; } }
@keyframes txv-glow-text { from { fill-opacity: 0.55; } to { fill-opacity: 1; } }

/* Елементот „Векторска анимација“ */
.tpb-vector {
	position: relative;
	display: inline-block;
	width: 280px;
	max-width: 100%;
	vertical-align: top;
}

.tpb-vector--float {
	animation: tpb-float 6s ease-in-out infinite;
}

.tpb-vector--glow::before {
	content: "";
	position: absolute;
	inset: 8%;
	z-index: -1;
	border-radius: 50%;
	background: radial-gradient(circle, color-mix(in srgb, var(--tx-accent) 35%, transparent), transparent 70%);
	filter: blur(20px);
}

.tx-tone-light .tx-header .tx-lang a,
.tx-tone-light .tx-header .tx-lang button {
	color: var(--tx-ink);
}

/* Градинарчиња (широка лента) */
.tx-vec--gardener { color: var(--tx-accent); }
.tx-vec--gardener .txv-g-ground { opacity: 0.35; }
.tx-vec--gardener .txv-g-ground--soil { opacity: 0.25; }
.txv-g-bend { --d: 1.4s; animation-name: txv-g-bend; animation-direction: alternate; }
.txv-g-dig { --d: 0.7s; animation-name: txv-g-dig; animation-direction: alternate; }
.txv-g-soil { --d: 1.4s; animation-name: txv-g-soil; animation-timing-function: ease-out !important; }
.txv-g-walk { --d: 22s; animation-name: txv-g-walk; animation-timing-function: linear !important; }
.txv-g-bob { --d: 0.5s; animation-name: txv-g-bob; animation-direction: alternate; }
.txv-g-leg { --d: 0.5s; animation-name: txv-g-leg; animation-direction: alternate; }
.txv-g-leg--b { animation-delay: -0.5s; }
.txv-g-plant-arm { --d: 1.1s; animation-name: txv-g-plant; animation-direction: alternate; }
.txv-g-sprout { --d: 6s; animation-name: txv-g-sprout; }
.txv-g-plant { --d: 4s; animation-name: txv-flutter-sm; animation-direction: alternate; }

@keyframes txv-g-bend { from { transform: rotate(0); } to { transform: rotate(10deg); } }
@keyframes txv-g-dig { from { transform: rotate(-22deg); } to { transform: rotate(18deg); } }
@keyframes txv-g-soil {
	0% { transform: translate(0, 0); opacity: 0; }
	20% { opacity: 1; }
	100% { transform: translate(26px, -22px); opacity: 0; }
}
@keyframes txv-g-walk { from { transform: translateX(-80px); } to { transform: translateX(1280px); } }
@keyframes txv-g-bob { from { transform: translateY(0); } to { transform: translateY(-3px); } }
@keyframes txv-g-leg { from { transform: rotate(-22deg); } to { transform: rotate(22deg); } }
@keyframes txv-g-plant { from { transform: rotate(-10deg); } to { transform: rotate(26deg); } }
@keyframes txv-g-sprout {
	0%, 20% { transform: scale(0.1); }
	45%, 90% { transform: scale(1); }
	100% { transform: scale(0.1); }
}

.tx-product-strip {
	position: relative;
	margin: clamp(1.5rem, 4vw, 3rem) auto 0;
	max-width: 1200px;
	pointer-events: none;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}

.tx-product-strip .tx-vec {
	width: 100%;
}

/* Режим „топло“ кај векторите за клима */
html[data-climate="warm"] .tx-vec--ac { --v1: #ff8a3d; --v5: #ffc08f; }
html[data-climate="warm"] .tx-vec--snowflake { --v1: #ff8a3d; --v2: #ffd3b0; --v5: #ffc08f; }
html[data-climate="warm"] .tx-vec--wind { --v1: #ff8a3d; --v2: #ffd3b0; }

/* ==========================================================================
   3. Честички (ливчиња, снегулки, ноти…)
   ========================================================================== */
.tx-ambient {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
	--amb-1: var(--tx-accent);
	--amb-2: color-mix(in srgb, var(--tx-accent) 50%, #fff);
	--amb-3: #fff;
}

.tx-ambient--site {
	position: fixed;
	z-index: 880;
	opacity: 0.85;
}

.tx-p {
	position: absolute;
	left: var(--x, 50%);
	top: -40px;
	width: var(--s, 12px);
	height: var(--s, 12px);
	will-change: transform;
	animation: txp-fall var(--d, 12s) linear var(--t, 0s) infinite;
}

.tx-p--rise {
	top: auto;
	bottom: -40px;
	animation-name: txp-rise;
}

.tx-p--twinkle {
	top: var(--y, 50%);
	animation-name: txp-twinkle;
	animation-timing-function: ease-in-out;
}

.tx-p > b {
	display: block;
	width: 100%;
	height: 100%;
	background: var(--c, var(--amb-1));
	opacity: var(--o, 0.85);
	animation: txp-sway calc(var(--d, 12s) / 4) ease-in-out var(--t, 0s) infinite alternate;
}

.tx-p--twinkle > b {
	animation: none;
}

.is-paused .tx-p,
.is-paused .tx-p > b {
	animation-play-state: paused;
}

/* Облици */
.tx-p--petal > b { border-radius: 0 80% 0 80%; }
.tx-p--dot > b { border-radius: 50%; }
.tx-p--glow > b { border-radius: 50%; filter: blur(3px); }
.tx-p--grain > b { border-radius: 50% 50% 50% 50% / 62% 62% 38% 38%; }
.tx-p--bubble > b { border-radius: 50%; background: transparent; border: 2px solid var(--c, var(--amb-1)); }

.tx-p--leaf > b,
.tx-p--snow > b,
.tx-p--plus > b,
.tx-p--note > b,
.tx-p--note2 > b,
.tx-p--star > b,
.tx-p--wisp > b {
	-webkit-mask: var(--m) center / contain no-repeat;
	mask: var(--m) center / contain no-repeat;
}

.tx-p--leaf { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 22C2 10 10 2 22 2c0 12-8 20-20 20z'/%3E%3C/svg%3E"); }
.tx-p--snow { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M12 1v22M2.5 6.5l19 11M2.5 17.5l19-11M9 3l3 2.5L15 3M9 21l3-2.5 3 2.5'/%3E%3C/svg%3E"); }
.tx-p--plus { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 2h6v7h7v6h-7v7H9v-7H2V9h7z'/%3E%3C/svg%3E"); }
.tx-p--note { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3v12.3A3.5 3.5 0 1 0 11 18V8h8V3z'/%3E%3C/svg%3E"); }
.tx-p--note2 { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 4l13-3v14.5A3 3 0 1 1 19 13V6L10 8v10.5A3 3 0 1 1 8 16z'/%3E%3C/svg%3E"); }
.tx-p--star { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0l3 9 9 3-9 3-3 9-3-9-9-3 9-3z'/%3E%3C/svg%3E"); }
.tx-p--wisp { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 60' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M10 58C2 48 18 38 10 28S2 10 10 2'/%3E%3C/svg%3E"); }
.tx-p--snowdrop { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1c.4 2.6 1.4 4 3 5-3.4.2-5.8 3.6-5 9.4 1.2-1.8 2.2-2.6 2.2-2.6s1 1.2 2 3.4c2.4-3.4 3-7.6 1-10.2l-.8-.4C13.6 4.4 12.8 3 12 1z'/%3E%3C/svg%3E"); }
.tx-p--maple { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1l2 4 3-1-1 4 4 1-3 3 2 3-4-1v4h-2v-4l-4 1 2-3-3-3 4-1-1-4 3 1z'/%3E%3C/svg%3E"); }
.tx-p--snowdrop > b,
.tx-p--maple > b {
	-webkit-mask: var(--m) center / contain no-repeat;
	mask: var(--m) center / contain no-repeat;
}
.tx-ambient[hidden] { display: none; }
.tx-p--wisp { width: calc(var(--s, 30px) * 0.4); height: var(--s, 30px); }
.tx-p--wisp > b { filter: blur(1.5px); }

@keyframes txp-fall {
	from { transform: translate3d(0, 0, 0); }
	to { transform: translate3d(var(--dx, 0), calc(var(--h, 700px) + 80px), 0); }
}

@keyframes txp-rise {
	0% { transform: translate3d(0, 0, 0); opacity: 0; }
	12% { opacity: 1; }
	85% { opacity: 1; }
	100% { transform: translate3d(var(--dx, 0), calc(-1 * var(--h, 700px) - 80px), 0); opacity: 0; }
}

@keyframes txp-sway {
	from { transform: translateX(-12px) rotate(0); }
	to { transform: translateX(12px) rotate(var(--rot, 160deg)); }
}

@keyframes txp-twinkle {
	0%, 100% { transform: scale(0.3); opacity: 0; }
	50% { transform: scale(1); opacity: 1; }
}

/* Честички и облици во секциите на Page Builder */
.tpb-section > .tx-ambient {
	z-index: 1;
}

.tpb-layout-full > .tx-ambient,
.tpb-section > .tpb-shape {
	z-index: 3;
}

/* ==========================================================================
   4. Сцени (заглавија на страниците и подножје)
   ========================================================================== */
.tx-ph-scene {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	z-index: 1;
	pointer-events: none;
}

.tx-scene {
	display: block;
	width: 100%;
	height: clamp(110px, 15vw, 220px);
}

.tx-ph .tx-ambient {
	z-index: 0;
}

/* Градина */
.tx-ph--garden {
	background: radial-gradient(120% 90% at 80% 0%, color-mix(in srgb, var(--tx-accent) 55%, #0c1f14) 0%, #0f2418 55%, #0a1a10 100%);
}

.tx-ph--garden .tx-orb {
	display: none;
}

.tx-ph-sunglow {
	position: absolute;
	top: -20%;
	right: 6%;
	width: 46vw;
	max-width: 620px;
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 220, 120, 0.42), rgba(255, 220, 120, 0) 65%);
	animation: tx-glow-breathe 7s ease-in-out infinite alternate;
}

.tx-ph-sunglow--warm {
	background: radial-gradient(circle, rgba(255, 180, 80, 0.4), rgba(255, 180, 80, 0) 65%);
}

@keyframes tx-glow-breathe {
	from { transform: scale(0.92); opacity: 0.75; }
	to { transform: scale(1.08); opacity: 1; }
}

.tx-scene__l1 { fill: color-mix(in srgb, var(--tx-accent) 70%, #0b1f12); }
.tx-scene__l2 { fill: color-mix(in srgb, var(--tx-accent) 45%, #0b1f12); }
.tx-scene__l3 { fill: var(--tx-scene-ground, var(--tx-paper)); }
.tx-scene__stem { fill: none; stroke: #2f6b25; stroke-width: 3; stroke-linecap: round; }
.tx-scene__petals--0 { fill: #ff8fb7; }
.tx-scene__petals--1 { fill: #ffd25e; }
.tx-scene__petals--2 { fill: #ffffff; }
.tx-scene__core { fill: #ffb21f; }

.tx-scene__grow {
	animation: tx-flower-grow 1.6s var(--tx-ease) both;
}

.tx-scene__flower {
	animation: txv-sway 5s ease-in-out infinite alternate;
}

.tx-scene__petals {
	animation: txv-spin 30s linear infinite;
}

@keyframes tx-flower-grow {
	from { transform: scale(0); }
	to { transform: scale(1); }
}

/* Клима */
.tx-ph--climate {
	background: #081a2e;
}

.tx-ph--climate .tx-orb {
	display: none;
}

.tx-ph-half {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 60%;
	transition: opacity 0.8s;
}

.tx-ph-half--cold {
	left: 0;
	background: radial-gradient(90% 120% at 0% 30%, rgba(47, 168, 255, 0.55), rgba(47, 168, 255, 0) 70%);
}

.tx-ph-half--warm {
	right: 0;
	background: radial-gradient(90% 120% at 100% 70%, rgba(255, 122, 47, 0.42), rgba(255, 122, 47, 0) 70%);
	opacity: 0.55;
}

html[data-climate="warm"] .tx-ph-half--warm { opacity: 1; }
html[data-climate="warm"] .tx-ph-half--cold { opacity: 0.4; }

.tx-ambient--cold {
	right: 45%;
}

.tx-ambient--warm {
	left: 55%;
	--amb-1: #ff8a3d;
	--amb-2: #ffc06e;
}

.tx-scene__air {
	fill: none;
	stroke: rgba(255, 255, 255, 0.28);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-dasharray: 220 120;
	animation: tx-air 9s linear infinite;
}

@keyframes tx-air {
	to { stroke-dashoffset: -1020; }
}

.tx-ph-scene--climate {
	top: 0;
	bottom: auto;
	height: 100%;
	opacity: 0.8;
}

.tx-ph-scene--climate .tx-scene {
	height: 100%;
}

/* Медицина (светло заглавие) */
.tx-ph--pulse {
	background: linear-gradient(180deg, #ffffff 0%, var(--tx-paper) 100%);
	color: var(--tx-ink);
}

.tx-ph--pulse .tx-orb {
	opacity: 0.35;
}

.tx-ph--pulse .tx-page-title,
.tx-ph--pulse .tx-page-subtitle,
.tx-ph--pulse .tx-ph-eyebrow,
.tx-ph--pulse .tx-breadcrumbs,
.tx-ph--pulse .tx-breadcrumbs a {
	color: var(--tx-ink);
}

.tx-ph--pulse .tx-ph-word span {
	-webkit-text-stroke-color: rgba(0, 0, 0, 0.06);
}

.tx-ph-grid-med {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(211, 20, 58, 0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(211, 20, 58, 0.06) 1px, transparent 1px);
	background-size: 32px 32px;
	-webkit-mask: linear-gradient(180deg, #000, transparent 90%);
	mask: linear-gradient(180deg, #000, transparent 90%);
}

.tx-ph-scene--pulse {
	top: 50%;
	bottom: auto;
	transform: translateY(-10%);
	opacity: 0.9;
}

.tx-scene--ecg {
	height: clamp(90px, 12vw, 170px);
}

.tx-scene__ecg-bg {
	fill: none;
	stroke: color-mix(in srgb, var(--tx-accent) 18%, transparent);
	stroke-width: 2;
	vector-effect: non-scaling-stroke;
}

.tx-scene__ecg {
	fill: none;
	stroke: var(--tx-accent);
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-dasharray: 14 100;
	vector-effect: non-scaling-stroke;
	animation: tx-ecg 4.5s linear infinite;
	filter: drop-shadow(0 0 6px color-mix(in srgb, var(--tx-accent) 60%, transparent));
}

@keyframes tx-ecg {
	from { stroke-dashoffset: 114; }
	to { stroke-dashoffset: 0; }
}

.tx-ph-scan {
	position: absolute;
	right: max(var(--tx-gutter), calc((100vw - var(--tx-container)) / 2));
	top: 50%;
	width: clamp(140px, 18vw, 250px);
	transform: translateY(-40%);
	opacity: 0.95;
}

.tx-ph--pulse .tx-ambient {
	--amb-1: color-mix(in srgb, var(--tx-accent) 45%, transparent);
	--amb-2: rgba(47, 168, 255, 0.4);
}

/* Жетва */
.tx-ph--harvest {
	background: radial-gradient(110% 100% at 70% 0%, #5a3a1c 0%, #2a1c12 60%, #1d140c 100%);
}

.tx-ph--harvest .tx-orb {
	display: none;
}

.tx-ph--harvest .tx-scene__l1,
.tx-footer-art--wheat .tx-scene__l1 {
	fill: #4a3018;
}

.tx-ph--harvest .tx-scene__l2,
.tx-footer-art--wheat .tx-scene__l2 {
	fill: var(--tx-scene-ground, var(--tx-paper));
}

.tx-scene__stalk {
	transform-origin: 0 0;
	animation: txv-stalk 3.6s ease-in-out infinite alternate;
}

.tx-scene__stalk path {
	fill: none;
	stroke: #c48b2c;
	stroke-width: 2.5;
	stroke-linecap: round;
}

.tx-scene__stalk ellipse {
	fill: #e0aa45;
}

.tx-ph--harvest .tx-ambient {
	--amb-1: #e0aa45;
	--amb-2: #f3d9a7;
}

.tx-ph-steam {
	position: absolute;
	right: max(var(--tx-gutter), calc((100vw - var(--tx-container)) / 2));
	top: 28%;
	width: clamp(120px, 15vw, 210px);
	opacity: 0.9;
}

/* Еквилајзер */
.tx-ph--equalizer {
	background: radial-gradient(80% 120% at 85% 10%, color-mix(in srgb, var(--tx-accent) 35%, transparent), transparent 60%), radial-gradient(70% 100% at 10% 90%, rgba(123, 77, 255, 0.4), transparent 60%), #09080f;
}

.tx-ph--equalizer .tx-orb {
	display: none;
}

.tx-ph-neon {
	position: absolute;
	inset: 0;
	background: repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.03) 0 1px, transparent 1px 4px);
}

.tx-scene__bar {
	fill: var(--tx-accent);
	opacity: 0.55;
	transform-origin: 0 0;
	animation: txv-bar 0.9s ease-in-out infinite alternate;
}

.tx-scene--eq g:nth-child(3n) .tx-scene__bar {
	fill: #7b4dff;
}

.tx-scene__wave {
	fill: none;
	stroke: rgba(255, 255, 255, 0.35);
	stroke-width: 2;
	stroke-dasharray: 10 8;
	animation: tx-air 14s linear infinite;
}

/* Подножје */
.tx-footer-art {
	position: relative;
	z-index: 2;
	margin-bottom: -2px;
	pointer-events: none;
	line-height: 0;
	--tx-scene-ground: var(--tx-footer-bg, var(--tx-ink));
}

.tx-footer-art .tx-scene {
	height: clamp(80px, 11vw, 160px);
}

.tx-footer-art--ecg {
	background: var(--tx-footer-bg, var(--tx-ink));
	padding-top: 1.5rem;
}

.tx-footer-art--ecg .tx-scene {
	height: 70px;
}

.tx-footer-art--eq,
.tx-footer-art--airflow {
	background: var(--tx-footer-bg, var(--tx-ink));
}

.tx-footer-art--eq .tx-scene {
	height: 90px;
}

.tx-footer-art--airflow .tx-scene {
	height: 70px;
}

.tx-footer-art--airflow .tx-scene__air {
	stroke-width: 3;
	stroke-dasharray: 260 140;
	opacity: 0.8;
}

.tx-footer-art + .tx-footer {
	padding-top: clamp(3rem, 6vw, 5rem);
}

/* ==========================================================================
   5. Прелоадер со вектор
   ========================================================================== */
.tx-preloader__art {
	width: 150px;
}

.tx-preloader--bloom .tx-preloader__logo,
.tx-preloader--fan .tx-preloader__logo,
.tx-preloader--ecg .tx-preloader__logo,
.tx-preloader--steam .tx-preloader__logo,
.tx-preloader--eq .tx-preloader__logo {
	width: auto;
	height: auto;
}

.tx-preloader--bloom .tx-preloader__ring,
.tx-preloader--fan .tx-preloader__ring,
.tx-preloader--ecg .tx-preloader__ring,
.tx-preloader--steam .tx-preloader__ring,
.tx-preloader--eq .tx-preloader__ring {
	display: none;
}

.tx-preloader--bloom .tx-preloader__mark,
.tx-preloader--fan .tx-preloader__mark,
.tx-preloader--ecg .tx-preloader__mark,
.tx-preloader--steam .tx-preloader__mark,
.tx-preloader--eq .tx-preloader__mark {
	animation: none;
	max-height: 46px;
}

.tx-preloader__line {
	width: 160px;
	height: 3px;
	border-radius: 3px;
	background: rgba(255, 255, 255, 0.12);
	overflow: hidden;
}

.tx-preloader__line i {
	display: block;
	height: 100%;
	width: calc(var(--tx-progress, 0) * 100%);
	background: var(--tx-accent);
	border-radius: inherit;
	transition: width 0.25s linear;
}

/* ==========================================================================
   6. Транзиции од скиновите
   ========================================================================== */
.tx-transition__art {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	width: clamp(110px, 14vw, 170px);
	opacity: 0;
	transform: translate(-50%, -50%) scale(0.6);
	transition: opacity 0.4s, transform 0.6s var(--tx-ease);
}

.tx-leaving .tx-transition__art,
.tx-entering .tx-transition__art {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
	transition-delay: 0.2s;
}

.tx-entered .tx-transition__art {
	opacity: 0;
	transform: translate(-50%, -50%) scale(1.2);
	transition: opacity 0.3s, transform 0.5s;
}

.tx-transition--bloom .tx-transition__panel,
.tx-transition--frost .tx-transition__panel,
.tx-transition--pulse .tx-transition__panel,
.tx-transition--curtain .tx-transition__panel,
.tx-transition--wave .tx-transition__panel {
	transform: none;
}

.tx-transition--bloom .tx-transition__panel::before,
.tx-transition--pulse .tx-transition__panel::before,
.tx-transition--wave .tx-transition__panel::before {
	display: none;
}

.tx-transition__panel > i:nth-child(n+6) {
	display: none;
}

/* Цвет: круг што се шири од средината */
.tx-transition--bloom .tx-transition__panel {
	background: radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--tx-accent) 80%, #fff) 0%, var(--tx-accent) 40%, color-mix(in srgb, var(--tx-accent) 55%, #0b1f12) 100%);
	clip-path: circle(0% at 50% 50%);
}

.tx-leaving .tx-transition--bloom .tx-transition__panel {
	clip-path: circle(75% at 50% 50%);
	transition: clip-path 0.7s var(--tx-ease-io);
}

.tx-entering .tx-transition--bloom .tx-transition__panel {
	clip-path: circle(75% at 50% 50%);
}

.tx-entered .tx-transition--bloom .tx-transition__panel {
	clip-path: circle(0% at 50% 50%);
	transition: clip-path 0.8s var(--tx-ease-io);
}

/* Мраз и топлина: две половини се среќаваат во средина */
.tx-transition--frost .tx-transition__panel {
	background: transparent;
}

.tx-transition--frost .tx-transition__panel::before,
.tx-transition--frost .tx-transition__panel::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 50.5%;
	height: auto;
	border-radius: 0;
	transition: transform 0.65s var(--tx-ease-io);
}

.tx-transition--frost .tx-transition__panel::before {
	left: 0;
	inset: 0 auto 0 0;
	background: linear-gradient(120deg, #06213d, #0a6fd0);
	transform: translateX(-101%);
}

.tx-transition--frost .tx-transition__panel::after {
	right: 0;
	background: linear-gradient(240deg, #3a1306, #e0551f);
	transform: translateX(101%);
}

.tx-leaving .tx-transition--frost .tx-transition__panel::before,
.tx-leaving .tx-transition--frost .tx-transition__panel::after,
.tx-entering .tx-transition--frost .tx-transition__panel::before,
.tx-entering .tx-transition--frost .tx-transition__panel::after {
	transform: translateX(0);
}

.tx-entering .tx-transition--frost .tx-transition__panel::before,
.tx-entering .tx-transition--frost .tx-transition__panel::after {
	transition: none;
}

.tx-entered .tx-transition--frost .tx-transition__panel::before {
	transform: translateX(-101%);
	transition-duration: 0.8s;
}

.tx-entered .tx-transition--frost .tx-transition__panel::after {
	transform: translateX(101%);
	transition-duration: 0.8s;
}

.tx-transition--frost .tx-vec--snowflake {
	--v1: #fff;
	--v2: rgba(255, 255, 255, 0.4);
}

/* Пулс: бел панел со ЕКГ линија */
.tx-transition--pulse .tx-transition__panel {
	background: #fff;
	transform: translateX(-101%);
}

.tx-leaving .tx-transition--pulse .tx-transition__panel {
	transform: translateX(0);
	transition: transform 0.65s var(--tx-ease-io);
}

.tx-entering .tx-transition--pulse .tx-transition__panel {
	transform: translateX(0);
}

.tx-entered .tx-transition--pulse .tx-transition__panel {
	transform: translateX(101%);
	transition: transform 0.8s var(--tx-ease-io);
}

.tx-transition--pulse .tx-transition__art {
	width: clamp(160px, 22vw, 260px);
}

/* Завеса: топол панел со брановит раб одозгора */
.tx-transition--curtain .tx-transition__panel {
	background: #2a1c12;
	transform: translateY(-105%);
}

.tx-transition--curtain .tx-transition__panel::before {
	inset: auto 0 -40px;
	top: auto;
	height: 42px;
	background: radial-gradient(circle at 30px -10px, #2a1c12 31px, transparent 32px) 0 0 / 60px 42px repeat-x;
	border-radius: 0;
	transform: none;
}

.tx-leaving .tx-transition--curtain .tx-transition__panel {
	transform: translateY(0);
	transition: transform 0.7s var(--tx-ease-io);
}

.tx-entering .tx-transition--curtain .tx-transition__panel {
	transform: translateY(0);
}

.tx-entered .tx-transition--curtain .tx-transition__panel {
	transform: translateY(-110%);
	transition: transform 0.8s var(--tx-ease-io);
}

/* Бран: столбови на еквилајзер */
.tx-transition--wave .tx-transition__panel {
	display: flex;
	align-items: flex-end;
	background: transparent;
}

.tx-transition--wave .tx-transition__panel > i,
.tx-transition--wave .tx-transition__panel > i:nth-child(n+6) {
	display: block;
	flex: 1 1 0;
	height: 100%;
	margin-left: -1px;
	background: linear-gradient(180deg, var(--tx-accent), #7b4dff 60%, #09080f);
	transform: scaleY(0);
	transform-origin: bottom;
}

.tx-leaving .tx-transition--wave .tx-transition__panel > i,
.tx-entering .tx-transition--wave .tx-transition__panel > i {
	transform: scaleY(1);
}

.tx-leaving .tx-transition--wave .tx-transition__panel > i {
	transition: transform 0.5s var(--tx-ease-io);
}

.tx-entered .tx-transition--wave .tx-transition__panel > i {
	transform: scaleY(0);
	transform-origin: top;
	transition: transform 0.6s var(--tx-ease-io);
}

.tx-transition--wave .tx-transition__panel > i:nth-child(2n) { transition-delay: 0.06s !important; }
.tx-transition--wave .tx-transition__panel > i:nth-child(3n) { transition-delay: 0.12s !important; }
.tx-transition--wave .tx-transition__panel > i:nth-child(5n) { transition-delay: 0.18s !important; }

/* ==========================================================================
   7. Маски на сликите (органски облици)
   ========================================================================== */
[class*="tpb-mask--"] .tpb-image__frame {
	overflow: hidden;
	box-shadow: none;
}

[class*="tpb-mask--"] .tpb-image__frame img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
}

[class*="tpb-mask--"] .tpb-image__frame {
	filter: drop-shadow(0 26px 40px rgba(0, 0, 0, 0.18));
}

.tpb-mask--blob .tpb-image__frame {
	border-radius: 58% 42% 38% 62% / 52% 38% 62% 48%;
	animation: tx-blob 14s ease-in-out infinite alternate;
}

.tpb-mask--arch .tpb-image__frame {
	border-radius: 999px 999px 24px 24px;
}

.tpb-mask--leaf .tpb-image__frame {
	border-radius: 0 46% 0 46%;
}

.tpb-mask--circle .tpb-image__frame {
	border-radius: 50%;
	aspect-ratio: 1 !important;
}

.tpb-mask--hex .tpb-image__frame {
	clip-path: polygon(25% 3%, 75% 3%, 100% 50%, 75% 97%, 25% 97%, 0 50%);
}

.tpb-mask--drop .tpb-image__frame {
	border-radius: 50% 50% 50% 0;
}

@keyframes tx-blob {
	0% { border-radius: 58% 42% 38% 62% / 52% 38% 62% 48%; }
	50% { border-radius: 40% 60% 60% 40% / 40% 58% 42% 60%; }
	100% { border-radius: 62% 38% 46% 54% / 60% 44% 56% 40%; }
}

/* ==========================================================================
   8. Без движење
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	.tx-vec *,
	.tx-scene *,
	.tx-ambient,
	.tx-header__onair i,
	.tx-header__onair b span,
	.tpb-mask--blob .tpb-image__frame {
		animation: none !important;
	}

	.tx-ambient {
		display: none;
	}
}
