/* Lélek Liquid Glass – Elérhetőségek (1a)
   Alapértékek CSS-változókban; az Elementor vezérlők ({{WRAPPER}} .llgi-root) felülírják.
   Erős szelektorok, hogy a téma CSS-e ne csúsztassa szét. Hover: csak a kurzor alatti türkiz folt. */

.llgi-root {
	--llgi-sec-pad: 88px 0px 88px 0px;
	--llgi-sec-margin: 0px 0px 0px 0px;
	--llgi-sec-minh: 0px;
	--llgi-wrap: 1240px;
	--llgi-side: 64px;
	--llgi-head-gap: 44px;
	--llgi-head-inner: 14px;
	--llgi-ai: center;
	--llgi-ta: center;
	--llgi-b1c: #d6eaec;
	--llgi-b2c: #f2e8dc;
	--llgi-bs: 640px;
	--llgi-kicker-c: #5c7074;
	--llgi-title-c: #1f2a2c;
	--llgi-text-c: #4c5f63;
	--llgi-text-w: 520px;
	--llgi-cols: 3;
	--llgi-grid-w: 980px;
	--llgi-gap: 14px;
	--llgi-tile-pad: 30px 24px 30px 24px;
	--llgi-tile-minh: 0px;
	--llgi-tile-r: 26px;
	--llgi-tile-inner: 8px;
	--llgi-tai: center;
	--llgi-tta: center;
	--llgi-tjc: center;
	--llgi-g1: rgba(255, 255, 255, 0.68);
	--llgi-g2: rgba(255, 255, 255, 0.42);
	--llgi-blur: 20px;
	--llgi-bw: 1px;
	--llgi-bc: rgba(255, 255, 255, 0.85);
	--llgi-shadow: 0 14px 34px rgba(23, 52, 58, 0.09);
	--llgi-tap: rgba(111, 208, 220, 0.22);
	--llgi-glow-c: #4fc5ce;
	--llgi-glow-size: 260px;
	--llgi-glow-blur: 15px;
	--llgi-glow-op: 0.34;
	--llgi-label-c: #5c7074;
	--llgi-vs-c: #1f2a2c;
	--llgi-vn-c: #28383b;
	background: linear-gradient(180deg, #fbfaf8 0%, #e9f1f1 100%);
}

@media (max-width: 1024px) {
	.llgi-root {
		--llgi-sec-pad: 72px 0px 72px 0px;
		--llgi-side: 36px;
		--llgi-cols: 2;
		--llgi-head-gap: 36px;
	}
}
@media (max-width: 767px) {
	.llgi-root {
		--llgi-sec-pad: 56px 0px 60px 0px;
		--llgi-side: 20px;
		--llgi-cols: 1;
		--llgi-head-gap: 28px;
		--llgi-head-inner: 12px;
		--llgi-gap: 10px;
		--llgi-tile-pad: 20px 18px 20px 18px;
		--llgi-tile-r: 22px;
		--llgi-tile-inner: 6px;
		--llgi-glow-size: 200px;
	}
}

html body .llgi-root {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: var(--llgi-sec-minh);
	box-sizing: border-box !important;
	padding: var(--llgi-sec-pad) !important;
	margin: var(--llgi-sec-margin) !important;
	overflow: hidden !important;
	float: none !important;
}
html body .llgi-root.is-full {
	width: calc(100vw - var(--llgi-sbw, 0px)) !important;
	max-width: none !important;
	margin-left: calc(50% - 50vw + var(--llgi-sbw, 0px) / 2) !important;
	margin-right: calc(50% - 50vw + var(--llgi-sbw, 0px) / 2) !important;
}
.llgi-root *, .llgi-root *::before, .llgi-root *::after { box-sizing: border-box; }

html body .llgi-root .llgi-bg {
	position: absolute !important;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background-image:
		radial-gradient(var(--llgi-bs) calc(var(--llgi-bs) * 0.6) at 50% 0%, var(--llgi-b1c) 0%, transparent 62%),
		radial-gradient(calc(var(--llgi-bs) * 0.8) calc(var(--llgi-bs) * 0.53) at 0% 100%, var(--llgi-b2c) 0%, transparent 64%),
		radial-gradient(calc(var(--llgi-bs) * 0.8) calc(var(--llgi-bs) * 0.53) at 100% 100%, var(--llgi-b2c) 0%, transparent 64%);
}
html body .llgi-root.no-blobs .llgi-bg { display: none !important; }

html body .llgi-root .llgi-inner {
	position: relative !important;
	z-index: 1;
	display: flex !important;
	flex-direction: column !important;
	align-items: var(--llgi-ai) !important;
	gap: var(--llgi-head-gap) !important;
	width: 100% !important;
	max-width: var(--llgi-wrap) !important;
	margin: 0 auto !important;
	padding: 0 var(--llgi-side) !important;
}

html body .llgi-root .llgi-head {
	display: flex !important;
	flex-direction: column !important;
	align-items: var(--llgi-ai) !important;
	gap: var(--llgi-head-inner);
	width: 100%;
	text-align: var(--llgi-ta) !important;
	min-width: 0;
}
html body .llgi-root h1, html body .llgi-root h2, html body .llgi-root h3, html body .llgi-root p {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	text-shadow: none !important;
	max-width: 100%;
	overflow-wrap: break-word;
	text-wrap: pretty;
}
html body .llgi-root h1::before, html body .llgi-root h1::after,
html body .llgi-root h2::before, html body .llgi-root h2::after,
html body .llgi-root h3::before, html body .llgi-root h3::after { content: none !important; display: none !important; }

html body .llgi-root .llgi-kicker {
	display: block !important;
	font-family: "Jost", system-ui, sans-serif;
	font-size: 10.5px;
	font-weight: 400;
	letter-spacing: 3.6px;
	text-transform: uppercase;
	line-height: 1.4;
	color: var(--llgi-kicker-c) !important;
}
html body .llgi-root .llgi-title {
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 48px;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.1;
	color: var(--llgi-title-c) !important;
}
html body .llgi-root .llgi-text {
	max-width: var(--llgi-text-w) !important;
	font-family: "Jost", system-ui, sans-serif;
	font-size: 15.5px;
	font-weight: 400;
	line-height: 1.7;
	color: var(--llgi-text-c) !important;
}

/* Rács: flex-wrap + középre → a hiányos utolsó sor mindig középen */
html body .llgi-root .llgi-grid {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: var(--llgi-ai) !important;
	gap: var(--llgi-gap) !important;
	width: 100% !important;
	max-width: var(--llgi-grid-w) !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
html body .llgi-root .llgi-tile {
	--llgi-col-w: calc((100% - (var(--llgi-cols) - 1) * var(--llgi-gap)) / var(--llgi-cols));
	position: relative !important;
	flex: 0 0 var(--llgi-col-w) !important;
	width: var(--llgi-col-w) !important;
	max-width: 100% !important;
	min-width: 0 !important;
	min-height: var(--llgi-tile-minh);
	display: flex !important;
	flex-direction: column !important;
	align-items: var(--llgi-tai) !important;
	justify-content: var(--llgi-tjc) !important;
	gap: var(--llgi-tile-inner) !important;
	margin: 0 !important;
	padding: var(--llgi-tile-pad) !important;
	border-radius: var(--llgi-tile-r) !important;
	border: var(--llgi-bw) solid var(--llgi-bc) !important;
	background: linear-gradient(180deg, var(--llgi-g1), var(--llgi-g2)) !important;
	-webkit-backdrop-filter: blur(var(--llgi-blur)) saturate(150%);
	backdrop-filter: blur(var(--llgi-blur)) saturate(150%);
	box-shadow: var(--llgi-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
	overflow: hidden !important;
	isolation: isolate;
	text-align: var(--llgi-tta) !important;
	text-decoration: none !important;
	color: inherit !important;
	outline: none;
	transform: none !important;
	transition: none;
	-webkit-tap-highlight-color: transparent;
}
html body .llgi-root .llgi-tile.is-full-row { --llgi-col-w: 100%; }
html body .llgi-root.no-glass .llgi-tile { -webkit-backdrop-filter: none; backdrop-filter: none; }

/* Hover: semmi nem változik, csak a folt (téma a:hover színeit is semlegesítjük) */
html body .llgi-root a.llgi-tile:hover,
html body .llgi-root a.llgi-tile:focus,
html body .llgi-root a.llgi-tile:visited {
	color: inherit !important;
	text-decoration: none !important;
	border-color: var(--llgi-bc) !important;
	background: linear-gradient(180deg, var(--llgi-g1), var(--llgi-g2)) !important;
	box-shadow: var(--llgi-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
	transform: none !important;
	opacity: 1 !important;
}
html body .llgi-root a.llgi-tile:focus-visible { outline: 2px solid var(--llgi-glow-c) !important; outline-offset: 3px; }
@media (hover: none) {
	html body .llgi-root a.llgi-tile:active { background: linear-gradient(180deg, var(--llgi-tap), var(--llgi-g2)) !important; }
}

html body .llgi-root .llgi-glow {
	position: absolute !important;
	top: 0; left: 0;
	z-index: 0;
	width: var(--llgi-glow-size);
	height: var(--llgi-glow-size);
	margin: calc(var(--llgi-glow-size) / -2) 0 0 calc(var(--llgi-glow-size) / -2) !important;
	border-radius: 50%;
	background: radial-gradient(circle, var(--llgi-glow-c) 0%, transparent 70%);
	filter: blur(var(--llgi-glow-blur));
	opacity: calc(var(--go, 0) * var(--llgi-glow-op));
	transform: translate3d(var(--gx, -9999px), var(--gy, 0px), 0);
	transition: opacity 0.3s ease;
	pointer-events: none;
}
html body .llgi-root .llgi-tile > :not(.llgi-glow) { position: relative; z-index: 1; }

html body .llgi-root .llgi-label {
	display: block !important;
	font-family: "Jost", system-ui, sans-serif;
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 3px;
	text-transform: uppercase;
	line-height: 1.4;
	color: var(--llgi-label-c) !important;
}
html body .llgi-root .llgi-value {
	display: block !important;
	max-width: 100%;
	overflow-wrap: anywhere;
	text-wrap: pretty;
}
html body .llgi-root .llgi-v-serif {
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 26px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--llgi-vs-c) !important;
}
html body .llgi-root .llgi-v-sans {
	font-family: "Jost", system-ui, sans-serif;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.6;
	color: var(--llgi-vn-c) !important;
}

@media (max-width: 1024px) {
	html body .llgi-root .llgi-title { font-size: 42px; }
	html body .llgi-root .llgi-v-serif { font-size: 25px; }
}
@media (max-width: 767px) {
	html body .llgi-root .llgi-title { font-size: 36px; line-height: 1.12; text-wrap: balance; }
	html body .llgi-root .llgi-text { font-size: 14.5px; line-height: 1.65; }
	html body .llgi-root .llgi-v-serif { font-size: 24px; }
	html body .llgi-root .llgi-v-sans { font-size: 16px; line-height: 1.55; }
}
@media (max-width: 360px) {
	html body .llgi-root .llgi-title { font-size: 32px; }
	html body .llgi-root .llgi-v-serif { font-size: 22px; }
}

@media (prefers-reduced-motion: reduce) {
	html body .llgi-root .llgi-glow { transition: none !important; }
}
