/* VACOK - custom.css
   Csak az, amit a theme.json nem tud: összetett szelektor, hover, átmenet,
   rács, maszk, sticky, és a képre írt szöveg sötétítése.

   Egy hexa érték sincs benne. A szín, a betű, a méret és a térköz mind a
   theme.json presetjeiből jön; a lenti aliasok csak rövidebb nevet adnak
   nekik, hogy a szabályok olvashatók maradjanak.

   Az aliasok a body-n vannak, nem a :root-on. A WordPress a preseteket a
   verziójától függően a :root-ra vagy a body-ra írja ki, és a body mindkét
   esetben látja őket.

   Mobil töréspont: 760px, ahogy a design.md írja. */

body {
	/* szín */
	--szin-hatter: var(--wp--preset--color--hatter);
	--szin-blokk: var(--wp--preset--color--blokk);
	--szin-tinta: var(--wp--preset--color--tinta);
	--szin-halvany: var(--wp--preset--color--halvany);
	--szin-kiemeles: var(--wp--preset--color--kiemeles);
	--szin-kiemeles-szoveg: var(--wp--preset--color--kiemeles-szoveg);
	--szin-surgos: var(--wp--preset--color--surgos);
	--szin-vonal: var(--wp--preset--color--vonal);

	/* betű */
	--betu-cim: var(--wp--preset--font-family--cim);
	--betu-szoveg: var(--wp--preset--font-family--szoveg);
	--suly-cim: var(--wp--custom--suly--cim);
	--suly-cim-konnyu: var(--wp--custom--suly--cim-konnyu);
	--suly-szoveg: var(--wp--custom--suly--szoveg);
	--suly-szoveg-eros: var(--wp--custom--suly--szoveg-eros);
	--sorkoz-szoveg: var(--wp--custom--sorkoz--szoveg);
	--sorkoz-cim: var(--wp--custom--sorkoz--cim);

	/* méret */
	--m1: var(--wp--preset--font-size--m-1, var(--wp--preset--font-size--m1));
	--m2: var(--wp--preset--font-size--m-2, var(--wp--preset--font-size--m2));
	--m3: var(--wp--preset--font-size--m-3, var(--wp--preset--font-size--m3));
	--m4: var(--wp--preset--font-size--m-4, var(--wp--preset--font-size--m4));
	--m5: var(--wp--preset--font-size--m-5, var(--wp--preset--font-size--m5));
	--m6: var(--wp--preset--font-size--m-6, var(--wp--preset--font-size--m6));
	--m7: var(--wp--preset--font-size--m-7, var(--wp--preset--font-size--m7));

	/* térköz */
	--t1: var(--wp--preset--spacing--t-1, var(--wp--preset--spacing--t1));
	--t2: var(--wp--preset--spacing--t-2, var(--wp--preset--spacing--t2));
	--t3: var(--wp--preset--spacing--t-3, var(--wp--preset--spacing--t3));
	--t4: var(--wp--preset--spacing--t-4, var(--wp--preset--spacing--t4));
	--t5: var(--wp--preset--spacing--t-5, var(--wp--preset--spacing--t5));
	--t6: var(--wp--preset--spacing--t-6, var(--wp--preset--spacing--t6));
	--t7: var(--wp--preset--spacing--t-7, var(--wp--preset--spacing--t7));
	--t8: var(--wp--preset--spacing--t-8, var(--wp--preset--spacing--t8));

	/* sarok. A WordPress a settings.custom kulcsaiban a betű és a szám közé
	   kötőjelet tesz (r1 -> r-1). A második név tartalék, ha egy verzió
	   mégsem így csinálja: érték egyik esetben sem íródik ide kézzel. */
	--r1: var(--wp--custom--sugar--r-1, var(--wp--custom--sugar--r1));
	--r2: var(--wp--custom--sugar--r-2, var(--wp--custom--sugar--r2));
	--r3: var(--wp--custom--sugar--r-3, var(--wp--custom--sugar--r3));
	--r4: var(--wp--custom--sugar--r-4, var(--wp--custom--sugar--r4));

	/* szerkezet */
	--oldalperem: var(--t5);
	--atmenet: var(--wp--custom--atmenet);

	/* Állapotértékek. Nem új színek: a paletta színeiből keverve, a design
	   system szabálya szerint. Ezért nem a theme.json palettájában vannak. */
	--kiemeles-hover: color-mix(in srgb, var(--szin-kiemeles) 86%, var(--szin-tinta));
	--kiemeles-press: color-mix(in srgb, var(--szin-kiemeles) 74%, var(--szin-tinta));
	--kiemeles-halo: color-mix(in srgb, var(--szin-kiemeles) 10%, transparent);
	--surgos-hover: color-mix(in srgb, var(--szin-surgos) 86%, var(--szin-tinta));
	--feher-hover: color-mix(in srgb, var(--szin-hatter) 86%, var(--szin-kiemeles));
	--feher-surgoson-hover: color-mix(in srgb, var(--szin-hatter) 92%, var(--szin-tinta));
	--hamarosan-hatter: color-mix(in srgb, var(--szin-halvany) 9%, var(--szin-hatter));
	--hamarosan-keret: color-mix(in srgb, var(--szin-halvany) 45%, transparent);

	/* Fotósötétítés. Minden képre írt szöveg alá kötelező: a nyolc rendelős
	   fotón a fehér felirat magában 2,3 és 4,3 közötti kontrasztot ad. */
	--foto-sotetit: color-mix(in srgb, var(--szin-tinta) 34%, transparent);
	--foto-satiroz: linear-gradient(
		to top,
		color-mix(in srgb, var(--szin-tinta) 88%, transparent) 0%,
		color-mix(in srgb, var(--szin-tinta) 55%, transparent) 34%,
		color-mix(in srgb, var(--szin-tinta) 0%, transparent) 68%
	);
}

@media (max-width: 760px) {
	body {
		--oldalperem: var(--t3);
	}
}

/* ---------------------------------------------------------------- alap */

body {
	text-wrap: pretty;
}

.wp-site-blocks > * {
	margin-block: 0;
}

h1,
h2,
h3 {
	text-wrap: pretty;
}

@media (max-width: 760px) {
	h1,
	.wp-block-post-title {
		font-size: var(--m6);
	}

	h2 {
		font-size: var(--m5);
	}
}

.halvany,
.is-style-halvany {
	color: var(--szin-halvany);
}

.rejtett {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible {
	outline: 2px solid var(--szin-kiemeles);
	outline-offset: 2px;
	border-radius: var(--r1);
}

/* ------------------------------------------------------------ alap */

/* Ugyanaz az alap, mint a terv theme.css-ében: a padding és a keret a
   méreten belül van. Nélküle a min-height: 100% mellé odaadódik a padding
   (például a térkép doboza magasabb lenne a mellette álló oszlopnál). */
*,
*::before,
*::after {
	box-sizing: border-box;
}

/* ------------------------------------------------------------- ikonok */

/* Az ikonok CSS-maszkkal készülnek a külön SVG-fájlokból: a szín
   currentColor, tehát az ikon mindig a szövege színét veszi fel, és a
   szerkesztőben sem lehet elrontani. Így a minták szövege szerkeszthető
   marad, mert nincs beágyazott SVG a blokkokban. */

/* A gombnál az ikon a linkre kerül, nem a külső div-re: különben kétszer
   látszana, egyszer a gomb fölött. */
.ikon-elott:not(.wp-block-button)::before,
.ikon-utan:not(.wp-block-button)::after,
.wp-block-button.ikon-elott > .wp-block-button__link::before,
.wp-block-button.ikon-utan > .wp-block-button__link::after {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	background-color: currentColor;
	-webkit-mask: var(--ikon) center / contain no-repeat;
	mask: var(--ikon) center / contain no-repeat;
	vertical-align: -0.22em;
}

.ikon-nagy.ikon-elott:not(.wp-block-button)::before,
.ikon-nagy.ikon-utan:not(.wp-block-button)::after,
.wp-block-button.ikon-nagy > .wp-block-button__link::before {
	width: 26px;
	height: 26px;
}

/* A vissza-nyíl nem mozdul hoverre, ezért kap saját osztályt. */
.ikon-vissza::before {
	transform: rotate(180deg);
}

.ikon--bezaras { --ikon: url("../images/icons/bezaras.svg"); }
.ikon--boritek { --ikon: url("../images/icons/boritek.svg"); }
.ikon--chevron-le { --ikon: url("../images/icons/chevron-le.svg"); }
.ikon--chip { --ikon: url("../images/icons/chip.svg"); }
.ikon--cim { --ikon: url("../images/icons/cim.svg"); }
.ikon--cimke { --ikon: url("../images/icons/cimke.svg"); }
.ikon--felhasznalo { --ikon: url("../images/icons/felhasznalo.svg"); }
.ikon--hullam { --ikon: url("../images/icons/hullam.svg"); }
.ikon--kerdojel { --ikon: url("../images/icons/kerdojel.svg"); }
.ikon--kulso-link { --ikon: url("../images/icons/kulso-link.svg"); }
.ikon--labor { --ikon: url("../images/icons/labor.svg"); }
.ikon--lelet { --ikon: url("../images/icons/lelet.svg"); }
.ikon--letoltes { --ikon: url("../images/icons/letoltes.svg"); }
.ikon--menu { --ikon: url("../images/icons/menu.svg"); }
.ikon--mobil { --ikon: url("../images/icons/mobil.svg"); }
.ikon--naptar { --ikon: url("../images/icons/naptar.svg"); }
.ikon--nyil-jobbra { --ikon: url("../images/icons/nyil-jobbra.svg"); }
.ikon--oltas { --ikon: url("../images/icons/oltas.svg"); }
.ikon--ora { --ikon: url("../images/icons/ora.svg"); }
.ikon--pipa { --ikon: url("../images/icons/pipa.svg"); }
.ikon--pipa-korben { --ikon: url("../images/icons/pipa-korben.svg"); }
.ikon--surgos { --ikon: url("../images/icons/surgos.svg"); }
.ikon--sziv { --ikon: url("../images/icons/sziv.svg"); }
.ikon--sztetoszkop { --ikon: url("../images/icons/sztetoszkop.svg"); }
.ikon--tabletta { --ikon: url("../images/icons/tabletta.svg"); }
.ikon--telefon { --ikon: url("../images/icons/telefon.svg"); }
.ikon--utvonal { --ikon: url("../images/icons/utvonal.svg"); }
.ikon--uzenet { --ikon: url("../images/icons/uzenet.svg"); }

/* Ikonkorong: 54 px, blokk vagy fehér alapon, kék ikon. */
.ikonkorong {
	display: grid;
	place-content: center;
	width: 54px;
	height: 54px;
	flex-shrink: 0;
	border-radius: var(--r4);
	background: var(--szin-blokk);
	color: var(--szin-kiemeles);
}

.ikonkorong--feher {
	background: var(--szin-hatter);
}

.ikonkorong.ikon-elott::before {
	width: 26px;
	height: 26px;
	vertical-align: 0;
}

/* --------------------------------------------------------- szerkezet */

/* A tartalomsáv szélességét és az oldalperemet a theme.json layoutja adja.
   Itt csak a szakaszok függőleges ritmusa van. */

.szakasz {
	padding-top: var(--t7);
	padding-bottom: var(--t7);
}

.szakasz--also-szuk {
	padding-bottom: var(--t5);
}

.szakasz--felso-nulla {
	padding-top: 0;
}

.szakasz--blokk,
.is-style-blokk {
	background: var(--szin-blokk);
}

.szakasz__fej {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--t4);
	flex-wrap: wrap;
	margin-bottom: var(--t5);
}

