/*!
 * Győri Balett KIDS – téma stílusok
 * Bootstrap 5.3 fölé épülő arculati réteg.
 * Tartalom: 1) tokenek 2) alapok 3) elemek 4) fejléc 5) főoldal szekciók 6) lábléc 7) reszponzív
 */

/* =========================================================
   1) Arculati tokenek
   ========================================================= */

:root {
	/* Alapszínek */
	--gyb-white: #ffffff;
	--gyb-cream: #f8f7f4;
	--gyb-ink: #1e1e1e;
	--gyb-muted: #6b6b6b;
	--gyb-line: #eaeaea;

	/* Programszínek – domináns (arculati alapszín).
	   A program kategóriája (Programadatok → Színséma) ehhez köti a kártya
	   feliratát, ikonját, vonalát és gombját: --program-szin. */
	--gyb-apro-dom: #e78f83;
	--gyb-mini-dom: #d6a42e;
	--gyb-step-dom: #84986b;
	--gyb-matine-dom: #7ea7b8;

	/* Programszínek – világos háttérváltozat (kártyák, korongok, csempék) */
	--gyb-apro: #f4d7d1;
	--gyb-mini: #ead9a4;
	--gyb-step: #d8e0cd;
	--gyb-matine: #d9e7ec;

	/* Semleges csempeháttér (nem programszín) */
	--gyb-semleges: #d9dad6;

	/* Dekorációs sötétkék (nem programszín) */
	--gyb-tenger: #1f3a5f;

	/* Interakció */
	--gyb-btn-hover: #444444;
	--gyb-link-hover: #6b8fb0;

	/* Tipográfia */
	--gyb-font-heading: "Space Grotesk", "Segoe UI", system-ui, sans-serif;
	--gyb-font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;

	/* Ritmus */
	--gyb-section-y: clamp(3.25rem, 6vw, 6rem);
	--gyb-gutter: clamp(1.25rem, 3vw, 2.75rem);

	/* A hero képsávjának egységes magassága minden oldalon */
	--gyb-hero-magassag: clamp(18rem, 40vw, 34rem);

	/* Lekerekítés – a tervben minden kártya és a bennük lévő fotó lekerekített */
	--gyb-radius: 0.75rem;
	--gyb-radius-sm: 0.5rem;
}

/* Bootstrap konténer és fókusz igazítása az arculathoz */
.container-xxl {
	--bs-gutter-x: var(--gyb-gutter);
	max-width: 1320px;
}

/* =========================================================
   2) Alapok
   ========================================================= */

html {
	scroll-behavior: smooth;
	scroll-padding-top: 6rem;
}

body {
	font-family: var(--gyb-font-body);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.75;
	color: var(--gyb-ink);
	background-color: var(--gyb-white);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: var(--gyb-font-heading);
	color: var(--gyb-ink);
	letter-spacing: -0.015em;
	text-wrap: balance;
}

h1 { font-weight: 700; }
h2 { font-weight: 600; }
h3, h4, h5, h6 { font-weight: 500; }

p { margin-bottom: 1.15rem; }
p:last-child { margin-bottom: 0; }

a {
	color: var(--gyb-ink);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.22em;
	transition: color 0.2s ease;
}

a:hover,
a:focus-visible {
	color: var(--gyb-link-hover);
}

strong, b { font-weight: 600; }

img { max-width: 100%; height: auto; }
figure { margin: 0; }

:focus-visible {
	outline: 2px solid var(--gyb-ink);
	outline-offset: 3px;
	border-radius: 2px;
}

.gyb-skip-link {
	position: absolute;
	inset-inline-start: 1rem;
	top: 1rem;
	z-index: 1080;
	padding: 0.75rem 1.25rem;
	background: var(--gyb-ink);
	color: #fff;
	border-radius: 999px;
	font-size: 0.85rem;
	font-weight: 600;
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: 0.001ms !important;
		transition-duration: 0.001ms !important;
	}
}

/* =========================================================
   3) Újrahasznosítható elemek
   ========================================================= */

/* --- Színsegédek --- */
.gyb-text--apro { color: var(--gyb-apro-dom); }
.gyb-text--mini { color: var(--gyb-mini-dom); }
.gyb-text--step { color: var(--gyb-step-dom); }
.gyb-text--matine { color: var(--gyb-matine-dom); }
.gyb-text--ink { color: var(--gyb-ink); }

/* --- Dekorációs formák --- */
.gyb-shape {
	position: absolute;
	display: block;
	pointer-events: none;
	z-index: 0;
	background: var(--shape-color, transparent);
}

.gyb-shape--apro { --shape-color: var(--gyb-apro); }
.gyb-shape--mini { --shape-color: var(--gyb-mini); }
.gyb-shape--step { --shape-color: var(--gyb-step); }
.gyb-shape--matine { --shape-color: var(--gyb-matine); }
.gyb-shape--tenger { --shape-color: var(--gyb-tenger); }

/* Negyed kör: lapos felül és jobbra, lekerekített bal alul. */
.gyb-shape--negyed { border-radius: 0 0 0 100%; }

/* Negyed kör: lekerekített bal felül. */
.gyb-shape--negyed-bal-felul { border-radius: 100% 0 0 0; }

/* Félkör a bal képernyőszélen. */
.gyb-shape--felkor-bal { border-radius: 0 999px 999px 0; }

/* Lépcső (SVG) */
.gyb-shape--lepcso {
	background: none;
	color: var(--shape-color, var(--gyb-step));
}

.gyb-shape--lepcso svg {
	display: block;
	width: 100%;
	height: 100%;
}

/* --- Gombok --- */
.gyb-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.85rem;
	padding: 0.95rem 1.75rem;
	background: var(--gyb-ink);
	color: #fff;
	border: 0;
	border-radius: 999px;
	font-family: var(--gyb-font-body);
	font-size: 0.76rem;
	font-weight: 600;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.gyb-btn:hover,
.gyb-btn:focus-visible {
	background: var(--gyb-btn-hover);
	color: #fff;
}

.gyb-btn .gyb-arrow {
	transition: transform 0.2s ease;
}

.gyb-btn:hover .gyb-arrow,
.gyb-btn:focus-visible .gyb-arrow {
	transform: translateX(4px);
}

.gyb-btn--sm {
	padding: 0.7rem 1.35rem;
	font-size: 0.72rem;
}

.gyb-btn--stacked {
	flex-direction: column;
	align-items: flex-start;
	gap: 0.1rem;
	padding: 0.95rem 1.9rem;
	border-radius: 1.75rem;
}

.gyb-btn__meta {
	font-size: 0.72rem;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	opacity: 0.72;
}

/* --- Nyilas hivatkozás --- */
.gyb-link-arrow {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--gyb-accent, var(--gyb-ink));
}

.gyb-link-arrow .gyb-arrow {
	transition: transform 0.2s ease;
}

.gyb-link-arrow:hover,
.gyb-link-arrow:focus-visible {
	color: var(--gyb-accent, var(--gyb-ink));
	text-decoration: none;
}

.gyb-link-arrow:hover .gyb-arrow,
.gyb-link-arrow:focus-visible .gyb-arrow {
	transform: translateX(5px);
}

/* --- Kattintható kártya ---
   A „Részletek" hivatkozás egy áttetsző réteggel kiterül a teljes kártyára,
   így az egész felület kattintható marad egyetlen, olvasható linkkel. */
.gyb-kartya-link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* Maga a hivatkozás nem lehet pozicionált, különben a réteg csak rá terülne ki
   a kártya helyett. */
.gyb-kartya-link {
	position: static;
}

/* --- Szekciócím --- */
.gyb-section-title {
	font-size: clamp(1.6rem, 3vw, 2.3rem);
	font-weight: 600;
	text-align: center;
	margin: 0 0 clamp(2rem, 4vw, 3.25rem);
}

.gyb-section-title--bal {
	text-align: left;
}

/* Rövid rózsaszín húzás – a belső oldalak visszatérő motívuma. */
.gyb-vonal {
	display: block;
	width: 2.5rem;
	height: 2px;
	margin-block: 1.15rem;
	background: var(--gyb-vonal-szin, var(--gyb-apro-dom));
	border-radius: 2px;
}

.gyb-section-title--vonalas {
	margin-bottom: 1.5rem;
}

.gyb-section-title--vonalas::after {
	content: "";
	display: block;
	width: 2.5rem;
	height: 2px;
	margin: 0.9rem auto 0;
	background: var(--gyb-apro-dom);
	border-radius: 2px;
}

.gyb-section-title--vonalas.gyb-section-title--bal::after {
	margin-inline: 0;
}

.gyb-section {
	padding-block: var(--gyb-section-y);
}

/* =========================================================
   4) Fejléc
   ========================================================= */

.gyb-header {
	position: relative;
	background: var(--gyb-cream);
	overflow: hidden;
}

