/**
 * WP Accessibility Toolkit – Toolbar stílusok
 *
 * "Precision Accessibility" design — klinikai tisztaság, modern kivitelezés.
 * CSS Custom Properties alapú, BEM metodológiával.
 * Magas specificitású szelektorok a téma felülíráshoz.
 *
 * @package WP_Accessibility_Plugin
 */

/* =========================================================
   CSS Custom Properties (változók)
   ========================================================= */
:root {
	--wap-primary: #1a5fb4;
	--wap-primary-hover: #1248a0;
	--wap-primary-text: #ffffff;
	--wap-bg: #ffffff;
	--wap-text: #18181b;
	--wap-text-muted: #71717a;
	--wap-border: #e4e4e7;
	--wap-border-focus: #a1a1aa;
	--wap-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 12px 40px rgba(0, 0, 0, 0.14);
	--wap-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06), 0 4px 12px rgba(0, 0, 0, 0.08);
	--wap-radius: 18px;
	--wap-radius-sm: 10px;
	--wap-toggle-size: 56px;
	--wap-panel-width: 360px;
	--wap-z-index: 999999;
	--wap-transition: 0.18s cubic-bezier(0.4, 0, 0.2, 1);
	--wap-focus-outline: 3px solid #ffb700;
	--wap-font-family: inherit;
	--wap-offset: 24px;
}

/* =========================================================
   Skip Link
   ========================================================= */
.wap-skip-link {
	position: absolute !important;
	top: -100px !important;
	left: 8px !important;
	z-index: calc(var(--wap-z-index) + 1) !important;
	padding: 12px 24px !important;
	background: var(--wap-primary) !important;
	color: var(--wap-primary-text) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	border-radius: 0 0 10px 10px !important;
	transition: top var(--wap-transition) !important;
	letter-spacing: 0.01em !important;
}

.wap-skip-link:focus {
	top: 0 !important;
	outline: var(--wap-focus-outline) !important;
	outline-offset: 3px !important;
}

/* =========================================================
   Toolbar konténer
   ========================================================= */
#wap-toolbar.wap-toolbar {
	position: fixed;
	z-index: var(--wap-z-index);
	font-family: var(--wap-font-family);
	font-size: 16px;
	line-height: 1.5;
}

/* Pozíció variánsok */
#wap-toolbar.wap-toolbar--bottom-right {
	bottom: var(--wap-offset);
	right: var(--wap-offset);
}

#wap-toolbar.wap-toolbar--bottom-left {
	bottom: var(--wap-offset);
	left: var(--wap-offset);
}

#wap-toolbar.wap-toolbar--top-right {
	top: var(--wap-offset);
	right: var(--wap-offset);
}

#wap-toolbar.wap-toolbar--top-left {
	top: var(--wap-offset);
	left: var(--wap-offset);
}

/* =========================================================
   Toggle gomb (FAB)
   ========================================================= */
#wap-toolbar .wap-toolbar__toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--wap-toggle-size);
	height: var(--wap-toggle-size);
	padding: 0;
	background: var(--wap-primary);
	color: var(--wap-primary-text);
	border: none;
	border-radius: 50%;
	cursor: pointer;
	/* Rétegzett árnyék + finom szín-gyűrű */
	box-shadow:
		0 2px 4px rgba(0, 0, 0, 0.12),
		0 6px 20px rgba(0, 0, 0, 0.18),
		0 0 0 3px rgba(255, 255, 255, 0.25);
	transition:
		background var(--wap-transition),
		transform var(--wap-transition),
		box-shadow var(--wap-transition);
	overflow: hidden;
	position: relative;
}

#wap-toolbar .wap-toolbar__toggle::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 35%, rgba(255, 255, 255, 0.18), transparent 70%);
	pointer-events: none;
}

#wap-toolbar .wap-toolbar__toggle:hover {
	background: var(--wap-primary-hover);
	transform: scale(1.08) translateY(-1px);
	/* Hoveren: kiszélesedő, halványuló primary gyűrű. Dupla deklaráció: fallback rgba régebbi böngészőkhöz. */
	box-shadow:
		0 4px 8px rgba(0, 0, 0, 0.15),
		0 12px 32px rgba(0, 0, 0, 0.22),
		0 0 0 6px rgba(26, 95, 180, 0.22);
	box-shadow:
		0 4px 8px rgba(0, 0, 0, 0.15),
		0 12px 32px rgba(0, 0, 0, 0.22),
		0 0 0 6px color-mix(in srgb, var(--wap-primary) 22%, transparent);
}

