/*
Theme Name: DiabNavigátor
Theme URI: https://www.diabnavigator.hu/
Author: Cseh Tamás
Description: A DiabNavigátor egyedi block theme-je.
Version: 0.4.14
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: diabnavigator
*/

/* Minden szín, font, betűméret, lekerekítés és árnyék a theme.json tokenjeiből jön (CLAUDE.md 2.). */

/* ---------- Alapok ---------- */

/* Horgonylinkre kattintva az oldal finoman odagördül; „kevesebb mozgás” beállításnál azonnal ugrik. */
@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

/* Egységes fókuszkeret minden háttéren: magenta keret, köztük fehér rés.
   A magenta minden márkaháttéren legalább 3:1, a fehér rés a sötétlilán 13,9:1. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	box-shadow: 0 0 0 2px var(--wp--custom--color--focus-halo) !important;
	outline: 3px solid var(--wp--custom--color--focus-ring) !important;
	outline-offset: 2px !important;
}

/* Minden szöveges link aláhúzása magenta; a hover a link színét váltja (theme.json). */
:root a:where(:not(.wp-element-button)) {
	text-decoration-color: var(--wp--preset--color--brand-primary);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

.skip-link.screen-reader-text:focus {
	background: var(--wp--preset--color--on-primary);
	color: var(--wp--preset--color--brand-dark);
}

.has-brand-dark-background-color a:where(:not(.wp-element-button)) {
	color: var(--wp--preset--color--on-primary);
}

.has-brand-dark-background-color a:where(:not(.wp-element-button)):hover {
	color: var(--wp--preset--color--surface-alt);
}

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

/* A teljes szélességű sávok egymáshoz illeszkednek, a saját belső térközük adja a ritmust. */
.wp-block-post-content > .alignfull,
.wp-block-post-content > .alignfull + * {
	margin-block-start: 0;
}

main:has(> .wp-block-post-content > .alignfull:last-child) {
	padding-block-end: 0 !important;
}

/* Címsor soha nem választódik el; a méretek úgy vannak beállítva, hogy az „inzulinrezisztencia” is kiférjen. */
h1,
h2,
h3 {
	hyphens: manual;
	overflow-wrap: normal;
	text-wrap: balance;
}

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

.dn-meta,
.dn-meta a {
	color: var(--wp--custom--color--text-muted);
}

.dn-lead {
	color: var(--wp--custom--color--text-muted);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 400;
	line-height: 1.6;
}

.dn-eros-link {
	font-weight: 600;
}

/* ---------- Sávok ---------- */

.dn-sav {
	overflow-x: clip;
	padding-block: clamp(4rem, 8vw, 7rem);
}

.dn-sav-cim {
	margin-block-end: var(--wp--preset--spacing--40);
}

/* A kezdőlap szekciócímei nagyobbak a H2-skálánál (4.36). */
.dn-sav-cim,
.dn-rolam-szoveg h2 {
	font-size: var(--wp--custom--typography--section-title);
}

/* ---------- Gombok ---------- */

.wp-element-button,
.wp-block-button__link {
	transition: background-color 0.15s;
}

.dn-gomb-arnyek .wp-block-button__link {
	box-shadow: var(--wp--custom--shadow--button);
	padding: 1rem 2rem;
}

.wp-block-button.is-style-outline > .wp-block-button__link,
.dn-gomb-masodlagos {
	background: transparent;
	border: 2px solid var(--wp--custom--color--border-strong);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--brand-dark);
	cursor: pointer;
	font: inherit;
	font-weight: 600;
	padding: calc(0.85rem - 2px) calc(1.75rem - 2px);
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.dn-gomb-masodlagos:hover {
	border-color: var(--wp--preset--color--brand-dark);
	color: var(--wp--preset--color--brand-dark);
}

/* ---------- Kártya ---------- */

.is-style-dn-kartya {
	background: var(--wp--preset--color--on-primary);
	border: 1px solid var(--wp--custom--color--border);
	border-radius: var(--wp--custom--radius--md);
	padding: var(--wp--preset--spacing--30);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.is-style-dn-kartya > :first-child {
	margin-block-start: 0;
}

.wp-block-column > .is-style-dn-kartya:only-child,
.wp-block-post-template .is-style-dn-kartya {
	height: 100%;
}

.is-style-dn-kartya .wp-block-buttons:last-child {
	margin-block-start: auto;
}

/* Az egész kártya kattintható a címlinken keresztül; rámutatva megemelkedik. */
.dn-kartya-link {
	position: relative;
}

.dn-kartya-link h3 a {
	text-decoration: none;
}

.dn-kartya-link h3 a::after {
	content: "";
	inset: 0;
	position: absolute;
}

.dn-kartya-link:hover,
.dn-szolg-kartya:hover {
	box-shadow: var(--wp--custom--shadow--card-hover);
	transform: translateY(-4px);
}

.dn-kartya-link:has(:focus-visible) {
	box-shadow: 0 0 0 2px var(--wp--custom--color--focus-halo);
	outline: 3px solid var(--wp--custom--color--focus-ring);
	outline-offset: 2px;
}

.dn-kartya-link h3 a:focus-visible {
	box-shadow: none !important;
	outline: none !important;
}

/* ---------- Fejléc: lebegő kapszula ---------- */

/* A ragadás a sablonrész dobozán van, mert a fejléc csak azon belül tudna ragadni. */
.wp-block-template-part:has(> .dn-header) {
	position: sticky;
	top: 0;
	z-index: 100;
}

.admin-bar .wp-block-template-part:has(> .dn-header) {
	top: var(--wp-admin--admin-bar--height, 0);
}

.dn-header {
	padding: 1rem 1rem 0;
	transition: transform 0.3s ease, padding 0.25s ease;
}

/* Az elmosás külön rétegen van: ha magán a kapszulán lenne, a mobil menü nem tudná kitölteni a képernyőt. */
.dn-kapszula::before {
	-webkit-backdrop-filter: blur(var(--wp--custom--glass--blur)) saturate(1.4);
	backdrop-filter: blur(var(--wp--custom--glass--blur)) saturate(1.4);
	background: var(--wp--custom--glass--background);
	border-radius: inherit;
	content: "";
	inset: 0;
	position: absolute;
	z-index: -1;
}

.dn-kapszula {
	border: 1px solid var(--wp--custom--color--border);
	border-radius: var(--wp--custom--radius--pill);
	box-shadow: var(--wp--custom--shadow--header);
	gap: 1rem;
	margin-inline: auto;
	max-width: 1200px;
	padding: 0.625rem 0.625rem 0.625rem 1.75rem;
	position: relative;
	transition: padding 0.25s ease;
	z-index: 0;
}

.dn-header.is-kompakt {
	padding-top: 0.5rem;
}

.dn-header.is-kompakt .dn-kapszula {
	padding: 0.3125rem 0.3125rem 0.3125rem 1.375rem;
}

.dn-header.is-rejtett {
	transform: translateY(-130%);
}

.dn-logo {
	flex-shrink: 0;
	margin: 0;
}

.dn-logo img {
	display: block;
	transition: width 0.25s ease;
	width: 180px; /* minimum méret: 180 px széles (4.22) */
}

.dn-header.is-kompakt .dn-logo img {
	width: 150px;
}

.dn-header .wp-block-navigation-item__content {
	border-radius: var(--wp--custom--radius--pill);
	font-weight: 600;
	padding: 0.625rem 1rem;
	text-decoration: none;
}

.dn-header.is-kompakt .wp-block-navigation-item__content {
	padding: 0.5rem 0.875rem;
}

.wp-block-navigation .wp-block-navigation-item__content:hover {
	color: var(--wp--custom--color--primary-hover);
}

.wp-block-navigation .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--on-primary);
	border: 1px solid var(--wp--custom--color--border);
	border-radius: var(--wp--custom--radius--sm);
	box-shadow: var(--wp--custom--shadow--header);
	padding: 0.5rem 0;
}

.dn-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	white-space: nowrap;
}

/* Kiemelt „Kapcsolat” gomb a menüben */
.wp-block-navigation .dn-nav-cta > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--brand-primary);
	color: var(--wp--preset--color--on-primary);
	font-weight: 600;
	margin-left: 0.5rem;
	padding: 0.75rem 1.5rem;
}

.dn-header.is-kompakt .dn-nav-cta > .wp-block-navigation-item__content {
	padding: 0.5625rem 1.25rem;
}

.wp-block-navigation .dn-nav-cta > .wp-block-navigation-item__content:hover {
	background: var(--wp--custom--color--primary-hover);
	color: var(--wp--preset--color--on-primary);
}

/* Mobil: lila, kerek menügomb */
.dn-header .wp-block-navigation__responsive-container-open {
	align-items: center;
	background: var(--wp--preset--color--brand-dark);
	border-radius: 50%;
	color: var(--wp--preset--color--on-primary);
	height: 48px;
	justify-content: center;
	width: 48px;
}

.dn-header.is-kompakt .wp-block-navigation__responsive-container-open {
	height: 40px;
	width: 40px;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	font-size: var(--wp--preset--font-size--large);
}

body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
	align-items: flex-start;
	text-align: start;
}

body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	border: 0;
	box-shadow: none;
	padding: 0 0 0 1rem;
}

body .wp-block-navigation__responsive-container.is-menu-open .dn-nav-cta > .wp-block-navigation-item__content {
	margin: 0.75rem 0 0;
	padding: 0.75rem 1.5rem;
}

/* ---------- Lábléc ---------- */

/* A láblécben kivételesen nem magenta az aláhúzás. */
.dn-footer a {
	text-decoration-color: currentColor;
}

.dn-footer .dn-footer-marka {
	flex: 1 1 300px;
}

