/* ==========================================================================
   TAXOLOGY Kft. — Design rendszer
   GeneratePress gyerektéma | v1.0.0
   Felépítés:
     01. Betűtípusok (önállóan hostolt, GDPR-tiszta)
     02. Design tokenek        ← itt állítsd a márkaszíneket
     03. Alap / tipográfia
     04. Felső sáv, fejléc & navigáció
     05. Szekciók & elrendezés
     06. Gombok
     07. Kártyák & rácsok
     08. Hero
     09. Osztott (kép + szöveg) blokkok
     10. Statisztikák & számlálók
     11. Folyamat-lépések
     12. Akkordeon / GYIK
     13. Ártáblák
     14. Vélemények
     15. Űrlapok (Contact Form 7)
     16. Blog
     17. Lábléc
     18. Animációk
     19. Segédosztályok
     20. Reszponzív finomhangolás
     21. Akadálymentesség & nyomtatás
   ========================================================================== */

/* ==========================================================================
   01. BETŰTÍPUSOK
   ========================================================================== */

/* Inter — törzsszöveg (változó betűtípus, 400–700) */
@font-face {
	font-family: 'TX Inter';
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url('../fonts/inter-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'TX Inter';
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url('../fonts/inter-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Jost — címsorok (geometrikus, a logó betűformáihoz igazodik, 300–700) */
@font-face {
	font-family: 'TX Jost';
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
	src: url('../fonts/jost-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'TX Jost';
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
	src: url('../fonts/jost-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================================
   02. DESIGN TOKENEK
   A styleguide négy alapszíne: #3F4255 · #F5F0EA · #B4BBC3 · #97897E
   Minden más ezekből származtatott skála. Márkaváltáshoz csak ezt írd át.
   ========================================================================== */

:root {
	/* Navy — a márka fő színe (#3F4255) körüli teljes skála */
	--tx-navy-950: #1a1c25;
	--tx-navy-900: #22252f;
	--tx-navy-850: #262935;
	--tx-navy-800: #2f3241;
	--tx-navy-700: #3f4255; /* ← styleguide navy */
	--tx-navy-600: #4e5268;
	--tx-navy-500: #626780;
	--tx-navy-400: #7c8299;
	--tx-navy-300: #b4bbc3; /* ← styleguide kékesszürke */
	--tx-navy-200: #ced4da;
	--tx-navy-100: #e4e7eb;
	--tx-navy-050: #f0f2f5;

	/* Taupe — kiemelés (#97897E) */
	--tx-taupe-800: #6b6157;
	--tx-taupe-700: #7f7469;
	--tx-taupe-600: #97897e; /* ← styleguide taupe */
	--tx-taupe-500: #a99c92;
	--tx-taupe-300: #c9bfb6;
	--tx-taupe-100: #ece5df;

	/* Krém & felületek (#F5F0EA) */
	--tx-cream:      #f5f0ea; /* ← styleguide krém */
	--tx-cream-soft: #faf8f5;
	--tx-white:      #ffffff;

	/* Vonalak */
	--tx-line:      #e2dcd4;
	--tx-line-soft: #ece7e1;
	--tx-line-dark: rgba(255, 255, 255, 0.14);

	/* Szemantikus */
	--tx-text:        var(--tx-navy-800);
	--tx-text-strong: var(--tx-navy-900);
	--tx-text-muted:  var(--tx-navy-500);
	--tx-primary:       var(--tx-navy-700);
	--tx-primary-hover: var(--tx-navy-850);
	--tx-accent:        var(--tx-taupe-600);
	--tx-accent-hover:  var(--tx-taupe-700);

	/* Tipográfia */
	--tx-font-body: 'TX Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	--tx-font-head: 'TX Jost', 'TX Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

	--tx-h1: clamp(2.35rem, 1.35rem + 3.4vw, 4.15rem);
	--tx-h2: clamp(1.85rem, 1.2rem + 2.1vw, 2.9rem);
	--tx-h3: clamp(1.28rem, 1.08rem + 0.65vw, 1.6rem);
	--tx-h4: clamp(1.08rem, 1rem + 0.3vw, 1.22rem);
	--tx-body: clamp(1rem, 0.97rem + 0.14vw, 1.075rem);
	--tx-lead: clamp(1.08rem, 1rem + 0.4vw, 1.28rem);
	--tx-small: 0.9375rem;
	--tx-micro: 0.8125rem;

	/* Ritmus */
	--tx-space-section: clamp(4rem, 2.4rem + 5.2vw, 7.5rem);
	--tx-space-gap:     clamp(1.5rem, 1rem + 1.6vw, 2.5rem);
	--tx-container:     1240px;
	--tx-container-narrow: 820px;
	--tx-gutter:        clamp(1.25rem, 0.6rem + 2.4vw, 2.5rem);

	/* Forma */
	--tx-radius:    14px;
	--tx-radius-sm: 9px;
	--tx-radius-lg: 22px;
	--tx-radius-pill: 999px;

	/* Árnyékok — visszafogottak, a stílus a vonalakra épül */
	--tx-shadow-sm: 0 1px 2px rgba(38, 41, 53, 0.05), 0 2px 8px rgba(38, 41, 53, 0.04);
	--tx-shadow:    0 2px 6px rgba(38, 41, 53, 0.06), 0 14px 34px rgba(38, 41, 53, 0.07);
	--tx-shadow-lg: 0 4px 12px rgba(38, 41, 53, 0.08), 0 26px 60px rgba(38, 41, 53, 0.11);

	/* Mozgás */
	--tx-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
	--tx-fast: 160ms;
	--tx-mid:  280ms;
	--tx-slow: 620ms;
}

/* ==========================================================================
   03. ALAP / TIPOGRÁFIA
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body,
body.tx-page {
	font-family: var(--tx-font-body);
	font-size: var(--tx-body);
	line-height: 1.68;
	color: var(--tx-text);
	background: var(--tx-cream-soft);
	-webkit-font-smoothing: antialiased;
	font-feature-settings: 'kern' 1, 'liga' 1, 'calt' 1;
}

h1, h2, h3, h4, h5, h6,
.tx-h1, .tx-h2, .tx-h3 {
	font-family: var(--tx-font-head);
	color: var(--tx-text-strong);
	font-weight: 500;
	line-height: 1.14;
	letter-spacing: -0.012em;
	margin: 0 0 0.6em;
	text-wrap: balance;
}

h1, .tx-h1 { font-size: var(--tx-h1); font-weight: 400; letter-spacing: -0.022em; line-height: 1.06; }
h2, .tx-h2 { font-size: var(--tx-h2); font-weight: 400; letter-spacing: -0.018em; line-height: 1.12; }
h3, .tx-h3 { font-size: var(--tx-h3); font-weight: 500; }
h4          { font-size: var(--tx-h4); font-weight: 600; letter-spacing: 0; }

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

a {
	color: var(--tx-primary);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
	text-decoration-color: var(--tx-taupe-300);
	transition: color var(--tx-fast) var(--tx-ease), text-decoration-color var(--tx-fast) var(--tx-ease);
}
a:hover { color: var(--tx-accent-hover); text-decoration-color: currentColor; }

strong, b { font-weight: 600; color: var(--tx-text-strong); }

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

hr, .wp-block-separator {
	border: 0;
	border-top: 1px solid var(--tx-line);
	margin: var(--tx-space-gap) 0;
	max-width: none;
}

::selection { background: var(--tx-navy-700); color: var(--tx-cream); }

/* Kiemelt bevezető */
.tx-lead {
	font-size: var(--tx-lead);
	line-height: 1.6;
	color: var(--tx-text-muted);
	max-width: 62ch;
}
.tx-lead.is-centered { margin-inline: auto; }

/* Szemöldök-felirat a szekciók fölött */
.tx-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.7em;
	font-family: var(--tx-font-body);
	font-size: var(--tx-micro);
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--tx-taupe-700);
	margin: 0 0 1.1em;
}
.tx-eyebrow::before {
	content: '';
	width: 2.2em;
	height: 1px;
	background: currentColor;
	opacity: 0.55;
	flex: none;
}
.tx-eyebrow.is-centered { justify-content: center; }
.tx-eyebrow.on-dark { color: var(--tx-taupe-300); }

/* Címke */
.tx-tag {
	display: inline-block;
	font-size: var(--tx-micro);
	font-weight: 600;
	letter-spacing: 0.05em;
	color: var(--tx-taupe-700);
	background: var(--tx-taupe-100);
	border-radius: var(--tx-radius-pill);
	padding: 0.35em 0.85em;
	margin: 0 0 0.9em;
}

/* Listák a tartalomban */
.entry-content ul:not([class]),
.entry-content ol:not([class]) { padding-left: 1.15em; margin: 0 0 1.2em; }
.entry-content ul:not([class]) { list-style: none; padding-left: 0; }
.entry-content ul:not([class]) > li {
	position: relative;
	padding-left: 1.7em;
	margin-bottom: 0.55em;
}
.entry-content ul:not([class]) > li::before {
	content: '';
	position: absolute;
	left: 0.15em;
	top: 0.62em;
	width: 0.52em;
	height: 0.52em;
	border: 1.5px solid var(--tx-taupe-600);
	border-radius: 50%;
}
.entry-content ol:not([class]) > li { margin-bottom: 0.55em; }

/* Idézet */
blockquote, .wp-block-quote {
	margin: var(--tx-space-gap) 0;
	padding: 0 0 0 clamp(1.1rem, 2.2vw, 1.9rem);
	border-left: 2px solid var(--tx-taupe-600);
	font-family: var(--tx-font-head);
	font-size: clamp(1.1rem, 1rem + 0.6vw, 1.42rem);
	font-weight: 300;
	line-height: 1.45;
	color: var(--tx-navy-700);
}
blockquote cite, .wp-block-quote cite {
	display: block;
	margin-top: 0.9em;
	font-family: var(--tx-font-body);
	font-size: var(--tx-small);
	font-style: normal;
	font-weight: 600;
	color: var(--tx-text-muted);
}

/* Táblázat */
.entry-content table, .wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--tx-small);
	background: var(--tx-white);
}
.entry-content th, .entry-content td { padding: 0.85em 1em; border-bottom: 1px solid var(--tx-line); text-align: left; }
.entry-content th { font-family: var(--tx-font-head); font-weight: 600; background: var(--tx-cream); color: var(--tx-navy-800); }

/* Kód */
code, kbd {
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 0.9em;
	background: var(--tx-navy-050);
	border-radius: 5px;
	padding: 0.12em 0.4em;
}

/* ==========================================================================
   04. FELSŐ SÁV, FEJLÉC & NAVIGÁCIÓ
   ========================================================================== */

/* Olvasási folyamatjelző */
.tx-progress {
	position: fixed;
	inset: 0 0 auto 0;
	height: 2px;
	z-index: 1000;
	background: transparent;
	pointer-events: none;
}
.tx-progress__bar {
	height: 100%;
	width: 0;
	background: linear-gradient(90deg, var(--tx-taupe-600), var(--tx-navy-500));
	transition: width 90ms linear;
}

/* Felső elérhetőségi sáv */
.tx-topbar {
	background: var(--tx-navy-850);
	color: var(--tx-navy-200);
	font-size: var(--tx-micro);
	letter-spacing: 0.01em;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.tx-topbar__inner {
	max-width: var(--tx-container);
	margin: 0 auto;
	padding: 0.6rem var(--tx-gutter);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 1.6rem;
}
.tx-topbar__items { display: flex; align-items: center; gap: 1.4rem; flex-wrap: wrap; }
.tx-topbar__link,
.tx-topbar__note {
	display: inline-flex;
	align-items: center;
	gap: 0.45em;
	color: inherit;
	text-decoration: none;
	white-space: nowrap;
}
.tx-topbar__link:hover { color: var(--tx-white); }
.tx-topbar__link svg,
.tx-topbar__note svg {
	width: 14px;
	height: 14px;
	flex: none;
	fill: none;
	stroke: var(--tx-taupe-500);
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Fejléc */
.site-header {
	background: rgba(250, 248, 245, 0.88);
	backdrop-filter: saturate(150%) blur(12px);
	-webkit-backdrop-filter: saturate(150%) blur(12px);
	border-bottom: 1px solid var(--tx-line-soft);
	position: sticky;
	top: 0;
	z-index: 900;
	transition: box-shadow var(--tx-mid) var(--tx-ease), background var(--tx-mid) var(--tx-ease);
}
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }

body.tx-scrolled .site-header {
	box-shadow: 0 1px 0 var(--tx-line), 0 10px 28px rgba(38, 41, 53, 0.07);
	background: rgba(250, 248, 245, 0.95);
}

.site-header .inside-header {
	max-width: var(--tx-container);
	margin: 0 auto;
	padding: 0.85rem var(--tx-gutter);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	transition: padding var(--tx-mid) var(--tx-ease);
}
body.tx-scrolled .site-header .inside-header { padding-block: 0.55rem; }

/* Logó */
.site-logo { display: flex; align-items: center; }
.site-logo img,
.site-header .header-image {
	height: clamp(34px, 3.2vw, 46px);
	width: auto;
	transition: height var(--tx-mid) var(--tx-ease);
}
body.tx-scrolled .site-logo img { height: clamp(30px, 2.6vw, 38px); }

.site-branding .site-title,
.site-branding .main-title {
	font-family: var(--tx-font-head);
	font-size: 1.32rem;
	font-weight: 400;
	letter-spacing: 0.01em;
	margin: 0;
	line-height: 1;
}
.site-branding .main-title a { color: var(--tx-navy-700); text-decoration: none; }
.site-branding .site-description { display: none; }

/* Fő navigáció */
.main-navigation,
.main-navigation.sub-menu-left { background: transparent; }
.main-navigation .inside-navigation { padding: 0; }

.main-navigation .main-nav > ul {
	display: flex;
	align-items: center;
	gap: clamp(0.2rem, 1.1vw, 0.9rem);
}
.main-navigation .main-nav ul li a {
	font-family: var(--tx-font-head);
	font-size: 1.0rem;
	font-weight: 500;
	letter-spacing: 0.004em;
	color: var(--tx-navy-700);
	padding: 0.55rem 0.7rem;
	line-height: 1.4;
	position: relative;
	text-decoration: none;
	border-radius: var(--tx-radius-sm);
	transition: color var(--tx-fast) var(--tx-ease), background var(--tx-fast) var(--tx-ease);
}
.main-navigation .main-nav ul li a::after {
	content: '';
	position: absolute;
	left: 0.7rem;
	right: 0.7rem;
	bottom: 0.3rem;
	height: 1.5px;
	background: var(--tx-taupe-600);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--tx-mid) var(--tx-ease);
}
.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li.sfHover > a,
.main-navigation .main-nav ul li a:focus-visible { color: var(--tx-navy-900); background: transparent; }
.main-navigation .main-nav ul li:hover > a::after,
.main-navigation .main-nav ul li.current-menu-item > a::after,
.main-navigation .main-nav ul li.current-menu-parent > a::after,
.main-navigation .main-nav ul li.current-menu-ancestor > a::after { transform: scaleX(1); }
.main-navigation .main-nav ul li.current-menu-item > a { color: var(--tx-navy-900); }

/* Almenü */
.main-navigation ul ul {
	background: var(--tx-white);
	border: 1px solid var(--tx-line);
	border-radius: var(--tx-radius);
	box-shadow: var(--tx-shadow);
	padding: 0.45rem;
	min-width: 268px;
	overflow: hidden;
}
.main-navigation ul ul li a {
	padding: 0.6rem 0.85rem;
	font-size: var(--tx-small);
	font-weight: 500;
	border-radius: var(--tx-radius-sm);
	white-space: normal;
	line-height: 1.35;
}
.main-navigation ul ul li a::after { display: none; }
.main-navigation ul ul li:hover > a { background: var(--tx-cream); color: var(--tx-navy-900); }
.main-navigation .dropdown-menu-toggle { padding-left: 0.2em; }

/* Menü CTA-gomb */
.main-navigation .main-nav ul li.tx-nav-cta { margin-left: clamp(0.35rem, 1vw, 1rem); }
.main-navigation .main-nav ul li.tx-nav-cta > a {
	background: var(--tx-navy-700);
	color: var(--tx-cream);
	border-radius: var(--tx-radius-pill);
	padding: 0.66rem 1.35rem;
	font-weight: 600;
	box-shadow: 0 1px 2px rgba(38, 41, 53, 0.18);
}
.main-navigation .main-nav ul li.tx-nav-cta > a::after { display: none; }
.main-navigation .main-nav ul li.tx-nav-cta:hover > a {
	background: var(--tx-navy-850);
	color: var(--tx-white);
	transform: translateY(-1px);
}

/* Mobil menü */
.main-navigation .menu-toggle {
	font-family: var(--tx-font-head);
	font-weight: 500;
	color: var(--tx-navy-700);
	padding: 0.7rem 0.4rem;
	background: transparent;
}
.main-navigation.toggled .main-nav > ul {
	display: block;
	background: var(--tx-white);
	border-top: 1px solid var(--tx-line-soft);
	padding: 0.5rem 0 1rem;
	max-height: calc(100vh - 160px);
	overflow-y: auto;
}
.main-navigation.toggled .main-nav > ul > li > a { padding: 0.8rem var(--tx-gutter); }
.main-navigation.toggled .main-nav ul li a::after { display: none; }
.main-navigation.toggled .main-nav ul li.tx-nav-cta { margin: 0.8rem var(--tx-gutter) 0; }
.main-navigation.toggled .main-nav ul li.tx-nav-cta > a { display: block; text-align: center; }
.main-navigation.toggled ul ul { box-shadow: none; border: 0; border-left: 2px solid var(--tx-line); border-radius: 0; margin-left: var(--tx-gutter); }

/* Lebegő telefongomb (mobil) */
.tx-fab {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	z-index: 950;
	display: none;
	align-items: center;
	gap: 0.5em;
	background: var(--tx-navy-700);
	color: var(--tx-cream);
	text-decoration: none;
	font-family: var(--tx-font-head);
	font-weight: 600;
	font-size: var(--tx-small);
	padding: 0.8rem 1.15rem;
	border-radius: var(--tx-radius-pill);
	box-shadow: var(--tx-shadow-lg);
}
.tx-fab svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 768px) { .tx-fab { display: inline-flex; } }

/* Vissza a tetejére */
.generate-back-to-top {
	background: var(--tx-navy-700);
	color: var(--tx-cream);
	border-radius: 50%;
	box-shadow: var(--tx-shadow);
}
.generate-back-to-top:hover { background: var(--tx-navy-850); color: var(--tx-white); }

/* ==========================================================================
   05. SZEKCIÓK & ELRENDEZÉS
   ========================================================================== */

.tx-page .site-content { padding: 0; }
.tx-page .site-main { margin: 0; }
.tx-page.page .inside-article { padding: 0; }
.tx-page.page .site-content .content-area { margin: 0; }
.tx-page.page .entry-content { margin-top: 0; }
.tx-page.page article { border: 0; background: transparent; }

/* Teljes szélességű blokkok a tartalomban */
.tx-page .entry-content > .alignfull {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	width: auto;
}
.tx-page .entry-content > .alignwide {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--tx-container);
}