/* A forma a rácshoz igazodik, nem a képernyő széléhez: a jobb éle pontosan ott
   ér véget, ahol a hero szövegoszlopa (col-lg-5) – tehát a hero képének bal
   élénél. A pozíció a rácsvonal (konténer bal paddingja + a tartalomszélesség
   5/12-e), onnan a translate tolja vissza a saját szélességével. */
.gyb-header .container-xxl {
	position: relative;
}

.gyb-header__dekor {
	top: -0.75rem;
	left: calc(var(--bs-gutter-x) * 0.5 + (100% - var(--bs-gutter-x)) * 0.4166667);
	width: clamp(5rem, 7vw, 6.5rem);
	aspect-ratio: 1;
	transform: translateX(-100%);
}

.gyb-navbar {
	position: relative;
	z-index: 2;
	padding-block: clamp(1.25rem, 2.4vw, 2rem);
	flex-wrap: wrap;
}

.gyb-navbar__brand {
	display: flex;
	align-items: center;
}

.gyb-logo,
.custom-logo-link {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

.gyb-logo img,
.custom-logo-link img {
	width: auto;
	height: clamp(2.6rem, 4.4vw, 3.9rem);
}

.gyb-menu {
	align-items: center;
	gap: clamp(1.25rem, 3vw, 3rem);
}

.gyb-menu .nav-link {
	position: relative;
	text-decoration: none;
	padding: 0.35rem 0;
	font-size: 0.76rem;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--gyb-ink);
}

.gyb-menu .nav-link::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 2px;
	background: var(--gyb-ink);
	transition: width 0.25s ease;
}

.gyb-menu .nav-link:hover,
.gyb-menu .nav-link:focus-visible,
.gyb-menu .nav-link.active {
	color: var(--gyb-ink);
}

.gyb-menu .nav-link:hover::after,
.gyb-menu .nav-link:focus-visible::after,
.gyb-menu .nav-link.active::after {
	width: 100%;
}

.gyb-menu .dropdown-menu {
	border: 1px solid var(--gyb-line);
	border-radius: var(--gyb-radius-sm);
	box-shadow: 0 18px 40px rgba(30, 30, 30, 0.08);
	padding: 0.5rem 0;
}

.gyb-menu .dropdown-item {
	font-size: 0.9rem;
	padding: 0.5rem 1.25rem;
}

/* Hamburger */
.gyb-toggler {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 1px solid var(--gyb-line);
	border-radius: 999px;
	background: transparent;
	box-shadow: none !important;
}

.gyb-toggler__bar {
	display: block;
	width: 1.15rem;
	height: 1.5px;
	margin-inline: auto;
	background: var(--gyb-ink);
	transition: transform 0.25s ease, opacity 0.2s ease;
}

.gyb-toggler[aria-expanded="true"] .gyb-toggler__bar:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.gyb-toggler[aria-expanded="true"] .gyb-toggler__bar:nth-child(2) { opacity: 0; }
.gyb-toggler[aria-expanded="true"] .gyb-toggler__bar:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* =========================================================
   5) Főoldal – 2. Hero
   ========================================================= */

.gyb-hero {
	position: relative;
	background: var(--gyb-cream);
	overflow: hidden;
}

.gyb-hero__inner {
	position: relative;
	z-index: 2;
}

.gyb-hero__dekor-1 {
	left: 0;
	top: 34%;
	width: clamp(3.5rem, 6vw, 6rem);
	height: clamp(7rem, 12vw, 12rem);
}

/* A lépcső a szöveg- és a képhasáb határán áll. A `col-lg-5` töréspontja a
   sor 5/12-e, a konténer oldalpaddingja pedig a fél rácsköz – ugyanaz a
   számítás, mint a fejléc korongjánál. A saját szélessége kétharmadával
   balra tolva pontosan a felső foka lóg rá a fotóra.
   Az `aspect-ratio: 1` a lényeg: a viewBox 120×120-as, három egyenlő fokkal,
   így csak négyzetes dobozban lesznek a fokok is négyzetesek – ettől lesz az
   alak szimmetrikus az átlójára. */
.gyb-hero__dekor-2 {
	left: calc(var(--bs-gutter-x) * 0.5 + (100% - var(--bs-gutter-x)) * 0.4166667);
	bottom: 0;
	width: clamp(5.5rem, 10vw, 10rem);
	aspect-ratio: 1;
	transform: translateX(-66.6667%);
	z-index: 3;
}

.gyb-hero__dekor-3 {
	right: 0;
	bottom: 0;
	width: clamp(6rem, 12vw, 12rem);
	height: clamp(6rem, 12vw, 12rem);
	z-index: 3;
}

.gyb-hero__text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-block: clamp(2.5rem, 5vw, 4.5rem);
	padding-inline-end: clamp(1rem, 3vw, 3rem);
}

.gyb-hero__title {
	margin: 0;
	font-size: clamp(2.6rem, 5.2vw, 4.4rem);
	font-weight: 700;
	line-height: 1.03;
	letter-spacing: -0.032em;
	max-width: 14ch;
}

.gyb-hero__subtitle {
	display: flex;
	flex-wrap: wrap;
	gap: 0.15rem 0.85rem;
	margin: clamp(1.25rem, 2.5vw, 1.9rem) 0 0;
	font-family: var(--gyb-font-heading);
	font-size: clamp(1.3rem, 2.3vw, 1.9rem);
	font-weight: 600;
	letter-spacing: -0.015em;
}

.gyb-hero__lead {
	max-width: 36ch;
	margin: clamp(1.5rem, 3vw, 2.25rem) 0 0;
	font-size: 0.97rem;
	line-height: 1.8;
}

.gyb-hero__media {
	position: relative;
	z-index: 2;
	align-self: stretch;
}

/* A képet abszolút pozicionáljuk, így nem a saját képaránya szabja meg a hero
   magasságát – álló és fekvő fotónál egyaránt a token adja a méretet. */
.gyb-hero__figure {
	position: relative;
	height: 100%;
	min-height: var(--gyb-hero-magassag);
	overflow: hidden;
}

.gyb-hero__figure img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 28%;
	filter: grayscale(1);
}

/* =========================================================
   5) Főoldal – 3. Kiemelt CTA-blokkok
   ========================================================= */

/* A hero és a Programjaink felé is 25px legyen a rés – az alsó térközt
   a Programjaink szekció padding-topja adja, hogy ne adódjon össze a kettő. */
.gyb-cta {
	padding-block: 25px 0;
	background: var(--gyb-white);
}

/* A két blokk közti rés ugyanannyi, mint a hero felé eső térköz. */
.gyb-cta__row {
	--bs-gutter-x: 25px;
	--bs-gutter-y: 25px;
}

.gyb-cta-card {
	/* A fotó ezzel tolja ki magát a kártya jobb széléig. */
	--cta-padding: clamp(1.125rem, 1.7vw, 1.5rem);

	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.72fr);
	gap: clamp(1.25rem, 2.5vw, 2rem);
	height: 100%;
	padding: var(--cta-padding);
	background: var(--card-bg, var(--gyb-cream));
	border-radius: var(--gyb-radius);
	overflow: hidden;
}

.gyb-cta-card--apro { --card-bg: var(--gyb-apro); }
.gyb-cta-card--mini { --card-bg: var(--gyb-mini); }
.gyb-cta-card--step { --card-bg: var(--gyb-step); }
.gyb-cta-card--matine { --card-bg: var(--gyb-matine); }

.gyb-cta-card__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.gyb-cta-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3.25rem;
	height: 3.25rem;
	margin-bottom: clamp(0.85rem, 1.4vw, 1.1rem);
	background: var(--gyb-white);
	color: var(--gyb-ink);
	border-radius: 50%;
}

.gyb-cta-card__title {
	margin: 0;
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
	font-weight: 600;
}

.gyb-cta-card__subtitle {
	margin: 0.35rem 0 0;
	font-size: 0.88rem;
	font-weight: 600;
}

.gyb-cta-card__text {
	margin: clamp(0.7rem, 1.4vw, 1rem) 0 clamp(1.1rem, 2vw, 1.5rem);
	max-width: 32ch;
	font-size: 0.94rem;
	line-height: 1.7;
}

.gyb-cta-card__body .gyb-btn {
	margin-top: auto;
}

/* A fotó a kártya jobb széléig fut ki, ezért jobbra nincs lekerekítve –
   a külső ívet a kártya saját border-radiusa adja (overflow: hidden). */
.gyb-cta-card__media {
	position: relative;
	min-height: 100%;
	margin-inline-end: calc(-1 * var(--cta-padding));
	border-radius: var(--gyb-radius) 0 0 var(--gyb-radius);
	overflow: hidden;
}

.gyb-cta-card__media img {
	width: 100%;
	height: 100%;
	min-height: clamp(9rem, 14vw, 12rem);
	object-fit: cover;
	filter: grayscale(1);
}

/* =========================================================
   5) Főoldal – 4. Programjaink
   ========================================================= */

.gyb-programok {
	padding-block: 25px var(--gyb-section-y);
	background: var(--gyb-white);
}