.dn-footer .dn-logo img {
	margin-block-end: 1rem;
	width: 200px;
}

.dn-footer-szlogen {
	color: var(--wp--preset--color--surface-alt);
	font-size: var(--wp--preset--font-size--small);
	margin-block: 0 1.5rem;
	max-width: 22em;
}

.dn-footer-kapcsolat {
	display: flex;
	flex-direction: column;
	font-size: var(--wp--preset--font-size--small);
	font-style: normal;
	gap: 0.375rem;
	margin-block-end: 1.5rem;
}

.dn-footer-cim {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
}

.dn-footer .wp-block-navigation {
	font-size: var(--wp--preset--font-size--small);
}

.dn-footer .wp-block-navigation a {
	text-decoration-line: underline;
}

/* Kerek közösségi ikonok (lábléc, Rólam blokk) */
.dn-kozosseg.wp-block-social-links .wp-social-link {
	border: 2px solid var(--wp--custom--color--border-strong);
	border-radius: 50%;
	color: var(--wp--preset--color--brand-dark);
	transition: background-color 0.15s, color 0.15s, border-color 0.15s;
}

.dn-kozosseg.wp-block-social-links .wp-social-link a {
	align-items: center;
	display: flex;
	height: 44px;
	justify-content: center;
	padding: 0;
	width: 44px;
}

.dn-footer .dn-kozosseg .wp-social-link,
.dn-lila-kartya .dn-kozosseg .wp-social-link {
	border-color: var(--wp--custom--color--border-strong);
	color: var(--wp--preset--color--on-primary);
}

.dn-kozosseg .wp-social-link-instagram svg {
	background: currentColor;
	-webkit-mask: url(assets/ikonok/instagram.svg) center / contain no-repeat;
	mask: url(assets/ikonok/instagram.svg) center / contain no-repeat;
}

.dn-kozosseg .wp-social-link-instagram svg path {
	display: none;
}

.dn-kozosseg.wp-block-social-links .wp-social-link:hover {
	background: var(--wp--preset--color--brand-primary);
	border-color: var(--wp--preset--color--brand-primary);
	color: var(--wp--preset--color--on-primary);
	transform: none;
}

/* ---------- Kezdőlap: hero ---------- */

.dn-hero {
	overflow-x: clip;
	padding-block: clamp(2.5rem, min(7vw, 8vh), 6rem) clamp(4rem, 8vw, 7rem);
}

.dn-hero-racs {
	gap: 3.5rem;
}

.dn-hero-szoveg {
	flex: 1.4 1 520px;
	min-width: 0;
}

.dn-hero-cim {
	font-size: min(var(--wp--preset--font-size--display), calc((100vw - 3rem) / 9.4), var(--wp--custom--typography--hero-cap));
	letter-spacing: -0.01em;
	line-height: 1.08;
}

.dn-kiemeles {
	background: none;
	color: var(--wp--preset--color--brand-primary);
}

.dn-hero .dn-lead {
	margin-block: 1.75rem 2.25rem;
	max-width: 34em;
}

.dn-hero-gombok {
	gap: 1.75rem;
}

.dn-hero-foto {
	display: flex;
	flex: 1 1 340px;
	justify-content: center;
	min-width: 0;
	padding: 1.5rem;
	position: relative;
}

/* Magenta körív a portré mögött, jobbra fent */
.dn-hero-foto::before {
	aspect-ratio: 1;
	border: 3px solid var(--wp--preset--color--brand-primary);
	border-radius: 50%;
	content: "";
	position: absolute;
	right: -8px;
	top: -8px;
	width: min(440px, 92%);
}

.dn-portre {
	margin: 0;
	position: relative;
	width: min(400px, 100%, 52vh);
}

.dn-portre img {
	aspect-ratio: 4 / 5;
	border-radius: var(--wp--custom--radius--lg);
	box-shadow: var(--wp--custom--shadow--photo);
	display: block;
	object-fit: cover;
	object-position: center 20%;
	width: 100%;
}

/* ---------- Kezdőlap: Kinek szól? ---------- */

.dn-kinek {
	gap: 0.75rem;
	text-align: center;
}

.dn-ikon {
	background: var(--wp--preset--color--surface-alt);
	border-radius: 50%;
	margin: 0 0 0.5rem;
	padding: 18px;
	width: max-content;
}

.dn-ikon img {
	display: block;
	height: 36px !important;
	width: 36px !important;
}

/* ---------- Kezdőlap: szolgáltatások (sötét sáv, fehér kártyák) ---------- */

.dn-sav-sotet .is-style-dn-kartya {
	color: var(--wp--preset--color--brand-dark);
}

.dn-szolg-kartya {
	border: 0;
	box-shadow: var(--wp--custom--shadow--stage);
	gap: 0;
	overflow: hidden;
	padding: 0;
}

.dn-szolg-kartya:hover {
	box-shadow: var(--wp--custom--shadow--stage);
}

.dn-szolg-kep {
	margin: 0;
}

.dn-szolg-kep img {
	display: block;
	object-position: center 30%;
	width: 100%;
}

.dn-szolg-test {
	flex: 1;
	gap: 0.75rem;
	padding: 1.75rem 1.75rem 2rem;
}

.dn-szolg-test > * {
	margin: 0;
}

.dn-szolg-test > .dn-szolg-lab {
	margin-block-start: auto;
	padding-block-start: 0.5rem;
}

.dn-szolg-lab .wp-block-button__link {
	padding: 0.875rem 1.375rem;
	text-align: center;
}

.dn-szolg-kartya .wp-block-button__link:hover {
	background: var(--wp--custom--color--primary-hover);
}

/* ---------- Kezdőlap: Rólam (fotó magenta lappal) ---------- */

.dn-rolam {
	gap: clamp(2.5rem, 6vw, 5rem);
}

.dn-rolam-foto {
	flex: 1 1 340px;
	margin: 0;
	max-width: 480px;
	position: relative;
}

.dn-rolam-foto::before {
	background: var(--wp--preset--color--brand-primary);
	border-radius: var(--wp--custom--radius--lg);
	content: "";
	inset: 24px -24px -24px 24px;
	position: absolute;
}

.dn-rolam-foto img {
	aspect-ratio: 1;
	border-radius: var(--wp--custom--radius--lg);
	display: block;
	object-fit: cover;
	object-position: 62% center;
	position: relative;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.dn-rolam-foto:hover img {
	box-shadow: var(--wp--custom--shadow--photo);
	transform: translate(-6px, -6px);
}

.dn-rolam-szoveg {
	flex: 1 1 420px;
	min-width: 0;
}

/* ---------- Kezdőlap: Ti mondtátok ---------- */

.dn-velemeny-fej {
	align-items: center;
	display: flex;
	gap: 1rem;
	justify-content: center;
}

.dn-velemeny-fej .dn-velemeny-cim {
	margin-block-end: 0;
}

.dn-velemeny-fej {
	margin-block-end: var(--wp--preset--spacing--40);
}

.dn-nyilak {
	display: none;
	gap: 0.5rem;
}

.dn-nyil {
	align-items: center;
	background: var(--wp--preset--color--on-primary);
	border: 2px solid var(--wp--custom--color--border-strong);
	border-radius: 50%;
	color: var(--wp--preset--color--brand-dark);
	cursor: pointer;
	display: inline-flex;
	height: 44px;
	justify-content: center;
	width: 44px;
}

.dn-nyil:hover {
	background: var(--wp--preset--color--brand-dark);
	border-color: var(--wp--preset--color--brand-dark);
	color: var(--wp--preset--color--on-primary);
}

.dn-velemenyek {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr));
}

.dn-velemenyek:not(.dn-mind) .dn-tobb {
	display: none !important;
}

.wp-block-quote.dn-velemeny {
	background: var(--wp--preset--color--on-primary);
	border: 1px solid var(--wp--custom--color--border);
	border-radius: var(--wp--custom--radius--md);
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 1.75rem 1.75rem 1.5rem;
	position: relative;
}

.wp-block-quote.dn-velemeny::before {
	color: var(--wp--preset--color--brand-primary);
	content: "“";
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--huge);
	line-height: 0.6;
	margin-block-end: 0.5rem;
}

.wp-block-quote.dn-velemeny p {
	font-size: var(--wp--preset--font-size--medium);
	margin: 0 0 1.25rem;
}

.wp-block-quote.dn-velemeny cite {
	align-items: center;
	color: var(--wp--preset--color--brand-dark);
	display: flex;
	font-style: normal;
	font-weight: 600;
	gap: 0.75rem;
	margin-block-start: auto;
}

.wp-block-quote.dn-velemeny cite::before {
	background: center / cover no-repeat;
	content: "";
	height: 48px;
	width: 48px;
}

.dn-velemeny.dn-no cite::before {
	background-image: url(assets/ikonok/avatar-no.svg);
}

.dn-velemeny.dn-ferfi cite::before {
	background-image: url(assets/ikonok/avatar-ferfi.svg);
}

.dn-tovabb-gomb {
	background: none;
	border: 0;
	color: var(--wp--custom--color--primary-hover);
	cursor: pointer;
	font: inherit;
	font-weight: 600;
	padding: 0;
	text-decoration-line: underline;
	white-space: nowrap;
}

.dn-velemeny-gomb {
	margin-block-start: 2rem;
	text-align: center;
}

