/*
 * Témaszintű elemek: fejléc (Figma: Navbar Desktop), lábléc.
 * Globálisan töltődik; nem része a child theme-be átvihető Apollo csomagnak.
 */

/* ==========================================================================
   Fejléc
   ========================================================================== */

.apollo-header {
	position: relative;
	z-index: 100;
	background: var(--apollo-color-bg);
	color: var(--apollo-color-text);
	font-family: var(--apollo-font-family);
}

/* Fekete, tömör (Figma: Kapcsolat oldal Navbar – a komponens leírása szerint a Solid fehér; TEENDOK) */
.apollo-header--inverse {
	background: var(--apollo-color-bg-inverse);
	color: var(--apollo-color-text-inverse);
}

/* Átlátszó, a hero fölött (Figma: Navbar – Transparent) */
.apollo-header--overlay {
	position: absolute;
	top: var(--wp-admin--admin-bar--height, 0px);
	inset-inline: 0;
	background: transparent;
	color: var(--apollo-color-text-inverse);
}

.apollo-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--apollo-space-24);
	min-height: var(--apollo-header-height);
	padding-block: var(--apollo-space-24);
}

/* Logó
   ========================================================================== */

.apollo-header__brand,
.apollo-footer__brand {
	display: inline-flex;
	flex-shrink: 0;
	color: inherit;
	font-size: var(--apollo-type-nav-size);
	letter-spacing: var(--apollo-tracking-nav);
	text-decoration: none;
	text-transform: uppercase;
}

/* Egyszínű SVG maszkként, hogy a fejléc/lábléc szövegszínét kövesse */
.apollo-logo {
	display: block;
	width: 9.875rem;
	height: 2.75rem;
	background: currentColor;
	-webkit-mask: var(--apollo-logo) no-repeat center / contain;
	mask: var(--apollo-logo) no-repeat center / contain;
}

.apollo-header .custom-logo,
.apollo-footer .custom-logo {
	display: block;
	width: auto;
	max-height: 2.75rem;
}

/* Menü
   ========================================================================== */

.apollo-header__menu {
	display: flex;
	gap: var(--apollo-space-40);
	margin: 0;
	padding: 0;
	list-style: none;
}

.apollo-header__link {
	position: relative;
	display: inline-block;
	padding: var(--apollo-space-4);
	color: inherit;
	font-size: var(--apollo-type-nav-size);
	line-height: var(--apollo-type-nav-line);
	letter-spacing: var(--apollo-tracking-nav);
	text-decoration: none;
	text-transform: uppercase;
}

/* Hover / aktív: aláhúzás (Figma: Nav Link) */
.apollo-header__link::after,
.apollo-footer__link::after,
.apollo-footer__legal-link::after {
	content: "";
	position: absolute;
	inset-inline: var(--apollo-space-4);
	bottom: 0;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--apollo-transition);
}

.apollo-header__link:hover::after,
.apollo-header__link:focus-visible::after,
.apollo-header__link[aria-current="page"]::after,
.apollo-header__link[aria-current="true"]::after, /* eseményoldalon az Események menüpont */
.apollo-footer__link:hover::after,
.apollo-footer__link:focus-visible::after,
.apollo-footer__link[aria-current="page"]::after,
.apollo-footer__legal-link:hover::after,
.apollo-footer__legal-link:focus-visible::after {
	transform: scaleX(1);
}

.apollo-header__link:focus-visible,
.apollo-footer__link:focus-visible,
.apollo-footer__legal-link:focus-visible,
.apollo-footer__text:focus-visible {
	outline: 1px solid currentColor;
	outline-offset: 2px;
}

/* Fókuszkeret a logón és a menü kapcsolón (a többi link/gomb saját :focus-visible-t kap) */
.apollo-header__brand:focus-visible,
.apollo-footer__brand:focus-visible,
.custom-logo-link:focus-visible,
.apollo-header__toggle:focus-visible {
	outline: 1px solid currentColor;
	outline-offset: 4px;
}