.szakasz__fejszoveg {
	display: flex;
	flex-direction: column;
	gap: var(--t2);
	max-width: 58ch;
}

.szakasz__fejszoveg > * {
	margin-block: 0;
}

.szakasz__alcim {
	color: var(--szin-halvany);
	line-height: 1.6;
}

.szakasz__gomb-mobil {
	display: none;
	margin-top: var(--t4);
}

/* Három oszlop, mobilon egy. A blokkstílus neve: csempe. */
.harmas,
.is-style-csempe {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--t3);
}

.kettes {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: var(--t6);
	align-items: center;
}

.kettes--balnagy,
.is-style-balnagy {
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	align-items: start;
}

/* A rácsok gyerekei nem kapnak blokkközi margót, a gap adja a térközt. */
.harmas > *,
.is-style-csempe > *,
.kettes > * {
	margin-block: 0;
}

.also-ter {
	height: var(--t7);
}

@media (max-width: 760px) {
	.szakasz {
		padding-top: var(--t6);
		padding-bottom: var(--t6);
	}

	.szakasz__fej {
		margin-bottom: var(--t4);
	}

	.szakasz__fej .wp-block-button,
	.szakasz__fej .gomb {
		display: none;
	}

	.szakasz__gomb-mobil {
		display: flex;
		width: 100%;
	}

	.harmas,
	.is-style-csempe,
	.kettes,
	.kettes--balnagy,
	.is-style-balnagy {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--t4);
	}

	.also-ter {
		height: var(--t6);
	}
}

/* -------------------------------------------------------------- gomb */

/* Az alapgomb színe, kerete, sarka és betűje a theme.json elements.button
   beállításából jön. Itt csak az van, amit az nem tud: az elrendezés, a
   44 px-es minimum és a változatok. */

.wp-block-button__link,
.gomb {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--t2);
	min-height: 44px;
	white-space: nowrap;
	cursor: pointer;
	transition:
		background-color var(--atmenet),
		border-color var(--atmenet),
		color var(--atmenet);
}

/* Nem nő és nem kap árnyékot. */
.wp-block-button__link:hover,
.wp-block-button__link:active {
	transform: none;
	box-shadow: none;
}

.wp-block-button.is-style-masodlagos > .wp-block-button__link {
	background: transparent;
	color: var(--szin-kiemeles);
	border-color: var(--szin-kiemeles);
}

.wp-block-button.is-style-masodlagos > .wp-block-button__link:hover {
	background: var(--kiemeles-halo);
	border-color: var(--szin-kiemeles);
	color: var(--szin-kiemeles);
}

.wp-block-button.gomb--kicsi > .wp-block-button__link {
	padding: 11px 20px;
	font-size: var(--m2);
}

.wp-block-button.is-style-foton > .wp-block-button__link {
	background: transparent;
	color: var(--szin-kiemeles-szoveg);
	border-color: var(--szin-kiemeles-szoveg);
}

.wp-block-button.is-style-foton > .wp-block-button__link:hover {
	background: var(--szin-kiemeles-szoveg);
	color: var(--szin-kiemeles);
	border-color: var(--szin-kiemeles-szoveg);
}

.wp-block-button.is-style-feher > .wp-block-button__link {
	background: var(--szin-hatter);
	border-color: var(--szin-hatter);
	color: var(--szin-kiemeles);
}

.wp-block-button.is-style-feher > .wp-block-button__link:hover {
	background: var(--feher-hover);
	border-color: var(--feher-hover);
	color: var(--szin-kiemeles);
}

.wp-block-button.is-style-piros > .wp-block-button__link {
	background: var(--szin-surgos);
	border-color: var(--szin-surgos);
	color: var(--szin-kiemeles-szoveg);
}

.wp-block-button.is-style-piros > .wp-block-button__link:hover {
	background: var(--surgos-hover);
	border-color: var(--surgos-hover);
	color: var(--szin-kiemeles-szoveg);
}

.wp-block-button.is-style-surgos-feher > .wp-block-button__link {
	background: var(--szin-hatter);
	border-color: var(--szin-hatter);
	color: var(--szin-surgos);
	font-size: var(--m5);
	padding: 18px var(--t5);
}

.wp-block-button.is-style-surgos-feher > .wp-block-button__link:hover {
	background: var(--feher-surgoson-hover);
	border-color: var(--feher-surgoson-hover);
	color: var(--szin-surgos);
}

.gomb--teljes > .wp-block-button__link,
.gomb--teljes.wp-block-button > .wp-block-button__link {
	width: 100%;
}

.gombsor.wp-block-buttons {
	gap: var(--t2);
}

@media (max-width: 760px) {
	.gombsor.wp-block-buttons {
		flex-direction: column;
		align-items: stretch;
	}

	.gombsor.wp-block-buttons .wp-block-button,
	.gomb--mobil-teljes.wp-block-button {
		width: 100%;
	}

	.gombsor.wp-block-buttons .wp-block-button__link,
	.gomb--mobil-teljes > .wp-block-button__link {
		width: 100%;
	}

	.wp-block-button.is-style-surgos-feher > .wp-block-button__link {
		font-size: var(--m4);
		padding: 16px var(--t4);
		width: 100%;
	}
}

/* ------------------------------------------------- szöveges hivatkozás */

.link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--szin-kiemeles);
	font-weight: var(--suly-szoveg-eros);
	text-decoration: underline;
	text-decoration-color: transparent;
	text-underline-offset: 4px;
	transition:
		color var(--atmenet),
		text-decoration-color var(--atmenet);
}

.link:hover {
	color: var(--kiemeles-hover);
	text-decoration-color: currentColor;
}

.link:active {
	color: var(--kiemeles-press);
}

.link::before,
.link::after {
	transition: transform var(--atmenet);
}

.link.ikon-utan:hover::after {
	transform: translateX(3px);
}

.link--kicsi {
	font-size: var(--m2);
}

.adatlink {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	color: var(--szin-tinta);
	text-decoration: none;
	transition: color var(--atmenet);
}

.adatlink::before {
	color: var(--szin-kiemeles);
	margin-top: 3px;
}

.adatlink:hover {
	color: var(--szin-kiemeles);
}

.adatlink__al {
	display: block;
	font-size: var(--m2);
	font-weight: var(--suly-szoveg-eros);
	color: var(--szin-kiemeles);
}

.adatlink__al--halvany {
	font-weight: var(--suly-szoveg);
	color: var(--szin-halvany);
}

/* ------------------------------------------------------------ fejléc */

.fejlec {
	position: relative;
	z-index: 5;
	background: var(--szin-hatter);
	border-bottom: 1px solid var(--szin-vonal);
}

.fejlec__sav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--t5);
	padding-top: 14px;
	padding-bottom: 14px;
}

.fejlec__sav > *,
.fejlec__gombok > * {
	margin-block: 0;
}

.fejlec__logo img,
.fejlec .wp-block-site-logo img {
	height: 46px;
	width: auto;
}

.fejlec__gombok {
	display: flex;
	align-items: center;
	gap: var(--t2);
	flex-shrink: 0;
}

/* Menüpont: hoverre és az aktív oldalon kék, alatta balról befutó vonal. */
.fejlec .wp-block-navigation-item__content {
	position: relative;
	padding-bottom: 3px;
	color: var(--szin-tinta);
	font-weight: var(--suly-szoveg-eros);
	text-decoration: none;
	white-space: nowrap;
	transition: color var(--atmenet);
}

.fejlec .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -3px;
	height: 2px;
	background: var(--szin-kiemeles);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.2s ease;
}

.fejlec .wp-block-navigation-item__content:hover,
.fejlec .current-menu-item > .wp-block-navigation-item__content {
	color: var(--szin-kiemeles);
}

.fejlec .wp-block-navigation-item__content:hover::after,
.fejlec .current-menu-item > .wp-block-navigation-item__content::after {
	transform: scaleX(1);
}

@media (max-width: 1100px) {
	.fejlec .wp-block-navigation {
		gap: var(--t3);
	}

	.fejlec .wp-block-navigation-item__content {
		font-size: var(--m2);
	}
}