@media (max-width: 860px) {
	.dn-velemeny-fej {
		justify-content: space-between;
	}

	.dn-nyilak {
		display: flex;
	}

	.dn-velemenyek {
		display: flex;
		gap: 1rem;
		margin-inline: -2px;
		overflow-x: auto;
		padding: 4px 2px 12px;
		scroll-behavior: smooth;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.dn-velemenyek::-webkit-scrollbar {
		display: none;
	}

	.dn-velemenyek .dn-velemeny {
		flex: 0 0 86%;
		scroll-snap-align: start;
	}

	.dn-velemenyek .dn-tobb.dn-tobb {
		display: flex !important;
	}

	.dn-velemeny-gomb {
		display: none;
	}
}

/* ---------- Kezdőlap: tudástár ---------- */

.dn-tudastar {
	background: var(--wp--custom--color--surface-tint);
	margin-block-end: clamp(4rem, 8vw, 7rem);
}

.dn-tudastar-nev {
	color: var(--wp--preset--color--brand-dark);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
}

.dn-cikk-kartyak {
	margin-block: 1.25rem 1.5rem;
}

.dn-cikk-kartya {
	gap: 0;
	overflow: hidden;
	padding: 0;
}

.dn-cikk-kartya .wp-block-post-featured-image {
	margin: 0;
}

.dn-cikk-kartya-test {
	padding: 1.375rem 1.5rem 1.625rem;
}

/* Kártyák metasora: „Kategória · dátum” (kezdőlapi terv) */
.dn-meta .wp-block-post-terms + .wp-block-post-date::before {
	content: "· ";
}

.dn-cikk-kartya .wp-block-post-title {
	line-height: 1.3;
	margin: 0;
}

.dn-cikk-kartya .wp-block-post-title a {
	text-decoration: none;
}

.dn-csempe {
	gap: 1.5rem;
	padding: 1.75rem 2rem;
}

.dn-csempe figure {
	margin: 0;
}

.dn-szamlalo {
	color: var(--wp--preset--color--brand-primary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--huge);
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	line-height: 1;
	margin: 0;
	min-width: 3ch;
}

.dn-csempe-sotet {
	border-color: transparent;
}

.dn-csempe-sotet .dn-szamlalo,
.dn-csempe-sotet h3,
.dn-csempe-sotet h3 a {
	color: var(--wp--preset--color--on-primary);
}

.dn-csempe-sotet .dn-meta {
	color: var(--wp--preset--color--surface-alt);
}

.dn-csempe-szoveg {
	flex: 1 1 220px;
	min-width: 0;
}

.dn-csempe-szoveg > * {
	margin: 0;
}

/* ---------- Hírlevél ---------- */

.dn-hirlevel-sav {
	padding-block-start: 0;
}

.dn-hirlevel {
	border-radius: var(--wp--custom--radius--lg);
	gap: 2.5rem;
	overflow: hidden;
	padding: clamp(2.5rem, 6vw, 4.5rem);
	position: relative;
}

.dn-hirlevel::before {
	border: 3px solid var(--wp--preset--color--brand-primary);
	border-radius: 50%;
	content: "";
	height: 320px;
	position: absolute;
	right: -110px;
	top: -130px;
	width: 320px;
}

.dn-hirlevel > * {
	flex: 1 1 380px;
	min-width: 0;
	position: relative;
}

.dn-hirlevel-szoveg p {
	color: var(--wp--preset--color--surface-alt);
}

/* Sikeres küldés után ide ugrik az oldal, a lebegő fejléc ne takarja ki. */
#dn-hirlevel,
#dn-kapcsolat {
	scroll-margin-top: 7rem;
}

.dn-hirlevel-form {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	position: relative;
}