/* Fekete fejlécen (és a nyitott mobil menüben) a gomb hovere fehér kitöltés – a fekete beleolvadna */
.apollo-header--inverse,
.apollo-header.is-open {
	--apollo-button-hover-bg: var(--apollo-color-bg);
	--apollo-button-hover-text: var(--apollo-color-text);
}

/* Mobil menü kapcsoló
   ========================================================================== */

.apollo-header__toggle {
	position: relative;
	display: none;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	cursor: pointer;
}

.apollo-header__toggle-bar,
.apollo-header__toggle-bar::before,
.apollo-header__toggle-bar::after {
	position: absolute;
	left: 50%;
	width: 1.75rem;
	height: 1px;
	margin-left: -0.875rem;
	background: currentColor;
	transition: transform var(--apollo-transition), opacity var(--apollo-transition);
}

.apollo-header__toggle-bar {
	top: 50%;
}

.apollo-header__toggle-bar::before,
.apollo-header__toggle-bar::after {
	content: "";
	left: 0;
	margin-left: 0;
}

.apollo-header__toggle-bar::before {
	top: -0.5rem;
}

.apollo-header__toggle-bar::after {
	top: 0.5rem;
}

.apollo-header.is-open .apollo-header__toggle-bar {
	background: transparent;
}

.apollo-header.is-open .apollo-header__toggle-bar::before {
	transform: translateY(0.5rem) rotate(45deg);
}

.apollo-header.is-open .apollo-header__toggle-bar::after {
	transform: translateY(-0.5rem) rotate(-45deg);
}

/* Desktop: a panel "eltűnik", a menü és a gomb közvetlenül a sor elemei – 80rem-től (1280 px).
   5 menüponttal a mért szélesség (Draft B, új logó, 2026-11-10): logó 158 + menü 757 (a menüközökkel) + gomb 211.
   A tartalom 92 px-es margójával 1280 px-en nem fér el, ezért csak a fejlécben:
   - oldalmargó 1280 px-en 32 px, 1440 px-ig 60 px-re nő (a designer 5 menüpontos fejlécének margója);
     1440 px fölött is 60 px (a fejléc 1440 px széles, a logó 32 px-lel a tartalom bal széle előtt – mint a Figmában);
   - menüköz 16 → 28 px (a link 4-4 px-es belső margójával szemre 24 → 36 px);
   - menüpontok betűköze 1440 px alatt 0,02 em (a token 0,04 em).
   Tartalék: 1280 px-en 42 px (a logó–menü és menü–gomb köz 45 px), 1440 px-en 80 px – mérés: CLAUDE.md, Build / élesítés.
   Ugyanez a töréspont a site.js-ben. */
@media (min-width: 80rem) {
	.apollo-header__inner {
		max-width: calc(var(--apollo-container) + 2 * 5.75rem); /* 1440px, mint a tartalomé max. margóval */
		padding-inline: clamp(2rem, 17.5vw - 12rem, 3.75rem); /* 32 → 60px */
	}

	.apollo-header__menu {
		gap: clamp(1rem, 7.5vw - 5rem, 1.75rem); /* 16 → 28px */
	}

	.apollo-header__panel {
		display: contents;
	}
}

@media (min-width: 80rem) and (max-width: 89.999rem) {
	.apollo-header__link {
		letter-spacing: 0.02em;
	}
}

/* Mobil / tablet: lenyíló panel */
@media (max-width: 79.999rem) {
	.apollo-header__inner {
		min-height: 5rem;
	}

	.apollo-header__toggle {
		display: block;
	}

	.apollo-header__panel {
		position: absolute;
		top: 100%;
		inset-inline: 0;
		display: none;
		flex-direction: column;
		align-items: flex-start;
		gap: var(--apollo-space-32);
		padding: var(--apollo-space-24) var(--apollo-gutter) var(--apollo-space-40);
		background: var(--apollo-color-bg-inverse);
		color: var(--apollo-color-text-inverse);
	}

	.apollo-header.is-open .apollo-header__panel {
		display: flex;
	}

	.apollo-header.is-open {
		background: var(--apollo-color-bg-inverse);
		color: var(--apollo-color-text-inverse);
	}

	.apollo-header__menu {
		flex-direction: column;
		gap: var(--apollo-space-16);
	}
}