#wap-toolbar .wap-toolbar__toggle:focus-visible {
	outline: var(--wap-focus-outline);
	outline-offset: 4px;
}

#wap-toolbar .wap-toolbar__toggle svg {
	width: 26px;
	height: 26px;
	fill: currentColor;
	flex-shrink: 0;
	position: relative;
	z-index: 1;
}

#wap-toolbar .wap-toolbar__toggle-label {
	/* Rejtett label – screenreader-nek látható, vizuálisan nem */
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* =========================================================
   Panel
   ========================================================= */
#wap-toolbar .wap-toolbar__panel {
	position: absolute;
	bottom: calc(var(--wap-toggle-size) + 14px);
	right: 0;
	width: var(--wap-panel-width);
	max-height: calc(100dvh - var(--wap-toggle-size) - 48px);
	background: var(--wap-bg);
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: var(--wap-radius);
	box-shadow: var(--wap-shadow);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transform-origin: bottom right;
	animation: wap-panel-open 0.22s cubic-bezier(0.34, 1.36, 0.64, 1) forwards;
}

/* Top pozíciókhoz lefelé nyíló panel */
#wap-toolbar.wap-toolbar--top-right .wap-toolbar__panel,
#wap-toolbar.wap-toolbar--top-left .wap-toolbar__panel {
	bottom: auto;
	top: calc(var(--wap-toggle-size) + 14px);
	max-height: calc(100dvh - var(--wap-toggle-size) - 48px);
	transform-origin: top right;
	animation: wap-panel-open-top 0.22s cubic-bezier(0.34, 1.36, 0.64, 1) forwards;
}

#wap-toolbar.wap-toolbar--bottom-left .wap-toolbar__panel,
#wap-toolbar.wap-toolbar--top-left .wap-toolbar__panel {
	right: auto;
	left: 0;
	transform-origin: bottom left;
}

#wap-toolbar .wap-toolbar__panel[hidden] {
	display: none;
}

@keyframes wap-panel-open {
	from { opacity: 0; transform: scale(0.92) translateY(10px); }
	to   { opacity: 1; transform: scale(1) translateY(0); }
}

@keyframes wap-panel-open-top {
	from { opacity: 0; transform: scale(0.92) translateY(-10px); }
	to   { opacity: 1; transform: scale(1) translateY(0); }
}

/* Panel fejléc (nem görgethető) */
#wap-toolbar .wap-toolbar__panel-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 10px 14px;
	background: linear-gradient(135deg, var(--wap-primary) 0%, var(--wap-primary-hover) 100%);
	color: var(--wap-primary-text);
	border-radius: var(--wap-radius) var(--wap-radius) 0 0;
	flex-shrink: 0;
	position: relative;
	z-index: 10;
}

/* Finom textúra a fejlécen */
#wap-toolbar .wap-toolbar__panel-header::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 80% 0%, rgba(255, 255, 255, 0.12), transparent 60%);
	pointer-events: none;
}

#wap-toolbar .wap-toolbar__panel-header-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.28);
	color: var(--wap-primary-text);
	opacity: 0.9;
	flex-shrink: 0;
}

#wap-toolbar .wap-toolbar__panel-title {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-align: center;
	flex: 1;
	position: relative;
}

/* =========================================================
   Nyelvváltó (language switcher) – panel fejlécben
   ========================================================= */
#wap-toolbar .wap-lang-switcher {
	position: relative;
	flex-shrink: 0;
}

#wap-toolbar .wap-lang-switcher__btn {
	display: flex;
	align-items: center;
	gap: 3px;
	padding: 4px 8px;
	height: 26px;
	background: rgba(255, 255, 255, 0.92);
	color: var(--wap-primary);
	border: 1px solid rgba(255, 255, 255, 0.60);
	border-radius: 13px;
	cursor: pointer;
	font-family: inherit;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	transition: background var(--wap-transition), border-color var(--wap-transition);
	position: relative;
}

