/* Revír – a theme.json-on túli, blokkokkal nem kifejezhető részletek. Színt csak preset-változóból veszünk. */

/* Fejléc a nyitókép fölött (a sablon is-overlay osztályt ad neki). */
.revir-header.is-overlay {
	position: absolute;
	top: var(--wp-admin--admin-bar--height, 0px);
	left: 0;
	right: 0;
	z-index: 20;
}

/* Rögzített fejléc (assets/js/fejlec.js): legörgetve kompakt sávként mindig látszik.
   Transzformációt nem kap (csak beúszáskor animációban), hogy a mobilmenü fix rétege ne törjön el. */
.revir-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
	transition: background-color 0.3s ease;
}

.revir-header.is-tapad {
	background-color: color-mix(in srgb, var(--wp--preset--color--base) 96%, transparent);
	border-bottom: 1px solid var(--wp--preset--color--line);
	box-shadow: 0 6px 24px rgb(0 0 0 / 0.25);
}

.revir-header.is-overlay.is-tapad {
	position: fixed;
	animation: revir-fejlec-be 0.3s ease;
}

@keyframes revir-fejlec-be {
	from {
		transform: translateY(-100%);
	}
}

.revir-header.is-tapad > .wp-block-group {
	padding-top: 12px !important;
	padding-bottom: 12px !important;
}

html {
	scroll-padding-top: 80px;
}

@media (prefers-reduced-motion: reduce) {
	.revir-header {
		transition: none;
		animation: none !important;
	}
}

@media (min-width: 600px) and (max-width: 1099px) {
	.revir-header .wp-block-navigation__container {
		gap: 18px !important;
		flex-wrap: nowrap;
		font-size: 15px;
	}
}

/* Mobilmenü: sötét, teljes képernyős réteg nagy, vonallal elválasztott menüpontokkal (a mag fehér alapját felülírjuk). */
.wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast) !important;
	padding: 20px 24px 40px !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: stretch;
	padding-top: 12px;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	width: 100%;
	align-items: stretch !important;
	gap: 0 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 20px 4px;
	font-family: var(--wp--preset--font-family--heading, inherit);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:active,
.wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--accent-text);
}
.wp-block-navigation__responsive-container-close,
.wp-block-navigation__responsive-container-open {
	color: var(--wp--preset--color--contrast);
}
.wp-block-navigation__responsive-container-close { color: var(--wp--preset--color--accent-text); }
.wp-block-navigation__responsive-container-close svg,
.wp-block-navigation__responsive-container-open svg { width: 34px; height: 34px; }

/* A teljes szélességű szakaszok egymáshoz simulnak a nyitóoldalon és a széles oldalakon. */
.wp-block-post-content > .alignfull {
	margin-block-start: 0;
	margin-block-end: 0;
}

/* Nyitókép: balról sötétülő fátyol, mobilon alulról. */
.revir-hero .wp-block-cover__background {
	opacity: 1 !important;
	background: linear-gradient(90deg,
		color-mix(in srgb, var(--wp--preset--color--base) 92%, transparent) 0%,
		color-mix(in srgb, var(--wp--preset--color--base) 60%, transparent) 45%,
		transparent 75%) !important;
}

.revir-hero.wp-block-cover {
	padding-top: 140px;
	padding-bottom: var(--wp--preset--spacing--60);
	padding-left: var(--wp--style--root--padding-left);
	padding-right: var(--wp--style--root--padding-right);
}

.revir-hero .wp-block-cover__inner-container {
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
}

.revir-hero .wp-block-cover__inner-container > * {
	max-width: 620px;
	margin-left: 0 !important;
}

@media (max-width: 781px) {
	.revir-hero {
		align-items: flex-end;
		min-height: 88svh !important;
	}

	.revir-hero .wp-block-cover__background {
		background: linear-gradient(0deg,
			color-mix(in srgb, var(--wp--preset--color--base) 96%, transparent) 0%,
			color-mix(in srgb, var(--wp--preset--color--base) 72%, transparent) 45%,
			transparent 80%) !important;
	}

	.revir-hero .wp-block-buttons,
	.revir-hero .wp-block-button {
		width: 100%;
	}

	.revir-hero .wp-block-button__link {
		width: 100%;
	}
}