.dn-hirlevel-form label {
	display: block;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.dn-hirlevel-form input:not([type="checkbox"]) {
	background: var(--wp--preset--color--on-primary);
	border: 0;
	border-radius: var(--wp--custom--radius--pill);
	box-sizing: border-box;
	color: var(--wp--preset--color--brand-dark);
	display: block;
	font: inherit;
	font-weight: 400;
	margin-block-start: 0.375rem;
	padding: 0.875rem 1.25rem;
	width: 100%;
}

.dn-hirlevel-form .dn-hirlevel-hoz {
	display: flex;
	font-weight: 400;
	gap: 0.625rem;
}

.dn-hirlevel-hoz input {
	accent-color: var(--wp--preset--color--brand-primary);
	flex-shrink: 0;
	height: 1.25rem;
	margin: 0.125rem 0 0;
	width: 1.25rem;
}

.dn-hirlevel-hoz a {
	color: inherit;
}

.dn-hirlevel-form button {
	align-self: flex-start;
	border: 0;
	box-shadow: var(--wp--custom--shadow--button);
	cursor: pointer;
	padding: 1rem 2rem;
}

.dn-hirlevel-form :focus-visible {
	outline-color: var(--wp--custom--color--focus-halo);
}

.dn-hirlevel-kesz p {
	margin: 0;
}

/* ---------- Lila kártya a cikkekben (a hírlevélsáv formája) ---------- */

.dn-lila-kartya {
	align-items: center;
	background: var(--wp--preset--color--brand-dark);
	border-radius: var(--wp--custom--radius--lg);
	color: var(--wp--preset--color--on-primary);
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	justify-content: center;
	overflow: hidden;
	padding: clamp(2.5rem, 6vw, 4rem) 1.5rem;
	position: relative;
	text-align: center;
}

.dn-lila-kartya::before {
	border: 3px solid var(--wp--preset--color--brand-primary);
	border-radius: 50%;
	content: "";
	height: 200px;
	position: absolute;
	right: -70px;
	top: -90px;
	width: 200px;
}

.dn-lila-kartya > * {
	margin: 0;
	position: relative;
}

.dn-lila-kartya .wp-block-heading {
	color: var(--wp--preset--color--on-primary);
}

.dn-lila-kartya :focus-visible {
	outline-color: var(--wp--custom--color--focus-halo);
}

/* ---------- Sütibanner ---------- */

.dn-suti {
	background: var(--wp--preset--color--on-primary);
	border: 1px solid var(--wp--custom--color--border);
	border-radius: var(--wp--custom--radius--lg);
	bottom: 1rem;
	box-shadow: var(--wp--custom--shadow--card-hover);
	box-sizing: border-box;
	color: var(--wp--preset--color--brand-dark);
	font-size: var(--wp--preset--font-size--small);
	inset-inline: 1rem;
	margin-inline: auto;
	max-height: calc(100dvh - 2rem);
	max-width: 42rem;
	overflow-y: auto;
	padding: 1.5rem clamp(1.25rem, 4vw, 2rem);
	position: fixed;
	z-index: 1000;
}

.dn-suti[hidden],
.dn-suti-reszletek[hidden] {
	display: none;
}

.dn-suti p {
	margin: 0 0 1rem;
}

.dn-suti .dn-suti-cim {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
	margin-block-end: 0.5rem;
}

.dn-suti-reszletek {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin-block-end: 1rem;
}

.dn-suti-reszletek label {
	display: flex;
	gap: 0.625rem;
}

.dn-suti-reszletek input {
	accent-color: var(--wp--preset--color--brand-primary);
	flex-shrink: 0;
	height: 1.25rem;
	margin: 0.125rem 0 0;
	width: 1.25rem;
}

.dn-suti-gombok {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.dn-suti button.wp-element-button {
	border: 0;
	cursor: pointer;
	padding: 0.75rem 1.5rem;
}

.dn-suti-reszletek button.wp-element-button {
	align-self: flex-start;
}

.dn-suti-tovabb {
	background: none;
	border: 0;
	color: inherit;
	cursor: pointer;
	font: inherit;
	font-weight: 600;
	padding: 0.5rem;
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--brand-primary);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

/* ---------- Sorstárs-nyilatkozat ---------- */

.dn-nyilatkozat {
	background: var(--wp--custom--color--surface-tint);
	border-radius: var(--wp--custom--radius--md);
	gap: 1.25rem;
	margin-block-start: var(--wp--preset--spacing--40);
	padding: 1.5rem 1.75rem;
}

.dn-nyilatkozat-kep {
	flex-shrink: 0;
	margin: 0;
}

.dn-nyilatkozat-kep img {
	border-radius: 50%;
	display: block;
}

.dn-nyilatkozat p {
	font-size: var(--wp--preset--font-size--medium);
	margin: 0;
}

/* ---------- Kövess máshol is (cikkvégi közösségi blokk, 4.38) ---------- */

.dn-kovess {
	margin-block-start: var(--wp--preset--spacing--50);
}

.dn-kovess .dn-kovess-cim {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 600;
	line-height: 1.2;
}

/* Címkés változat: kapszula ikon + név */
.dn-kozosseg-cimkes.wp-block-social-links .wp-social-link {
	border-radius: var(--wp--custom--radius--pill);
}

.dn-kozosseg-cimkes.wp-block-social-links .wp-social-link a {
	gap: 0.5rem;
	padding: 0 1.125rem 0 0.875rem;
	width: auto;
}

.dn-kozosseg-cimkes .wp-block-social-link-label {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

/* ---------- Kategóriacímke (cikk fejléce) ---------- */

.dn-kategoria {
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem;
	margin: 0;
}

.dn-kategoria .wp-block-post-terms__separator {
	display: none;
}

.dn-kategoria a {
	background: var(--wp--custom--color--surface-tint);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--brand-dark);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	line-height: 1.2;
	padding: 0.3125rem 0.75rem;
	text-decoration: none;
	transition: background-color 0.15s, color 0.15s;
}

.dn-kategoria a:hover {
	background: var(--wp--preset--color--brand-dark);
	color: var(--wp--preset--color--on-primary);
}

.dn-kategoria-fent {
	margin-block-end: 1rem;
}

/* ---------- Blogbejegyzés ---------- */

.dn-cikk {
	padding-block: clamp(2rem, 4vw, 3.5rem) clamp(4rem, 8vw, 7rem);
}

.dn-morzsa {
	color: var(--wp--custom--color--text-muted);
	font-size: var(--wp--preset--font-size--small);
	gap: 0.5rem;
	margin-block-end: 1.25rem;
}

.dn-morzsa > * {
	margin: 0;
}

.dn-morzsa > * + *::before {
	color: var(--wp--custom--color--border-strong);
	content: "›";
	margin-right: 0.5rem;
}

.dn-morzsa a {
	color: var(--wp--custom--color--text-muted);
}

.dn-cikk-cim {
	letter-spacing: -0.01em;
	line-height: 1.12;
	max-width: 18em;
}

.dn-cikk-meta {
	gap: 0.5rem 1.25rem;
	margin-block-start: 1.5rem;
}

.dn-cikk-meta p,
.dn-cikk-meta figure {
	margin: 0;
}

.dn-szerzo-kep img {
	border-radius: 50%;
	display: block;
}

.dn-szerzo-nev a {
	color: var(--wp--preset--color--brand-dark);
	font-weight: 600;
	text-decoration: none;
}

.dn-datum-ido > * + *::before {
	content: "· ";
}

.dn-cikk-kep {
	margin-block-start: 2.5rem;
}

.dn-cikk-kep img {
	border-radius: var(--wp--custom--radius--lg);
	max-height: 600px;
}

.dn-cikk-racs {
	display: grid;
	gap: 5rem;
	grid-template-columns: minmax(0, 760px) 260px;
	margin-block-start: 3.5rem;
}

.dn-cikk-torzs {
	min-width: 0;
}

/* A cikk szövege */
.dn-szoveg {
	line-height: 1.75;
}

.dn-szoveg > p:first-child {
	color: var(--wp--custom--color--text-muted);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 400;
	line-height: 1.6;
}

.dn-szoveg h2 {
	line-height: 1.25;
	margin-block: 1.9em 0.6em;
	scroll-margin-top: 6rem;
}

.dn-szoveg h3 {
	line-height: 1.3;
	margin-block: 1.6em 0.5em;
	scroll-margin-top: 6rem;
}

.dn-szoveg ul {
	list-style: none;
	padding: 0;
}

.dn-szoveg ul li {
	margin-block-end: 0.7em;
	padding-left: 1.75rem;
	position: relative;
}

.dn-szoveg ul li::before {
	background: var(--wp--preset--color--brand-primary);
	border-radius: 50%;
	content: "";
	height: 9px;
	left: 4px;
	position: absolute;
	top: 0.62em;
	width: 9px;
}

.dn-szoveg figure img,
.dn-szoveg .wp-block-embed iframe {
	border-radius: var(--wp--custom--radius--md);
}

.dn-szoveg .wp-block-table table {
	background: var(--wp--preset--color--on-primary);
	border: 1px solid var(--wp--custom--color--border);
	border-collapse: separate;
	border-radius: var(--wp--custom--radius--sm);
	border-spacing: 0;
	overflow: hidden;
}

.dn-szoveg .wp-block-table th {
	background: var(--wp--preset--color--brand-dark);
	border: 0;
	color: var(--wp--preset--color--on-primary);
	text-align: left;
}

.dn-szoveg .wp-block-table td {
	border: 0;
	border-top: 1px solid var(--wp--custom--color--surface-tint);
}

/* „Ebben a cikkben” */
.dn-tartalom-oldal {
	align-self: start;
	position: sticky;
	top: 7rem;
}

.dn-tartalom-cim,
.dn-tartalom-fent summary {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
	margin: 0 0 0.875rem;
}

.dn-tartalom-lista {
	display: flex;
	flex-direction: column;
	font-size: var(--wp--preset--font-size--small);
	gap: 2px;
	line-height: 1.4;
	list-style: none;
	margin: 0;
	padding: 0;
}

.dn-tartalom-lista a {
	border-left: 3px solid var(--wp--custom--color--surface-tint);
	color: var(--wp--custom--color--text-muted);
	display: block;
	padding: 0.5rem 0 0.5rem 1rem;
	text-decoration: none;
}

.dn-tartalom-lista a:hover {
	color: var(--wp--custom--color--primary-hover);
}

.dn-tartalom-lista a[aria-current] {
	border-left-color: var(--wp--preset--color--brand-primary);
	color: var(--wp--preset--color--brand-dark);
	font-weight: 600;
}

.dn-tartalom-fent {
	background: var(--wp--preset--color--on-primary);
	border: 1px solid var(--wp--custom--color--border);
	border-radius: var(--wp--custom--radius--sm);
	display: none;
	margin-block-end: 2.5rem;
	padding: 1.125rem 1.5rem;
}

.dn-tartalom-fent summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	list-style: none;
	margin: 0;
}

.dn-tartalom-fent summary::-webkit-details-marker {
	display: none;
}

.dn-tartalom-fent summary::after {
	flex-shrink: 0;
}

.dn-tartalom-fent[open] summary::after {
	transform: rotate(45deg);
}

.dn-tartalom-fent .dn-tartalom-lista {
	margin-block-start: 0.875rem;
}

@media (max-width: 1099px) {
	.dn-cikk-racs {
		grid-template-columns: minmax(0, 1fr);
	}

	.dn-tartalom-oldal {
		display: none;
	}

	.dn-tartalom-fent:not([hidden]) {
		display: block;
	}
}

/* Hozzászólások */
.dn-bejelentkezve > span {
	display: block;
}

.dn-hozzaszolasok {
	border-top: 1px solid var(--wp--custom--color--border);
	margin-block-start: var(--wp--preset--spacing--50);
	padding-block-start: var(--wp--preset--spacing--40);
}

.dn-hozzaszolas {
	border-bottom: 1px solid var(--wp--custom--color--surface-tint);
	padding-block: 1.25rem;
}

.dn-hozzaszolasok input:not([type="checkbox"]):not([type="submit"]),
.dn-hozzaszolasok textarea {
	background: var(--wp--preset--color--on-primary);
	border: 1px solid var(--wp--custom--color--border-strong);
	border-radius: var(--wp--custom--radius--sm);
	box-sizing: border-box;
	font: inherit;
	padding: 0.75rem 1rem;
	width: 100%;
}

.dn-olvass-tovabb {
	padding-block-start: 0;
}

/* ---------- Kereső (input keret: border-strong, WCAG 1.4.11) ---------- */

.wp-block-search__input {
	background: var(--wp--preset--color--on-primary);
	border: 1px solid var(--wp--custom--color--border-strong);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--brand-dark);
	padding: 0.75rem 1.25rem;
}

/* Kereső gombbal a mezőn belül (blog, találati oldal) */
.dn-kereso {
	flex: 0 1 22rem;
	margin: 0;
}

.dn-kereso .wp-block-search__inside-wrapper {
	background: var(--wp--preset--color--on-primary);
	border: 1px solid var(--wp--custom--color--border-strong);
	border-radius: var(--wp--custom--radius--pill);
	padding: 0.25rem;
}

.dn-kereso .wp-block-search__input {
	border: 0;
	padding-block: 0.5rem;
}

.dn-kereso .wp-block-search__button {
	align-items: center;
	background: var(--wp--preset--color--brand-primary);
	border: 0;
	border-radius: 50%;
	color: var(--wp--preset--color--on-primary);
	display: flex;
	height: 44px;
	justify-content: center;
	margin: 0;
	padding: 0;
	width: 44px;
}

.dn-kereso .wp-block-search__button:hover {
	background: var(--wp--custom--color--primary-hover);
}

/* A szövegmezőn a böngésző kattintásra is „billentyűzetes” fókuszt jelez, ezért itt nincs magenta keret:
   a fókuszt a mező sötétlila, kétszeres vastagságú kerete mutatja (WCAG 2.4.7, 3:1 fölött). */
.dn-kereso .wp-block-search__inside-wrapper:focus-within {
	border-color: var(--wp--preset--color--brand-dark);
	box-shadow: 0 0 0 1px var(--wp--preset--color--brand-dark);
}

.dn-kereso .wp-block-search__input:focus-visible {
	box-shadow: none !important;
	outline: none !important;
}

.dn-blog-fej {
	gap: var(--wp--preset--spacing--30);
	margin-block-end: var(--wp--preset--spacing--40);
}

.dn-blog-fej h1 {
	margin: 0;
}

/* ---------- Találati oldal ---------- */

.dn-talalat {
	padding-block: clamp(2.5rem, 5vw, 4.5rem) clamp(4rem, 8vw, 7rem);
}

.dn-talalat-fej {
	margin-block-end: var(--wp--preset--spacing--50);
	text-align: center;
}

.dn-talalat-fej > * {
	margin-block: 0;
}

.dn-talalat-felcim {
	color: var(--wp--preset--color--brand-primary);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.dn-talalat-cim {
	margin-block-start: 0.5rem;
	overflow-wrap: anywhere;
}

.dn-talalat-db {
	color: var(--wp--custom--color--text-muted);
	margin-block-start: 0.75rem;
}

.dn-talalat-db:empty {
	display: none;
}

.dn-kereso-nagy {
	margin: var(--wp--preset--spacing--30) auto 0;
	max-width: 36rem;
}

.dn-kereso-nagy .wp-block-search__inside-wrapper {
	padding: 0.375rem;
}

.dn-kereso-nagy .wp-block-search__inside-wrapper:not(:focus-within) {
	box-shadow: var(--wp--custom--shadow--header);
}

.dn-kereso-nagy .wp-block-search__input {
	font-size: var(--wp--preset--font-size--medium);
	padding-inline: 1.25rem;
}

.dn-kereso-nagy .wp-block-search__button {
	height: 52px;
	width: 52px;
}

.dn-nincs-talalat {
	margin-inline: auto;
	max-width: 640px;
	padding: 2.5rem;
	text-align: center;
}

.dn-nincs-talalat h2 {
	margin-block-start: 0;
}

.dn-temak {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
	list-style: none;
	margin: 1.25rem 0 1.75rem;
	padding: 0;
}

.dn-temak a {
	background: var(--wp--custom--color--surface-tint);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--brand-dark);
	display: inline-block;
	font-weight: 600;
	padding: 0.5rem 1.125rem;
	text-decoration: none;
}

