/*
 * Minimal overrides on top of the site's own CSS bundle — only what the
 * removed WordPress/Elementor JS used to do at runtime.
 */

/* jquery.sticky used to pin the header; native sticky does the same. */
[data-elementor-type="header"] {
	position: sticky;
	top: 0;
	z-index: 1000;
}

.menu-item {
	cursor: pointer;
}

/* SmartMenus JS opened dropdowns; CSS hover/focus replaces it. */
.elementor-nav-menu--main .menu-item-has-children {
	position: relative;
}

.elementor-nav-menu--main .menu-item-has-children > ul.sub-menu {
	display: block;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 1001;

	opacity: 0;
	visibility: hidden;

	transition:
		opacity 0.3s ease,
		visibility 0.3s ease;
	transition-delay: 0.15s;
}
.elementor-nav-menu--main .menu-item-has-children:hover > ul.sub-menu,
.elementor-nav-menu--main .menu-item-has-children:focus-within > ul.sub-menu {
	transition-delay: 0s;
	opacity: 1;
	visibility: visible;
}

/* The submenu sits ~10px below the trigger (its margin-top); an invisible
   bridge keeps :hover alive while the pointer crosses the gap. */
.elementor-nav-menu--main .menu-item-has-children > ul.sub-menu::before {
	content: "";
	position: absolute;
	top: -16px;
	left: 0;
	right: 0;
	height: 16px;
}

/* Mobile menu visibility is toggled by site.js via .elementor-active. */
.elementor-nav-menu--dropdown.elementor-nav-menu__container {
	display: none;
}
.elementor-nav-menu--dropdown.elementor-nav-menu__container.elementor-active {
	display: block;
}

/* Footer legal links (Privacy / Terms / Cookie Policy): underline via
   bottom border, transparent until hovered. */
[data-elementor-type="footer"] .elementor-element-7b4b1206 a {
	border-bottom: 1px solid transparent;
	transition: border-color 0.2s ease;
}
[data-elementor-type="footer"] .elementor-element-7b4b1206 a:hover {
	border-bottom-color: currentColor;
}

/* Copyright "|" delimiter matches the footer divider color
   (--divider-color on .elementor-element-4dafe39). */
[data-elementor-type="footer"] .copyright-separator {
	color: #292936;
	margin: 0 4px;
}

/* Footer link columns: the Support/Company pairs are wrapped by the
   extractor; desktop keeps them stacked in one cell (same 24px rhythm),
   mobile promotes them so the six blocks align in a 3×2 grid. */
.glg-footer-subcol {
	display: flex;
	flex-direction: column;
	row-gap: 24px;
}
@media (max-width: 767px) {
	.elementor-45332 .elementor-element.elementor-element-8367102 {
		--e-con-grid-template-columns: repeat(2, 1fr);
		--column-gap: 16px;
	}
	.elementor-45332 .elementor-element.elementor-element-3e0be4b {
		display: contents;
	}
	.glg-footer-menu_grid > .e-con {
		grid-column: auto !important;
	}
	/* The Company heading's 16px top margin is desktop-only spacing
     (below Support in the shared cell); in the 3×2 grid it misaligns. */
	.elementor-45332 .elementor-element.elementor-element-816a687 {
		margin-top: 0;
	}
}

/* The Company heading's 16px top margin is desktop-only spacing
     (below Support in the shared cell); in the 3×2 grid it misaligns. */
.elementor-45332 .elementor-element.elementor-element-816a687 {
	margin-top: 0;
}

/* Polish footer (elementor-110298): "Porównaj" (Compare) has no localized
   pages so that column is omitted, leaving five link columns — Produkt,
   Zasoby i narzędzia, Przypadki użycia, Wsparcie, Firma — above the
   download strip. Promote the Support/Company subcol to standalone columns
   and spread the five blocks evenly. grid-template-columns is set directly
   (with !important) so it beats the base var()-driven value, which
   otherwise wins in the 768–1024px band regardless of source order. */