#wap-toolbar .wap-lang-switcher__btn:hover {
	background: #ffffff;
	border-color: rgba(255, 255, 255, 0.80);
}

#wap-toolbar .wap-lang-switcher__btn:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.8);
	outline-offset: 2px;
}

#wap-toolbar .wap-lang-switcher__dropdown {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	min-width: 110px;
	background: var(--wap-bg);
	border: 1px solid var(--wap-border);
	border-radius: var(--wap-radius-sm);
	box-shadow: var(--wap-shadow);
	list-style: none;
	margin: 0;
	padding: 4px;
	z-index: 100;
}

#wap-toolbar .wap-lang-switcher__dropdown [data-lang] {
	padding: 7px 10px;
	border-radius: 6px;
	cursor: pointer;
	font-size: 12.5px;
	font-weight: 500;
	color: var(--wap-text);
	transition: background var(--wap-transition);
}

#wap-toolbar .wap-lang-switcher__dropdown [data-lang]:hover {
	background: var(--wap-border);
}

#wap-toolbar .wap-lang-switcher__dropdown [aria-selected="true"] {
	background: var(--wap-primary);
	color: var(--wap-primary-text);
}

/* Panel fejléc close gomb */
#wap-toolbar .wap-toolbar__panel-close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	background: rgba(255, 255, 255, 0.12);
	color: var(--wap-primary-text);
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 6px;
	cursor: pointer;
	font-family: inherit;
	transition: background var(--wap-transition), border-color var(--wap-transition);
	position: relative;
	flex-shrink: 0;
}

#wap-toolbar .wap-toolbar__panel-close:hover {
	background: rgba(255, 255, 255, 0.24);
	border-color: rgba(255, 255, 255, 0.48);
}

#wap-toolbar .wap-toolbar__panel-close:focus-visible {
	outline: var(--wap-focus-outline);
	outline-offset: 2px;
}

#wap-toolbar .wap-toolbar__panel-close svg {
	width: 15px;
	height: 15px;
	flex-shrink: 0;
}

#wap-toolbar .wap-toolbar__panel-inner {
	flex: 1;
	min-height: 0;
	padding: 14px 14px 12px;
	overflow-y: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	scrollbar-color: var(--wap-border) transparent;
}

#wap-toolbar .wap-toolbar__panel-inner::-webkit-scrollbar {
	width: 4px;
}

#wap-toolbar .wap-toolbar__panel-inner::-webkit-scrollbar-track {
	background: transparent;
}

#wap-toolbar .wap-toolbar__panel-inner::-webkit-scrollbar-thumb {
	background-color: var(--wap-border);
	border-radius: 2px;
}

/* =========================================================
   Szekciók
   ========================================================= */
#wap-toolbar .wap-toolbar__section {
	margin-bottom: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--wap-border);
}

#wap-toolbar .wap-toolbar__section:last-child,
#wap-toolbar .wap-toolbar__section--reset {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

#wap-toolbar .wap-toolbar__section-title {
	display: flex;
	align-items: center;
	gap: 7px;
	margin-bottom: 7px;
	font-size: 10.5px;
	font-weight: 700;
	color: var(--wap-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

/* Bal oldali színes akcentus-sáv */
#wap-toolbar .wap-toolbar__section-title::before {
	content: '';
	display: inline-block;
	width: 3px;
	height: 11px;
	background: var(--wap-primary);
	border-radius: 2px;
	flex-shrink: 0;
	opacity: 0.7;
}

#wap-toolbar .wap-toolbar__controls {
	display: flex;
	width: 100%;
}

/* =========================================================
   Gombok – alap
   ========================================================= */
#wap-toolbar .wap-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 12px;
	background: #f4f4f5;
	color: var(--wap-text);
	border: 1.5px solid var(--wap-border);
	border-radius: var(--wap-radius-sm);
	font-size: 13.5px;
	font-weight: 500;
	font-family: inherit;
	cursor: pointer;
	transition:
		background var(--wap-transition),
		border-color var(--wap-transition),
		color var(--wap-transition),
		box-shadow var(--wap-transition),
		transform var(--wap-transition);
	text-align: center;
	white-space: nowrap;
}

#wap-toolbar .wap-btn:hover {
	background: #ececee;
	border-color: var(--wap-border-focus);
}