.dn-temak a:hover {
	background: var(--wp--preset--color--brand-dark);
	color: var(--wp--preset--color--on-primary);
}

/* ---------- Kategóriaválasztó (blog, kategóriaoldalak) ---------- */

.dn-kat-szuro {
	margin-block-end: var(--wp--preset--spacing--40);
}

.dn-kat-szuro ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.dn-kat-szuro a {
	align-items: center;
	background: var(--wp--custom--color--surface-tint);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--brand-dark);
	display: inline-flex;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	min-height: 40px;
	padding: 0 1.125rem;
	text-decoration: none;
	transition: background-color 0.15s, color 0.15s;
}

.dn-kat-szuro a:hover {
	background: var(--wp--preset--color--surface-alt);
}

.dn-kat-szuro a[aria-current] {
	background: var(--wp--preset--color--brand-dark);
	color: var(--wp--preset--color--on-primary);
}

/* ---------- Lapozó (blog, kategória, találatok) ---------- */

.dn-lapozo {
	align-items: center;
	gap: 0.5rem;
}

.dn-lapozo .page-numbers,
.dn-lapozo .wp-block-query-pagination-previous,
.dn-lapozo .wp-block-query-pagination-next {
	align-items: center;
	border: 1px solid var(--wp--custom--color--border);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--brand-dark);
	display: inline-flex;
	font-weight: 600;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
	text-decoration: none;
	transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}

.dn-lapozo .wp-block-query-pagination-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
}

.dn-lapozo .wp-block-query-pagination-previous,
.dn-lapozo .wp-block-query-pagination-next {
	gap: 0.5rem;
	margin: 0;
	padding-inline: 1.25rem;
}

.dn-lapozo a.page-numbers:hover,
.dn-lapozo .wp-block-query-pagination-previous:hover,
.dn-lapozo .wp-block-query-pagination-next:hover {
	background: var(--wp--custom--color--surface-tint);
	border-color: var(--wp--custom--color--border-strong);
}

.dn-lapozo .page-numbers.current {
	background: var(--wp--preset--color--brand-primary);
	border-color: var(--wp--preset--color--brand-primary);
	color: var(--wp--preset--color--on-primary);
}

.dn-lapozo .page-numbers.dots {
	border-color: transparent;
	min-width: auto;
}

.dn-lapozo .wp-block-query-pagination-previous-arrow,
.dn-lapozo .wp-block-query-pagination-next-arrow {
	margin: 0;
}

@media (max-width: 600px) {
	/* Mobilon csak a nyilak maradnak, a felirat a képernyőolvasóé */
	.dn-lapozo .wp-block-query-pagination-previous,
	.dn-lapozo .wp-block-query-pagination-next {
		font-size: 0;
		padding-inline: 0;
		width: 44px;
	}

	.dn-lapozo .wp-block-query-pagination-previous-arrow,
	.dn-lapozo .wp-block-query-pagination-next-arrow {
		font-size: var(--wp--preset--font-size--medium);
	}
}

/* ---------- YouTube: kattintásra töltődő előnézet (dn-core) ---------- */

.screen-reader-text {
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.dn-yt-doboz {
	display: grid;
	grid-template-areas: "kep";
}

.dn-yt-kep,
.dn-yt-gomb,
.dn-yt-doboz iframe {
	aspect-ratio: 16 / 9;
	border-radius: var(--wp--custom--radius--md);
	grid-area: kep;
	width: 100%;
}

.dn-yt-kep {
	display: block;
	height: auto;
	object-fit: cover;
}

.dn-yt-doboz iframe {
	border: 0;
	height: auto;
}

.dn-yt-gomb {
	background: transparent;
	border: 0;
	cursor: pointer;
	padding: 0;
	position: relative;
}

/* Magenta kör, benne fehér lejátszás-háromszög */
.dn-yt-gomb::before {
	background: var(--wp--preset--color--brand-primary);
	border-radius: 50%;
	box-shadow: var(--wp--custom--shadow--button);
	content: "";
	height: 72px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: transform 0.15s ease, background-color 0.15s;
	width: 72px;
}

.dn-yt-gomb::after {
	border-block: 13px solid transparent;
	border-inline-start: 22px solid var(--wp--preset--color--on-primary);
	content: "";
	left: calc(50% + 4px);
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}

.dn-yt-gomb:hover::before {
	background: var(--wp--custom--color--primary-hover);
	transform: translate(-50%, -50%) scale(1.06);
}

@media (prefers-reduced-motion: reduce) {
	.dn-yt-gomb::before {
		transition: none;
	}
}

/* ---------- Lexikon: A–Z oldal ---------- */

.dn-felcim {
	color: var(--wp--custom--color--primary-hover);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	letter-spacing: 0.04em;
	margin-block: 0 0.625rem;
	text-transform: uppercase;
}

.dn-lexikon-fej {
	background: var(--wp--custom--color--surface-tint);
	padding-block: clamp(2rem, 4vw, 3.5rem) clamp(2.5rem, 5vw, 4rem);
}

.dn-lexikon-fej .dn-morzsa p:last-child {
	color: var(--wp--preset--color--brand-dark);
}

.dn-lexikon-fej .dn-lead {
	margin-block: 1.25rem 2rem;
	max-width: 38em;
}

.dn-lex-kereso {
	align-items: center;
	background: var(--wp--preset--color--on-primary);
	border: 1px solid var(--wp--custom--color--border-strong);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--brand-dark);
	display: flex;
	gap: 0.75rem;
	max-width: 40rem;
	padding: 0.375rem 1.375rem;
}

.dn-lex-kereso[hidden] {
	display: none;
}

.dn-lex-kereso svg {
	flex-shrink: 0;
}

.dn-lex-kereso input {
	background: transparent;
	border: 0;
	color: inherit;
	flex: 1;
	font: inherit;
	font-size: var(--wp--preset--font-size--medium);
	min-width: 0;
	padding: 0.75rem 0;
}

.dn-lex-kereso input::placeholder {
	color: var(--wp--custom--color--text-muted);
	opacity: 1;
}

/* Mint a blogkeresőnél: a fókuszt a mező sötétlila, kétszeres kerete jelzi. */
.dn-lex-kereso:focus-within {
	border-color: var(--wp--preset--color--brand-dark);
	box-shadow: 0 0 0 1px var(--wp--preset--color--brand-dark);
}

.dn-lex-kereso input:focus-visible {
	box-shadow: none !important;
	outline: none !important;
}

.dn-lex-db {
	color: var(--wp--custom--color--text-muted);
	font-size: var(--wp--preset--font-size--small);
	margin: 0.875rem 0 0 1.375rem;
	min-height: 1.5em;
}

/* Ragadós betűsor a fejléckapszula alatt; ha a fejléc elbújik, felcsúszik. A háttér a teljes szélességet kitölti. */
.dn-lex-betusor {
	background: var(--wp--preset--color--surface);
	box-shadow: 0 0 0 100vmax var(--wp--preset--color--surface), 0 1px 0 100vmax var(--wp--custom--color--surface-tint);
	clip-path: inset(0 -100vmax -1px);
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + 5.25rem);
	transition: top 0.3s ease;
	z-index: 5;
}

:root:has(.dn-header.is-kompakt) .dn-lex-betusor {
	top: calc(var(--wp-admin--admin-bar--height, 0px) + 4.25rem);
}

.dn-fejlec-rejtett .dn-lex-betusor {
	top: var(--wp-admin--admin-bar--height, 0px);
}

.dn-lex-betusor ul {
	display: flex;
	gap: 0.125rem;
	justify-content: space-between;
	list-style: none;
	margin: 0;
	overflow-x: auto;
	padding: 0.625rem 0;
	scrollbar-width: none;
}

.dn-lex-betusor ul::-webkit-scrollbar {
	display: none;
}

.dn-lex-betusor a {
	align-items: center;
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--brand-dark);
	display: inline-flex;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	height: 2.5rem;
	justify-content: center;
	min-width: 2.25rem;
	padding-inline: 0.25rem;
	text-decoration: none;
	transition: background-color 0.15s, color 0.15s;
	white-space: nowrap;
}

.dn-lex-betusor a:hover {
	background: var(--wp--preset--color--brand-primary);
	color: var(--wp--preset--color--on-primary);
}

.dn-lexikon-test {
	padding-block-end: clamp(4rem, 8vw, 7rem);
}

.dn-lex-ures {
	font-size: var(--wp--preset--font-size--medium);
	margin-block: 3.5rem 0;
}

.dn-lex-betu {
	margin-block-start: 3.5rem;
	scroll-margin-top: 10rem;
}

.dn-lex-betu[hidden],
.dn-lex-tetel[hidden],
.dn-lex-ures[hidden] {
	display: none;
}

.dn-lex-betucim {
	align-items: center;
	color: var(--wp--preset--color--brand-primary);
	display: flex;
	font-size: var(--wp--preset--font-size--huge);
	gap: 1.25rem;
	line-height: 1;
	margin-block: 0 1.5rem;
}

.dn-lex-betucim::after {
	background: var(--wp--custom--color--surface-tint);
	content: "";
	flex: 1;
	height: 2px;
}

