/* =============================================
   LexPraxis – Custom CSS overrides
   Loaded after main.css
   ============================================= */

/* --- Szöveges logó --- */
.logo-text {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--tj-color-theme-dark);
  text-decoration: none;
  letter-spacing: -0.02em;
}
.logo-text:hover {
  color: var(--tj-color-theme-primary);
}
.header-sticky .logo-text {
  color: var(--tj-color-theme-dark);
}
/* Csak a home/dashboard (header-2) logója fehér, azt a markup .text-white osztálya adja.
   Az aloldalak (header-1, világos háttér) logója az alap sötét színt kapja. */
/*.header-absolute .logo-text {
  color: var(--tj-color-common-white);
}*/
.header-sticky.sticky .logo-text {
  color: var(--tj-color-theme-dark);
}

/* --- Bizalmi mikro-sor --- */
.lp-trust-row {
  text-align: center;
  font-size: 0.95rem;
  color: var(--tj-color-theme-dark-4);
  padding-top: 2rem;
  letter-spacing: 0.02em;
}

/* --- Három pillér box – középre igazítás + hover fehér szöveg --- */
.lp-pillar-box {
  text-align: center;
}
.lp-pillar-box .title,
.lp-pillar-box .desc {
  text-align: center;
}
.service-item.style-6.lp-pillar-box {
  align-items: center;
}
.service-item.style-6.lp-pillar-box .title {
  max-width: none;
  text-align: center;
}
.service-item.style-6.lp-pillar-box .service-content {
  text-align: center;
}
.service-item.style-6.lp-pillar-box .text-btn {
  left: 50%;
  transform: translateX(-50%);
}
.lp-pillar-box:hover .title,
.lp-pillar-box:hover .desc {
  color: var(--tj-color-common-white);
}

/* --- Kiemelt doboz (Hogyan működik szekció) --- */
.lp-highlight-box {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 20% 0%, rgba(30, 138, 138, 0.3) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 100%, rgba(30, 138, 138, 0.2) 0%, transparent 50%),
    var(--tj-color-theme-dark);
  border-radius: 20px;
  padding: 48px 48px 44px;
  text-align: center;
  z-index: 1;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
}
.lp-highlight-box .bg-shape-1,
.lp-highlight-box .bg-shape-2,
.lp-highlight-box .bg-shape-3 {
  position: absolute !important;
  mix-blend-mode: soft-light !important;
  pointer-events: none;
  z-index: 0 !important;
  max-width: none !important;
}
.lp-highlight-box .bg-shape-1 {
  top: -40px !important;
  left: -40px !important;
  right: auto !important;
  bottom: auto !important;
  inset-inline-start: -40px !important;
  opacity: 0.25;
  width: 280px;
}
.lp-highlight-box .bg-shape-2 {
  top: auto !important;
  bottom: -40px !important;
  left: auto !important;
  right: -40px !important;
  inset-inline-start: auto !important;
  inset-inline-end: -40px !important;
  opacity: 0.25;
  width: 280px;
}
.lp-highlight-box .bg-shape-3 {
  top: 50% !important;
  left: 50% !important;
  bottom: auto !important;
  right: auto !important;
  inset-inline-start: 50% !important;
  transform: translate(-50%, -50%) !important;
  opacity: 0.15;
  width: 500px;
}
.lp-highlight-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--tj-color-theme-primary);
  color: var(--tj-color-common-white);
  font-size: 1.5rem;
  margin-bottom: 1.25rem;
}
.lp-highlight-box h5 {
  margin-bottom: 1rem;
  color: var(--tj-color-common-white);
  font-size: 1.35rem;
}
.lp-highlight-box ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: inline-block;
  text-align: left;
}
.lp-highlight-box ul li {
  position: relative;
  padding-left: 1.6rem;
  margin-bottom: 0.55rem;
  color: rgba(255, 255, 255, 0.8);
  font-size: 1.05rem;
}
.lp-highlight-box ul li::before {
  content: "\f00c";
  font-family: "Font Awesome 6 Pro";
  font-weight: 300;
  position: absolute;
  left: 0;
  color: var(--tj-color-theme-primary);
}

/* --- Minőség lista-doboz (világos, lekerekített) --- */
.lp-quality-box {
  background: var(--tj-color-theme-bg);
  border-radius: 16px;
  padding: 28px 32px;
  margin-top: 0.5rem;
  border: 1px solid rgba(0, 0, 0, 0.06);
  background: linear-gradient(-45deg, rgba(30, 138, 138, 0.3) 0%, rgba(30, 138, 138, 0) 50%, rgba(30, 138, 138, 0.3) 100%);
}
.lp-quality-box .list-items li {
  margin-bottom: 0.6rem;
}

/* --- Gyakorlati helyzetek – fehér szöveg a service-item kártyákon --- */
.tj-service-section .service-item.style-1 .service-content .title,
.tj-service-section .service-item.style-1 .service-content .desc {
  color: var(--tj-color-common-white);
}

/* --- Biztonság szekció háttérszín --- */
#biztonsag {
  background-color: var(--tj-color-theme-bg);
}

/* --- Biztonság – lead sor (ikon + szöveg a cím felett) --- */
.lp-security-lead {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  font-size: 1.15rem;
  font-weight: 500;
  color: var(--tj-color-theme-primary);
  margin-bottom: 1rem;
  letter-spacing: 0.01em;
}
.lp-security-lead i {
  font-size: 1.6rem;
}

/* --- Biztonság – feature kártyák --- */
.lp-security-card {
  background: linear-gradient(to top right, var(--tj-color-common-white) 65%, rgba(30, 138, 138, 0.1) 100%);
  border-radius: 16px;
  padding: 32px 28px;
  height: 100%;
  border: 1px solid rgba(30, 138, 138, 0.1);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.lp-security-card:hover {
  background: linear-gradient(to top right, var(--tj-color-common-white) 50%, rgba(30, 138, 138, 0.15) 100%);
  box-shadow: 0 12px 40px rgba(30, 138, 138, 0.1);
  transform: translateY(-4px);
}
.lp-security-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--tj-color-theme-bg);
  color: var(--tj-color-theme-primary);
  font-size: 1.4rem;
  margin-bottom: 1.25rem;
}
.lp-security-card h5 {
  margin-bottom: 0.6rem;
  color: var(--tj-color-theme-dark);
  font-size: 1.1rem;
}
.lp-security-card p {
  margin: 0;
  color: var(--tj-color-theme-dark-3);
  font-size: 0.95rem;
  line-height: 1.6;
}

/* --- Sec-heading desc limit --- */
.sec-heading .desc {
  max-width: 720px;
}
.sec-heading.text-center .desc {
  margin-left: auto;
  margin-right: auto;
}

/* --- Hero alatti 3 box – service-item style-6 statikus grid --- */
.h5-service-section .service-item.style-6 {
  margin-bottom: 30px;
}

/* --- Pricing – egyforma magasság + prémium kiemelés --- */
.h5-pricing-box-wrapper > .row {
  display: flex;
  align-items: stretch;
}
.h5-pricing-box-wrapper > .row > [class*="col-"] {
  display: flex;
}
.h5-pricing-box {
  display: flex;
  flex-direction: column;
  width: 100%;
  position: relative;
}
.h5-pricing-box .list-items {
  flex: 1;
}
.h5-pricing-box .package-price .price-number {
  font-size: 2rem;
}
/* Prémium kiemelés */
.h5-pricing-box.active {
  position: relative;
  transform: scale(1.04);
  box-shadow: 0 16px 50px rgba(0, 0, 0, 0.15);
  border: 2px solid var(--tj-color-theme-primary);
}
.lp-premium-badge {
  position: absolute;
  top: -1px;
  right: 24px;
  background: var(--tj-color-theme-primary);
  color: var(--tj-color-common-white);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 6px 16px;
  border-radius: 0 0 8px 8px;
}

/* --- GYIK – aktív accordion kiemelés --- */
#gyik .accordion-item.active {
  background: linear-gradient(-45deg, rgba(37, 99, 175, 0.35) 0%, var(--tj-color-theme-primary) 50%, rgba(37, 99, 175, 0.35) 100%);
  border-radius: 12px;
}
#gyik .accordion-item.active .faq-title,
#gyik .accordion-item.active .faq-text p {
  color: var(--tj-color-common-white);
}

/* --- Call-box átmenetes háttér --- */
.call-box {
  background: linear-gradient(135deg, var(--tj-color-theme-primary) 0%, rgba(37, 99, 175, 0.55) 100%);
}

/* --- Footer egyszerűsítés --- */
.lp-footer .footer-text p {
  max-width: 340px;
}

/* =============================================
   Előfizetés oldal (Elofizetes) – ár-kártya + form
   (portolva az mp-onkormanyzat bexon témájából)
   ============================================= */

/* --- Ár-kártya (home h5-pricing-box, sötét/áttetsző) --- */
.elofiz-pricing .elofiz-csomagtipus-wrap {
  text-align: center;
  margin-bottom: 18px;
  position: relative;
  z-index: 2;
}
.elofiz-pricing .elofiz-csomagtipus-wrap .nice-select {
  float: none;
  display: block;
  width: 100%;
  height: auto;
  padding-bottom: 1rem;
  border-radius: 8px;
}
.elofiz-pricing .package-price { margin-top: 8px; }
/* A /elofizetes + /evhosszabbitas árblokk a home MÁSA (price-number + package-desc). A home dobozának fehér
   háttere a téma alap szövegszínét mutatja; itt a doboz SÖTÉT, ezért explicit fehér árszám + halvány leírás. */
.elofiz-pricing .package-price .price-number { color: var(--tj-color-common-white); }
.elofiz-pricing .package-desc p { color: rgba(255, 255, 255, 0.75); }
.elofiz-pricing .list-items ul li i { color: var(--tj-color-theme-primary); }
.elofiz-pricing .list-items ul li.text-error-custom,
.elofiz-pricing .list-items ul li.text-error-custom i {
  color: rgba(255, 255, 255, 0.45) !important;
}

/* --- Form (contact.html stílus) --- */
.elofiz-contact-form {
  margin-inline: 0;
  padding: 40px 35px;
}
.elofiz-contact-form .title {
  font-size: 1.5rem;
  margin-bottom: 24px;
}
.elofiz-form .form-label {
  font-weight: 600;
  color: var(--tj-color-heading-primary);
  margin-bottom: 6px;
}
.elofiz-form .form-control,
.elofiz-form .form-select,
.elofiz-form .nice-select {
  border: 1px solid var(--tj-color-border-1);
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 15px;
  color: var(--tj-color-heading-primary);
  background-color: var(--tj-color-common-white);
}
.elofiz-form .nice-select { float: none; width: 100%; height: auto; line-height: 1.4; }
.elofiz-form .form-control:focus,
.elofiz-form .form-select:focus {
  border-color: var(--tj-color-theme-primary);
  box-shadow: 0 0 0 3px rgba(30, 110, 138, 0.12);
  outline: none;
}
.elofiz-form h4 { font-size: 1.15rem; margin-top: 6px; }
.elofiz-form hr { margin: 22px 0; opacity: 0.12; }
.elofiz-form legend { font-size: 1.05rem; font-weight: 600; }
.elofiz-form .form-check-label { color: var(--tj-color-text-body); font-size: 0.95rem; }
.elofiz-form .tj-primary-btn { margin-top: 10px; }

/* =============================================
   Header belépés / kilépés kontúros gomb
   ============================================= */
/* Görgetett (sticky) header világos hátterén a fehér gombszöveg nem látszana,
   ezért ott a szöveg + a gombkeret a téma SÖTÉT színét kapja, az ikon viszont
   FEHÉR marad (a kör alakú sötét ikon-hátterén jól látszik). A nem-sticky
   (hero / aloldal sötét háttér fölötti) állapotban marad a fehér, ahogy eddig. */
.header-sticky .header-login-btn.tj-primary-btn,
.header-sticky .header-login-btn.tj-primary-btn .btn-text span {
  color: var(--tj-color-theme-dark) !important;
}
.header-sticky .header-login-btn.tj-primary-btn .btn-icon i {
  color: var(--tj-color-common-white) !important;
}
.header-sticky .header-login-btn.tj-primary-btn {
  border-color: var(--tj-color-theme-dark) !important;
}
.header-sticky .header-login-btn.tj-primary-btn:hover,
.header-sticky .header-login-btn.tj-primary-btn:hover .btn-text span,
.header-sticky .header-login-btn.tj-primary-btn:hover .btn-icon i {
  color: var(--tj-color-common-white) !important;
}
.header-sticky .header-login-btn.tj-primary-btn:hover {
  background: var(--tj-color-theme-primary) !important;
  border-color: var(--tj-color-theme-primary) !important;
}

/* Aloldal (header-1) világos háttere fölött ugyanígy nem látszana a fehér gombszöveg:
   szöveg + keret a téma SÖTÉT színe, az ikon FEHÉR. A home/dashboard (header-2,
   sötét hero) marad fehér. */
.header-1 .header-login-btn.tj-primary-btn,
.header-1 .header-login-btn.tj-primary-btn .btn-text span {
  color: var(--tj-color-theme-dark) !important;
}
.header-1 .header-login-btn.tj-primary-btn .btn-icon i {
  color: var(--tj-color-common-white) !important;
}
.header-1 .header-login-btn.tj-primary-btn {
  border-color: var(--tj-color-theme-dark) !important;
}
.header-1 .header-login-btn.tj-primary-btn:hover,
.header-1 .header-login-btn.tj-primary-btn:hover .btn-text span,
.header-1 .header-login-btn.tj-primary-btn:hover .btn-icon i {
  color: var(--tj-color-common-white) !important;
}
.header-1 .header-login-btn.tj-primary-btn:hover {
  background: var(--tj-color-theme-primary) !important;
  border-color: var(--tj-color-theme-primary) !important;
}

