/*
Theme Name: Felhőtorna
Theme URI: https://felhotorna.hu
Author: Simon PC Szerviz és PC Bolt
Description: Felhős, habos, gyermekbarát téma a Felhőtorna Fejlesztő Sarok számára – komplex mozgásterápia és gyermekfejlesztés Gárdonyban. Foglalkozások, letölthető anyagok, beépített kapcsolati űrlap, automatikus kezdőtartalom.
Version: 1.2.3
Requires at least: 6.0
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: felhotorna
*/

/* ===== Betűk (helyben tárolva) ===== */
@font-face {
	font-family: "Baloo 2";
	src: url("assets/fonts/baloo2.woff") format("woff");
	font-weight: 400 800;
	font-display: swap;
}
@font-face {
	font-family: "Nunito";
	src: url("assets/fonts/nunito.woff") format("woff");
	font-weight: 200 1000;
	font-display: swap;
}

/* ===== Alapváltozók ===== */
:root {
	--ink: #1F2B38;
	--ink-soft: #55606E;
	--line: #DCE8F1;
	--sky: #EEF8FC;
	--sky-2: #F4F0FD;
	--white: #fff;

	--turkiz: #22B5C2; --turkiz-soft: #E3F8FB; --turkiz-ink: #0C7480; --turkiz-mid: #7FDCE4;
	--rozsa: #F48ACB; --rozsa-soft: #FDEAF5;
	--lila: #8E6FD8;   --lila-soft: #EEE8FB;   --lila-ink: #5A3DA6;   --lila-mid: #B9A6EC;
	--sarga: #F5B82E;  --sarga-soft: #FFF4D6;  --sarga-ink: #845300;  --sarga-mid: #FFDC7A;
	--narancs: #F2804A; --narancs-soft: #FFEDE3; --narancs-ink: #A3461A; --narancs-mid: #F9B48F;
	--zold: #6CC24A;   --zold-soft: #E8F6E1;   --zold-ink: #33711B;   --zold-mid: #A9DE8F;

	--btn: #7356C9;
	--btn-hover: #5F43B5;

	--radius: 28px;
	--radius-lg: 44px;
	--shadow: 0 22px 48px -24px rgba(64, 120, 160, .38);
	--shadow-sm: 0 10px 26px -14px rgba(64, 120, 160, .35);
	--font-head: "Baloo 2", "Trebuchet MS", system-ui, sans-serif;
	--font-body: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;
	--wrap: 1200px;
	--edge: clamp(36px, 6.5vw, 96px);
}

.ft-c-turkiz { --c: var(--turkiz); --c-soft: var(--turkiz-soft); --c-ink: var(--turkiz-ink); --c-mid: var(--turkiz-mid); }
.ft-c-lila   { --c: var(--lila);   --c-soft: var(--lila-soft);   --c-ink: var(--lila-ink);   --c-mid: var(--lila-mid); }
.ft-c-sarga  { --c: var(--sarga);  --c-soft: var(--sarga-soft);  --c-ink: var(--sarga-ink);  --c-mid: var(--sarga-mid); }
.ft-c-narancs { --c: var(--narancs); --c-soft: var(--narancs-soft); --c-ink: var(--narancs-ink); --c-mid: var(--narancs-mid); }
.ft-c-zold   { --c: var(--zold);   --c-soft: var(--zold-soft);   --c-ink: var(--zold-ink);   --c-mid: var(--zold-mid); }

/* ===== Alap ===== */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	font-family: var(--font-body);
	font-size: 17px;
	line-height: 1.7;
	color: var(--ink);
	background: var(--white);
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
img, svg { max-width: 100%; height: auto; }
a { color: var(--lila-ink); text-underline-offset: 3px; }
a:hover { color: var(--btn-hover); }
h1, h2, h3, h4 { font-family: var(--font-head); line-height: 1.15; color: var(--ink); margin: 0 0 .5em; font-weight: 700; letter-spacing: -.01em; }
h2 { font-size: clamp(1.9rem, 3.6vw, 2.75rem); }
h3 { font-size: 1.35rem; }
p { margin: 0 0 1em; }
:focus-visible { outline: 3px solid var(--lila); outline-offset: 3px; border-radius: 8px; }

