/* Toucan – Fiókom (a látványterv alapján: Poppins, zöld gombok, középre zárt blokkok). */
.tf *, .tf-modal * { box-sizing: border-box; }
.tf { --tf-zold: #00ff40; --tf-szoveg: #263238; --tf-halvany: #6b7a80; --tf-vonal: #263238; --tf-hatter: #fafafa;
	max-width: 760px; margin: 0 auto; padding: 24px 16px 64px; font-family: Poppins, sans-serif; color: var(--tf-szoveg); text-align: center; }
.tf h1, .tf h2 { font-family: Poppins, sans-serif; font-weight: 800; color: var(--tf-szoveg); letter-spacing: -.01em; }
.tf-cim { font-size: 32px; margin: 8px 0 24px; }
.tf h2 { font-size: 28px; margin: 0 0 12px; }
.tf-blokk { margin: 48px 0 0; }
.tf p { font-size: 18px; line-height: 1.55; margin: 0 0 12px; }

/* Profil és haladás */
.tf-szint img { width: 200px; height: 200px; border-radius: 50%; object-fit: cover; background: #f1f1f1; }
.tf-szint .gamipress-rank-title, .tf-szint h2 { font-size: 24px; margin: 12px 0 4px; }
.tf-halad { display: flex; align-items: center; justify-content: center; gap: 32px; margin: 24px 0; flex-wrap: wrap; }
.tf-kor { width: 160px; }
.tf-szamok { list-style: none; margin: 0; padding: 0; text-align: left; }
.tf-szamok li { margin: 0 0 14px; }
.tf-szamok strong { display: block; font-size: 30px; font-weight: 800; line-height: 1.1; }
.tf-szamok span { font-size: 16px; }

/* Gombok */
.tf-gomb-sor { margin: 24px 0 0; }
.tf .tf-gomb, .tf .tf-gomb-sor a, .tf-modal .tf-gomb { display: inline-block; min-width: 260px; padding: 12px 32px; border: 0; border-radius: 999px;
	background: var(--tf-zold); color: var(--tf-szoveg) !important; font: 800 20px/1.3 Poppins, sans-serif; text-decoration: none; cursor: pointer; }
.tf .tf-gomb:hover, .tf .tf-gomb-sor a:hover, .tf-modal .tf-gomb:hover { filter: brightness(.95); }
.tf .tf-gomb--vonal, .tf-modal .tf-gomb--vonal { background: transparent; border: 1px solid var(--tf-vonal); font-weight: 400; }
.tf .tf-gomb:disabled, .tf-modal .tf-gomb:disabled { opacity: .6; cursor: wait; }

/* Előfizetés és lemondás */
.tf-statusz { font-size: 20px; }
.tf-lemondas { margin-top: 48px; }

/* Fiók menü */
.tf-menu { list-style: none; margin: 16px auto 0; padding: 0; max-width: 520px; text-align: left; }
.tf-menu a { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; margin: 0 0 12px; border: 1px solid #d5d9db;
	border-radius: 14px; background: #fff; color: var(--tf-szoveg); font-weight: 600; font-size: 17px; text-decoration: none; }
.tf-menu a:hover { border-color: var(--tf-vonal); }
.tf-menu span { font-size: 24px; line-height: 1; }

/* A WooCommerce aloldalai a keretben */
.tf-vissza { text-align: left; }
.tf-vissza a { font-weight: 600; color: var(--tf-szoveg); }
.tf-woo { text-align: left; }
.tf-woo table { width: 100%; font-size: 15px; }
.tf-woo .button, .tf-woo button[type=submit] { border-radius: 999px !important; background: var(--tf-zold) !important; color: var(--tf-szoveg) !important; font-weight: 700 !important; border: 0 !important; padding: 10px 24px !important; }
.tf-woo input[type=text], .tf-woo input[type=email], .tf-woo input[type=password], .tf-woo input[type=tel], .tf-woo select { border-radius: 10px; padding: 10px 12px; }

/* Felugró ablak – teljes képernyős, fehér, mint a látványterv */
html.tf-nyitva { overflow: hidden; }
.tf-modal { position: fixed; inset: 0; z-index: 100000; background: #fafafa; overflow: auto; font-family: Poppins, sans-serif; color: #263238; text-align: center; }
.tf-modal[hidden] { display: none; }
.tf-modal__doboz { position: relative; max-width: 780px; margin: 0 auto; padding: 72px 16px 48px; }
.tf-modal .tf-gomb-sor { margin-top: 28px; }
.tf-modal__zar { position: absolute; top: 16px; right: 16px; width: 44px; height: 44px; border: 0; background: transparent; font-size: 34px; line-height: 1; cursor: pointer; color: #263238; }
.tf-modal h2 { font: 800 clamp(26px, 5vw, 44px)/1.15 Poppins, sans-serif; margin: 0 0 16px; color: #263238; }
.tf-modal .tf-al { font-size: clamp(20px, 3.5vw, 30px); margin: 0 0 28px; }
.tf-modal p { font-size: clamp(17px, 2.6vw, 24px); line-height: 1.5; }
.tf-video { margin: 0 auto 32px; border-radius: 6px; overflow: hidden; }
.tf-video iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; }
.tf-okok { display: grid; gap: 22px; max-width: 640px; margin: 0 auto; }
.tf-ok { padding: 22px 16px; border: 1px solid #263238; border-radius: 16px; background: #fff; font: 800 clamp(17px, 2.6vw, 22px)/1.2 Poppins, sans-serif; color: #263238; cursor: pointer; }
.tf-ok:hover, .tf-ok.is-valasztott { background: var(--tf-zold, #00ff40); border-color: var(--tf-zold, #00ff40); }
.tf-egyeb textarea { width: 100%; max-width: 640px; margin: 20px auto 0; display: block; border: 1px solid #263238; border-radius: 12px; padding: 12px; font: 16px Poppins, sans-serif; }
.tf-idezet { font-style: italic; max-width: 680px; margin: 0 auto 48px !important; }
.tf-modal [data-tf-kartya-hely] iframe { width: 100%; min-height: 600px; border: 0; }
@media (max-width: 600px) {
	.tf .tf-gomb, .tf .tf-gomb-sor a, .tf-modal .tf-gomb { min-width: 0; width: 100%; font-size: 18px; }
	.tf-halad { gap: 16px; }
}

/* Belépés (kijelentkezve) */
.tf-belepes .tf-woo { max-width: 460px; margin: 0 auto; }
.tf-belepes .woocommerce-form-login { border: 1px solid #d5d9db !important; border-radius: 16px; background: #fff; padding: 24px !important; }
.tf-belepes input[type=text], .tf-belepes input[type=password], .tf-belepes input[type=email] { width: 100%; }
.tf-belepes .woocommerce-form-login__submit { width: 100%; margin-top: 8px !important; font-size: 18px !important; }
.tf-belepes h2 { display: none; }

/* GamiPress szint és haladás – a kurzusoldal egyedi CSS-e alapján */
.tf-szint .gamipress-user-ranks, .tf-szint .gamipress-rank { width: 100%; margin: 0 auto; }
.tf-szint .gamipress-rank-image { margin: 0 auto 8px; }
.tf-szint .gamipress-rank-thumbnail, .tf-szint img { width: 200px !important; height: 200px !important; border-radius: 50% !important; object-fit: cover; }
.tf-szint .gamipress-progress-radial-bar-wrapper { display: none !important; } /* a szint saját kék gyűrűje nem kell */
.tf-szint .gamipress-rank-title { font-family: Poppins, sans-serif; font-size: 24px; font-weight: 500; color: #27383e; margin: 8px 0 4px; }
.tf-szint .gamipress-rank-excerpt { font-family: Poppins, sans-serif; font-size: 17px; font-weight: 400; color: #27383e; max-width: 560px; margin: 0 auto; }
.tf-szint .gamipress-rank-excerpt .wp-block-heading { font-family: Poppins, sans-serif; font-size: 32px; font-weight: 900; color: #27383e; margin: 0 0 8px; }
.tf-szint .gamipress-rank-excerpt p { font-size: 17px; margin: 0; }

.tf-kor { width: 200px; flex-shrink: 0; }
.tf-kor .gamipress-progress-radial-bar-wrapper { margin: 0 auto; }
.tf-kor .gamipress-progress-radial-bar { position: relative; border-radius: 50%; font-family: Poppins, sans-serif; font-size: 40px; font-weight: 900; line-height: 1 !important; color: #27383e; }
.tf-kor .gamipress-progress-radial-bar-overlay { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important;
	width: 70% !important; height: 70% !important; background-color: #fafafa !important; border-radius: 50%; margin: 0 !important;
	display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: center !important; }
.tf-kor .gamipress-progress-radial-bar-overlay::after { content: "kész"; font-size: 18px; font-weight: 500; color: #27383e; padding-top: 2px; }
.tf-szamok strong, .tf-szamok strong * { font-size: 34px !important; font-weight: 900 !important; line-height: 1.1 !important; color: #27383e !important; }

/* LearnDash „Folytatom” gomb */
.tf .tf-gomb-sor .learndash-wrapper { display: inline-block; background: none; }
.tf .tf-gomb-sor .learndash-wrapper .ld-button, .tf .tf-gomb-sor .ld-course-resume { display: inline-block; font: 800 20px/1.3 Poppins, sans-serif !important; color: #27383e !important;
	background-color: #00ff3c !important; border: 1px solid #00ff3c !important; border-radius: 999px !important; padding: 12px 32px !important; text-decoration: none !important; max-width: 100%; }

/* Rendeléseim – egységes lista */
.tf-rendelesek { width: 100%; border-collapse: collapse; font-size: 15px; background: #fff; border-radius: 14px; overflow: hidden; }
.tf-rendelesek th, .tf-rendelesek td { padding: 12px 14px; border-bottom: 1px solid #e6e9ea; text-align: left; vertical-align: middle; }
.tf-rendelesek th { font-weight: 700; background: #f3f5f6; }
.tf-rendelesek tr:last-child td { border-bottom: 0; }
.tf-rendelesek .tf-osszeg { white-space: nowrap; }
.tf-rendelesek .tf-mini { display: inline-block; margin: 2px 6px 2px 0; padding: 6px 14px; border-radius: 999px; background: #00ff40; color: #263238; font-weight: 700; font-size: 14px; text-decoration: none; white-space: nowrap; }
.tf-rendelesek .tf-mini--vonal { background: transparent; border: 1px solid #263238; font-weight: 500; }
.tf-ures { background: #fff; border: 1px solid #e6e9ea; border-radius: 14px; padding: 20px; }
@media (max-width: 640px) {
	.tf-rendelesek thead { display: none; }
	.tf-rendelesek tr { display: block; border-bottom: 1px solid #e6e9ea; padding: 8px 0; }
	.tf-rendelesek td { display: flex; justify-content: space-between; gap: 12px; border: 0; padding: 6px 14px; }
	.tf-rendelesek td::before { content: attr(data-cim); font-weight: 700; }
}

/* A beágyazott (bunny.net) videó: a keret a saját 16:9-es helyét kitölti, nem csúszik el a középre igazított ablakban */
.tf-video { position: relative; text-align: left; }
.tf-video > div { position: relative; width: 100%; }
.tf-video iframe[style*="absolute"] { left: 0 !important; top: 0 !important; right: 0; width: 100% !important; height: 100% !important; aspect-ratio: auto; }