/* A „Programjaink" cím térközei megcserélve: felül a nagyobb, alul a kisebb.
   A cím 10px-szel feljebb ül, hogy ne érjen hozzá a kártyákhoz – a teljes
   térköz változatlan, csak fentről kerül át 10px lentre. */
.gyb-programok .gyb-section-title {
	margin-top: calc(clamp(2rem, 4vw, 3.25rem) - 10px);
	margin-bottom: 10px;
}

.gyb-program {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--gyb-cream);
	border-radius: var(--gyb-radius);
	overflow: hidden;
	--gyb-accent: var(--program-szin);
}

/* Az egész kártya kattintható – a nyíl és a kép a kártyára mozdul. */
.gyb-program:hover .gyb-arrow,
.gyb-program:focus-within .gyb-arrow {
	transform: translateX(5px);
}

.gyb-program:has(.gyb-kartya-link:focus-visible) {
	outline: 2px solid var(--gyb-ink);
	outline-offset: 3px;
}

.gyb-program--apro { --program-bg: var(--gyb-apro); --program-szin: var(--gyb-apro-dom); }
.gyb-program--mini { --program-bg: var(--gyb-mini); --program-szin: var(--gyb-mini-dom); }
.gyb-program--step { --program-bg: var(--gyb-step); --program-szin: var(--gyb-step-dom); }
.gyb-program--matine { --program-bg: var(--gyb-matine); --program-szin: var(--gyb-matine-dom); }

.gyb-program__media {
	position: relative;
	aspect-ratio: 4 / 3.15;
	overflow: hidden;
}

.gyb-program__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(1);
	transition: transform 0.5s ease;
}

.gyb-program:hover .gyb-program__media img {
	transform: scale(1.04);
}

/* A fotó bal felső sarkára kerülő arculati forma. A négyzetes arány miatt
   a negyed kör valódi körnegyed, nem nyújtott ellipszis. */
.gyb-program__dekor {
	position: absolute;
	top: 0;
	left: 0;
	width: 42%;
	aspect-ratio: 1;
	background: var(--program-bg);
}

/* Negyed kör: lapos felül és balra, lekerekített jobb alsó sarok. */
.gyb-program__dekor--negyed {
	border-radius: 0 0 100% 0;
}

/* Lépcső: a felső élről indul, három fokban lép le jobbra. */
.gyb-program__dekor--lepcso {
	clip-path: polygon(
		0 0, 100% 0,
		100% 33.34%, 66.67% 33.34%,
		66.67% 66.67%, 33.34% 66.67%,
		33.34% 100%, 0 100%
	);
}

/* Négyzet, a jobb alsó sarkából kivágott körívvel. */
.gyb-program__dekor--kivagott {
	--gyb-kivagas: 62%;

	-webkit-mask: radial-gradient(circle farthest-side at 100% 100%, transparent 0 var(--gyb-kivagas), #000 calc(var(--gyb-kivagas) + 0.5px));
	mask: radial-gradient(circle farthest-side at 100% 100%, transparent 0 var(--gyb-kivagas), #000 calc(var(--gyb-kivagas) + 0.5px));
}

.gyb-program__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: clamp(1.25rem, 2vw, 1.6rem) clamp(1.25rem, 2vw, 1.6rem) clamp(1.5rem, 2.4vw, 1.9rem);
}

.gyb-program__title {
	margin: 0;
	font-size: clamp(1.2rem, 1.8vw, 1.45rem);
	font-weight: 600;
	color: var(--program-szin);
	letter-spacing: -0.01em;
}

.gyb-program__subtitle {
	display: block;
	font-size: 0.95em;
	font-weight: 500;
}

.gyb-program__age {
	margin: 0.55rem 0 0;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--gyb-ink);
}

.gyb-program__text {
	margin: 0.75rem 0 1.5rem;
	font-size: 0.92rem;
	line-height: 1.65;
	color: var(--gyb-muted);
}

.gyb-program__body .gyb-link-arrow {
	margin-top: auto;
}

/* =========================================================
   5) Főoldal – 5. Miért Győri Balett KIDS?
   ========================================================= */

.gyb-miert {
	padding-block: var(--gyb-section-y);
	background: var(--gyb-white);
}

.gyb-ertekek {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	margin: 0;
	padding: clamp(2rem, 3.5vw, 3rem) 0;
	list-style: none;
	border-top: 1px solid var(--gyb-line);
	border-bottom: 1px solid var(--gyb-line);
}

.gyb-ertek {
	padding-inline: clamp(0.9rem, 1.8vw, 1.6rem);
	text-align: center;
	border-left: 1px solid var(--gyb-line);
}

.gyb-ertek:first-child {
	border-left: 0;
}

.gyb-ertek__icon {
	display: inline-flex;
	margin-bottom: 0.9rem;
}

.gyb-ertek__title {
	margin: 0 0 0.6rem;
	font-size: 0.98rem;
	font-weight: 600;
	font-family: var(--gyb-font-body);
	letter-spacing: 0;
}

.gyb-ertek__text {
	margin: 0;
	font-size: 0.84rem;
	line-height: 1.6;
	color: var(--gyb-muted);
}

/* =========================================================
   5) Főoldal – 6. Záró közösségi blokk
   ========================================================= */

.gyb-kozosseg {
	position: relative;
	background: var(--gyb-cream);
	overflow: hidden;
}

.gyb-kozosseg__inner {
	position: relative;
	z-index: 2;
}

.gyb-kozosseg__dekor-1 {
	left: 0;
	top: 24%;
	width: clamp(3rem, 5vw, 5rem);
	height: clamp(6rem, 10vw, 10rem);
}

.gyb-kozosseg__dekor-2 {
	right: 0;
	bottom: 0;
	width: clamp(5rem, 10vw, 10rem);
	height: clamp(5rem, 10vw, 10rem);
	z-index: 3;
}

.gyb-kozosseg__text {
	padding-block: clamp(2.75rem, 5.5vw, 5rem);
	padding-inline-end: clamp(1rem, 3vw, 3.5rem);
}

.gyb-kozosseg__title {
	margin: 0 0 clamp(1.25rem, 2.5vw, 1.9rem);
	font-size: clamp(1.9rem, 3.6vw, 3rem);
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: -0.025em;
	max-width: 16ch;
}

.gyb-kozosseg__lead {
	max-width: 46ch;
	font-size: 0.95rem;
	line-height: 1.8;
}

.gyb-kozosseg__gombok {
	display: flex;
	flex-wrap: wrap;
	gap: 0.9rem;
	margin-top: clamp(1.75rem, 3vw, 2.5rem);
}

.gyb-kozosseg__media {
	position: relative;
	z-index: 2;
	align-self: stretch;
}

.gyb-kozosseg__figure {
	position: relative;
	height: 100%;
	min-height: clamp(15rem, 32vw, 28rem);
	overflow: hidden;
}

.gyb-kozosseg__figure img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 30%;
	filter: grayscale(1);
}

/* =========================================================
   5b) Programjaink aloldal
   ========================================================= */

/* --- Hero (belső oldali változat) --- */
.gyb-hero__title--belso {
	max-width: none;
	font-size: clamp(2.4rem, 4.6vw, 3.9rem);
}

.gyb-hero--belso .gyb-hero__lead {
	max-width: 36ch;
	margin-top: 0;
}

/* A belső oldalak bevezetőjében a nyitó félkövér mondat külön sorban áll. */
.gyb-hero--belso .gyb-hero__lead > strong:first-child {
	display: block;
	margin-bottom: 0.9rem;
}

/* --- „Négy út – egy közös élmény” + kártyák --- */
.gyb-utak {
	padding-block: var(--gyb-section-y);
	background: var(--gyb-white);
}

.gyb-utak__fejlec {
	max-width: 46rem;
	margin: 0 auto clamp(2rem, 4vw, 3rem);
	text-align: center;
}

.gyb-utak__fejlec .gyb-section-title {
	margin-bottom: 1.25rem;
}

.gyb-utak__alcim {
	margin: 0;
	font-size: 0.97rem;
	line-height: 1.7;
}

.gyb-ut-kartya {
	--gyb-accent: var(--program-szin);

	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	height: 100%;
	padding: clamp(1.5rem, 2.2vw, 2rem);
	background: var(--gyb-cream);
	border-radius: var(--gyb-radius);
	text-align: center;
	transition: box-shadow 0.2s ease;
}

/* Az egész kártya kattintható. */
.gyb-ut-kartya:hover {
	box-shadow: 0 12px 30px rgba(30, 30, 30, 0.07);
}

.gyb-ut-kartya:hover .gyb-arrow,
.gyb-ut-kartya:focus-within .gyb-arrow {
	transform: translateX(4px);
}

.gyb-ut-kartya:hover .gyb-btn--program {
	filter: brightness(0.94);
}

.gyb-ut-kartya:has(.gyb-kartya-link:focus-visible) {
	outline: 2px solid var(--gyb-ink);
	outline-offset: 3px;
}