@media (min-width: 768px) {
	.elementor-110298 .elementor-element.elementor-element-8367102 {
		grid-template-columns: repeat(5, 1fr) !important;
	}
	.elementor-110298 .elementor-element.elementor-element-3e0be4b {
		display: contents;
	}
	.elementor-110298 .glg-footer-menu_grid > .e-con {
		grid-column: auto !important;
	}
}

/* Mobile and tablet header: burger icon sits in the right corner,
   after the CTA (the hamburger shows below Elementor's 1025px desktop
   breakpoint). */
@media (max-width: 1024px) {
	[data-elementor-type="header"]
		.elementor-widget-nav-menu:has(.elementor-menu-toggle) {
		order: 99;
	}
	[data-elementor-type="header"] .elementor-menu-toggle {
		margin-right: 0;
	}
}

/* Mobile/tablet burger menu: fullscreen panel below the sticky header.
   The menu's Sign In / language items sit at the bottom, followed by the
   Trial CTA which site.js moves in on open (and restores on close). */
@media (max-width: 1024px) {
	body.gl-menu-open {
		overflow: hidden;
	}
	[data-elementor-type="header"]
		.elementor-nav-menu--dropdown.elementor-nav-menu__container.elementor-active {
		position: fixed;
		top: var(--gl-header-h, 64px);
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		max-width: none;
		max-height: none;
		height: auto;
		margin-top: 0;
		overflow: hidden;
		z-index: 1002;
		display: flex;
		flex-direction: column;
		background: #fff;
		padding: 8px 4px 0;
		/* per-widget Elementor rules re-add the dropdown shadow — the
       fullscreen panel has none */
		box-shadow: none !important;
		border-radius: 0;
	}
	/* Section 1: the menu list scrolls on its own... */
	.elementor-nav-menu--dropdown.elementor-active > ul.elementor-nav-menu {
		display: flex;
		flex-direction: column;
		flex: 1 1 auto;
		min-height: 0;
		overflow-y: auto;
	}
	/* ...section 2: the button footer stays on screen. */
	.gl-menu-footer {
		flex-shrink: 0;
		background: #fff;
		padding: 12px 24px calc(20px + env(safe-area-inset-bottom, 0px));
		display: flex;
		flex-direction: column;
		gap: 4px;
	}
	.gl-menu-cta .elementor-button {
		display: flex;
		justify-content: center;
		width: 100%;
		padding: 16px 0 !important;
		color: #fff !important;
	}
	/* The dropdown's generic a:hover rule paints anchors white — keep the
     relocated CTA on its own hover color. */
	.gl-menu-cta .elementor-button:hover,
	.gl-menu-cta .elementor-button:focus {
		background-color: #009375 !important;
		color: #fff !important;
	}
	.gl-menu-signin {
		list-style: none;
		margin: 0;
		padding: 16px 0 0 !important;
		text-align: center;
	}
	.gl-menu-signin li {
		display: block;
	}
	.gl-menu-signin a {
		display: inline-block;
	}
}

/* Mobile/tablet footer: copyright is the very last line (after the
   legal links). */
@media (max-width: 1024px) {
	.elementor-element.elementor-element-79499ef {
		order: 99;
		margin-top: 0.75rem;
	}
}

/* Download page, mobile: Google Play comes first in the download grid. */
@media (max-width: 767px) {
	.glg-download-section .glg-download-android,
	[data-id="4284be7"] > .e-con-inner > .glg-download-android {
		order: -1;
	}
}

/* Videos load lazily via site.js; keep their box before load. */
video[data-src]:not([src]) {
	background: #f6f7f9;
}

[data-id="7a3a0ee"] {
	--display: flex;
	--flex-direction: column;
	--container-widget-width: 100%;
	--container-widget-height: initial;
	--container-widget-flex-grow: 0;
	--container-widget-align-self: initial;
	--flex-wrap-mobile: wrap;
	--margin-top: 40px;
	--margin-bottom: 80px;
	--margin-left: 0px;
	--margin-right: 0px;
	--padding-top: 0%;
	--padding-bottom: 0%;
	--padding-left: 3%;
	--padding-right: 3%;
}