@media (max-width: 760px) {
	.fejlec__sav {
		gap: var(--t2);
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.fejlec__logo img,
	.fejlec .wp-block-site-logo img {
		height: 30px;
	}

	/* Mobilon csak a telefongomb marad kint, a többi a menübe csukódik. */
	.fejlec__gombok .wp-block-button:not(.gomb--telefon) {
		display: none;
	}

	.fejlec__gombok .gomb--telefon > .wp-block-button__link {
		padding: 10px 14px;
		font-size: var(--m2);
	}
}

/* A WordPress a menüt 600 px alatt csukja össze, a design 760 px alatt.
   A kettő között kézzel kell a hamburgerre váltani. Mobilon a hamburger
   a telefongomb után áll, ahogy a terven. */
@media (max-width: 760px) {
	.fejlec .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none;
	}

	.fejlec .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: grid;
		place-content: center;
		width: 44px;
		height: 44px;
		border: 1.5px solid var(--szin-vonal);
		border-radius: var(--r1);
		transition:
			background-color var(--atmenet),
			border-color var(--atmenet);
	}

	.fejlec .wp-block-navigation__responsive-container-open:not(.always-shown):hover {
		background: var(--kiemeles-halo);
		border-color: var(--szin-kiemeles);
	}

	.fejlec .wp-block-navigation__responsive-container-close {
		display: block;
	}

	.fejlec__sav .wp-block-navigation {
		order: 3;
	}

	.fejlec__gombok {
		order: 2;
	}
}

/* A nyitott mobilmenü sorai. */
.fejlec .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--szin-hatter);
	padding: var(--t3);
}

.fejlec .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 12px 4px;
	border-bottom: 1px solid var(--szin-vonal);
	border-radius: var(--r1);
	width: 100%;
}

.fejlec .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
	background: var(--kiemeles-halo);
}

.fejlec .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after {
	display: none;
}

/* --------------------------------------------------------------- fotó */

.foto,
.is-style-foto {
	overflow: hidden;
	border-radius: var(--r3);
	background: var(--szin-blokk);
}

.foto img,
.is-style-foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.foto:hover img,
.is-style-foto:hover img,
a:hover .foto img,
a:hover .is-style-foto img {
	transform: scale(1.03);
}

.foto--3-2,
.foto--3-2 img {
	aspect-ratio: 3 / 2;
}

.kep-fent img,
img.kep-fent {
	object-position: 50% 24%;
}

.kep-kozep img,
img.kep-kozep {
	object-position: 50% 45%;
}

/* ------------------------------------------------ főoldali nyitóblokk */

.hero {
	padding-top: var(--t5);
}

.hero__doboz {
	border-radius: var(--r3);
	overflow: hidden;
	background: var(--szin-blokk);
}

.hero__kepes {
	position: relative;
}

.hero__kepes > .wp-block-image,
.hero__kepes > .wp-block-image img {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 46% 40%;
	border-radius: 0;
	margin: 0;
}

/* A képre írt szöveg alá kötelező a sötétítés és a szatírozás. */
.hero__kepes::before,
.hero__kepes::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
}

.hero__kepes::before {
	background: var(--foto-sotetit);
}

.hero__kepes::after {
	background: var(--foto-satiroz);
}

.hero__racs {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 400px;
	align-items: end;
	gap: var(--t5);
	min-height: 520px;
	padding: var(--t7) var(--t6) var(--t6);
}

.hero__racs > * {
	margin-block: 0;
}

.hero__szoveg {
	display: flex;
	flex-direction: column;
	gap: var(--t4);
	color: var(--szin-kiemeles-szoveg);
}

.hero__szoveg > * {
	margin-block: 0;
	color: inherit;
}

.hero__szoveg h1 {
	max-width: 18ch;
}

.hero__bevezeto {
	font-size: var(--m4);
	line-height: 1.6;
	max-width: 40ch;
}

.hero__nyitva {
	background: var(--szin-hatter);
	border-radius: var(--r2);
	padding: var(--t4);
	display: flex;
	flex-direction: column;
	gap: var(--t2);
	color: var(--szin-tinta);
}

.hero__nyitva > * {
	margin-block: 0;
}

.hero__nyitva h2 {
	font-size: var(--m4);
}

.adatsor {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--t4);
	padding: var(--t4) var(--t6);
	font-size: var(--m2);
}

.adatsor > * {
	margin-block: 0;
}

.adatsor__valaszto {
	width: 1px;
	height: 18px;
	background: var(--szin-vonal);
}

.adatsor .adatlink {
	align-items: center;
}

.adatsor .adatlink::before {
	margin-top: 0;
}

@media (max-width: 760px) {
	.hero {
		padding-top: var(--t4);
	}

	.hero__kepes > .wp-block-image img {
		object-position: 62% 40%;
	}

	.hero__racs {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--t4);
		min-height: 560px;
		padding: var(--t5) var(--t3) var(--t4);
	}

	.hero__szoveg {
		gap: var(--t3);
	}

	.hero__bevezeto {
		font-size: var(--m3);
	}

	.hero__nyitva {
		padding: var(--t3);
	}

	.adatsor {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--t3);
		padding: var(--t3);
	}

	.adatsor__valaszto {
		display: none;
	}
}

/* ------------------------------------------------- nyitvatartás-állapot */

/* A feliratot a vacok.js számolja a nyitvatartásból, magyar idő szerint.
   Amíg nem fut le, a szerkesztőben beírt alapszöveg látszik. */

.allapot {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-size: var(--m2);
}

.allapot__pont {
	width: 10px;
	height: 10px;
	border-radius: var(--r4);
	background: var(--szin-halvany);
	flex-shrink: 0;
}

.allapot[data-allapot="nyitva"] .allapot__pont {
	background: var(--szin-kiemeles);
}

.allapot[data-allapot="ejjel"] .allapot__pont {
	background: var(--szin-surgos);
}

.allapot b {
	font-weight: var(--suly-szoveg-eros);
}

/* Éjjel a folytatás nem az időpontkérés, hanem a telefon. A két mondat
   közül mindig csak az egyik látszik, állapot szerint. */
.allapot__ejjel {
	display: none;
}

.allapot[data-allapot="ejjel"] .allapot__ejjel {
	display: inline;
}

.allapot[data-allapot="ejjel"] .allapot__tolda {
	display: none;
}

/* -------------------------------------------------------- aloldali fej */

.aloldalfej {
	padding-top: var(--t5);
}

.aloldalfej__doboz {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 360px;
	border-radius: var(--r3);
	overflow: hidden;
	background: var(--szin-blokk);
}

.aloldalfej__doboz > .wp-block-image,
.aloldalfej__doboz > .wp-block-image img,
.aloldalfej__doboz > .wp-block-post-featured-image,
.aloldalfej__doboz > .wp-block-post-featured-image img {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 40%;
	border-radius: 0;
	margin: 0;
}

.aloldalfej__doboz::before,
.aloldalfej__doboz::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
}

.aloldalfej__doboz::before {
	background: var(--foto-sotetit);
}

.aloldalfej__doboz::after {
	background: var(--foto-satiroz);
}

.aloldalfej__szoveg {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: var(--t3);
	padding: var(--t6);
	color: var(--szin-kiemeles-szoveg);
	width: 100%;
}

.aloldalfej__szoveg > * {
	margin-block: 0;
	color: inherit;
}

.aloldalfej__szoveg p {
	font-size: var(--m4);
	line-height: 1.6;
	max-width: 52ch;
}

/* Kép nélkül: blokk felület, sötétítés nélkül, tintaszínű szöveggel.
   A második szelektor a dinamikus esetre szól: ha egy szolgáltatásnak
   nincs kiemelt képe, a fej nem marad sötétített üres dobozként, hanem
   magától a kép nélküli változatra vált. */
.aloldalfej--keptelen .aloldalfej__doboz,
.aloldalfej__doboz:not(:has(img)) {
	min-height: 0;
}

.aloldalfej--keptelen .aloldalfej__doboz::before,
.aloldalfej--keptelen .aloldalfej__doboz::after,
.aloldalfej__doboz:not(:has(img))::before,
.aloldalfej__doboz:not(:has(img))::after {
	display: none;
}

.aloldalfej--keptelen .aloldalfej__szoveg,
.aloldalfej__doboz:not(:has(img)) .aloldalfej__szoveg {
	color: var(--szin-tinta);
	padding: var(--t7) var(--t6);
}

@media (max-width: 760px) {
	.aloldalfej {
		padding-top: var(--t4);
	}

	.aloldalfej__doboz {
		min-height: 380px;
	}

	.aloldalfej__szoveg {
		padding: var(--t5) var(--t4);
	}

	.aloldalfej__szoveg p {
		font-size: var(--m3);
	}

	.aloldalfej--keptelen .aloldalfej__szoveg,
	.aloldalfej__doboz:not(:has(img)) .aloldalfej__szoveg {
		padding: var(--t5) var(--t4);
	}
}

/* -------------------------------------------- nyitvatartás táblázat */

/* Három oszlop egy közös rácson, hogy az időpontok minden sorban egy
   vonalban álljanak. A display:contents miatt a dt és a dd a külső rács
   cellái lesznek. */

.nyitvatartas {
	display: grid;
	grid-template-columns: 8.5ch max-content max-content;
	justify-content: space-between;
	column-gap: var(--t3);
	margin: 0;
	font-size: var(--m3);
}

.nyitvatartas > div {
	display: contents;
}

.nyitvatartas dt,
.nyitvatartas dd {
	margin: 0;
	padding: 7px 0;
	display: flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	border-bottom: 1px solid var(--szin-vonal);
}

.nyitvatartas > div:last-child dt,
.nyitvatartas > div:last-child dd {
	border-bottom: 0;
}

.nyitvatartas dt {
	font-weight: var(--suly-szoveg-eros);
}

/* A műtét nem zárva: kék, sztetoszkóp ikonnal. */
.nyitvatartas .mutet {
	color: var(--szin-kiemeles);
	font-weight: var(--suly-szoveg-eros);
}

.nyitvatartas .zarva {
	color: var(--szin-halvany);
}

/* A láblécben ugyanaz a táblázat áll, csak kisebben. Így a nyitvatartás
   egyetlen mintából jön, és nem kell két helyen átírni. */
.nyitvatartas--kicsi,
.lablec__nyitva .nyitvatartas {
	grid-template-columns: 7.5ch max-content max-content;
	column-gap: var(--t2);
	font-size: var(--m2);
}