.gyb-ut-kartya--apro { --program-szin: var(--gyb-apro-dom); }
.gyb-ut-kartya--mini { --program-szin: var(--gyb-mini-dom); }
.gyb-ut-kartya--step { --program-szin: var(--gyb-step-dom); }
.gyb-ut-kartya--matine { --program-szin: var(--gyb-matine-dom); }

.gyb-ut-kartya__ikon {
	display: inline-flex;
	margin-bottom: 1.1rem;
	color: var(--program-szin);
}

.gyb-ut-kartya__nev {
	margin: 0;
	font-size: clamp(1.05rem, 1.5vw, 1.3rem);
	font-weight: 700;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	color: var(--program-szin);
}

.gyb-ut-kartya__alcim {
	margin: 0.55rem 0 0;
	font-size: 0.97rem;
	font-weight: 600;
}

.gyb-ut-kartya__kor {
	margin: 0.8rem 0 0;
	font-size: 0.86rem;
	font-weight: 700;
}

.gyb-ut-kartya__leiras {
	margin: 0.9rem 0 0;
	font-size: 0.9rem;
	line-height: 1.65;
}

.gyb-ut-kartya .gyb-vonal {
	--gyb-vonal-szin: var(--program-szin);

	align-self: flex-start;
	margin-block: clamp(1.1rem, 2vw, 1.6rem);
}

.gyb-ut-kartya__pontok {
	width: 100%;
	margin: 0 0 clamp(1.5rem, 2.5vw, 2rem);
	padding: 0;
	list-style: none;
	text-align: left;
}

.gyb-ut-kartya__pontok li {
	display: flex;
	align-items: flex-start;
	gap: 0.7rem;
	margin-bottom: 0.85rem;
	font-size: 0.88rem;
	line-height: 1.5;
}

.gyb-ut-kartya__pontok li:last-child { margin-bottom: 0; }

.gyb-ut-kartya__pont-ikon {
	flex: 0 0 auto;
	margin-top: 0.12rem;
	color: var(--gyb-ink);
}

/* A gomb a kategória domináns színét kapja, sötét felirattal: fehérrel csak
   2,3–3,1:1 lenne a kontraszt, sötéttel 5,3–7,3:1. */
.gyb-btn--program {
	margin-top: auto;
	background: var(--program-szin);
	color: var(--gyb-ink);
}

.gyb-btn--program:hover,
.gyb-btn--program:focus-visible {
	background: var(--program-szin);
	color: var(--gyb-ink);
	filter: brightness(0.94);
}

/* --- „Melyiket válasszam?” --- */
.gyb-valaszto-szekcio,
.gyb-zaro-szekcio {
	padding-bottom: var(--gyb-section-y);
	background: var(--gyb-white);
}

.gyb-panel {
	padding: clamp(1.75rem, 3.2vw, 3rem);
	background: var(--gyb-cream);
	border-radius: var(--gyb-radius);
}

.gyb-panel__cim {
	margin: 0 0 clamp(1.75rem, 3vw, 2.5rem);
	font-family: var(--gyb-font-heading);
	font-size: clamp(1.3rem, 2.2vw, 1.75rem);
	font-weight: 600;
}

.gyb-valaszto {
	--ut-gap: clamp(1.5rem, 3vw, 3rem);

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

.gyb-valaszto__elem {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.gyb-valaszto__jelveny {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4.5rem;
	height: 4.5rem;
	margin-bottom: 1.1rem;
	background: var(--jelveny-bg, var(--gyb-cream));
	color: var(--gyb-ink);
	border-radius: 50%;
}

.gyb-valaszto__jelveny--apro { --jelveny-bg: var(--gyb-apro); }
.gyb-valaszto__jelveny--mini { --jelveny-bg: var(--gyb-mini); }
.gyb-valaszto__jelveny--step { --jelveny-bg: var(--gyb-step); }
.gyb-valaszto__jelveny--matine { --jelveny-bg: var(--gyb-matine); }

.gyb-valaszto__kerdes {
	margin: 0 0 0.85rem;
	font-size: 0.9rem;
	line-height: 1.55;
}

.gyb-valaszto__program {
	margin-top: auto;
	font-size: 0.98rem;
	font-weight: 600;
	text-decoration: none;
}

.gyb-valaszto__nyil {
	position: absolute;
	top: calc(2.25rem - 5px);
	left: calc(100% + (var(--ut-gap) - 3.5rem) / 2);
	line-height: 0;
	color: var(--gyb-ink);
}

.gyb-valaszto__elem:last-child .gyb-valaszto__nyil { display: none; }

/* --- „Minden út ugyanoda vezet.” + csempék --- */
.gyb-panel--zaro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	gap: clamp(1.75rem, 3.5vw, 3.5rem);
	align-items: center;
}

.gyb-zaro__lead {
	max-width: 50ch;
	font-size: 0.92rem;
	line-height: 1.75;
}

.gyb-zaro__csempek {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 1.8vw, 1.5rem);
}

.gyb-csempe {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.5rem 1rem;
	padding: clamp(1.1rem, 1.8vw, 1.5rem);
	background: var(--csempe-bg);
	color: var(--gyb-ink);
	border-radius: var(--gyb-radius);
	text-decoration: none;
	transition: transform 0.2s ease;
}

.gyb-csempe--apro { --csempe-bg: var(--gyb-apro); --csempe-cim: var(--gyb-apro-dom); }
.gyb-csempe--semleges { --csempe-bg: var(--gyb-semleges); --csempe-cim: var(--gyb-step-dom); }

.gyb-csempe:hover,
.gyb-csempe:focus-visible {
	transform: translateY(-2px);
	color: var(--gyb-ink);
}

.gyb-csempe__cim {
	display: block;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--csempe-cim);
}

.gyb-csempe__alcim {
	display: block;
	margin-top: 0.4rem;
	font-size: 0.9rem;
	line-height: 1.5;
}

.gyb-csempe__nyil {
	grid-column: 2;
	line-height: 0;
	text-align: right;
	color: var(--csempe-cim);
}

.gyb-csempe .gyb-arrow { transition: transform 0.2s ease; }
.gyb-csempe:hover .gyb-arrow { transform: translateX(4px); }

/* =========================================================
   5c) Hírek aloldal
   ========================================================= */

/* A kategória színe egyetlen változóban, mint a programoknál. */
.gyb-hir--apro, .gyb-kiemelt--apro, .gyb-chip--apro, .gyb-nagy-csempe--apro { --kat-szin: var(--gyb-apro-dom); --kat-vilagos: var(--gyb-apro); }
.gyb-hir--mini, .gyb-kiemelt--mini, .gyb-chip--mini, .gyb-nagy-csempe--mini { --kat-szin: var(--gyb-mini-dom); --kat-vilagos: var(--gyb-mini); }
.gyb-hir--step, .gyb-kiemelt--step, .gyb-chip--step, .gyb-nagy-csempe--step { --kat-szin: var(--gyb-step-dom); --kat-vilagos: var(--gyb-step); }
.gyb-hir--matine, .gyb-kiemelt--matine, .gyb-chip--matine, .gyb-nagy-csempe--matine { --kat-szin: var(--gyb-matine-dom); --kat-vilagos: var(--gyb-matine); }

/* --- Kiemelt hír --- */
.gyb-kiemelt-szekcio {
	padding-block: clamp(2rem, 4vw, 3.5rem) 0;
	background: var(--gyb-white);
}

.gyb-kiemelt {
	--gyb-accent: var(--kat-szin);

	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: center;
	padding: clamp(1.25rem, 2vw, 1.75rem);
	background: var(--gyb-white);
	border-radius: var(--gyb-radius);
	box-shadow: 0 18px 44px rgba(30, 30, 30, 0.06);
}

.gyb-kiemelt__media {
	overflow: hidden;
	border-radius: var(--gyb-radius);
}

.gyb-kiemelt__media img {
	width: 100%;
	height: 100%;
	min-height: clamp(13rem, 24vw, 20rem);
	object-fit: cover;
	filter: grayscale(1);
}

.gyb-kiemelt__body {
	padding-inline-end: clamp(0.5rem, 2vw, 2rem);
}

.gyb-kiemelt__title {
	margin: 0.75rem 0 0;
	font-size: clamp(1.4rem, 2.6vw, 2rem);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.gyb-kiemelt__szoveg {
	margin-top: 0.9rem;
	font-size: 0.94rem;
	line-height: 1.75;
}

.gyb-kiemelt__szoveg p:first-child {
	font-weight: 600;
}

.gyb-kiemelt__body .gyb-link-arrow {
	margin-top: clamp(1.1rem, 2vw, 1.6rem);
}

/* --- Meta sor: dátum + kategóriacímke --- */
.gyb-hir__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
	margin: 0;
	font-size: 0.82rem;
	color: var(--gyb-muted);
}