/* Kártya: keretes változat. */
.revir-card-outline {
	border: 1.5px solid var(--wp--preset--color--line);
}

/* Ajánlatkártyák táblagépen: az első teljes szélességű, a többi kettesével. */
@media (min-width: 782px) and (max-width: 1099px) {
	.wp-block-columns:has(> .revir-card-outline) {
		flex-wrap: wrap !important;
	}

	.wp-block-columns:has(> .revir-card-outline) > .wp-block-column {
		flex-basis: calc(50% - 12px) !important;
	}

	.wp-block-columns:has(> .revir-card-outline) > .wp-block-column:first-child {
		flex-basis: 100% !important;
	}
}

:where(h1, h2, h3, h4) {
	overflow-wrap: normal;
	hyphens: manual;
}

/* Ajánlatkártya: az egész kártya kattintható (a cím linkje kifeszítve). */
.revir-ajanlat-kartya {
	position: relative;
	transition: background-color 0.2s ease;
}

.revir-ajanlat-kartya .wp-block-post-title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.revir-ajanlat-kartya:hover {
	background-color: color-mix(in srgb, var(--wp--preset--color--surface) 80%, var(--wp--preset--color--accent)) !important;
}

.revir-ajanlat-kartya:hover .wp-block-post-title a {
	color: var(--wp--preset--color--accent-text);
}

/* Címkék (lista blokk revir-chips osztállyal). */
.wp-block-list.revir-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	padding: 0;
}

.wp-block-list.revir-chips li {
	margin: 0;
	border: 1px solid var(--wp--preset--color--line);
	padding: 6px 12px;
	font-size: var(--wp--preset--font-size--small);
}

/* Tényrács: vékony vonal a cellák között. */
.revir-facts > * {
	padding: 28px;
}

/* Kiemelés címke. */
.revir-badge {
	padding: 4px 10px;
	border-radius: 2px;
	font-weight: 600;
}

/* Nagy számok. */
.revir-stat {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	line-height: 1;
	color: var(--wp--preset--color--accent-text);
	white-space: nowrap;
}

.revir-stat.has-display-font-size {
	font-size: clamp(44px, 6vw, 96px) !important;
}

.revir-stat + p {
	margin-top: 6px;
}

/* Szöveg sorhossza: csak a széles/teljes szakaszokon belüli bekezdéseknél (pl. hasábokban). Középre igazított hasábban
   (is-layout-constrained) nem, mert ott a bekezdés beljebb kerülne a címeknél. */
.wp-block-post-content :where(.alignwide, .alignfull) p:not([class*="align"]):not(.is-layout-constrained > p) {
	max-width: 70ch;
}

/* Aloldali fejlécképek: egy magasság mindenhol (a blokk saját beállítását felülírja). */
.revir-hero.revir-hero--kicsi { min-height: 400px !important; }

/* Alacsony fejléc-kép aloldalakhoz. */
.revir-hero.revir-hero--kicsi.wp-block-cover {
	padding-top: 150px;
}

@media (max-width: 781px) {
	.revir-hero.revir-hero--kicsi {
		min-height: 52svh !important;
	}
}

/* Szerepkör-lista: szerep balra, név jobbra. */
.wp-block-list.revir-szerepek {
	list-style: none;
	padding: 0;
	margin: 0;
}

.wp-block-list.revir-szerepek li {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 10px 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.wp-block-list.revir-szerepek li:last-child {
	border-bottom: 0;
}

.wp-block-list.revir-szerepek li span {
	color: var(--wp--preset--color--muted);
}

/* Lépések (számozott lista revir-lepesek osztállyal). */
.wp-block-list.revir-lepesek {
	list-style: none;
	counter-reset: lepes;
	padding: 0;
	margin-top: 22px !important;
	margin-bottom: 0 !important; /* bal/jobb margó: a blokk elrendezése (középre igazítás) dönt */
}

.wp-block-list.revir-lepesek li {
	counter-increment: lepes;
	position: relative;
	padding: 3px 0 20px 56px;
	min-height: 34px;
}

.wp-block-list.revir-lepesek li::before {
	content: counter(lepes);
	position: absolute;
	left: 0;
	top: 0;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--on-accent);
}