@media (max-width: 760px) {
	.nyitvatartas {
		grid-template-columns: 7.5ch max-content max-content;
		column-gap: var(--t2);
		font-size: var(--m2);
	}
}

/* ------------------------------------------------ szolgáltatáskártya */

.szolg-kartya,
.is-style-kartya {
	display: flex;
	flex-direction: column;
	gap: var(--t3);
	height: 100%;
	padding: var(--t4);
	border-radius: var(--r2);
	background: var(--szin-blokk);
}

.szolg-kartya > *,
.is-style-kartya > * {
	margin-block: 0;
}

.szolg-kartya h3 {
	margin-top: var(--t1);
}

.szolg-kartya__leiras {
	flex: 1;
	color: var(--szin-halvany);
	line-height: 1.6;
}

.szolg-kartya__lab {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--t3);
	padding-top: var(--t3);
	border-top: 1px solid var(--szin-vonal);
}

.szolg-kartya__lab > * {
	margin-block: 0;
}

.szolg-kartya__ar {
	font-weight: var(--suly-szoveg-eros);
	font-variant-numeric: tabular-nums;
}

.szolg-kartya:hover .link {
	color: var(--kiemeles-hover);
	text-decoration-color: currentColor;
}

.szolg-kartya:hover .link.ikon-utan::after {
	transform: translateX(3px);
}

/* Még nem kérhető szolgáltatás: szaggatott keret, szürke ikon, ár helyett
   a hónap, hivatkozás nélkül. A kártya a helyén marad, nem tűnik el. */
.szolg-kartya--hamarosan {
	background: var(--hamarosan-hatter);
	border: 2px dashed var(--hamarosan-keret);
	padding: calc(var(--t4) - 2px);
}

.szolg-kartya--hamarosan .ikonkorong {
	background: var(--szin-hatter);
	color: var(--szin-halvany);
}

.cimke-hamarosan {
	align-self: flex-start;
	display: inline-block;
	padding: 2px 8px;
	border: 1.5px dashed var(--hamarosan-keret);
	border-radius: var(--r1);
	font-size: var(--m2);
	font-weight: var(--suly-szoveg-eros);
	color: var(--szin-halvany);
}

/* ------------------------------------------------------------ lépések */

.lepesek {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--t5);
}

.lepes {
	display: flex;
	flex-direction: column;
	gap: var(--t3);
	align-items: flex-start;
}

.lepes + .lepes {
	border-left: 1px solid var(--szin-vonal);
	padding-left: var(--t5);
}

.lepes .ikonkorong {
	background: var(--szin-hatter);
	transition:
		background-color 0.2s ease,
		color 0.2s ease;
}

.lepes:hover .ikonkorong {
	background: var(--szin-kiemeles);
	color: var(--szin-kiemeles-szoveg);
}

.lepes__szoveg {
	display: flex;
	flex-direction: column;
	gap: var(--t1);
}

.lepes__szoveg > * {
	margin-block: 0;
}

.lepes__szam {
	font-size: var(--m2);
	font-weight: var(--suly-szoveg-eros);
	color: var(--szin-halvany);
}

.lepes p {
	color: var(--szin-halvany);
	font-size: var(--m2);
	line-height: 1.6;
}

@media (max-width: 760px) {
	.lepesek {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--t4);
	}

	.lepes {
		flex-direction: row;
	}

	.lepes + .lepes {
		border-left: 0;
		padding-left: 0;
		border-top: 1px solid var(--szin-vonal);
		padding-top: var(--t4);
	}
}

/* ------------------------------------------------------ kék felhívó */

.cta-kek {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--t4);
	padding: var(--t6) var(--t7);
	border-radius: var(--r3);
	background: var(--szin-kiemeles);
}

.cta-kek > * {
	margin-block: 0;
}

.cta-kek p {
	color: var(--szin-kiemeles-szoveg);
	font-family: var(--betu-cim);
	font-weight: var(--suly-cim-konnyu);
	font-size: var(--m5);
	line-height: 1.3;
	max-width: 32ch;
}

.cta-kek .wp-block-button {
	flex-shrink: 0;
}

.cta-szakasz {
	padding-bottom: var(--t7);
}

.cta-szakasz--blokk {
	background: var(--szin-blokk);
}

/* Ha a felhívó blokk felületű szakasz után áll, a háttér folytatódik.
   Így a minta minden oldalon ugyanaz maradhat, osztálycsere nélkül. */
.szakasz--blokk + .cta-szakasz {
	background: var(--szin-blokk);
}

@media (max-width: 760px) {
	.cta-kek {
		flex-direction: column;
		align-items: flex-start;
		padding: var(--t5) var(--t4);
	}

	.cta-kek p {
		font-size: var(--m4);
	}

	.cta-kek .wp-block-button,
	.cta-kek .wp-block-button__link {
		width: 100%;
	}

	.cta-szakasz {
		padding-bottom: var(--t6);
	}
}

/* ---------------------------------------------------------- ártétel sor */

.arlista {
	padding: 6px var(--t4);
	border-radius: var(--r2);
	background: var(--szin-blokk);
}

.arsor {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--t3);
	margin: 0 calc(var(--t2) * -1);
	padding: 12px var(--t2);
	border-bottom: 1px solid var(--szin-vonal);
	border-radius: var(--r1);
	transition: background-color var(--atmenet);
}

.arsor > * {
	margin-block: 0;
}

.arsor:last-child {
	border-bottom: 0;
}

.arsor:hover {
	background: var(--kiemeles-halo);
}

/* Hosszú megnevezés tördel, az összeg a helyén marad. */
.arsor__nev {
	min-width: 0;
}

.arsor__osszeg {
	font-weight: var(--suly-szoveg-eros);
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.arlista--feher {
	background: var(--szin-hatter);
}

.datumsor,
.is-style-datumsor {
	display: flex;
	align-items: center;
	gap: var(--t2);
	font-size: var(--m2);
	color: var(--szin-halvany);
}

@media (max-width: 760px) {
	.arlista {
		padding: 2px var(--t3);
	}
}

/* -------------------------------------------------------- tudnivaló sor */

.tudnivalok {
	display: flex;
	flex-direction: column;
}

.tudnivalo {
	display: flex;
	gap: var(--t3);
	align-items: flex-start;
	padding: var(--t4) 0;
	border-bottom: 1px solid var(--szin-vonal);
}

.tudnivalo:first-child {
	padding-top: 0;
}

.tudnivalo:last-of-type {
	border-bottom: 0;
}

.tudnivalo__szoveg {
	display: flex;
	flex-direction: column;
	gap: var(--t1);
	min-width: 0;
}

.tudnivalo__szoveg > * {
	margin-block: 0;
}

.tudnivalo h2,
.tudnivalo h3 {
	font-size: var(--m4);
	line-height: 1.25;
}

.tudnivalo p {
	color: var(--szin-halvany);
	line-height: 1.6;
}

/* ---------------------------------------------------- rendelőről blokk */

.rendelorol {
	display: flex;
	flex-direction: column;
	gap: var(--t3);
	align-items: flex-start;
}

.rendelorol > * {
	margin-block: 0;
}

.rendelorol p {
	line-height: 1.7;
}

/* ----------------------------------------------- blogkártya és blogsor */

.blogkartya {
	display: flex;
	flex-direction: column;
	border-radius: var(--r2);
	background: var(--szin-blokk);
	color: var(--szin-tinta);
	text-decoration: none;
	overflow: hidden;
	height: 100%;
}

.blogkartya > * {
	margin-block: 0;
}

.blogkartya .foto,
.blogkartya .wp-block-post-featured-image {
	border-radius: var(--r3) var(--r3) 0 0;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	margin: 0;
}

.blogkartya .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
	transition: transform 0.3s ease;
}

.blogkartya:hover .wp-block-post-featured-image img {
	transform: scale(1.03);
}

.blogkartya__szoveg {
	display: flex;
	flex-direction: column;
	gap: var(--t2);
	padding: var(--t4);
}

.blogkartya__szoveg > * {
	margin-block: 0;
}

.blogkartya h3,
.blogkartya .wp-block-post-title {
	transition: color var(--atmenet);
	font-size: var(--m4);
	line-height: 1.25;
}

.blogkartya:hover h3,
.blogkartya:hover .wp-block-post-title a {
	color: var(--szin-kiemeles);
}

.blogkartya p,
.blogkartya .wp-block-post-excerpt {
	color: var(--szin-halvany);
	font-size: var(--m2);
	line-height: 1.6;
}

.meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--t2);
	font-size: var(--m2);
	color: var(--szin-halvany);
}

.meta > * {
	margin-block: 0;
}

.cimke,
.wp-block-post-terms a {
	display: inline-block;
	padding: 3px 9px;
	border-radius: var(--r1);
	background: var(--szin-hatter);
	color: var(--szin-kiemeles);
	font-size: var(--m2);
	font-weight: var(--suly-szoveg-eros);
	text-decoration: none;
	transition: background-color var(--atmenet);
}

/* Fehér felületen a címke háttere blokkszínű, hogy elváljon a fehértől
   (bloglista sora, cikk feje). Blokk felületen (blogkártya, kép nélküli
   sor) marad a fehér alap, ahogy a terven. */
.cimke--blokkon,
.cimke--blokkon a,
.wp-block-post:has(.wp-block-post-featured-image img) .blogsor .wp-block-post-terms a,
.cikk__fej .wp-block-post-terms a {
	background: var(--szin-blokk);
}

a.cimke:hover,
.wp-block-post-terms a:hover {
	background: var(--kiemeles-halo);
}

/* A post-terms burkolója maga nem címke, csak a benne lévő hivatkozás. */
.wp-block-post-terms.cimke {
	background: none;
	padding: 0;
}

/* --------------------------------------------------- sürgősségi doboz */

.surgos-szakasz {
	padding-bottom: var(--t7);
}

.surgos-doboz {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--t6);
	padding: var(--t6) var(--t7);
	border-radius: var(--r3);
	background: var(--szin-surgos);
	color: var(--szin-kiemeles-szoveg);
}

