/* DISC4ME Core – logó és színváltás */

.d4m-logo {
	display: inline-flex;
	align-items: center;
	line-height: 0;
	text-decoration: none;
	vertical-align: middle;
}

.d4m-logo svg {
	display: block;
	height: var(--d4m-h, 32px);
	width: auto;
	max-width: 100%;
}

@media (max-width: 767px) {
	.d4m-logo svg {
		height: var(--d4m-hm, var(--d4m-h, 32px));
	}
}

/* Színek */
.d4m-logo .d4m-fill-d { fill: #e5231b; }
.d4m-logo .d4m-fill-i { fill: #efb90a; }
.d4m-logo .d4m-fill-s { fill: #6bb378; }
.d4m-logo .d4m-fill-c { fill: #0c71c3; }
.d4m-logo .d4m-on-l   { fill: #ffffff; }

/* Szürke (kikapcsolt) állapot és a „4ME" négyzetei – világos háttérre */
.d4m-logo .d4m-off   { fill: #edeef0; }
.d4m-logo .d4m-off-l { fill: #9a9da4; }
.d4m-logo .d4m-box   { fill: #f2f3f5; }
.d4m-logo .d4m-ink   { fill: #262626; }

/* Sötét háttérre: [disc4me_logo theme="dark"] */
.d4m-logo.d4m-dark .d4m-off   { fill: #3a3a3e; }
.d4m-logo.d4m-dark .d4m-off-l { fill: #6e7076; }
.d4m-logo.d4m-dark .d4m-box   { fill: #2e2e31; }
.d4m-logo.d4m-dark .d4m-ink   { fill: #ffffff; }

/* A színes réteg: betöltéskor egyenként kapcsol be, utána a szkript vezérli */
.d4m-logo .d4m-c {
	opacity: 1;
	transition: opacity 0.9s cubic-bezier(0.4, 0, 0.2, 1);
	animation: d4m-in 0.7s cubic-bezier(0.4, 0, 0.2, 1) both;
}
.d4m-logo .d4m-c-d { animation-delay: 0.35s; }
.d4m-logo .d4m-c-i { animation-delay: 0.73s; }
.d4m-logo .d4m-c-s { animation-delay: 1.11s; }
.d4m-logo .d4m-c-c { animation-delay: 1.49s; }

@keyframes d4m-in {
	from { opacity: 0; }
	to   { opacity: 1; }
}

/* Választott betöltési animáció (Beállítások → DISC4ME): a szkript játssza le, a CSS-es kikapcsol */
body[class*="d4m-intro-"]:not(.d4m-intro-fade):not(.d4m-intro-none) .d4m-logo:not(.d4m-ready) .d4m-c {
	animation: none;
	opacity: 0;
}

body.d4m-intro-none .d4m-logo:not(.d4m-ready) .d4m-c {
	animation: none;
	opacity: 1;
}

/* A szkript átvette a vezérlést: csak a bekapcsolt betűk színesek */
.d4m-logo.d4m-ready .d4m-c {
	animation: none;
	opacity: 0;
}
.d4m-logo.d4m-ready.d4m-on-d .d4m-c-d,
.d4m-logo.d4m-ready.d4m-on-i .d4m-c-i,
.d4m-logo.d4m-ready.d4m-on-s .d4m-c-s,
.d4m-logo.d4m-ready.d4m-on-c .d4m-c-c {
	opacity: 1;
}

/* A lábléc logója szürkén vár, amíg görgetéskor elő nem jön; akkor lejátssza a betöltési animációt */
.d4m-logo.d4m-wait .d4m-c {
	animation: none !important;
	transition: none !important;
	opacity: 0 !important;
}

/* ---------- Nyitókép nagy logója: [disc4me_hero_logo] ---------- */

.d4m-hero-wrap {
	display: flex;
	justify-content: center;
	line-height: 0;
	padding-bottom: var(--d4m-hero-sp, 48px);
}

.d4m-hero-wrap .d4m-hero-logo svg {
	height: var(--d4m-hero-h, 96px);
}

@media (max-width: 767px) {
	.d4m-hero-wrap .d4m-hero-logo svg {
		height: var(--d4m-hero-hm, 48px);
	}
	.d4m-hero-wrap {
		padding-bottom: var(--d4m-hero-spm, 28px);
	}
}

/* A helyén maradó eredeti láthatatlan, a „repülő" másolat mozog helyette */
.d4m-hero-logo.d4m-hero-placeholder {
	visibility: hidden;
}

.d4m-logo.d4m-fly {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99999;
	pointer-events: none;
	transform-origin: 0 0;
	will-change: transform;
}

.d4m-logo.d4m-fly svg {
	height: 100%;
}

/* Amíg a nagy logó úton van, a fejléc kis logója rejtve marad */
html.d4m-flying .d4m-header-bar .d4m-logo:not(.d4m-hero-logo) {
	opacity: 0;
}

/* Betöltés közben, amíg a szkript el nem indul: ha az oldalon van nyitókép-logó,
   a többi logó (a fejlécé) rejtve marad, hogy ne villanjon fel a sarokban.
   Ha a szkript valamiért nem futna le, 4 mp után magától előjön. */
html:not(.d4m-init) body:has(.d4m-hero-logo) .d4m-logo:not(.d4m-hero-logo) {
	opacity: 0;
	animation: d4m-reveal 0s linear 4s forwards;
}

@keyframes d4m-reveal {
	to { opacity: 1; }
}

/* Fejléc alsó vonala: csak akkor jelenik meg, amikor a logó a helyére ért
   (nyitókép nélküli oldalon: amint elindul a görgetés).
   A fejléc szekcióját a bővítmény magától megtalálja; a Diviben ne legyen rajta keret. */
.d4m-header-bar {
	transition: box-shadow 0.35s ease;
}

html.d4m-docked .d4m-header-bar {
	box-shadow: inset 0 -1px 0 0 #EEEFF1;
}

/* ---------- Színcsíkok modulokon: d4m-label és d4m-bars ----------
   Tisztán CSS-sel rajzolva, így a Divi szerkesztőben is látszanak.
   Színek: bars-d, bars-di, bars-sc … (bármilyen betűsorrend), alapból mind a négy. */

.d4m-label,
.d4m-bars {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	justify-content: flex-start !important;
	align-items: center !important;
	gap: 16px;
	text-align: left;
}

.d4m-label > *,
.d4m-bars > * {
	flex: 0 1 auto;
	min-width: 0;
	width: auto !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.d4m-label::before,
.d4m-bars::before {
	content: "";
	display: block;
	flex: 0 0 auto;
	align-self: center;
	height: 28px;
	background-repeat: no-repeat;
	background-size: 6px 100%;
}

.d4m-bars::before {
	height: 40px;
}

.d4m-label::before,
.d4m-bars::before { width: 36px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0, 30px 0; }
.d4m-label.bars-d::before,
.d4m-bars.bars-d::before { width: 6px; background-image: linear-gradient(#e5231b, #e5231b); background-position: 0px 0; }
.d4m-label.bars-i::before,
.d4m-bars.bars-i::before { width: 6px; background-image: linear-gradient(#efb90a, #efb90a); background-position: 0px 0; }
.d4m-label.bars-s::before,
.d4m-bars.bars-s::before { width: 6px; background-image: linear-gradient(#6bb378, #6bb378); background-position: 0px 0; }
.d4m-label.bars-c::before,
.d4m-bars.bars-c::before { width: 6px; background-image: linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0; }
.d4m-label.bars-di::before,
.d4m-bars.bars-di::before { width: 16px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a); background-position: 0px 0, 10px 0; }
.d4m-label.bars-ds::before,
.d4m-bars.bars-ds::before { width: 16px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#6bb378, #6bb378); background-position: 0px 0, 10px 0; }
.d4m-label.bars-dc::before,
.d4m-bars.bars-dc::before { width: 16px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0; }
.d4m-label.bars-id::before,
.d4m-bars.bars-id::before { width: 16px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a); background-position: 0px 0, 10px 0; }
.d4m-label.bars-is::before,
.d4m-bars.bars-is::before { width: 16px; background-image: linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378); background-position: 0px 0, 10px 0; }
.d4m-label.bars-ic::before,
.d4m-bars.bars-ic::before { width: 16px; background-image: linear-gradient(#efb90a, #efb90a), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0; }
.d4m-label.bars-sd::before,
.d4m-bars.bars-sd::before { width: 16px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#6bb378, #6bb378); background-position: 0px 0, 10px 0; }
.d4m-label.bars-si::before,
.d4m-bars.bars-si::before { width: 16px; background-image: linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378); background-position: 0px 0, 10px 0; }
.d4m-label.bars-sc::before,
.d4m-bars.bars-sc::before { width: 16px; background-image: linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0; }
.d4m-label.bars-cd::before,
.d4m-bars.bars-cd::before { width: 16px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0; }
.d4m-label.bars-ci::before,
.d4m-bars.bars-ci::before { width: 16px; background-image: linear-gradient(#efb90a, #efb90a), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0; }
.d4m-label.bars-cs::before,
.d4m-bars.bars-cs::before { width: 16px; background-image: linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0; }
.d4m-label.bars-dis::before,
.d4m-bars.bars-dis::before { width: 26px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378); background-position: 0px 0, 10px 0, 20px 0; }
.d4m-label.bars-dic::before,
.d4m-bars.bars-dic::before { width: 26px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0; }
.d4m-label.bars-dsi::before,
.d4m-bars.bars-dsi::before { width: 26px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378); background-position: 0px 0, 10px 0, 20px 0; }
.d4m-label.bars-dsc::before,
.d4m-bars.bars-dsc::before { width: 26px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0; }
.d4m-label.bars-dci::before,
.d4m-bars.bars-dci::before { width: 26px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0; }
.d4m-label.bars-dcs::before,
.d4m-bars.bars-dcs::before { width: 26px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0; }
.d4m-label.bars-ids::before,
.d4m-bars.bars-ids::before { width: 26px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378); background-position: 0px 0, 10px 0, 20px 0; }
.d4m-label.bars-idc::before,
.d4m-bars.bars-idc::before { width: 26px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0; }
.d4m-label.bars-isd::before,
.d4m-bars.bars-isd::before { width: 26px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378); background-position: 0px 0, 10px 0, 20px 0; }
.d4m-label.bars-isc::before,
.d4m-bars.bars-isc::before { width: 26px; background-image: linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0; }
.d4m-label.bars-icd::before,
.d4m-bars.bars-icd::before { width: 26px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0; }
.d4m-label.bars-ics::before,
.d4m-bars.bars-ics::before { width: 26px; background-image: linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0; }
.d4m-label.bars-sdi::before,
.d4m-bars.bars-sdi::before { width: 26px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378); background-position: 0px 0, 10px 0, 20px 0; }
.d4m-label.bars-sdc::before,
.d4m-bars.bars-sdc::before { width: 26px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0; }
.d4m-label.bars-sid::before,
.d4m-bars.bars-sid::before { width: 26px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378); background-position: 0px 0, 10px 0, 20px 0; }
.d4m-label.bars-sic::before,
.d4m-bars.bars-sic::before { width: 26px; background-image: linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0; }
.d4m-label.bars-scd::before,
.d4m-bars.bars-scd::before { width: 26px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0; }
.d4m-label.bars-sci::before,
.d4m-bars.bars-sci::before { width: 26px; background-image: linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0; }
.d4m-label.bars-cdi::before,
.d4m-bars.bars-cdi::before { width: 26px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0; }
.d4m-label.bars-cds::before,
.d4m-bars.bars-cds::before { width: 26px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0; }
.d4m-label.bars-cid::before,
.d4m-bars.bars-cid::before { width: 26px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0; }
.d4m-label.bars-cis::before,
.d4m-bars.bars-cis::before { width: 26px; background-image: linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0; }
.d4m-label.bars-csd::before,
.d4m-bars.bars-csd::before { width: 26px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0; }
.d4m-label.bars-csi::before,
.d4m-bars.bars-csi::before { width: 26px; background-image: linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0; }
.d4m-label.bars-disc::before,
.d4m-bars.bars-disc::before { width: 36px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0, 30px 0; }
.d4m-label.bars-dics::before,
.d4m-bars.bars-dics::before { width: 36px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0, 30px 0; }
.d4m-label.bars-dsic::before,
.d4m-bars.bars-dsic::before { width: 36px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0, 30px 0; }
.d4m-label.bars-dsci::before,
.d4m-bars.bars-dsci::before { width: 36px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0, 30px 0; }
.d4m-label.bars-dcis::before,
.d4m-bars.bars-dcis::before { width: 36px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0, 30px 0; }
.d4m-label.bars-dcsi::before,
.d4m-bars.bars-dcsi::before { width: 36px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0, 30px 0; }
.d4m-label.bars-idsc::before,
.d4m-bars.bars-idsc::before { width: 36px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0, 30px 0; }
.d4m-label.bars-idcs::before,
.d4m-bars.bars-idcs::before { width: 36px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0, 30px 0; }
.d4m-label.bars-isdc::before,
.d4m-bars.bars-isdc::before { width: 36px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0, 30px 0; }
.d4m-label.bars-iscd::before,
.d4m-bars.bars-iscd::before { width: 36px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0, 30px 0; }
.d4m-label.bars-icds::before,
.d4m-bars.bars-icds::before { width: 36px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0, 30px 0; }
.d4m-label.bars-icsd::before,
.d4m-bars.bars-icsd::before { width: 36px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0, 30px 0; }
.d4m-label.bars-sdic::before,
.d4m-bars.bars-sdic::before { width: 36px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0, 30px 0; }
.d4m-label.bars-sdci::before,
.d4m-bars.bars-sdci::before { width: 36px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0, 30px 0; }
.d4m-label.bars-sidc::before,
.d4m-bars.bars-sidc::before { width: 36px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0, 30px 0; }
.d4m-label.bars-sicd::before,
.d4m-bars.bars-sicd::before { width: 36px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0, 30px 0; }
.d4m-label.bars-scdi::before,
.d4m-bars.bars-scdi::before { width: 36px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0, 30px 0; }
.d4m-label.bars-scid::before,
.d4m-bars.bars-scid::before { width: 36px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0, 30px 0; }
.d4m-label.bars-cdis::before,
.d4m-bars.bars-cdis::before { width: 36px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0, 30px 0; }
.d4m-label.bars-cdsi::before,
.d4m-bars.bars-cdsi::before { width: 36px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0, 30px 0; }
.d4m-label.bars-cids::before,
.d4m-bars.bars-cids::before { width: 36px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0, 30px 0; }
.d4m-label.bars-cisd::before,
.d4m-bars.bars-cisd::before { width: 36px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0, 30px 0; }
.d4m-label.bars-csdi::before,
.d4m-bars.bars-csdi::before { width: 36px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0, 30px 0; }
.d4m-label.bars-csid::before,
.d4m-bars.bars-csid::before { width: 36px; background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3); background-position: 0px 0, 10px 0, 20px 0, 30px 0; }

/* Kis felcím stílusa (d4m-label)
   Csak alapérték: a :where() miatt nulla az erőssége, így a Divi modul
   Szöveg-beállításai (betűméret, szín, betűköz, vastagság) felülírják. */
:where(.d4m-label) {
	font-family: Poppins, sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #5f6269;
}

.d4m-label p,
.d4m-label h1,
.d4m-label h2,
.d4m-label h3,
.d4m-label h4,
.d4m-label h5,
.d4m-label h6 {
	margin: 0;
	padding: 0;
}

:where(.d4m-label) :where(p, h1, h2, h3, h4, h5, h6) {
	font: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	color: inherit;
}

/* ---------- Nagy DISC-négyzet: [disc4me_tile letter="d"] ---------- */
.d4m-tile-wrap {
	display: flex;
	justify-content: flex-start;
	line-height: 0;
}

.d4m-tile-wrap.d4m-align-center {
	justify-content: center;
}

.d4m-tile-wrap.d4m-align-right {
	justify-content: flex-end;
}

.d4m-tile {
	--d4m-ts: var(--d4m-t, 220px);
	width: var(--d4m-ts);
	height: var(--d4m-ts);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: Poppins, sans-serif;
	font-weight: 600;
	font-size: calc(var(--d4m-ts) * 0.545);
	line-height: 1;
	color: #ffffff;
	text-transform: uppercase;
	user-select: none;
}

.d4m-tile-d { background: #e5231b; }
.d4m-tile-i { background: #efb90a; }
.d4m-tile-s { background: #6bb378; }
.d4m-tile-c { background: #0c71c3; }

@media (max-width: 980px) {
	.d4m-tile {
		--d4m-ts: var(--d4m-tm, 120px);
	}
	.d4m-tile-wrap.d4m-align-right {
		justify-content: flex-start;
	}
}

/* ---------- Menüpont gombként: a menüpont CSS-osztálya d4m-menu-btn ----------
   Szándékosan erős szelektor (:is(body, #…) = egy azonosító erőssége), mert a Divi
   a menü- és gombszíneket !important-tal és azonosítós szelektorral adja. */
html :is(body, #d4m-boost) li.d4m-menu-btn.d4m-menu-btn.d4m-menu-btn > a {
	display: inline-block !important;
	background-color: #262626 !important;
	color: #ffffff !important;
	padding: 10px 20px !important;
	line-height: 1.2 !important;
	opacity: 1 !important;
}

/* Gépen a menüpontok és a gomb függőlegesen középre kerülnek (a mobilmenüt nem érinti) */
@media (min-width: 981px) {
	html :is(body, #d4m-boost) ul:not(.et_mobile_menu):has(> li.d4m-menu-btn) {
		align-items: center !important;
	}
	html :is(body, #d4m-boost) ul:not(.et_mobile_menu):has(> li.d4m-menu-btn) > li {
		display: inline-flex !important;
		align-items: center !important;
		vertical-align: middle !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
	html :is(body, #d4m-boost) ul:not(.et_mobile_menu):has(> li.d4m-menu-btn) > li:not(.d4m-menu-btn) > a {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
}

/* ---------- Jogi és hosszú szöveges oldalak: Szöveg modul class = d4m-legal ---------- */
.d4m-legal {
	font-size: 17px;
	line-height: 1.75;
	color: #3a3c41;
}

.d4m-legal .d4m-updated {
	margin: 0 0 40px !important;
	padding: 0 !important;
	font-size: 14px !important;
	color: #5f6269 !important;
}

.d4m-legal h2 {
	margin: 56px 0 14px !important;
	padding: 0 !important;
	font-size: 20px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase;
	color: #262626 !important;
}

.d4m-legal .d4m-updated + h2 {
	margin-top: 0 !important;
}

.d4m-legal h3 {
	margin: 32px 0 10px !important;
	padding: 0 !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: #262626 !important;
}

.d4m-legal p {
	margin: 0 0 16px !important;
	padding: 0 !important;
}

.d4m-legal ul {
	margin: 0 0 20px !important;
	padding: 0 0 0 20px !important;
}

.d4m-legal li {
	margin: 0 0 6px !important;
	padding: 0 !important;
}

.d4m-legal a {
	color: #262626 !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

.d4m-legal table {
	width: 100%;
	margin: 8px 0 24px !important;
	border-collapse: collapse;
	border: 0 !important;
	font-size: 15px;
}

.d4m-legal th,
.d4m-legal td {
	padding: 10px 12px 10px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid #eeeff1 !important;
	text-align: left;
	vertical-align: top;
}

.d4m-legal th {
	font-weight: 600;
	color: #262626;
}

/* ================= BLOG ================= */

/* Cikk szövege: a Theme Builder „Bejegyzés tartalma” modulján class = d4m-article */
.d4m-article {
	font-size: 18px;
	line-height: 1.75;
	color: #3a3c41;
}

.d4m-article p { margin: 0 0 20px; padding: 0; }
.d4m-article ul, .d4m-article ol { margin: 0 0 24px; padding: 0 0 0 22px; }
.d4m-article li { margin: 0 0 8px; padding: 0; }
.d4m-article a { color: #262626; text-decoration: underline; text-underline-offset: 3px; }

.d4m-article h2 {
	margin: 64px 0 18px !important;
	padding: 0 !important;
	font-size: 24px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase;
	color: #262626 !important;
}

.d4m-article h3 {
	margin: 40px 0 12px !important;
	padding: 0 !important;
	font-size: 19px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: #262626 !important;
}

.d4m-article .d4m-lead {
	font-size: 21px;
	line-height: 1.65;
	color: #262626;
}

/* Fejezetcím négy csíkkal: a csíkok a cikkben kisebbek */
.d4m-article h2.d4m-bars::before,
.d4m-article h3.d4m-bars::before {
	height: 22px;
}

/* Négy stílus rácsban */
.d4m-styles-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin: 32px 0;
}

.d4m-styles-grid .d4m-sg-item {
	display: flex;
	flex-direction: column;
	text-decoration: none !important;
	color: inherit;
}

.d4m-styles-grid .d4m-sg-tile {
	aspect-ratio: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-family: Poppins, sans-serif;
	font-size: clamp(32px, 6vw, 56px);
	font-weight: 600;
	transition: transform 0.25s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.d4m-styles-grid a.d4m-sg-item:hover .d4m-sg-tile { transform: scale(1.04); }

.d4m-styles-grid .d4m-sg-name {
	margin-top: 10px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #262626;
	overflow-wrap: anywhere;
}

.d4m-styles-grid .d4m-sg-sub { font-size: 14px; line-height: 1.5; color: #5f6269; }

/* Két kártya */
.d4m-article .d4m-cards { gap: 16px !important; margin: 28px 0 !important; }
.d4m-article .d4m-cards > .wp-block-column { border: 1px solid #eeeff1; padding: 22px; }
.d4m-article .d4m-cards p { margin: 0; font-size: 16px; }
.d4m-article .d4m-cards .d4m-card-title {
	margin: 0 0 6px;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #262626;
}

/* DISC fejezet nagy színes négyzettel */
.d4m-chapter {
	position: relative;
	margin: 72px 0 0 !important;
	padding: 40px 0 0 124px !important;
	border-top: 1px solid #eeeff1;
	min-height: 136px;
	scroll-margin-top: 100px;
}

.d4m-chapter::before {
	position: absolute;
	top: 40px;
	left: 0;
	width: 96px;
	height: 96px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: Poppins, sans-serif;
	font-size: 52px;
	font-weight: 600;
	line-height: 1;
	color: #fff;
}

.d4m-chapter-d::before { content: "D"; background: #e5231b; }
.d4m-chapter-i::before { content: "I"; background: #efb90a; }
.d4m-chapter-s::before { content: "S"; background: #6bb378; }
.d4m-chapter-c::before { content: "C"; background: #0c71c3; }

.d4m-article .d4m-chapter h2 { margin-top: 0 !important; }

/* Tényrács: a lista minden sora „Címke  szöveg” */
.d4m-article ul.d4m-facts {
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
}

.d4m-article ul.d4m-facts li {
	display: grid;
	grid-template-columns: 150px 1fr;
	gap: 12px;
	margin: 0;
	padding: 12px 0;
	border-top: 1px solid #eeeff1;
	font-size: 16px;
}

.d4m-article ul.d4m-facts li strong {
	padding-top: 3px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #5f6269;
}

/* Kiemelt idézet a négy kis négyzettel */
.d4m-article .d4m-quote {
	position: relative;
	margin: 44px 0 !important;
	padding: 6px 0 6px 30px !important;
	border: 0 !important;
	background: none !important;
}

.d4m-article .d4m-quote::before {
	content: "";
	position: absolute;
	left: 0;
	top: 10px;
	width: 10px;
	height: 10px;
	background: #e5231b;
	box-shadow: 0 14px 0 #efb90a, 0 28px 0 #6bb378, 0 42px 0 #0c71c3;
}

.d4m-article .d4m-quote p {
	margin: 0;
	font-size: 26px;
	font-style: normal;
	font-weight: 500;
	line-height: 1.4;
	color: #262626;
}

.d4m-article .d4m-quote cite { display: block; margin-top: 10px; font-size: 14px; font-style: normal; color: #5f6269; }

/* Kulcsgondolat-doboz */
.d4m-article .d4m-take {
	margin: 56px 0 !important;
	padding: 32px 36px !important;
	background: #f4f4f5;
}

.d4m-article .d4m-take p { margin: 0; font-size: 19px; color: #262626; }

.d4m-article .d4m-take .d4m-take-label {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 10px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #5f6269;
}

.d4m-article .d4m-take .d4m-take-label::before {
	content: "";
	width: 36px;
	height: 22px;
	flex: 0 0 auto;
	background-image: linear-gradient(#e5231b, #e5231b), linear-gradient(#efb90a, #efb90a), linear-gradient(#6bb378, #6bb378), linear-gradient(#0c71c3, #0c71c3);
	background-position: 0 0, 10px 0, 20px 0, 30px 0;
	background-size: 6px 100%;
	background-repeat: no-repeat;
}

/* Teszt-doboz */
.d4m-cta-box {
	margin: 64px 0 !important;
	padding: 44px !important;
	border: 1px solid #eeeff1;
	text-align: center;
}

.d4m-article .d4m-cta-box h3 {
	margin: 0 0 10px !important;
	font-size: 26px !important;
	letter-spacing: 0.02em !important;
	text-transform: uppercase !important;
}

.d4m-cta-box .wp-block-buttons { justify-content: center; margin-top: 14px; }

/* Gutenberg-gombok a cikkekben: ugyanolyanok, mint a Divi gombok */
.d4m-article .wp-block-button__link,
.d4m-cta-box .wp-block-button__link {
	display: inline-block;
	padding: 18px 36px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background-color: #262626 !important;
	color: #ffffff !important;
	font-family: Poppins, sans-serif;
	font-size: 16px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	transition: transform 0.25s cubic-bezier(0.2, 0.7, 0.2, 1), background-color 0.35s ease !important;
}

.d4m-article .wp-block-button__link:hover,
.d4m-cta-box .wp-block-button__link:hover { transform: scale(1.05); }
.d4m-article .wp-block-button__link:active,
.d4m-cta-box .wp-block-button__link:active { transform: scale(0.97); }

/* Sablonelemek */
.d4m-post-meta {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 14px;
	color: #5f6269;
}

.d4m-squares {
	display: inline-flex;
	gap: calc(var(--d4m-sq, 14px) * 0.22);
	vertical-align: middle;
}

.d4m-squares i {
	display: block;
	width: var(--d4m-sq, 14px);
	height: var(--d4m-sq, 14px);
}

.d4m-squares .d4m-sq-d { background: #e5231b; }
.d4m-squares .d4m-sq-i { background: #efb90a; }
.d4m-squares .d4m-sq-s { background: #6bb378; }
.d4m-squares .d4m-sq-c { background: #0c71c3; }
.d4m-squares .d4m-sq-off { background: #edeef0; }

.d4m-post-styles {
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #5f6269;
}

.d4m-author {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 32px 0;
	border-top: 1px solid #eeeff1;
}

.d4m-author .d4m-squares {
	display: grid;
	grid-template-columns: repeat(2, var(--d4m-sq));
	flex: 0 0 auto;
}

.d4m-author .d4m-squares i:nth-child(3) { order: 4; }
.d4m-author .d4m-squares i:nth-child(4) { order: 3; }

.d4m-author p { margin: 0 !important; padding: 0 !important; font-size: 15px; line-height: 1.6; color: #3a3c41; }
.d4m-author strong { color: #262626; }

.d4m-label a { color: inherit !important; text-decoration: none !important; }

@media (max-width: 767px) {
	.d4m-article { font-size: 17px; }
	.d4m-article .d4m-lead { font-size: 19px; }
	.d4m-article h2 { font-size: 20px !important; margin-top: 48px !important; }
	.d4m-styles-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.d4m-chapter { padding: 32px 0 0 !important; min-height: 0; }
	.d4m-chapter::before { position: static; width: 64px; height: 64px; font-size: 34px; margin-bottom: 18px; }
	.d4m-article ul.d4m-facts li { grid-template-columns: 1fr; gap: 2px; }
	.d4m-article .d4m-quote p { font-size: 21px; }
	.d4m-article .d4m-take, .d4m-cta-box { padding: 28px 22px !important; }
}

/* ---------- Cikk-kártyák: [disc4me_posts] ---------- */
.d4m-posts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 48px 32px;
}

.d4m-posts-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.d4m-card {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
}

.d4m-card-img {
	display: block;
	overflow: hidden;
	aspect-ratio: 1200 / 630;
	background: #f4f4f5;
}

.d4m-card-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.d4m-card:hover .d4m-card-img img { transform: scale(1.03); }

.d4m-card-noimg {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.d4m-card-body { padding-top: 18px; }

.d4m-card-tag {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #5f6269;
}

.d4m-card-title {
	margin: 0 0 8px !important;
	padding: 0 !important;
	font-size: 20px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.d4m-card-title a {
	color: #262626 !important;
	text-decoration: none !important;
	background-image: linear-gradient(#262626, #262626);
	background-size: 0 1px;
	background-position: 0 100%;
	background-repeat: no-repeat;
	transition: background-size 0.35s ease;
}

.d4m-card:hover .d4m-card-title a { background-size: 100% 1px; }

.d4m-card-excerpt {
	margin: 0 0 10px !important;
	padding: 0 !important;
	font-size: 15px;
	line-height: 1.6;
	color: #3a3c41;
}

.d4m-card-meta {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 13px;
	color: #5f6269;
}

.d4m-pagination {
	display: flex;
	gap: 6px;
	justify-content: center;
	margin-top: 56px;
}

.d4m-pagination .page-numbers {
	min-width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 8px;
	font-size: 15px;
	font-weight: 500;
	color: #262626;
	text-decoration: none;
	background: #f4f4f5;
}

.d4m-pagination .page-numbers.current {
	background: #262626;
	color: #fff;
}

/* Színszűrő: logó-csempék + ALL */
.d4m-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: 0 0 48px;
}

.d4m-filter-label {
	margin-right: 14px;
	font-size: 15px;
	font-weight: 500;
	color: #262626;
}

.d4m-filter-gap { width: 10px; }

.d4m-ft {
	width: 46px;
	height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: Poppins, sans-serif;
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
	color: #fff !important;
	text-decoration: none !important;
	transition: background-color 0.3s ease, color 0.3s ease, transform 0.2s ease;
}

.d4m-ft:hover { transform: scale(1.06); }
.d4m-ft-all { width: auto; padding: 0 18px; font-size: 14px; letter-spacing: 0.08em; background: #262626; }
.d4m-ft-d { background: #e5231b; }
.d4m-ft-i { background: #efb90a; }
.d4m-ft-s { background: #6bb378; }
.d4m-ft-c { background: #0c71c3; }
.d4m-ft.is-off { background: #edeef0; color: #9a9da4 !important; }

@media (max-width: 480px) {
	.d4m-filter-label { width: 100%; margin: 0 0 6px; }
	.d4m-ft { width: 40px; height: 40px; font-size: 18px; }
}

/* B elrendezés: kiemelt + sorok */
.d4m-row {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 32px;
	align-items: center;
	padding: 28px 0;
	border-bottom: 1px solid #eeeff1;
}

.d4m-row-featured {
	grid-template-columns: 7fr 5fr;
	gap: 48px;
	padding: 0 0 56px;
	margin-bottom: 8px;
}

.d4m-row-featured .d4m-card-title {
	font-size: 32px !important;
	line-height: 1.15 !important;
	text-transform: uppercase !important;
	margin-bottom: 14px !important;
}

.d4m-row-featured .d4m-card-excerpt { font-size: 17px; }
.d4m-row:hover .d4m-card-img img, .d4m-li:hover .d4m-card-img img { transform: scale(1.03); }
.d4m-row:hover .d4m-card-title a, .d4m-li:hover .d4m-card-title a { background-size: 100% 1px; }

/* C elrendezés: letisztult lista */
.d4m-li {
	display: grid;
	grid-template-columns: 60px 1fr 220px;
	gap: 32px;
	align-items: center;
	padding: 32px 0;
	border-top: 1px solid #eeeff1;
}

.d4m-li-n { font-size: 15px; font-weight: 600; color: #9a9da4; }
.d4m-li .d4m-card-title { font-size: 24px !important; }
.d4m-li-side { text-align: right; }
.d4m-li-side .d4m-card-img { margin-top: 12px; }
.d4m-posts-empty { color: #5f6269; }

@media (max-width: 980px) {
	.d4m-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.d4m-row-featured { grid-template-columns: 1fr; gap: 20px; }
	.d4m-row-featured .d4m-card-title { font-size: 24px !important; }
}

@media (max-width: 640px) {
	.d4m-posts, .d4m-posts-2 { grid-template-columns: 1fr; gap: 40px; }
	.d4m-row { grid-template-columns: 1fr; gap: 16px; }
	.d4m-li { grid-template-columns: 1fr; gap: 12px; }
	.d4m-li-n { display: none; }
	.d4m-li-side { text-align: left; }
}

/* ---------- Telefonos (hamburger) menü: teljes képernyős, letisztult ----------
   A fejléc (logó és a menü ikonja) felül látszik marad, alatta fehér lap a menüpontokkal.
   A lap a fejléc mögé kerül (z-index: -1), így a fejléc tartalma mindig felette van. */
/* A szín belső árnyékként fut, mert a gomb háttérszínét a Divi miatt !important adja */
@keyframes d4m-btn-cycle {
	0%, 18%   { box-shadow: inset 0 0 0 200px #e5231b; }
	25%, 43%  { box-shadow: inset 0 0 0 200px #efb90a; }
	50%, 68%  { box-shadow: inset 0 0 0 200px #6bb378; }
	75%, 93%  { box-shadow: inset 0 0 0 200px #0c71c3; }
	100%      { box-shadow: inset 0 0 0 200px #e5231b; }
}

@media (max-width: 980px) {
	html :is(body, #d4m-boost) .mobile_nav.opened .et_mobile_menu {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		bottom: -120px !important; /* a telefonos böngészősáv alá is lenyúlik, ne maradjon rés */
		z-index: -1 !important;
		box-sizing: border-box !important;
		width: auto !important;
		height: auto !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 120px 32px 168px !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 8px;
		background: #ffffff !important;
		border: 0 !important;
		box-shadow: none !important;
		overflow-y: auto !important;
	}
	html :is(body, #d4m-boost) .et_mobile_menu li {
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		text-align: center !important;
		text-indent: 0 !important;
		list-style: none !important;
	}
	html :is(body, #d4m-boost) .et_mobile_menu li::before,
	html :is(body, #d4m-boost) .et_mobile_menu li::after,
	html :is(body, #d4m-boost) .et_mobile_menu li a::before,
	html :is(body, #d4m-boost) .et_mobile_menu li a::after {
		display: none !important;
	}
	html :is(body, #d4m-boost) .et_mobile_menu li a {
		border: 0 !important;
		background: transparent;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding: 10px 16px !important;
		font-size: 22px !important;
		font-weight: 500 !important;
		color: #262626 !important;
		white-space: nowrap !important;
		text-align: center !important;
	}
	html :is(body, #d4m-boost) .et_mobile_menu li.d4m-menu-btn.d4m-menu-btn.d4m-menu-btn > a {
		display: inline-block !important;
		margin-top: 24px !important;
		padding: 16px 32px !important;
		font-size: 18px !important;
		color: #ffffff !important;
		animation: d4m-btn-cycle 8s ease-in-out infinite;
	}
	/* A hamburger ikon helyén nyitva X jelenik meg */
	html :is(body, #d4m-boost) .mobile_nav.opened .mobile_menu_bar:before {
		content: "\4d" !important;
	}
}

/* Nyitott menünél az oldal nem görög alatta, és az oldal tartalma is eltűnik,
   így a telefonos böngésző alsó sávja alatt sem látszik semmi (iOS Safari) */
html:has(.mobile_nav.opened),
html:has(.mobile_nav.opened) body {
	overflow: hidden !important;
	background-color: #ffffff !important;
}

html:has(.mobile_nav.opened) :is(#main-content, .et-l--body, .et-l--footer, #main-footer, .d4m-hero-wrap) {
	visibility: hidden !important;
}

/* Nyitott menünél a fejléc kis logója mindig látszik (akkor is, ha a nagy még nem repült fel) */
html:has(.mobile_nav.opened) .d4m-logo:not(.d4m-hero-logo):not(.d4m-fly) {
	opacity: 1 !important;
}

@media (prefers-reduced-motion: reduce) {
	html :is(body, #d4m-boost) .et_mobile_menu li.d4m-menu-btn.d4m-menu-btn.d4m-menu-btn > a {
		animation: none;
	}
}

/* Amíg a telefonos menü nyitva van, a nyitókép repülő logója nem takarja ki */
html:has(.mobile_nav.opened) .d4m-logo.d4m-fly,
html.d4m-menu-open .d4m-logo.d4m-fly {
	opacity: 0 !important;
	transition: opacity 0.2s ease;
}

/* ---------- Gombok: egér alatt kicsit megnőnek, és a következő DISC-színt kapják ----------
   Minden Divi gombra (.et_pb_button) és a gombként jelölt menüpontra vonatkozik.
   Kikapcsolás egy gombon: d4m-no-hover osztály a modulon. */
.et_pb_button:not(.d4m-no-hover),
li.d4m-menu-btn > a {
	transition: transform 0.25s cubic-bezier(0.2, 0.7, 0.2, 1), background-color 0.35s ease, border-color 0.35s ease, color 0.35s ease !important;
	will-change: transform;
}

.et_pb_button:not(.d4m-no-hover):hover,
.et_pb_button:not(.d4m-no-hover):focus-visible,
li.d4m-menu-btn > a:hover,
li.d4m-menu-btn > a:focus-visible {
	transform: scale(1.05);
}

.et_pb_button:not(.d4m-no-hover):active,
li.d4m-menu-btn > a:active {
	transform: scale(0.97);
	transition-duration: 0.08s !important;
}

html :is(body, #d4m-boost) .et_pb_button.et_pb_button.et_pb_button.d4m-h-d, html :is(body, #d4m-boost) .wp-block-button__link.wp-block-button__link.d4m-h-d, html :is(body, #d4m-boost) li.d4m-menu-btn.d4m-menu-btn.d4m-menu-btn > a.d4m-h-d { background-color: #e5231b !important; border-color: #e5231b !important; color: #ffffff !important; }
html :is(body, #d4m-boost) .et_pb_button.et_pb_button.et_pb_button.d4m-h-i, html :is(body, #d4m-boost) .wp-block-button__link.wp-block-button__link.d4m-h-i, html :is(body, #d4m-boost) li.d4m-menu-btn.d4m-menu-btn.d4m-menu-btn > a.d4m-h-i { background-color: #efb90a !important; border-color: #efb90a !important; color: #ffffff !important; }
html :is(body, #d4m-boost) .et_pb_button.et_pb_button.et_pb_button.d4m-h-s, html :is(body, #d4m-boost) .wp-block-button__link.wp-block-button__link.d4m-h-s, html :is(body, #d4m-boost) li.d4m-menu-btn.d4m-menu-btn.d4m-menu-btn > a.d4m-h-s { background-color: #6bb378 !important; border-color: #6bb378 !important; color: #ffffff !important; }
html :is(body, #d4m-boost) .et_pb_button.et_pb_button.et_pb_button.d4m-h-c, html :is(body, #d4m-boost) .wp-block-button__link.wp-block-button__link.d4m-h-c, html :is(body, #d4m-boost) li.d4m-menu-btn.d4m-menu-btn.d4m-menu-btn > a.d4m-h-c { background-color: #0c71c3 !important; border-color: #0c71c3 !important; color: #ffffff !important; }

@media (prefers-reduced-motion: reduce) {
	.et_pb_button:not(.d4m-no-hover),
	li.d4m-menu-btn > a {
		transition: none !important;
	}
	.et_pb_button:not(.d4m-no-hover):hover,
	.et_pb_button:not(.d4m-no-hover):active,
	li.d4m-menu-btn > a:hover,
	li.d4m-menu-btn > a:active {
		transform: none;
	}
}

/* Mozgáscsökkentés: nincs animáció és nincs átmenet */
@media (prefers-reduced-motion: reduce) {
	.d4m-logo .d4m-c {
		animation: none;
		transition: none;
	}
}