/* Szekció */
.tx-section {
	position: relative;
	padding-block: var(--tx-space-section);
	background: var(--tx-cream-soft);
}
.tx-section--tint  { background: var(--tx-cream); }
.tx-section--white { background: var(--tx-white); }
.tx-section--flat  { padding-block: clamp(2.5rem, 1.4rem + 3vw, 4rem); }
.tx-section--band  { padding-block: clamp(2rem, 1.2rem + 2.4vw, 3.1rem); }
.tx-section--tight { padding-top: 0; }

/* Sötét szekció */
.tx-section--dark {
	background: var(--tx-navy-850);
	color: var(--tx-navy-200);
	overflow: hidden;
}
.tx-section--dark h1,
.tx-section--dark h2,
.tx-section--dark h3,
.tx-section--dark h4 { color: var(--tx-cream); }
.tx-section--dark .tx-lead { color: var(--tx-navy-300); }
.tx-section--dark a:not(.tx-btn) { color: var(--tx-taupe-300); }
.tx-section--dark a:not(.tx-btn):hover { color: var(--tx-white); }

/* Finom, lassú fényjáték a sötét szekciókban */
.tx-section--dark::before {
	content: '';
	position: absolute;
	inset: -30% -10%;
	background:
		radial-gradient(38% 46% at 18% 22%, rgba(151, 137, 126, 0.20), transparent 70%),
		radial-gradient(34% 40% at 84% 74%, rgba(180, 187, 195, 0.14), transparent 70%);
	animation: tx-drift 26s ease-in-out infinite alternate;
	pointer-events: none;
}
.tx-section--dark > * { position: relative; z-index: 1; }
@keyframes tx-drift {
	from { transform: translate3d(-2%, -1%, 0) scale(1); }
	to   { transform: translate3d(2%, 2%, 0) scale(1.07); }
}
@media (prefers-reduced-motion: reduce) { .tx-section--dark::before { animation: none; } }