.gyb-hir__cimke {
	padding: 0.2rem 0.7rem;
	background: var(--kat-vilagos);
	color: var(--kat-szin);
	border-radius: 999px;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* --- Hírlista --- */
.gyb-hirek {
	padding-block: clamp(2.5rem, 5vw, 4rem);
	background: var(--gyb-white);
}

.gyb-hirek .gyb-section-title {
	margin-bottom: clamp(1.25rem, 2.5vw, 1.75rem);
}

.gyb-szuro {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}

.gyb-chip {
	display: inline-flex;
	align-items: center;
	padding: 0.5rem 1.1rem;
	border: 1px solid var(--gyb-line);
	border-radius: 999px;
	background: var(--gyb-white);
	color: var(--gyb-ink);
	font-size: 0.82rem;
	font-weight: 500;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.gyb-chip:hover,
.gyb-chip:focus-visible {
	border-color: var(--kat-szin, var(--gyb-ink));
	color: var(--gyb-ink);
}

/* Az aktív csempe a kategória színével kitöltve, fehér felirattal.
   Az „Összes hír” csempének nincs kategóriája, ott a korall az alapérték. */
.gyb-chip.is-active,
.gyb-chip.is-active:hover,
.gyb-chip.is-active:focus-visible {
	background: var(--kat-szin, var(--gyb-apro-dom));
	border-color: transparent;
	color: #fff;
	font-weight: 600;
}

.gyb-hirek__ures {
	margin-top: 1.5rem;
	color: var(--gyb-muted);
}

/* --- Hírkártya --- */
.gyb-hir {
	--gyb-accent: var(--kat-szin);

	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.gyb-hir__media {
	overflow: hidden;
	border-radius: var(--gyb-radius);
	aspect-ratio: 1;
}

.gyb-hir__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(1);
	transition: transform 0.5s ease;
}

.gyb-hir:hover .gyb-hir__media img {
	transform: scale(1.04);
}

/* A fotó és a rajta átlógó ikonkorong közös, pozicionált kerete. */
.gyb-hir__fejlec {
	position: relative;
	margin-bottom: 1.9rem;
}

/* A kategória ikonkorongja a fotó bal alsó sarkán lóg át. */
.gyb-hir__jelveny {
	position: absolute;
	inset-inline-start: 1.1rem;
	bottom: -1.7rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3.4rem;
	height: 3.4rem;
	background: var(--kat-szin);
	color: #fff;
	border-radius: 50%;
	z-index: 2;
}

.gyb-hir__title {
	margin: 0.7rem 0 0;
	font-size: clamp(1.05rem, 1.5vw, 1.2rem);
	font-weight: 600;
	line-height: 1.28;
}

.gyb-hir__text {
	margin: 0.7rem 0 1.4rem;
	font-size: 0.88rem;
	line-height: 1.6;
	color: var(--gyb-muted);
}

.gyb-hir .gyb-link-arrow {
	margin-top: auto;
}

.gyb-hir:has(.gyb-kartya-link:focus-visible) {
	outline: 2px solid var(--gyb-ink);
	outline-offset: 6px;
	border-radius: var(--gyb-radius);
}

/* --- Hírlevél --- */
.gyb-hirlevel-szekcio {
	padding-bottom: clamp(2rem, 4vw, 3rem);
	background: var(--gyb-white);
}

.gyb-hirlevel {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(1.25rem, 3vw, 2.5rem);
	align-items: center;
	padding: clamp(1.25rem, 2.2vw, 1.75rem);
	overflow: hidden;
}

.gyb-hirlevel__dekor {
	right: 0;
	bottom: 0;
	width: clamp(4rem, 8vw, 8rem);
	aspect-ratio: 1;
}

.gyb-hirlevel__media {
	width: clamp(7rem, 12vw, 11rem);
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: var(--gyb-radius);
}

.gyb-hirlevel__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(1);
}

/* A terven ez a cím a dekorációs sötétkékkel van szedve, nem a fő szövegszínnel. */
.gyb-hirlevel__title {
	margin: 0;
	font-size: clamp(1.25rem, 2.2vw, 1.75rem);
	font-weight: 600;
	color: var(--gyb-tenger);
}

.gyb-hirlevel__text {
	margin: 0.6rem 0 0;
	font-size: 0.92rem;
	line-height: 1.6;
}

.gyb-hirlevel__urlap {
	position: relative;
	z-index: 2;
}

/* Ha nincs beállítva feliratkozó űrlap, a szöveg foglalja el a helyét. */
.gyb-hirlevel__urlap:empty {
	display: none;
}

.gyb-hirlevel:has(.gyb-hirlevel__urlap:empty) {
	grid-template-columns: auto minmax(0, 1fr);
}

.gyb-feliratkozas {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.gyb-feliratkozas__mezo {
	flex: 1 1 12rem;
	min-width: 0;
	padding: 0.9rem 1.2rem;
	background: var(--gyb-white);
	border: 1px solid var(--gyb-line);
	border-radius: 999px;
	font-family: inherit;
	font-size: 0.92rem;
}

/* --- Nagy CTA-csempék --- */
.gyb-cta-csempek-szekcio {
	padding-bottom: var(--gyb-section-y);
	background: var(--gyb-white);
}

.gyb-cta-csempek {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.75rem);
}

.gyb-nagy-csempe {
	--program-szin: var(--kat-szin);

	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: clamp(1rem, 2vw, 1.75rem);
	align-items: center;
	padding: clamp(1.5rem, 2.5vw, 2.25rem);
	background: var(--kat-vilagos);
	border-radius: var(--gyb-radius);
}

.gyb-nagy-csempe--semleges { --kat-szin: var(--gyb-step-dom); --kat-vilagos: var(--gyb-semleges); }

.gyb-nagy-csempe__ikon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4.5rem;
	height: 4.5rem;
	background: var(--gyb-white);
	color: var(--gyb-ink);
	border-radius: 50%;
}

.gyb-nagy-csempe__cim {
	margin: 0;
	font-size: clamp(1.2rem, 2vw, 1.6rem);
	font-weight: 600;
}

.gyb-nagy-csempe__alcim {
	margin: 0.3rem 0 clamp(0.9rem, 1.8vw, 1.25rem);
	font-size: 0.92rem;
}

.gyb-nagy-csempe:has(.gyb-kartya-link:focus-visible) {
	outline: 2px solid var(--gyb-ink);
	outline-offset: 3px;
}

/* =========================================================
   5d) Kapcsolat aloldal
   ========================================================= */

.gyb-info--apro   { --kat-szin: var(--gyb-apro-dom);   --kat-vilagos: var(--gyb-apro); }
.gyb-info--mini   { --kat-szin: var(--gyb-mini-dom);   --kat-vilagos: var(--gyb-mini); }
.gyb-info--step   { --kat-szin: var(--gyb-step-dom);   --kat-vilagos: var(--gyb-step); }
.gyb-info--matine { --kat-szin: var(--gyb-matine-dom); --kat-vilagos: var(--gyb-matine); }
.gyb-info--semleges { --kat-szin: var(--gyb-step-dom); --kat-vilagos: var(--gyb-semleges); }

.gyb-helyszin--apro   { --kat-szin: var(--gyb-apro-dom); }
.gyb-helyszin--mini   { --kat-szin: var(--gyb-mini-dom); }
.gyb-helyszin--step   { --kat-szin: var(--gyb-step-dom); }
.gyb-helyszin--matine { --kat-szin: var(--gyb-matine-dom); }

/* --- Információs kártyák --- */
.gyb-info-szekcio {
	padding-block: clamp(2rem, 4vw, 3.5rem) clamp(2rem, 4vw, 3rem);
	background: var(--gyb-white);
}

.gyb-info-racs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.75rem);
	align-items: stretch;
}

.gyb-info {
	--program-szin: var(--kat-szin);
	--gyb-vonal-szin: var(--kat-szin);

	display: flex;
	flex-direction: column;
	padding: clamp(1.5rem, 2.6vw, 2.25rem);
	background: var(--kat-vilagos);
	border-radius: var(--gyb-radius);
}

.gyb-info__fejlec {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: clamp(1rem, 2vw, 1.5rem);
	align-items: center;
	margin-bottom: clamp(1.25rem, 2.4vw, 1.75rem);
}

.gyb-info__ikon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4.5rem;
	height: 4.5rem;
	background: var(--gyb-white);
	color: var(--kat-szin);
	border-radius: 50%;
}

.gyb-info__cim {
	margin: 0;
	font-size: clamp(1.25rem, 2.2vw, 1.7rem);
	font-weight: 600;
}

.gyb-info__alcim {
	margin: 0.25rem 0 0;
	font-size: 0.98rem;
	font-weight: 600;
	color: var(--kat-szin);
}

.gyb-info__fejlec .gyb-vonal {
	margin-block: 0.9rem 0;
}

/* A rácsnak nincs gapje: a térközt a cellák paddingja adja, így a vonalak
   hézag nélkül összeérnek, és a vízszintes fölött-alatt ugyanannyi hely marad. */