.elementor-67732
	.elementor-element.elementor-element-c6f8a9d
	.elementor-heading-title {
	font-family: "Inter", Sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 12px;
	letter-spacing: -0.01em;
	color: #767676;
	text-decoration: none;
}

[data-id="30e94a0"] > .elementor-element-0d87634 {
	width: 374px;
}

.elementor-element.elementor-element-44bb866 {
	--display: flex;
	--flex-direction: row;
	--container-widget-width: initial;
	--container-widget-height: 100%;
	--container-widget-flex-grow: 1;
	--container-widget-align-self: stretch;
	--flex-wrap-mobile: wrap;
	--justify-content: center;
	--gap: 0px 40px;
	--row-gap: 0px;
	--column-gap: 40px;
	--margin-top: 80px;
	--margin-bottom: 80px;
	--margin-left: 0px;
	--margin-right: 0px;
	--padding-top: 0%;
	--padding-bottom: 0%;
	--padding-left: 3%;
	--padding-right: 3%;
}

.elementor-element .elementor-element-b765240 {
	--border-radius: 20px;
	--row-gap: 12px;
	padding: 10px;
}

.elementor-45324
	.elementor-element.elementor-element-236358e:not(
		.elementor-motion-effects-element-type-background
	) {
	background-position: calc(100% + 20px) 0px;
	background-repeat: no-repeat;
	background-size: 62.5% auto;
}

@media (max-width: 1024px) {
	.elementor-45324
		.elementor-element.elementor-element-236358e:not(
			.elementor-motion-effects-element-type-background
		) {
		background-position: 0 0;
	}
}

@media (min-width: 601px) {
	.elementor-45324 .elementor-element.elementor-element-bac3733 {
		--content-width: 80%;
	}
}

@media (min-width: 601px) {
	.elementor-57510 .elementor-element.elementor-element-7db2d48 {
		min-width: max-content;
	}
	.elementor-57510 .elementor-element.elementor-element-def0984 {
		min-width: max-content;
	}
}

.elementor-67732
	.elementor-element.elementor-element-5a689cb
	.elementor-heading-title {
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-size: var(--e-global-typography-text-font-size);
	font-weight: var(--e-global-typography-text-font-weight);
	line-height: var(--e-global-typography-text-line-height);
	letter-spacing: var(--e-global-typography-text-letter-spacing);
	color: var(--e-global-color-6da2982);
}

.elementor-67732 .elementor-element.elementor-element-39203e3 {
	--e-rating-icon-font-size: 14px;
	--e-rating-gap: 2px;
	--e-rating-icon-marked-color: var(--e-global-color-6da2982);
	--e-rating-icon-color: var(--e-global-color-secondary);
}

.elementor-67732 .elementor-element.elementor-element-ffc2d5d {
	--display: flex;
	--flex-direction: row;
	--container-widget-width: calc(
		(1 - var(--container-widget-flex-grow)) *
		100%
	);
	--container-widget-height: 100%;
	--container-widget-flex-grow: 1;
	--container-widget-align-self: stretch;
	--flex-wrap-mobile: wrap;
	--align-items: center;
	--gap: 16px 16px;
	--row-gap: 16px;
	--column-gap: 16px;
	--margin-top: 24px;
	--margin-bottom: 80px;
	--margin-left: 0px;
	--margin-right: 0px;
}

.elementor-67732
	.elementor-element.elementor-element-5a689cb
	.elementor-heading-title {
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-size: var(--e-global-typography-text-font-size);
	font-weight: var(--e-global-typography-text-font-weight);
	line-height: var(--e-global-typography-text-line-height);
	letter-spacing: var(--e-global-typography-text-letter-spacing);
	color: var(--e-global-color-6da2982);
}

.elementor-67732 .elementor-element.elementor-element-39203e3 {
	--e-rating-icon-font-size: 14px;
	--e-rating-gap: 2px;
	--e-rating-icon-marked-color: var(--e-global-color-6da2982);
	--e-rating-icon-color: var(--e-global-color-secondary);
}