#wap-toolbar .wap-btn:focus-visible {
	outline: var(--wap-focus-outline);
	outline-offset: 2px;
}

/* Aktív/benyomott állapot */
#wap-toolbar .wap-btn[aria-pressed="true"] {
	background: var(--wap-primary);
	color: var(--wap-primary-text);
	border-color: var(--wap-primary);
	
}

/* Teljes szélességű gombok */
#wap-toolbar .wap-btn--full {
	width: 100%;
}

/* =========================================================
   Szegmentált vezérlők – Font méret & Kontraszt
   Összekapcsolt, pillás megjelenés (gap nélkül).
   ========================================================= */
#wap-toolbar .wap-toolbar__controls .wap-btn--font-size,
#wap-toolbar .wap-toolbar__controls .wap-btn--contrast {
	flex: 1;
	height: 40px;
	border-radius: 0;
	margin-right: -1.5px;
	position: relative;
	z-index: 1;
}

/* Első gomb – bal kerekítés */
#wap-toolbar .wap-toolbar__controls .wap-btn--font-size:first-child,
#wap-toolbar .wap-toolbar__controls .wap-btn--contrast:first-child {
	border-radius: var(--wap-radius-sm) 0 0 var(--wap-radius-sm);
}

/* Utolsó gomb – jobb kerekítés, nincs negatív margin */
#wap-toolbar .wap-toolbar__controls .wap-btn--font-size:last-child,
#wap-toolbar .wap-toolbar__controls .wap-btn--contrast:last-child {
	border-radius: 0 var(--wap-radius-sm) var(--wap-radius-sm) 0;
	margin-right: 0;
}

/* Aktívon emelt z-index, hogy a kerete ne legyen elnyomva */
#wap-toolbar .wap-toolbar__controls .wap-btn--font-size[aria-pressed="true"],
#wap-toolbar .wap-toolbar__controls .wap-btn--contrast[aria-pressed="true"] {
	z-index: 2;
}

/* Betűméret vizuális jelzők */
#wap-toolbar .wap-btn--font-size {
	font-weight: 700;
	letter-spacing: -0.02em;
}

#wap-toolbar .wap-btn--font-size:nth-child(2) {
	font-size: 13.5px;
}

#wap-toolbar .wap-btn--font-size:nth-child(3) {
	font-size: 15.5px;
}

/* =========================================================
   2-oszlopos grid – kártya toggle gombok
   ========================================================= */
#wap-toolbar .wap-toolbar__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 6px;
}

/* 2-oszlopos variáns – Szöveg szekció (4 gomb → 2×2) */
#wap-toolbar .wap-toolbar__grid--2col {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px;
}

/* Kártya gomb */
#wap-toolbar .wap-btn--card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	padding: 9px 10px 8px;
	min-height: 66px;
	gap: 6px;
	white-space: normal;
	text-align: center;
	line-height: 1.25;
	font-size: 14px;
	font-weight: 500;
	border-radius: var(--wap-radius-sm);
	background: #fafafa;
	border: 1.5px solid var(--wap-border);
	transition:
		background var(--wap-transition),
		border-color var(--wap-transition),
		color var(--wap-transition),
		box-shadow var(--wap-transition),
		transform var(--wap-transition);
}

#wap-toolbar .wap-btn--card:hover {
	background: #f4f4f5;
	border-color: var(--wap-border-focus);
	transform: translateY(-1px);
	box-shadow: var(--wap-shadow-sm);
}

/* Ikon tartó – kör alakú, halvány primary tinttel */
#wap-toolbar .wap-btn--card .wap-btn__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: rgba(26, 95, 180, 0.10); /* fallback color-mix() nélküli böngészőkhöz */
	background: color-mix(in srgb, var(--wap-primary) 10%, transparent);
	color: var(--wap-primary);
	transition:
		background var(--wap-transition),
		color var(--wap-transition);
	flex-shrink: 0;
}

#wap-toolbar .wap-btn--card .wap-btn__icon svg {
	width: 14px;
	height: 14px;
	stroke: currentColor;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
}

#wap-toolbar .wap-btn--card .wap-btn__label {
	display: block;
	color: var(--wap-text-muted);
	transition: color var(--wap-transition);
	overflow-wrap: break-word;
	hyphens: auto;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
}