/* =============================================
   Onboarding varázsló (profil beállítása)
   ============================================= */
.ob-section { background: var(--tj-color-bg-2, #f4f7f7); }
.ob-wizard {
  max-width: 860px;
  margin: 0 auto;
  border-radius: 18px;
  box-shadow: 0 30px 60px -30px rgba(12, 30, 33, 0.45);
  padding: 44px 44px 36px;
  position: relative;
  z-index: 10; /* a footer (z-index:1) fölé, hogy a nyitott legördülő ne vágódjon le */
}
/* A sötét hátteret a divre tett .h5-pricing-box-wrapper adja (a #csomag blokk mintája),
   a bg-shape-1/2/3 pedig ugyanaz a 3 dekor-alakzat. A sötét dobozon a szövegek világosra váltanak: */
.ob-wizard .ob-intro h2,
.ob-wizard .ob-step-title,
.ob-wizard .ob-form .form-label,
.ob-wizard .form-check-label,
.ob-wizard .ob-stepper .ob-step.active .ob-step-label { color: var(--tj-color-common-white); }
.ob-wizard .ob-intro p,
.ob-wizard .ob-step-desc,
.ob-wizard .ob-stepper .ob-step-label,
.ob-wizard .ob-back { color: var(--tj-color-text-body-2); }
.ob-wizard .ob-stepper::before { background: rgba(255, 255, 255, 0.15); }
.ob-wizard .ob-stepper .ob-step-num {
  /*background: transparent;*/
  border-color: rgba(255, 255, 255, 0.3);
  color: var(--tj-color-text-body-2);
}
.ob-wizard .ob-terelo { background: rgba(255, 255, 255, 0.06); color: var(--tj-color-common-white); }

/* szakképesítésenkénti státusz-blokkok (2. lépés) */
.ob-status-block { padding: 20px 22px; margin-bottom: 16px; border-radius: 12px; background: rgba(255, 255, 255, 0.04); }
.ob-status-kor { font-size: 1.05rem; margin-bottom: 14px; color: var(--tj-color-common-white); }
.ob-status-kor i { color: var(--tj-color-theme-primary); margin-right: 8px; }

/* =============================================
   Vezérlőpult (Dashboard) – hero + Netflixes ajánlás
   ============================================= */
.dash-hero {
  position: relative;
  z-index: 0;
  overflow: hidden;
  background-color: var(--tj-color-theme-dark);
  padding: 190px 0 90px;
}
@media (max-width: 991px) { .dash-hero { padding: 150px 0 70px; } }
.dash-hero .sub-title { color: var(--tj-color-theme-primary); }
.dash-hero-title { color: #fff; font-size: 2.6rem; line-height: 1.15; margin: 10px 0 16px; }
@media (max-width: 575px) { .dash-hero-title { font-size: 2rem; } }
.dash-hero-lead { color: #fff; font-size: 1.25rem; font-weight: 600; margin-bottom: 6px; }
.dash-hero-sub { color: var(--tj-color-text-body-2); margin-bottom: 28px; }
/* Hero – szakképesítésenkénti hiány-bontás (a szummázott "64" helyett) */
.dash-hero-hiany { list-style: none; padding: 0; margin: 4px 0 16px; display: flex; flex-direction: column; gap: 8px; max-width: 480px; }
.dash-hero-hiany li { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 9px 16px; background: rgba(255, 255, 255, 0.1); border-radius: 10px; }
.dash-hero-hiany-nev { color: #fff; font-weight: 600; }
.dash-hero-hiany-ertek { color: #7fd6d0; font-weight: 700; white-space: nowrap; }
.dash-hero-btns { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.dash-ghost-btn { color: #fff; font-weight: 600; border-bottom: 1px solid rgba(255, 255, 255, 0.4); padding-bottom: 2px; }
.dash-ghost-btn:hover { color: var(--tj-color-theme-primary); border-color: var(--tj-color-theme-primary); }
/* ghost-gomb <button>-ként is (alap gomb-stílus visszavétele) */
button.dash-ghost-btn { background: transparent; border: none; border-bottom: 1px solid rgba(255, 255, 255, 0.4); cursor: pointer; font-family: inherit; font-size: inherit; line-height: 1.4; }
button.dash-ghost-btn i { margin-right: 6px; }

/* „Megszerzett kreditigazolásaim" – látványos üveg CTA a jobb oldali doboz fölött */
.dash-cert-cta {
  display: flex; align-items: center; gap: 16px;
  background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 14px; padding: 16px 18px; margin-bottom: 20px;
  transition: transform 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}
.dash-cert-cta:hover { background: rgba(255, 255, 255, 0.14); transform: translateY(-3px); box-shadow: 0 18px 34px -20px rgba(0, 0, 0, 0.55); }
.dash-cert-cta-ic {
  flex-shrink: 0; width: 50px; height: 50px; border-radius: 12px;
  background: linear-gradient(135deg, #f0c14b, #e2a812); color: #3a2a00;
  display: flex; align-items: center; justify-content: center; font-size: 1.35rem;
  box-shadow: 0 10px 22px -10px rgba(226, 168, 18, 0.8);
}
.dash-cert-cta-txt { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.dash-cert-cta-txt strong { color: #fff; font-size: 1.02rem; line-height: 1.3; }
.dash-cert-cta-txt span { color: rgba(255, 255, 255, 0.7); font-size: 0.85rem; }
.dash-cert-cta-arrow { flex-shrink: 0; color: #f0c14b; font-size: 1.15rem; transition: transform 0.2s ease; }
.dash-cert-cta:hover .dash-cert-cta-arrow { transform: translateX(4px); }

/* ===== Kreditfigyelő (egyszerűsített: gyors letöltés + év-választó + két-bontásos tabok) ===== */
.lp-cert-latest { margin-bottom: 48px; }
.lp-cert-latest-head { margin-bottom: 24px; }
.lp-cert-quick { height: 100%; background: radial-gradient(circle at center, #1a4a6e 0%, #0d2b45 100%); border-radius: 16px; padding: 26px 24px; color: #fff; text-align: center; display: flex; flex-direction: column; align-items: center; }
.lp-cert-quick-val { font-size: 2.4rem; font-weight: 800; line-height: 1; color: #7fd6d0; }
.lp-cert-quick-val span { display: block; font-size: 0.68rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: rgba(255, 255, 255, 0.7); margin-top: 5px; }
.lp-cert-quick-name { font-weight: 700; margin: 14px 0 6px; }
.lp-cert-quick-date { font-size: 0.85rem; color: rgba(255, 255, 255, 0.72); margin-bottom: 18px; }
.lp-cert-quick-date i { color: #7fd6d0; margin-right: 5px; }
.lp-cert-quick-dl { margin-top: auto; }
.tj-primary-btn.lp-cert-quick-dl .btn-icon i { transform: rotate(0); }

.lp-cert-head { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 26px; }
.lp-cert-year { display: flex; align-items: center; gap: 10px; }
.lp-cert-year label { font-weight: 600; color: var(--tj-color-heading-primary); margin: 0; }
.lp-cert-year .form-select { min-width: 120px; }

.lp-cert-nav { display: flex; gap: 6px; list-style: none; padding: 0; margin: 0 0 24px; border-bottom: 1px solid var(--tj-color-border-1); }
.lp-cert-tab { background: transparent; border: none; border-bottom: 3px solid transparent; padding: 12px 18px; font-weight: 700; color: var(--tj-color-text-body); cursor: pointer; display: inline-flex; align-items: center; gap: 8px; transition: color 0.2s ease; }
.lp-cert-tab.active { color: var(--tj-color-theme-primary); border-bottom-color: var(--tj-color-theme-primary); }

.lp-cert-count { margin-left: 12px; background: rgba(30, 138, 138, 0.12); color: var(--tj-color-theme-primary); font-size: 0.76rem; font-weight: 700; padding: 3px 12px; border-radius: 30px; white-space: nowrap; }
.lp-cert-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 14px 2px; border-bottom: 1px solid var(--tj-color-border-1); }
.lp-cert-row:last-child { border-bottom: none; }
.lp-cert-info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.lp-cert-info strong { color: var(--tj-color-heading-primary); }
.lp-cert-info span { color: var(--tj-color-text-body); font-size: 0.9rem; }
.lp-cert-info span i { color: var(--tj-color-theme-primary); margin-right: 4px; }
.lp-cert-info span b { color: var(--tj-color-theme-primary); }
.lp-cert-dl { flex-shrink: 0; }
.tj-primary-btn.lp-cert-dl .btn-icon i { transform: rotate(0); }

/* --- Az "Összes megszerzett kreditje" rész sötétkék dash-csomag dobozban --- */
.lp-cert-box {
  background: radial-gradient(circle at center, #1a4a6e 0%, #0d2b45 100%);
  border-radius: 22px;
  padding: 40px 40px 34px;
  color: #fff;
  position: relative;
  z-index: 0;
  overflow: hidden;
}
@media (max-width: 767px) { .lp-cert-box { padding: 30px 20px 26px; } }
.lp-cert-box .lp-cert-head { margin-bottom: 24px; }
.lp-cert-box .lp-cert-head .sub-title { color: #7fd6d0; }
.lp-cert-box .lp-cert-head .sec-title { color: #fff; }
.lp-cert-box .lp-cert-head .sec-title span { color: #7fd6d0; }
.lp-cert-box .lp-cert-year label { color: #fff; }

/* Tab-fejléc a sötét dobozon */
.lp-cert-box .lp-cert-nav { border-bottom-color: rgba(255, 255, 255, 0.18); }
.lp-cert-box .lp-cert-tab { color: #fff; }
.lp-cert-box .lp-cert-tab:hover { color: #fff; }
.lp-cert-box .lp-cert-tab.active { color: #fff; border-bottom-color: #7fd6d0; }
.lp-cert-box .lp-cert-count { background: rgba(127, 214, 208, 0.16); color: #7fd6d0; }

/* Akkordeon (kredit-/képzés-csoportok) a sötét dobozon */
.lp-cert-box .dash-modal-acc .accordion-item { border-color: rgba(255, 255, 255, 0.14); background: transparent; margin-bottom: 12px; border-radius: 14px; }
.lp-cert-box .dash-modal-acc .accordion-item:last-child { margin-bottom: 0; }
.lp-cert-box .dash-modal-acc .accordion-button,
.lp-cert-box .dash-modal-acc .accordion-button:not(.collapsed) { color: #fff; background: rgba(255, 255, 255, 0.06); }
.lp-cert-box .dash-modal-acc .accordion-button:not(.collapsed) { background: rgba(255, 255, 255, 0.1); }
.lp-cert-box .dash-modal-acc .accordion-button::after { filter: brightness(0) invert(1); opacity: 0.85; }
.lp-cert-box .dash-modal-acc .accordion-button:focus { border-color: rgba(255, 255, 255, 0.2); }

/* Az egyes kredit-rekordok külön "chip"-kártyaként, jól elválasztva */
.lp-cert-box .lp-cert-row { background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; padding: 14px 16px; margin-bottom: 10px; }
.lp-cert-box .lp-cert-row:last-child { margin-bottom: 0; border: 1px solid rgba(255, 255, 255, 0.1); }
.lp-cert-box .lp-cert-info strong { color: #fff; }
.lp-cert-box .lp-cert-info span { color: rgba(255, 255, 255, 0.75); }
.lp-cert-box .lp-cert-info span i,
.lp-cert-box .lp-cert-info span b { color: #7fd6d0; }
.lp-cert-box .lp-empty .desc { color: rgba(255, 255, 255, 0.8); }

/* Profil-hiány figyelmeztető sáv a (sötét) hero-ban */
.dash-profil-warn {
  display: flex; align-items: flex-start; gap: 14px;
  margin-top: 24px; padding: 16px 18px; max-width: 720px;
  background: rgba(255, 255, 255, 0.07); border: 1px solid rgba(255, 255, 255, 0.16);
  border-left: 3px solid var(--tj-color-theme-primary); border-radius: 12px;
}
.dash-profil-warn-ic { color: var(--tj-color-theme-primary); font-size: 1.4rem; flex-shrink: 0; margin-top: 2px; }
.dash-profil-warn-txt { color: rgba(255, 255, 255, 0.85); font-size: 0.92rem; line-height: 1.45; }
.dash-profil-warn-txt strong { color: #fff; display: block; }
.dash-profil-warn-sub { display: block; color: rgba(255, 255, 255, 0.72); margin: 2px 0 10px; }
.dash-profil-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.dash-profil-chip {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff; font-size: 0.8rem; font-weight: 600; padding: 5px 12px; border-radius: 30px;
}
.dash-profil-chip i { font-size: 0.42rem; color: var(--tj-color-theme-primary); }
.dash-profil-warn-btn {
  flex-shrink: 0; margin-left: auto; align-self: center; white-space: nowrap;
  background: var(--tj-color-theme-primary); color: #fff; font-weight: 700;
  border: none; border-radius: 30px; padding: 10px 22px; cursor: pointer; transition: filter 0.2s ease;
}
.dash-profil-warn-btn:hover { filter: brightness(1.08); }
@media (max-width: 575px) { .dash-profil-warn { flex-wrap: wrap; } .dash-profil-warn-btn { margin-left: 0; } }

/* Dashboard üres-állapotok (nincs kör / minden kredit megvan / nincs elérhető képzés) */
.dash-empty { max-width: 760px; margin: 0 auto; text-align: center; padding: 48px 32px; background: #fff; border: 1px solid var(--tj-color-border-1); border-radius: 16px; box-shadow: 0 12px 34px -22px rgba(12, 30, 33, 0.4); }
.dash-empty-ic { display: inline-flex; align-items: center; justify-content: center; width: 66px; height: 66px; border-radius: 50%; background: rgba(15, 107, 172, 0.1); color: var(--tj-color-theme-primary); font-size: 1.6rem; margin-bottom: 18px; }
.dash-empty-ic.ok { background: rgba(26, 158, 90, 0.12); color: #1a9e5a; }
.dash-empty-title { font-size: 1.55rem; line-height: 1.25; margin: 0 0 10px; }
.dash-empty-lead { color: var(--tj-color-text-body); max-width: 560px; margin: 0 auto 24px; }
.dash-empty-btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.dash-row-empty { display: flex; align-items: center; gap: 10px; padding: 22px 24px; background: #fff; border: 1px dashed var(--tj-color-border-1); border-radius: 12px; color: var(--tj-color-text-body); }
.dash-row-empty i { color: var(--tj-color-theme-primary); }
.dash-row-empty a { color: var(--tj-color-theme-primary); font-weight: 600; text-decoration: underline; }
.dash-row-empty a:hover { text-decoration: none; }

/* Dashboard célzott ajánlás (kreditútválasztó) – rács a per-hiány swiper helyett */
.dash-ajanlas-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; }
.dash-ajanlas-card { width: 100%; height: 100%; }
.dash-ajanlas-reason { display: flex; align-items: flex-start; gap: 6px; margin-top: 8px; font-size: 0.82rem; line-height: 1.4; color: var(--tj-color-theme-primary); font-weight: 600; }
.dash-ajanlas-reason i { margin-top: 3px; flex-shrink: 0; }
/* Fedett hiányok emberi címke-chipjei az ajánlás-kártyán */
.dash-ajanlas-covers { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 10px; }
.dash-ajanlas-covers-lead { font-size: 0.78rem; color: var(--tj-color-text-body); font-weight: 600; }
.dash-ajanlas-cover { display: inline-block; padding: 3px 10px; border-radius: 999px; background: rgba(15, 107, 172, 0.1); color: var(--tj-color-theme-primary); font-size: 0.76rem; font-weight: 600; }
/* Több jogcím → egymás alatti kreditállapot-kártyák a hero jobb oszlopában */
.dash-status-card + .dash-status-card { margin-top: 16px; }

/* „Adataim módosítása" modal – kompakt, helyben kinyíló szakmai kör sorok */
.pm-kor { position: relative; border: 1px solid var(--tj-color-border-1); border-radius: 12px; margin-bottom: 12px; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
/* Nyitott legördülő (nice-select) a szomszéd kártyák fölé kerüljön, ne vágja le semmi */
.pm-kor:focus-within { z-index: 30; }
.pm-kor .nice-select.open { z-index: 40; }
.pm-kor.pm-open { border-color: var(--tj-color-theme-primary); }
.pm-kor-head { display: flex; align-items: center; gap: 14px; padding: 14px 16px; margin: 0; cursor: pointer; }
.pm-kor-check { position: absolute; opacity: 0; width: 0; height: 0; }
.pm-kor-box { flex-shrink: 0; width: 24px; height: 24px; border-radius: 6px; border: 2px solid var(--tj-color-border-1); display: flex; align-items: center; justify-content: center; color: #fff; transition: all 0.2s ease; }
.pm-kor-box i { font-size: 0.72rem; opacity: 0; }
.pm-kor-check:checked + .pm-kor-box { background: var(--tj-color-theme-primary); border-color: var(--tj-color-theme-primary); }
.pm-kor-check:checked + .pm-kor-box i { opacity: 1; }
.pm-kor-ic { flex-shrink: 0; width: 40px; height: 40px; border-radius: 10px; background: var(--tj-color-theme-bg); display: flex; align-items: center; justify-content: center; color: var(--tj-color-theme-primary); font-size: 1.05rem; }
.pm-kor-txt { display: flex; flex-direction: column; line-height: 1.3; min-width: 0; }
.pm-kor-txt strong { color: var(--tj-color-heading-primary); font-size: 0.98rem; }
.pm-kor-txt span { color: var(--tj-color-text-body); font-size: 0.82rem; }
.pm-kor-badge { display: none; margin-left: auto; flex-shrink: 0; background: rgba(230, 184, 0, 0.16); color: #a07800; font-size: 0.72rem; font-weight: 700; padding: 4px 12px; border-radius: 30px; }
.pm-kor.pm-missing .pm-kor-badge { display: inline-block; }
.pm-kor.pm-missing { border-color: #e6b800; box-shadow: 0 0 0 2px rgba(230, 184, 0, 0.12); }
.pm-kor-body { display: none; padding: 6px 16px 18px; border-top: 1px solid var(--tj-color-border-1); }
.pm-kor.pm-open .pm-kor-body { display: block; }
.pm-kor:has(.pm-kor-check:checked) .pm-kor-body { display: block; }
.pm-szakterulet .pm-muted { color: var(--tj-color-text-body); font-weight: 400; font-size: 0.85em; }
.pm-chip-grid { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.pm-chip-check { margin: 0; cursor: pointer; }
.pm-chip-check input { position: absolute; opacity: 0; width: 0; height: 0; }
.pm-chip-check span { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 30px; border: 1px solid var(--tj-color-border-1); color: var(--tj-color-text-body); font-size: 0.85rem; font-weight: 600; transition: all 0.2s ease; }
.pm-chip-check span i { font-size: 0.7rem; opacity: 0; }
.pm-chip-check input:checked + span { background: var(--tj-color-theme-primary); border-color: var(--tj-color-theme-primary); color: #fff; }
.pm-chip-check input:checked + span i { opacity: 1; }

/* Mód-kapcsoló (Csak a hiányzók / Összes adatom) */
.pm-modeswitch { display: inline-flex; gap: 4px; padding: 4px; margin-bottom: 22px; background: var(--tj-color-theme-bg); border: 1px solid var(--tj-color-border-1); border-radius: 30px; }
.pm-mode-btn { background: transparent; border: none; cursor: pointer; font-weight: 600; font-size: 0.9rem; color: var(--tj-color-text-body); padding: 8px 18px; border-radius: 30px; transition: all 0.2s ease; }
.pm-mode-btn i { margin-right: 6px; font-size: 0.85em; }
.pm-mode-btn.active { background: var(--tj-color-theme-primary); color: #fff; }

/* Hiányzó mező/blokk kiemelése a modalban (fókusz módban ezek maradnak láthatók) */
#profilModal .pm-missing > .form-control,
#profilModal .pm-missing > .form-select { border-color: #e6b800; box-shadow: 0 0 0 2px rgba(230, 184, 0, 0.14); }
#profilModal .pm-missing > .form-label::after { content: " • pótlandó"; color: #a07800; font-weight: 700; font-size: 0.8em; }

.dash-status-card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 18px;
  padding: 22px 24px;
}
.dash-status-head { color: var(--tj-color-text-body-2); font-size: 0.85rem; margin-bottom: 16px; }
.dash-status-row { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.dash-status-row:last-child { margin-bottom: 0; }
.dash-status-label { flex: 0 0 108px; color: #fff; font-size: 0.9rem; }
.dash-status-bar { flex: 1; height: 8px; border-radius: 8px; background: rgba(255, 255, 255, 0.12); overflow: hidden; }
.dash-status-bar span { display: block; height: 100%; border-radius: 8px; background: var(--tj-color-theme-primary); }
.dash-status-bar span.miss { background: #e05c5c; }
.dash-status-val { flex: 0 0 44px; text-align: right; color: #fff; font-weight: 600; font-size: 0.85rem; }
.dash-status-val.miss { color: #f2a5a5; }

/* Sorok fejléce + nyilak */
.dash-sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 30px; }
.dash-sec-head .sub-title { color: var(--tj-color-theme-primary); }
.dash-sec-head .sec-title { margin: 6px 0 0; }
.dash-rec-nav { display: flex; gap: 10px; flex-shrink: 0; }
.dash-rec-nav button {
  width: 46px; height: 46px; border-radius: 50%;
  border: 1px solid var(--tj-color-border-1); background: #fff;
  color: var(--tj-color-heading-primary); transition: all 0.2s ease;
}
.dash-rec-nav button:hover { background: var(--tj-color-theme-primary); border-color: var(--tj-color-theme-primary); color: #fff; }
.section-top { padding-top: 70px; }
.section-top.dash-row { padding-bottom: 50px; }

/* „Folytassa, ahol abbahagyta" – sötét, lekerekített doboz bg-shape-ekkel (mint a home #hogyan-mukodik) */
.dash-continue-box {
  position: relative; z-index: 0; overflow: hidden;
  background: radial-gradient(circle at center, #1a4a6e 0%, #0d2b45 100%);
  border-radius: 22px;
  padding: 44px 44px 40px;
}
.dash-continue-box .sub-title { color: #fff; }
.dash-continue-box .sec-title { color: #fff; }
.dash-continue-box .dash-rec-nav button { background: transparent; border-color: rgba(255, 255, 255, 0.35); color: #fff; }
.dash-continue-box .dash-rec-nav button:hover { background: var(--tj-color-theme-primary); border-color: var(--tj-color-theme-primary); color: #fff; }
@media (max-width: 767px) { .dash-continue-box { padding: 30px 20px 26px; } }

/* Netflixes, mozis képzés-kártya (teljes kép + gradiens + a cím a képen) */
.dash-row .swiper { padding: 12px 6px 24px; }
.dash-course-card {
  position: relative;
  display: block;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #0d2b45;
  box-shadow: 0 16px 32px -20px rgba(12, 30, 33, 0.55);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.dash-course-card:hover { transform: translateY(-6px); box-shadow: 0 14px 24px -16px rgba(12, 30, 33, 0.5); }
.dash-course-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.dash-course-card:hover .dash-course-img { transform: scale(1.08); }
.dash-course-card::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(9, 26, 42, 0) 32%, rgba(9, 26, 42, 0.55) 62%, rgba(9, 26, 42, 0.95) 100%);
}
.dash-course-badges { position: absolute; top: 14px; left: 14px; z-index: 2; display: flex; flex-wrap: wrap; gap: 8px; }
.dcb { display: inline-flex; align-items: center; gap: 6px; font-size: 0.75rem; font-weight: 700; padding: 6px 12px; border-radius: 30px; color: #fff; }
.dcb-credit { background: var(--tj-color-theme-primary); }
.dcb-why { background: rgba(224, 92, 92, 0.95); }
.dcb-progress { background: var(--tj-color-theme-primary); }
/* Jelentkezéseim státusz-badge-ek */
.dcb-current { background: #12a594; }
.dcb-done { background: #2e9d5b; }
.dcb-lock { background: #5b6773; }
.dcb-open { background: var(--tj-color-theme-primary); }
/* Zárolt jelentkezés: erősen halványított, szürkített kép – jelzi, hogy még nem indítható */
.dash-course-card.dash-jel-zarolt { opacity: 0.6; }
.dash-course-card.dash-jel-zarolt .dash-course-img { filter: grayscale(0.85) brightness(0.82); }

/* „Jelenlegi képzésem" – nagyobb felső térköz, hogy elváljon a fölötte lévő #csomag blokktól */
.dash-current-sec { margin-top: 60px; }
/* „Jelenlegi képzésem" – kiemelt fejléc + a blog-item.style-2 kártya szélessége */
.dash-current-head { max-width: 760px; margin: 0 0 24px; }
.dash-current-head .sub-title { color: var(--tj-color-theme-primary); }
.dash-current-head p { margin-top: 10px; color: var(--tj-color-text-body); }
.dash-course-play {
  position: absolute; top: 50%; left: 50%; z-index: 2;
  transform: translate(-50%, -50%) scale(0.7);
  width: 62px; height: 62px; border-radius: 50%;
  background: rgba(255, 255, 255, 0.94); color: var(--tj-color-theme-primary);
  display: flex; align-items: center; justify-content: center; font-size: 1.25rem;
  opacity: 0; transition: all 0.3s ease;
  box-shadow: 0 10px 24px -8px rgba(0, 0, 0, 0.5);
}
.dash-course-card:hover .dash-course-play { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.dash-course-content { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 20px 20px 22px; }
.dash-course-meta { display: block; color: rgba(255, 255, 255, 0.82); font-size: 0.8rem; margin-bottom: 6px; }
.dash-course-meta i { margin-right: 5px; }
.dash-course-title {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  color: #fff; font-size: 1.12rem; font-weight: 700; line-height: 1.3; margin: 0;
}

/* Kredit-csomag kiemelt blokk */
/* --- Böngésző-sorok jogcím-szűrő (Összes / Mérlegképes könyvelő / Könyvvizsgáló …) – #csomag-stílusú sötét kártya --- */
/* Jogcím-szűrő sáv: FALTÓL FALIG (teljes szélesség, nincs lekerekítés) – a háttér a section-ön, a tartalom a
   .container-ben marad igazítva (mint a böngésző-sorok alatta). Háttér: sötétkék (mint a dash-hero), belülről
   kifelé világosodó glow-val (mint a csomag-blokk); ELLIPSE (nem circle), hogy a széles-alacsony sávot
   vízszintesen kitöltse a középső világos rész (circle-lel a container-területen a sötét külső gyűrű dominált). */
.dash-bfilter-band {
  background-color: var(--tj-color-theme-dark);
  background-image: radial-gradient(ellipse at center, #1a4a6e 0%, #0d2b45 100%);
  width: 100%;
  margin-top: 60px; /* rés a fölötte lévő csomag-blokktól (a section-top helyett) */
}
@media (max-width: 991px) { .dash-bfilter-band { margin-top: 40px; } }
.dash-bfilter-card {
  background: transparent;
  border-radius: 0; padding: 22px 0; color: #fff;
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 16px;
}
.dash-bfilter-lead { font-weight: 600; color: #fff; }
.dash-bfilter-lead i { color: #7fd6d0; margin-right: 6px; }
.dash-bfilter { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; }
.dash-bfilter-btn {
  border: 1px solid rgba(255, 255, 255, 0.25); background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.9); font-size: 0.88rem; font-weight: 600;
  padding: 8px 18px; border-radius: 30px; cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}
.dash-bfilter-btn:hover { border-color: var(--tj-color-theme-primary); background: rgba(255, 255, 255, 0.12); color: #fff; }
.dash-bfilter-btn.active { background: var(--tj-color-theme-primary); border-color: var(--tj-color-theme-primary); color: #fff; }

/* --- Fedettség-panel (diagnosztika): mit fed az ajánlott csomag szakképesítésenként --- */
.dash-fed {
  background: radial-gradient(circle at center, #1a4a6e 0%, #0d2b45 100%);
  border-radius: 22px; padding: 40px 44px 34px; color: #fff;
}
.dash-fed-head { text-align: center; max-width: 760px; margin: 0 auto 28px; }
.dash-fed-head .sub-title { color: #7fd6d0; }
.dash-fed-head .sec-title { color: #fff; }
.dash-fed-head .sec-title span { color: #7fd6d0; }
.dash-fed-head p { color: rgba(255, 255, 255, 0.72); margin: 10px 0 0; font-size: 0.9rem; }
.dash-fed-head p em { color: rgba(255, 255, 255, 0.9); font-style: normal; }
.dash-fed-empty { color: rgba(255, 255, 255, 0.88); text-align: center; margin: 0; line-height: 1.6; }
.dash-fed-empty em { color: #7fd6d0; font-style: normal; }
.dash-fed-empty strong { color: #fff; }
.dash-fed-raw { margin-top: 18px; color: rgba(255, 255, 255, 0.82); font-size: 0.82rem; }
.dash-fed-raw summary { cursor: pointer; color: #7fd6d0; font-weight: 600; margin-bottom: 8px; }
.dash-fed-raw ul { list-style: none; padding: 0; margin: 8px 0 0; display: flex; flex-direction: column; gap: 8px; }
.dash-fed-raw li { padding: 8px 12px; background: rgba(255, 255, 255, 0.05); border-radius: 8px; line-height: 1.7; }
.dash-fed-raw code { background: rgba(0, 0, 0, 0.25); padding: 1px 6px; border-radius: 5px; color: #ffd; font-size: 0.8rem; }
.dash-fed-verdict {
  display: flex; align-items: center; gap: 10px; justify-content: center;
  max-width: 760px; margin: 0 auto 20px; padding: 12px 20px; border-radius: 12px;
  font-size: 0.98rem; border: 1px solid transparent;
}
.dash-fed-verdict i { font-size: 1.2rem; }
.dash-fed-verdict.verdict-ok { background: rgba(52, 211, 153, 0.12); border-color: rgba(52, 211, 153, 0.4); color: #7fedc0; }
.dash-fed-verdict.verdict-no { background: rgba(251, 191, 36, 0.12); border-color: rgba(251, 191, 36, 0.4); color: #fcd34d; }
.dash-fed-verdict strong { color: #fff; }
.dash-fed-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.dash-fed-row {
  display: grid; grid-template-columns: 1.3fr 2fr auto auto; align-items: center; gap: 16px;
  background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.12);
  border-left: 4px solid rgba(255, 255, 255, 0.2); border-radius: 12px; padding: 12px 18px;
}
.dash-fed-row.fed-ok { border-left-color: #34d399; }
.dash-fed-row.fed-part { border-left-color: #fbbf24; }
.dash-fed-row.fed-no { border-left-color: #f87171; }
.dash-fed-name { font-weight: 600; color: #fff; }
.dash-fed-bar { height: 8px; border-radius: 6px; background: rgba(255, 255, 255, 0.12); overflow: hidden; display: flex; }
.dash-fed-fill { display: block; height: 100%; flex: 0 0 auto; background: #7fd6d0; }
.dash-fed-row.fed-ok .dash-fed-fill { background: #34d399; }
.dash-fed-row.fed-part .dash-fed-fill { background: #fbbf24; }
.dash-fed-row.fed-no .dash-fed-fill { background: #f87171; }
/* Modal 1 kétszínű sáv: elöl a jelentkezéssel LEKÖTÖTT rész, utána a csomag (terv) hozzájárulása – felülírja a fenti státusz-színt */
.dash-fed-row .dash-fed-fill.committed { background: #34d399; }
.dash-fed-row .dash-fed-fill.planned { background: #7fd6d0; }
.dash-fed-legend { display: flex; flex-wrap: wrap; gap: 18px; margin: -4px 0 14px; font-size: 0.82rem; color: rgba(255, 255, 255, 0.75); }
.dash-fed-legend span { display: inline-flex; align-items: center; gap: 7px; }
.dash-fed-swatch { display: inline-block; width: 12px; height: 12px; border-radius: 3px; }
.dash-fed-swatch.committed { background: #34d399; }
.dash-fed-swatch.planned { background: #7fd6d0; }
.dash-fed-num { color: rgba(255, 255, 255, 0.85); font-size: 0.88rem; white-space: nowrap; }
.dash-fed-status { font-size: 0.85rem; font-weight: 600; white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; }
.dash-fed-row.fed-ok .dash-fed-status { color: #34d399; }
.dash-fed-row.fed-part .dash-fed-status { color: #fbbf24; }
.dash-fed-row.fed-no .dash-fed-status { color: #f87171; }
@media (max-width: 767px) {
  .dash-fed { padding: 30px 20px 26px; }
  .dash-fed-row { grid-template-columns: 1fr; gap: 8px; }
}

/* ── Csomag-kártya: kattintható box + kredit-bontás/megnézem link-sor ── */
.dash-csomag-card { cursor: pointer; }
.dash-csomag-links { display: flex; align-items: center; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
.dash-csomag-detailhint { font-size: 0.78rem; font-weight: 600; color: #7fd6d0; display: inline-flex; align-items: center; gap: 5px; }
.dash-csomag-open { font-size: 0.78rem; font-weight: 600; color: rgba(255,255,255,0.82); text-decoration: none; display: inline-flex; align-items: center; gap: 5px; }
.dash-csomag-open:hover { color: #fff; text-decoration: underline; }

/* ── Csomag-lábléc: gomb-sor (részletek + jelentkezés) ── */
.dash-csomag-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.dash-csomag-detailbtn {
  display: inline-flex; align-items: center; gap: 8px; padding: 12px 20px;
  background: rgba(255,255,255,0.08); border: 1px solid rgba(127,214,208,0.5);
  color: #7fd6d0; font-weight: 600; border-radius: 10px; cursor: pointer;
  transition: background .2s, color .2s;
}
.dash-csomag-detailbtn:hover { background: rgba(127,214,208,0.16); color: #fff; }

/* ── Részletek-modal (sötét kártya, illik a csomag-blokkhoz) ── */
.dash-reszlet-modal {
  background: radial-gradient(circle at center, #1a4a6e 0%, #0d2b45 100%);
  color: #fff; border: none; border-radius: 18px;
}
.dash-reszlet-modal .modal-header { border-bottom: 1px solid rgba(255,255,255,0.12); }
.dash-reszlet-modal .modal-footer { border-top: 1px solid rgba(255,255,255,0.12); }
.dash-reszlet-modal .modal-title { color: #fff; font-weight: 700; display: inline-flex; align-items: center; gap: 10px; }
.dash-reszlet-modal .modal-title i { color: #7fd6d0; }
.dash-reszlet-sec { margin-bottom: 26px; }
.dash-reszlet-sec:last-child { margin-bottom: 0; }
.dash-reszlet-h { color: #7fd6d0; font-weight: 700; font-size: 0.82rem; letter-spacing: .06em; text-transform: uppercase; margin: 0 0 6px; }
.dash-reszlet-lead { color: rgba(255,255,255,0.72); font-size: 0.86rem; margin: 0 0 16px; line-height: 1.6; }
.dash-reszlet-jogcim { margin-bottom: 18px; }
.dash-reszlet-jogcim:last-child { margin-bottom: 0; }
.dash-reszlet-jogcimnev { color: #fff; font-weight: 600; margin: 0 0 10px; font-size: 0.95rem; }

/* Modal 1 – képzés-sorok */
.dash-reszlet-kepzes {
  display: flex; align-items: center; gap: 14px; padding: 12px 14px; margin-bottom: 10px;
  background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); border-radius: 12px;
}
.dash-reszlet-kepzes:last-child { margin-bottom: 0; }
.dash-reszlet-kthumb { width: 60px; height: 44px; flex: 0 0 60px; border-radius: 8px; overflow: hidden; }
.dash-reszlet-kthumb img { width: 100%; height: 100%; object-fit: cover; }
.dash-reszlet-kinfo { flex: 1 1 auto; min-width: 0; }
.dash-reszlet-ktitle { color: #fff; font-weight: 600; font-size: 0.92rem; margin-bottom: 6px; }
.dash-reszlet-covers { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.dash-reszlet-coverlead { color: rgba(255,255,255,0.6); font-size: 0.78rem; }
.dash-reszlet-cover {
  display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 0.76rem; font-weight: 600;
  background: rgba(127,214,208,0.14); border: 1px solid rgba(127,214,208,0.4); color: #a6e7e2;
}
.dash-reszlet-kcredit { flex: 0 0 auto; text-align: center; min-width: 62px; }
.dash-reszlet-kcreditnum { display: block; font-size: 1.3rem; font-weight: 800; color: #7fd6d0; line-height: 1; }
.dash-reszlet-kcreditlbl { display: block; font-size: 0.72rem; color: rgba(255,255,255,0.6); }
.dash-reszlet-foot { justify-content: flex-end; gap: 10px; }
.dash-reszlet-cancel {
  padding: 10px 18px; background: transparent; border: 1px solid rgba(255,255,255,0.3);
  color: rgba(255,255,255,0.85); border-radius: 10px; cursor: pointer; font-weight: 600;
}
.dash-reszlet-cancel:hover { background: rgba(255,255,255,0.1); color: #fff; }

/* Modal 2 – egy képzés kredit-bontása */
.dash-kmodal-head { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.dash-kmodal-thumb { width: 84px; height: 60px; flex: 0 0 84px; border-radius: 10px; overflow: hidden; }
.dash-kmodal-thumb img { width: 100%; height: 100%; object-fit: cover; }
.dash-kmodal-title { color: #fff; font-weight: 700; font-size: 1.05rem; line-height: 1.35; }
.dash-kmodal-credit {
  display: inline-flex; align-items: baseline; gap: 6px; margin-bottom: 20px;
  padding: 8px 16px; background: rgba(127,214,208,0.12); border: 1px solid rgba(127,214,208,0.35); border-radius: 10px;
}
.dash-kmodal-creditnum { font-size: 1.7rem; font-weight: 800; color: #7fd6d0; line-height: 1; }
.dash-kmodal-creditlbl { font-size: 0.9rem; color: rgba(255,255,255,0.8); }
.dash-kmodal-krgroup { color: #7fd6d0; font-size: 0.74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; margin: 14px 0 8px; }
.dash-kmodal-sec > .dash-kmodal-krgroup:first-of-type { margin-top: 4px; }
.dash-kmodal-creditlist { list-style: none; padding: 0; margin: 0 0 4px; display: flex; flex-direction: column; gap: 8px; }
.dash-kmodal-creditrow {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 10px 14px; border-radius: 10px;
  background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1);
}
.dash-kmodal-creditrow.kr-fedi { background: rgba(127,214,208,0.12); border-color: rgba(127,214,208,0.4); }
.dash-kmodal-krname { color: rgba(255,255,255,0.9); font-weight: 600; font-size: 0.92rem; display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.dash-kmodal-krtag { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #0d2b45; background: #7fd6d0; padding: 2px 8px; border-radius: 20px; }
.dash-kmodal-krval { color: #7fd6d0; font-weight: 800; font-size: 1rem; white-space: nowrap; }
.dash-kmodal-creditrow:not(.kr-fedi) .dash-kmodal-krval { color: rgba(255,255,255,0.7); }
.dash-kmodal-sec { margin-bottom: 18px; }
.dash-kmodal-seclabel { color: rgba(255,255,255,0.85); font-weight: 600; margin-bottom: 10px; font-size: 0.9rem; }
.dash-kmodal-covers { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.dash-kmodal-covers .dash-reszlet-cover { font-size: 0.84rem; padding: 5px 14px; }
.dash-kmodal-note { color: rgba(255,255,255,0.62); font-size: 0.8rem; line-height: 1.6; margin: 8px 0 0; position: relative; padding-left: 24px; }
.dash-kmodal-note i { color: #7fd6d0; position: absolute; left: 0; top: 4px; }
.dash-kmodal-reason {
  display: flex; gap: 10px; align-items: flex-start; padding: 12px 16px; border-radius: 10px;
  background: rgba(52,211,153,0.1); border: 1px solid rgba(52,211,153,0.3); color: #b6f0d6; font-size: 0.9rem; line-height: 1.55;
}
.dash-kmodal-reason i { color: #34d399; margin-top: 3px; }
@media (max-width: 575px) {
  .dash-reszlet-kepzes { flex-wrap: wrap; }
  .dash-csomag-actions { width: 100%; }
  .dash-csomag-detailbtn, .dash-csomag-actions .tj-primary-btn { flex: 1 1 auto; justify-content: center; }
}

.dash-csomag {
  background-color: var(--tj-color-theme-dark);
  border-radius: 22px;
  padding: 44px 44px 36px;
  color: #fff;
  position: relative;
  z-index: 0;
  overflow: hidden;
}
.dash-csomag-head { text-align: center; max-width: 720px; margin: 0 auto 34px; }
.dash-csomag-head .sub-title { color: #7fd6d0; }
.dash-csomag-head .sec-title { color: #fff; }
.dash-csomag-head .sec-title span { color: #7fd6d0; }
.dash-csomag-head p { color: rgba(255, 255, 255, 0.82); margin: 10px 0 0; }
.dash-csomag-head p strong { color: #fff; }
.dash-csomag-steps { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px; }
.dash-csomag-step { display: flex; align-items: center; gap: 10px; }
.dash-csomag-card {
  position: relative; display: flex; align-items: center; gap: 14px;
  background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px; padding: 12px 16px 12px 12px; width: 280px;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.dash-csomag-card:hover { background: rgba(255, 255, 255, 0.11); border-color: var(--tj-color-theme-primary); transform: translateY(-3px); }
.dash-csomag-num {
  position: absolute; top: -10px; left: -10px;
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--tj-color-theme-primary); color: #fff; font-weight: 700; font-size: 0.85rem;
  display: flex; align-items: center; justify-content: center;
}
.dash-csomag-thumb { flex: 0 0 64px; width: 64px; height: 64px; border-radius: 10px; overflow: hidden; }
.dash-csomag-thumb img { width: 100%; height: 100%; object-fit: cover; }
.dash-csomag-info { display: flex; flex-direction: column; min-width: 0; }
.dash-csomag-tag { color: #7fd6d0; font-size: 0.78rem; font-weight: 600; margin-bottom: 3px; }
.dash-csomag-title {
  color: #fff; font-size: 0.92rem; font-weight: 600; line-height: 1.3;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.dash-csomag-arrow { color: rgba(255, 255, 255, 0.4); font-size: 1.1rem; }
@media (max-width: 767px) {
  .dash-csomag-arrow { transform: rotate(90deg); }
  .dash-csomag-card { width: 100%; }
  .dash-csomag { padding: 32px 22px 28px; }
}
.dash-csomag-foot {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px;
  margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.dash-csomag-outcome { color: #fff; font-weight: 600; }
.dash-csomag-outcome i { color: #7fd6d0; margin-right: 8px; }

/* Per-elvárás carousel sorok – külön lekerekített, bg-shape-es dobozok (mint a home #kinek-kotelezo).
   A lekerekítést/overflow-t/pozíciót a .h5-about adja, a világos hátteret az inline style, a beljebb húzást a .section-gap-x. */
.dash-req-sec { padding-top: 54px; padding-bottom: 54px; margin-bottom: 28px; }

/* Per-elvárás sor fejléc */
/*.dash-req-head { max-width: 560px; }*/
.dash-req-badge { display: inline-block; font-size: 0.78rem; font-weight: 700; padding: 5px 14px; border-radius: 30px; margin-bottom: 10px; }
.dash-req-badge.miss { background: rgba(224, 92, 92, 0.14); color: #d0483f; }
.dash-req-badge.ok { background: rgba(30, 138, 138, 0.14); color: var(--tj-color-theme-primary); }
.dash-req-why { color: var(--tj-color-text-body); margin: 6px 0 12px; }
.dash-req-progress { height: 8px; width: 240px; max-width: 100%; border-radius: 8px; background: var(--tj-color-border-1); overflow: hidden; }
.dash-req-progress span { display: block; height: 100%; border-radius: 8px; background: var(--tj-color-theme-primary); }
.dash-req-progress span.miss { background: #e05c5c; }
.dash-req-progress-wrap { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.dash-req-progress-label { font-size: 0.85rem; font-weight: 600; color: var(--tj-color-text-body); white-space: nowrap; }

/* ===== Képzés-lista kártya (bexon blog-item.style-2 – vízszintes, egyenlő magasság, padding) ===== */
.blog-post-wrapper .blog-item.style-2 { margin-bottom: 24px; border: 1px solid var(--tj-color-border-1); position: relative; z-index: 0; overflow: hidden; }
.blog-item.style-2 .blog-thumb img { width: 100%; height: 100%; min-height: 260px; object-fit: cover; }
/* Kékes sötét overlay a képeken */
.blog-item.style-2 .blog-thumb::before { background: linear-gradient(160deg, rgba(26, 74, 110, 0.32) 0%, rgba(11, 39, 64, 0.62) 100%); opacity: 1; }
.blog-item.style-2 .blog-content { padding: 34px 38px; justify-content: flex-start; position: relative; z-index: 2; background: transparent; }
@media (max-width: 575px) { .blog-item.style-2 .blog-content { padding: 24px 22px; } }
.blog-item.style-2 .blog-content > .blog-meta,
.blog-item.style-2 .blog-content > .title,
.blog-item.style-2 .blog-content > .tj-primary-btn,
.blog-item.style-2 .blog-content > .lp-card-credits { position: relative; z-index: 2; }
/* bg-shape a TELJES kártyán, a kép és a tartalom MÖGÖTT (z-index: -1): bg-shape-1 bal-fent, bg-shape-2 jobb-lent */
.blog-item.style-2 .bg-shape-1, .blog-item.style-2 .bg-shape-2 { max-width: 170px; }
.blog-item.style-2 .bg-shape-1 img, .blog-item.style-2 .bg-shape-2 img { width: 100%; height: auto; }
/* „Kreditek:" felirat + kredit-badgek */
.blog-item.style-2 .lp-card-credits { position: relative; z-index: 2; }
.blog-item.style-2 .lp-card-label { display: block; font-weight: 700; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.4px; color: var(--tj-color-theme-primary); margin-bottom: 8px; }
/* Helyszín + képzési idő – külön elválasztott sáv a badgek és a cím között */
.blog-item.style-2 .lp-card-meta { margin: 16px 0; padding: 14px 0; border-top: 1px dashed var(--tj-color-border-1); border-bottom: 1px dashed var(--tj-color-border-1); }
.blog-item.style-2 .blog-content .blog-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 16px; margin-bottom: 10px; }
.blog-item.style-2 .blog-content .categories { display: inline-flex; flex-wrap: wrap; gap: 8px; }
.blog-item.style-2 .blog-content .title { font-size: 1.2rem; line-height: 1.4; margin: 4px 0 0; }
.blog-item.style-2 .blog-content .title a { color: var(--tj-color-heading-primary); }
.blog-item.style-2 .blog-content .title a:hover { color: var(--tj-color-theme-primary); }
.blog-item.style-2 .blog-content .tj-primary-btn { margin-top: 20px; }

/* ===== Felső szűrő – sötét kereső-doboz (mp-onk searchbox minta: h5-pricing-box-wrapper + bg-shape) ===== */
.lp-choose-cta-box h5, .lp-choose-cta-box p { position: relative; z-index: 2; }
.lp-choose-cta-box h5 { color: var(--tj-color-common-white); }
.lp-searchbox { position: relative; z-index: 50; text-align: left; margin-bottom: 34px; }
.lp-searchbox .lp-searchbox-inner { position: relative; z-index: 2; }
.lp-searchbox .nice-select { float: none; width: 100%; height: 50px; line-height: 48px; padding: 0 38px 0 18px; border: 0; border-radius: 8px; color: var(--tj-color-heading-primary); }
.lp-searchbox .nice-select .list { width: 100%; }
.lp-searchbox .form-label { color: rgba(255, 255, 255, 0.85); font-weight: 600; font-size: 0.85rem; margin-bottom: 6px; }
.lp-searchbox .lp-filter-date { width: 100%; height: 50px; border: 0; border-radius: 8px; padding: 0 16px; background: var(--tj-color-common-white); color: var(--tj-color-heading-primary); }
.lp-searchbox .lp-filter-credits { margin-top: 26px; padding-top: 0; border-top: none; position: relative; z-index: 2; }
.lp-searchbox .lp-filter-credits-title { color: #fff; }
.lp-searchbox .lp-credit-subhead { color: #7fd6d0; }
.lp-searchbox .lp-credit-subhead::after { background: rgba(255, 255, 255, 0.18); }
.lp-searchbox .form-check-label { color: rgba(255, 255, 255, 0.9); }
.lp-searchbox .lp-filter-reset { color: #fff; border-color: rgba(255, 255, 255, 0.4); }
.lp-searchbox .lp-filter-reset:hover { background: var(--tj-color-theme-primary); border-color: var(--tj-color-theme-primary); color: #fff; }
/* Szabadszavas kereső + belépéshez kötött kapcsolók a /kepzesek sötét searchboxban */
.lp-searchbox .lp-search-main { position: relative; margin-bottom: 18px; }
.lp-searchbox .lp-search-ic { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--tj-color-theme-primary); font-size: 1.05rem; pointer-events: none; }
.lp-searchbox .lp-search-input { width: 100%; height: 54px; border: 0; border-radius: 10px; padding: 0 18px 0 46px; background: var(--tj-color-common-white); color: var(--tj-color-heading-primary); font-size: 1rem; }
.lp-searchbox .lp-search-input:focus { outline: 2px solid var(--tj-color-theme-primary); }
.lp-searchbox .lp-search-input::placeholder { color: rgba(0,0,0,0.4); }
.lp-searchbox .lp-filter-toggles { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 18px; }
.lp-searchbox .lp-toggle { display: inline-flex; align-items: center; gap: 8px; color: rgba(255,255,255,0.9); font-size: 0.9rem; font-weight: 600; cursor: pointer; }
.lp-searchbox .lp-toggle input { width: 18px; height: 18px; accent-color: var(--tj-color-theme-primary); cursor: pointer; }
.lp-searchbox .lp-toggle span i { color: #7fd6d0; margin-right: 4px; }
.lp-searchbox .lp-filter-hr { border: 0; border-top: 1px dashed rgba(255,255,255,0.25); margin: 26px 0 16px; }
.lp-searchbox .lp-filter-toggles-lead { color: rgba(255,255,255,0.7); font-size: 0.88rem; text-align: center; margin: -8px 0 16px; }
/* /kepzeseim – státusz-szűrő (szegmentált pillek a sötét searchboxban) */
.lp-searchbox .lp-status-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.lp-searchbox .lp-status-btn { display: inline-flex; align-items: center; gap: 7px; padding: 10px 16px; border-radius: 30px; border: 1px solid rgba(255,255,255,0.25); background: rgba(255,255,255,0.06); color: rgba(255,255,255,0.85); font-weight: 600; font-size: 0.88rem; cursor: pointer; transition: all 0.2s ease; }
.lp-searchbox .lp-status-btn i { color: #7fd6d0; }
.lp-searchbox .lp-status-btn:hover { background: rgba(255,255,255,0.12); color: #fff; }
.lp-searchbox .lp-status-btn.active { background: var(--tj-color-theme-primary); border-color: var(--tj-color-theme-primary); color: #fff; }
.lp-searchbox .lp-status-btn.active i { color: #fff; }
/* /kepzeseim – státusz-badge a kártya képén (jobbra fent) */
.blog-item .blog-thumb { position: relative; }
.lp-course-status { position: absolute; top: 12px; right: 12px; z-index: 3; padding: 5px 12px; border-radius: 20px; font-size: 0.78rem; font-weight: 700; color: #fff; box-shadow: 0 4px 12px rgba(0,0,0,0.18); }
.lp-course-status-done { background: #1a9e5a; }
.lp-course-status-inprogress { background: #d98a00; }
.lp-course-status-notstarted { background: #64748b; }
/* Header felső menü dinamikus badge (hiányzó kredit / lejár) – önálló kis pill a fül szövege mellett */
.mainmenu > ul > li > a > .mega-menu-badge {
  display: inline-block; vertical-align: middle; margin-left: 6px; position: relative; top: -1px;
  font-size: 0.6rem; font-weight: 700; line-height: 1; padding: 3px 7px; border-radius: 20px;
  background: var(--tj-color-theme-primary); color: #fff;
}
.mainmenu > ul > li > a > .mega-menu-badge.mega-menu-badge-hot { background: #e0483d; }
/* Header mega-menü méret-finomítások (a Bexon alapból túl nagy: cím 74px, ikon 54px) */
.mainmenu ul > li > .mega-menu-pages .mega-menu-pages-single .feature-box .feature-content .title,
.mobile_menu ul > li > .mega-menu-pages .mega-menu-pages-single .feature-box .feature-content .title { font-size: 22px; line-height: 1.25; margin-bottom: 6px; }
.mainmenu ul > li > .mega-menu-service-single .mega-menu-service-icon,
.mobile_menu ul > li > .mega-menu-service-single .mega-menu-service-icon { width: 42px; height: 42px; }
.mainmenu ul > li > .mega-menu-service-single .mega-menu-service-icon i,
.mobile_menu ul > li > .mega-menu-service-single .mega-menu-service-icon i { font-size: 18px; }
.lp-filter-credits { margin-top: 20px; padding-top: 18px; border-top: 1px dashed var(--tj-color-border-1); }
.lp-filter-credits-title { display: block; text-align: center; font-weight: 700; font-size: 1.25rem; color: var(--tj-color-heading-primary); margin-bottom: 20px; }
.lp-credit-chips { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-bottom: 6px; }
.lp-credit-chips .form-check { margin: 0; }
.lp-credit-subhead { display: flex; align-items: center; gap: 12px; font-weight: 700; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.5px; color: var(--tj-color-theme-primary); margin: 20px 0 12px; }
.lp-credit-subhead::before { content: ""; flex-shrink: 0; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.lp-credit-subhead::after { content: ""; flex: 1; height: 1px; background: var(--tj-color-border-1); }
.lp-filter-reset { display: inline-flex; align-items: center; gap: 8px; background: transparent; border: 1px solid var(--tj-color-border-1); color: var(--tj-color-heading-primary); font-weight: 600; font-size: 0.9rem; padding: 9px 18px; border-radius: 30px; cursor: pointer; transition: all 0.2s ease; }
.lp-filter-reset:hover { background: var(--tj-color-theme-primary); border-color: var(--tj-color-theme-primary); color: #fff; }
.lp-result-bar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-bottom: 26px; padding-bottom: 16px; border-bottom: 1px solid var(--tj-color-border-1); }
.lp-result-bar .sub-title { color: var(--tj-color-theme-primary); font-weight: 700; }
.lp-result-bar p { margin: 0; color: var(--tj-color-text-body); }
.lp-result-bar strong { color: var(--tj-color-heading-primary); font-size: 1.1rem; }
.lp-empty { padding: 40px 24px; text-align: center; border: 1px dashed var(--tj-color-border-1); border-radius: 12px; }
.lp-empty .desc { margin: 0; color: var(--tj-color-text-body); }

/* Breadcrumb (tj-page-header) bevezető szöveg – az mp-onk mintájából átemelve */
.breadcumb-text {
  color: white;
  font-size: 14pt;
  margin-top: 20pt;
}

/* ===== Képzés-részlet oldal (bexon blog-details minta) ===== */
/* „Megszerezhető kreditek" – sötét, kékes gradiens doboz (mint a dash-csomag) + bg-shape-ek */
.lp-course-credits .lp-course-credits-title { width: 100%; margin: 0; padding: 26px 30px 0; color: #fff; font-size: 1.3rem; position: relative; z-index: 2; }
.lp-course-credits.blog-category-two {
  background: radial-gradient(circle at center, #1a4a6e 0%, #0d2b45 100%);
  border: none;
  border-radius: 20px;
  position: relative;
  z-index: 0;
  overflow: hidden;
  margin-bottom: 28px;
}
.lp-course-credits .category-item { position: relative; z-index: 2; flex-wrap: nowrap; border-inline-end-color: rgba(255, 255, 255, 0.14); }
/* Egyetlen kredit-elem esetén NE legyen jobb oldali elválasztó border (a :last-child a bg-shape-ek miatt nem fog) */
.lp-course-credits.lp-credits-single .category-item { border-inline-end: none; }
.lp-course-credits .category-item .cate-text { flex: 1; min-width: 0; }
.lp-course-credits .category-item .cate-text .degination,
.lp-course-credits .category-item .cate-text .text { overflow-wrap: anywhere; }
.lp-course-credits .cate-icons { width: 46px; height: 46px; border-radius: 50%; background: rgba(255, 255, 255, 0.1); color: #7fd6d0; display: inline-flex; align-items: center; justify-content: center; font-size: 1.1rem; flex-shrink: 0; }
.lp-course-credits.blog-category-two .category-item .cate-text .degination { color: #fff; }
.lp-course-credits .cate-text .text { margin: 0; color: #fff; font-weight: 700; }
.lp-course-credits .bg-shape-1, .lp-course-credits .bg-shape-2 { max-width: 150px; }
.lp-course-credits .bg-shape-1 img, .lp-course-credits .bg-shape-2 img { width: 100%; height: auto; }
.lp-course-expert { margin-bottom: 24px; color: var(--tj-color-text-body); }
.lp-course-expert > i { color: var(--tj-color-theme-primary); margin-right: 6px; }
.lp-course-expert a { color: var(--tj-color-heading-primary); font-weight: 600; }
.lp-course-expert a:not(:last-child)::after { content: ","; color: var(--tj-color-text-body); font-weight: 400; }
.lp-course-meta { list-style: none; padding: 0; margin: 0 0 24px; }
.lp-course-meta li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--tj-color-border-1); }
.lp-course-meta li:last-child { border-bottom: none; }
.lp-course-meta li > span { color: var(--tj-color-text-body); display: inline-flex; align-items: center; gap: 8px; }
.lp-course-meta li > span i { color: var(--tj-color-theme-primary); }
.lp-course-meta li strong { color: var(--tj-color-heading-primary); text-align: right; }
.lp-course-btn { width: 100%; justify-content: center; }
.lp-course-btn.disabled { opacity: 0.65; pointer-events: none; }
.tj-primary-btn.lp-unenroll-btn .btn-icon i { transform: rotate(0); }   /* a lejelentkezés X-ikon NE forduljon el (a nyíl-alap-transzform resetje) */

/* ===== Kepzesem (képzésbe belépő) – videó-haladás + dokumentumok a sidebaron ===== */
.lp-video-list { margin-top: 22px; }
.lp-video-list-title { font-size: 0.95rem; margin: 0 0 14px; color: var(--tj-color-heading-primary); }
.lp-video-item { margin-bottom: 16px; }
.lp-video-item:last-child { margin-bottom: 0; }
.lp-video-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 6px; }
.lp-video-name { font-size: 0.9rem; color: var(--tj-color-text-body); overflow-wrap: anywhere; }
.lp-video-badge.done { color: #2e9d5b; flex-shrink: 0; }
.lp-video-progress { height: 20px; border-radius: 30px; background: var(--tj-color-theme-bg); overflow: hidden; }
.lp-video-progress .progress-bar {
  display: flex; align-items: center; justify-content: center;
  min-width: 2.6em; white-space: nowrap;
  color: #fff; font-size: 0.72rem; font-weight: 700;
  background-color: var(--tj-color-theme-primary);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.18) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.18) 50%, rgba(255, 255, 255, 0.18) 75%, transparent 75%, transparent);
  background-size: 1rem 1rem;
  transition: width 0.4s ease;
}
.lp-video-progress .progress-bar.bg-success { background-color: #2e9d5b !important; }

.lp-doc-list { list-style: none; padding: 0; margin: 0; }
.lp-doc-list li { border-bottom: 1px solid var(--tj-color-border-1); }
.lp-doc-list li:last-child { border-bottom: none; }
.lp-doc-list a { display: flex; align-items: center; gap: 10px; padding: 11px 0; color: var(--tj-color-heading-primary); font-weight: 500; }
.lp-doc-list a i { color: var(--tj-color-theme-primary); flex-shrink: 0; }
.lp-doc-list a:hover { color: var(--tj-color-theme-primary); }

.lp-widget-note { color: var(--tj-color-text-body); font-size: 0.92rem; margin-bottom: 16px; }

/* Zárolt képzés jelzés a Kepzesem sidebaron (amíg a folyamatban lévő nincs kész) */
.lp-locked-note { display: flex; gap: 12px; align-items: flex-start; background: var(--tj-color-theme-bg); border: 1px solid var(--tj-color-border-1); border-radius: 12px; padding: 16px; margin-bottom: 18px; }
.lp-locked-ic { flex-shrink: 0; width: 36px; height: 36px; border-radius: 50%; background: #5b6773; color: #fff; display: inline-flex; align-items: center; justify-content: center; }
.lp-locked-note p { margin: 0; font-size: 0.92rem; color: var(--tj-color-text-body); }
.lp-locked-note p strong { color: var(--tj-color-heading-primary); }
/* Elvégzett (kész) képzés a /kepzesem-en – a locked-note zöld párja (nincs „folytatás" gomb) */
.lp-done-note { display: flex; gap: 12px; align-items: flex-start; background: rgba(26, 158, 90, 0.08); border: 1px solid rgba(26, 158, 90, 0.35); border-radius: 12px; padding: 16px; margin-bottom: 18px; }
.lp-done-ic { flex-shrink: 0; width: 36px; height: 36px; border-radius: 50%; background: #1a9e5a; color: #fff; display: inline-flex; align-items: center; justify-content: center; }
.lp-done-note p { margin: 0; font-size: 0.92rem; color: var(--tj-color-text-body); }
.lp-done-note p strong { color: var(--tj-color-heading-primary); }

/* ===== Header (desktop) offcanvas – belépett kredit-panel (sötét háttéren) ===== */
.oc-kredit { display: flex; flex-direction: column; gap: 22px; }
.oc-kredit .hamburger-title { margin-bottom: 12px; }
.oc-kredit-card { display: flex; align-items: center; gap: 12px; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 12px; padding: 14px; }
.oc-kredit-ic { flex-shrink: 0; width: 40px; height: 40px; border-radius: 50%; background: rgba(127, 214, 208, 0.16); color: #7fd6d0; display: inline-flex; align-items: center; justify-content: center; font-size: 1rem; }
.oc-kredit-txt { display: flex; flex-direction: column; min-width: 0; }
.oc-kredit-txt strong { color: #fff; font-size: 0.95rem; line-height: 1.3; overflow-wrap: anywhere; }
.oc-kredit-txt span { color: rgba(255, 255, 255, 0.7); font-size: 0.82rem; margin-top: 2px; }
.oc-kredit-txt span i { color: #7fd6d0; margin-right: 4px; }
.oc-kredit-dl { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 10px; width: 100%; background: var(--tj-color-theme-primary); color: #fff; font-weight: 700; font-size: 0.9rem; padding: 11px 18px; border-radius: 30px; cursor: pointer; transition: filter 0.2s ease, transform 0.2s ease; }
.oc-kredit-dl:hover { color: #fff; filter: brightness(1.12); transform: translateY(-1px); }
.oc-kredit-link { display: flex; align-items: center; gap: 12px; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 12px; padding: 14px; transition: background 0.2s ease, border-color 0.2s ease; }
.oc-kredit-link:hover { background: rgba(255, 255, 255, 0.1); border-color: var(--tj-color-theme-primary); }
.oc-kredit-arrow { margin-left: auto; color: #7fd6d0; flex-shrink: 0; }
.oc-kredit-active .oc-kredit-ic { background: rgba(18, 165, 148, 0.2); color: #12a594; }

/* Offcanvas „kredit-parancsközpont" – kiegészítő blokkok (sötét panel, teal kiemelés) */
.oc-kredit-loading { color: rgba(255,255,255,0.7); font-size: 0.9rem; display: flex; align-items: center; gap: 8px; padding: 8px 2px; }
.oc-kredit-loading i { color: #7fd6d0; }
/* 1) kredit-állapot mini */
.oc-kredit-status { display: flex; align-items: center; gap: 12px; border-radius: 12px; padding: 14px; }
.oc-status-gap { background: rgba(217,138,0,0.14); border: 1px solid rgba(240,195,109,0.4); }
.oc-status-done { background: rgba(26,158,90,0.16); border: 1px solid rgba(26,158,90,0.4); }
.oc-status-done .oc-kredit-ic { background: rgba(26,158,90,0.25); color: #4fd18a; }
.oc-status-empty { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); transition: background 0.2s ease, border-color 0.2s ease; }
.oc-status-empty:hover { background: rgba(255,255,255,0.1); border-color: var(--tj-color-theme-primary); }
.oc-status-num { flex-shrink: 0; min-width: 46px; text-align: center; font-size: 1.9rem; font-weight: 800; color: #ffd479; line-height: 1; }
.oc-status-list { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
.oc-status-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 0.82rem; padding: 6px 12px; background: rgba(255,255,255,0.05); border-radius: 8px; }
.oc-status-row-nev { color: rgba(255,255,255,0.85); overflow-wrap: anywhere; }
.oc-status-row-val { color: #ffd479; font-weight: 600; flex-shrink: 0; }
/* 6) előfizetés-chip */
.oc-kredit-chip { display: inline-flex; align-items: center; gap: 8px; font-size: 0.82rem; font-weight: 600; padding: 9px 14px; border-radius: 30px; align-self: flex-start; }
.oc-chip-ok { background: rgba(26,158,90,0.16); border: 1px solid rgba(26,158,90,0.4); color: #7fe0aa; }
.oc-chip-warn { background: rgba(217,138,0,0.16); border: 1px solid rgba(240,195,109,0.45); color: #ffd479; transition: filter 0.2s ease; }
.oc-chip-warn:hover { filter: brightness(1.1); color: #ffe6ad; }
/* 2) aktív képzés – videó-haladás */
.oc-kredit-prog { margin-top: 10px; }
.oc-kredit-prog-bar { height: 7px; border-radius: 6px; background: rgba(255,255,255,0.12); overflow: hidden; }
.oc-kredit-prog-bar span { display: block; height: 100%; border-radius: 6px; background: linear-gradient(90deg,#12a594,#7fd6d0); }
.oc-kredit-prog-lbl { display: block; margin-top: 5px; font-size: 0.76rem; color: rgba(255,255,255,0.65); }
/* 4) gyorsművelet-rács (hotkeys) */
.oc-hotkeys { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.oc-hotkey { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; text-align: center; padding: 14px 8px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); border-radius: 12px; color: rgba(255,255,255,0.9); font-size: 0.8rem; font-weight: 600; transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease; }
.oc-hotkey i { font-size: 1.2rem; color: #7fd6d0; }
.oc-hotkey:hover { background: rgba(255,255,255,0.1); border-color: var(--tj-color-theme-primary); color: #fff; transform: translateY(-1px); }
/* 5) legutóbbi igazolások – kompakt letöltés-ikon + üres */
.oc-kredit-dlmini { flex-shrink: 0; margin-left: auto; width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--tj-color-theme-primary); color: #fff; cursor: pointer; transition: filter 0.2s ease; }
.oc-kredit-dlmini:hover { color: #fff; filter: brightness(1.12); }
.oc-kredit-empty { color: rgba(255,255,255,0.6); font-size: 0.85rem; margin: 0 0 4px; }

/* Csomag-jelentkezés modal */
.dash-modal .modal-content { border: none; border-radius: 16px; }
.dash-modal .modal-header { border-bottom: none; padding: 22px 28px; background: radial-gradient(circle at center, #1a4a6e 0%, #0d2b45 100%); }
.dash-modal .modal-title { font-weight: 700; color: #fff; }
.dash-modal .modal-header .btn-close { filter: brightness(0) invert(1); opacity: 0.85; }
.dash-modal .modal-header .btn-close:hover { opacity: 1; }
.dash-modal .modal-body { padding: 24px 28px; }
.dash-modal .modal-footer { border-top: 1px solid var(--tj-color-border-1); padding: 18px 28px; }
.dash-modal-lead { color: var(--tj-color-text-body); margin-bottom: 4px; }
.dash-modal-section { font-size: 1.05rem; font-weight: 700; color: var(--tj-color-heading-primary); margin: 26px 0 14px; padding-bottom: 8px; border-bottom: 1px solid var(--tj-color-border-1); }
.dash-modal-section.mt-0 { margin-top: 6px; }
.dash-modal-acc .accordion-item { border: 1px solid var(--tj-color-border-1); border-radius: 10px; overflow: hidden; }
.dash-modal-acc .accordion-button { font-weight: 700; color: var(--tj-color-heading-primary); background: #f4f7f7; }
.dash-modal-acc .accordion-button:not(.collapsed) { color: var(--tj-color-heading-primary); background: #f4f7f7; box-shadow: none; }
.dash-modal-acc .accordion-button:focus { box-shadow: none; border-color: var(--tj-color-border-1); }
.dash-modal-acc .accordion-body { padding: 8px 20px 20px; }
.dash-modal-hint { font-size: 0.9rem; color: var(--tj-color-text-body); margin-bottom: 10px; }
/* Csomag-modal: csak-olvasható jogcím-lista (a szerkesztés a Profilban történik) */
.dash-qual-ro { list-style: none; padding: 0; margin: 8px 0 0; display: flex; flex-direction: column; gap: 8px; }
.dash-qual-ro-item { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; padding: 10px 14px; border: 1px solid var(--tj-color-border-1); border-radius: 10px; background: #fff; }
.dash-qual-ro-nev { font-weight: 700; color: var(--tj-color-heading-primary); display: inline-flex; align-items: center; gap: 7px; }
.dash-qual-ro-nev i { color: var(--tj-color-theme-primary); }
.dash-qual-ro-szam { font-size: 0.88rem; color: var(--tj-color-text-body); }
.dash-qual-ro-nincs { font-size: 0.84rem; color: #b8860b; }
.dash-qual { border: 1px solid var(--tj-color-border-1); border-radius: 10px; padding: 14px 16px; }
.dash-qual .form-check-label { color: var(--tj-color-heading-primary); }
.dash-modal-cancel { background: transparent; border: none; color: var(--tj-color-text-body); font-weight: 600; padding: 8px 16px; }
.dash-modal-cancel:hover { color: var(--tj-color-theme-primary); }
.dash-modal-greet { font-size: 1.25rem; font-weight: 700; color: var(--tj-color-heading-primary); margin-bottom: 12px; }
.dash-modal-lead + .dash-modal-lead { margin-top: 12px; }
.dash-modal-subhead { font-size: 0.95rem; font-weight: 700; color: var(--tj-color-theme-primary); margin-bottom: 14px; }
.dash-modal-aszf { background: var(--tj-color-theme-bg, #f4f7f7); border-radius: 12px; padding: 18px 20px; }
.dash-modal-aszf .form-check-label { color: var(--tj-color-heading-primary); }
.dash-modal-aszf-desc { font-size: 0.85rem; color: var(--tj-color-text-body); margin: 8px 0 0; padding-left: 1.7rem; }
/* Jelentkezéseim: számláló-badge + a kártya-kattintós indító/zárolt modalok belseje */
.dash-jel-count { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; height: 28px; padding: 0 9px; margin-left: 10px; border-radius: 14px; background: var(--tj-color-theme-primary); color: #fff; font-size: 1rem; font-weight: 700; vertical-align: middle; }
.dash-jel-count.dash-jel-count-done { background: #1a9e5a; }   /* elvégzett képzések – zöld számláló */
.dash-course-card.dash-jel-trigger { cursor: pointer; }
.jel-modal-course { display: flex; gap: 16px; align-items: center; background: var(--tj-color-theme-bg, #f4f7f7); border-radius: 12px; padding: 14px; }
.jel-modal-thumb { width: 122px; height: 78px; object-fit: cover; border-radius: 10px; flex: 0 0 auto; }
.jel-modal-info { min-width: 0; }
.jel-modal-badge { display: inline-flex; align-items: center; gap: 6px; font-size: 0.82rem; font-weight: 600; color: var(--tj-color-theme-primary); margin-bottom: 4px; }
.jel-modal-name { font-weight: 700; font-size: 1.08rem; color: var(--tj-color-heading-primary); line-height: 1.3; }
.jel-modal-lead { color: var(--tj-color-text-body); margin-bottom: 16px; }

/* Elvégzett-képzés KREDITIGAZOLÁS-modal – a .dash-reszlet-modal (végig sötétkék) belsejéhez színezve */
.tj-primary-btn.kb-cert-dl .btn-icon i { transform: rotate(0); }   /* a letöltés/ZIP ikon NE forduljon el (a nyíl-alap-transzform resetje) */
.tj-primary-btn.kb-cert-dl { padding: 10px 18px; }
.elv-cert-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 22px 0 10px; padding-bottom: 8px; border-bottom: 1px solid rgba(255,255,255,0.12); }
.elv-cert-list { list-style: none; margin: 0; padding: 0; }
.elv-cert-item { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 0; border-top: 1px solid rgba(255,255,255,0.12); }
.elv-cert-item:first-child { border-top: none; }
.elv-cert-meta { display: flex; flex-direction: column; min-width: 0; }
.elv-cert-name { font-weight: 700; color: #fff; }
.elv-cert-sub { color: rgba(255,255,255,0.6); font-size: 0.85rem; }
.elv-cert-locked { color: rgba(255,255,255,0.6); font-size: 0.85rem; text-align: right; max-width: 240px; display: inline-flex; align-items: center; gap: 6px; }
.elv-warn { display: flex; gap: 12px; align-items: flex-start; background: #fff6e6; border: 1px solid #f0c36d; border-radius: 12px; padding: 14px 16px; }
.elv-warn-ic { color: #d98a00; font-size: 1.35rem; flex-shrink: 0; margin-top: 2px; }
.elv-warn-txt strong { display: block; color: #3a2a00; margin-bottom: 2px; }
.elv-warn-txt span { display: block; color: #5a4a1a; font-size: 0.92rem; line-height: 1.45; }
.elv-warn-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; font-weight: 700; color: #b06a00; }
.elv-warn-link:hover { text-decoration: underline; }
@media (max-width: 575px) { .elv-cert-item { flex-wrap: wrap; } .elv-cert-locked { text-align: left; max-width: none; } }

.jel-modal-secbtn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 18px; border: 1px solid var(--tj-color-border-1); border-radius: 10px; color: var(--tj-color-heading-primary); font-weight: 600; text-decoration: none; transition: border-color .2s, color .2s; }
.jel-modal-secbtn:hover { border-color: var(--tj-color-theme-primary); color: var(--tj-color-theme-primary); }
/* A 2 gomb kényelmesen elférjen: másodlagos balra, elsődleges jobbra; szűk helyen tördel */
#jelStartModal .modal-footer, #jelLockedModal .modal-footer { justify-content: space-between; flex-wrap: wrap; gap: 12px; }
#jelStartModal .modal-footer .tj-primary-btn, #jelLockedModal .modal-footer .tj-primary-btn { margin: 0; }
/* „Jelenlegi képzésem": a 2 gomb (folytatás + részletes leírás) egymás mellett; mindkettő .tj-primary-btn → egyforma magas */
.dash-current-btns { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.dash-current-btns > * { margin: 0; }
/* „Jelenlegi képzésem" videó-haladás badge (videologs: megnézett / összes videó) */
.dash-vprog { margin: 4px 0 20px; }
.dash-vprog-badge { display: inline-flex; align-items: center; gap: 10px; background: var(--tj-color-theme-primary); color: #fff; font-weight: 700; padding: 9px 16px; border-radius: 50px; font-size: 0.95rem; box-shadow: 0 8px 20px -10px rgba(15, 107, 172, 0.6); }
.dash-vprog-badge i { font-size: 1.05rem; opacity: 0.95; }
.dash-vprog-txt strong { font-size: 1.12rem; }
.dash-vprog-pct { background: rgba(255, 255, 255, 0.22); border-radius: 30px; padding: 2px 10px; font-size: 0.85rem; }
.dash-vprog-bar { display: block; height: 8px; border-radius: 6px; background: rgba(12, 30, 33, 0.1); overflow: hidden; margin-top: 12px; max-width: 360px; }
.dash-vprog-fill { display: block; height: 100%; background: linear-gradient(90deg, var(--tj-color-theme-primary), #7fd6d0); border-radius: 6px; transition: width .5s ease; }
/* Képzés-leírás (/kepzes, /kepzesem) – a beillesztett tartalom: táblázat SOHA ne legyen bordere + reszponzív képek (a fix width kiszedése után) */
.cikkbody table, .cikkbody table th, .cikkbody table td { border: none !important; }
.cikkbody img { max-width: 100%; height: auto; }
/* /kepzesem zárolt eset: a 2 gomb (folytatom videó + részletes leírás) egymás alatt */
.lp-locked-btns { display: flex; flex-direction: column; gap: 10px; }
.ob-intro { text-align: center; margin-bottom: 34px; }
.ob-intro .ob-eyebrow {
  display: inline-block;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--tj-color-theme-primary);
  margin-bottom: 10px;
}
.ob-intro h2 { font-size: 1.9rem; margin: 0 0 8px; }
.ob-intro p { color: var(--tj-color-text-body); margin: 0; }

/* --- Stepper --- */
.ob-stepper { display: flex; justify-content: space-between; position: relative; margin-bottom: 38px; }
.ob-stepper::before {
  content: "";
  position: absolute;
  top: 19px;
  left: 8%;
  right: 8%;
  height: 2px;
  background: var(--tj-color-border-1);
  z-index: 0;
}
.ob-stepper .ob-step {
  position: relative;
  z-index: 1;
  text-align: center;
  flex: 1;
}
.ob-stepper .ob-step-num {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--tj-color-common-white);
  border: 2px solid var(--tj-color-border-1);
  color: var(--tj-color-text-body);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  transition: all 0.25s ease;
}
.ob-stepper .ob-step-label {
  display: block;
  margin-top: 8px;
  font-size: 0.82rem;
  color: var(--tj-color-text-body);
}
.ob-stepper .ob-step.active .ob-step-num,
.ob-stepper .ob-step.done .ob-step-num {
  background: var(--tj-color-theme-primary);
  border-color: var(--tj-color-theme-primary);
  color: var(--tj-color-common-white);
}
.ob-stepper .ob-step.active .ob-step-label { color: var(--tj-color-heading-primary); font-weight: 600; }

/* --- Lépés-panelek --- */
.ob-step-panel { display: none; }
.ob-step-panel.active { display: block; animation: obFade 0.35s ease; }
@keyframes obFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.ob-step-title { font-size: 1.3rem; margin-bottom: 6px; }
.ob-step-desc { color: var(--tj-color-text-body); margin-bottom: 22px; }
.ob-step-subtitle { font-size: 1.05rem; font-weight: 600; margin: 26px 0 12px; color: var(--tj-color-common-black, #1a1a1a); }

/* --- Választható kártyák: a bexon service-item, kattintható label-ként --- */
.ob-choice { display: block; position: relative; cursor: pointer; height: 100%; margin: 0; }
.ob-choice input { position: absolute; opacity: 0; pointer-events: none; }
.ob-choice .service-item {
  height: 100%;
  border: 2px solid var(--tj-color-border-1);
  border-radius: 14px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.ob-choice:hover .service-item {
  background: radial-gradient(circle at center, #1a4a6e 0%, #0d2b45 100%);
  border-color: var(--tj-color-theme-primary);
  transform: translateY(-3px);
}
.ob-choice:hover .service-item .title,
.ob-choice:hover .service-item .title a,
.ob-choice:hover .service-item .desc { color: var(--tj-color-common-white); }
.ob-choice .service-item .service-icon { margin-bottom: 16px; }
.ob-choice.selected .service-item {
  border-color: var(--tj-color-theme-primary);
  box-shadow: 0 0 0 3px rgba(30, 138, 138, 0.14);
}
.ob-choice .ob-choice-check {
  position: absolute; top: 14px; right: 14px;
  width: 26px; height: 26px; border-radius: 50%;
  border: 2px solid var(--tj-color-border-1);
  background: var(--tj-color-common-white);
  display: inline-flex; align-items: center; justify-content: center;
  color: transparent; font-size: 0.75rem; transition: all 0.2s ease;
}
.ob-choice.selected .ob-choice-check {
  background: var(--tj-color-theme-primary);
  border-color: var(--tj-color-theme-primary);
  color: var(--tj-color-common-white);
}

/* --- Terelő üzenet doboz --- */
.ob-terelo {
  display: none;
  margin-top: 16px;
  padding: 14px 16px;
  border-radius: 10px;
  background: rgba(30, 138, 138, 0.08);
  border-left: 3px solid var(--tj-color-theme-primary);
  color: var(--tj-color-heading-primary);
  font-size: 0.92rem;
}
.ob-terelo.show { display: block; animation: obFade 0.3s ease; }

/* --- Űrlapmezők (a bexon form stílus) --- */
.ob-form .form-label { font-weight: 600; color: var(--tj-color-heading-primary); margin-bottom: 6px; }
.ob-form .form-control,
.ob-form .form-select {
  border: 1px solid var(--tj-color-border-1);
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 15px;
  color: var(--tj-color-heading-primary);
  background-color: var(--tj-color-common-white);
}
.ob-form .form-control:focus,
.ob-form .form-select:focus {
  border-color: var(--tj-color-theme-primary);
  box-shadow: 0 0 0 3px rgba(30, 138, 138, 0.12);
  outline: none;
}

/* --- Navigáció --- */
.ob-nav { display: flex; justify-content: space-between; align-items: center; margin-top: 34px; }
.ob-nav .ob-back {
  background: transparent;
  border: none;
  color: var(--tj-color-text-body);
  font-weight: 600;
  cursor: pointer;
  padding: 8px 4px;
}
.ob-nav .ob-back:hover { color: var(--tj-color-theme-primary); }
.ob-nav .ob-back[disabled] { visibility: hidden; }

/* --- Visszajelző sáv (jogcím-hozzáadás után) --- */
.ob-flash {
  display: flex; align-items: flex-start; gap: 10px;
  margin: 0 0 26px; padding: 14px 18px; border-radius: 10px;
  font-size: 0.95rem; line-height: 1.45;
}
.ob-flash i { margin-top: 2px; font-size: 1.05rem; }
.ob-flash-ok { background: rgba(30, 138, 138, 0.10); border-left: 3px solid var(--tj-color-theme-primary); color: var(--tj-color-heading-primary); }
.ob-flash-ok i { color: var(--tj-color-theme-primary); }
.ob-flash-warn { background: rgba(214, 158, 46, 0.12); border-left: 3px solid #d69e2e; color: var(--tj-color-heading-primary); }
.ob-flash-warn i { color: #d69e2e; }

/* --- Új jogcím hozzáadása szekció (2. iteráció) --- */
.ob-add-section {
  margin-top: 30px; padding-top: 26px;
  border-top: 1px dashed var(--tj-color-border-1);
}
.ob-add-title { font-size: 1.1rem; margin-bottom: 6px; color: var(--tj-color-heading-primary); }
.ob-add-title i { color: var(--tj-color-theme-primary); margin-right: 6px; }
.ob-add-group { margin-bottom: 14px; }
.ob-add-group-title {
  font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.04em;
  color: #fff; margin-bottom: 8px;
}
/* Kompakt „új jogcím" választó: CSS grid egyenletes oszlopokkal (nincs utolsó-sor-nyúlás, mint a flexnél). */
.ob-add-choices {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 10px;
}
.ob-add-choices .ob-choice-add { margin: 0; width: auto; max-width: none; }
/* Hosszú, egybefüggő szó (pl. „Államháztartási") ne lógjon ki a dobozból – szükség esetén törjön. */
.ob-choice-add .title { overflow-wrap: break-word; word-break: break-word; }
/* Az „add" kártyák szaggatott kerete elkülöníti a meglévő (kitöltött) jogcímektől; kompakt belső térköz. */
.ob-choice-add .service-item { border-style: dashed; padding: 14px 16px; }
.ob-choice-add.selected .service-item { border-style: solid; }
/* Új-jogcím kártya „×" (kiválasztás levétele) – csak kiválasztott állapotban látszik. */
.ob-choice-add .ob-choice-remove {
  position: absolute; top: 14px; right: 14px;
  width: 26px; height: 26px; border-radius: 50%; padding: 0;
  border: none; background: var(--tj-color-theme-primary);
  color: var(--tj-color-common-white); font-size: 0.8rem;
  display: none; align-items: center; justify-content: center;
  cursor: pointer; z-index: 2;
  transition: background 0.2s ease, transform 0.2s ease;
}
.ob-choice-add.selected .ob-choice-remove { display: inline-flex; }
.ob-choice-add .ob-choice-remove:hover { background: #163f5f; transform: scale(1.08); }

/* --- 3. lépés: mérlegképes szakterületek (meglévő ZÁROLVA / új HOZZÁADHATÓ bepipálással) --- */
.ob-szakterulet-list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.ob-szakterulet {
  display: inline-flex; align-items: center; gap: 10px; margin: 0;
  padding: 10px 14px; border: 1px solid var(--tj-color-border-1);
  border-radius: 10px; cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.ob-szakterulet input { margin: 0; width: 16px; height: 16px; cursor: pointer; }
.ob-szakterulet .ob-szakterulet-nev { color: #fff; }
.ob-szakterulet .ob-szakterulet-ic { margin-left: 2px; font-size: 0.8rem; }
.ob-szakterulet-add .ob-szakterulet-ic { color: var(--tj-color-theme-primary); }
.ob-szakterulet-add:hover { border-color: var(--tj-color-theme-primary); }
.ob-szakterulet-add:has(input:checked) { border-color: var(--tj-color-theme-primary); background: rgba(15, 107, 172, 0.06); }
/* Zárolt = MEGLÉVŐ („birtokolt") szakterület: erősen látszik (nem halvány), a lakat jelzi, hogy nem vehető le. */
.ob-szakterulet-locked { cursor: default; background: rgba(15, 107, 172, 0.06); border-color: var(--tj-color-theme-primary); }
.ob-szakterulet-locked .ob-szakterulet-nev { color: var(--tj-color-theme-primary); font-weight: 600; }
.ob-szakterulet-locked .ob-szakterulet-ic { color: var(--tj-color-theme-primary); }
.ob-szakterulet-locked input { cursor: not-allowed; accent-color: var(--tj-color-theme-primary); }
/* A Dashboard „Adataim módosítása" modal VILÁGOS hátterű; az onboarding sötét szekciójához szabott
   fehér szakterület-név (.ob-szakterulet .ob-szakterulet-nev { color:#fff }) ott olvashatatlan volna
   → a modalban a hozzáadható szakterület neve sötét. (A zárolt már theme-primary, az jó világos háttéren.) */
#profilModal .ob-szakterulet-add .ob-szakterulet-nev { color: #212529; }
/* A .dash-ghost-btn a SÖTÉT dashboardhoz fehér szövegű → a VILÁGOS modalban láthatatlan volna.
   A modalban látható, gomb-kinézetű változat (a „nincs jogcím" → onboarding CTA-hoz). */
#profilModal .dash-ghost-btn {
  display: inline-flex; align-items: center; gap: 6px; margin-top: 10px;
  color: #fff; background: var(--tj-color-theme-primary);
  border: 1px solid var(--tj-color-theme-primary); border-radius: 8px;
  padding: 9px 18px; font-weight: 600; text-decoration: none;
}
#profilModal .dash-ghost-btn:hover { color: #fff; background: var(--tj-color-heading-1, #0b4c7c); border-color: var(--tj-color-heading-1, #0b4c7c); }
#profilModal .dash-ghost-btn i { margin-right: 4px; }
/* A .dash-empty üres-állapot kártya VILÁGOS (#fff) hátterű → az itteni .dash-ghost-btn (fehér szöveg)
   is láthatatlan volt. Látható MÁSODLAGOS gomb (primary szöveg + keret) a primary CTA mellé. */
.dash-empty .dash-ghost-btn {
  display: inline-flex; align-items: center; gap: 6px;
  color: var(--tj-color-theme-primary); background: transparent;
  border: 1px solid var(--tj-color-theme-primary); border-radius: 8px;
  padding: 9px 18px; font-weight: 600; text-decoration: none;
}
.dash-empty .dash-ghost-btn:hover { color: #fff; background: var(--tj-color-theme-primary); border-color: var(--tj-color-theme-primary); }
/* „Ezeket a szakmai jogcímeit tartjuk nyilván…" – kiemelt callout + „Új jogcím hozzáadása" CTA a profil-modalban. */
.pm-jogcim-note {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  background: rgba(15, 107, 172, .07); border: 1px solid rgba(15, 107, 172, .25);
  border-left: 4px solid var(--tj-color-theme-primary); border-radius: 10px;
  padding: 14px 18px; margin-bottom: 16px;
}
.pm-jogcim-note-txt { color: #212529; font-size: .95rem; line-height: 1.5; }
.pm-jogcim-note-add { display: block; margin-top: 4px; color: #3a4753; }
.pm-jogcim-btn {
  display: inline-flex; align-items: center; gap: 6px; white-space: nowrap;
  background: var(--tj-color-theme-primary); color: #fff; border: none; border-radius: 8px;
  padding: 10px 18px; font-weight: 600; text-decoration: none;
}
.pm-jogcim-btn:hover { color: #fff; background: var(--tj-color-heading-1, #0b4c7c); }
/* Zárolt (readonly) nyilvántartási szám – modal ÉS onboarding (közös .ob-regszam-wrap). */
.ob-regszam-wrap input[readonly] { background: #f1f3f5; cursor: not-allowed; }
.ob-reg-locked { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; font-size: .82rem; color: rgba(255, 255, 255, .72); }

/* Zárolt (meglévő + nyilvántartási számmal rendelkező) jogcím-kártya: nem "pipálható ki", a lakat jelzi. */
.ob-choice-locked { cursor: default; }
.ob-choice-locked input { cursor: not-allowed; }
.ob-choice-locked .ob-choice-check i { color: var(--tj-color-theme-primary); }

/* --- Összegzés --- */
.ob-summary { list-style: none; padding: 0; margin: 0; }
.ob-summary li {
  display: flex; justify-content: space-between; gap: 16px;
  padding: 12px 0; border-bottom: 1px solid var(--tj-color-border-1);
}
.ob-summary li .ob-sum-label { color: var(--tj-color-text-body); }
.ob-summary li .ob-sum-value { font-weight: 600; color: var(--tj-color-heading-primary); text-align: right; }

/* ── Hero overlay: acélos-kék (a dashboard #1a4a6e→#0d2b45 palettája) a zöldes #0c1e21 helyett ──
   A main.css .tj-slider-item::after zöldes vízszintes gradiensét írjuk felül (a lexpraxis a main UTÁN tölt → nyer).
   Bal oldalon erős a fedés (a fehér szöveg olvashatóságához), jobbra kifut. */
.tj-slider-item { background-color: #081a2e; }
.tj-slider-item::after {
  background: linear-gradient(90deg, rgba(6,20,34,0.95) 10%, rgba(9,30,51,0.78) 55%, rgba(13,43,69,0.42) 100%);
}
/* Kreditfigyelő „Képzések szerint" – batch ZIP-sor (a képzés ÖSSZES igazolása egy fájlban), elválasztva a kredit-soroktól. */
.lp-cert-zip-row { margin-top: 6px; padding-top: 14px; border-top: 1px dashed rgba(255,255,255,0.16); }
.lp-cert-zip-row .lp-cert-info span i { color: #7fd6d0; }
/* ===== GYIK / Súgó oldal (/gyik) ===== */
.kb-help-card { display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid #c9cdd1; border-radius: 14px; padding: 18px 20px; height: 100%; text-decoration: none; color: var(--tj-color-heading-primary, #0c1820); transition: .2s ease; }
.kb-help-card:hover { border-color: #1e6e8a; box-shadow: 0 12px 30px rgba(12,24,32,.10); transform: translateY(-2px); }
.kb-help-ic { flex: 0 0 auto; width: 48px; height: 48px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: rgba(30,110,138,.10); color: #1e6e8a; font-size: 22px; }
.kb-help-title { font-weight: 600; font-size: 16px; flex: 1 1 auto; }
.kb-help-arrow { color: #1e6e8a; opacity: 0; transition: .2s; }
.kb-help-card:hover .kb-help-arrow { opacity: 1; }
.kb-faq-group { margin-bottom: 40px; scroll-margin-top: 110px; }
.kb-faq-group-title { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; color: var(--tj-color-heading-primary, #0c1820); }
.kb-faq-group-title i { color: #1e6e8a; }
.kb-help-contact { margin-top: 20px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; background: radial-gradient(circle at top left, #1a4a6e 0%, #0d2b45 100%); color: #fff; border-radius: 18px; padding: 28px 30px; }
.kb-help-contact h4 { color: #fff; margin: 0 0 4px; }
.kb-help-contact p { color: rgba(255,255,255,.8); margin: 0; }
.kb-help-contact-info { display: flex; flex-wrap: wrap; gap: 12px; }
.kb-help-contact-item { display: inline-flex; align-items: center; gap: 8px; color: #fff; text-decoration: none; border: 1px solid rgba(255,255,255,.28); border-radius: 30px; padding: 10px 18px; font-weight: 600; transition: .2s; }
.kb-help-contact-item:hover { border-color: #7fd6d0; color: #7fd6d0; }
.kb-help-contact-item i { color: #7fd6d0; }
@media (max-width: 575px) { .kb-help-contact { flex-direction: column; align-items: flex-start; } }