/* Konténer */
.tx-container {
	width: 100%;
	max-width: var(--tx-container);
	margin: 0 auto;
	padding-inline: var(--tx-gutter);
}
.tx-container--narrow { max-width: var(--tx-container-narrow); }

/* Szekciófejléc */
.tx-section-head { max-width: 72ch; margin-bottom: clamp(2rem, 1.2rem + 2.2vw, 3.4rem); }
.tx-section-head.is-centered { margin-inline: auto; text-align: center; }
.tx-section-head > *:last-child { margin-bottom: 0; }

/* Rácsok */
.tx-grid { display: grid; gap: var(--tx-space-gap); }
.tx-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tx-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tx-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 980px) {
	.tx-grid--3, .tx-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
	.tx-grid--2, .tx-grid--3, .tx-grid--4 { grid-template-columns: 1fr; }
}

/* ==========================================================================
   06. GOMBOK
   Gutenberg gomb-blokkon és sima linkeken egyaránt működik.
   ========================================================================== */

.tx-btn > .wp-block-button__link,
a.tx-btn,
.tx-btn.wp-block-button > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6em;
	font-family: var(--tx-font-head);
	font-size: 1.0rem;
	font-weight: 600;
	letter-spacing: 0.005em;
	line-height: 1.2;
	text-decoration: none;
	padding: 0.92em 1.75em;
	border-radius: var(--tx-radius-pill);
	border: 1.5px solid transparent;
	cursor: pointer;
	transition: background var(--tx-fast) var(--tx-ease), color var(--tx-fast) var(--tx-ease),
	            border-color var(--tx-fast) var(--tx-ease), transform var(--tx-fast) var(--tx-ease),
	            box-shadow var(--tx-fast) var(--tx-ease);
}

/* Elsődleges — navy */
.tx-btn > .wp-block-button__link,
a.tx-btn {
	background: var(--tx-navy-700);
	border-color: var(--tx-navy-700);
	color: var(--tx-cream);
	box-shadow: 0 1px 2px rgba(38, 41, 53, 0.16);
}
.tx-btn > .wp-block-button__link:hover,
a.tx-btn:hover {
	background: var(--tx-navy-850);
	border-color: var(--tx-navy-850);
	color: var(--tx-white);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(38, 41, 53, 0.20);
}

/* Kiemelt — taupe */
.tx-btn--accent > .wp-block-button__link,
a.tx-btn--accent {
	background: var(--tx-taupe-600);
	border-color: var(--tx-taupe-600);
	color: var(--tx-white);
}
.tx-btn--accent > .wp-block-button__link:hover,
a.tx-btn--accent:hover { background: var(--tx-taupe-700); border-color: var(--tx-taupe-700); }

/* Körvonalas — világos alapon */
.tx-btn--ghost > .wp-block-button__link,
a.tx-btn--ghost {
	background: transparent;
	border-color: var(--tx-navy-300);
	color: var(--tx-navy-700);
	box-shadow: none;
}
.tx-btn--ghost > .wp-block-button__link:hover,
a.tx-btn--ghost:hover {
	background: var(--tx-navy-700);
	border-color: var(--tx-navy-700);
	color: var(--tx-cream);
}

/* Körvonalas — sötét alapon */
.tx-btn--outline-light > .wp-block-button__link,
a.tx-btn--outline-light {
	background: transparent;
	border-color: rgba(245, 240, 234, 0.42);
	color: var(--tx-cream);
	box-shadow: none;
}
.tx-btn--outline-light > .wp-block-button__link:hover,
a.tx-btn--outline-light:hover {
	background: var(--tx-cream);
	border-color: var(--tx-cream);
	color: var(--tx-navy-850);
}

/* Világos tömör — sötét alapon */
.tx-btn--light > .wp-block-button__link,
a.tx-btn--light {
	background: var(--tx-cream);
	border-color: var(--tx-cream);
	color: var(--tx-navy-850);
}
.tx-btn--light > .wp-block-button__link:hover,
a.tx-btn--light:hover { background: var(--tx-white); border-color: var(--tx-white); }

/* Méretek */
.tx-btn--sm > .wp-block-button__link,
a.tx-btn--sm { padding: 0.7em 1.3em; font-size: var(--tx-small); }
.tx-btn--lg > .wp-block-button__link,
a.tx-btn--lg { padding: 1.05em 2.1em; font-size: 1.06rem; }

/* Nyilas gomb */
.tx-btn--arrow > .wp-block-button__link::after,
a.tx-btn--arrow::after {
	content: '';
	width: 1.05em;
	height: 1.05em;
	flex: none;
	background: currentColor;
	-webkit-mask: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
	mask: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
	transition: transform var(--tx-fast) var(--tx-ease);
}
.tx-btn--arrow:hover > .wp-block-button__link::after,
a.tx-btn--arrow:hover::after { transform: translateX(3px); }

/* Gombsor */
.tx-btn-row { display: flex; flex-wrap: wrap; gap: 0.8rem 1rem; margin-top: 1.9rem; }
.tx-btn-row.is-centered { justify-content: center; }

/* Nyilas szöveglink */
.tx-link-arrow {
	display: inline-flex;
	align-items: center;
	gap: 0.45em;
	font-family: var(--tx-font-head);
	font-weight: 600;
	font-size: var(--tx-small);
	text-decoration: none;
	color: var(--tx-navy-700);
}
.tx-link-arrow::after {
	content: '→';
	transition: transform var(--tx-fast) var(--tx-ease);
}
.tx-link-arrow:hover { color: var(--tx-accent-hover); }
.tx-link-arrow:hover::after { transform: translateX(4px); }

/* ==========================================================================
   07. KÁRTYÁK & RÁCSOK
   ========================================================================== */

.tx-card {
	display: flex;
	flex-direction: column;
	background: var(--tx-white);
	border: 1px solid var(--tx-line);
	border-radius: var(--tx-radius);
	overflow: hidden;
	transition: transform var(--tx-mid) var(--tx-ease), box-shadow var(--tx-mid) var(--tx-ease), border-color var(--tx-mid) var(--tx-ease);
}
.tx-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--tx-shadow);
	border-color: var(--tx-taupe-300);
}
.tx-card__body {
	padding: clamp(1.4rem, 1rem + 1.2vw, 2.1rem);
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: 0;
}
.tx-card__body > h3 { margin-bottom: 0.55em; }
.tx-card__body > p { color: var(--tx-text-muted); font-size: var(--tx-small); }
.tx-card__cta { margin-top: auto; padding-top: 1.35rem; }
.tx-card__cta.tx-btn-row { margin-top: auto; }

/* Kártya sorszámmal */
.tx-card--numbered .tx-card__body { position: relative; }
.tx-card--numbered .tx-card__body::before {
	content: attr(data-tx-num);
	position: absolute;
	top: clamp(1rem, 1.4vw, 1.5rem);
	right: clamp(1.1rem, 1.6vw, 1.7rem);
	font-family: var(--tx-font-head);
	font-size: 2.6rem;
	font-weight: 300;
	line-height: 1;
	color: var(--tx-taupe-100);
}