@media (prefers-reduced-motion: reduce) {
	.apollo-header__link::after,
	.apollo-footer__link::after,
	.apollo-footer__legal-link::after,
	.apollo-header__toggle-bar,
	.apollo-header__toggle-bar::before,
	.apollo-header__toggle-bar::after {
		transition: none;
	}
}

/* ==========================================================================
   Lábléc (Figma: Footer)
   ========================================================================== */

.apollo-footer {
	padding-block: clamp(3rem, 5.56vw, 5rem) clamp(2rem, 3.33vw, 3rem); /* 80 / 48px desktop */
	background: var(--apollo-color-bg-accent);
	color: var(--apollo-color-text-inverse);
	font-family: var(--apollo-font-family);
}

.apollo-footer__inner {
	display: flex;
	flex-direction: column;
	gap: clamp(2.5rem, 4.44vw, 4rem); /* 64px desktop */
}

.apollo-footer__top,
.apollo-footer__bottom {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--apollo-space-40) var(--apollo-space-24);
	align-items: start;
}

.apollo-footer__brand {
	grid-column: 1 / -1;
}

/* Elválasztó vonal a két sor között, ugyanakkora közzel mint a sorok között */
.apollo-footer__bottom {
	grid-template-columns: minmax(0, 1fr);
	gap: var(--apollo-space-32);
	padding-top: clamp(2.5rem, 4.44vw, 4rem);
	border-top: 1px solid var(--apollo-color-border-inverse);
}

.apollo-footer__menu,
.apollo-footer__social {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--apollo-space-12);
	margin: 0;
	padding: 0;
	list-style: none;
}

.apollo-footer__link {
	position: relative;
	display: inline-block;
	padding: var(--apollo-space-4);
	color: inherit;
	font-size: var(--apollo-type-nav-size);
	line-height: var(--apollo-type-nav-line);
	letter-spacing: var(--apollo-tracking-nav);
	text-decoration: none;
	text-transform: uppercase;
}

.apollo-footer__col {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--apollo-space-4);
}

.apollo-footer__label,
.apollo-footer__text {
	margin: 0;
	color: inherit;
	font-size: var(--apollo-type-small-size);
	font-style: normal;
	line-height: var(--apollo-type-small-line);
	text-decoration: none;
}

.apollo-footer__label {
	letter-spacing: var(--apollo-tracking-label);
	text-transform: uppercase;
}

.apollo-footer__legal-link {
	position: relative;
}