.ft-wrap { width: min(var(--wrap), 100% - 32px); margin-inline: auto; }
.ft-center { text-align: center; }
.ft-skip { position: absolute; left: -999px; top: 8px; background: var(--ink); color: #fff; padding: 8px 16px; border-radius: 999px; z-index: 100; }
.ft-skip:focus { left: 16px; }
.screen-reader-text { position: absolute !important; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden; }

/* ===== Gombok ===== */
.ft-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em;
	font-family: var(--font-head); font-weight: 700; font-size: 1.08rem; line-height: 1.2;
	padding: .95em 1.6em; border-radius: 999px; border: 0; cursor: pointer;
	background: var(--btn); color: #fff; text-decoration: none;
	box-shadow: 0 10px 0 -4px rgba(115, 86, 201, .22), 0 14px 26px -12px rgba(115, 86, 201, .55);
	transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.ft-btn:hover { background: var(--btn-hover); color: #fff; transform: translateY(-2px); }
.ft-btn:active { transform: translateY(1px); }
.ft-btn .ft-icon { width: 1.2em; height: 1.2em; }
.ft-btn--sm { font-size: .98rem; padding: .7em 1.25em; }
.ft-btn--block { width: 100%; }
.ft-btn--ghost { background: #fff; color: var(--turkiz-ink); box-shadow: inset 0 0 0 2.5px var(--turkiz-mid), var(--shadow-sm); }
.ft-btn--ghost:hover { background: var(--turkiz-soft); color: var(--turkiz-ink); }
.ft-btn--white { background: #fff; color: var(--lila-ink); box-shadow: 0 14px 26px -12px rgba(0,0,0,.3); }
.ft-btn--white:hover { background: var(--sarga-soft); color: var(--lila-ink); }
.ft-btn--outline-white { background: transparent; color: #fff; box-shadow: inset 0 0 0 2.5px rgba(255,255,255,.8); }
.ft-btn--outline-white:hover { background: rgba(255,255,255,.15); color: #fff; }

.ft-link { display: inline-flex; align-items: center; gap: .4em; font-family: var(--font-head); font-weight: 700; font-size: 1.08rem; color: var(--lila-ink); text-decoration: none; }
.ft-link .ft-icon { width: 1.15em; height: 1.15em; transition: transform .2s; }
.ft-link:hover .ft-icon { transform: translateX(4px); }

.ft-icon { width: 24px; height: 24px; flex: none; }

.ft-kicker, .ft-eyebrow {
	display: inline-flex; align-items: center; gap: .45em;
	font-family: var(--font-head); font-weight: 700; font-size: .95rem; letter-spacing: .04em; text-transform: uppercase;
	color: var(--c-ink, var(--turkiz-ink)); background: var(--c-soft, var(--turkiz-soft));
	padding: .35em 1em .25em; border-radius: 999px; margin-bottom: 1rem;
}
.ft-eyebrow { text-transform: none; letter-spacing: 0; background: rgba(255,255,255,.75); color: var(--turkiz-ink); box-shadow: var(--shadow-sm); }
.ft-eyebrow .ft-icon { width: 1.3em; height: 1.3em; }

/* ===== Felhős elválasztó ===== */
.ft-cloud-edge { position: absolute; left: 0; right: 0; bottom: -1px; height: var(--edge); pointer-events: none; z-index: 1; line-height: 0; }
.ft-cloud-edge svg { width: 100%; height: 100%; display: block; }
.ft-cloud-edge.is-flipped { bottom: auto; top: -1px; transform: scaleY(-1); }

/* Habos buborékok */
.ft-bubble { position: absolute; border-radius: 50%; pointer-events: none; background: radial-gradient(circle at 32% 30%, rgba(255,255,255,.95), rgba(255,255,255,.35) 45%, rgba(255,255,255,0) 70%); box-shadow: inset 0 0 0 2px rgba(255,255,255,.55); animation: ft-float 9s ease-in-out infinite; }
.ft-bubble--1 { width: 90px; height: 90px; left: 4%; top: 18%; }
.ft-bubble--2 { width: 46px; height: 46px; left: 44%; top: 10%; animation-delay: -3s; }
.ft-bubble--3 { width: 64px; height: 64px; right: 6%; bottom: 26%; animation-delay: -5s; }
.ft-bubble--4 { width: 120px; height: 120px; left: -30px; bottom: -30px; }
.ft-bubble--5 { width: 70px; height: 70px; right: 8%; top: -18px; animation-delay: -4s; }
@keyframes ft-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }

/* ===== Fejléc ===== */
.ft-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.82); backdrop-filter: saturate(1.4) blur(12px); -webkit-backdrop-filter: saturate(1.4) blur(12px); transition: box-shadow .25s; }
.admin-bar .ft-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .ft-header { top: 0; } }
.ft-header.is-scrolled { box-shadow: 0 10px 30px -18px rgba(64,120,160,.45); }
.ft-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 84px; }
.ft-header__logo img { max-height: 64px; width: auto; display: block; }

.ft-textlogo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.ft-textlogo__cloud { width: 58px; height: 40px; filter: drop-shadow(0 6px 8px rgba(31,181,176,.25)); }
.ft-textlogo__text { display: flex; flex-direction: column; line-height: 1; }
.ft-textlogo__name { font-family: var(--font-head); font-weight: 800; font-size: 1.75rem; letter-spacing: -.01em; }
.ft-textlogo__name span:first-child { color: var(--turkiz); }
.ft-textlogo__name span:last-child { color: var(--lila); }
.ft-textlogo__sub { font-family: var(--font-head); font-weight: 600; font-size: .82rem; color: var(--ink-soft); letter-spacing: .14em; text-transform: uppercase; margin-top: 2px; }

.ft-nav { display: flex; align-items: center; gap: 18px; }
.ft-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; }
.ft-menu a { display: block; padding: .5em .95em; border-radius: 999px; font-family: var(--font-head); font-weight: 600; font-size: 1.05rem; color: var(--ink); text-decoration: none; transition: background .2s, color .2s; }
.ft-menu a:hover { background: var(--sky); color: var(--turkiz-ink); }
.ft-menu .current-menu-item > a, .ft-menu .current_page_item > a, .ft-menu .current-menu-ancestor > a { background: var(--turkiz-soft); color: var(--turkiz-ink); }
.ft-menu .sub-menu { list-style: none; padding: 8px; margin: 0; }

.ft-burger { display: none; align-items: center; gap: 8px; background: var(--sky); border: 0; border-radius: 999px; padding: 10px 16px; font-family: var(--font-head); font-weight: 700; font-size: 1rem; color: var(--ink); cursor: pointer; }
.ft-burger__lines { display: grid; gap: 4px; }
.ft-burger__lines span { display: block; width: 20px; height: 2.5px; border-radius: 2px; background: var(--ink); transition: transform .25s, opacity .25s; }
.ft-nav-open .ft-burger__lines span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.ft-nav-open .ft-burger__lines span:nth-child(2) { opacity: 0; }
.ft-nav-open .ft-burger__lines span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