.gyb-info__blokkok {
	--cella-x: clamp(1.25rem, 2.5vw, 2rem);
	--cella-y: clamp(1rem, 2vw, 1.5rem);

	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

.gyb-info__blokk {
	padding: var(--cella-y) var(--cella-x);
}

/* A rács külső szélein nincs behúzás. */
.gyb-info__blokk:nth-child(odd) { padding-inline-start: 0; }
.gyb-info__blokk:nth-child(even) { padding-inline-end: 0; }
.gyb-info__blokk:nth-child(-n + 2) { padding-top: 0; }
.gyb-info__blokk:nth-last-child(-n + 2) { padding-bottom: 0; }

/* Elválasztók a kártya színével: függőleges a két oszlop közé,
   vízszintes a sorok közé – a második sor első blokkja elé nem. */
.gyb-info__blokk:nth-child(even) {
	border-inline-start: 1px solid var(--kat-szin);
}

.gyb-info__blokk:nth-child(n + 3) {
	border-top: 1px solid var(--kat-szin);
}

.gyb-info__blokk-cim {
	margin: 0 0 0.85rem;
	font-family: var(--gyb-font-body);
	font-size: 0.94rem;
	font-weight: 700;
	letter-spacing: 0;
}

.gyb-info__blokk-alcim {
	display: block;
	font-weight: 500;
	color: var(--kat-szin);
}

.gyb-info__sorok {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.92rem;
	line-height: 1.55;
}

.gyb-info__sorok li {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	margin-bottom: 0.6rem;
}

.gyb-info__sorok li:last-child { margin-bottom: 0; }

.gyb-info__sor--ikon-nelkul {
	padding-inline-start: calc(18px + 0.65rem);
}

.gyb-info__sor-ikon {
	flex: 0 0 auto;
	margin-top: 0.16rem;
	color: var(--kat-szin);
}

.gyb-info .gyb-btn {
	align-self: flex-start;
	margin-top: auto;
}

/* --- Helyszíneink --- */
.gyb-helyszinek-szekcio {
	padding-bottom: clamp(2rem, 4vw, 3rem);
	background: var(--gyb-white);
}

.gyb-helyszinek {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.75rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.gyb-helyszin {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: clamp(1rem, 2vw, 1.5rem);
	align-items: center;
	padding: clamp(1.25rem, 2.2vw, 1.75rem);
	background: var(--gyb-cream);
	border-radius: var(--gyb-radius);
}

.gyb-helyszin__jelveny {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 5.5rem;
	height: 5.5rem;
	color: var(--gyb-ink);
	border: 1px solid var(--gyb-line);
	border-radius: 50%;
	background: var(--gyb-white);
}

.gyb-helyszin__varos {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0 0 0.5rem;
	font-family: var(--gyb-font-heading);
	font-size: 1.15rem;
	font-weight: 600;
	color: var(--kat-szin);
}

.gyb-helyszin__nev {
	margin: 0;
	font-size: 0.98rem;
	font-weight: 600;
}

.gyb-helyszin__cim {
	margin: 0.3rem 0 0.9rem;
	font-size: 0.92rem;
	line-height: 1.55;
	color: var(--gyb-muted);
}

.gyb-helyszin__terkep {
	--gyb-accent: var(--kat-szin);

	gap: 0.5rem;
	font-size: 0.7rem;
}


/* --- Közösség és GYIK --- */
.gyb-kozosseg-gyik-szekcio {
	padding-bottom: clamp(2rem, 4vw, 3rem);
	background: var(--gyb-white);
}

.gyb-kozosseg-gyik {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: center;
}

.gyb-kozosseg-gyik__resz + .gyb-kozosseg-gyik__resz {
	padding-inline-start: clamp(1.5rem, 3vw, 3rem);
	border-inline-start: 1px solid var(--gyb-line);
}

.gyb-panel__cim--sima { margin-bottom: 0.75rem; }

.gyb-kozosseg-gyik__szoveg {
	margin: 0 0 1.25rem;
	font-size: 0.94rem;
	line-height: 1.6;
}

.gyb-social {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gyb-social__gomb {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	background: var(--social-szin, var(--gyb-apro-dom));
	color: #fff;
	border-radius: 50%;
	transition: filter 0.2s ease;
}

.gyb-social__gomb--apro   { --social-szin: var(--gyb-apro-dom); }
.gyb-social__gomb--tenger { --social-szin: var(--gyb-tenger); }
.gyb-social__gomb--step   { --social-szin: var(--gyb-step-dom); }
.gyb-social__gomb--matine { --social-szin: var(--gyb-matine-dom); }

.gyb-social__gomb:hover,
.gyb-social__gomb:focus-visible {
	color: #fff;
	filter: brightness(0.92);
}

/* Körvonalas gomb (GYIK) */
.gyb-btn--korvonal {
	background: transparent;
	color: var(--gyb-apro-dom);
	border: 1px solid var(--gyb-apro-dom);
}

.gyb-btn--korvonal:hover,
.gyb-btn--korvonal:focus-visible {
	background: var(--gyb-apro-dom);
	color: var(--gyb-ink);
}

/* --- Idézetes záró blokk --- */
.gyb-idezet-szekcio {
	position: relative;
	background: var(--gyb-cream);
	overflow: hidden;
}

.gyb-idezet__inner { position: relative; z-index: 2; }

.gyb-idezet__dekor {
	right: 0;
	bottom: 0;
	width: clamp(5rem, 10vw, 10rem);
	aspect-ratio: 1;
	z-index: 3;
}

.gyb-idezet__media { align-self: stretch; }

.gyb-idezet__figure {
	position: relative;
	height: 100%;
	min-height: clamp(13rem, 24vw, 20rem);
	overflow: hidden;
}

.gyb-idezet__figure img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(1);
}

.gyb-idezet__body {
	padding: clamp(2rem, 4vw, 3.5rem) clamp(1.5rem, 4vw, 4rem);
}

.gyb-idezet__jel {
	display: block;
	font-family: var(--gyb-font-heading);
	font-size: clamp(3rem, 6vw, 5rem);
	font-weight: 700;
	line-height: 0.5;
	color: var(--gyb-apro-dom);
}

.gyb-idezet__cim {
	margin: clamp(1rem, 2vw, 1.5rem) 0 0;
	font-size: clamp(1.4rem, 2.8vw, 2.1rem);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.02em;
	max-width: 22ch;
}

.gyb-idezet__szoveg {
	margin: 0.9rem 0 0;
	font-size: 0.96rem;
	line-height: 1.7;
}

.gyb-idezet__sziv {
	display: inline-flex;
	margin-top: clamp(1rem, 2vw, 1.5rem);
	color: var(--gyb-apro-dom);
}

/* =========================================================
   5e) Jelentkezés aloldal
   ========================================================= */

.gyb-allapot--apro   { --kat-szin: var(--gyb-apro-dom); }
.gyb-allapot--mini   { --kat-szin: var(--gyb-mini-dom); }
.gyb-allapot--step   { --kat-szin: var(--gyb-step-dom); }
.gyb-allapot--matine { --kat-szin: var(--gyb-matine-dom); }
.gyb-allapot--ink    { --kat-szin: var(--gyb-ink); }

.gyb-jelentkezes-szekcio {
	padding-block: clamp(2.5rem, 5vw, 4rem);
	background: var(--gyb-white);
}

/* Bal oldalt a tudnivalók, jobb oldalt a lényegesen szélesebb űrlaphasáb. */
.gyb-jelentkezes {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr);
	gap: clamp(1.75rem, 4vw, 4rem);
	align-items: start;
}

/* Amíg nincs beillesztve az űrlap, a látogató ne lássa üresen a fél oldalt:
   ilyenkor a tudnivalók hasábja áll magában, olvasható szélességben. */
.gyb-jelentkezes--csak-info {
	grid-template-columns: minmax(0, 1fr);
	max-width: 46rem;
}

.gyb-jelentkezes__kiemelt-cim {
	margin: 0 0 0.9rem;
	font-family: var(--gyb-font-body);
	font-size: 0.94rem;
	font-weight: 600;
	letter-spacing: 0;
	color: var(--gyb-apro-dom);
}

.gyb-jelentkezes__kiemelt-szoveg {
	margin: 0;
	font-size: 0.94rem;
	line-height: 1.75;
}

/* Állapotpanel (pl. „a jelentkezés csak aktív időszakban érhető el”). */
.gyb-allapot {
	margin-top: clamp(1.75rem, 3.5vw, 2.75rem);
	padding: clamp(1.5rem, 2.6vw, 2rem);
	background: var(--gyb-cream);
	border-radius: var(--gyb-radius);
}

.gyb-allapot__ikon {
	display: inline-flex;
	margin-bottom: clamp(1rem, 2vw, 1.5rem);
	color: var(--kat-szin);
}

.gyb-allapot__cim {
	margin: 0 0 0.75rem;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--kat-szin);
}

