/* Lélek Liquid Glass — Rólam szekció
   Alapértékek: CSS-változók a .llga-root-on (alacsony specificitás) → az Elementor vezérlők felülírják.
   Elrendezés: erős szelektor (html body .llga-root …) → a téma CSS-e nem tudja szétcsúsztatni. */

.llga-root {
	--llga-sec-pad: 80px 64px 80px 64px;
	--llga-sec-margin: 0px 0px 0px 0px;
	--llga-sec-minh: 0px;
	--llga-sec-radius: 0px;
	--llga-wrap: 1240px;
	--llga-blocks-gap: 72px;

	--llga-g1: rgba(255, 255, 255, 0.70);
	--llga-g2: rgba(255, 255, 255, 0.44);
	--llga-blur: 20px;
	--llga-sat: 150%;
	--llga-bw: 1px;
	--llga-bc: rgba(255, 255, 255, 0.85);
	--llga-bc-hover: rgba(79, 197, 206, 0.55);
	--llga-shadow: 0 16px 40px rgba(23, 52, 58, 0.09);
	--llga-glow-c: #4fc5ce;
	--llga-glow-size: 320px;
	--llga-glow-blur: 16px;
	--llga-glow-op: 0.32;

	--llga-b1c: #d4e9eb; --llga-b1p: 18% 0%;
	--llga-b2c: #f1e6d9; --llga-b2p: 100% 45%;
	--llga-b3c: #d9ecee; --llga-b3p: 30% 100%;
	--llga-bs: 700px;

	--llga-hero-cols: minmax(0, var(--llga-hero-img)) minmax(0, 1fr);
	--llga-hero-img: 45%;
	--llga-hero-gap: 52px;
	--llga-hero-pad: 16px 52px 16px 16px;
	--llga-hero-r: 40px;
	--llga-hero-text-pad: 24px 0px 24px 0px;
	--llga-hero-text-gap: 22px;
	--llga-hero-valign: center;
	--llga-img-h: 560px;
	--llga-img-r: 28px;
	--llga-img-pos: 50% 15%;

	--llga-kicker-c: #5c7074;
	--llga-title-c: #1f2a2c;
	--llga-intro-c: #4c5f63;

	--llga-quote-max: 900px;
	--llga-quote-ta: center;
	--llga-quote-c: #186871;

	--llga-cards-cols: 2;
	--llga-cards-gap: 16px;
	--llga-card-r: 30px;
	--llga-card-pad: 32px 32px 32px 32px;
	--llga-card-c: #4c5f63;
	--llga-card-q-c: #1f2a2c;

	--llga-methods-cols: minmax(0, 0.8fr) minmax(0, 1.2fr);
	--llga-methods-gap: 56px;
	--llga-methods-c: #1f2a2c;
	--llga-tl-gap: 14px;
	--llga-tl-indent: 34px;
	--llga-line-c: #4fc5ce;
	--llga-dot-c: #4fc5ce;
	--llga-dot-size: 13px;
	--llga-step-r: 28px;
	--llga-step-pad: 26px 30px 26px 30px;
	--llga-year-c: #3fa9b6;
	--llga-step-c: #4c5f63;
	--llga-strong-c: #1f2a2c;

	--llga-contact-cols: minmax(0, 1.15fr) minmax(0, 0.85fr);
	--llga-contact-gap: 48px;
	--llga-contact-text-gap: 18px;
	--llga-ctitle-c: #1f2a2c;
	--llga-ctext-c: #4c5f63;
	--llga-hl-bg1: rgba(111, 208, 220, 0.20);
	--llga-hl-bg2: rgba(63, 169, 182, 0.08);
	--llga-hl-bc: rgba(79, 197, 206, 0.45);
	--llga-hl-c: #0f4a52;
	--llga-hl-r: 24px;
	--llga-hl-pad: 22px 26px 22px 26px;
	--llga-ci-gap: 12px;
	--llga-ci-r: 26px;
	--llga-ci-pad: 20px 26px 20px 26px;
	--llga-ci-label-c: #5c7074;
	--llga-ci-value-c: #1f2a2c;
	--llga-ci-value-c-hover: #0f4a52;
	--llga-ci-valign: end;

	--llga-speed: 0.3s;
	background: linear-gradient(180deg, #f7fafa, #e9f1f1);
}

@media (max-width: 1024px) {
	.llga-root {
		--llga-sec-pad: 64px 36px 64px 36px;
		--llga-blocks-gap: 60px;
		--llga-hero-cols: minmax(0, 1fr);
		--llga-hero-pad: 14px 14px 14px 14px;
		--llga-hero-text-pad: 12px 22px 22px 22px;
		--llga-img-h: 520px;
		--llga-methods-cols: minmax(0, 1fr);
		--llga-methods-gap: 32px;
		--llga-contact-cols: minmax(0, 1fr);
		--llga-contact-gap: 28px;
		--llga-ci-valign: stretch;
	}
}

@media (max-width: 767px) {
	.llga-root {
		--llga-sec-pad: 48px 16px 48px 16px;
		--llga-blocks-gap: 44px;
		--llga-hero-pad: 10px 10px 10px 10px;
		--llga-hero-r: 30px;
		--llga-hero-text-pad: 10px 14px 20px 14px;
		--llga-hero-text-gap: 16px;
		--llga-img-h: 400px;
		--llga-img-r: 22px;
		--llga-cards-cols: 1;
		--llga-card-r: 26px;
		--llga-card-pad: 24px 22px 24px 22px;
		--llga-tl-indent: 26px;
		--llga-step-r: 24px;
		--llga-step-pad: 22px 22px 22px 22px;
		--llga-hl-pad: 18px 20px 18px 20px;
		--llga-ci-r: 22px;
		--llga-ci-pad: 16px 20px 16px 20px;
		--llga-glow-size: 220px;
	}
}

/* ---------- Szekció ---------- */
html body .llga-root {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: var(--llga-sec-minh);
	box-sizing: border-box !important;
	padding: var(--llga-sec-pad) !important;
	margin: var(--llga-sec-margin) !important;
	border-radius: var(--llga-sec-radius);
	overflow: hidden !important;
	float: none !important;
	text-align: left;
}

html body .llga-root.is-full {
	width: calc(100vw - var(--llga-sbw, 0px)) !important;
	max-width: none !important;
	margin-left: calc(50% - 50vw + var(--llga-sbw, 0px) / 2) !important;
	margin-right: calc(50% - 50vw + var(--llga-sbw, 0px) / 2) !important;
}

.llga-root *,
.llga-root *::before,
.llga-root *::after { box-sizing: border-box; }

html body .llga-root .llga-bg {
	position: absolute !important;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background-image:
		radial-gradient(var(--llga-bs) calc(var(--llga-bs) * 0.63) at var(--llga-b1p), var(--llga-b1c) 0%, transparent 62%),
		radial-gradient(calc(var(--llga-bs) * 0.8) calc(var(--llga-bs) * 0.54) at var(--llga-b2p), var(--llga-b2c) 0%, transparent 64%),
		radial-gradient(calc(var(--llga-bs) * 0.89) calc(var(--llga-bs) * 0.57) at var(--llga-b3p), var(--llga-b3c) 0%, transparent 62%);
}

html body .llga-root.no-blobs .llga-bg { display: none !important; }

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

/* ---------- Közös szöveg-reset ---------- */
html body .llga-root h1,
html body .llga-root h2,
html body .llga-root h3,
html body .llga-root h4,
html body .llga-root p,
html body .llga-root blockquote {
	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 .llga-root h1::before, html body .llga-root h1::after,
html body .llga-root h2::before, html body .llga-root h2::after,
html body .llga-root h3::before, html body .llga-root h3::after,
html body .llga-root blockquote::before, html body .llga-root blockquote::after { content: none !important; display: none !important; }

html body .llga-root .llga-rich > * { margin: 0 0 0.85em !important; }
html body .llga-root .llga-rich > :last-child { margin-bottom: 0 !important; }
html body .llga-root .llga-rich p,
html body .llga-root .llga-rich li {
	font: inherit !important;
	letter-spacing: inherit !important;
	color: inherit !important;
	padding: 0 !important;
}
html body .llga-root .llga-rich ul,
html body .llga-root .llga-rich ol { padding: 0 0 0 1.2em !important; }
html body .llga-root .llga-rich a { color: inherit !important; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Üveg + kurzorfény ---------- */
html body .llga-root .llga-glass {
	position: relative !important;
	overflow: hidden !important;
	isolation: isolate;
	border: var(--llga-bw) solid var(--llga-bc) !important;
	background: linear-gradient(180deg, var(--llga-g1), var(--llga-g2)) !important;
	-webkit-backdrop-filter: blur(var(--llga-blur)) saturate(var(--llga-sat));
	backdrop-filter: blur(var(--llga-blur)) saturate(var(--llga-sat));
	box-shadow: var(--llga-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.95);
	transition: border-color var(--llga-speed) ease;
}

html body .llga-root.no-glass .llga-glass { -webkit-backdrop-filter: none; backdrop-filter: none; }
html body .llga-root .llga-glass.is-hoverable:hover { border-color: var(--llga-bc-hover) !important; }

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

html body .llga-root .llga-glass > :not(.llga-glow) { position: relative; z-index: 1; }

/* ---------- Nyitó üveglap ---------- */
html body .llga-root .llga-hero {
	display: grid !important;
	grid-template-columns: var(--llga-hero-cols) !important;
	gap: var(--llga-hero-gap) !important;
	align-items: var(--llga-hero-valign) !important;
	width: 100% !important;
	margin: 0 !important;
	padding: var(--llga-hero-pad) !important;
	border-radius: var(--llga-hero-r) !important;
}

html body .llga-root .llga-hero.no-image { grid-template-columns: minmax(0, 1fr) !important; }

html body .llga-root .llga-media {
	display: block !important;
	width: 100% !important;
	min-width: 0;
	height: var(--llga-img-h) !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border-radius: var(--llga-img-r) !important;
	clip-path: inset(0 round var(--llga-img-r));
	-webkit-mask-image: -webkit-radial-gradient(white, black);
	transform: translateZ(0);
}

html body .llga-root .llga-media img {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: var(--llga-img-r) !important;
	box-shadow: none !important;
	object-fit: cover !important;
	object-position: var(--llga-img-pos) !important;
}

html body .llga-root .llga-hero-text {
	display: flex !important;
	flex-direction: column !important;
	gap: var(--llga-hero-text-gap);
	min-width: 0;
	margin: 0 !important;
	padding: var(--llga-hero-text-pad) !important;
}

html body .llga-root .llga-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(--llga-kicker-c) !important;
}

html body .llga-root .llga-title {
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 54px;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.06;
	color: var(--llga-title-c) !important;
}

html body .llga-root .llga-intro {
	font-family: "Jost", system-ui, sans-serif;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.9;
	color: var(--llga-intro-c) !important;
}

/* ---------- Nagy idézet ---------- */
html body .llga-root .llga-quote {
	display: block !important;
	width: 100%;
	max-width: var(--llga-quote-max) !important;
	margin: 0 auto !important;
	text-align: var(--llga-quote-ta) !important;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 44px;
	font-style: italic;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.25;
	color: var(--llga-quote-c) !important;
	text-wrap: balance;
}

html body .llga-root.quote-left .llga-quote { margin-left: 0 !important; }
html body .llga-root.quote-right .llga-quote { margin-right: 0 !important; }

/* ---------- Kártyák ---------- */
html body .llga-root .llga-cards {
	display: grid !important;
	grid-template-columns: repeat(var(--llga-cards-cols), minmax(0, 1fr)) !important;
	gap: var(--llga-cards-gap) !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

html body .llga-root .llga-card {
	display: block !important;
	min-width: 0;
	margin: 0 !important;
	padding: var(--llga-card-pad) !important;
	border-radius: var(--llga-card-r) !important;
}

html body .llga-root .llga-card-text {
	font-family: "Jost", system-ui, sans-serif;
	font-size: 15.5px;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0;
	line-height: 1.85;
	color: var(--llga-card-c) !important;
}

html body .llga-root .llga-card.is-quote .llga-card-text {
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 21px;
	font-style: italic;
	line-height: 1.5;
	color: var(--llga-card-q-c) !important;
}

/* ---------- Módszerek + idővonal ---------- */
html body .llga-root .llga-methods {
	display: grid !important;
	grid-template-columns: var(--llga-methods-cols) !important;
	gap: var(--llga-methods-gap) !important;
	align-items: start !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

html body .llga-root .llga-methods.no-text { grid-template-columns: minmax(0, 1fr) !important; }

html body .llga-root .llga-methods-text {
	min-width: 0;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 28px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.4;
	color: var(--llga-methods-c) !important;
}

html body .llga-root .llga-timeline {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	gap: var(--llga-tl-gap) !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 0 0 var(--llga-tl-indent) !important;
	list-style: none !important;
}

html body .llga-root .llga-line {
	position: absolute !important;
	left: calc(var(--llga-dot-size) / 2 + 2px);
	top: 18px;
	bottom: 18px;
	width: 1px;
	background: linear-gradient(180deg, transparent, var(--llga-line-c), transparent);
	pointer-events: none;
}

html body .llga-root.no-line .llga-line,
html body .llga-root.no-line .llga-dot { display: none !important; }
html body .llga-root.no-line .llga-timeline { padding-left: 0 !important; }

html body .llga-root .llga-step {
	position: relative !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

html body .llga-root .llga-step::before,
html body .llga-root .llga-step::marker { content: none !important; display: none !important; }

html body .llga-root .llga-dot {
	position: absolute !important;
	left: calc(var(--llga-tl-indent) * -1 + 2px);
	top: 30px;
	z-index: 2;
	width: var(--llga-dot-size);
	height: var(--llga-dot-size);
	border-radius: 50%;
	background: var(--llga-dot-c);
	box-shadow: 0 0 0 5px color-mix(in srgb, var(--llga-dot-c) 22%, transparent);
}

html body .llga-root .llga-step-card {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px;
	margin: 0 !important;
	padding: var(--llga-step-pad) !important;
	border-radius: var(--llga-step-r) !important;
}

html body .llga-root .llga-year {
	display: block !important;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 38px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1;
	color: var(--llga-year-c) !important;
}

html body .llga-root .llga-step-text {
	font-family: "Jost", system-ui, sans-serif;
	font-size: 15.5px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.85;
	color: var(--llga-step-c) !important;
}

html body .llga-root .llga-step-text strong,
html body .llga-root .llga-step-text b { font-weight: 500 !important; color: var(--llga-strong-c) !important; }

/* ---------- Elérhetőségek ---------- */
html body .llga-root .llga-contact {
	display: grid !important;
	grid-template-columns: var(--llga-contact-cols) !important;
	gap: var(--llga-contact-gap) !important;
	align-items: start !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

html body .llga-root .llga-contact.no-list { grid-template-columns: minmax(0, 1fr) !important; }

html body .llga-root .llga-contact-text {
	display: flex !important;
	flex-direction: column !important;
	gap: var(--llga-contact-text-gap);
	min-width: 0;
}

html body .llga-root .llga-ctitle {
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 38px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.15;
	color: var(--llga-ctitle-c) !important;
}

html body .llga-root .llga-ctext {
	font-family: "Jost", system-ui, sans-serif;
	font-size: 15.5px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.9;
	color: var(--llga-ctext-c) !important;
}

html body .llga-root .llga-hl {
	display: block !important;
	margin: 0 !important;
	padding: var(--llga-hl-pad) !important;
	border-radius: var(--llga-hl-r) !important;
	border: 1px solid var(--llga-hl-bc) !important;
	background: linear-gradient(180deg, var(--llga-hl-bg1), var(--llga-hl-bg2)) !important;
	font-family: "Jost", system-ui, sans-serif;
	font-size: 15.5px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.75;
	color: var(--llga-hl-c) !important;
}

html body .llga-root .llga-clist {
	display: flex !important;
	flex-direction: column !important;
	gap: var(--llga-ci-gap) !important;
	align-self: var(--llga-ci-valign) !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

html body .llga-root a.llga-ci,
html body .llga-root a.llga-ci:hover,
html body .llga-root a.llga-ci:focus,
html body .llga-root div.llga-ci {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: var(--llga-ci-pad) !important;
	border-radius: var(--llga-ci-r) !important;
	text-decoration: none !important;
	box-shadow: var(--llga-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
	outline: none;
}

html body .llga-root a.llga-ci:focus-visible { outline: 2px solid var(--llga-glow-c) !important; outline-offset: 2px !important; }

html body .llga-root .llga-ci-label {
	display: block !important;
	font-family: "Jost", system-ui, sans-serif;
	font-size: 10.5px;
	font-weight: 400;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	line-height: 1.4;
	color: var(--llga-ci-label-c) !important;
}

html body .llga-root .llga-ci-value {
	display: block !important;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 22px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.3;
	color: var(--llga-ci-value-c) !important;
	overflow-wrap: anywhere;
	transition: color var(--llga-speed) ease;
}

html body .llga-root a.llga-ci:hover .llga-ci-value { color: var(--llga-ci-value-c-hover) !important; }

/* Reszponzív alap betűméretek (az Elementor tipográfia felülírja) */
@media (max-width: 1024px) {
	html body .llga-root .llga-title { font-size: 46px; }
	html body .llga-root .llga-quote { font-size: 36px; }
	html body .llga-root .llga-methods-text { font-size: 25px; }
	html body .llga-root .llga-ctitle { font-size: 34px; }
}
@media (max-width: 767px) {
	html body .llga-root .llga-title { font-size: 36px; }
	html body .llga-root .llga-quote { font-size: 28px; }
	html body .llga-root .llga-methods-text { font-size: 22px; }
	html body .llga-root .llga-ctitle { font-size: 30px; }
	html body .llga-root .llga-year { font-size: 32px; }
	html body .llga-root .llga-card.is-quote .llga-card-text { font-size: 19px; }
	html body .llga-root .llga-intro,
	html body .llga-root .llga-card-text,
	html body .llga-root .llga-step-text,
	html body .llga-root .llga-ctext,
	html body .llga-root .llga-hl { font-size: 15px; }
	html body .llga-root .llga-ci-value { font-size: 20px; }
}

@media (prefers-reduced-motion: reduce) {
	html body .llga-root .llga-glow,
	html body .llga-root .llga-glass,
	html body .llga-root .llga-ci-value { transition: none !important; }
}