/* Előny-kártya ikonnal */
.tx-adv {
	background: var(--tx-white);
	border: 1px solid var(--tx-line);
	border-radius: var(--tx-radius);
	padding: clamp(1.35rem, 1rem + 1.1vw, 1.9rem);
	transition: transform var(--tx-mid) var(--tx-ease), box-shadow var(--tx-mid) var(--tx-ease), border-color var(--tx-mid) var(--tx-ease);
}
.tx-adv:hover { transform: translateY(-3px); box-shadow: var(--tx-shadow-sm); border-color: var(--tx-taupe-300); }
.tx-adv__title {
	display: flex;
	align-items: center;
	gap: 0.7em;
	font-size: 1.09rem;
	font-weight: 600;
	margin-bottom: 0.55em;
	letter-spacing: -0.004em;
}
.tx-adv > p { color: var(--tx-text-muted); font-size: var(--tx-small); margin: 0; }
.tx-adv__title::before {
	content: '';
	flex: none;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 10px;
	background: var(--tx-cream) no-repeat center / 1.2rem 1.2rem;
	border: 1px solid var(--tx-line);
}
.tx-section--dark .tx-adv {
	background: rgba(255, 255, 255, 0.045);
	border-color: var(--tx-line-dark);
}
.tx-section--dark .tx-adv:hover { background: rgba(255, 255, 255, 0.075); border-color: rgba(255,255,255,0.24); }
.tx-section--dark .tx-adv > p { color: var(--tx-navy-300); }
.tx-section--dark .tx-adv__title::before { background-color: rgba(255, 255, 255, 0.08); border-color: var(--tx-line-dark); }

/* Ikonkészlet — SVG maszkként, nincs külső kép */
.tx-i--book   .tx-adv__title::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2397897e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5A2.5 2.5 0 0 1 6.5 3H20v15H6.5A2.5 2.5 0 0 0 4 20.5z'/%3E%3Cpath d='M8 7h8M8 11h6'/%3E%3C/svg%3E"); }
.tx-i--calc   .tx-adv__title::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2397897e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Cpath d='M8 7h8M8 12h2m3 0h3M8 16h2m3 0h3'/%3E%3C/svg%3E"); }
.tx-i--people .tx-adv__title::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2397897e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.2'/%3E%3Cpath d='M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5'/%3E%3Cpath d='M16 5.5a3 3 0 0 1 0 5.6M18 20c0-2.3-.8-4-2-5'/%3E%3C/svg%3E"); }
.tx-i--shield .tx-adv__title::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2397897e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v6c0 4.4-3 7.6-7 9-4-1.4-7-4.6-7-9V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.tx-i--chart  .tx-adv__title::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2397897e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h16'/%3E%3Cpath d='M7 20V11M12 20V5M17 20v-6'/%3E%3C/svg%3E"); }
.tx-i--clock  .tx-adv__title::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2397897e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.5 2.2'/%3E%3C/svg%3E"); }
.tx-i--cloud  .tx-adv__title::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2397897e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 18h10a3.5 3.5 0 0 0 .4-7A5 5 0 0 0 7.6 10 3.9 3.9 0 0 0 7 18z'/%3E%3C/svg%3E"); }
.tx-i--handshake .tx-adv__title::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2397897e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l4-4 3 2 3-2 4 4'/%3E%3Cpath d='M7 13l3 3 2-1 2 2 3-3'/%3E%3C/svg%3E"); }
.tx-i--doc    .tx-adv__title::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2397897e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h4'/%3E%3C/svg%3E"); }
.tx-i--spark  .tx-adv__title::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2397897e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l1.9 5.1L19 10l-5.1 1.9L12 17l-1.9-5.1L5 10l5.1-1.9z'/%3E%3C/svg%3E"); }
.tx-i--scale  .tx-adv__title::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2397897e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v16M6 20h12'/%3E%3Cpath d='M12 6l-6 2 2.4 4.4a3.6 3.6 0 0 0 7.2 0L18 8z'/%3E%3C/svg%3E"); }
.tx-i--globe  .tx-adv__title::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2397897e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.6 3 2.6 15 0 18M12 3c-2.6 3-2.6 15 0 18'/%3E%3C/svg%3E"); }

/* Egyszerű pipás jellemzőlista */
.tx-features { display: grid; gap: 0.75rem; margin: 1.6rem 0 0; padding: 0; list-style: none; }
.tx-features li {
	display: flex;
	align-items: flex-start;
	gap: 0.7em;
	font-size: var(--tx-small);
	color: var(--tx-text);
}
.tx-features li::before {
	content: '';
	flex: none;
	width: 1.3em;
	height: 1.3em;
	margin-top: 0.12em;
	border-radius: 50%;
	background: var(--tx-taupe-100) no-repeat center / 0.72em 0.72em
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237f7469' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
}
.tx-section--dark .tx-features li { color: var(--tx-navy-200); }
.tx-section--dark .tx-features li::before { background-color: rgba(255, 255, 255, 0.1); }

/* Logó-/bizalomsáv */
.tx-trust {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: clamp(1.2rem, 3vw, 3.2rem);
	font-family: var(--tx-font-head);
	font-size: var(--tx-small);
	font-weight: 500;
	color: var(--tx-text-muted);
}
.tx-trust__item { display: inline-flex; align-items: center; gap: 0.5em; }
.tx-trust__item::before {
	content: '';
	width: 1.1em; height: 1.1em;
	background: no-repeat center / contain
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2397897e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v6c0 4.4-3 7.6-7 9-4-1.4-7-4.6-7-9V6z'/%3E%3C/svg%3E");
}

/* ==========================================================================
   08. HERO
   ========================================================================== */

.tx-hero {
	position: relative;
	background: var(--tx-navy-850);
	color: var(--tx-navy-200);
	overflow: hidden;
	isolation: isolate;
}
.tx-hero__inner {
	max-width: var(--tx-container);
	margin: 0 auto;
	padding: clamp(3.6rem, 2rem + 7vw, 7.5rem) var(--tx-gutter) clamp(3.2rem, 1.8rem + 6vw, 6.5rem);
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
	align-items: center;
	gap: clamp(2rem, 1rem + 4vw, 4.5rem);
}
.tx-hero__content { max-width: 40rem; }
.tx-hero h1 { color: var(--tx-cream); margin-bottom: 0.5em; }
.tx-hero h1 em {
	font-style: normal;
	color: var(--tx-taupe-500);
}
.tx-hero .tx-lead { color: var(--tx-navy-300); max-width: 38rem; }

/* Háttérgrafika: a márka X-jele finoman, nagyban */
.tx-hero::after {
	content: '';
	position: absolute;
	right: -8%;
	top: 50%;
	width: min(46vw, 620px);
	aspect-ratio: 1;
	transform: translateY(-50%);
	background: no-repeat center / contain
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='47' fill='none' stroke='%23ffffff' stroke-width='1.4' opacity='.09'/%3E%3Cpath d='M32 32 L68 68 M68 32 L32 68' stroke='%23ffffff' stroke-width='1.4' opacity='.07' stroke-linecap='round'/%3E%3Ccircle cx='36' cy='36' r='7' fill='none' stroke='%23ffffff' stroke-width='1.4' opacity='.09'/%3E%3Ccircle cx='64' cy='64' r='7' fill='none' stroke='%23ffffff' stroke-width='1.4' opacity='.09'/%3E%3C/svg%3E");
	z-index: -1;
	pointer-events: none;
	animation: tx-spin 90s linear infinite;
}
@keyframes tx-spin { to { transform: translateY(-50%) rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .tx-hero::after { animation: none; } }

.tx-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(46% 52% at 12% 18%, rgba(151, 137, 126, 0.24), transparent 72%),
		radial-gradient(40% 46% at 88% 82%, rgba(180, 187, 195, 0.16), transparent 72%);
	z-index: -2;
	pointer-events: none;
}

/* Hero jobb oldali „kártya" (bizalomjelzők / gyors ajánlatkérő) */
.tx-hero__aside {
	background: rgba(255, 255, 255, 0.055);
	border: 1px solid var(--tx-line-dark);
	border-radius: var(--tx-radius-lg);
	padding: clamp(1.5rem, 1rem + 1.6vw, 2.25rem);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}
.tx-hero__aside h2 {
	font-size: 1.16rem;
	font-weight: 600;
	color: var(--tx-cream);
	margin-bottom: 0.5em;
	letter-spacing: 0;
}
.tx-hero__aside p { font-size: var(--tx-small); color: var(--tx-navy-300); }

/* Aloldali fejléc (kisebb hero) */
.tx-pagehead {
	position: relative;
	background: var(--tx-navy-850);
	color: var(--tx-navy-200);
	overflow: hidden;
	isolation: isolate;
}
.tx-pagehead::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(50% 60% at 8% 10%, rgba(151, 137, 126, 0.22), transparent 70%),
		radial-gradient(44% 50% at 92% 90%, rgba(180, 187, 195, 0.13), transparent 70%);
	z-index: -1;
}
.tx-pagehead__inner {
	max-width: var(--tx-container);
	margin: 0 auto;
	padding: clamp(2.8rem, 1.8rem + 4.2vw, 5rem) var(--tx-gutter) clamp(2.6rem, 1.6rem + 3.8vw, 4.4rem);
	max-width: min(var(--tx-container), 100%);
}
.tx-pagehead h1 { color: var(--tx-cream); margin-bottom: 0.45em; max-width: 34ch; }
.tx-pagehead .tx-lead { color: var(--tx-navy-300); }