.gyb-allapot__szoveg {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.7;
}

/* Az űrlap helye, amíg nincs beillesztve a shortcode. */
.gyb-urlap-helye {
	margin: 0;
	padding: clamp(2rem, 5vw, 4rem) clamp(1.5rem, 3vw, 2.5rem);
	border: 2px dashed var(--gyb-line);
	border-radius: var(--gyb-radius);
	color: var(--gyb-muted);
	font-size: 0.92rem;
	line-height: 1.7;
	text-align: center;
}

/* --- Fluent Forms alapozás, hogy beillesztve az arculathoz simuljon ---
   A bővítmény stíluslapjai a témánk UTÁN töltődnek be, és a saját szabályai
   ugyanolyan erősek (`.ff-default .ff-el-form-control`), ezért sorrendben
   nyernének. Két eszközzel oldjuk meg, `!important` nélkül:
   1. a `--fluentform-*` változókat a saját tokenjeinkre kötjük, így a
      bővítmény SAJÁT szabályai már arculati színnel festenek;
   2. ahol formára is szükség van, a `.ff-default` közbeiktatásával eggyel
      erősebb szelektort írunk, mint a bővítményé. */

.gyb-jelentkezes__urlap {
	--fluentform-primary: var(--gyb-apro-dom);
	--fluentform-secondary: var(--gyb-ink);
	--fluentform-border-color: var(--gyb-line);
	--fluentform-border-radius: var(--gyb-radius-sm);
	--fluentform-danger: var(--gyb-apro-dom);
}

.gyb-jelentkezes__urlap .ff-default .ff-el-group { margin-bottom: 1.1rem; }

.gyb-jelentkezes__urlap .ff-default .ff-el-input--label label {
	font-family: var(--gyb-font-body);
	font-size: 0.88rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--gyb-ink);
}

.gyb-jelentkezes__urlap .ff-default .ff-el-form-control {
	width: 100%;
	padding: 0.85rem 1.1rem;
	background: var(--gyb-white);
	border: 1px solid var(--gyb-line);
	border-radius: var(--gyb-radius-sm);
	font-family: var(--gyb-font-body);
	font-size: 0.94rem;
	line-height: 1.5;
	color: var(--gyb-ink);
	box-shadow: none;
}

.gyb-jelentkezes__urlap .ff-default .ff-el-form-control:focus {
	border-color: var(--gyb-apro-dom);
	outline: 2px solid transparent;
}

.gyb-jelentkezes__urlap .ff-default textarea.ff-el-form-control { min-height: 8rem; }

/* Szakaszcímek: harmonikás és sima űrlapnál is a címsor-betűtípus. */
.gyb-jelentkezes__urlap .ff-default .ff-el-section-title,
.gyb-jelentkezes__urlap .ff-default .ff-accordion-title,
.gyb-jelentkezes__urlap .ff-default .ff-el-custom-html h3 {
	font-family: var(--gyb-font-heading);
	font-size: clamp(1.05rem, 1.8vw, 1.25rem);
	font-weight: 600;
	line-height: 1.3;
	color: var(--gyb-ink);
	margin: 0;
}

.gyb-jelentkezes__urlap .ff-default .ff_accordion_holder .ff-accordion-title {
	padding-block: clamp(0.9rem, 2vw, 1.25rem);
}

/* Jelölőnégyzetes hozzájárulás. */
.gyb-jelentkezes__urlap .ff-default .ff-el-form-check-label,
.gyb-jelentkezes__urlap .ff-default .ff-el-form-check label {
	font-family: var(--gyb-font-body);
	font-size: 0.88rem;
	line-height: 1.6;
	color: var(--gyb-ink);
}

/* Küldés gomb. A bővítmény ezt egy beágyazott <style>-ból festi
   (`form.fluent_form_3 .ff-btn-submit:not(.ff_btn_no_style)`, 0-3-1), ezért
   itt eggyel több osztály kell – ez a szelektor 0-4-1. */
.gyb-jelentkezes__urlap .ff-default form.frm-fluent-form .ff-btn-submit,
.gyb-jelentkezes__urlap .ff-default form.frm-fluent-form .ff_btn_style {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.85rem;
	width: auto;
	min-width: min(100%, 22rem);
	height: auto;
	padding: 1.05rem 3rem;
	background: var(--gyb-apro-dom);
	background-color: var(--gyb-apro-dom);
	color: var(--gyb-ink);
	border: 0;
	border-radius: 999px;
	font-family: var(--gyb-font-body);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.13em;
	line-height: 1.2;
	text-transform: uppercase;
	cursor: pointer;
	transition: filter 0.2s ease;
}

.gyb-jelentkezes__urlap .ff-default form.frm-fluent-form .ff-btn-submit:hover,
.gyb-jelentkezes__urlap .ff-default form.frm-fluent-form .ff_btn_style:hover {
	filter: brightness(0.94);
	background-color: var(--gyb-apro-dom);
	color: var(--gyb-ink);
}

/* A gomb a terven középre zárt, nem teljes szélességű. */
.gyb-jelentkezes__urlap .ff-default .ff-el-group.ff-text-left-align,
.gyb-jelentkezes__urlap .ff-default .ff_submit_btn_wrapper {
	text-align: center;
}

/* --- Záró információs sáv --- */
.gyb-info-sav-szekcio {
	padding-block: clamp(2rem, 4vw, 3rem);
	background: var(--gyb-cream);
}

.gyb-info-sav {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 3rem);
}

.gyb-info-sav__cim {
	margin: 0 0 1.1rem;
	font-size: 1.05rem;
	font-weight: 600;
}

.gyb-info-sav__sorok {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.92rem;
	line-height: 1.55;
}

.gyb-info-sav__sorok li {
	display: flex;
	align-items: flex-start;
	gap: 0.7rem;
	margin-bottom: 0.85rem;
}

.gyb-info-sav__sorok li:last-child { margin-bottom: 0; }

.gyb-info-sav__sor--ikon-nelkul { padding-inline-start: calc(18px + 0.7rem); }

.gyb-info-sav__ikon {
	flex: 0 0 auto;
	margin-top: 0.16rem;
	color: var(--gyb-apro-dom);
}

/* Körvonalas közösségi gombok (a telt változat a Kapcsolat oldalon van). */
.gyb-social--korvonal .gyb-social__gomb {
	background: transparent;
	color: var(--gyb-ink);
	border: 1px solid var(--gyb-ink);
}

.gyb-social--korvonal .gyb-social__gomb:hover,
.gyb-social--korvonal .gyb-social__gomb:focus-visible {
	background: var(--gyb-ink);
	color: #fff;
	filter: none;
}

/* =========================================================
   Archívum, egyedi oldal, 404
   ========================================================= */

.gyb-arhivum__fejlec { margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }

.gyb-kartya {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--gyb-cream);
	border-radius: var(--gyb-radius);
	overflow: hidden;
}

.gyb-kartya__media {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.gyb-kartya__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(1);
}

.gyb-kartya__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: clamp(1.25rem, 2vw, 1.6rem);
}

.gyb-kartya__meta {
	margin: 0 0 0.5rem;
	font-size: 0.78rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gyb-muted);
}

.gyb-kartya__title {
	margin: 0 0 0.75rem;
	font-size: 1.2rem;
	font-weight: 600;
}

.gyb-kartya__title a { text-decoration: none; }

.gyb-kartya__text {
	margin: 0 0 1.5rem;
	font-size: 0.92rem;
	color: var(--gyb-muted);
}

.gyb-kartya__body .gyb-link-arrow { margin-top: auto; }

.gyb-egyedi__fejlec { max-width: 44rem; margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }

.gyb-egyedi__title {
	font-size: clamp(2rem, 4vw, 3.2rem);
	line-height: 1.1;
	letter-spacing: -0.028em;
}

.gyb-egyedi__meta {
	margin-top: 0.75rem;
	font-size: 0.82rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gyb-muted);
}

.gyb-egyedi__media {
	margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
	border-radius: var(--gyb-radius);
	overflow: hidden;
}

.gyb-proza { max-width: 44rem; }
.gyb-proza h2 { margin: 2.5rem 0 1rem; font-size: clamp(1.4rem, 2.4vw, 1.85rem); }
.gyb-proza h3 { margin: 2rem 0 0.85rem; font-size: clamp(1.2rem, 2vw, 1.4rem); }
.gyb-proza ul, .gyb-proza ol { margin-bottom: 1.25rem; padding-left: 1.25rem; }
.gyb-proza li { margin-bottom: 0.4rem; }
.gyb-proza blockquote {
	margin: 2rem 0;
	padding-left: 1.5rem;
	border-left: 3px solid var(--gyb-apro);
	font-family: var(--gyb-font-heading);
	font-size: 1.15rem;
}

/* --- Hozzászólások --- */
.gyb-hozzaszolasok {
	padding-bottom: var(--gyb-section-y);
}