@media (max-width: 1080px) {
	.ft-burger { display: inline-flex; }
	.ft-header__inner { min-height: 72px; }
	.ft-textlogo__name { font-size: 1.5rem; }
	.ft-nav { position: absolute; left: 16px; right: 16px; top: calc(100% + 6px); flex-direction: column; align-items: stretch; gap: 10px; padding: 16px; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: .25s ease; }
	.ft-nav-open .ft-nav { opacity: 1; visibility: visible; transform: none; }
	.ft-menu { flex-direction: column; }
	.ft-menu a { padding: .7em 1em; font-size: 1.12rem; }
	.ft-menu .sub-menu { padding: 0 0 0 16px; }
}
@media (min-width: 1081px) {
	.ft-menu li { position: relative; }
	.ft-menu .sub-menu { position: absolute; top: 100%; left: 0; min-width: 220px; background: #fff; border-radius: 20px; box-shadow: var(--shadow); opacity: 0; visibility: hidden; transition: .2s; }
	.ft-menu li:hover > .sub-menu, .ft-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; }
}

/* ===== Szakaszok ===== */
.ft-section { position: relative; padding: clamp(64px, 9vw, 120px) 0; }
.ft-section--tight { padding: clamp(36px, 5vw, 64px) 0 clamp(64px, 8vw, 110px); }
.ft-sky { background: linear-gradient(180deg, var(--sky) 0%, #F3F8FE 55%, var(--sky-2) 100%); padding-top: calc(clamp(64px, 9vw, 120px) + var(--edge) * .6); padding-bottom: calc(clamp(64px, 9vw, 120px) + var(--edge) * .6); }
.ft-section__head { max-width: 760px; margin: 0 auto clamp(36px, 5vw, 56px); text-align: center; }
.ft-section__head p:last-child { color: var(--ink-soft); font-size: 1.1rem; margin: 0; }

/* ===== Nyitókép ===== */
.ft-hero {
	position: relative; overflow: hidden;
	padding: clamp(36px, 6vw, 72px) 0 calc(var(--edge) + 24px);
	background:
		radial-gradient(60% 70% at 8% 10%, rgba(127, 214, 210, .45), transparent 70%),
		radial-gradient(50% 60% at 95% 20%, rgba(185, 166, 236, .45), transparent 70%),
		radial-gradient(40% 50% at 70% 95%, rgba(255, 220, 122, .35), transparent 70%),
		linear-gradient(180deg, #EAF7FC, #F5F2FE);
}
.ft-hero__grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.02fr 1fr; align-items: center; gap: clamp(24px, 4vw, 56px); }
.ft-hero__title {
	font-size: clamp(3rem, 7.4vw, 5.6rem); font-weight: 800; line-height: .98; margin: 0 0 .3em; letter-spacing: -.02em;
	background: linear-gradient(100deg, #139FAC 10%, #6F4FC4 85%); -webkit-background-clip: text; background-clip: text; color: transparent;
	padding-bottom: .06em;
}
.ft-hero__lead { font-size: clamp(1.1rem, 1.7vw, 1.3rem); color: var(--ink-soft); max-width: 34em; margin-bottom: 1.6em; }
.ft-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 28px; }
.ft-hero__chips { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.ft-hero__chips li { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.8); border-radius: 999px; padding: 7px 16px 7px 10px; font-weight: 700; font-size: .95rem; box-shadow: var(--shadow-sm); }
.ft-hero__chips .ft-icon { width: 28px; height: 28px; padding: 5px; border-radius: 50%; background: var(--turkiz-soft); color: var(--turkiz-ink); }
.ft-hero__chips li:nth-child(2) .ft-icon { background: var(--lila-soft); color: var(--lila-ink); }
.ft-hero__chips li:nth-child(3) .ft-icon { background: var(--sarga-soft); color: var(--sarga-ink); }
.ft-hero__art { position: relative; }
.ft-hero-art { width: 100%; display: block; overflow: visible; }

.ft-art-jump { animation: ft-jump 2.6s ease-in-out infinite; transform-box: fill-box; }
.ft-art-shadow { animation: ft-shadow 2.6s ease-in-out infinite; transform-origin: 320px 350px; transform-box: view-box; }
.ft-art-drift { animation: ft-drift 12s ease-in-out infinite; }
.ft-art-drift--slow { animation-duration: 16s; animation-direction: reverse; }
.ft-art-spark { animation: ft-twinkle 2.6s ease-in-out infinite; }
.ft-art-ball { animation: ft-ball 1.8s ease-in-out infinite; }
.ft-art-kid--b { animation: ft-sway 4s ease-in-out infinite; transform-origin: 158px 364px; transform-box: view-box; }
@keyframes ft-jump { 0%, 100% { transform: translateY(6px); } 45%, 55% { transform: translateY(-16px); } }
@keyframes ft-shadow { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(.7); opacity: .6; } }
@keyframes ft-drift { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(24px); } }
@keyframes ft-twinkle { 0%, 100% { opacity: .35; } 50% { opacity: 1; } }
@keyframes ft-ball { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes ft-sway { 0%, 100% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } }

/* ===== Módszer – felhő lépések ===== */
.ft-steps { list-style: none; padding: 0; margin: 0 0 40px; display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 3vw, 36px); counter-reset: step; }
.ft-step { position: relative; background: var(--c-soft); border-radius: var(--radius-lg); padding: 64px 30px 32px; margin-top: 40px; text-align: center; }
.ft-step::before, .ft-step::after { content: ""; position: absolute; background: var(--c-soft); border-radius: 50%; z-index: 0; }
.ft-step::before { width: 46%; aspect-ratio: 1; top: -32px; left: 14%; }
.ft-step::after { width: 32%; aspect-ratio: 1; top: -14px; right: 14%; }
.ft-step > * { position: relative; z-index: 1; }
.ft-step__num { display: grid; place-items: center; width: 64px; height: 64px; margin: -38px auto 14px; border-radius: 50%; background: var(--c); color: #fff; font-family: var(--font-head); font-weight: 800; font-size: 1.9rem; box-shadow: 0 0 0 7px #fff, var(--shadow-sm); }
.ft-c-sarga .ft-step__num { color: var(--ink); }
.ft-step h3 { color: var(--c-ink); }
.ft-step p { margin: 0; color: var(--ink-soft); }

/* ===== Foglalkozás-kártyák ===== */
.ft-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.ft-cards--3 { grid-template-columns: repeat(3, 1fr); }
.ft-card { position: relative; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
.ft-card:hover { transform: translateY(-6px); box-shadow: 0 30px 56px -26px rgba(64,120,160,.5); }
.ft-card::before { content: ""; position: absolute; width: 180px; height: 180px; right: -60px; top: -70px; border-radius: 50%; background: var(--c-soft); }
.ft-card::after { content: ""; position: absolute; width: 90px; height: 90px; right: 60px; top: -50px; border-radius: 50%; background: var(--c-soft); }
.ft-card__link { position: relative; z-index: 1; display: flex; flex-direction: column; height: 100%; padding: 28px 26px 24px; color: inherit; text-decoration: none; }
.ft-card__bubble { display: grid; place-items: center; width: 62px; height: 62px; border-radius: 50%; background: var(--c); color: #fff; margin-bottom: 18px; box-shadow: 0 0 0 6px #fff, 0 10px 20px -8px var(--c); }
.ft-c-sarga .ft-card__bubble { color: var(--ink); }
.ft-card__bubble .ft-icon { width: 30px; height: 30px; }
.ft-card__badge { position: absolute; top: 26px; right: 22px; font-family: var(--font-head); font-weight: 700; font-size: .85rem; padding: .3em .9em .2em; border-radius: 999px; background: var(--sarga); color: var(--ink); }
.ft-card__title { font-size: 1.38rem; margin-bottom: .4em; }
.ft-card__text { color: var(--ink-soft); font-size: .98rem; margin-bottom: 14px; }
.ft-card__meta { list-style: none; padding: 0; margin: 0 0 16px; display: grid; gap: 6px; font-size: .9rem; font-weight: 700; color: var(--c-ink); }
.ft-card__meta li { display: flex; align-items: center; gap: 8px; }
.ft-card__meta .ft-icon { width: 18px; height: 18px; }
.ft-card__more { margin-top: auto; display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-head); font-weight: 700; color: var(--c-ink); }
.ft-card__more .ft-icon { width: 20px; height: 20px; transition: transform .2s; }
.ft-card:hover .ft-card__more .ft-icon { transform: translateX(4px); }

.ft-card.is-featured { grid-column: span 2; background: linear-gradient(135deg, #fff 30%, var(--c-soft)); }
.ft-card.is-featured .ft-card__link { padding: 34px 34px 30px; }
.ft-card.is-featured .ft-card__title { font-size: clamp(1.6rem, 2.4vw, 2rem); }
.ft-card.is-featured .ft-card__text { font-size: 1.08rem; max-width: 32em; }
.ft-card.is-featured .ft-card__bubble { width: 76px; height: 76px; }
.ft-card.is-featured .ft-card__bubble .ft-icon { width: 38px; height: 38px; }

/* ===== Kinek ajánlom ===== */
.ft-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 80px); align-items: center; }
.ft-split__text p { color: var(--ink-soft); font-size: 1.08rem; }
.ft-split__text .ft-btn { margin-top: 8px; }
.ft-signs__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.ft-signs__list li { display: flex; align-items: center; gap: 14px; padding: 14px 20px 14px 14px; border-radius: 999px; background: var(--c-soft); font-weight: 700; transition: transform .2s; }
.ft-signs__list li:nth-child(even) { margin-left: clamp(0px, 4vw, 40px); }
.ft-signs__list li:hover { transform: translateX(6px); }
.ft-signs__list .ft-icon { width: 34px; height: 34px; padding: 7px; border-radius: 50%; background: var(--c); color: #fff; }
.ft-c-sarga .ft-icon { color: var(--ink); }

/* ===== Fejlesztő Sarok ===== */
.ft-place { padding-top: 0; }
.ft-place__card { display: grid; grid-template-columns: 1fr 1.1fr; align-items: center; gap: clamp(24px, 4vw, 56px); padding: clamp(24px, 4vw, 48px); border-radius: var(--radius-lg); background: linear-gradient(135deg, var(--sarga-soft), var(--turkiz-soft) 60%, var(--lila-soft)); position: relative; overflow: hidden; }
.ft-place__media { border-radius: 36px; overflow: hidden; background: linear-gradient(180deg, #DDF2FA, #F1ECFD); aspect-ratio: 9 / 7; display: grid; place-items: center; }
.ft-place__art { width: 92%; }
.ft-place__img { width: 100%; height: 100%; object-fit: cover; }
.ft-place__body p { color: var(--ink-soft); font-size: 1.08rem; }
.ft-place__facts { list-style: none; padding: 0; margin: 0 0 24px; display: grid; gap: 12px; }
.ft-place__facts li { display: flex; gap: 12px; align-items: flex-start; }
.ft-place__facts .ft-icon { width: 40px; height: 40px; padding: 8px; border-radius: 50%; background: #fff; color: var(--turkiz-ink); box-shadow: var(--shadow-sm); }
.ft-place__facts span { padding-top: 6px; line-height: 1.45; }
.ft-place__actions { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; }

/* ===== Rólam ===== */
.ft-split--rev .ft-about__photo { order: 0; }
.ft-about__photo { position: relative; max-width: 460px; margin-inline: auto; width: 100%; }
.ft-about__photo::before { content: ""; position: absolute; inset: -14px -6px auto auto; width: 70%; height: 70%; border-radius: 50%; background: var(--sarga-mid); opacity: .55; z-index: 0; }
.ft-about__img, .ft-about__placeholder { position: relative; z-index: 1; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 58% 42% 50% 50% / 48% 55% 45% 52%; box-shadow: var(--shadow); }
.ft-about__placeholder { display: grid; place-items: center; background: linear-gradient(135deg, var(--turkiz-mid), var(--lila-mid)); }
.ft-about__heart { width: 38%; height: 38%; color: #fff; stroke-width: 1.6; }
.ft-about__title { font-family: var(--font-head); font-weight: 600; font-size: 1.2rem; color: var(--turkiz-ink) !important; margin-top: -.4em; }
.ft-badges { list-style: none; padding: 0; margin: 4px 0 24px; display: flex; flex-wrap: wrap; gap: 8px; }
.ft-badges li { padding: .35em 1em; border-radius: 999px; background: var(--c-soft); color: var(--c-ink); font-weight: 800; font-size: .92rem; }

/* ===== Letöltések ===== */
.ft-dl-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 40px; }
.ft-dl { display: flex; flex-direction: column; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; }
.ft-dl[hidden] { display: none; }
.ft-dl__thumb { position: relative; aspect-ratio: 16 / 9; background: radial-gradient(circle at 30% 40%, #fff 0 18%, transparent 19%), radial-gradient(circle at 75% 70%, rgba(255,255,255,.7) 0 12%, transparent 13%), var(--c-soft); display: grid; place-items: center; }
.ft-dl__thumb img { width: 100%; height: 100%; object-fit: cover; }
.ft-dl__icon { display: grid; place-items: center; width: 84px; height: 84px; border-radius: 50%; background: var(--c); color: #fff; box-shadow: 0 0 0 10px rgba(255,255,255,.7); }
.ft-c-sarga .ft-dl__icon { color: var(--ink); }
.ft-dl__icon .ft-icon { width: 40px; height: 40px; }
.ft-dl__tag { position: absolute; top: 14px; left: 14px; font-family: var(--font-head); font-weight: 700; font-size: .85rem; padding: .3em .9em .2em; border-radius: 999px; background: #fff; color: var(--zold-ink); }
.ft-dl__tag.is-fizetos { color: var(--lila-ink); }
.ft-dl__body { display: flex; flex-direction: column; flex: 1; padding: 22px 24px 24px; }
.ft-dl__cat { font-size: .82rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--c-ink); margin-bottom: 4px; }
.ft-dl__title { font-size: 1.28rem; margin-bottom: .35em; }
.ft-dl__text { color: var(--ink-soft); font-size: .96rem; }
.ft-dl__kor { display: flex; align-items: center; gap: 6px; font-weight: 700; font-size: .9rem; color: var(--ink-soft); }
.ft-dl__kor .ft-icon { width: 18px; height: 18px; }
.ft-dl__foot { margin-top: auto; padding-top: 14px; border-top: 2px dashed var(--line); display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.ft-dl__price { font-family: var(--font-head); font-weight: 800; font-size: 1.25rem; }
.ft-dl__price.is-free { color: var(--zold-ink); }
.ft-dl__soon { font-weight: 700; color: var(--ink-soft); background: var(--sky); padding: .4em 1em; border-radius: 999px; font-size: .92rem; }

.ft-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0 0 32px; }
.ft-filter button { font-family: var(--font-head); font-weight: 700; font-size: 1.02rem; border: 0; cursor: pointer; padding: .55em 1.3em; border-radius: 999px; background: var(--sky); color: var(--ink); transition: .2s; }
.ft-filter button:hover { background: var(--turkiz-soft); }
.ft-filter button.is-active { background: var(--turkiz); color: #fff; }

.ft-note { display: flex; gap: 14px; align-items: flex-start; max-width: 760px; margin: 0 auto; padding: 18px 22px; border-radius: 22px; background: var(--sarga-soft); }
.ft-note .ft-icon { color: var(--sarga-ink); margin-top: 3px; }
.ft-note p { margin: 0; color: var(--ink-soft); }
.ft-empty { display: flex; gap: 10px; align-items: center; justify-content: center; font-weight: 700; color: var(--ink-soft); padding: 40px; background: var(--sky); border-radius: var(--radius); }

/* ===== Felhívás ===== */
.ft-cta-wrap { padding-top: 0; padding-bottom: calc(clamp(64px, 9vw, 120px) + var(--edge) * .5); }
.ft-cta { position: relative; overflow: hidden; text-align: center; color: #fff; padding: clamp(40px, 6vw, 72px) 24px; border-radius: var(--radius-lg); background: radial-gradient(60% 90% at 90% 0%, rgba(255, 220, 122, .4), transparent 60%), linear-gradient(120deg, #129C97, #6F52C8); box-shadow: var(--shadow); }
.ft-cta h2 { color: #fff; font-size: clamp(2.1rem, 4.4vw, 3.2rem); }
.ft-cta p { font-size: 1.15rem; max-width: 34em; margin: 0 auto 28px; opacity: .95; }
.ft-cta__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; position: relative; z-index: 1; }

/* ===== Aloldal fejléc ===== */
.ft-pagehead { position: relative; overflow: hidden; text-align: center; padding: clamp(48px, 7vw, 88px) 0 calc(var(--edge) + clamp(28px, 4vw, 48px)); background: radial-gradient(50% 80% at 10% 0%, var(--c-mid, var(--turkiz-mid)), transparent 70%), radial-gradient(50% 80% at 100% 30%, rgba(185,166,236,.5), transparent 70%), linear-gradient(180deg, var(--c-soft, var(--turkiz-soft)), #F6F4FD); }
.ft-pagehead__inner { position: relative; z-index: 2; max-width: 860px; }
.ft-pagehead__icon { display: grid; place-items: center; width: 72px; height: 72px; margin: 0 auto 16px; border-radius: 50%; background: #fff; color: var(--c-ink); box-shadow: var(--shadow-sm); }
.ft-pagehead__icon .ft-icon { width: 36px; height: 36px; }
.ft-pagehead .ft-kicker { background: rgba(255,255,255,.8); }
.ft-pagehead__title { font-size: clamp(2.3rem, 5.4vw, 3.8rem); font-weight: 800; margin-bottom: .25em; }
.ft-pagehead__lead { font-size: clamp(1.08rem, 1.6vw, 1.25rem); color: var(--ink-soft); max-width: 40em; margin: 0 auto; }

/* ===== Szövegtartalom (szerkesztőből) ===== */
.ft-prose { max-width: 780px; margin-inline: auto; font-size: 1.08rem; }
.ft-prose--intro { text-align: center; margin-bottom: 48px; color: var(--ink-soft); font-size: 1.15rem; }
.ft-prose > *:first-child { margin-top: 0; }
.ft-prose h2 { font-size: clamp(1.6rem, 2.8vw, 2.1rem); margin-top: 1.6em; display: flex; align-items: center; gap: .45em; }
.ft-prose h2::before { content: ""; flex: none; width: .9em; height: .62em; background: var(--turkiz-mid); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 16'%3E%3Cpath d='M5 16h14a5 5 0 0 0 .7-9.9A7 7 0 0 0 6.3 5 5.5 5.5 0 0 0 5 16z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 16'%3E%3Cpath d='M5 16h14a5 5 0 0 0 .7-9.9A7 7 0 0 0 6.3 5 5.5 5.5 0 0 0 5 16z'/%3E%3C/svg%3E") center / contain no-repeat; }
.ft-prose h3 { margin-top: 1.4em; }
.ft-prose ul:not([class*="ft-"]), .ft-prose .wp-block-list { list-style: none; padding: 0; margin: 0 0 1.4em; display: grid; gap: 10px; }
.ft-prose ul:not([class*="ft-"]) > li, .ft-prose .wp-block-list > li { position: relative; padding: 12px 18px 12px 52px; background: var(--sky); border-radius: 20px; line-height: 1.55; }
.ft-prose ul:not([class*="ft-"]) > li::before, .ft-prose .wp-block-list > li::before { content: ""; position: absolute; left: 16px; top: 15px; width: 22px; height: 22px; border-radius: 50%; background: var(--turkiz) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center / 14px no-repeat; }
.ft-prose .wp-block-list > li:nth-child(4n+2)::before { background-color: var(--lila); }
.ft-prose .wp-block-list > li:nth-child(4n+3)::before { background-color: var(--sarga); }
.ft-prose .wp-block-list > li:nth-child(4n+4)::before { background-color: var(--zold); }
.ft-prose ol { padding-left: 1.3em; }
.ft-prose img, .ft-prose__hero img { border-radius: var(--radius); }
.ft-prose__hero { margin: 0 0 32px; }
.ft-prose blockquote { margin: 1.6em 0; padding: 22px 28px; background: var(--lila-soft); border-radius: var(--radius); font-family: var(--font-head); font-size: 1.3rem; color: var(--lila-ink); border: 0; }
.ft-prose .wp-block-button__link { font-family: var(--font-head); font-weight: 700; border-radius: 999px; padding: .85em 1.5em; background: var(--btn); color: #fff; }
.ft-prose .wp-block-separator { border: 0; height: 12px; background: radial-gradient(circle, var(--turkiz-mid) 4px, transparent 5px) center / 24px 12px repeat-x; margin: 2em auto; max-width: 200px; }
.ft-prose .alignwide { max-width: 1100px; margin-inline: calc((780px - min(1100px, 100vw - 32px)) / 2); }
.ft-prose table { width: 100%; border-collapse: collapse; }
.ft-prose td, .ft-prose th { border-bottom: 2px solid var(--line); padding: 10px; text-align: left; }
.has-turkiz-color { color: var(--turkiz) !important; } .has-turkiz-background-color { background-color: var(--turkiz) !important; }
.has-lila-color { color: var(--lila) !important; } .has-lila-background-color { background-color: var(--lila) !important; }
.has-sarga-color { color: var(--sarga) !important; } .has-sarga-background-color { background-color: var(--sarga) !important; }
.has-zold-color { color: var(--zold) !important; } .has-zold-background-color { background-color: var(--zold) !important; }
.has-tinta-color { color: var(--ink) !important; } .has-egbolt-background-color { background-color: var(--sky) !important; }

/* ===== Foglalkozás aloldal ===== */
.ft-single { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(28px, 4vw, 56px); align-items: start; }
.ft-single .ft-prose { margin: 0; max-width: none; }
.ft-facts { position: sticky; top: 110px; background: #fff; border-radius: var(--radius); padding: 26px; box-shadow: var(--shadow); border-top: 8px solid var(--c); }
.ft-facts__title { font-size: 1.5rem; }
.ft-facts dl { margin: 0 0 20px; display: grid; gap: 12px; }
.ft-facts__row { padding-bottom: 12px; border-bottom: 2px dashed var(--line); }
.ft-facts__row:last-child { border-bottom: 0; padding-bottom: 0; }
.ft-facts dt { display: flex; align-items: center; gap: 8px; font-size: .82rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--c-ink); }
.ft-facts dt .ft-icon { width: 18px; height: 18px; }
.ft-facts dd { margin: 2px 0 0; font-weight: 700; font-size: 1.05rem; }
.ft-facts__tel { display: flex; justify-content: center; align-items: center; gap: 8px; margin: 14px 0 0; font-weight: 800; }
.ft-facts__tel .ft-icon { width: 20px; height: 20px; color: var(--c-ink); }
.ft-dl-single .ft-dl { position: sticky; top: 110px; }

/* ===== Kapcsolat ===== */
.ft-contact { display: grid; grid-template-columns: 1fr 1.15fr; gap: clamp(28px, 5vw, 64px); align-items: start; }
.ft-contact .ft-prose { margin: 0 0 24px; max-width: none; }
.ft-contact__list { list-style: none; padding: 0; margin: 0 0 22px; display: grid; gap: 12px; }
.ft-contact__list li { display: flex; gap: 14px; align-items: center; padding: 14px 18px; border-radius: 24px; background: var(--c-soft); line-height: 1.4; }
.ft-contact__list small { display: block; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; font-size: .78rem; color: var(--c-ink); }
.ft-contact__list a { font-weight: 800; color: var(--ink); text-decoration: none; font-size: 1.08rem; }
.ft-contact__ic { display: grid; place-items: center; width: 46px; height: 46px; flex: none; border-radius: 50%; background: var(--c); color: #fff; }
.ft-c-sarga .ft-contact__ic { color: var(--ink); }
.ft-contact__form { background: #fff; border-radius: var(--radius-lg); padding: clamp(24px, 4vw, 40px); box-shadow: var(--shadow); }

/* ===== Űrlap ===== */
.ft-form p { margin: 0 0 16px; }
.ft-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.ft-form label { display: block; font-weight: 800; font-size: .95rem; margin-bottom: 6px; }
.ft-form input[type="text"], .ft-form input[type="email"], .ft-form input[type="tel"], .ft-form select, .ft-form textarea {
	width: 100%; font: inherit; font-size: 1rem; color: var(--ink); padding: 13px 16px; border-radius: 18px; border: 2px solid var(--line); background: #FAFDFF; transition: border-color .2s, box-shadow .2s;
}
.ft-form textarea { resize: vertical; min-height: 130px; }
.ft-form input:focus, .ft-form select:focus, .ft-form textarea:focus { outline: none; border-color: var(--lila); box-shadow: 0 0 0 4px var(--lila-soft); }
.ft-check label { display: flex; gap: 10px; align-items: flex-start; font-weight: 600; }
.ft-check input { width: 20px; height: 20px; margin-top: 3px; accent-color: var(--btn); flex: none; }
.ft-hp { position: absolute !important; left: -9999px !important; }
.ft-alert { display: flex; gap: 10px; align-items: center; padding: 14px 18px; border-radius: 18px; margin-bottom: 18px; font-weight: 700; }
.ft-alert.is-ok { background: var(--zold-soft); color: var(--zold-ink); }
.ft-alert.is-err { background: #FDECEF; color: #A12A44; }

/* ===== Hírek ===== */
.ft-posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.ft-post { background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; }
.ft-post__link { display: block; color: inherit; text-decoration: none; }
.ft-post__img img { width: 100%; aspect-ratio: 3/2; object-fit: cover; display: block; }
.ft-post__body { padding: 22px 24px; }
.ft-post__date { font-size: .85rem; font-weight: 800; color: var(--turkiz-ink); }
.ft-post__title { font-size: 1.3rem; margin: .2em 0 .4em; }
.ft-pagination { margin-top: 40px; text-align: center; }
.ft-pagination .page-numbers { display: inline-block; padding: .4em .9em; border-radius: 999px; background: var(--sky); margin: 2px; text-decoration: none; font-weight: 700; color: var(--ink); }
.ft-pagination .current { background: var(--turkiz); color: #fff; }

/* ===== Lábléc ===== */
.ft-footer { position: relative; background: linear-gradient(180deg, #E2F4F6 0%, #ECEAFB 100%); color: var(--ink-soft); padding: clamp(32px, 5vw, 56px) 0 24px; margin-top: var(--edge); }
.ft-footer__edge { bottom: auto; top: calc(var(--edge) * -1 + 1px); }
.ft-footer a { color: var(--ink); text-decoration: none; }
.ft-footer a:hover { color: var(--lila-ink); text-decoration: underline; }
.ft-footer__grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 40px; padding-bottom: 32px; border-bottom: 2px dashed rgba(47,43,74,.12); }
.ft-footer__name { font-family: var(--font-head); font-weight: 800; font-size: 1.9rem; color: var(--turkiz-ink); line-height: 1.1; margin-bottom: .3em; }
.ft-footer__name span { display: block; font-size: 1rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--lila-ink); }
.ft-footer__slogan { font-family: var(--font-head); font-weight: 600; font-size: 1.3rem; color: var(--lila); }
.ft-footer__h { font-size: 1.15rem; margin-bottom: 14px; }
.ft-footer__list, .ft-footer__contact { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.ft-footer__contact li { display: flex; gap: 10px; align-items: flex-start; line-height: 1.45; }
.ft-footer__contact .ft-icon { width: 20px; height: 20px; color: var(--turkiz-ink); margin-top: 2px; }
.ft-social { display: flex; gap: 10px; }
.ft-social a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #fff; color: var(--lila-ink); box-shadow: var(--shadow-sm); transition: background .2s; }
.ft-social a:hover { background: var(--lila); color: #fff; }
.ft-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 20px; font-size: .92rem; }
.ft-footer__bottom p { margin: 0; }
.ft-footer__menu { list-style: none; display: flex; flex-wrap: wrap; gap: 18px; margin: 0; padding: 0; }

/* Térközök finomítása */
.ft-method { padding-bottom: clamp(24px, 4vw, 48px); }
.ft-signs, .ft-dls { padding-top: clamp(32px, 4vw, 56px); }
.ft-cta-wrap { padding-bottom: clamp(40px, 5vw, 72px); }
.ft-cta { background: radial-gradient(55% 120% at 0% 100%, rgba(31, 181, 176, .95), transparent 70%), radial-gradient(45% 90% at 100% 0%, rgba(255, 210, 90, .55), transparent 70%), #7356C9; }
.ft-cards + .ft-center, .ft-dl-grid + .ft-center { margin-top: 36px; }
.ft-main > .ft-sky:last-child { margin-bottom: calc(var(--edge) * -1); padding-bottom: calc(clamp(64px, 9vw, 120px) + var(--edge)); }

/* ===== Reszponzív ===== */
@media (max-width: 1100px) {
	.ft-cards { grid-template-columns: repeat(2, 1fr); }
	.ft-cards--3 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 960px) {
	.ft-hero__grid { grid-template-columns: 1fr; text-align: center; }
	.ft-hero__lead { margin-inline: auto; }
	.ft-hero__actions, .ft-hero__chips { justify-content: center; }
	.ft-hero__art { max-width: 560px; margin: 0 auto; }
	.ft-steps { grid-template-columns: 1fr; max-width: 520px; margin-inline: auto; }
	.ft-split, .ft-place__card, .ft-contact, .ft-single { grid-template-columns: 1fr; }
	.ft-facts, .ft-dl-single .ft-dl { position: static; }
	.ft-dl-grid, .ft-posts, .ft-cards--3 { grid-template-columns: repeat(2, 1fr); }
	.ft-footer__grid { grid-template-columns: 1fr 1fr; }
	.ft-footer__brand { grid-column: 1 / -1; }
	.ft-signs__list li:nth-child(even) { margin-left: 0; }
	.ft-about__photo { max-width: 320px; }
}
@media (max-width: 640px) {
	body { font-size: 16px; }
	.ft-cards, .ft-cards--3, .ft-dl-grid, .ft-posts { grid-template-columns: 1fr; }
	.ft-card.is-featured { grid-column: auto; }
	.ft-card.is-featured .ft-card__link { padding: 28px 26px 24px; }
	.ft-form__grid { grid-template-columns: 1fr; }
	.ft-footer__grid { grid-template-columns: 1fr; }
	.ft-hero__actions .ft-btn { width: 100%; }
	.ft-signs__list li { border-radius: 24px; }
	.ft-textlogo__cloud { width: 46px; height: 32px; }
	.ft-textlogo__name { font-size: 1.32rem; }
	.ft-textlogo__sub { font-size: .7rem; }
	.ft-burger__label { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ===== Logó (képes) ===== */
.ft-imglogo { display: inline-flex; align-items: center; }
.ft-imglogo img, .ft-header__logo .custom-logo { height: 58px; width: auto; display: block; }
@media (max-width: 640px) { .ft-imglogo img, .ft-header__logo .custom-logo { height: 44px; } }
.ft-footer__logo { display: block; width: 120px; height: auto; margin-bottom: 10px; }
.ft-hero-img { width: 100%; height: auto; display: block; animation: ft-float 7s ease-in-out infinite; filter: drop-shadow(0 18px 28px rgba(64,120,160,.18)); }
.ft-about__mascot { width: 62%; height: auto; }
.ft-hero__chips li:nth-child(2) .ft-icon, .ft-note .ft-icon { color: var(--rozsa) !important; }
.ft-hero__chips li:nth-child(2) .ft-icon { background: var(--rozsa-soft) !important; }
.ft-note { background: var(--rozsa-soft); }

/* ===== Korosztály-csempék a nyitóképen ===== */
.ft-hero__ages { list-style: none; padding: 0; margin: 14px 0 0; display: flex; flex-wrap: wrap; gap: 10px; }
.ft-hero__ages li { font-family: var(--font-head); font-weight: 700; font-size: 1.02rem; line-height: 1; padding: 12px 18px 10px; border-radius: 18px; background: var(--c); color: #fff; box-shadow: 0 8px 0 -3px var(--c-mid), 0 12px 22px -12px var(--c); transform: rotate(var(--r, 0deg)); transition: transform .2s; }
.ft-hero__ages li:hover { transform: rotate(0) translateY(-3px); }
.ft-hero__ages li.ft-c-sarga { color: var(--ink); }
.ft-hero__ages li:nth-child(1) { --r: -2deg; } .ft-hero__ages li:nth-child(2) { --r: 1.5deg; } .ft-hero__ages li:nth-child(3) { --r: -1deg; } .ft-hero__ages li:nth-child(4) { --r: 2deg; }
@media (max-width: 960px) { .ft-hero__ages { justify-content: center; } }

/* ===== Sok kis buborék az aloldalak fejlécében ===== */
.ft-pagehead .ft-bubble { animation-name: ft-drift-bubble; animation-duration: var(--d, 10s); animation-delay: var(--dl, 0s); }
.ft-pb-1 { width: 84px; height: 84px; left: 5%; top: 16%; --d: 11s; }
.ft-pb-2 { width: 34px; height: 34px; left: 18%; top: 62%; --d: 8s; --dl: -2s; }
.ft-pb-3 { width: 56px; height: 56px; left: 30%; top: 12%; --d: 12s; --dl: -5s; }
.ft-pb-4 { width: 22px; height: 22px; left: 42%; top: 70%; --d: 7s; --dl: -1s; }
.ft-pb-5 { width: 46px; height: 46px; right: 30%; top: 18%; --d: 10s; --dl: -3s; }
.ft-pb-6 { width: 26px; height: 26px; right: 22%; top: 64%; --d: 9s; --dl: -6s; }
.ft-pb-7 { width: 72px; height: 72px; right: 7%; top: 30%; --d: 13s; --dl: -4s; }
.ft-pb-8 { width: 18px; height: 18px; right: 14%; top: 12%; --d: 6s; --dl: -2.5s; }
@keyframes ft-drift-bubble { 0%, 100% { transform: translate(0, 0); } 25% { transform: translate(6px, -10px); } 50% { transform: translate(-4px, -18px); } 75% { transform: translate(-8px, -6px); } }
@media (max-width: 640px) { .ft-pb-3, .ft-pb-5, .ft-pb-8 { display: none; } }

/* Letöltés gombok (1.2.1) */
.ft-dl__btns { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.ft-dl__btns:has(> a + a) { width: 100%; }
.ft-dl__btns:has(> a + a) .ft-btn { flex: 1 1 100%; justify-content: center; }
.ft-dl__thumb:has(img) { aspect-ratio: 4 / 3; }

/* Álló előnézeti kép: az egész kép látszik (1.2.3) */
.ft-dl__thumb--allo:has(img) { aspect-ratio: 4 / 5; }
.ft-dl__thumb--allo img { object-fit: contain; }