a.apollo-footer__text:hover {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.apollo-footer__copyright {
	margin: 0;
	font-size: var(--apollo-type-caption-size);
	line-height: var(--apollo-type-caption-line);
}

/* 480px fölött a menü és a közösségi linkek egymás mellett (alatta egymás alatt, hogy ne csússzanak össze) */
@media (min-width: 30rem) {
	.apollo-footer__top {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Tablet: alsó sor 2 oszlop (a jogi oszlop a teljes szélességet kapja) */
@media (min-width: 40rem) {
	.apollo-footer__bottom {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.apollo-footer__bottom > :last-child:nth-child(3) {
		grid-column: 1 / -1;
	}
}

/* Desktop: mindkét sor 3 elem, egymástól egyenlő távolságra (Figma: space-between) */
@media (min-width: 64rem) {
	.apollo-footer__top,
	.apollo-footer__bottom {
		grid-template-columns: repeat(3, auto);
		justify-content: space-between;
		column-gap: var(--apollo-space-48);
	}

	.apollo-footer__brand {
		grid-column: auto;
	}

	.apollo-footer__bottom > :last-child:nth-child(3) {
		grid-column: auto;
	}
}

.apollo-footer__legal-link::after {
	inset-inline: 0;
}

/* ==========================================================================
   Szöveges oldal (page.php) és 404 (404.php) – nincs design: a page_title layout és a tokenek alapján
   ========================================================================== */

.apollo-text-page {
	padding-bottom: var(--apollo-section-y);
	background: var(--apollo-color-bg);
	color: var(--apollo-color-text);
	font-family: var(--apollo-font-family);
	font-weight: var(--apollo-font-weight-regular);
}

/* Oldalcím: mint a Kapcsolat oldal page_title-je (H1 60 px, nagybetűs), díszítés nélkül */
.apollo-text-page__header {
	padding-block: clamp(3rem, 11.11vw, 10rem) clamp(2.5rem, 4.44vw, 4rem); /* 160 / 64 px desktop */
}

.apollo-text-page__title {
	max-width: 43.875rem; /* 702px */
	margin: 0;
	font-size: var(--apollo-type-h1-size);
	font-weight: var(--apollo-font-weight-light);
	line-height: var(--apollo-type-h1-line);
	text-transform: uppercase;
	overflow-wrap: break-word;
	hyphens: auto;
	hyphenate-limit-chars: 10 5 5;
	text-wrap: balance;
}

/* Olvasható szöveg (Gutenberg-tartalom): legfeljebb kb. 720 px, Body 18 px, tágabb sorköz.
   Címsorok a tokenekből: h2 = H3 (34), h3 = H4 (22, nagybetűs), h4 = Body Large. */
.apollo-prose {
	max-width: 45rem; /* 720px */
	font-size: var(--apollo-type-body-size);
	line-height: 1.6;
}

.apollo-prose > * {
	margin-block: 0 var(--apollo-space-24);
}

.apollo-prose > :last-child {
	margin-bottom: 0;
}

.apollo-prose h2 {
	margin: var(--apollo-space-64) 0 var(--apollo-space-24);
	font-size: var(--apollo-type-h3-size);
	font-weight: var(--apollo-font-weight-light);
	line-height: var(--apollo-type-h3-line);
	text-transform: uppercase;
}

.apollo-prose h3 {
	margin: var(--apollo-space-48) 0 var(--apollo-space-16);
	font-size: var(--apollo-type-h4-size);
	font-weight: var(--apollo-font-weight-light);
	line-height: var(--apollo-type-h4-line);
	text-transform: uppercase;
}

.apollo-prose h4 {
	margin: var(--apollo-space-32) 0 var(--apollo-space-12);
	font-size: var(--apollo-type-body-l-size);
	font-weight: var(--apollo-font-weight-regular);
	line-height: var(--apollo-type-body-l-line);
}

.apollo-prose > :first-child {
	margin-top: 0;
}

.apollo-prose a {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.apollo-prose a:hover {
	text-decoration-thickness: 2px;
}

.apollo-prose a:focus-visible {
	outline: 1px solid currentColor;
	outline-offset: 2px;
}

.apollo-prose ul,
.apollo-prose ol {
	padding-left: 1.5em;
}

.apollo-prose li + li {
	margin-top: var(--apollo-space-8);
}

.apollo-prose li > ul,
.apollo-prose li > ol {
	margin-top: var(--apollo-space-8);
}

/* Felsorolás: kis négyzetes, bézs jelölő (a design szögletes elemeihez) */
.apollo-prose ul > li::marker {
	content: "■  ";
	color: var(--apollo-color-bg-accent);
	font-size: 0.75em;
}

.apollo-prose ol > li::marker {
	font-variant-numeric: tabular-nums;
}

/* Idézet: bézs függőleges vonal, Body Large light (a Gutenberg „wp-block-quote” stílusát is felülírja) */
.apollo-prose blockquote,
.apollo-prose .wp-block-quote {
	margin-inline: 0;
	padding: 0 0 0 var(--apollo-space-24);
	border-left: 2px solid var(--apollo-color-bg-accent);
	font-size: var(--apollo-type-body-l-size);
	font-weight: var(--apollo-font-weight-light);
	line-height: var(--apollo-type-body-l-line);
}

.apollo-prose blockquote > * {
	margin: 0;
}

.apollo-prose blockquote > * + * {
	margin-top: var(--apollo-space-12);
}

.apollo-prose blockquote cite {
	display: block;
	color: var(--apollo-color-text-muted);
	font-size: var(--apollo-type-caption-size);
	font-style: normal;
	letter-spacing: var(--apollo-tracking-label);
	text-transform: uppercase;
}

/* Táblázat: vonalak a sorok között, nagybetűs fejléc; keskeny képernyőn vízszintesen görgethető */
.apollo-prose .wp-block-table,
.apollo-prose figure:has(> table) {
	margin-inline: 0;
	overflow-x: auto;
}

.apollo-prose table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--apollo-type-small-size);
	line-height: var(--apollo-type-small-line);
}

.apollo-prose th,
.apollo-prose td {
	padding: var(--apollo-space-12) var(--apollo-space-16) var(--apollo-space-12) 0;
	border: 0;
	border-bottom: 1px solid var(--apollo-color-border-muted);
	text-align: left;
	vertical-align: top;
}

.apollo-prose thead th,
.apollo-prose thead td {
	border-bottom-color: var(--apollo-color-border);
	color: var(--apollo-color-text-muted);
	font-weight: var(--apollo-font-weight-regular);
	letter-spacing: var(--apollo-tracking-label);
	text-transform: uppercase;
}

.apollo-prose figcaption,
.apollo-prose .wp-element-caption {
	margin-top: var(--apollo-space-8);
	color: var(--apollo-color-text-muted);
	font-size: var(--apollo-type-caption-size);
	line-height: var(--apollo-type-caption-line);
	text-align: left;
}

.apollo-prose figure {
	margin-inline: 0;
}

.apollo-prose img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* Elválasztó: vékony fekete vonal (a szekciócímek vonala), a Gutenberg alapstílusa helyett */
.apollo-prose hr,
.apollo-prose .wp-block-separator {
	margin-block: var(--apollo-space-48);
	border: 0;
	border-top: 1px solid var(--apollo-color-border);
	opacity: 1;
}

/* 404 */
.apollo-not-found__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--apollo-space-32);
	max-width: 45rem;
}

.apollo-not-found__text {
	margin: 0;
	color: var(--apollo-color-text-muted);
	font-size: var(--apollo-type-body-l-size);
	font-weight: var(--apollo-font-weight-light);
	line-height: var(--apollo-type-body-l-line);
}

.apollo-not-found__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--apollo-space-16);
}