.surgos-doboz > * {
	margin-block: 0;
}

.surgos-doboz__szoveg {
	display: flex;
	flex-direction: column;
	gap: var(--t2);
	min-width: 0;
}

.surgos-doboz__szoveg > * {
	margin-block: 0;
	color: inherit;
}

.surgos-doboz__cim {
	display: flex;
	align-items: center;
	gap: var(--t2);
	font-family: var(--betu-cim);
	font-weight: var(--suly-cim);
	font-size: var(--m6);
	line-height: var(--sorkoz-cim);
}

.surgos-doboz p {
	max-width: 52ch;
	line-height: 1.6;
}

.surgos-doboz__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: var(--t1);
	color: var(--szin-kiemeles-szoveg);
	font-weight: var(--suly-szoveg-eros);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.surgos-doboz__link:hover {
	color: var(--szin-kiemeles-szoveg);
}

.surgos-doboz__link::after {
	transition: transform var(--atmenet);
}

.surgos-doboz__link:hover::after {
	transform: translateX(3px);
}

.surgos-doboz__figyelmeztetes {
	font-size: var(--m2);
	font-weight: var(--suly-szoveg-eros);
}

/* Üres állapot: nincs kiírva a szám, a doboz blokk felületre vált, de a
   helyén marad. */
.surgos-doboz--ures {
	background: var(--szin-blokk);
	color: var(--szin-tinta);
}

.surgos-doboz--ures .surgos-doboz__cim::before {
	color: var(--szin-surgos);
}

@media (max-width: 760px) {
	.surgos-szakasz {
		padding-bottom: var(--t6);
	}

	.surgos-doboz {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--t4);
		padding: var(--t5) var(--t4);
	}

	.surgos-doboz__cim {
		font-size: var(--m5);
	}
}

/* ------------------------------------------------------------- lábléc */

.lablec {
	background: var(--szin-blokk);
}

.lablec__belso {
	padding-top: var(--t6);
	padding-bottom: var(--t6);
}

.lablec__racs {
	display: grid;
	grid-template-columns: 1.25fr 1fr 1fr;
	gap: var(--t6);
}

.lablec__racs > * {
	margin-block: 0;
}

.lablec__oszlop {
	display: flex;
	flex-direction: column;
	gap: var(--t3);
	align-items: flex-start;
}

.lablec__oszlop > * {
	margin-block: 0;
}

.lablec__oszlop--szuk {
	gap: var(--t2);
}

.lablec__cim {
	font-family: var(--betu-cim);
	font-weight: var(--suly-cim);
	font-size: var(--m3);
	line-height: 1.3;
}

.lablec__logo img,
.lablec .wp-block-site-logo img {
	height: 44px;
	width: auto;
}

.lablec__nyitva {
	width: 100%;
	padding: 2px var(--t3);
	border-radius: var(--r2);
	background: var(--szin-hatter);
}

.lablec .wp-block-navigation {
	display: flex;
	flex-direction: column;
	gap: 0;
	align-items: flex-start;
}

.lablec .wp-block-navigation-item__content {
	font-size: var(--m2);
	line-height: 1.9;
	color: var(--szin-halvany);
	text-decoration: none;
	transition: color var(--atmenet);
}

.lablec .wp-block-navigation-item__content:hover {
	color: var(--szin-kiemeles);
}

.lablec__also {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: var(--t3);
	margin-top: var(--t5);
	padding-top: var(--t4);
	border-top: 1px solid var(--szin-vonal);
	font-size: var(--m2);
	color: var(--szin-halvany);
}

.lablec__also > * {
	margin-block: 0;
}

.lablec__also p {
	max-width: 62ch;
	line-height: 1.6;
}

@media (max-width: 760px) {
	.lablec__belso {
		padding-top: var(--t5);
		padding-bottom: var(--t5);
	}

	.lablec__racs {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--t5);
	}
}

/* ----------------------------------------- szolgáltatásoldal, öt kérdés */

.visszalink {
	margin-bottom: var(--t3);
}

.kerdes {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	gap: var(--t6);
	padding: var(--t5) 0;
	border-bottom: 1px solid var(--szin-vonal);
}

.kerdes > * {
	margin-block: 0;
}

.kerdes:last-child {
	border-bottom: 0;
}

.kerdes__fej {
	display: flex;
	gap: var(--t3);
	align-items: baseline;
}

.kerdes__szam,
.fejezet__szam {
	min-width: 2ch;
	font-family: var(--betu-cim);
	font-weight: var(--suly-cim);
	font-size: var(--m3);
	line-height: 1;
	color: var(--szin-kiemeles);
	font-variant-numeric: tabular-nums;
}

.kerdes h2 {
	font-size: var(--m5);
}

.kerdes__valasz {
	display: flex;
	flex-direction: column;
	gap: var(--t3);
	max-width: 62ch;
}

.kerdes__valasz > * {
	margin-block: 0;
}

.pipalista,
.is-style-pipalista,
.is-style-pipalista-vonalas {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: var(--t2);
}

.pipalista li,
.is-style-pipalista li,
.is-style-pipalista-vonalas li {
	display: flex;
	gap: var(--t2);
	align-items: flex-start;
	line-height: 1.6;
}

.pipalista li::before,
.is-style-pipalista li::before,
.is-style-pipalista-vonalas li::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	margin-top: 3px;
	background-color: var(--szin-kiemeles);
	-webkit-mask: var(--ikon, url("../images/icons/pipa.svg")) center / contain no-repeat;
	mask: var(--ikon, url("../images/icons/pipa.svg")) center / contain no-repeat;
}

.pipalista--vonalas,
.is-style-pipalista-vonalas {
	gap: 0;
}

.pipalista--vonalas li,
.is-style-pipalista-vonalas li {
	padding: 12px 0;
	border-bottom: 1px solid var(--szin-vonal);
}

.pipalista--vonalas li:last-child,
.is-style-pipalista-vonalas li:last-child {
	border-bottom: 0;
}

@media (max-width: 760px) {
	.kerdes {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--t3);
		padding: var(--t4) 0;
	}

	.kerdes h2 {
		font-size: var(--m4);
	}
}

/* -------------------------------------------------------- rendelő oldal */

.csapattag {
	display: flex;
	flex-direction: column;
	gap: var(--t2);
	padding: var(--t4);
	border-radius: var(--r2);
	background: var(--szin-blokk);
	height: 100%;
}

.csapattag > * {
	margin-block: 0;
}

.csapattag h3 {
	margin-top: var(--t1);
}

.csapattag__szerep {
	font-size: var(--m2);
	font-weight: var(--suly-szoveg-eros);
	color: var(--szin-kiemeles);
}

.csapattag p {
	color: var(--szin-halvany);
	line-height: 1.6;
}

.fotoracs {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	grid-template-rows: 260px 260px;
	gap: var(--t3);
}

.fotoracs > * {
	margin-block: 0;
}

.fotoracs > *:first-child {
	grid-row: 1 / 3;
}

.fotoracs > *:last-child {
	grid-column: 2 / 4;
}

.felszereles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--t5);
}

.felszereles > * {
	margin-block: 0;
}

.felszereles__elem {
	display: flex;
	flex-direction: column;
	gap: var(--t3);
	align-items: flex-start;
}

.felszereles__elem + .felszereles__elem {
	border-left: 1px solid var(--szin-vonal);
	padding-left: var(--t5);
}

.felszereles__szoveg {
	display: flex;
	flex-direction: column;
	gap: var(--t1);
	align-items: flex-start;
}

.felszereles__szoveg > * {
	margin-block: 0;
}

.felszereles__szoveg p {
	color: var(--szin-halvany);
	line-height: 1.6;
}

.sorlista {
	padding: 2px var(--t5);
	border-radius: var(--r2);
	background: var(--szin-hatter);
}

.sorlista__sor {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: var(--t5);
	padding: var(--t4) 0;
	border-bottom: 1px solid var(--szin-vonal);
}

.sorlista__sor:last-child {
	border-bottom: 0;
}

.sorlista__sor dt {
	font-weight: var(--suly-szoveg-eros);
}

.sorlista__sor dd {
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--t1);
	line-height: 1.6;
}

@media (max-width: 760px) {
	.fotoracs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: auto;
	}

	.fotoracs > * {
		aspect-ratio: 1 / 1;
	}

	.fotoracs > *:first-child {
		grid-row: auto;
		grid-column: 1 / -1;
		aspect-ratio: 3 / 2;
	}

	.fotoracs > *:last-child {
		grid-column: auto;
	}

	.felszereles {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--t4);
	}

	.felszereles__elem {
		flex-direction: row;
	}

	.felszereles__elem + .felszereles__elem {
		border-left: 0;
		padding-left: 0;
		border-top: 1px solid var(--szin-vonal);
		padding-top: var(--t4);
	}

	.sorlista {
		padding: 2px var(--t3);
	}

	.sorlista__sor {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--t1);
		padding: var(--t3) 0;
	}
}

/* ---------------------------------------------------- sürgős eset oldal */

.donteslista {
	display: flex;
	flex-direction: column;
	gap: var(--t3);
	padding: var(--t5);
	border-radius: var(--r2);
	background: var(--szin-blokk);
	border-top: 4px solid var(--szin-kiemeles);
	height: 100%;
}

.donteslista > * {
	margin-block: 0;
}

.donteslista h2 {
	display: flex;
	align-items: center;
	gap: var(--t2);
	font-size: var(--m5);
}

.donteslista h2::before {
	color: var(--szin-kiemeles);
}

.donteslista ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.donteslista li {
	display: flex;
	gap: var(--t2);
	align-items: flex-start;
	padding: 12px 0;
	border-bottom: 1px solid var(--szin-vonal);
	line-height: 1.6;
}

.donteslista li:last-child {
	border-bottom: 0;
}

.donteslista li::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	margin-top: 3px;
	background-color: var(--szin-kiemeles);
	-webkit-mask: var(--ikon, url("../images/icons/pipa.svg")) center / contain no-repeat;
	mask: var(--ikon, url("../images/icons/pipa.svg")) center / contain no-repeat;
}