/* Morzsa */
.tx-crumbs {
	font-size: var(--tx-micro);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--tx-taupe-300);
	margin: 0 0 1.4rem;
}
.tx-crumbs a { color: inherit; text-decoration: none; }
.tx-crumbs a:hover { color: var(--tx-white); }
.tx-crumbs span { opacity: 0.5; margin-inline: 0.5em; }

/* Kulcsszó-szalag */
.tx-marquee-wrap { background: var(--tx-navy-900); border-block: 1px solid rgba(255, 255, 255, 0.07); overflow: hidden; }
.tx-marquee { display: flex; align-items: center; gap: 1.4rem; padding: 0.85rem 0; }
.tx-marquee__label {
	flex: none;
	padding-left: var(--tx-gutter);
	font-size: var(--tx-micro);
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--tx-taupe-500);
}
.tx-marquee__viewport { overflow: hidden; flex: 1 1 auto; -webkit-mask-image: linear-gradient(90deg, transparent, #000 3rem, #000 calc(100% - 3rem), transparent); mask-image: linear-gradient(90deg, transparent, #000 3rem, #000 calc(100% - 3rem), transparent); }
.tx-marquee__track { display: flex; align-items: center; gap: 1.1rem; width: max-content; animation: tx-marquee 46s linear infinite; }
.tx-marquee:hover .tx-marquee__track { animation-play-state: paused; }
.tx-marquee__item { font-size: var(--tx-small); color: var(--tx-navy-300); white-space: nowrap; }
.tx-marquee__dot { width: 4px; height: 4px; border-radius: 50%; background: var(--tx-taupe-600); flex: none; }
@keyframes tx-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .tx-marquee__track { animation: none; } }

/* ==========================================================================
   09. OSZTOTT (KÉP + SZÖVEG) BLOKKOK
   ========================================================================== */

.tx-split {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(2rem, 1rem + 4vw, 4.2rem);
	align-items: center;
}
.tx-split--wide-left  { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); }
.tx-split--wide-right { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); }
@media (max-width: 900px) {
	.tx-split, .tx-split--wide-left, .tx-split--wide-right { grid-template-columns: 1fr; }
}

/* Képkeret */
.tx-figure { margin: 0; }
.tx-figure img {
	display: block;
	width: 100%;
	border-radius: var(--tx-radius-lg);
	border: 1px solid var(--tx-line);
}
.tx-figure figcaption {
	margin-top: 0.7rem;
	font-size: var(--tx-micro);
	color: var(--tx-text-muted);
}
.tx-figure--offset img { box-shadow: var(--tx-shadow-lg); }

/* Kép helyett dekoratív panel, amíg nincs fotó */
.tx-panel {
	position: relative;
	border-radius: var(--tx-radius-lg);
	border: 1px solid var(--tx-line);
	background:
		linear-gradient(135deg, var(--tx-cream), var(--tx-white)),
		var(--tx-cream);
	aspect-ratio: 4 / 3;
	overflow: hidden;
	display: grid;
	place-items: center;
}
.tx-panel::before {
	content: '';
	position: absolute;
	inset: 0;
	background: no-repeat center / 58%
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='47' fill='none' stroke='%233f4255' stroke-width='1.1' opacity='.14'/%3E%3Cpath d='M32 32 L68 68 M68 32 L32 68' stroke='%233f4255' stroke-width='1.1' opacity='.11' stroke-linecap='round'/%3E%3Ccircle cx='36' cy='36' r='7' fill='none' stroke='%2397897e' stroke-width='1.4' opacity='.5'/%3E%3Ccircle cx='64' cy='64' r='7' fill='none' stroke='%2397897e' stroke-width='1.4' opacity='.5'/%3E%3C/svg%3E");
}
.tx-panel--dark { background: var(--tx-navy-800); border-color: var(--tx-navy-700); }
.tx-panel__note {
	position: relative;
	z-index: 1;
	font-family: var(--tx-font-head);
	font-size: var(--tx-micro);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--tx-taupe-600);
	align-self: end;
	padding-bottom: 1.2rem;
}

/* ==========================================================================
   10. STATISZTIKÁK & SZÁMLÁLÓK
   ========================================================================== */

.tx-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1.2rem, 0.6rem + 2vw, 2.4rem);
}
@media (max-width: 780px) { .tx-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.tx-stats--divided .tx-stat + .tx-stat { border-left: 1px solid var(--tx-line-dark); padding-left: clamp(1.2rem, 2vw, 2.2rem); }
@media (max-width: 780px) {
	.tx-stats--divided .tx-stat:nth-child(odd) { border-left: 0; padding-left: 0; }
}
.tx-section:not(.tx-section--dark) .tx-stats--divided .tx-stat + .tx-stat { border-left-color: var(--tx-line); }

.tx-stat { display: flex; flex-direction: column; gap: 0.35rem; }
.tx-stat__num {
	font-family: var(--tx-font-head);
	font-size: clamp(2.1rem, 1.3rem + 2.6vw, 3.4rem);
	font-weight: 300;
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--tx-cream);
	font-variant-numeric: tabular-nums;
}
.tx-section:not(.tx-section--dark) .tx-stat__num,
.tx-section--tint .tx-stat__num,
.tx-section--white .tx-stat__num { color: var(--tx-navy-700); }
.tx-stat__label {
	font-size: var(--tx-micro);
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--tx-navy-300);
	max-width: 22ch;
	line-height: 1.45;
}
.tx-section:not(.tx-section--dark) .tx-stat__label { color: var(--tx-text-muted); }

/* ==========================================================================
   11. FOLYAMAT-LÉPÉSEK
   ========================================================================== */

.tx-steps { display: grid; gap: clamp(1.2rem, 0.8rem + 1.6vw, 2rem); position: relative; }
.tx-steps--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tx-steps--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .tx-steps--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .tx-steps--4, .tx-steps--3 { grid-template-columns: 1fr; } }

.tx-step { position: relative; padding-top: 2.9rem; }
.tx-step::before {
	content: attr(data-tx-step);
	position: absolute;
	top: 0;
	left: 0;
	width: 2.1rem;
	height: 2.1rem;
	display: grid;
	place-items: center;
	border-radius: 50%;
	border: 1px solid var(--tx-taupe-600);
	background: transparent;
	font-family: var(--tx-font-head);
	font-size: var(--tx-small);
	font-weight: 600;
	color: var(--tx-taupe-600);
}
.tx-step::after {
	content: '';
	position: absolute;
	top: 1.05rem;
	left: 2.55rem;
	right: -1rem;
	height: 1px;
	background: linear-gradient(90deg, var(--tx-taupe-300), transparent);
}
.tx-step:last-child::after { display: none; }
@media (max-width: 620px) { .tx-step::after { display: none; } }
.tx-step h3 { font-size: 1.09rem; font-weight: 600; margin-bottom: 0.4em; }
.tx-step p { font-size: var(--tx-small); color: var(--tx-text-muted); margin: 0; }
.tx-section--dark .tx-step p { color: var(--tx-navy-300); }
.tx-section--dark .tx-step::before { border-color: var(--tx-taupe-500); color: var(--tx-taupe-300); }

/* ==========================================================================
   12. AKKORDEON / GYIK
   A natív <details>/<summary> elemre épül — JS nélkül is működik.
   ========================================================================== */

.tx-faq { display: grid; gap: 0.7rem; max-width: 62rem; }
.tx-faq details {
	background: var(--tx-white);
	border: 1px solid var(--tx-line);
	border-radius: var(--tx-radius);
	overflow: hidden;
	transition: border-color var(--tx-fast) var(--tx-ease), box-shadow var(--tx-fast) var(--tx-ease);
}
.tx-faq details[open] { border-color: var(--tx-taupe-300); box-shadow: var(--tx-shadow-sm); }
.tx-faq summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	cursor: pointer;
	list-style: none;
	padding: clamp(1rem, 0.8rem + 0.5vw, 1.3rem) clamp(1.1rem, 0.9rem + 0.6vw, 1.6rem);
	font-family: var(--tx-font-head);
	font-size: 1.06rem;
	font-weight: 500;
	color: var(--tx-navy-800);
}
.tx-faq summary::-webkit-details-marker { display: none; }
.tx-faq summary::after {
	content: '';
	flex: none;
	width: 1.15rem;
	height: 1.15rem;
	background: currentColor;
	opacity: 0.55;
	-webkit-mask: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	mask: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	transition: transform var(--tx-mid) var(--tx-ease);
}
.tx-faq details[open] summary::after { transform: rotate(180deg); }
.tx-faq summary:hover { background: var(--tx-cream-soft); }
.tx-faq .tx-faq__body {
	padding: 0 clamp(1.1rem, 0.9rem + 0.6vw, 1.6rem) clamp(1.1rem, 0.9rem + 0.6vw, 1.5rem);
	font-size: var(--tx-small);
	color: var(--tx-text-muted);
	border-top: 1px solid var(--tx-line-soft);
	padding-top: 1rem;
}
.tx-faq .tx-faq__body > *:last-child { margin-bottom: 0; }

/* ==========================================================================
   13. ÁRTÁBLÁK
   ========================================================================== */

.tx-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--tx-space-gap); align-items: start; }
@media (max-width: 980px) { .tx-plans { grid-template-columns: 1fr; max-width: 34rem; margin-inline: auto; } }