/* Galéria: kevés képnél se nyúljanak a képek teljes szélességre. */
.wp-block-gallery.has-nested-images figure.wp-block-image {
	flex-grow: 0;
}

/* Táblázatok mobilon görgethetők. */
.wp-block-table {
	overflow-x: auto;
}

.wp-block-table td,
.wp-block-table th {
	border-color: var(--wp--preset--color--line);
}

/* Fókusz minden interaktív elemen. */
:where(a, button, input, select, textarea):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-text);
	outline-offset: 3px;
}

/* Címsor után kis lélegzet a tartalmi oldalakon. */
.wp-block-post-content :where(h2, h3).wp-block-heading + * { margin-top: 0.7em; }

/* Két kártya egymás mellett (pl. „Mit intéz a társaság, és mit Ön?”): revir-ketoldal osztály az oszlopokon. */
.wp-block-columns.revir-ketoldal { gap: 20px !important; }
.revir-ketoldal > .wp-block-column {
	padding: 28px 28px 22px;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-top: 3px solid var(--wp--preset--color--accent);
}
.revir-ketoldal h3 {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: var(--wp--preset--font-size--x-large) !important;
	margin: 0 0 14px;
}
.revir-ketoldal h3::before {
	content: "";
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--wp--preset--color--accent) 18%, transparent) center / 24px no-repeat;
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--wp--preset--color--accent) 45%, transparent);
}
.revir-ketoldal > .wp-block-column:first-child h3::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23aec36a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 4.5-3.4 8-8 9-4.6-1-8-4.5-8-9V6z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E");
}
.revir-ketoldal > .wp-block-column:last-child h3::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23aec36a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.5'/%3E%3Cpath d='M5 20c.8-3.6 3.6-6 7-6s6.2 2.4 7 6'/%3E%3C/svg%3E");
}
.revir-ketoldal ul, .wp-block-list.revir-pipas { list-style: none; padding: 0; margin: 0; }
.revir-ketoldal li, .revir-pipas li { position: relative; padding: 0 0 10px 30px; }
.revir-ketoldal li::before, .revir-pipas li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 4px;
	width: 18px;
	height: 18px;
	background: var(--wp--preset--color--accent-text);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Fejléc logóval: a menüpontok és a név ne törjenek két sorba; keskenyebb asztali képernyőn a név elrejthető, mert a logó tartalmazza. */
header .wp-block-navigation-item__label,
header .wp-block-site-title { white-space: nowrap; }
/* A név a logóban benne van; a szöveges cím nem fér ki a három nyelvű menü mellett, ezért nem jelenik meg a fejlécben. */
header .wp-block-site-logo + .wp-block-site-title { display: none; }
@media (max-width: 1599px) and (min-width: 600px) {
	header .wp-block-navigation { --wp--style--block-gap: 22px; gap: 22px; }
}
@media (max-width: 900px) and (min-width: 600px) {
	header .wp-block-navigation { gap: 14px; font-size: 15px; }
}
header .wp-block-site-logo img { border-radius: 9px; }
/* Nagyobb logó a fejlécben; a rögzített (legörgetett) sávban kisebb, telefonon közepes. */
.revir-header .wp-block-site-logo img { transition: width .25s ease; }
.revir-header.is-tapad .wp-block-site-logo img { width: 56px !important; height: auto; }
@media (max-width: 599px) { .revir-header .wp-block-site-logo img { width: 64px !important; height: auto; } .revir-header.is-tapad .wp-block-site-logo img { width: 48px !important; } }

/* Címsor-hierarchia: aloldalakon a szakaszcím (h2) XXL, a nyitóoldalon óriás; a kártyák címei kisebbek. */
.home .wp-block-post-content h2.wp-block-heading { font-size: var(--wp--preset--font-size--huge); }

/* Fejléc: a menü és a nyelvválasztó egy sorban marad. */
.revir-header .wp-block-navigation__container { flex-wrap: nowrap; }
.revir-header .revir-nyelv { flex: none; }
@media (max-width: 599px) { .revir-header .revir-nyelv a { padding: 6px 6px; } }
.revir-header .wp-block-group:has(> .revir-nyelv) { align-items: center; }
.revir-header .wp-block-site-logo { flex: none; }