.elementor-67732
	.elementor-element.elementor-element-906b296
	.elementor-heading-title {
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-size: var(--e-global-typography-text-font-size);
	font-weight: var(--e-global-typography-text-font-weight);
	line-height: var(--e-global-typography-text-line-height);
	letter-spacing: var(--e-global-typography-text-letter-spacing);
	color: var(--e-global-color-6da2982);
}

@media (max-width: 1024px) {
	.elementor-45332 .elementor-element.elementor-element-ee7ec9f {
		--padding-left: 0;
		--padding-right: 0;
		--content-width: 90%;
		--padding-block-end: 24px;
	}

	.elementor-45332 .elementor-element.elementor-element-3465078f {
		--padding-left: 0;
		--padding-right: 0;
		--content-width: 90%;
	}

	.elementor-62487 .elementor-element.elementor-element-d82411e {
		--column-gap: 0;
	}

	.elementor-62487 .elementor-element.elementor-element-5215a755 {
		--width: auto;
		--column-gap: 1rem;
	}

	.elementor-45332
		.elementor-element.elementor-element-79499ef.elementor-element {
		margin: 1rem 0;
	}
}

@media (min-width: 1024px) {
	.elementor-45332 .elementor-element.elementor-element-8114d47 {
		--justify-content: space-between;
		--width: auto;
	}

	.elementor-45332 .elementor-element.elementor-element-3465078f {
		--padding-left: 2rem;
		--padding-right: 2rem;
	}
}

@media (max-width: 648px) {
	.elementor-45324 .elementor-element.elementor-element-be507a1 {
		--e-con-grid-template-columns: repeat(5, 1fr);
	}

	.page
		.elementor-62487
		.elementor-element.elementor-element-7a6dbee.elementor-element-7a6dbee.elementor-element-7a6dbee.elementor-element-7a6dbee {
		transition:
			background 0.3s,
			border 0.3s,
			border-radius 0.3s,
			box-shadow 0.3s,
			transform var(--e-transform-transition-duration, 0.4s),
			clip-path 0.3s;
	}

	.page:not(.gl-menu-open)
		.elementor-62487
		.elementor-element.elementor-element-7a6dbee {
		overflow: hidden;
		width: 3.5rem;
		clip-path: rect(0 50px 50px 0);
	}

	.gl-menu-open
		.elementor-62487
		.elementor-element.elementor-element-7a6dbee.elementor-element-7a6dbee.elementor-element-7a6dbee.elementor-element-7a6dbee {
		clip-path: rect(0 200px 50px 0);
	}
}

@media (max-width: 440px) {
	.elementor-62487 .elementor-element.elementor-element-d82411e {
		--column-gap: 0;
	}
}

/* Fix submenu layout */

.elementor-nav-menu li.menu-item:hover {
	color: #000;
}

ul.sub-menu.elementor-nav-menu--dropdown {
	padding: 8px;
}

ul.elementor-nav-menu--dropdown .menu-item a {
	border-inline: 0;
}

header .elementor-nav-menu--main .elementor-nav-menu > .menu-item {
	height: 60px;
}

header .elementor-nav-menu--main ul.sub-menu.elementor-nav-menu--dropdown {
	transform: translateY(-12px);
}

.elementor-nav-menu--main .elementor-nav-menu a {
	transition: 0.1s;
}

.elementor-73482 .elementor-element.elementor-element-bc662c7 {
	--container-max-width: 100%;
}

.elementor-73482 .elementor-element .elementor-button .elementor-button-text {
	white-space: break-spaces;
}

.glg-additionals-input input {
	min-width: 30px;
}

html[lang="vi"]
	.switch-slider.annual-discount
	.switch-slide:nth-child(1).active
	~ .switch-active,
html[lang="ru"]
	.switch-slider.annual-discount
	.switch-slide:nth-child(1).active
	~ .switch-active,