/* Kártya aktív állapot — ikon kitölt, szöveg sötétül */
#wap-toolbar .wap-btn--card[aria-pressed="true"] {
	background: #f0f5fc; /* fallback: color-mix(primary 6%, white) közelítése */
	background: color-mix(in srgb, var(--wap-primary) 6%, #ffffff);
	border-color: rgba(26, 95, 180, 0.40);
	border-color: color-mix(in srgb, var(--wap-primary) 40%, transparent);
	box-shadow: 0 2px 10px rgba(26, 95, 180, 0.20);
	box-shadow: 0 2px 10px color-mix(in srgb, var(--wap-primary) 20%, transparent);
}

#wap-toolbar .wap-btn--card[aria-pressed="true"] .wap-btn__icon {
	background: var(--wap-primary);
	color: #ffffff;
}

#wap-toolbar .wap-btn--card[aria-pressed="true"] .wap-btn__label {
	color: var(--wap-primary);
	font-weight: 600;
}

/* =========================================================
   Reset gomb – primary szín (admin beállítástól függő)
   ========================================================= */
#wap-toolbar .wap-btn--reset {
	background: var(--wap-primary);
	color: var(--wap-primary-text);
	border-color: var(--wap-primary-hover);
	height: 40px;
	font-size: 12.5px;
	font-weight: 500;
	letter-spacing: 0.02em;
	gap: 6px;
	opacity: 0.85;
}

#wap-toolbar .wap-btn--reset:hover {
	background: var(--wap-primary-hover);
	border-color: var(--wap-primary-hover);
	opacity: 1;
}

/* =========================================================
   Accessibility módok – body/html class alapú
   ========================================================= */

/* --- Betűméret ---
 *
 * A class a <html> elemen van (JS: document.documentElement).
 * A gyökér font-size emelése arányosan skálázza az összes
 * rem/em-alapú méretet a témában, NEM szorozza önmagát minden
 * egymásba ágyazott elemnél (nincs compounding).
 *
 * A toolbar maga mindig fixált 16px-en marad (ld. lentebb).
 */
html.wap-font-size-large {
	font-size: 112.5% !important; /* 16px → 18px */
}

html.wap-font-size-large body {
	font-size: 112.5% !important; /* px-alapú témákhoz fallback */
}

html.wap-font-size-xl {
	font-size: 125% !important; /* 16px → 20px */
}

html.wap-font-size-xl body {
	font-size: 125% !important; /* px-alapú témákhoz fallback */
}

/* Toolbar izolálása: bármilyen betűméret-módnál
 * a toolbar 16px-en marad, belső elemein sem öröklődik. */
html.wap-font-size-large #wap-toolbar,
html.wap-font-size-xl #wap-toolbar {
	font-size: 16px !important;
}

/* --- Magas kontraszt mód --- */
body.wap-contrast-high {
	background-color: #000000 !important;
	color: #ffff00 !important;
}

/* Plain * selector (CSS3 compatible).
 * background-color: transparent — ne torlódjanak egymásra fekete dobozok
 * (cover block overlay-ek, abszolút rétegek, stb. elfednék a szöveget).
 * A body fekete háttere minden átlátszó elemen átüt. */
body.wap-contrast-high * {
	background-color: transparent !important;
	color: #ffff00 !important;
	border-color: #555555 !important;
}

body.wap-contrast-high a {
	color: #00ffff !important;
}

body.wap-contrast-high img {
	filter: grayscale(100%) contrast(200%);
}

/* Wildcard reset for ALL toolbar children.
 * Specificity (1,1,1) beats the global body.wap-contrast-high * rule (0,1,1).
 * Specific rules below (1,2,x) then override this wildcard for key components. */
body.wap-contrast-high #wap-toolbar * {
	background-color: transparent !important;
	color: inherit !important;
	border-color: transparent !important;
	filter: none !important;
}

/* Restore toolbar — #wap-toolbar ID (specificity 1,x,x) beats * (specificity 0,x,x)
 * when both use !important, higher specificity wins. */
body.wap-contrast-high #wap-toolbar .wap-toolbar__toggle {
	background-color: var(--wap-primary) !important;
	color: #ffffff !important;
	border-color: transparent !important;
}