.dn-lex-racs {
	column-gap: 1.25rem;
	columns: 2 26rem;
}

.dn-lex-tetel {
	background: var(--wp--preset--color--on-primary);
	border: 1px solid var(--wp--custom--color--border);
	border-radius: var(--wp--custom--radius--md);
	break-inside: avoid;
	line-height: 1.65;
	margin-block-end: 1.25rem;
	padding: 1.625rem 1.75rem;
	scroll-margin-top: 10rem;
}

.dn-lex-tetel:target {
	border-color: var(--wp--preset--color--brand-primary);
	box-shadow: 0 0 0 2px var(--wp--preset--color--brand-primary);
}

.dn-lex-tetel h3 {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.3;
	margin-block: 0 0.375rem;
}

.dn-lex-tetel p {
	margin-block: 0 0.375rem;
}

.dn-lex-tetel .dn-lex-def {
	margin-block-end: 0.75rem;
}

.dn-lex-mas,
.dn-lex-sor,
.dn-lex-forras {
	color: var(--wp--custom--color--text-muted);
	font-size: var(--wp--preset--font-size--small);
}

.dn-lex-tetel .dn-lex-mas {
	margin-block-end: 0.625rem;
}

.dn-lex-mas strong,
.dn-lex-sor strong,
.dn-fogalom-mas strong {
	color: var(--wp--preset--color--brand-dark);
	font-weight: 600;
}

.dn-lex-tetel a:not(.dn-lex-reszletes),
.dn-fogalom-forrasok a {
	color: var(--wp--preset--color--brand-dark);
}

.dn-lex-forras {
	margin-block-start: 0.625rem;
}

.dn-lex-forras summary {
	align-items: center;
	color: var(--wp--preset--color--brand-dark);
	cursor: pointer;
	display: flex;
	font-weight: 600;
	gap: 0.375rem;
	list-style: none;
	width: max-content;
}

.dn-lex-forras summary::-webkit-details-marker {
	display: none;
}

.dn-lex-forras summary::after {
	flex-shrink: 0;
	height: 1.125rem;
	width: 1.125rem;
}

.dn-lex-forras[open] summary::after {
	transform: rotate(45deg);
}

.dn-lex-forras ol {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
	margin: 0.5rem 0 0;
	padding-left: 1.3em;
}

.dn-lex-reszletes {
	background: var(--wp--preset--color--brand-primary);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--on-primary);
	display: inline-flex;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	margin-block-start: 0.875rem;
	padding: 0.625rem 1.25rem;
	text-decoration: none;
	transition: background-color 0.15s;
}

.dn-lex-reszletes:hover {
	background: var(--wp--custom--color--primary-hover);
	color: var(--wp--preset--color--on-primary);
}

@media (max-width: 600px) {
	.dn-lex-tetel {
		padding: 1.25rem;
	}
}

/* ---------- Lexikon: fogalomoldal ---------- */

.dn-fogalom {
	padding-block: clamp(2rem, 4vw, 3.5rem) clamp(4rem, 8vw, 7rem);
}

.dn-fogalom-torzs > * {
	max-width: 760px;
}

.dn-fogalom-torzs .dn-morzsa p:last-child {
	color: var(--wp--preset--color--brand-dark);
}

.dn-fogalom-torzs > .dn-cikk-cim {
	margin-block-start: 0;
}

.dn-fogalom-mas {
	color: var(--wp--custom--color--text-muted);
	font-size: var(--wp--preset--font-size--medium);
	margin-block-start: 1rem;
}

.dn-fogalom-torzs > .dn-szoveg {
	margin-block-start: 2.25rem;
}

.dn-fogalom-kapcs {
	margin-block-start: 3.5rem;
}

.dn-fogalom-kapcs h2 {
	font-size: var(--wp--preset--font-size--x-large);
	margin-block: 0 1.25rem;
}

.dn-fogalom-kartyak,
.dn-fogalom-chipek {
	list-style: none;
	margin: 0;
	padding: 0;
}

.dn-fogalom-kartyak {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fill, minmax(min(18.75rem, 100%), 1fr));
	margin-block-end: 1.25rem;
}

.dn-fogalom-kartyak a {
	background: var(--wp--preset--color--on-primary);
	border: 1px solid var(--wp--custom--color--border);
	border-radius: var(--wp--custom--radius--sm);
	color: var(--wp--preset--color--brand-dark);
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
	height: 100%;
	padding: 1.25rem 1.5rem;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.dn-fogalom-kartyak a:hover {
	box-shadow: var(--wp--custom--shadow--card-hover);
	transform: translateY(-4px);
}

.dn-fogalom-tipus {
	color: var(--wp--custom--color--primary-hover);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.dn-fogalom-kcim {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
	line-height: 1.35;
}

.dn-fogalom-kjegy {
	color: var(--wp--custom--color--text-muted);
	font-size: var(--wp--preset--font-size--small);
}

.dn-fogalom-chipek {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
}

.dn-fogalom-chipek a,
.dn-fogalom-chipek span {
	background: var(--wp--custom--color--surface-tint);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--brand-dark);
	display: inline-flex;
	font-weight: 600;
	padding: 0.625rem 1.125rem;
	text-decoration: none;
	transition: background-color 0.15s, color 0.15s;
}

.dn-fogalom-chipek a:hover {
	background: var(--wp--preset--color--brand-dark);
	color: var(--wp--preset--color--on-primary);
}

.dn-fogalom-forrasok {
	border-top: 1px solid var(--wp--custom--color--border);
	margin-block-start: 3rem;
	padding-block-start: 2rem;
}

.dn-fogalom-forrasok h2 {
	font-size: var(--wp--preset--font-size--large);
	margin-block: 0 1rem;
}

.dn-fogalom-forrasok ol {
	color: var(--wp--custom--color--text-muted);
	display: flex;
	flex-direction: column;
	font-size: var(--wp--preset--font-size--small);
	gap: 0.75rem;
	line-height: 1.55;
	margin: 0;
	padding-left: 1.4em;
}

.dn-vissza {
	margin-block-start: 2.5rem;
}

/* ---------- Szolgáltatási oldalak, Rólam, Kapcsolat: közös elemek ---------- */

.dn-oldal-hos {
	overflow-x: clip;
	padding-block: clamp(2.5rem, min(7vw, 8vh), 5.5rem) clamp(4.5rem, 8vw, 7rem);
}

.dn-hos-lila,
.dn-sav-lila {
	background: var(--wp--custom--color--surface-tint);
}

.dn-sav-fent {
	padding-block-start: 1rem;
}

.dn-sav-nulla {
	padding-block-start: 0;
}

.dn-hos-racs {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: clamp(2.5rem, 5vw, 4rem);
}

.dn-keret-1100 {
	margin-inline: auto;
	max-width: 1100px;
}

.dn-forditott {
	flex-direction: row-reverse;
}

.dn-hos-szoveg {
	flex: 1.4 1 480px;
	min-width: 0;
}

.dn-felcim {
	color: var(--wp--custom--color--primary-hover);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	letter-spacing: 0.05em;
	margin: 0 0 0.75rem;
	text-transform: uppercase;
}

.dn-magenta {
	color: var(--wp--preset--color--brand-primary);
}

.dn-szolg-cim {
	font-size: min(var(--wp--preset--font-size--huge), calc((100vw - 3rem) / 9.6));
	letter-spacing: -0.01em;
	line-height: 1.08;
	margin-block-start: 0;
}

.dn-oldal-hos .dn-lead {
	margin-block: 1.5rem;
	max-width: 34em;
}

.dn-tenyek {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
}

.dn-tenyek li {
	background: var(--wp--custom--color--surface-tint);
	border-radius: var(--wp--custom--radius--pill);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	margin: 0;
	padding: 0.5rem 1.125rem;
}

.dn-hos-gombok {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem 1.75rem;
	margin-block-start: 1.5rem;
}

.dn-hos-gombok > * {
	margin: 0;
}

.dn-foto-lap {
	flex: 1 1 320px;
	margin: 0;
	max-width: 400px;
	position: relative;
}

.dn-keret-1100 .dn-foto-lap {
	max-width: 440px;
}

.dn-hos-racs > .dn-foto-lap {
	margin-inline: auto;
}

.dn-foto-lap::before {
	background: var(--wp--preset--color--brand-primary);
	border-radius: var(--wp--custom--radius--lg);
	content: "";
	inset: 24px -24px -24px 24px;
	position: absolute;
}

.dn-forditott .dn-foto-lap::before {
	inset: 24px 24px -24px -24px;
}

.dn-foto-lap img {
	aspect-ratio: 4 / 5;
	border-radius: var(--wp--custom--radius--lg);
	display: block;
	object-fit: cover;
	object-position: center top;
	position: relative;
	width: 100%;
}

/* ---------- Szolgáltatási oldalak ---------- */

.dn-seg-racs {
	align-items: start;
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(auto-fill, minmax(min(28rem, 100%), 1fr));
}

.dn-seg-racs > * {
	margin: 0;
}

.dn-seg {
	border-radius: var(--wp--custom--radius--md);
	transition: border-color 0.15s, box-shadow 0.15s;
}

.dn-seg:hover,
.dn-seg[open] {
	border-color: var(--wp--custom--color--border-strong);
	box-shadow: var(--wp--custom--shadow--card-hover);
}

.wp-block-details.dn-seg summary {
	align-items: center;
	border-radius: var(--wp--custom--radius--md);
	display: flex;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--large);
	gap: 1.125rem;
	line-height: 1.3;
	padding: 1.25rem 3.5rem 1.25rem 1.5rem;
}