/* A sürgős lista pirosra vált: ez az egyetlen hely a két lista közül,
   ahol a piros indokolt. */
.donteslista--surgos {
	border-top-color: var(--szin-surgos);
}

.donteslista--surgos h2,
.donteslista--surgos h2::before {
	color: var(--szin-surgos);
}

.donteslista--surgos li::before {
	background-color: var(--szin-surgos);
}

/* --------------------------------------------------------- ügyeleti blokk */

.ugyelet {
	display: flex;
	flex-direction: column;
	gap: var(--t3);
}

.ugyelet > * {
	margin-block: 0;
}

.ugyelet__kartya {
	display: flex;
	flex-direction: column;
	gap: var(--t3);
	padding: var(--t5);
	border-radius: var(--r2);
	background: var(--szin-hatter);
}

.ugyelet__kartya > * {
	margin-block: 0;
}

.ugyelet__fej {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--t2);
}

.ugyelet__fej > * {
	margin-block: 0;
}

.ugyelet__het {
	font-weight: var(--suly-szoveg-eros);
	font-variant-numeric: tabular-nums;
}

.ugyelet__adatok {
	margin: 0;
}

.ugyelet__sor {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	gap: var(--t4);
	padding: 12px 0;
	border-bottom: 1px solid var(--szin-vonal);
}

.ugyelet__sor:last-child {
	border-bottom: 0;
}

/* A dt/dd mellett osztálynév is: a minta valódi blokkokból épül, hogy a
   szerkesztő hetente át tudja írni a beosztást. */
.ugyelet__sor dt,
.ugyelet__cimke {
	font-size: var(--m2);
	font-weight: var(--suly-szoveg-eros);
	color: var(--szin-halvany);
}

.ugyelet__sor dd,
.ugyelet__ertek {
	margin: 0;
	line-height: 1.5;
}

.ugyelet__telefon {
	font-size: var(--m4);
}

/* A frissítés dátuma mindig látszik, minden állapotban. */
.ugyelet__frissitve {
	padding-top: var(--t3);
	border-top: 1px solid var(--szin-vonal);
	font-size: var(--m2);
	color: var(--szin-halvany);
}

.ugyelet__figyelmeztetes[hidden] {
	display: none;
}

.ugyelet__figyelmeztetes {
	display: flex;
	gap: var(--t2);
	align-items: flex-start;
	padding: 12px var(--t3);
	border-radius: var(--r1);
	background: var(--szin-surgos);
	color: var(--szin-kiemeles-szoveg);
	font-weight: var(--suly-szoveg-eros);
	line-height: 1.6;
}

/* Múlt heti beosztás: az adatok áthúzva, a frissítés dátuma piros. */
.ugyelet__kartya--elavult dd,
.ugyelet__kartya--elavult .ugyelet__ertek {
	color: var(--szin-halvany);
	text-decoration: line-through;
}

.ugyelet__kartya--elavult .ugyelet__frissitve {
	color: var(--szin-surgos);
	font-weight: var(--suly-szoveg-eros);
}

/* Ünnepi beosztás: a rendelő zárva, ezért ugyanaz a piros figyelmeztető
   sáv, mint a múlt heti állapotnál. Az adatok viszont érvényesek, tehát
   nincsenek áthúzva. */
.ugyelet__kartya--unnepi .ugyelet__idoszak {
	font-weight: var(--suly-szoveg-eros);
	font-variant-numeric: tabular-nums;
}

.allando {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--t3);
	padding: var(--t4) var(--t5);
	border-radius: var(--r2);
	background: var(--szin-hatter);
}

.allando > * {
	margin-block: 0;
}

.allando__szoveg {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.allando__szoveg > * {
	margin-block: 0;
}

.allando__szoveg b,
.allando__cim {
	font-family: var(--betu-cim);
	font-weight: var(--suly-cim);
	font-size: var(--m4);
	line-height: 1.3;
}

.allando__szoveg span,
.allando__leiras {
	font-size: var(--m2);
	color: var(--szin-halvany);
	line-height: 1.6;
}

.allapotcimke {
	margin-bottom: var(--t3);
	font-size: var(--m2);
	font-weight: var(--suly-szoveg-eros);
	color: var(--szin-halvany);
}

@media (max-width: 760px) {
	.donteslista {
		padding: var(--t4);
	}

	.donteslista h2 {
		font-size: var(--m4);
	}

	.ugyelet__kartya {
		padding: var(--t4);
	}

	.ugyelet__sor {
		grid-template-columns: minmax(0, 1fr);
		gap: 2px;
	}

	.allando {
		flex-direction: column;
		align-items: flex-start;
		padding: var(--t4);
	}

	.allando .wp-block-button,
	.allando .wp-block-button__link {
		width: 100%;
	}
}

/* --------------------------------------------------------- blog, lista */

.szuro {
	display: grid;
	grid-template-columns: auto repeat(3, minmax(0, 1fr));
	gap: var(--t2);
	margin-bottom: var(--t6);
}

.szuro > * {
	margin-block: 0;
}

.szuro__elem {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	min-height: 44px;
	padding: 12px var(--t3);
	border: 1.5px solid var(--szin-vonal);
	border-radius: var(--r2);
	background: var(--szin-hatter);
	color: var(--szin-tinta);
	text-align: left;
	text-decoration: none;
	cursor: pointer;
	transition:
		background-color var(--atmenet),
		border-color var(--atmenet);
}

.szuro__elem b {
	font-weight: var(--suly-szoveg-eros);
}

.szuro__elem span {
	font-size: var(--m2);
	color: var(--szin-halvany);
}

.szuro__elem:hover {
	background: var(--kiemeles-halo);
	border-color: var(--szin-kiemeles);
	color: var(--szin-tinta);
}

.szuro__elem[aria-current="true"] {
	background: var(--szin-kiemeles);
	border-color: var(--szin-kiemeles);
	color: var(--szin-kiemeles-szoveg);
}

.szuro__elem[aria-current="true"] span {
	color: var(--szin-kiemeles-szoveg);
}

.bloglista {
	list-style: none;
	padding: 0;
	margin: 0;
}

.bloglista > li,
.bloglista .wp-block-post {
	padding: var(--t5) 0;
	border-top: 1px solid var(--szin-vonal);
	margin: 0;
}

.bloglista > li:first-child,
.bloglista .wp-block-post:first-child {
	padding-top: 0;
	border-top: 0;
}

.blogsor {
	display: grid;
	grid-template-columns: 320px minmax(0, 1fr);
	gap: var(--t5);
	align-items: center;
	color: var(--szin-tinta);
	text-decoration: none;
}

.blogsor > * {
	margin-block: 0;
}

.blogsor .foto,
.blogsor .wp-block-post-featured-image {
	aspect-ratio: 3 / 2;
	border-radius: var(--r3);
	overflow: hidden;
	margin: 0;
}

.blogsor .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
	transition: transform 0.3s ease;
}

.blogsor:hover .wp-block-post-featured-image img {
	transform: scale(1.03);
}

.blogsor__szoveg {
	display: flex;
	flex-direction: column;
	gap: var(--t2);
	min-width: 0;
}

.blogsor__szoveg > * {
	margin-block: 0;
}

.blogsor h2,
.blogsor .wp-block-post-title {
	font-size: var(--m5);
	line-height: 1.25;
	transition: color var(--atmenet);
}

.blogsor .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

.blogsor p,
.blogsor .wp-block-post-excerpt__excerpt {
	color: var(--szin-halvany);
	line-height: 1.6;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.blogsor:hover h2,
.blogsor:hover .wp-block-post-title a {
	color: var(--szin-kiemeles);
}

/* Kiemelt kép nélkül: blokk felület, a kép helye nem marad üresen. */
.blogsor--keptelen,
.wp-block-post:not(:has(.wp-block-post-featured-image img)) .blogsor {
	display: block;
	padding: var(--t5);
	border-radius: var(--r2);
	background: var(--szin-blokk);
}

.wp-block-post:not(:has(.wp-block-post-featured-image img)) .blogsor .wp-block-post-featured-image {
	display: none;
}

.lapozo,
.wp-block-query-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--t3);
	margin-top: var(--t6);
	padding-top: var(--t4);
	border-top: 1px solid var(--szin-vonal);
}

.lapozo__szamok,
.wp-block-query-pagination-numbers {
	display: flex;
	align-items: center;
	gap: var(--t1);
}

.lapozo__szam,
.wp-block-query-pagination-numbers .page-numbers {
	display: grid;
	place-content: center;
	min-width: 44px;
	height: 44px;
	border-radius: var(--r4);
	color: var(--szin-tinta);
	font-weight: var(--suly-szoveg-eros);
	text-decoration: none;
	font-variant-numeric: tabular-nums;
	transition: background-color var(--atmenet);
}

.lapozo__szam:hover,
.wp-block-query-pagination-numbers .page-numbers:hover {
	background: var(--kiemeles-halo);
	color: var(--szin-tinta);
}

.lapozo__szam[aria-current="page"],
.wp-block-query-pagination-numbers .page-numbers.current {
	background: var(--szin-kiemeles);
	color: var(--szin-kiemeles-szoveg);
}

.lapozo__kovetkezo,
.wp-block-query-pagination-next,
.wp-block-query-pagination-previous {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: var(--suly-szoveg-eros);
	text-decoration: none;
}

@media (max-width: 760px) {
	.szuro {
		grid-template-columns: minmax(0, 1fr);
		margin-bottom: var(--t5);
	}

	.bloglista > li,
	.bloglista .wp-block-post {
		padding: var(--t4) 0;
	}

	.blogsor {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--t3);
	}

	.blogsor h2,
	.blogsor .wp-block-post-title {
		font-size: var(--m4);
	}

	.blogsor--keptelen {
		padding: var(--t4);
	}

	.lapozo__csak-asztali {
		display: none;
	}
}

/* ------------------------------------------------------- blogbejegyzés */

.cikkoldal {
	/* Csak függőleges: az oldalsó peremet a WordPress globális paddingje adja. */
	padding-top: var(--t6);
	padding-bottom: var(--t7);
}