/* ==========================================================================
   Süti-sáv (Complianz, ingyenes) – a téma designjához igazítva
   Az ingyenes Complianzban az egyedi CSS tiltott, ezért itt. A Complianz a saját színeit / méreteit
   --cmplz_* változókból veszi (:root-on, uploads/complianz/css/banner-*.css) – ezeket a sávon felülírjuk
   a tokenekből, a többit (betű, nagybetűs gomb, szögletes kapcsoló) az #id-s előtag nyeri.
   Gombok: Elfogadom = kitöltött fekete; a többi körvonalas; hover: fordított (mint az .apollo-button).
   ========================================================================== */

#cmplz-cookiebanner-container .cmplz-cookiebanner,
#cmplz-manage-consent,
.cmplz-manage-consent-container {
	--cmplz_banner_width: 35rem;
	--cmplz_banner_background_color: var(--apollo-color-bg);
	--cmplz_banner_border_color: var(--apollo-color-border);
	--cmplz_banner_border_width: 1px;
	--cmplz_banner_border_radius: var(--apollo-radius);
	--cmplz_banner_margin: var(--apollo-space-12);
	--cmplz_text_color: var(--apollo-color-text);
	--cmplz_hyperlink_color: var(--apollo-color-text);
	--cmplz_text_font_size: var(--apollo-type-small-size);
	--cmplz_text_line_height: var(--apollo-type-small-line);
	--cmplz_title_font_size: var(--apollo-type-h4-size);
	--cmplz_link_font_size: var(--apollo-type-caption-size);
	--cmplz_category_body_font_size: var(--apollo-type-caption-size);
	--cmplz_category_header_title_font_size: var(--apollo-type-caption-size);
	--cmplz_category_header_active_font_size: var(--apollo-type-caption-size);
	--cmplz_category_header_always_active_color: var(--apollo-color-text-muted);
	--cmplz_button_font_size: var(--apollo-type-caption-size);
	--cmplz_button_border_radius: var(--apollo-radius);
	--cmplz_button_accept_background_color: var(--apollo-color-bg-inverse);
	--cmplz_button_accept_border_color: var(--apollo-color-bg-inverse);
	--cmplz_button_accept_text_color: var(--apollo-color-text-inverse);
	--cmplz_button_deny_background_color: transparent;
	--cmplz_button_deny_border_color: var(--apollo-color-border);
	--cmplz_button_deny_text_color: var(--apollo-color-text);
	--cmplz_button_settings_background_color: transparent;
	--cmplz_button_settings_border_color: var(--apollo-color-border);
	--cmplz_button_settings_text_color: var(--apollo-color-text);
	--cmplz_slider_active_color: var(--apollo-color-bg-inverse);
	--cmplz_slider_inactive_color: var(--apollo-color-text-muted);
	--cmplz_slider_bullet_color: var(--apollo-color-bg);
	font-family: var(--apollo-font-family);
}