.tx-plan {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--tx-white);
	border: 1px solid var(--tx-line);
	border-radius: var(--tx-radius-lg);
	padding: clamp(1.5rem, 1rem + 1.4vw, 2.2rem);
	transition: transform var(--tx-mid) var(--tx-ease), box-shadow var(--tx-mid) var(--tx-ease);
}
.tx-plan:hover { transform: translateY(-3px); box-shadow: var(--tx-shadow); }
.tx-plan--featured {
	border-color: var(--tx-navy-700);
	box-shadow: var(--tx-shadow);
}
.tx-plan__flag {
	position: absolute;
	top: -0.75rem;
	left: clamp(1.5rem, 1rem + 1.4vw, 2.2rem);
	background: var(--tx-navy-700);
	color: var(--tx-cream);
	font-size: var(--tx-micro);
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	padding: 0.35em 0.9em;
	border-radius: var(--tx-radius-pill);
}
.tx-plan__name { font-size: 1.2rem; font-weight: 600; margin-bottom: 0.3em; }
.tx-plan__for { font-size: var(--tx-small); color: var(--tx-text-muted); margin-bottom: 1.3rem; }
.tx-plan__price {
	font-family: var(--tx-font-head);
	font-size: clamp(1.9rem, 1.4rem + 1.4vw, 2.5rem);
	font-weight: 300;
	line-height: 1;
	letter-spacing: -0.025em;
	color: var(--tx-navy-700);
	display: flex;
	align-items: baseline;
	gap: 0.3em;
	margin-bottom: 0.35rem;
}
.tx-plan__price small {
	font-family: var(--tx-font-body);
	font-size: var(--tx-micro);
	font-weight: 500;
	letter-spacing: 0.02em;
	color: var(--tx-text-muted);
}
.tx-plan__note { font-size: var(--tx-micro); color: var(--tx-text-muted); margin-bottom: 1.4rem; }
.tx-plan .tx-features { margin-top: 0; border-top: 1px solid var(--tx-line-soft); padding-top: 1.3rem; }
.tx-plan .tx-btn-row { margin-top: auto; padding-top: 1.6rem; }
.tx-plan .tx-btn-row > * { width: 100%; }
.tx-plan .tx-btn-row .wp-block-button__link, .tx-plan a.tx-btn { width: 100%; }

/* ==========================================================================
   14. VÉLEMÉNYEK
   ========================================================================== */

.tx-quotes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--tx-space-gap); }
@media (max-width: 980px) { .tx-quotes { grid-template-columns: 1fr; } }

.tx-quote {
	background: var(--tx-white);
	border: 1px solid var(--tx-line);
	border-radius: var(--tx-radius);
	padding: clamp(1.4rem, 1rem + 1.1vw, 2rem);
	display: flex;
	flex-direction: column;
	gap: 1.1rem;
}
.tx-quote__text {
	font-family: var(--tx-font-head);
	font-size: 1.09rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--tx-navy-800);
	margin: 0;
}
.tx-quote__text::before { content: '„'; color: var(--tx-taupe-500); }
.tx-quote__text::after  { content: '”'; color: var(--tx-taupe-500); }
.tx-quote__by {
	margin-top: auto;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-size: var(--tx-micro);
	color: var(--tx-text-muted);
	border-top: 1px solid var(--tx-line-soft);
	padding-top: 1rem;
}
.tx-quote__avatar {
	flex: none;
	width: 2.3rem;
	height: 2.3rem;
	border-radius: 50%;
	background: var(--tx-cream);
	border: 1px solid var(--tx-line);
	display: grid;
	place-items: center;
	font-family: var(--tx-font-head);
	font-weight: 600;
	font-size: var(--tx-small);
	color: var(--tx-taupe-700);
}
.tx-quote__by strong { display: block; color: var(--tx-navy-800); font-size: var(--tx-small); }

/* ==========================================================================
   15. ŰRLAPOK (Contact Form 7)
   ========================================================================== */

.tx-form {
	background: var(--tx-white);
	border: 1px solid var(--tx-line);
	border-radius: var(--tx-radius-lg);
	padding: clamp(1.5rem, 1rem + 1.8vw, 2.6rem);
}
.tx-form h2 { font-size: var(--tx-h3); margin-bottom: 0.4em; }
.tx-form > p:first-of-type { color: var(--tx-text-muted); font-size: var(--tx-small); }

.wpcf7 form.wpcf7-form { margin: 0; }
.tx-field-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.2rem; }
@media (max-width: 600px) { .tx-field-row { grid-template-columns: 1fr; } }

.tx-field { display: block; margin-bottom: 1.1rem; }
.tx-field > span.tx-label,
.tx-label {
	display: block;
	font-family: var(--tx-font-head);
	font-size: var(--tx-small);
	font-weight: 600;
	color: var(--tx-navy-800);
	margin-bottom: 0.4rem;
}
.tx-label .tx-req { color: var(--tx-taupe-700); }

input[type="text"], input[type="email"], input[type="tel"], input[type="url"],
input[type="number"], input[type="date"], select, textarea {
	width: 100%;
	font-family: var(--tx-font-body);
	font-size: var(--tx-small);
	color: var(--tx-text);
	background: var(--tx-cream-soft);
	border: 1px solid var(--tx-line);
	border-radius: var(--tx-radius-sm);
	padding: 0.78rem 0.95rem;
	line-height: 1.5;
	transition: border-color var(--tx-fast) var(--tx-ease), box-shadow var(--tx-fast) var(--tx-ease), background var(--tx-fast) var(--tx-ease);
}
textarea { min-height: 8.5rem; resize: vertical; }
select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233f4255' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0.85rem center; background-size: 1rem; padding-right: 2.5rem; }

input:focus, select:focus, textarea:focus {
	outline: none;
	background: var(--tx-white);
	border-color: var(--tx-navy-500);
	box-shadow: 0 0 0 3px rgba(63, 66, 85, 0.12);
}
::placeholder { color: var(--tx-navy-400); opacity: 1; }

/* Jelölőnégyzet / rádió */
.wpcf7-list-item { display: block; margin: 0 0 0.5rem; }
.wpcf7-list-item-label { font-size: var(--tx-small); color: var(--tx-text-muted); }
input[type="checkbox"], input[type="radio"] { accent-color: var(--tx-navy-700); width: 1.05em; height: 1.05em; margin-right: 0.5em; vertical-align: -0.13em; }
.tx-consent { font-size: var(--tx-micro); color: var(--tx-text-muted); }
.tx-consent a { color: var(--tx-navy-700); }

/* Küldés gomb */
.wpcf7 input[type="submit"], .wpcf7-submit {
	font-family: var(--tx-font-head);
	font-size: 1rem;
	font-weight: 600;
	background: var(--tx-navy-700);
	color: var(--tx-cream);
	border: 1.5px solid var(--tx-navy-700);
	border-radius: var(--tx-radius-pill);
	padding: 0.92em 2rem;
	cursor: pointer;
	width: auto;
	transition: background var(--tx-fast) var(--tx-ease), transform var(--tx-fast) var(--tx-ease);
}
.wpcf7 input[type="submit"]:hover { background: var(--tx-navy-850); border-color: var(--tx-navy-850); transform: translateY(-2px); }