.cikkoldal__racs {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: var(--t7);
	align-items: start;
}

.cikkoldal__racs > * {
	margin-block: 0;
}

.cikk {
	display: flex;
	flex-direction: column;
	gap: var(--t4);
	max-width: 720px;
	min-width: 0;
}

.cikk > * {
	margin-block: 0;
}

.cikk__fej {
	display: flex;
	flex-direction: column;
	gap: var(--t3);
	align-items: flex-start;
}

.cikk__fej > * {
	margin-block: 0;
}

.cikk__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--t1) var(--t4);
	font-size: var(--m2);
	color: var(--szin-halvany);
}

.cikk__meta > * {
	margin-block: 0;
}

.cikk__lead {
	font-size: var(--m4);
	line-height: 1.6;
}

.cikk p {
	line-height: 1.75;
}

.cikk h2 {
	margin-top: var(--t3);
	font-size: var(--m5);
}

.cikk figure {
	display: flex;
	flex-direction: column;
	gap: var(--t2);
}

.cikk figcaption {
	margin: 0;
	font-size: var(--m2);
	color: var(--szin-halvany);
	text-align: left;
}

/* A két dátum elé a terv szerinti felirat. A wp:post-date blokk nem tud
   előtagot, ezért itt áll. */
.cikk__meta .wp-block-post-date:not(.wp-block-post-date__modified-date)::before {
	content: "Megjelent: ";
}

.cikk__meta .wp-block-post-date__modified-date::before {
	content: "Friss\ED tve: ";
}

/* A vonalas pipás lista a terven karikás pipát használ. */
.is-style-pipalista-vonalas li {
	--ikon: url("../images/icons/pipa-korben.svg");
}

/* A bejegyzés szövegében a blokkok közti térköz nem a rácsból jön, mert a
   wp:post-content saját flow-t ad. */
.cikk .wp-block-post-content > * {
	margin-block: var(--t4) 0;
}

.cikk .wp-block-post-content > *:first-child {
	margin-block-start: 0;
}

.kiemelt-doboz {
	display: flex;
	gap: var(--t3);
	align-items: flex-start;
	padding: var(--t5);
	border-radius: var(--r2);
	background: var(--szin-blokk);
}

.kiemelt-doboz > * {
	margin-block: 0;
}

.kiemelt-doboz__szoveg {
	display: flex;
	flex-direction: column;
	gap: var(--t2);
	min-width: 0;
}

.kiemelt-doboz__szoveg > * {
	margin-block: 0;
}

.kiemelt-doboz b,
.kiemelt-doboz__cim {
	font-family: var(--betu-cim);
	font-weight: var(--suly-cim);
	font-size: var(--m4);
	line-height: 1.25;
}

.cikk__zaro {
	display: flex;
	flex-direction: column;
	gap: var(--t4);
	align-items: flex-start;
	margin-top: var(--t4);
	padding-top: var(--t5);
	border-top: 1px solid var(--szin-vonal);
}

.cikk__zaro > * {
	margin-block: 0;
}

.cikk__zaro-cimke {
	font-size: var(--m2);
	font-weight: var(--suly-szoveg-eros);
	color: var(--szin-halvany);
}

.rendelokartya {
	display: flex;
	flex-direction: column;
	gap: var(--t3);
	padding: var(--t4);
	border-radius: var(--r2);
	background: var(--szin-blokk);
}

.rendelokartya > * {
	margin-block: 0;
}

.rendelokartya__nev {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.rendelokartya__nev > * {
	margin-block: 0;
}

.rendelokartya__nev b,
.rendelokartya__cim {
	font-family: var(--betu-cim);
	font-weight: var(--suly-cim);
	font-size: var(--m4);
	line-height: 1.25;
}

.rendelokartya__nev span,
.rendelokartya__alcim {
	font-size: var(--m2);
	color: var(--szin-halvany);
}

.rendelokartya .adatlink {
	align-items: center;
	font-size: var(--m2);
}

.rendelokartya .adatlink::before {
	margin-top: 0;
}

.rendelokartya .wp-block-button,
.rendelokartya .wp-block-button__link {
	width: 100%;
}

.rendelokartya .is-style-masodlagos > .wp-block-button__link {
	background: var(--szin-hatter);
}

.cikkoldal__oldalsav {
	position: sticky;
	top: var(--t4);
}

.rendelokartya--mobil {
	display: none;
}

@media (max-width: 760px) {
	.cikkoldal {
		padding-top: var(--t4);
		padding-bottom: var(--t6);
	}

	.cikkoldal__racs {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--t5);
	}

	.cikk__lead {
		font-size: var(--m3);
	}

	.cikk h2 {
		font-size: var(--m4);
	}

	.kiemelt-doboz {
		padding: var(--t4);
	}

	.cikk__zaro .wp-block-button,
	.cikk__zaro .wp-block-button__link {
		width: 100%;
	}

	.cikkoldal__oldalsav {
		display: none;
	}

	.rendelokartya--mobil {
		display: block;
	}
}

/* ------------------------------------------------- kapcsolat és űrlap */

.elerhetoseg {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: var(--t5);
	align-items: stretch;
}

.elerhetoseg > * {
	margin-block: 0;
}

.elerhetoseg__adatok {
	display: flex;
	flex-direction: column;
	gap: var(--t4);
}

.elerhetoseg__adatok > * {
	margin-block: 0;
}

.elerhetoseg__lista {
	display: flex;
	flex-direction: column;
	gap: var(--t3);
}

.elerhetoseg__lista > * {
	margin-block: 0;
}

.nyitva-doboz {
	display: flex;
	flex-direction: column;
	gap: var(--t2);
	padding: var(--t3) var(--t4);
	border-radius: var(--r2);
	background: var(--szin-blokk);
}

.nyitva-doboz > * {
	margin-block: 0;
}

.nyitva-doboz b,
.nyitva-doboz__cim {
	font-family: var(--betu-cim);
	font-weight: var(--suly-cim);
	font-size: var(--m4);
	line-height: 1.3;
}

.terkep {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--t2);
	min-height: 100%;
	padding: var(--t4);
	border: 1.5px dashed var(--szin-vonal);
	border-radius: var(--r3);
	background: var(--szin-blokk);
	color: var(--szin-halvany);
	text-align: center;
	text-decoration: none;
	transition:
		border-color var(--atmenet),
		background-color var(--atmenet);
}

.terkep b {
	color: var(--szin-tinta);
}

.terkep span {
	font-size: var(--m2);
}

.terkep:hover {
	border-color: var(--szin-kiemeles);
	background: var(--kiemeles-halo);
	color: var(--szin-halvany);
}

/* A beágyazott térkép, ha már be van állítva. */
.terkep-beagyazas iframe {
	width: 100%;
	min-height: 360px;
	border: 0;
	border-radius: var(--r3);
	display: block;
}

/* A constrained layout a keskenyebb blokkot középre tenné; a terven balra zárt. */
.is-layout-constrained > .urlapblokk {
	margin-inline-start: 0 !important;
}

.urlapblokk {
	display: flex;
	flex-direction: column;
	gap: var(--t4);
	max-width: 820px;
}

.urlapblokk > * {
	margin-block: 0;
}

/* Piros sáv: ez az űrlap nem sürgősségi csatorna. */
.nem-surgos {
	display: flex;
	align-items: center;
	gap: var(--t3);
	padding: var(--t4) var(--t5);
	border-radius: var(--r2);
	background: var(--szin-surgos);
	color: var(--szin-kiemeles-szoveg);
}

.nem-surgos > * {
	margin-block: 0;
	color: inherit;
}

.nem-surgos p {
	flex: 1;
	font-weight: var(--suly-szoveg-eros);
	line-height: 1.6;
}

.nem-surgos .wp-block-button__link {
	background: var(--szin-hatter);
	border-color: var(--szin-hatter);
	color: var(--szin-surgos);
	padding: 12px var(--t4);
}

.nem-surgos .wp-block-button__link:hover {
	background: var(--feher-surgoson-hover);
	border-color: var(--feher-surgoson-hover);
	color: var(--szin-surgos);
}

/* Az űrlapot az űrlapbővítmény adja. Ezek a szabályok akkor is állnak, ha
   a bővítmény saját osztályneveket használ: a .urlap kap egy burkolót. */
.urlap {
	display: flex;
	flex-direction: column;
	gap: var(--t5);
	padding: var(--t6);
	border-radius: var(--r2);
	background: var(--szin-hatter);
}

.urlap fieldset {
	display: flex;
	flex-direction: column;
	gap: var(--t4);
	margin: 0;
	padding: 0;
	border: 0;
}

.urlap fieldset + fieldset {
	padding-top: var(--t5);
	border-top: 1px solid var(--szin-vonal);
}

.urlap legend {
	float: left;
	width: 100%;
	margin-bottom: var(--t4);
	padding: 0;
	font-family: var(--betu-cim);
	font-weight: var(--suly-cim);
	font-size: var(--m4);
	line-height: 1.25;
}

.urlap legend + * {
	clear: both;
}

.mezosor {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--t4);
}

.mezosor--harom {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mezo {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.mezo__cimke {
	font-weight: var(--suly-szoveg-eros);
	font-size: var(--m2);
}

.mezo__cimke small {
	font-size: inherit;
	font-weight: var(--suly-szoveg);
	color: var(--szin-halvany);
}

.urlap input,
.urlap select,
.urlap textarea,
.mezo input,
.mezo select,
.mezo textarea {
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	border: 1.5px solid var(--szin-vonal);
	border-radius: var(--r1);
	background: var(--szin-hatter);
	color: var(--szin-tinta);
	font: inherit;
	transition:
		border-color var(--atmenet),
		box-shadow var(--atmenet);
}

.urlap textarea,
.mezo textarea {
	min-height: 0;
	resize: vertical;
}

.urlap input:hover,
.urlap select:hover,
.urlap textarea:hover {
	border-color: var(--szin-halvany);
}

.urlap input:focus,
.urlap select:focus,
.urlap textarea:focus {
	outline: 0;
	border-color: var(--szin-kiemeles);
	box-shadow: 0 0 0 3px var(--kiemeles-halo);
}

.mezo__sugo {
	font-size: var(--m2);
	color: var(--szin-halvany);
}

/* A hiba mindig a mezőnél jelenik meg, nem az űrlap tetején. */
.mezo__hiba {
	display: none;
	align-items: flex-start;
	gap: 6px;
	font-size: var(--m2);
	font-weight: var(--suly-szoveg-eros);
	color: var(--szin-surgos);
}

.mezo--hibas input,
.mezo--hibas select,
.mezo--hibas textarea {
	border-color: var(--szin-surgos);
}

.mezo--hibas input:focus,
.mezo--hibas select:focus,
.mezo--hibas textarea:focus {
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--szin-surgos) 14%, transparent);
}

