/* =========================================================================
   ST.ARCH téma – kiegészítő stílusok
   A színek és betűk a theme.json-ban vannak; itt az elrendezés és az animációk.
   ========================================================================= */

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.st-main { margin-top: 0 !important; }
.st-main > .wp-block-post-content > *:first-child { margin-top: 0; }

/* ---------- Fejléc ---------- */
.st-fejlec-wrap { position: sticky; top: 0; z-index: 100; }
.admin-bar .st-fejlec-wrap { top: 32px; }
@media (max-width: 782px) { .admin-bar .st-fejlec-wrap { top: 46px; } }
.st-fejlec { min-height: 64px; display: flex; align-items: center; }
.st-fejlec__sor { width: 100%; align-items: center; }
.st-fejlec__logo { margin: 0 !important; line-height: 0; }
.st-fejlec__logo img { height: auto; display: block; }
.st-fejlec__jobb { gap: 28px !important; align-items: center; }
.st-menu .wp-block-navigation-item__content { color: #fff; letter-spacing: .01em; padding: 4px 0; text-decoration: none; }
.st-menu .wp-block-navigation-item__content:hover,
.st-menu .current-menu-item > .wp-block-navigation-item__content,
.st-menu .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--wp--preset--color--sotet);
	text-decoration: underline; text-underline-offset: 7px; text-decoration-thickness: 1px;
}
.st-fejlec__gomb .wp-block-button__link { padding: 12px 30px; font-size: 15px; white-space: nowrap; }
.wp-block-navigation__responsive-container.is-menu-open { padding: 32px 24px; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 20px; color: #fff; }
@media (max-width: 600px) {
	.st-fejlec__logo img { width: 96px !important; }
	.st-fejlec__jobb { gap: 14px !important; }
	.st-fejlec__gomb .wp-block-button__link { padding: 10px 16px; font-size: 12px; }
}

/* ---------- Gombok ---------- */
.wp-block-button__link { transition: background-color .2s ease, transform .4s cubic-bezier(.16,1,.3,1), scale .4s cubic-bezier(.16,1,.3,1); }
/* Minden CTA gomb fekete, rámutatásra vörös, és nem mozdul el. Kivétel: a fejléc „Időpontfoglalás” gombja. */
.wp-block-button__link, .st-urlap__gomb button { background: #000; color: #fff; }
.wp-block-button__link:hover, .wp-block-button__link:focus-visible, .st-urlap__gomb button:hover, .st-urlap__gomb button:focus-visible { background: var(--wp--preset--color--teglavoros) !important; color: #fff !important; }
.wp-block-button.is-style-fekete .wp-block-button__link { background: #000; color: #fff; }
.st-fejlec__gomb .wp-block-button__link { background: var(--wp--preset--color--teglavoros); }
.st-fejlec__gomb .wp-block-button__link:hover, .st-fejlec__gomb .wp-block-button__link:focus-visible { background: var(--wp--preset--color--teglavoros-sotet) !important; }
.st-fejlec__gomb .is-style-novekvo .wp-block-button__link:hover { scale: 1.04; }
@media (prefers-reduced-motion: reduce) { .st-fejlec__gomb .is-style-novekvo .wp-block-button__link:hover { scale: none; } }

/* ---------- Képek ---------- */
.wp-block-image img { border-radius: var(--wp--custom--radius); }
.wp-block-image.is-style-nagyito { overflow: hidden; border-radius: var(--wp--custom--radius); }
/* Lassú ráközelítés: minden tartalmi kép (a Rólam oldali fénykép kivételével) rámutatásra lassan nagyít, elengedéskor lassan visszaáll. */
.st-main .wp-block-image { overflow: hidden; border-radius: var(--wp--custom--radius); }
.st-main .wp-block-image img { scale: var(--st-sk, 1); transition: scale 2.4s cubic-bezier(.22,.61,.36,1); }
.st-main .wp-block-image:hover img, .st-kartya:hover .wp-block-image img, .st-ar-kartya:hover .wp-block-image img { --st-sk: 1.1; transition-duration: 3.2s; }
.st-main .st-rolam .wp-block-image img, .st-main .st-rolam .wp-block-image:hover img { --st-sk: 1; transition: none; }

.st-plx img, img.st-plx { translate: 0 var(--st-plx, 0px); --st-sk: 1.12; }
.st-main .wp-block-image.st-plx:hover img, .st-kartya:hover .wp-block-image.st-plx img { --st-sk: 1.22; }
@media (prefers-reduced-motion: reduce) { .st-main .wp-block-image:hover img { --st-sk: 1; } .st-plx img, img.st-plx { translate: none; --st-sk: 1; } }

/* ---------- Zöld elválasztó sáv + futó szalag ----------
   A szalag a fejléc szélességében fut (logótól a gombig), a két szélén elhalványul, és lassan balra mozog. */
.wp-block-group.is-style-savelvalaszto { background: var(--wp--preset--color--zold); min-height: 107px; margin-block: 0 !important; display: flex; align-items: center; position: relative; overflow: hidden; }
.st-sav { width: min(var(--wp--style--global--wide-size, 1240px), calc(100% - 2 * var(--wp--style--root--padding-left, 16px))); margin-inline: auto; overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.st-sav__sor { display: flex; align-items: center; width: max-content; animation: stSav 80s linear infinite; }
.st-sav__szo { color: rgba(255,255,255,.92); font-weight: 600; font-size: clamp(13px, 1.12vw, 16px); letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; }
.st-sav__jel { flex: none; width: 12px; height: 9px; margin-inline: 2.4em; background: var(--wp--preset--color--teglavoros); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
@keyframes stSav { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .st-sav__sor { animation: none; } }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ---------- Görgetésre megjelenő elemek ----------
   A „translate” és „scale” tulajdonságot használjuk (nem a transform-ot), így a kártyák 3D dőlése nem ütközik vele. */
.st-js .st-beuszik { opacity: 0; translate: 0 40px; }
.st-js .st-elotunik { opacity: 0; }
.st-js .st-nagyit { opacity: 0; scale: .9; }
.st-js .st-beuszik, .st-js .st-elotunik, .st-js .st-nagyit {
	transition: opacity .7s ease var(--st-kesleltetes, .1s), translate .9s cubic-bezier(.16,1,.3,1) var(--st-kesleltetes, .1s), scale .9s cubic-bezier(.16,1,.3,1) var(--st-kesleltetes, .1s);
}
.st-js .st-beuszik.is-in, .st-js .st-elotunik.is-in, .st-js .st-nagyit.is-in { opacity: 1; translate: none; scale: none; }
@media (prefers-reduced-motion: reduce) {
	.st-js .st-beuszik, .st-js .st-elotunik, .st-js .st-nagyit { opacity: 1; translate: none; scale: none; transition: none; }
}
/* A szerkesztőben mindig látszanak. */
.editor-styles-wrapper .st-beuszik, .editor-styles-wrapper .st-elotunik, .editor-styles-wrapper .st-nagyit { opacity: 1 !important; translate: none !important; scale: none !important; }

/* ---------- Kezdőlap: hero ---------- */
.st-hero { padding-block: clamp(32px, 5vw, 64px) clamp(40px, 6vw, 80px); }
/* A hero kitölti a képernyőt: a zöld sáv pont a képernyő aljára kerül (a fejléc magasságát a szkript méri). */
@media (min-width: 782px) and (min-height: 560px) {
	.st-hero { min-height: calc(100svh - var(--st-fejlec-h, 82px) - 107px); box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; margin-block: 0 !important; }
	.st-hero > .wp-block-columns { width: 100%; }
}
.st-hero__cim { font-size: var(--wp--preset--font-size--h-3); margin-top: 0; }
.st-hero__lista { list-style: none; padding-left: 12px; margin-block: 2.5rem; }
.st-hero__lista li { font-size: clamp(18px, 1.6vw, 22px); font-weight: 500; color: var(--wp--preset--color--szoveg); margin: .6em 0; }
.st-hero__lista li::before { content: "•"; color: var(--wp--preset--color--szoveg); margin-right: .6em; }
.st-hero__szamok { gap: clamp(24px, 4vw, 56px) !important; }
.st-hero__szamok .wp-block-group { gap: 2px; }
.st-szam { font-size: var(--wp--preset--font-size--h-3) !important; font-weight: 700; color: var(--wp--preset--color--teglavoros); margin: 0 !important; line-height: 1.1; font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1; }
.st-szam-felirat { font-size: 14px; margin: 0 !important; }
.st-hero__logo { position: relative; width: 100%; max-width: 520px; margin-inline: auto; }
.st-hero__logo svg { width: 100%; height: auto; display: block; overflow: visible; color: var(--wp--preset--color--zold); }
.st-hero__logo .p { fill: currentColor; fill-rule: evenodd; }
.st-alcim { text-align: center; font-size: clamp(11px, 1.3vw, 18px); letter-spacing: .02em; margin-top: .5rem !important; color: var(--wp--preset--color--szoveg); }

/* Logó felépülése – időzítés a régi oldal szerint (összesen 5,46 s; a --k szorzóval gyorsítható) */
.st-js .st-anim .base { clip-path: inset(0 100% 0 0); }
.st-js .st-anim .ltr { clip-path: inset(100% 0 0 0); }
.st-js .st-anim .stamp { opacity: 0; }
.st-js .st-anim .stampScale { transform-origin: 22% 62%; }
.st-js .st-anim .tbar { clip-path: inset(0 71.37% 0 0); }
.st-js .st-anim .roof { clip-path: inset(0 100% 0 0); }
.st-js .st-anim.is-in .base { animation: stWipeR calc(.70s * var(--k, 1)) cubic-bezier(.4,0,.2,1) calc(.05s * var(--k, 1)) forwards; }
.st-js .st-anim.is-in .lA { animation: stRise calc(.50s * var(--k, 1)) cubic-bezier(.22,.61,.36,1) calc(.62s * var(--k, 1)) forwards; }
.st-js .st-anim.is-in .lR { animation: stRise calc(.50s * var(--k, 1)) cubic-bezier(.22,.61,.36,1) calc(.86s * var(--k, 1)) forwards; }
.st-js .st-anim.is-in .lC { animation: stRise calc(.50s * var(--k, 1)) cubic-bezier(.22,.61,.36,1) calc(1.10s * var(--k, 1)) forwards; }
.st-js .st-anim.is-in .lH { animation: stRise calc(.50s * var(--k, 1)) cubic-bezier(.22,.61,.36,1) calc(1.34s * var(--k, 1)) forwards; }
.st-js .st-anim.is-in .stamp { animation: stFade calc(2.50s * var(--k, 1)) cubic-bezier(.4,.05,.7,.95) calc(1.86s * var(--k, 1)) forwards; }
.st-js .st-anim.is-in .stampScale { animation: stScale calc(2.50s * var(--k, 1)) cubic-bezier(.25,.1,.45,1) calc(1.86s * var(--k, 1)) forwards; }
.st-js .st-anim.is-in .tbar { animation: stWipeR calc(1.10s * var(--k, 1)) cubic-bezier(.42,0,.22,1) calc(4.36s * var(--k, 1)) forwards; }
.st-js .st-anim.is-in .roof { animation: stWipeR calc(1.10s * var(--k, 1)) cubic-bezier(.42,0,.22,1) calc(4.36s * var(--k, 1)) forwards; }
.st-js .st-alcim.st-alcim--anim { animation: stFade calc(1.82s * var(--k, 1)) cubic-bezier(.22,.61,.36,1) calc(3.64s * var(--k, 1)) both; animation-play-state: paused; }
.st-js .st-alcim.st-alcim--anim.is-in { animation-play-state: running; }
@keyframes stWipeR { to { clip-path: inset(0 0 0 0); } }
@keyframes stRise { to { clip-path: inset(0 0 0 0); } }
@keyframes stFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes stScale { from { transform: scale(1.09); } to { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) {
	.st-anim .base, .st-anim .ltr, .st-anim .tbar, .st-anim .roof { clip-path: none !important; animation: none !important; }
	.st-anim .stamp { opacity: 1 !important; animation: none !important; }
	.st-anim .stampScale { transform: none !important; animation: none !important; }
	.st-js .st-alcim.st-alcim--anim { animation: none; opacity: 1; }
}
.editor-styles-wrapper .st-anim .base, .editor-styles-wrapper .st-anim .ltr, .editor-styles-wrapper .st-anim .tbar, .editor-styles-wrapper .st-anim .roof { clip-path: none; }
.editor-styles-wrapper .st-anim .stamp { opacity: 1; }

/* ---------- Kártyák (kezdőlap kategóriák) ---------- */
.st-kartyak { gap: 12px !important; }
.st-kartya { text-align: center; }
.st-kartya .wp-block-image { margin-bottom: 0; }
.st-kartya .wp-block-image img { aspect-ratio: 2 / 1; object-fit: cover; width: 100%; }
.st-kartya__doboz { position: relative; background: #fff; width: 82%; margin: -64px auto 0 !important; padding: 18px 16px 4px; }
.st-kartya__doboz h3 { font-size: clamp(22px, 2.2vw, 28px); margin: 0; }
.st-kartya__alcim { font-size: 14px; font-weight: 700; color: #000; margin-top: 4px !important; }
.st-kartya__szoveg { font-size: 14px; max-width: 34em; margin: 1rem auto 0 !important; color: var(--wp--preset--color--szoveg); }
.st-kartya__tovabb { font-size: 14px; font-weight: 700; margin-top: 1rem !important; }
.st-kartya__tovabb a { color: #000; }

/* ---------- Szolgáltatás-blokkok (Tanácsadás oldal) ---------- */
.st-szolg { padding-block: clamp(24px, 4vw, 48px) clamp(40px, 6vw, 72px); }
.st-szolg__cim { text-align: center; margin-bottom: clamp(24px, 3vw, 40px) !important; }
.st-szolg .wp-block-image { height: 100%; margin: 0; }
.st-szolg .wp-block-image img { width: 100%; height: 100%; min-height: 320px; object-fit: cover; }
.st-tetel { margin-bottom: .5rem !important; padding: 10px 16px; margin-inline: -16px; border-radius: 12px; transition: transform .35s cubic-bezier(.16,1,.3,1), background-color .3s ease, box-shadow .35s ease; }
.st-tetel h3 { font-size: 18px; color: #000; margin: 0 0 2px; display: inline; background: linear-gradient(var(--wp--preset--color--teglavoros), var(--wp--preset--color--teglavoros)) 0 100% / 0 2px no-repeat; padding-bottom: 2px; transition: background-size .45s cubic-bezier(.65,0,.35,1), color .3s ease; }
.st-tetel h3 + p { margin-top: 4px !important; }
/* Rámutatásra a tétel kiemelkedik, a címe vörös vonallal aláhúzódik */
.st-tetel:hover { transform: translateY(-3px); background: #fff; box-shadow: 0 16px 34px -20px rgba(13,20,26,.45); }
.st-tetel:hover h3 { background-size: 100% 2px; color: var(--wp--preset--color--teglavoros); }
@media (prefers-reduced-motion: reduce) { .st-tetel, .st-tetel h3 { transition: none; } .st-tetel:hover { transform: none; } }
.st-tetel p { font-size: 14px; margin: 0; color: var(--wp--preset--color--szoveg); }

/* ---------- Szöveges oldalak (ÁSZF, Adatkezelés, GYIK) ---------- */
.st-oldalcim { margin-bottom: 2rem; }
.st-szoveges .wp-block-post-content { font-size: 15px; }
.st-szoveges .wp-block-post-content p, .st-szoveges .wp-block-post-content li { text-align: justify; hyphens: auto; }
.st-szoveges .wp-block-post-content h2 { font-size: 22px; color: #000; margin-top: 2.2rem; }
.st-szoveges .wp-block-post-content h3 { font-size: 17px; color: #000; margin-top: 1.4rem; }
.st-gyik-kerdes { font-size: 16px !important; color: #000 !important; margin-top: 2rem !important; margin-bottom: .4rem !important; }
.st-kitoltendo { background: #fff3b0; padding: 0 .2em; }

/* ---------- Rólam ---------- */
.st-rolam p { text-align: justify; hyphens: auto; font-size: 15px; }
.st-rolam .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- Kapcsolat ---------- */
.st-kapcsolat-boritas { min-height: 0 !important; padding-block: clamp(32px, 5vw, 64px) !important; }
.st-kapcsolat-boritas h1 { color: #fff; }
.st-kapcsolat-boritas a { color: #fff; }
.st-urlap { background: #fff; color: var(--wp--preset--color--szoveg); border-radius: 16px; padding: 24px; max-width: 520px; margin: 0 auto; text-align: left; box-shadow: 0 10px 40px -20px rgba(0,0,0,.4); }
.st-urlap p { margin: 0 0 14px; }
.st-urlap label { display: block; font-size: 14px; margin-bottom: 6px; color: #1d1e20; }
.st-urlap input[type="text"], .st-urlap input[type="email"], .st-urlap input[type="tel"], .st-urlap textarea {
	width: 100%; box-sizing: border-box; border: 1px solid #c9ccd1; border-radius: 8px; padding: 11px 12px; font: inherit; font-size: 14px; background: #fff;
}
.st-urlap input:focus, .st-urlap textarea:focus { outline: 2px solid var(--wp--preset--color--zold-vilagos); outline-offset: 1px; border-color: transparent; }
.st-urlap__hozzajarulas label { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; line-height: 1.45; }
.st-urlap__hozzajarulas input { margin-top: 3px; }
.st-urlap__gomb { text-align: center; }
.st-urlap__gomb button { background: #000; border: 0; cursor: pointer; padding: 14px 40px; }

.st-urlap__csapda { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.st-urlap__uzenet { padding: 12px 14px; border-radius: 8px; font-size: 14px; }
.st-urlap__uzenet--ok { background: #def4f0; color: #00664d; }
.st-urlap__uzenet--hiba { background: #ffe8ef; color: #9b1c3a; }

/* ---------- Időpontfoglalás ---------- */
.st-kiemelt__cim { font-size: clamp(30px, 3.4vw, 44px) !important; color: #000 !important; margin: 0 !important; }
.st-kiemelt__alcim { font-size: clamp(22px, 2.2vw, 30px) !important; color: #000 !important; margin-top: .3rem !important; }
.st-meta { font-size: 14px; color: var(--wp--preset--color--szoveg); }
.st-ar-racs { gap: 16px !important; }
.st-ar-kartya { text-align: center; display: flex; flex-direction: column; }
.st-ar-kartya .wp-block-image img { aspect-ratio: 1 / 1; object-fit: cover; width: 100%; }
.st-ar-kartya h3 { font-size: 20px; color: #000; margin: .9rem 0 .2rem; }
.st-ar-kartya h3 a { color: inherit; text-decoration: none; }
.st-ar-kartya .st-meta { margin: 0 0 .8rem !important; }
.st-ar-kartya .wp-block-buttons { margin-top: auto; }
.st-ar-kartya .wp-block-button__link { font-size: 13px; padding: 12px 18px; width: 100%; }
.st-szolgaltatas .wp-block-image img { aspect-ratio: 8 / 7; object-fit: cover; width: 100%; }

/* ---------- Lábléc ---------- */
.st-lablec a { color: #fff; }
.st-lablec a:hover { color: #fff; opacity: .8; }
.st-lablec__cim { font-size: 28px !important; margin: 0 0 .75rem !important; }
.st-lablec__jobb { text-align: center; display: flex; flex-direction: column; align-items: flex-end; }
.st-lablec__logo { margin: 0 !important; line-height: 0; }
.st-lablec__copy { margin-top: .5rem !important; text-align: center; }
.st-lablec__also { margin-top: var(--wp--preset--spacing--40) !important; }
.st-lablec__jogi { line-height: 1.9; }
.st-lablec__jogi a, .st-lablec__email a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 781px) {
	.st-lablec, .st-lablec p { text-align: center !important; }
	.st-lablec__jobb { align-items: center; }
	.st-kozossegi { justify-content: center !important; }
	.st-lablec__felso { flex-direction: column; }
}


/* ---------- Süti tájékoztató ---------- */
.st-suti { position: fixed; left: 16px; bottom: 16px; z-index: 200; max-width: 420px; background: #1d1e20; color: #fff; font-size: 13px; line-height: 1.5; padding: 16px 18px; border-radius: 12px; box-shadow: 0 8px 30px rgba(0,0,0,.3); display: flex; gap: 14px; align-items: flex-end; }
.st-suti a { color: #fff; }
.st-suti button { flex: none; background: #fff; color: #1d1e20; border: 0; border-radius: 999px; padding: 8px 18px; font: inherit; font-weight: 600; cursor: pointer; }
@media (max-width: 600px) { .st-suti { left: 8px; right: 8px; bottom: 8px; max-width: none; } }

/* ---------- Cal.com felugró ablak betöltés közben ---------- */
.st-cal-betolt { cursor: progress; opacity: .7; }

/* ---------- Csak felolvasóprogramoknak (rejtett címsor) ---------- */
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }

/* ---------- Kiegészítések az oldalakhoz ---------- */
.st-kategoriak__bevezeto { max-width: 760px; margin-inline: auto !important; }
.st-kartyak { margin-top: var(--wp--preset--spacing--50) !important; }
.st-rolam__nev { font-size: 15px; }
.st-rolam__alcim { font-size: 16px !important; color: #000 !important; margin: 1.6rem 0 .4rem !important; }
.st-rolam .wp-block-image { height: 100%; margin: 0; }
.st-vissza a { color: var(--wp--preset--color--szoveg); }
.st-foglalas-info { max-width: 760px; margin-inline: auto !important; color: var(--wp--preset--color--szoveg); }
.st-szolgaltatas .wp-block-image { margin: 0; }
@media (max-width: 781px) {
	.st-hero__cim { text-align: center; }
	.st-hero__lista { width: fit-content; margin-inline: auto !important; }
	.st-hero__szamok { justify-content: center; }
	.st-hero__szamok .wp-block-group { align-items: center; text-align: center; }
	.st-szolg .wp-block-image img { min-height: 220px; }
	.st-rolam .wp-block-image img { max-height: 520px; }
}
.st-szolg, [id] { scroll-margin-top: 96px; }
.st-oldalcim { font-size: var(--wp--preset--font-size--h-4) !important; margin-top: var(--wp--preset--spacing--30) !important; }
.st-kapcsolat-boritas .st-urlap a { color: var(--wp--preset--color--teglavoros); text-decoration: underline; }

/* =========================================================================
   „Játék” réteg – nyitó animáció, élő kártyák, tervrajz-hangulat, kvíz
   ========================================================================= */

/* ---------- Nyitó animáció (csak a kezdőlapon, munkamenetenként egyszer) ---------- */
.st-intro { display: none; }
html.st-intro-on { overflow: hidden; }
html.st-intro-on .st-intro {
	display: flex; position: fixed; inset: 0; z-index: 10000; flex-direction: column; align-items: center; justify-content: center;
	background: var(--wp--preset--color--zold); color: #fff; transition: opacity .7s ease, visibility .7s;
}
.st-intro__logo { width: min(620px, 84vw); text-align: center; transition: transform .7s cubic-bezier(.7,0,.84,0), opacity .5s ease; }
.st-intro__logo svg { width: 100%; height: auto; display: block; overflow: visible; color: #fff; }
.st-intro__logo .p { fill: currentColor; fill-rule: evenodd; }
.st-intro__alcim { margin: 1rem 0 0; font-size: clamp(10px, 1.3vw, 16px); letter-spacing: .1em; opacity: 0; }
@media (min-width: 700px) { .st-intro__alcim { white-space: nowrap; } }
.st-intro.is-fut .st-intro__alcim { animation: stFade 1.82s cubic-bezier(.22,.61,.36,1) 3.64s forwards; }
.st-intro__csik { position: absolute; left: 0; right: 0; bottom: 0; height: 8px; background: rgba(255,255,255,.12); }
.st-intro__csik span { display: block; height: 100%; width: 100%; background: var(--wp--preset--color--teglavoros); transform-origin: left; transform: scaleX(0); }
html.st-intro-on .st-intro.is-fut .st-intro__csik span { animation: stCsik 5.46s cubic-bezier(.45,.05,.55,.95) forwards; }
@keyframes stCsik { to { transform: scaleX(1); } }
.st-intro__szazalek { position: absolute; right: 20px; bottom: 18px; font-size: 13px; font-weight: 600; letter-spacing: .08em; font-variant-numeric: tabular-nums; opacity: .8; }
.st-intro__kihagy { position: absolute; top: 18px; right: 20px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.45); border-radius: 999px; padding: 8px 18px; font: inherit; font-size: 13px; letter-spacing: .06em; cursor: pointer; transition: background .2s; }
.st-intro__kihagy:hover, .st-intro__kihagy:focus-visible { background: rgba(255,255,255,.14); }
.st-intro.is-vege { opacity: 0; visibility: hidden; }
.st-intro.is-vege .st-intro__logo { transform: scale(.82) translateY(-6vh); opacity: 0; }

/* ---------- Görgetésjelző a fejléc alján ---------- */
.st-fejlec-wrap::after { content: ""; position: absolute; left: 0; bottom: 0; height: 3px; width: 100%; background: var(--wp--preset--color--teglavoros); transform-origin: left; transform: scaleX(var(--st-gorget, 0)); pointer-events: none; }

.st-kartya__tovabb a { position: relative; text-decoration: none; }
.st-kartya__tovabb a::after { content: " →"; display: inline-block; transition: translate .3s ease; }
.st-kartya:hover .st-kartya__tovabb a::after { translate: 5px 0; }

/* ---------- Tervrajz-hangulat: milliméterpapír-rács, ami az egér körül élesedik ---------- */
.st-racs { position: fixed; inset: 0; z-index: -1; pointer-events: none;
	background-image:
		linear-gradient(rgba(50,84,84,.10) 1px, transparent 1px), linear-gradient(90deg, rgba(50,84,84,.10) 1px, transparent 1px),
		linear-gradient(rgba(50,84,84,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(50,84,84,.05) 1px, transparent 1px);
	background-size: 50px 50px, 50px 50px, 10px 10px, 10px 10px;
	-webkit-mask-image: radial-gradient(circle 280px at var(--st-gx, 50%) var(--st-gy, -400px), #000 0%, rgba(0,0,0,.18) 60%, rgba(0,0,0,.18) 100%);
	mask-image: radial-gradient(circle 280px at var(--st-gx, 50%) var(--st-gy, -400px), #000 0%, rgba(0,0,0,.18) 60%, rgba(0,0,0,.18) 100%);
}
.st-racs::after { content: attr(data-koord); position: fixed; left: calc(var(--st-gx, -200px) + 16px); top: calc(var(--st-gy, -200px) + 16px); font-size: 10px; letter-spacing: .08em; color: rgba(50,84,84,.55); font-variant-numeric: tabular-nums; }
@media (hover: none), (pointer: coarse) { .st-racs { -webkit-mask-image: none; mask-image: none; opacity: .25; } .st-racs::after { display: none; } }

/* ---------- Telek-kvíz ---------- */
.st-kviz-szakasz { background: var(--wp--preset--color--halvany); margin-block: 0 !important; }
.st-kviz { max-width: 860px; margin: 0 auto; text-align: center; }
.st-kviz__felirat { font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--zold-vilagos); font-weight: 600; margin: 0 0 .4rem; }
.st-kviz h2 { margin: 0 0 1.2rem; }
.st-kviz__haz { width: 92px; height: 70px; margin: 0 auto 1.4rem; display: block; overflow: visible; }
.st-kviz__haz path, .st-kviz__haz line { fill: none; stroke: var(--wp--preset--color--zold); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 400; stroke-dashoffset: 400; transition: stroke-dashoffset 1s cubic-bezier(.65,0,.35,1), stroke .3s; }
.st-kviz__haz .is-on { stroke-dashoffset: 0; }
.st-kviz__haz .st-kviz__teto.is-on { stroke: var(--wp--preset--color--teglavoros); }
.st-kviz__ter { position: relative; min-height: 260px; }
.st-kviz__lap { display: none; }
.st-kviz__lap.is-aktiv { display: block; animation: stLapBe .55s cubic-bezier(.16,1,.3,1); }
@keyframes stLapBe { from { opacity: 0; translate: 40px 0; } to { opacity: 1; translate: none; } }
/* A kérdés kiemelve: nagyobb, zöld, alatta vörös vonal */
.st-kviz__kerdes { font-size: clamp(24px, 2.8vw, 34px) !important; font-weight: 700 !important; color: var(--wp--preset--color--zold) !important; margin: 0 auto 1.8rem !important; display: table; padding-bottom: 10px; background: linear-gradient(var(--wp--preset--color--teglavoros), var(--wp--preset--color--teglavoros)) 50% 100% / 64px 3px no-repeat; }
.st-kviz__valaszok { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
/* Válaszgombok: zöld alap, fehér betű; rámutatásra fehér alap, vörös betű */
.st-kviz__valasz {
	position: relative; text-align: left; background: var(--wp--preset--color--zold); border: 1.5px solid var(--wp--preset--color--zold); border-radius: 14px; padding: 18px 20px 18px 56px; font: inherit; font-size: 15px; font-weight: 600; color: #fff; cursor: pointer;
	transition: background-color .25s, color .25s, border-color .25s, box-shadow .3s, translate .3s cubic-bezier(.16,1,.3,1);
}
.st-kviz__valasz::before { content: attr(data-betu); position: absolute; left: 16px; top: 50%; translate: 0 -50%; width: 26px; height: 26px; border-radius: 8px; background: rgba(255,255,255,.16); color: #fff; font-size: 13px; font-weight: 700; display: grid; place-items: center; transition: background .25s, color .25s; }
.st-kviz__valasz:hover, .st-kviz__valasz:focus-visible { background: #fff; color: var(--wp--preset--color--teglavoros); border-color: var(--wp--preset--color--teglavoros); box-shadow: 0 14px 30px -18px rgba(13,20,26,.5); translate: 0 -2px; outline: none; }
.st-kviz__valasz:hover::before, .st-kviz__valasz:focus-visible::before { background: var(--wp--preset--color--teglavoros); color: #fff; }
.st-kviz__valasz.is-valasztott { background: #fff; color: var(--wp--preset--color--teglavoros); border-color: var(--wp--preset--color--teglavoros); }
.st-kviz__valasz.is-valasztott::before { background: var(--wp--preset--color--teglavoros); color: #fff; }
.st-kviz__eredmeny { display: grid; grid-template-columns: 220px 1fr; gap: 24px; align-items: center; text-align: left; background: #fff; border-radius: 18px; padding: 18px; box-shadow: 0 24px 60px -34px rgba(13,20,26,.5); }
.st-kviz__eredmeny img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 12px; display: block; }
.st-kviz__ajanlo { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--zold-vilagos); font-weight: 600; margin: 0; }
.st-kviz__eredmeny h3 { font-size: clamp(24px, 2.6vw, 32px); color: #000; margin: .2rem 0 .2rem; }
.st-kviz__miert { font-size: 14px; margin: .6rem 0 1rem; }
.st-kviz__gombok { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.st-kviz__gombok .wp-block-button__link { padding: 13px 26px; font-size: 14px; }
.st-kviz__masodlagos { font-size: 14px; font-weight: 600; color: #000; }
.st-kviz__also { margin-top: 1.4rem; font-size: 13px; }
.st-kviz__ujra { background: none; border: 0; font: inherit; font-size: 13px; color: var(--wp--preset--color--szoveg); text-decoration: underline; cursor: pointer; margin-top: 1rem; }
@media (max-width: 640px) {
	.st-kviz__valaszok { grid-template-columns: 1fr; }
	.st-kviz__eredmeny { grid-template-columns: 1fr; }
	.st-kviz__eredmeny img { aspect-ratio: 16 / 9; }
}
@media (prefers-reduced-motion: reduce) { .st-kviz__lap.is-aktiv { animation: none; } }

/* ---------- GYIK: lenyíló kérdések pluszjellel ---------- */
.st-gyik-kerdes.st-lenyilo { margin: 0 !important; border-bottom: 1px solid #dde1e4; }
.st-gyik-kerdes.st-lenyilo:first-of-type { border-top: 1px solid #dde1e4; }
.st-gyik-gomb { all: unset; box-sizing: border-box; width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 2px; cursor: pointer; font: inherit; font-weight: 600; color: #000; line-height: 1.4; transition: color .2s ease; }
.st-gyik-gomb:hover, .st-gyik-gomb:focus-visible { color: var(--wp--preset--color--teglavoros); }
.st-gyik-gomb:focus-visible { outline: 2px solid var(--wp--preset--color--zold-vilagos); outline-offset: 2px; border-radius: 4px; }
.st-plusz { flex: none; position: relative; width: 30px; height: 30px; border-radius: 50%; border: 1.5px solid currentColor; transition: transform .35s cubic-bezier(.65,0,.35,1), background .2s, color .2s; }
.st-plusz::before, .st-plusz::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 1.5px; margin: -.75px 0 0 -6px; background: currentColor; }
.st-plusz::after { transform: rotate(90deg); transition: transform .35s cubic-bezier(.65,0,.35,1); }
.st-gyik-gomb[aria-expanded="true"] { color: var(--wp--preset--color--teglavoros); }
.st-gyik-gomb[aria-expanded="true"] .st-plusz { transform: rotate(180deg); background: var(--wp--preset--color--teglavoros); border-color: var(--wp--preset--color--teglavoros); }
.st-gyik-gomb[aria-expanded="true"] .st-plusz::before, .st-gyik-gomb[aria-expanded="true"] .st-plusz::after { background: #fff; }
.st-gyik-gomb[aria-expanded="true"] .st-plusz::after { transform: rotate(0deg); }
.st-gyik-valasz { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .45s cubic-bezier(.65,0,.35,1); border-bottom: 1px solid #dde1e4; margin: 0 !important; }
.st-gyik-valasz > div { min-height: 0; overflow: hidden; }
.st-gyik-valasz > div > p:first-child { margin-top: 0; }
.st-gyik-valasz > div > p:last-child { margin-bottom: 20px; }
.st-gyik-valasz.is-nyitva { grid-template-rows: 1fr; }
.st-gyik-kerdes.st-lenyilo:has(+ .st-gyik-valasz) { border-bottom: 0; }
@media (prefers-reduced-motion: reduce) { .st-gyik-valasz, .st-plusz, .st-plusz::after { transition: none; } }
.st-szoveges .wp-block-post-content > .wp-block-buttons:last-child { margin-bottom: var(--wp--preset--spacing--40); }

/* Kapcsolat: háttérvideó + állókép */
.st-kapcsolat-boritas video.wp-block-cover__video-background { object-fit: cover; }

/* ---------- „Hamarosan indul” ablak (amíg a foglalás ki van kapcsolva) ---------- */
.st-hamarosan { position: fixed; inset: 0; z-index: 9000; background: rgba(13,20,26,.55); display: grid; place-items: center; padding: 16px; animation: stFade .25s ease; }
.st-hamarosan__doboz { position: relative; background: #fff; border-radius: 18px; padding: 32px 28px 26px; max-width: 460px; width: 100%; text-align: center; box-shadow: 0 30px 80px -30px rgba(0,0,0,.6); border-top: 6px solid var(--wp--preset--color--zold); }
.st-hamarosan__doboz h2 { font-size: 24px !important; margin: 0 0 .6rem !important; }
.st-hamarosan__doboz p { font-size: 15px; margin: 0 0 1.2rem; }
.st-hamarosan__doboz .wp-block-buttons { justify-content: center; display: flex; }
.st-hamarosan__zar { position: absolute; top: 8px; right: 10px; background: none; border: 0; font-size: 28px; line-height: 1; cursor: pointer; color: var(--wp--preset--color--szoveg); }
.st-urlap__uzenet--info { background: #eef4f4; color: var(--wp--preset--color--zold); }
#kapcsolat-urlap { scroll-margin-top: 130px; }