#cmplz-cookiebanner-container .cmplz-cookiebanner {
	padding: var(--apollo-space-32);
	box-shadow: none;
	grid-gap: var(--apollo-space-16);
}

#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show:hover {
	box-shadow: none;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-divider {
	display: none;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner *,
#cmplz-manage-consent .cmplz-manage-consent {
	font-family: var(--apollo-font-family);
}

/* Fejléc: cím balra (H4, nagybetűs), ✕ jobbra; a (nem használt) logó helye nélkül */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header {
	grid-template-columns: 1fr auto;
	gap: var(--apollo-space-16);
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-logo {
	display: none;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title {
	grid-column-start: 1;
	justify-self: start;
	font-weight: var(--apollo-font-weight-regular);
	line-height: var(--apollo-type-h4-line);
	text-transform: uppercase;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close {
	grid-column-start: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	margin: calc(-1 * var(--apollo-space-12));
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close svg {
	width: 1rem;
	height: 1rem;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close:focus-visible {
	outline: 1px solid currentColor;
	outline-offset: -4px;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message {
	margin-bottom: 0;
	font-weight: var(--apollo-font-weight-regular);
}

/* Kategóriák: vonalakkal elválasztott sorok (nincs szürke doboz), nagybetűs címke */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category {
	border-top: 1px solid var(--apollo-color-border-subtle);
	background: transparent;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category:last-child {
	border-bottom: 1px solid var(--apollo-color-border-subtle);
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category:not(:last-child) {
	margin-bottom: 0;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header {
	padding: var(--apollo-space-12) 0;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category .cmplz-category-title,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category .cmplz-always-active {
	font-weight: var(--apollo-font-weight-regular);
	letter-spacing: var(--apollo-tracking-label);
	text-transform: uppercase;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description {
	padding: 0 0 var(--apollo-space-12);
	color: var(--apollo-color-text-muted);
	line-height: var(--apollo-type-caption-line);
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category-toggle {
	color: var(--apollo-color-text);
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category-toggle svg {
	fill: currentColor;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category-toggle:focus-visible {
	outline: 1px solid currentColor;
	outline-offset: 3px;
}

/* Kapcsoló: szögletes, fekete bekapcsolva; fókusz: fekete keret (a Complianz kékje helyett) */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label {
	padding-left: 2.5rem;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label::before,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label::after {
	border-radius: var(--apollo-radius);
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label::before {
	top: -0.6875rem;
	width: 2.5rem;
	height: 1.375rem;
	padding: 0;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label::after {
	top: -0.5rem;
	left: 0.1875rem;
	width: 1rem;
	height: 1rem;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:checked + .cmplz-label::after {
	left: 1.3125rem;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox {
	top: -0.6875rem;
	width: 2.5rem;
	height: 1.375rem;
	margin: 0;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:focus-visible + .cmplz-label::before {
	box-shadow: 0 0 0 2px var(--apollo-color-bg), 0 0 0 3px var(--apollo-color-border);
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:focus:not(:focus-visible) + .cmplz-label::before {
	box-shadow: none;
}

/* Gombok: a téma gombstílusa (nagybetű, ritkítás, szögletes) */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons {
	gap: var(--apollo-space-12);
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
	flex: 1 1 0;
	min-height: 3rem;
	padding: var(--apollo-space-12) var(--apollo-space-16);
	font-weight: var(--apollo-font-weight-regular);
	line-height: var(--apollo-type-button-line);
	letter-spacing: var(--apollo-tracking-button);
	text-transform: uppercase;
	white-space: normal;
	transition: background-color var(--apollo-transition), color var(--apollo-transition), border-color var(--apollo-transition);
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:hover,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:focus-visible {
	border-color: var(--apollo-color-bg-inverse);
	background-color: var(--apollo-color-bg-inverse);
	color: var(--apollo-color-text-inverse);
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept:hover,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept:focus-visible {
	background-color: var(--apollo-color-bg);
	color: var(--apollo-color-text);
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:focus-visible {
	outline: 1px solid var(--apollo-color-border);
	outline-offset: 3px;
}

/* Linkek (Süti tájékoztató, Adatkezelési tájékoztató): fekete, aláhúzva */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links .cmplz-link {
	text-underline-offset: 0.2em;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links .cmplz-link:hover {
	text-decoration-thickness: 2px;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links ul {
	flex-wrap: wrap;
	gap: var(--apollo-space-8) var(--apollo-space-16);
}

/* Telefonon / tableten (Complianz: 768px alatt teljes szélesség alul, gombok egymás alatt) */
@media (max-width: 768px) {
	#cmplz-cookiebanner-container .cmplz-cookiebanner {
		padding: var(--apollo-space-24) var(--apollo-space-16);
		border-width: 1px 0 0;
	}

	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
		flex: 0 0 auto;
	}
}

/* „Hozzájárulás kezelése” fül (desktopon jobb alul, a sáv bezárása után) */
#cmplz-manage-consent .cmplz-manage-consent {
	box-shadow: none;
	border-bottom-width: 0;
	font-size: var(--apollo-type-caption-size);
	letter-spacing: var(--apollo-tracking-label);
	text-transform: uppercase;
}

#cmplz-manage-consent .cmplz-manage-consent:focus-visible {
	outline: 1px solid currentColor;
	outline-offset: -4px;
}

@media (prefers-reduced-motion: reduce) {
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories.cmplz-fade-in,
	#cmplz-manage-consent .cmplz-manage-consent {
		animation: none;
	}

	#cmplz-manage-consent .cmplz-manage-consent {
		bottom: 0;
	}

	#cmplz-cookiebanner-container .cmplz-cookiebanner *,
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-label::before,
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-label::after {
		transition: none;
	}
}

/* „Süti-beállítások módosítása” gomb a Süti tájékoztatóban (button.cmplz-manage-consent: a Complianz JS-e
   megnyitja a sávot). Csak ha a Complianz fut (a body-n mindig ott a cmplz-<régió> osztály) – nélküle nem működne. */
.apollo-cookie-settings {
	display: none;
}

body[class*="cmplz-"] .apollo-cookie-settings {
	display: inline-flex;
}

/* Desktopon a sáv a képernyő szélétől 16 px-re (Complianz: 10 px) */
@media (min-width: 769px) {
	#cmplz-cookiebanner-container .cmplz-cookiebanner {
		right: var(--apollo-space-16);
		bottom: var(--apollo-space-16);
		max-height: calc(100vh - 2 * var(--apollo-space-16));
	}
}