.gyb-hozzaszolasok__belso {
	max-width: 44rem;
	padding-top: clamp(2rem, 4vw, 3rem);
	border-top: 1px solid var(--gyb-line);
}

.gyb-hozzaszolasok__cim {
	margin: 0 0 1.5rem;
	font-size: clamp(1.2rem, 2vw, 1.5rem);
	font-weight: 600;
}

.gyb-hozzaszolas-lista {
	margin: 0 0 2rem;
	padding: 0;
	list-style: none;
}

.gyb-hozzaszolas-lista .children {
	margin: 1.25rem 0 0 clamp(1rem, 3vw, 2.5rem);
	padding: 0;
	list-style: none;
}

.gyb-hozzaszolas-lista .comment-body {
	padding: 1.25rem 0;
	border-bottom: 1px solid var(--gyb-line);
	font-size: 0.94rem;
}

.gyb-hozzaszolas-lista .comment-author img {
	border-radius: 50%;
	margin-right: 0.6rem;
	vertical-align: middle;
}

.gyb-hozzaszolas-lista .comment-meta {
	font-size: 0.82rem;
	color: var(--gyb-muted);
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	width: 100%;
	padding: 0.75rem 1.1rem;
	border: 1px solid var(--gyb-line);
	border-radius: var(--gyb-radius-sm);
	font-family: inherit;
	font-size: 0.94rem;
	background: var(--gyb-white);
}

.comment-form label {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 0.86rem;
	font-weight: 600;
}

.comment-form p { margin-bottom: 1.1rem; }

.gyb-hozzaszolasok__zarva { color: var(--gyb-muted); }

.gyb-lapozo { margin-top: clamp(2rem, 4vw, 3rem); }
.gyb-lapozo .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding-inline: 0.6rem;
	text-decoration: none;
	border-radius: 999px;
}
.gyb-lapozo .page-numbers.current { background: var(--gyb-ink); color: #fff; }

.gyb-kereso { display: flex; gap: 0.75rem; max-width: 30rem; }
.gyb-kereso__mezo {
	flex: 1;
	padding: 0.7rem 1.1rem;
	border: 1px solid var(--gyb-line);
	border-radius: 999px;
	font-family: inherit;
	font-size: 0.92rem;
	background: var(--gyb-white);
}

.gyb-404__kod {
	font-family: var(--gyb-font-heading);
	font-size: clamp(3rem, 9vw, 6rem);
	font-weight: 700;
	line-height: 1;
	color: var(--gyb-apro);
	margin-bottom: 0.5rem;
}

.gyb-404__text { max-width: 42ch; margin-bottom: 2rem; color: var(--gyb-muted); }

.gyb-ures { color: var(--gyb-muted); margin-bottom: 2rem; }

/* =========================================================
   6) Lábléc
   ========================================================= */

.gyb-footer {
	padding-block: clamp(2.75rem, 5vw, 4.5rem) clamp(1.5rem, 2.5vw, 2rem);
	background: var(--gyb-white);
	border-top: 1px solid var(--gyb-line);
}

.gyb-footer__top { padding-bottom: clamp(2rem, 4vw, 3rem); }

.gyb-footer__claim {
	margin-top: 1.1rem;
	font-family: var(--gyb-font-heading);
	font-size: 1rem;
	font-weight: 500;
	color: var(--gyb-muted);
}

.gyb-footer__title {
	margin: 0 0 1rem;
	font-family: var(--gyb-font-body);
	font-size: 0.74rem;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--gyb-muted);
}

.gyb-footer__list,
.gyb-footer__social {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.92rem;
}

.gyb-footer__list li { margin-bottom: 0.55rem; }
.gyb-footer__list a { text-decoration: none; }

.gyb-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 1.25rem;
	font-size: 0.8rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-weight: 600;
}

.gyb-footer__bottom {
	padding-top: clamp(1.25rem, 2.5vw, 1.75rem);
	border-top: 1px solid var(--gyb-line);
	font-size: 0.82rem;
	color: var(--gyb-muted);
}

/* =========================================================
   7) Reszponzív finomhangolás
   ========================================================= */

/* A hero és a záró blokk képe a jobb képernyőszélig fut ki. */
@media (min-width: 992px) {
	.gyb-hero__media,
	.gyb-kozosseg__media {
		margin-inline-end: calc(-1 * (50vw - 50% + var(--bs-gutter-x, 1.5rem) * 0.5));
	}
}

@media (max-width: 1199.98px) {
	.gyb-ertekek {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		row-gap: clamp(1.75rem, 3vw, 2.5rem);
	}
	.gyb-ertek:nth-child(3n + 1) { border-left: 0; }
}

@media (max-width: 991.98px) {
	.gyb-header__dekor { display: none; }

	.gyb-navbar__collapse {
		flex-basis: 100%;
		margin-top: 1.25rem;
	}

	.gyb-menu {
		align-items: flex-start;
		gap: 0.25rem;
		padding-block: 0.75rem;
		border-top: 1px solid var(--gyb-line);
	}

	.gyb-menu .nav-link { font-size: 0.9rem; padding-block: 0.6rem; }

	.gyb-hero__text { padding-block: clamp(2rem, 6vw, 3rem) clamp(2rem, 5vw, 3rem); }
	.gyb-hero__title { max-width: none; }
	.gyb-hero__lead { max-width: 52ch; }
	.gyb-hero__figure { min-height: clamp(16rem, 55vw, 26rem); }
	/* Egyhasábos elrendezésben nincs hasábhatár, amihez igazodni lehetne. */
	.gyb-hero__dekor-2 { left: auto; right: 12%; transform: none; }

	.gyb-kozosseg__title { max-width: none; }
	.gyb-kozosseg__text { padding-inline-end: 0; }
	.gyb-kozosseg__figure { min-height: clamp(14rem, 50vw, 22rem); }

	/* Programjaink: két hasáb, nyilak nélkül. */
	.gyb-valaszto { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gyb-valaszto__nyil { display: none; }
	.gyb-panel--zaro { grid-template-columns: minmax(0, 1fr); }

	/* Hírek */
	.gyb-kiemelt { grid-template-columns: minmax(0, 1fr); }

	/* Kapcsolat */
	.gyb-info-racs { grid-template-columns: minmax(0, 1fr); }

	/* Jelentkezés */
	.gyb-jelentkezes { grid-template-columns: minmax(0, 1fr); }
	.gyb-info-sav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gyb-helyszinek { grid-template-columns: minmax(0, 1fr); }
	.gyb-kozosseg-gyik { grid-template-columns: minmax(0, 1fr); }
	.gyb-kozosseg-gyik__resz + .gyb-kozosseg-gyik__resz {
		padding-inline-start: 0;
		padding-top: clamp(1.5rem, 3vw, 2rem);
		border-inline-start: 0;
		border-top: 1px solid var(--gyb-line);
	}
	.gyb-idezet__figure { min-height: clamp(12rem, 40vw, 18rem); }
	.gyb-hirlevel { grid-template-columns: auto minmax(0, 1fr); }
	.gyb-hirlevel__urlap { grid-column: 1 / -1; }
	.gyb-cta-csempek { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 767.98px) {
	.gyb-ertekek {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.gyb-ertek { border-left: 0; }
	.gyb-ertek:nth-child(2n + 1) { border-left: 0; }

	.gyb-cta-card {
		grid-template-columns: minmax(0, 1fr);
	}

	/* Egyhasábos elrendezésben a fotó nem fut ki oldalra, tehát körben lekerekített. */
	.gyb-cta-card__media {
		order: -1;
		margin-inline-end: 0;
		border-radius: var(--gyb-radius);
	}

	.gyb-cta-card__media img { min-height: 12rem; }

	.gyb-hero__dekor-1,
	.gyb-kozosseg__dekor-1 { display: none; }
}

@media (max-width: 575.98px) {
	.gyb-ertekek { grid-template-columns: minmax(0, 1fr); }
	.gyb-kozosseg__gombok .gyb-btn { width: 100%; }

	.gyb-valaszto { grid-template-columns: minmax(0, 1fr); }
	.gyb-zaro__csempek { grid-template-columns: minmax(0, 1fr); }

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

	.gyb-info__blokkok { grid-template-columns: minmax(0, 1fr); }
	.gyb-info__blokk:nth-child(2n),
	.gyb-info__blokk:nth-child(n + 3) {
		padding-inline-start: 0;
		padding-top: 1.25rem;
		border-inline-start: 0;
		border-top: 1px solid var(--kat-szin);
	}

	.gyb-info__blokk:first-child {
		padding-top: 0;
		border-top: 0;
	}
	.gyb-helyszin { grid-template-columns: minmax(0, 1fr); }
	.gyb-info-sav { grid-template-columns: minmax(0, 1fr); }
	.gyb-hirlevel__media { width: 100%; aspect-ratio: 16 / 9; }
	.gyb-nagy-csempe { grid-template-columns: minmax(0, 1fr); }
}