/* CF7 visszajelzések */
.wpcf7 form .wpcf7-response-output {
	margin: 1.4rem 0 0;
	padding: 0.9rem 1.1rem;
	border-radius: var(--tx-radius-sm);
	border: 1px solid var(--tx-line);
	background: var(--tx-cream);
	font-size: var(--tx-small);
}
.wpcf7 form.sent .wpcf7-response-output { border-color: #b7d3ba; background: #eef6ef; color: #2c5733; }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output { border-color: #e0c0b4; background: #fbf1ed; color: #82412c; }
.wpcf7-not-valid-tip { font-size: var(--tx-micro); color: #a34a2c; margin-top: 0.3rem; }
.wpcf7-spinner { margin-left: 0.7rem; }

/* Kapcsolati adatlista az űrlap mellé */
.tx-contact-list { display: grid; gap: 1.35rem; margin: 0; padding: 0; list-style: none; }
.tx-contact-list li { display: flex; gap: 0.9rem; align-items: flex-start; }
.tx-contact-list .tx-ci {
	flex: none;
	width: 2.4rem; height: 2.4rem;
	border-radius: 10px;
	background: var(--tx-cream);
	border: 1px solid var(--tx-line);
	display: grid; place-items: center;
}
.tx-contact-list .tx-ci svg { width: 1.15rem; height: 1.15rem; fill: none; stroke: var(--tx-taupe-700); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.tx-contact-list strong { display: block; font-family: var(--tx-font-head); font-size: var(--tx-small); margin-bottom: 0.12rem; }
.tx-contact-list span, .tx-contact-list a { font-size: var(--tx-small); color: var(--tx-text-muted); text-decoration: none; }
.tx-contact-list a:hover { color: var(--tx-accent-hover); }

/* Térkép — csak kattintásra tölt (GDPR) */
.tx-map { border-radius: var(--tx-radius-lg); overflow: hidden; border: 1px solid var(--tx-line); background: var(--tx-cream); }
.tx-map iframe { display: block; width: 100%; height: clamp(240px, 34vw, 420px); border: 0; }

/* ==========================================================================
   16. BLOG
   ========================================================================== */

.tx-page.blog .site-content,
.tx-page.archive .site-content,
.tx-page.single .site-content { padding-block: var(--tx-space-section); }
.tx-page.blog .site-content > .container,
.tx-page.archive .site-content > .container,
.tx-page.single .site-content > .container {
	max-width: var(--tx-container);
	padding-inline: var(--tx-gutter);
}
.tx-page.single .inside-article,
.tx-page.blog .inside-article,
.tx-page.archive .inside-article {
	background: var(--tx-white);
	border: 1px solid var(--tx-line);
	border-radius: var(--tx-radius);
	padding: clamp(1.4rem, 1rem + 1.6vw, 2.6rem);
}
.tx-page.single .entry-content { max-width: 72ch; }
.entry-title { font-size: var(--tx-h2); }
.entry-title a { text-decoration: none; }
.entry-meta { font-size: var(--tx-micro); color: var(--tx-text-muted); letter-spacing: 0.02em; }

/* ==========================================================================
   17. LÁBLÉC
   ========================================================================== */

.tx-footer {
	background: var(--tx-navy-900);
	color: var(--tx-navy-300);
	padding-block: clamp(3rem, 2rem + 3.2vw, 4.6rem) 0;
	font-size: var(--tx-small);
}
.tx-footer__main {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr));
	gap: clamp(2rem, 1rem + 3vw, 3.6rem);
	padding-bottom: clamp(2.2rem, 1.4rem + 2.4vw, 3.4rem);
}
@media (max-width: 980px) { .tx-footer__main { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .tx-footer__main { grid-template-columns: 1fr; } }

.tx-footer__logo { height: 52px; width: auto; margin-bottom: 1.2rem; }
.tx-footer__claim { color: var(--tx-navy-300); max-width: 36ch; margin-bottom: 1.2rem; }
.tx-footer__meta { font-size: var(--tx-micro); line-height: 1.8; color: var(--tx-navy-400); }
.tx-footer__meta a { color: var(--tx-navy-300); text-decoration: none; }
.tx-footer__meta a:hover { color: var(--tx-white); }

.tx-footer__title {
	font-family: var(--tx-font-head);
	font-size: var(--tx-micro);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--tx-taupe-500);
	margin-bottom: 1.1rem;
}
.tx-footer__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; }
.tx-footer__col a { color: var(--tx-navy-300); text-decoration: none; }
.tx-footer__col a:hover { color: var(--tx-white); }
.tx-footer__small { color: var(--tx-navy-400); font-size: var(--tx-micro); margin-bottom: 1.2rem; }

.tx-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.8rem 1.6rem;
	padding-block: 1.3rem;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	font-size: var(--tx-micro);
	color: var(--tx-navy-400);
}
.tx-footer__legal { margin: 0; }
.tx-footer__legal-menu { list-style: none; display: flex; flex-wrap: wrap; gap: 0.4rem 1.3rem; margin: 0; padding: 0; }
.tx-footer__legal-menu a { color: var(--tx-navy-400); text-decoration: none; }
.tx-footer__legal-menu a:hover { color: var(--tx-white); }
.site-footer { background: transparent; }

/* ==========================================================================
   18. ANIMÁCIÓK
   Görgetésre megjelenő elemek. A .tx-reveal osztály jelöli az elemet,
   a .tx-stagger a gyerekeit lépteti. JS nélkül minden látható marad.
   ========================================================================== */

.tx-reveal, .tx-stagger > * {
	opacity: 1;
	transform: none;
}

html.tx-js .tx-reveal,
html.tx-js .tx-stagger > * {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity var(--tx-slow) var(--tx-ease), transform var(--tx-slow) var(--tx-ease);
	will-change: opacity, transform;
}
html.tx-js .tx-reveal.is-visible,
html.tx-js .tx-stagger > .is-visible {
	opacity: 1;
	transform: none;
	will-change: auto;
}
html.tx-js .tx-stagger > *:nth-child(2) { transition-delay: 70ms; }
html.tx-js .tx-stagger > *:nth-child(3) { transition-delay: 140ms; }
html.tx-js .tx-stagger > *:nth-child(4) { transition-delay: 210ms; }
html.tx-js .tx-stagger > *:nth-child(5) { transition-delay: 280ms; }
html.tx-js .tx-stagger > *:nth-child(6) { transition-delay: 350ms; }
html.tx-js .tx-stagger > *:nth-child(7) { transition-delay: 420ms; }
html.tx-js .tx-stagger > *:nth-child(8) { transition-delay: 490ms; }