.wp-block-details.dn-seg summary::before {
	background-color: var(--wp--preset--color--surface-alt);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 1.875rem;
	border-radius: 50%;
	content: "";
	flex-shrink: 0;
	height: 3.75rem;
	width: 3.75rem;
}

.dn-i-csepp summary::before { background-image: url("assets/ikonok/seg-csepp.svg"); }
.dn-i-haz summary::before { background-image: url("assets/ikonok/seg-haz.svg"); }
.dn-i-hullam summary::before { background-image: url("assets/ikonok/seg-hullam.svg"); }
.dn-i-irany summary::before { background-image: url("assets/ikonok/seg-irany.svg"); }
.dn-i-kettle summary::before { background-image: url("assets/ikonok/seg-kettle.svg"); }
.dn-i-le summary::before { background-image: url("assets/ikonok/seg-le.svg"); }
.dn-i-level summary::before { background-image: url("assets/ikonok/seg-level.svg"); }
.dn-i-ora summary::before { background-image: url("assets/ikonok/seg-ora.svg"); }
.dn-i-sulyzo summary::before { background-image: url("assets/ikonok/seg-sulyzo.svg"); }
.dn-i-szam160 summary::before { background-image: url("assets/ikonok/seg-szam160.svg"); }
.dn-i-sziv summary::before { background-image: url("assets/ikonok/seg-sziv.svg"); }
.dn-i-szulo summary::before { background-image: url("assets/ikonok/seg-szulo.svg"); }
.dn-i-tanyer summary::before { background-image: url("assets/ikonok/seg-tanyer.svg"); }
.dn-i-toll summary::before { background-image: url("assets/ikonok/seg-toll.svg"); }
.dn-i-villam summary::before { background-image: url("assets/ikonok/seg-villam.svg"); }

.wp-block-details.dn-seg > :not(summary) {
	padding-inline: 6.375rem 1.5rem;
}

.dn-seg .wp-block-buttons {
	padding-block-end: 1.625rem;
}

.dn-seg .wp-block-button__link {
	padding: 0.6875rem 1.375rem;
}

.dn-mit {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.dn-mit li {
	background: var(--wp--preset--color--on-primary);
	border-radius: var(--wp--custom--radius--md);
	margin: 0;
	padding: 1.625rem 1.625rem 1.75rem 4.375rem;
	position: relative;
}

.dn-mit li::before {
	background: var(--wp--preset--color--brand-primary) url("assets/ikonok/pipa.svg") center / 1.125rem no-repeat;
	border-radius: 50%;
	content: "";
	height: 1.875rem;
	left: 1.5rem;
	position: absolute;
	top: 1.625rem;
	width: 1.875rem;
}

.dn-mit strong,
.dn-lepesek strong {
	display: block;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
	line-height: 1.3;
	margin-block-end: 0.375rem;
}

.dn-lepesek {
	counter-reset: dn-lepes;
	display: grid;
	gap: 2rem;
	grid-template-columns: repeat(auto-fit, minmax(min(14.5rem, 100%), 1fr));
	list-style: none;
	margin: 0 0 4rem;
	padding: 0;
}

.dn-lepesek li {
	counter-increment: dn-lepes;
	margin: 0;
	padding-block-start: 4.75rem;
	position: relative;
}

.dn-sav-sotet .dn-lepesek li {
	color: var(--wp--preset--color--surface-alt);
}

.dn-sav-sotet .dn-lepesek strong {
	color: var(--wp--preset--color--on-primary);
}

.dn-lepesek li::before {
	align-items: center;
	background: var(--wp--preset--color--brand-primary);
	border-radius: 50%;
	color: var(--wp--preset--color--on-primary);
	display: flex;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 600;
	height: 3.5rem;
	justify-content: center;
	width: 3.5rem;
}

.dn-lepesek li::before {
	content: counter(dn-lepes);
	left: 0;
	position: absolute;
	top: 0;
}

.dn-lepesek li:not(:last-child)::after {
	background: var(--wp--custom--color--border-strong);
	content: "";
	height: 2px;
	left: 4.25rem;
	position: absolute;
	right: -1.25rem;
	top: 1.6875rem;
}

.dn-ar-kartya {
	align-items: center;
	background: var(--wp--preset--color--on-primary);
	border-radius: var(--wp--custom--radius--md);
	box-shadow: var(--wp--custom--shadow--stage);
	color: var(--wp--preset--color--brand-dark);
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem 2.5rem;
	justify-content: space-between;
	padding: 2.25rem 2.5rem;
}

.dn-ar-kartya .dn-felcim {
	margin-block-end: 0.375rem;
}

.dn-ar-osszeg {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--xx-large);
	font-weight: 600;
	line-height: 1.15;
	margin: 0;
}

.dn-ar-meg {
	color: var(--wp--custom--color--text-muted);
	font-size: var(--wp--preset--font-size--small);
	margin: 0.25rem 0 0;
}

.dn-ar-sorok {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 3rem;
}

.dn-ar-sorok > * {
	margin: 0;
}

.dn-gyik-racs {
	align-items: start;
	display: grid;
	gap: 3rem;
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
}

.dn-gyik-racs > * {
	margin: 0;
}

.dn-gyik-cim {
	position: sticky;
	top: 7rem;
}

.dn-gyik {
	display: grid;
	gap: 0.75rem;
}

.dn-gyik > * {
	margin: 0;
}

.dn-gyik .wp-block-details summary {
	font-family: var(--wp--preset--font-family--heading);
	padding: 1.25rem 3.5rem 1.25rem 1.5rem;
}

.dn-gyik .wp-block-details > :not(summary) {
	padding-inline: 1.5rem;
}

.dn-gyik .wp-block-details > :last-child {
	padding-block-end: 1.5rem;
}

.dn-zaro {
	align-items: center;
	background: var(--wp--custom--color--surface-tint);
	border-radius: var(--wp--custom--radius--lg);
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem 2.5rem;
	justify-content: space-between;
	padding: clamp(2.25rem, 5vw, 3.5rem);
}

.dn-zaro-bal {
	align-items: center;
	display: flex;
	gap: 1.25rem;
	min-width: 0;
}

.dn-zaro-bal > *,
.dn-zaro-bal p {
	margin: 0;
}

.dn-avatar {
	flex-shrink: 0;
	margin: 0;
}

.dn-avatar img {
	border-radius: 50%;
	display: block;
	height: 6rem;
	width: 6rem;
}

.dn-zaro-nev {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 600;
	line-height: 1.3;
}

/* ---------- Rólam ---------- */

.dn-titulus {
	color: var(--wp--custom--color--primary-hover);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
	margin-block: 0.75rem 1.5rem;
}

.dn-rolam-szamok {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-block: 1.75rem;
	max-width: 35rem;
}

.dn-rolam-szamok > * {
	background: var(--wp--preset--color--on-primary);
	border: 1px solid var(--wp--custom--color--border);
	border-radius: var(--wp--custom--radius--sm);
	color: var(--wp--custom--color--text-muted);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.35;
	margin: 0;
	padding: 1rem 1.125rem;
}

.dn-rolam-szamok p {
	margin: 0;
}

.dn-rolam-szamok .dn-szamlalo {
	color: var(--wp--preset--color--brand-primary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-large);
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	line-height: 1.1;
	margin-block-end: 0.25rem;
}

.dn-ido {
	margin-inline: auto;
	max-width: 900px;
	position: relative;
}

.dn-ido::before {
	background: var(--wp--custom--color--border-strong);
	border-radius: 3px;
	bottom: 0.75rem;
	content: "";
	left: 0.6875rem;
	position: absolute;
	top: 0.75rem;
	width: 3px;
}

.dn-ido-elem {
	background: var(--wp--preset--color--on-primary);
	border-radius: var(--wp--custom--radius--md);
	margin: 0 0 1.5rem 3.25rem;
	padding: 1.75rem 2rem 1.875rem;
	position: relative;
}

.dn-ido-elem:last-child {
	margin-block-end: 0;
}

.dn-ido-elem::before {
	background: var(--wp--preset--color--brand-primary);
	border-radius: 50%;
	box-shadow: 0 0 0 5px var(--wp--custom--color--surface-tint);
	content: "";
	height: 1.5625rem;
	left: -3.25rem;
	position: absolute;
	top: 1.875rem;
	width: 1.5625rem;
}

.dn-ido-elem h3 {
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.25;
	margin-block: 0 0.625rem;
}

.dn-ido-elem p {
	margin-block: 0 0.875rem;
}

.dn-ido-elem p:last-child {
	margin-block-end: 0;
}

.dn-ido-elem .wp-block-details {
	background: var(--wp--preset--color--surface);
	margin-block-start: 0.375rem;
}

.dn-datum {
	background: var(--wp--custom--color--surface-tint);
	border-radius: var(--wp--custom--radius--pill);
	display: inline-block;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	padding: 0.3125rem 0.875rem;
}

.dn-most {
	background: var(--wp--preset--color--brand-dark);
	color: var(--wp--preset--color--on-primary);
}

.dn-most h3,
.dn-most a {
	color: var(--wp--preset--color--on-primary);
}

.dn-most .dn-datum {
	background: var(--wp--preset--color--brand-primary);
}

.dn-logok {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
	margin-block-start: 0.375rem;
}

.dn-logok > * {
	margin: 0;
}

.dn-logo-regi img {
	display: block;
	height: 5.25rem;
	width: 5.25rem;
}

.dn-logo-uj img {
	display: block;
	width: 13rem;
}

.dn-logo-nyil {
	color: var(--wp--custom--color--border-strong);
	font-size: var(--wp--preset--font-size--x-large);
}