.mezo--hibas .mezo__hiba {
	display: flex;
}

.radiok {
	display: flex;
	flex-wrap: wrap;
	gap: var(--t4);
}

.radio,
.jelolo {
	display: flex;
	align-items: center;
	gap: var(--t2);
	min-height: 44px;
	cursor: pointer;
}

.radio input,
.jelolo input {
	width: 20px;
	height: 20px;
	min-height: 0;
	margin: 0;
	accent-color: var(--szin-kiemeles);
}

.ujbeteg {
	display: flex;
	gap: var(--t2);
	align-items: flex-start;
	padding: 12px var(--t3);
	border-radius: var(--r1);
	background: var(--szin-blokk);
	font-size: var(--m2);
	line-height: 1.6;
}

.ujbeteg::before {
	color: var(--szin-kiemeles);
}

.urlap__vege {
	display: flex;
	flex-direction: column;
	gap: var(--t4);
	align-items: flex-start;
	padding-top: var(--t5);
	border-top: 1px solid var(--szin-vonal);
}

.visszajelzes {
	display: flex;
	flex-direction: column;
	gap: var(--t3);
	align-items: flex-start;
	padding: var(--t6);
	border-radius: var(--r2);
	border-top: 4px solid var(--szin-kiemeles);
	background: var(--szin-hatter);
}

.visszajelzes > * {
	margin-block: 0;
}

.visszajelzes h2 {
	font-size: var(--m6);
}

.visszajelzes p {
	line-height: 1.7;
	max-width: 56ch;
}

.visszajelzes__surgos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--t3);
	width: 100%;
	padding: var(--t3) var(--t4);
	border-radius: var(--r2);
	background: var(--szin-blokk);
}

.visszajelzes__surgos > * {
	margin-block: 0;
}

.visszajelzes__surgos::before {
	color: var(--szin-surgos);
}

.visszajelzes__surgos span {
	flex: 1 1 240px;
	line-height: 1.6;
}

@media (max-width: 760px) {
	.elerhetoseg {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--t4);
	}

	.terkep {
		min-height: 220px;
	}

	.nem-surgos {
		flex-direction: column;
		align-items: flex-start;
		padding: var(--t4);
	}

	.nem-surgos .wp-block-button,
	.nem-surgos .wp-block-button__link {
		width: 100%;
	}

	.urlap {
		padding: var(--t4);
	}

	.mezosor,
	.mezosor--harom {
		grid-template-columns: minmax(0, 1fr);
	}

	.urlap__vege .wp-block-button,
	.urlap__vege .wp-block-button__link {
		width: 100%;
	}

	.visszajelzes {
		padding: var(--t5) var(--t4);
	}

	.visszajelzes h2 {
		font-size: var(--m5);
	}
}

/* --------------------------------------------- adatkezelési tájékoztató */

.jogi {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: var(--t7);
	align-items: start;
}

.jogi > * {
	margin-block: 0;
}

.tartalomjegyzek {
	position: sticky;
	top: var(--t4);
	display: flex;
	flex-direction: column;
	gap: var(--t2);
	padding: var(--t4);
	border-radius: var(--r2);
	background: var(--szin-blokk);
}

.tartalomjegyzek > * {
	margin-block: 0;
}

.tartalomjegyzek b,
.tartalomjegyzek__cim {
	font-family: var(--betu-cim);
	font-weight: var(--suly-cim);
	font-size: var(--m3);
	line-height: 1.3;
}

.tartalomjegyzek ol {
	list-style: none;
	padding: 0;
	margin: 0;
}

.tartalomjegyzek li {
	border-bottom: 1px solid var(--szin-vonal);
}

.tartalomjegyzek li:last-child {
	border-bottom: 0;
}

.tartalomjegyzek a {
	display: flex;
	align-items: center;
	gap: var(--t2);
	min-height: 44px;
	padding: 8px 0;
	font-size: var(--m2);
	color: var(--szin-tinta);
	text-decoration: none;
	transition: color var(--atmenet);
}

.tartalomjegyzek a:hover {
	color: var(--szin-kiemeles);
}

.tartalomjegyzek a span {
	min-width: 2ch;
	color: var(--szin-kiemeles);
	font-weight: var(--suly-szoveg-eros);
}

.jogi__szoveg {
	display: flex;
	flex-direction: column;
	max-width: 68ch;
	min-width: 0;
}

.jogi__szoveg > * {
	margin-block: 0;
}

.jogi__szoveg > .datumsor,
.jogi__szoveg > .is-style-datumsor {
	margin-bottom: var(--t5);
}

.fejezet {
	display: flex;
	flex-direction: column;
	gap: var(--t3);
	padding: var(--t5) 0;
	border-top: 1px solid var(--szin-vonal);
}

.fejezet > * {
	margin-block: 0;
}

.fejezet h2 {
	display: flex;
	gap: var(--t3);
	align-items: baseline;
	font-size: var(--m5);
}

.fejezet p {
	line-height: 1.75;
	color: var(--szin-halvany);
}

.jogi__zaro {
	padding-top: var(--t4);
	border-top: 1px solid var(--szin-vonal);
	font-size: var(--m2);
	color: var(--szin-halvany);
	line-height: 1.6;
}

@media (max-width: 760px) {
	.jogi {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--t5);
	}

	.tartalomjegyzek {
		position: static;
	}

	.fejezet h2 {
		font-size: var(--m4);
	}
}

/* ------------------------------------------------------- 404 és keresés */

.uzenetoldal {
	display: flex;
	flex-direction: column;
	gap: var(--t4);
	align-items: flex-start;
	max-width: 62ch;
}

.uzenetoldal > * {
	margin-block: 0;
}

.keresodoboz .wp-block-search__input {
	min-height: 48px;
	padding: 12px 14px;
	border: 1.5px solid var(--szin-vonal);
	border-radius: var(--r1);
	background: var(--szin-hatter);
	color: var(--szin-tinta);
	font: inherit;
}

.keresodoboz .wp-block-search__input:focus {
	outline: 0;
	border-color: var(--szin-kiemeles);
	box-shadow: 0 0 0 3px var(--kiemeles-halo);
}

.keresodoboz .wp-block-search__button {
	min-height: 44px;
	border-radius: var(--r4);
	border: 1.5px solid var(--szin-kiemeles);
	background: var(--szin-kiemeles);
	color: var(--szin-kiemeles-szoveg);
	font-weight: var(--suly-szoveg-eros);
	padding: 13px var(--t4);
	transition: background-color var(--atmenet);
}

.keresodoboz .wp-block-search__button:hover {
	background: var(--kiemeles-hover);
	border-color: var(--kiemeles-hover);
}

/* ------------------------------------------------------- üres blokkok */

/* Ami nincs kitöltve, az nem hagy lyukat: sem térközt, sem keretet.
   A szakasz vagy eltűnik, vagy a helyén marad indoklással, de üres
   dobozként soha nem marad ott. */

.szakasz:empty,
.szakasz__fej:empty,
.szakasz__fejszoveg:empty,
.harmas:empty,
.is-style-csempe:empty,
.kettes:empty,
.meta:empty,
.cikk__meta:empty,
.gombsor:empty,
.tudnivalok:empty,
.ugyelet:empty {
	display: none;
}

/* A szakaszfejben a gomb helye üresen nem tart térközt. */
.szakasz__fej > :empty {
	display: none;
}

/* Kiemelt kép nélküli bejegyzésnél a kép helye nem marad ott. */
.wp-block-post-featured-image:empty,
.wp-block-post-featured-image:not(:has(img)) {
	display: none;
}

/* Találat nélküli lekérdezésnél az egész szakasz eltűnik, cím és üres
   doboz nélkül. Ezt a szakasz kéri magának a szakasz--ha-van osztállyal;
   máshol a lekérdezés a saját "nincs találat" szövegét mutatja. */
.szakasz--ha-van:not(:has(.wp-block-post)) {
	display: none;
}

/* ------------------------------------------------------------- mozgás */

/* Csak állapotváltás, 120 és 300 ms között. Bejövő animáció nincs. */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}

	.foto:hover img,
	.is-style-foto:hover img,
	a:hover .foto img,
	.blogkartya:hover .wp-block-post-featured-image img,
	.blogsor:hover .wp-block-post-featured-image img,
	.link:hover::after,
	.szolg-kartya:hover .link::after,
	.surgos-doboz__link:hover::after {
		transform: none !important;
	}
}

/* ------------------------------------------------------ mintaoldal-sáv */

/* Bemutató oldal jelzése, a functions.php vacok_mintasav() írja ki.
   Élesítéskor ez a blokk és a függvény törlendő. */
.mintasav {
	position: fixed;
	inset-inline: 0;
	bottom: 0;
	z-index: 100000;
	padding: var(--t2) var(--t3);
	background: var(--szin-surgos);
	color: var(--szin-kiemeles-szoveg);
	font-family: var(--betu-szoveg);
	font-size: var(--m2);
	font-weight: var(--suly-szoveg-eros);
	letter-spacing: 0.04em;
	line-height: 1.4;
	text-align: center;
}

/* Hogy a rögzített sáv ne takarja el a lábléc alját. */
body:has(.mintasav) {
	padding-bottom: 40px;
}

@media (max-width: 760px) {
	body:has(.mintasav) {
		padding-bottom: 56px;
	}
}