@media (prefers-reduced-motion: reduce) {
	html.tx-js .tx-reveal,
	html.tx-js .tx-stagger > * { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* Anchor-navigáció (oldalon belüli szekciólinkek) */
.tx-anchornav {
	position: sticky;
	top: 0;
	z-index: 60;
	background: var(--tx-cream);
	border-bottom: 1px solid var(--tx-line);
	overflow-x: auto;
	scrollbar-width: none;
}
.tx-anchornav::-webkit-scrollbar { display: none; }
.tx-anchornav ul {
	display: flex;
	gap: 0.3rem;
	list-style: none;
	margin: 0 auto;
	padding: 0.55rem var(--tx-gutter);
	max-width: var(--tx-container);
	width: max-content;
	min-width: 100%;
}
.tx-anchornav a {
	display: inline-block;
	white-space: nowrap;
	font-family: var(--tx-font-head);
	font-size: var(--tx-small);
	font-weight: 500;
	color: var(--tx-navy-600);
	text-decoration: none;
	padding: 0.45rem 0.85rem;
	border-radius: var(--tx-radius-pill);
	transition: background var(--tx-fast) var(--tx-ease), color var(--tx-fast) var(--tx-ease);
}
.tx-anchornav a:hover { background: var(--tx-white); color: var(--tx-navy-900); }
.tx-anchornav a.is-active { background: var(--tx-navy-700); color: var(--tx-cream); }

/* Görgetési horgony-eltolás a ragadó fejléc miatt */
[id] { scroll-margin-top: 96px; }

/* ==========================================================================
   19. SEGÉDOSZTÁLYOK
   ========================================================================== */

.tx-center { text-align: center; }
.tx-center .tx-lead { margin-inline: auto; }
.tx-narrow { max-width: var(--tx-container-narrow); margin-inline: auto; }
.tx-mt-0 { margin-top: 0 !important; }
.tx-mb-0 { margin-bottom: 0 !important; }
.tx-mt-1 { margin-top: 1rem !important; }
.tx-mt-2 { margin-top: 2rem !important; }
.tx-mt-3 { margin-top: 3rem !important; }
.tx-sr-only {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}
.tx-divider { height: 1px; background: var(--tx-line); border: 0; margin: 0; }
.tx-section--dark .tx-divider { background: var(--tx-line-dark); }

/* Kiemelt CTA-sáv */
.tx-cta {
	background: var(--tx-navy-700);
	color: var(--tx-cream);
	border-radius: var(--tx-radius-lg);
	padding: clamp(1.8rem, 1.2rem + 2.4vw, 3.2rem);
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(1.4rem, 1rem + 2vw, 3rem);
}
@media (max-width: 820px) { .tx-cta { grid-template-columns: 1fr; } }
.tx-cta h2 { color: var(--tx-cream); margin-bottom: 0.35em; }
.tx-cta p { color: var(--tx-navy-300); margin: 0; max-width: 52ch; }
.tx-cta .tx-btn-row { margin-top: 0; }

/* Színsegédek (Gutenberg palettához) */
.has-tx-navy-background-color       { background-color: var(--tx-navy-700) !important; }
.has-tx-navy-deep-background-color  { background-color: var(--tx-navy-850) !important; }
.has-tx-cream-background-color      { background-color: var(--tx-cream) !important; }
.has-tx-cream-soft-background-color { background-color: var(--tx-cream-soft) !important; }
.has-tx-mist-background-color       { background-color: var(--tx-navy-300) !important; }
.has-tx-taupe-background-color      { background-color: var(--tx-taupe-600) !important; }
.has-tx-white-background-color      { background-color: var(--tx-white) !important; }
.has-tx-navy-color  { color: var(--tx-navy-700) !important; }
.has-tx-cream-color { color: var(--tx-cream) !important; }
.has-tx-taupe-color { color: var(--tx-taupe-600) !important; }
.has-tx-white-color { color: var(--tx-white) !important; }

/* ==========================================================================
   20. RESZPONZÍV FINOMHANGOLÁS
   ========================================================================== */

@media (max-width: 1024px) {
	.tx-hero__inner { grid-template-columns: 1fr; }
	.tx-hero__aside { max-width: 30rem; }
	.tx-hero::after { opacity: 0.6; right: -22%; }
}

@media (max-width: 768px) {
	.tx-topbar__items--end { display: none; }
	.tx-topbar__inner { justify-content: center; }
	.site-header { position: static; }
	.tx-anchornav { top: 0; }
	body { padding-bottom: 0; }
	.tx-card--numbered .tx-card__body::before { font-size: 2.1rem; }
}

@media (max-width: 480px) {
	.tx-topbar { font-size: 0.75rem; }
	.tx-topbar__items { gap: 0.9rem; }
	.tx-btn-row > * { width: 100%; }
	.tx-btn-row .wp-block-button__link, .tx-btn-row a.tx-btn { width: 100%; }
}

/* ==========================================================================
   21. AKADÁLYMENTESSÉG & NYOMTATÁS
   ========================================================================== */

:where(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
	outline: 2px solid var(--tx-taupe-600);
	outline-offset: 3px;
	border-radius: 4px;
}
.tx-section--dark :where(a, button, summary):focus-visible { outline-color: var(--tx-taupe-300); }

.tx-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 1100;
	background: var(--tx-navy-850);
	color: var(--tx-cream);
	padding: 0.8rem 1.2rem;
	border-radius: 0 0 var(--tx-radius-sm) 0;
}
.tx-skip-link:focus { left: 0; }

@media print {
	.tx-topbar, .site-header, .tx-footer, .tx-fab, .tx-progress,
	.generate-back-to-top, .tx-anchornav, .tx-btn-row { display: none !important; }
	body { background: #fff; color: #000; font-size: 11pt; }
	.tx-section, .tx-hero, .tx-pagehead { padding-block: 1rem; background: #fff !important; color: #000 !important; }
	.tx-hero h1, .tx-pagehead h1, .tx-section--dark h2, .tx-section--dark h3 { color: #000 !important; }
	.tx-faq details { border: 1px solid #ccc; }
	.tx-faq details:not([open]) .tx-faq__body { display: block; }
	a::after { content: ' (' attr(href) ')'; font-size: 9pt; color: #555; }
}

/* Mobilmenü nyitva — háttér ne görgethető */
@media (max-width: 768px) {
	body.tx-nav-open { overflow: hidden; }
}

/* ==========================================================================
   22. GUTENBERG-ILLESZTES
   Klasszikus temak eseten a WordPress minden csoport-blokkba beszur egy
   .wp-block-group__inner-container burkolot. A display:contents kiveszi azt
   az elrendezesbol, igy a sajat racs- es flex-szabalyaink a tenyleges
   elemekre ervenyesek.
   ========================================================================== */

.entry-content .wp-block-group > .wp-block-group__inner-container { display: contents; }

/* GYIK - a core/details blokk belso elemei */
.tx-faq .wp-block-details > *:not(summary) {
	padding-inline: clamp(1.1rem, 0.9rem + 0.6vw, 1.6rem);
	font-size: var(--tx-small);
	color: var(--tx-text-muted);
	margin-bottom: 0.9rem;
}
.tx-faq .wp-block-details > summary + * {
	border-top: 1px solid var(--tx-line-soft);
	padding-top: 1rem;
	margin-top: 0;
}
.tx-faq .wp-block-details > *:last-child {
	padding-bottom: clamp(1.1rem, 0.9rem + 0.6vw, 1.5rem);
	margin-bottom: 0;
}

/* Blokk-alapmargok semlegesitese a sajat szekciokban */
.entry-content .wp-block-buttons { margin-bottom: 0; }
.entry-content .tx-features.wp-block-list { padding-left: 0; list-style: none; }
.entry-content .tx-features.wp-block-list li { margin: 0; }

/* ==========================================================================
   23. FINOMHANGOLAS
   ========================================================================== */

/* Teljes szelesseg azoknak a szekcioknak, amik wp:html blokkban vannak */
.tx-page .entry-content > .tx-section,
.tx-page .entry-content > .tx-marquee-wrap,
.tx-page .entry-content > .tx-hero,
.tx-page .entry-content > .tx-pagehead,
.tx-page .entry-content > .tx-anchornav {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	width: auto;
}

/* Hero-kartya: sotet hatteren vilagos szoveg */
.tx-hero .tx-features li,
.tx-pagehead .tx-features li { color: var(--tx-navy-200); }
.tx-hero .tx-features li::before,
.tx-pagehead .tx-features li::before {
	background-color: rgba(255, 255, 255, 0.10);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cfc6bd' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
}

/* A hero hatterjele visszafogottabban */
.tx-hero::after { width: min(38vw, 500px); right: -5%; opacity: 0.85; }

/* A GeneratePress alap lablece helyett a sajatunk megy */
.site-info { display: none; }

/* Ha van logo, a szoveges cim ne duplazza */
.site-branding-container .site-logo + .site-branding { display: none; }

/* ===== 24. LOGOMERET ===== */
.site-logo img, .site-header .header-image { height: clamp(26px, 2.1vw, 32px); }
body.tx-scrolled .site-logo img { height: clamp(23px, 1.8vw, 27px); }
.tx-footer__logo { height: 34px; }

/* ===== 25. LABLEC LOGO ===== */
.tx-footer__logo { height: 30px; width: auto; }

/* ==========================================================================
   26. BLOG, EGYEDI BEJEGYZES, KERESES, 404
   ========================================================================== */

/* Bejegyzes-lista */
.tx-page.blog .site-content > .container,
.tx-page.archive .site-content > .container,
.tx-page.search .site-content > .container { display: grid; gap: var(--tx-space-gap); }
.tx-page.blog .inside-article,
.tx-page.archive .inside-article,
.tx-page.search .inside-article { transition: transform var(--tx-mid) var(--tx-ease), box-shadow var(--tx-mid) var(--tx-ease), border-color var(--tx-mid) var(--tx-ease); }
.tx-page.blog .inside-article:hover,
.tx-page.archive .inside-article:hover { transform: translateY(-3px); box-shadow: var(--tx-shadow); border-color: var(--tx-taupe-300); }
.tx-page.blog .post-image,
.tx-page.archive .post-image { margin: 0 0 1.3rem; }
.tx-page.blog .post-image img,
.tx-page.archive .post-image img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--tx-radius-sm); display: block; }
.entry-summary, .entry-summary p { color: var(--tx-text-muted); font-size: var(--tx-small); }
.entry-meta, .entry-meta a { color: var(--tx-text-muted); text-decoration: none; }
.entry-meta a:hover { color: var(--tx-accent-hover); }
.read-more, .more-link { display: inline-flex; align-items: center; gap: 0.45em; font-family: var(--tx-font-head); font-weight: 600; font-size: var(--tx-small); text-decoration: none; color: var(--tx-navy-700); }
    .read-more::after, .more-link::after { content: '→'; transition: transform var(--tx-fast) var(--tx-ease); }
.read-more:hover::after, .more-link:hover::after { transform: translateX(4px); }

/* Egyedi bejegyzes */
.tx-page.single .featured-image,
.tx-page.single .post-image { margin: 0 0 1.9rem; }
.tx-page.single .featured-image img,
.tx-page.single .page-header-image-single img,
.tx-page.single .post-image img { width: 100%; max-height: 400px; object-fit: cover; border-radius: var(--tx-radius); display: block; }
.tx-page.single .entry-header { margin-bottom: 1.4rem; }
.tx-page.single .entry-title { margin-bottom: 0.35em; }
.tx-page.single .entry-content { font-size: 1.06rem; line-height: 1.75; }
.tx-page.single .entry-content h2 { margin-top: 1.9em; }
.tx-page.single .entry-content > *:first-child { margin-top: 0; }
.tx-postnav { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: space-between; margin-top: 2.4rem; padding-top: 1.6rem; border-top: 1px solid var(--tx-line); }
.tx-link-arrow--back::after { content: none; }
    .tx-link-arrow--back::before { content: '←'; transition: transform var(--tx-fast) var(--tx-ease); }
.tx-link-arrow--back:hover::before { transform: translateX(-4px); }

/* Kereso */
.search-form, .wp-block-search__inside-wrapper { display: flex; gap: 0.6rem; max-width: 32rem; margin-top: 1.4rem; }
    .search-form input[type='search'], .search-form .search-field { flex: 1 1 auto; }
.search-form .search-submit, .wp-block-search__button { flex: none; background: var(--tx-navy-700); color: var(--tx-cream); border: 1.5px solid var(--tx-navy-700); border-radius: var(--tx-radius-pill); padding: 0 1.4rem; font-family: var(--tx-font-head); font-weight: 600; cursor: pointer; transition: background var(--tx-fast) var(--tx-ease); }
.search-form .search-submit:hover { background: var(--tx-navy-850); border-color: var(--tx-navy-850); }

/* 404 */
.tx-break-out { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); max-width: 100vw; width: auto; }
.error404 .site-content { padding-bottom: var(--tx-space-section); }
.error404 .inside-article,
.error404 .no-results { background: transparent; border: 0; padding: clamp(2rem, 1.4rem + 2.4vw, 3.4rem) var(--tx-gutter) 0; max-width: var(--tx-container); margin-inline: auto; }
.error404 .page-header, .error404 .entry-title { display: none; }
.error404 .page-content > p { color: var(--tx-text-muted); max-width: 56ch; }
.tx-404-links { max-width: var(--tx-container); margin: clamp(1.6rem, 1rem + 2vw, 2.6rem) auto 0; padding-inline: var(--tx-gutter); }
.tx-404-link { display: block; text-decoration: none; color: inherit; }
.tx-404-link .tx-adv__title { display: block; margin-bottom: 0.35em; }
.tx-404-link .tx-adv__title::before { display: none; }
.tx-404-link > span:last-child { font-size: var(--tx-small); color: var(--tx-text-muted); }
.tx-404-link:hover .tx-adv__title { color: var(--tx-accent-hover); }

/* Bejegyzes-fejlec: a GeneratePress sajat cimsora helyett a sajatunk megy */
.tx-page.single .entry-header,
.tx-page.single .entry-title { display: none; }
.tx-page.single .site-content { padding-top: 0; }
.tx-page.single article { margin-top: clamp(2rem, 1.2rem + 2.4vw, 3.4rem); }
.tx-postmeta { margin: 1.4rem 0 0; font-size: var(--tx-micro); letter-spacing: 0.06em; text-transform: uppercase; color: var(--tx-taupe-300); }