html[lang="de"]
	.switch-slider.annual-discount
	.switch-slide:nth-child(1).active
	~ .switch-active {
	width: calc(36%);
}

html[lang="vi"]
	.switch-slider.annual-discount
	.switch-slide:nth-child(2).active
	~ .switch-active,
html[lang="ru"]
	.switch-slider.annual-discount
	.switch-slide:nth-child(2).active
	~ .switch-active,
html[lang="pl"]
	.switch-slider.annual-discount
	.switch-slide:nth-child(2).active
	~ .switch-active {
	width: calc(60%);
	transform: translateX(calc(66% - 1px));
}

html[lang="pl"]
	.switch-slider.annual-discount
	.switch-slide:nth-child(1).active
	~ .switch-active {
	width: calc(38%);
}

html[lang="de"]
	.switch-slider.annual-discount
	.switch-slide:nth-child(2).active
	~ .switch-active {
	width: calc(64%);
	transform: translateX(calc(55% - 1px));
}

/* Fix pricing A11y */
.switch-slider {
	color: var(--e-global-color-38187ed);
}

.switch-slider .switch-option.active .annual-discount,
.switch-slider .switch-slide.active .annual-discount {
	color: var(--e-global-color-91f619d);
	animation: blink 12.5s ease-in-out infinite;
	animation-fill-mode: both;
}

.pricing-plan_container.pricing-plan_container.pricing-plan_container.pricing-plan_container {
	border-color: var(--e-global-color-49ab4ce);
}

/* business card */