body.wap-contrast-high #wap-toolbar .wap-toolbar__panel {
	background-color: #ffffff !important;
	color: #1a1a1a !important;
	border-color: #d0d0d0 !important;
}

body.wap-contrast-high #wap-toolbar .wap-toolbar__panel-header {
	background-color: var(--wap-primary) !important;
	color: #ffffff !important;
	border-color: transparent !important;
}

body.wap-contrast-high #wap-toolbar .wap-toolbar__panel-inner {
	background-color: #ffffff !important;
	color: #1a1a1a !important;
}

body.wap-contrast-high #wap-toolbar .wap-toolbar__section-title {
	color: #666666 !important;
}

body.wap-contrast-high #wap-toolbar .wap-toolbar__controls,
body.wap-contrast-high #wap-toolbar .wap-toolbar__grid,
body.wap-contrast-high #wap-toolbar .wap-toolbar__section {
	border-color: #d0d0d0 !important;
}

body.wap-contrast-high #wap-toolbar .wap-btn {
	background-color: #f5f5f5 !important;
	color: #1a1a1a !important;
	border-color: var(--wap-border) !important;
}

body.wap-contrast-high #wap-toolbar .wap-btn:hover {
	background-color: #e8e8e8 !important;
}

body.wap-contrast-high #wap-toolbar .wap-btn[aria-pressed="true"] {
	background-color: var(--wap-primary) !important;
	color: #ffffff !important;
	border-color: var(--wap-primary) !important;
}

body.wap-contrast-high #wap-toolbar .wap-btn--reset {
	background: var(--wap-primary) !important;
	color: var(--wap-primary-text) !important;
	border-color: var(--wap-primary-hover) !important;
	opacity: 0.9 !important;
}

body.wap-contrast-high #wap-toolbar .wap-toolbar__panel-close {
	color: #ffffff !important;
	border-color: rgba(255, 255, 255, 0.4) !important;
}

body.wap-contrast-high #wap-toolbar svg {
	filter: none !important;
}

/* Ikon körök visszaállítása – a wildcard reset nullázza ki a color-mix alapú hátterüket. */
body.wap-contrast-high #wap-toolbar .wap-btn--card .wap-btn__icon {
	background-color: rgba(26, 95, 180, 0.15) !important;
	color: var(--wap-primary) !important;
}

body.wap-contrast-high #wap-toolbar .wap-btn--card[aria-pressed="true"] .wap-btn__icon {
	background-color: var(--wap-primary) !important;
	color: #ffffff !important;
}

/* --- Fekete-fehér (grayscale) mód --- */
/* backdrop-filter overlay helyett body filter, hogy a position:fixed ne törjön el.
 * A body::before fixed pseudo-elem z-index 999998-on van (toolbar alatt = 999999),
 * így a backdrop-filter csak a mögötte lévő tartalomra vonatkozik, a toolbarra nem. */
body.wap-contrast-bw::before {
	content: '';
	position: fixed;
	inset: 0;
	backdrop-filter: grayscale(100%);
	-webkit-backdrop-filter: grayscale(100%);
	z-index: calc(var(--wap-z-index) - 1);
	pointer-events: none;
	background: transparent;
}

/* --- Readable Font mód (Arial/Helvetica + olvashatósági szabályok) --- */
body.wap-dyslexia *:not(#wap-toolbar):not(#wap-toolbar *) {
	font-family: Arial, Helvetica, sans-serif !important;
	letter-spacing: 0.12em !important;
	word-spacing: 0.16em !important;
	line-height: 1.5 !important;
	font-style: normal !important;
}
body.wap-dyslexia em:not(#wap-toolbar em),
body.wap-dyslexia i:not(#wap-toolbar i) {
	font-style: normal !important;
	font-weight: bold !important;
}
body.wap-dyslexia a:not(#wap-toolbar a) {
	text-decoration: none !important;
	font-weight: bold !important;
}

/* --- Link aláhúzás --- */
body.wap-underline-links a:not(#wap-toolbar *) {
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
}

/* =========================================================
   Mozgáscsökkentő média query (prefers-reduced-motion)
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
	#wap-toolbar .wap-toolbar__panel {
		animation: none;
	}

	#wap-toolbar .wap-toolbar__toggle,
	#wap-toolbar .wap-btn {
		transition: none;
	}
}

/* =========================================================
   Reszponzív – mobil
   ========================================================= */
@media (max-width: 480px) {
	#wap-toolbar {
		--wap-offset: 12px;
	}

	#wap-toolbar .wap-toolbar__panel {
		width: calc(100vw - 48px);
		max-width: var(--wap-panel-width);
	}
}

