/* ==========================================================================
   Elementor kompatibilitási réteg – a natív Elementor widgetekre (Container,
   Heading, Text-Editor) ráerőlteti a saját dizájnunkat, hogy a HTML→natív
   bontás után a kinézet a lehető legközelebb maradjon az eredetihez.
   Magasabb specificitással felülírja az Elementor konténer/widget defaultjait.
   ========================================================================== */

/* --- Konténer (e-con) layout: a saját szekció/grid osztályaink nyerjenek --- */
.inv-page.inv-section { padding: 64px 0; }
.inv-page.inv-section--alt { background: var(--inv-field, #F6F6F6); }
.inv-page .inv-container {
	max-width: 1410px;
	margin: 0 auto;
	padding: 0 24px;
	display: block;
}
.inv-page .inv-grid { display: grid !important; }
.inv-page .inv-grid--2 { grid-template-columns: repeat(2, 1fr); }
.inv-page .inv-grid--3 { grid-template-columns: repeat(3, 1fr); }
.inv-page .inv-grid--4 { grid-template-columns: repeat(4, 1fr); }

/* Az Elementor konténer alap-térközeit és igazítását semlegesítjük,
   a térközöket a saját szekció/kártya CSS adja. */
.inv-page .e-con,
.inv-page.e-con { --gap: 0px; --row-gap: 0px; --column-gap: 0px; }
.inv-page .e-con > .e-con-inner { width: 100%; max-width: none; padding: 0; }

/* A natív Text-Editor widget tölti ki a konténer szélességét (flex stretch),
   DE a bekezdéseknek volt olvashatósági max-width korlátja (inv-lead, hero lead,
   inv-block, intro) -> emiatt a szöveg keskenyebb volt a widgetnél, üres hellyel.
   Feloldjuk: a szöveg töltse ki a Text-Editor TELJES szélességét. */
.inv-page .elementor-widget-text-editor,
.inv-page .elementor-widget-text-editor > .elementor-widget-container,
.inv-page .elementor-widget-text-editor p,
.inv-page .inv-lead,
.inv-page .inv-hero__lead,
.inv-page .inv-block,
.inv-page .inv-section__intro { max-width: 100%; }

/* --- Heading widget: saját tipográfia --- */
.inv-page .elementor-widget-heading { margin: 0; }
.inv-page .elementor-widget-heading .elementor-heading-title {
	font-family: var(--inv-heading-font, "Cal Sans", sans-serif);
	color: var(--inv-heading, #1C1C1D);
	font-weight: 400;
	line-height: 1.2;
	margin: 0 0 18px;
}
.inv-page .elementor-widget-heading h1.elementor-heading-title { font-size: clamp(34px, 5.5vw, 60px); }
.inv-page .elementor-widget-heading h2.elementor-heading-title { font-size: clamp(28px, 4vw, 40px); }
.inv-page .elementor-widget-heading h3.elementor-heading-title { font-size: clamp(21px, 2.6vw, 26px); }
.inv-page .elementor-widget-heading h4.elementor-heading-title { font-size: 19px; }
/* kontextus-specifikus címméretek */
.inv-page .htl-usp .elementor-widget-heading h3.elementor-heading-title { font-size: 17px; }
.inv-page .inv-pillar .elementor-widget-heading h3.elementor-heading-title { font-size: 21px; }
.inv-page .htl-head .elementor-widget-heading h2.elementor-heading-title { margin-bottom: 14px; }

/* --- Text-Editor widget: saját törzsstílus (színt NEM kötünk meg, hogy a
   kontextus-osztályok pl. inv-hero__lead érvényesülhessenek) --- */
.inv-page .elementor-widget-text-editor {
	font-family: var(--inv-body-font, "Golos Text", sans-serif);
	font-size: 17px;
	line-height: 1.7;
}
.inv-page .elementor-widget-text-editor p { margin: 0 0 16px; }
.inv-page .elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* Widget-wrapperek ne adjanak extra térközt */
.inv-page .elementor-widget:not(:last-child) { margin-bottom: 0; }
.inv-page .elementor-element { --widgets-spacing: 0px; }

/* ---------- Natív galéria (ev-gallery__item + Image widget) ---------- */
.inv-page .ev-gallery__item {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 14px;
	background: var(--inv-field, #F6F6F6);
}
.inv-page .ev-gallery__item .elementor-widget-image,
.inv-page .ev-gallery__item .elementor-widget-image > .elementor-widget-container,
.inv-page .ev-gallery__item figure { height: 100%; margin: 0; }
.inv-page .ev-gallery__item img {
	width: 100%; height: 100%;
	object-fit: cover; display: block;
	transition: transform .45s ease;
}
.inv-page .ev-gallery__item:hover img { transform: scale(1.05); }

/* ---------- Natív videós hero (Elementor konténer videó-háttérrel) ---------- */
.inv-page.ev-hero .elementor-background-video-container,
.inv-page.ev-hero .elementor-background-video-container video {
	width: 100%; height: 100%; object-fit: cover;
}

/* --- Sötét szekciók (hero, záró CTA): natív widgetek fehér szöveggel --- */
.inv-page.inv-hero { padding: clamp(70px, 12vw, 130px) 0; }
.inv-page.inv-final { padding: clamp(64px, 9vw, 110px) 0; text-align: center; }
.inv-page.inv-final .inv-container { text-align: center; }
.inv-page.inv-final .inv-cta-row { justify-content: center; }
.inv-page .inv-hero .elementor-widget-heading .elementor-heading-title,
.inv-page .ev-hero .elementor-widget-heading .elementor-heading-title,
.inv-page .inv-final .elementor-widget-heading .elementor-heading-title,
.inv-page .mag-newsletter .elementor-widget-heading .elementor-heading-title { color: #fff; }
/* a hírlevél sötét dobozában a szöveg világos, középre */
.inv-page .mag-newsletter { text-align: center; }
.inv-page .mag-newsletter .elementor-widget-text-editor { color: rgba(255,255,255,0.82); }
/* a hero lead / final bekezdés / eyebrow színét a saját osztályaik adják
   (inv-hero__lead, inv-final p, inv-eyebrow) — a text-editor compat nem köt színt */
.inv-page .inv-final .elementor-widget-text-editor { color: rgba(255,255,255,0.82); }
.inv-page .inv-hero .elementor-widget-text-editor p.inv-hero__lead { margin-bottom: 0; }