.elementor-73482
.elementor-element.elementor-element.elementor-element-6ff7ff3 {
	border: 2px solid var(--e-global-color-primary);
	background-image:
		linear-gradient(135deg, #fdfdfd 0%, #ffffff 100%),
		linear-gradient(135deg, #ffffff 0%, #676968 35%, #d0d9d7 65%, #ffffff 100%);

	background-size:
		100% 100%,
		100% 100%;
	background-origin: border-box;
	background-clip: padding-box, border-box;
}

.elementor-73482 .elementor-element.elementor-element-6ff7ff3::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 0;
	pointer-events: none;

	/* Dotted texture background */
	background-image: radial-gradient(rgba(0, 0, 0, 0.04) 1.3px, transparent 1px);
	background-size: 9px 10px;

	/* Mask gradient that fades the texture out at 135 degrees */
	-webkit-mask-image: linear-gradient(
		135deg,
		rgba(0, 0, 0, 1) 0%,
		rgba(0, 0, 0, 0) 75%
	);
	mask-image: linear-gradient(
		135deg,
		rgba(0, 0, 0, 1) 0%,
		rgba(0, 0, 0, 0) 75%
	);

	border-radius: 13px;
}

.elementor-73482 .elementor-element.elementor-element-e59940d {
	justify-content: space-between;
}

@media (min-width: 1024px) {
	.elementor-73482 .elementor-element.elementor-element-6ff7ff3 {
		top: -16px;
		padding-top: 40px;
		height: 108%;
	}

	.elementor-73482 .elementor-element.elementor-element-15bc435 {
		position: absolute;
		top: -52px;
		left: -22px;
	}

	.elementor-73482 .elementor-element.elementor-element-f4633d8 {
		transform: translateY(-28px);
	}
}

.elementor-73482 .elementor-element.elementor-element-15bc435 {
	background-color: #fff;
	border: 2px solid var(--e-global-color-primary);
}

.elementor-73482
	.elementor-element.elementor-element-15bc435
	.elementor-heading-title {
	color: var(--e-global-color-91f619d);
}

.elementor-73482 .elementor-element.elementor-element-aa9febc {
	background-color: #fff;
	border: 2px solid var(--e-global-color-primary);
}

.elementor-73482
	.elementor-element.elementor-element-aa9febc
	.elementor-heading-title {
	color: var(--e-global-color-91f619d);
}

.elementor-73482
	.elementor-element.elementor-element-250e562
	.elementor-heading-title {
	font-weight: 500;
	color: var(--e-global-color-91f619d);
}

.pricing-plan_container
	.elementor-element.elementor-element.elementor-element
	h3 {
	line-height: 1.7rem;
}

.plan-table .elementor-element.cell-small,
.plan-table .e-con-inner > .e-child,
.plan-table .row-small:last-child > .e-child {
	border-color: var(--e-global-color-49ab4ce);
}

.plan-table .cell-small:nth-of-type(2) {
	border-color: var(--e-global-color-primary);
	border-width: 2px 2px 0 2px;
	border-top: 1px solid #dbefeb;
}

@media (max-width: 1024px) {
	.elementor-73482 .elementor-element.elementor-element-bfbea78 {
		border-width: 2px;
		border-bottom-color: var(--e-global-color-primary);
	}
}

.elementor-73482 .elementor-element.elementor-element-fcf6329 {
	border-top: 2px solid var(--e-global-color-primary);
}

.plan-table .elementor-element.cell-small:nth-of-type(4) {
	border-color: var(--e-global-color-text);
}

.plan-table
	.row-small:last-of-type
	.elementor-element.elementor-element-9824620 {
	border-color: var(--e-global-color-text);
}

.elementor-73482 .row-small > .elementor-element.elementor-element-4931ec6 {
	border-color: var(--e-global-color-primary);
	border-width: 2px;
	border-top: 1px solid #dbefeb;
}

.switch-slide:not(.active) .annual-discount {
	text-decoration-line: line-through;
	color: #b5b5ba;
}

@keyframes blink {
	/* 0% to 2%: Starts completely unlit */
	0%,
	2% {
		color: #b5b5ba;
		text-shadow: none;
	}

	/* 2.5%: First sharp spark */
	2.5% {
		color: #108d74;
		text-shadow:
			0 0 10px #f3fffd,
			0 0 20px #f3fffd;
	}

	/* 3% to 4.5%: Fails back to starting color */
	3%,
	4.5% {
		color: #b5b5ba;
		text-shadow: none;
	}

	/* 5%: Second quick blink */
	5% {
		color: #108d74;
		text-shadow:
			0 0 10px #f3fffd,
			0 0 20px #f3fffd;
	}

	/* 5.5% to 6.5%: Dark again */
	5.5%,
	6.5% {
		color: #b5b5ba;
		text-shadow: none;
	}

	/* 7% to 8%: Double-blink stutter */
	7%,
	7.8% {
		color: #108d74;
		text-shadow:
			0 0 10px #f3fffd,
			0 0 30px #f3fffd;
	}
	7.4%,
	8% {
		color: #b5b5ba;
		text-shadow: none;
	}

	/* 8.5%: A weak, flickering warm-up buzz */
	8.5% {
		color: #108d74;
		opacity: 0.6;
		text-shadow: 0 0 8px #f3fffd;
	}

	/* 9% to 13%: Final power struggle */
	9% {
		opacity: 1;
		color: #108d74;
		text-shadow: 0 0 30px #f3fffd;
	}
	11%,
	13% {
		color: #b5b5ba;
		text-shadow: none;
	}

	/* 20%: Fully catches light (at the 2.5-second mark) */
	20% {
		color: #108d74;
		text-shadow:
			0 0 4px #f3fffd,
			0 0 10px #f3fffd,
			0 0 20px #f3fffd,
			0 0 40px #f3fffd,
			0 0 80px #f3fffd,
			0 0 100px #f3fffd;
	}

	/* 20% to 100%: Freezes in this bright teal state for 10 seconds */
	100% {
		color: #108d74;
		text-shadow:
			0 0 4px #f3fffd,
			0 0 10px #f3fffd,
			0 0 20px #f3fffd,
			0 0 40px #f3fffd,
			0 0 80px #f3fffd,
			0 0 100px #f3fffd;
	}
}

@media (max-width: 600px) {
	.elementor-73482 .elementor-element.elementor-element-d99b242 {
		justify-content: space-around;
		--row-gap: 0.5rem;
	}
}