/* =========================================================
   Új módok – WCAG 2.1 AA kötelező funkciók
   ========================================================= */

/* Animáció megállítás */
body.wap-stop-animations *:not(#wap-toolbar):not(#wap-toolbar *) {
	animation-duration: 0.001ms !important;
	animation-iteration-count: 1 !important;
	transition-duration: 0.001ms !important;
	scroll-behavior: auto !important;
}

/* Erős fókusz jelző */
body.wap-focus-enhanced *:not(#wap-toolbar):not(#wap-toolbar *):focus,
body.wap-focus-enhanced *:not(#wap-toolbar):not(#wap-toolbar *):focus-visible {
	outline: 4px solid #ff6600 !important;
	outline-offset: 4px !important;
	box-shadow: 0 0 0 6px rgba(255, 102, 0, 0.3) !important;
}

/* Olvasási segédvonal (JS insertálja a DOM-ba) */
#wap-reading-guide {
	position: fixed;
	left: 0;
	width: 100%;
	height: 24px;
	background: rgba(255, 255, 0, 0.35);
	border-top: 2px solid rgba(180, 140, 0, 0.6);
	border-bottom: 2px solid rgba(180, 140, 0, 0.6);
	pointer-events: none;
	z-index: calc(var(--wap-z-index) - 1);
	transition: top 0.05s linear;
}

/* Nagy kurzor (SVG data URL, 32×32 px, hotspot 1 1) */
body.wap-large-cursor,
body.wap-large-cursor *:not(#wap-toolbar):not(#wap-toolbar *) {
	cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M4 2 L4 26 L10 20 L15 30 L18 29 L13 19 L21 19 Z' fill='black' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E") 1 1, auto !important;
}

/* Billentyűzet navigáció vizualizáció */
body.wap-keyboard-nav *:not(#wap-toolbar):not(#wap-toolbar *):focus,
body.wap-keyboard-nav *:not(#wap-toolbar):not(#wap-toolbar *):focus-visible {
	outline: 3px dashed #cc00ff !important;
	outline-offset: 3px !important;
	background-color: rgba(204, 0, 255, 0.08) !important;
}

/* Linkek kiemelése */
body.wap-highlight-links a:not(#wap-toolbar *) {
	background-color: #ffff00 !important;
	color: #000000 !important;
	border: 2px solid #cc9900 !important;
	border-radius: 2px !important;
	padding: 0 2px !important;
	text-decoration: underline !important;
}
body.wap-highlight-links a:not(#wap-toolbar *):focus,
body.wap-highlight-links a:not(#wap-toolbar *):hover {
	background-color: #ffcc00 !important;
	outline: 3px solid #cc9900 !important;
}

/* Szöveg balra igazítás */
body.wap-text-left p:not(#wap-toolbar *),
body.wap-text-left h1:not(#wap-toolbar *),
body.wap-text-left h2:not(#wap-toolbar *),
body.wap-text-left h3:not(#wap-toolbar *),
body.wap-text-left h4:not(#wap-toolbar *),
body.wap-text-left h5:not(#wap-toolbar *),
body.wap-text-left h6:not(#wap-toolbar *),
body.wap-text-left li:not(#wap-toolbar *),
body.wap-text-left td:not(#wap-toolbar *),
body.wap-text-left blockquote:not(#wap-toolbar *) {
	text-align: left !important;
	hyphens: none !important;
}

/* Kontraszt ellenőrző – hibás elemek piros kerettel */
.wap-contrast-fail:not(#wap-toolbar *) {
	outline: 3px solid #ff0000 !important;
	outline-offset: 2px !important;
	background-color: rgba(255, 0, 0, 0.1) !important;
}

/* =========================================================
   Print – toolbar elrejtése nyomtatáskor
   ========================================================= */
@media print {
	#wap-toolbar {
		display: none !important;
	}
}