.dn-tem-sav .dn-hos-racs + .dn-hos-racs {
	margin-block-start: 7rem;
}

.dn-med-racs {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(auto-fill, minmax(min(18.75rem, 100%), 1fr));
}

.dn-med-racs > * {
	margin: 0;
}

.dn-med {
	padding: 1.625rem;
}

.dn-med h3 {
	font-size: var(--wp--preset--font-size--large);
	margin: 0;
}

.dn-med .dn-meta {
	margin-block: 0.375rem 1rem;
}

.dn-med .dn-eros-link {
	color: var(--wp--custom--color--primary-hover);
	margin: 0;
}

.dn-kovess-sav .dn-sav-cim {
	margin-block-end: 0.75rem;
}

.dn-kovess-sav p {
	margin-block: 0 1.5rem;
}

/* ---------- Kapcsolat ---------- */

.dn-kapcs-racs {
	align-items: start;
	display: grid;
	gap: clamp(2.5rem, 5vw, 4rem);
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
}

.dn-kapcs-racs > * {
	margin: 0;
}

.dn-kapcs-racs .dn-zaro-bal {
	margin-block-end: 1.5rem;
}

.dn-zaro-bal .dn-titulus {
	color: var(--wp--preset--color--brand-dark);
	font-size: var(--wp--preset--font-size--small);
	margin-block-start: 0.125rem;
}

.dn-kapcs-racs .dn-szolg-cim {
	font-size: min(var(--wp--preset--font-size--display), calc((100vw - 3rem) / 6));
}

.dn-kapcs-cimke {
	margin-block: 0 0.375rem;
}

.dn-kapcs-eler {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
	line-height: 1.6;
	margin-block: 0 1.25rem;
}

.dn-urlap {
	background: var(--wp--preset--color--on-primary);
	border: 1px solid var(--wp--custom--color--border);
	border-radius: var(--wp--custom--radius--lg);
	box-shadow: var(--wp--custom--shadow--card-hover);
	display: flex;
	flex-direction: column;
	gap: 1.125rem;
	padding: clamp(1.75rem, 4vw, 2.75rem);
}

.dn-urlap label {
	display: block;
	font-weight: 600;
}

.dn-urlap input:not([type="checkbox"]),
.dn-urlap select,
.dn-urlap textarea {
	background: var(--wp--preset--color--on-primary);
	border: 1px solid var(--wp--custom--color--border-strong);
	border-radius: 1rem;
	box-sizing: border-box;
	color: var(--wp--preset--color--brand-dark);
	display: block;
	font: inherit;
	font-weight: 400;
	margin-block-start: 0.375rem;
	padding: 0.875rem 1.125rem;
	width: 100%;
}

.dn-urlap select {
	appearance: none;
	background-image: url("assets/ikonok/lefele.svg");
	background-position: right 1.125rem center;
	background-repeat: no-repeat;
	background-size: 1rem;
	padding-inline-end: 3rem;
}

.dn-urlap textarea {
	min-height: 9.5rem;
	resize: vertical;
}

.dn-urlap-ket {
	display: grid;
	gap: 1.125rem;
	grid-template-columns: repeat(auto-fit, minmax(min(13.75rem, 100%), 1fr));
}

.dn-urlap .dn-urlap-hoz {
	display: flex;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
	gap: 0.75rem;
	line-height: 1.5;
}

.dn-urlap-hoz input {
	accent-color: var(--wp--preset--color--brand-primary);
	flex-shrink: 0;
	height: 1.375rem;
	margin: 0.125rem 0 0;
	width: 1.375rem;
}

.dn-urlap-hibak {
	background: var(--wp--custom--color--state-error-bg);
	border-radius: 1rem;
	color: var(--wp--custom--color--state-error);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	list-style: none;
	margin: 0;
	padding: 0.875rem 1.125rem;
}

.dn-urlap [aria-invalid="true"] {
	border-color: var(--wp--custom--color--state-error);
}

.dn-urlap-kesz {
	color: var(--wp--custom--color--state-success);
	font-weight: 600;
}

.dn-urlap-kesz p {
	margin: 0;
}

.dn-urlap button {
	align-self: flex-start;
	border: 0;
	box-shadow: var(--wp--custom--shadow--button);
	cursor: pointer;
	padding: 1rem 2rem;
}

/* A Kapcsolat idővonalának alja: a szolgáltatási oldalak árkártyájának formája, fehér sávon lila háttérrel. */
.dn-szl {
	align-items: center;
	background: var(--wp--custom--color--surface-tint);
	border-radius: var(--wp--custom--radius--md);
	box-sizing: border-box;
	color: var(--wp--preset--color--brand-dark);
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin: 0;
	padding: 2rem 2.5rem;
}

.dn-szl strong {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 600;
	margin-inline-end: auto;
}

.dn-szl a:where(:not(.wp-element-button)) {
	align-items: center;
	background: var(--wp--preset--color--on-primary);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--brand-dark);
	display: inline-flex;
	font-weight: 600;
	gap: 0.5rem;
	padding: 0.75rem 1.5rem;
	text-decoration: none;
	transition: background-color 0.15s, color 0.15s;
}

.dn-szl a::after {
	color: var(--wp--custom--color--primary-hover);
	content: "→";
	transition: color 0.15s;
}

.dn-szl a:where(:not(.wp-element-button)):hover {
	background: var(--wp--preset--color--brand-dark);
	color: var(--wp--preset--color--on-primary);
}

.dn-szl a:hover::after {
	color: var(--wp--preset--color--on-primary);
}

@media (max-width: 860px) {
	.dn-gyik-racs,
	.dn-kapcs-racs {
		grid-template-columns: minmax(0, 1fr);
	}

	.dn-gyik-cim {
		position: static;
	}

	.dn-gyik-racs {
		gap: 1.75rem;
	}

	.dn-forditott {
		flex-direction: row;
	}

	.dn-foto-lap::before,
	.dn-forditott .dn-foto-lap::before {
		inset: 16px -12px -16px 16px;
	}

	.wp-block-details.dn-seg summary {
		font-size: var(--wp--preset--font-size--medium);
		gap: 0.625rem;
		padding: 0.875rem 3rem 0.875rem 0.875rem;
	}

	.wp-block-details.dn-seg summary::before {
		background-size: 1.5rem;
		height: 2.75rem;
		width: 2.75rem;
	}

	.wp-block-details.dn-seg > :not(summary) {
		padding-inline: 1rem;
	}

	.dn-lepesek li:not(:last-child)::after {
		display: none;
	}

	.dn-ar-kartya {
		padding: 1.75rem 1.5rem;
	}

	.dn-szl {
		padding: 1.75rem 1.5rem;
	}

	.dn-szl strong {
		flex-basis: 100%;
	}

	.dn-ido::before {
		left: 0.6875rem;
	}

	.dn-ido-elem {
		margin-inline-start: 2.5rem;
		padding: 1.375rem 1.375rem 1.5rem;
	}

	.dn-ido-elem::before {
		left: -2.5rem;
	}

	.dn-tem-sav .dn-hos-racs + .dn-hos-racs {
		margin-block-start: 4.5rem;
	}
}

/* ---------- Lenyitható blokk ---------- */

/* Minden lenyíló ugyanazt a pluszt használja, nyitáskor 45 fokot fordul. */
.wp-block-details summary::after,
.dn-tartalom-fent summary::after,
.dn-lex-forras summary::after {
	background: currentcolor;
	content: "";
	height: 1.375rem;
	mask: url("assets/ikonok/plusz.svg") center / contain no-repeat;
	transition: transform 0.2s ease;
	width: 1.375rem;
}

.wp-block-details {
	background: var(--wp--preset--color--on-primary);
	border: 1px solid var(--wp--custom--color--border);
	border-radius: var(--wp--custom--radius--sm);
	padding: 0;
}

.wp-block-details summary {
	cursor: pointer;
	font-weight: 600;
	list-style: none;
	padding: var(--wp--preset--spacing--20) calc(var(--wp--preset--spacing--20) * 3) var(--wp--preset--spacing--20) var(--wp--preset--spacing--20);
	position: relative;
}

.wp-block-details summary::-webkit-details-marker {
	display: none;
}

.wp-block-details summary::after {
	position: absolute;
	right: var(--wp--preset--spacing--20);
	top: 50%;
	transform: translateY(-50%);
}

.wp-block-details[open] summary::after {
	transform: translateY(-50%) rotate(45deg);
}

.wp-block-details > :not(summary) {
	padding-inline: var(--wp--preset--spacing--20);
}

.wp-block-details > :last-child {
	padding-block-end: var(--wp--preset--spacing--20);
}

.price {
	font-weight: 600;
}

/* ---------- Számok (brand/numeric.css) ---------- */

.wp-block-table td,
.wp-block-table th,
.price,
.woocommerce-Price-amount,
.dn-numeric,
.dn-nutrition td,
.dn-glucose {
	font-variant-numeric: tabular-nums lining-nums slashed-zero;
	font-feature-settings: "tnum" 1, "lnum" 1, "zero" 1;
}

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

@media (prefers-reduced-motion: reduce) {
	.dn-header,
	.dn-kapszula,
	.dn-logo img,
	.is-style-dn-kartya,
	.dn-rolam-foto img {
		transition: none;
	}

	.dn-kartya-link:hover,
	.dn-szolg-kartya:hover,
	.dn-rolam-foto:hover img {
		transform: none;
	}

	.dn-seg,
	.dn-szl a,
	.dn-szl a::after,
	.wp-block-details summary::after,
	.dn-tartalom-fent summary::after,
	.dn-lex-forras summary::after {
		transition: none;
	}

	.dn-velemenyek {
		scroll-behavior: auto;
	}
}
