/* =====================================================================
   NEXT AKADÉMIA 2.0 — TUDÁSTÁR (KURZUSOK) OLDAL
   na-catalog.css · v1.12.0 · /kurzusok/ ÉS /bni-kurzusok/

   v1.12.0 — Négy kérés: (1) a mentett könyvjelző KÉK, nem BNI-piros;
   (2) a „További szűrők" csoportjai teljes szélességben állnak, így az
   Időtartam négy értéke egy sorba fér, és a panel jóval alacsonyabb;
   (3) a kártyán a cím két sor, a tünetsor egy sor helyét MINDIG lefoglalja,
   tehát egy sorban a kártyák belseje sem csúszik el; (4) a rendezés
   lenyílójából kikerült a pipa — a kiválasztott sort kék felirat, halvány
   kék háttér és egy bal oldali jelölősáv mutatja, a felirat pedig mind a
   négy soron pontosan középen.

   v1.11.0 — A `hidden` attribútum mindig nyer (2. blokk). A számbuborék és
   a találatsáv saját `display`-e felülírta a böngésző `[hidden]` szabályát,
   ezért a „Mentett" fülön 0-s buborék maradt kint, mentett kurzus nélkül is.

   v1.10.0 — A rendezés lenyílójában a kiemelő sáv a panel széléig ér (a
   lista vízszintes belső margója 0, a sornak nincs saját lekerekítése).
   A Szint-címke a kártyáról levéve — a mátrixban nincs hozzá adat.

   v1.9.0 — A rendezés lenyílója: a pipa KIVETT ELEM lett (abszolút
   pozícióban), tehát a feliratok mind a négy soron pontosan ugyanott
   állnak; a gomb és a lista pedig a leghosszabb felirathoz van méretezve,
   így a gomb nem nő-zsugorodik választáskor, és a lista sem lóg ki alóla.

   v1.8.0 — A rendezés lenyílójában a sorok KÖZÉPRE igazodnak, és a
   kiválasztott a pipával kezdődik: a rejtett pipa eddig `opacity: 0`-val
   ott maradt, és egy üres hasábot hagyott a lista bal szélén. A Szint
   szűrőcsoport kikerült a másodlagos szűrők közül (a kártyacímke marad).

   v1.7.0 — MENTETT KURZUSAIM. A kártya sarkába könyvjelző gomb (10.2), a
   fülsávba pedig harmadik fül. HÁROM fül miatt a sáv törhetővé vált, és a
   számbuborék is javult: a fehér-áttetsző buborék az inaktív, világos
   fülön gyakorlatilag láthatatlan volt (5. blokk).

   v1.6.0 — A pill-sáv lapozó nyilánál a KARIKA TELJES. A halványuló sáv
   a gomb `::before`-ja volt, `z-index: -1`-gyel — az viszont a saját eleme
   háttere és KERETE fölé fest, tehát kimosta a kék kör külső ívét. A fade
   átkerült a sávra (7.1), a rétegsorrend így: pillek → fade → nyíl.

   FEHÉR ALAP, SÖTÉT KÁRTYÁK.
   Az oldal háttere fehér, a kurzuskártya viszont sötét panel rajta —
   így teljesül egyszerre a két kérés: fehér alapháttér, ÉS a borítókép
   alatti szöveg fehér vagy kék, szürke sehol. Ha a kártya is világos
   lenne, a fehér szöveg olvashatatlan volna rajta.

   Tokenek: .wpsf-root      Scope: .wpsf-hero-premium.na-catalog

   ⚠ A HATÓKÖR-SZELEKTOR ALAKJA  (javítva: v1.4.1)
   A gyökérelem osztályai: `wpsf-root wpsf-hero-premium na-catalog`.
   A `.wpsf-hero-premium` és a `.na-catalog` tehát UGYANAZON AZ ELEMEN
   van, nem egymás alatt. Egy `.wpsf-hero-premium .na-catalog …` alakú
   szabály ezért SOHA nem illeszkedik. Ahol a hatókörhöz a `.na-catalog`
   is kell (box-sizing, gombok, fókuszgyűrű), ott MINDKÉT alak szerepel —
   előbb egy elemen, aztán egymás alatt:

       .wpsf-hero-premium.na-catalog X,
       .wpsf-hero-premium .na-catalog X

   Ahol csak a `.wpsf-hero-premium` a hatókör (a fájl túlnyomó része),
   ott a `:where(.wpsf-hero-premium) .na-cat-…` alak jó és marad.

   MIT NEM CSINÁL — és miért
   -------------------------------------------------------------------
   · Nincs benne `*`, `html`, `body` szelektor a saját blokkon kívül, és
     nincs globális `overflow` állítás. A landingnél ez már elrontotta a
     Divi mobil görgetését.
   · A `scrollbar-width: none` KIZÁRÓLAG a `.na-cat-pills` sávra kerül.
   · Két `!important`-os blokk van, mindkettő védekezés:
       – a 14. blokk a kártyaképeket védi az oldal globális
         `.alignleft{display:none!important}` szabályától,
       – a 15. blokk a Divi sor/szekció szélességét nyitja ki.
   · NINCS ZÁROLÁS-STÍLUS: se lakat, se halványítás. A hozzáférést
     kizárólag a 10.1 blokk színes címkéje jelzi.

   SPECIFICITÁS
   A `:where(...)` burkolat 0 specificitású, a mögötte álló osztálylánc
   viszont nem — így a fájl olvasható marad, mégis üt.

   MINDEN TAPPELHETŐ ELEM legalább 44 px magas.
   ===================================================================== */


/* =====================================================================
   1. TOKENEK
   ===================================================================== */
.wpsf-hero-premium.na-catalog,
.wpsf-hero-premium .na-catalog {
  --NA-BLACK: #000000;
  --NA-WHITE: #ffffff;
  --NA-OFF-WHITE: #F5F5F7;
  --NA-BLUE-LIGHT: #5B8EF5;
  --NA-BLUE: #356DF0;
  --NA-BLUE-DARK: #1240C4;
  --NA-BLUE-DEEP: #0E32A8;
  --NA-PURPLE-LIGHT: #A78BFF;
  --NA-PURPLE: #7C5CFF;
  --NA-PURPLE-DEEP: #4F33D4;
  --NA-GRADIENT-ACCENT: linear-gradient(135deg, #356DF0 0%, #7C5CFF 100%);
  --NA-FONT-DISPLAY: 'Poppins', sans-serif;
  --NA-FONT-BODY: 'Open Sans', sans-serif;
  --NA-RADIUS-SM: 6px;
  --NA-RADIUS-MD: 12px;
  --NA-RADIUS-LG: 20px;
  --NA-RADIUS-PILL: 999px;
  --NA-TRANSITION: 0.25s cubic-bezier(0.4,0,0.2,1);

  /* --- AZ OLDAL: fehér alap --- */
  --NA-CT-BG: #ffffff;
  --NA-CT-INK: #0A0E1A;              /* fő szöveg fehéren */
  --NA-CT-INK-SOFT: #39415A;         /* másodlagos szöveg fehéren */
  --NA-CT-SURFACE: #ffffff;          /* mezők, pillek alapja */
  --NA-CT-SURFACE-ALT: #F3F6FD;      /* halvány kék-fehér felület */
  --NA-CT-BORDER: #D7E0F5;
  --NA-CT-BORDER-STRONG: #9FB9EE;
  --NA-CT-SHADOW: 0 1px 2px rgba(10,14,26,0.05);

  /* --- A KÁRTYA: sötét panel a fehéren --- */
  --NA-CT-CARD: #0B0F1E;
  --NA-CT-CARD-UP: #131933;          /* hoverkor egy fokkal világosabb */
  --NA-CT-CARD-BORDER: rgba(11,15,30,0.10);
  --NA-CT-CARD-TEXT: #ffffff;        /* MINDEN kártyaszöveg fehér… */
  --NA-CT-CARD-LABEL: #7FA6F8;       /* …vagy kék. Szürke sehol. */
  --NA-CT-CARD-SHADOW: 0 2px 10px rgba(10,14,26,0.10);
  --NA-CT-CARD-SHADOW-UP: 0 14px 34px rgba(53,109,240,0.26);

  --NA-CT-GAP: 16px;         /* rács-térköz, töréspontonként nő */
  --NA-CT-PAD: 20px;         /* oldalsó margó */
  --NA-CT-TAP: 48px;         /* legkisebb tappelhető méret */
}


/* =====================================================================
   2. OLDALKERET + HÁTTÉR-DERENGÉS

   A landing kék→lila glow-ja fehér alapon durva lenne, ezért itt csak
   egy nagyon halvány kék derengés marad a fejléc mögött — épp annyi,
   hogy a lap ne legyen steril, de a szöveg kontrasztja ne romoljon.
   ===================================================================== */
.wpsf-hero-premium.na-catalog *,
.wpsf-hero-premium .na-catalog *,
.wpsf-hero-premium.na-catalog *::before,
.wpsf-hero-premium .na-catalog *::before,
.wpsf-hero-premium.na-catalog *::after,
.wpsf-hero-premium .na-catalog *::after {
  box-sizing: border-box;
}

/*
 * A `hidden` ATTRIBÚTUM MINDIG NYERJEN.
 *
 * A böngésző alap-stíluslapja `[hidden] { display: none }`-t ad, de az a
 * leggyengébb szabály: bármelyik saját `display` felülírja. A blokkban
 * több elemnek van sajátja (`display: inline-flex` a számbuborékon,
 * `display: flex` a találatsávon), és a JS meg a PHP ezeket `hidden`-nel
 * kapcsolgatja — így némán LÁTHATÓAK MARADTAK. Ezért volt kint a
 * „Mentett" fülön a 0-s buborék akkor is, amikor nincs mentett kurzus.
 *
 * Egyenként is meg lehetne fejelni mindet, de az minden új elemnél újra
 * elfelejthető. Ez az egy szabály az egész blokkra megoldja.
 *
 * `!important` — mert pontosan az a dolga, hogy minden saját `display`-t
 * megelőzzön. A hatóköre a katalógus blokkja, a lap többi részét nem éri.
 */
.wpsf-hero-premium.na-catalog [hidden],
.wpsf-hero-premium .na-catalog [hidden] {
  display: none !important;
}

.wpsf-hero-premium.na-catalog {
  position: relative;
  isolation: isolate;
  overflow: hidden;             /* csak ezen a blokkon, nem a body-n */
  background: var(--NA-CT-BG);
  color: var(--NA-CT-INK);
  font-family: var(--NA-FONT-BODY);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding: 36px 0 56px;
  padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px));
}

:where(.wpsf-hero-premium) .na-cat-glow {
  position: absolute;
  top: -320px;
  left: 50%;
  z-index: 0;
  width: min(1200px, 170vw);
  height: 620px;
  transform: translateX(-50%);
  pointer-events: none;
  background:
    radial-gradient(50% 50% at 36% 60%, rgba(53,109,240,0.10) 0%, rgba(53,109,240,0) 70%),
    radial-gradient(46% 46% at 66% 55%, rgba(124,92,255,0.07) 0%, rgba(124,92,255,0) 72%);
}

/*
 * A SZAKASZ SZÉLESSÉGE: a képernyő 70%-a.
 *
 * A `max()` egy alsó korlátot is ad: keskenyebb laptopon nem húzza össze
 * a tartalmat 70%-ra, hanem megtartja az eddigi 1180 px-et — a kérés az
 * volt, hogy semmit ne kelljen összezsugorítani. Széles monitoron viszont
 * tényleg a 70% érvényesül (1920 px-en ~1344 px, 2560-on ~1792 px).
 * A `min(100%, …)` pedig mobilon tartja bent az egészet.
 */
:where(.wpsf-hero-premium) .na-cat-inner {
  position: relative;
  z-index: 1;
  width: min(100%, max(70%, 1180px));
  margin: 0 auto;
  padding: 0 var(--NA-CT-PAD);
}


/* =====================================================================
   3. FEJLÉC-BLOKK  (eyebrow · H1 · alcím) — balra igazítva
   ===================================================================== */
:where(.wpsf-hero-premium) .na-cat-head {
  max-width: 720px;
  margin: 0 0 24px;
}

:where(.wpsf-hero-premium) .na-cat-eyebrow {
  margin: 0 0 10px;
  padding: 0;
  color: var(--NA-BLUE);
  font-family: var(--NA-FONT-DISPLAY);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1.2;
  text-transform: uppercase;
}

:where(.wpsf-hero-premium) .na-cat-h1 {
  margin: 0 0 12px;
  padding: 0;
  color: var(--NA-CT-INK);
  font-family: var(--NA-FONT-DISPLAY);
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

:where(.wpsf-hero-premium) .na-cat-lead {
  margin: 0;
  padding: 0;
  color: var(--NA-CT-INK-SOFT);
  font-size: 15px;
  line-height: 1.6;
}


/* =====================================================================
   4. GOMBOK
   ===================================================================== */
.wpsf-hero-premium.na-catalog .na-btn-primary,
.wpsf-hero-premium .na-catalog .na-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: var(--NA-CT-TAP);
  padding: 15px 30px;
  border: 2px solid transparent;
  border-radius: var(--NA-RADIUS-PILL);
  background: linear-gradient(180deg, #6b9fff 0%, #4278f5 30%, #1a4ed8 70%, #2860e8 100%);
  box-shadow: 0 6px 0 #0e32a8, 0 8px 20px rgba(26,78,216,.35), inset 0 1px 0 rgba(255,255,255,.35);
  color: #fff;
  font-family: var(--NA-FONT-DISPLAY);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.3px;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 1px 2px rgba(0,0,0,.25);
  cursor: pointer;
  user-select: none;
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
}

.wpsf-hero-premium.na-catalog .na-btn-primary:hover,
.wpsf-hero-premium .na-catalog .na-btn-primary:hover,
.wpsf-hero-premium.na-catalog .na-btn-primary:focus-visible,
.wpsf-hero-premium .na-catalog .na-btn-primary:focus-visible {
  transform: translateY(3px);
  box-shadow: 0 3px 0 #0e32a8, 0 4px 10px rgba(26,78,216,.28), inset 0 1px 0 rgba(255,255,255,.35);
  filter: brightness(1.06);
}

/* Fehér alapon a másodlagos gomb szövege KÉK, nem fehér — különben
   eltűnne a háttérben. */
.wpsf-hero-premium.na-catalog .na-btn-secondary,
.wpsf-hero-premium .na-catalog .na-btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--NA-CT-TAP);
  padding: 13px 26px;
  border: 2px solid var(--NA-BLUE);
  border-radius: var(--NA-RADIUS-PILL);
  background: transparent;
  color: var(--NA-BLUE-DARK);
  font-family: var(--NA-FONT-DISPLAY);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.2px;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, transform .12s ease;
}

.wpsf-hero-premium.na-catalog .na-btn-secondary:hover,
.wpsf-hero-premium .na-catalog .na-btn-secondary:hover,
.wpsf-hero-premium.na-catalog .na-btn-secondary:focus-visible,
.wpsf-hero-premium .na-catalog .na-btn-secondary:focus-visible {
  transform: translateY(-1px);
  background: rgba(53,109,240,0.08);
}

/* Egységes fókuszjelölés — billentyűzetes használatra. */
.wpsf-hero-premium.na-catalog a:focus-visible,
.wpsf-hero-premium .na-catalog a:focus-visible,
.wpsf-hero-premium.na-catalog button:focus-visible,
.wpsf-hero-premium .na-catalog button:focus-visible,
.wpsf-hero-premium.na-catalog input:focus-visible,
.wpsf-hero-premium .na-catalog input:focus-visible,
.wpsf-hero-premium.na-catalog select:focus-visible,
.wpsf-hero-premium .na-catalog select:focus-visible,
.wpsf-hero-premium.na-catalog [tabindex]:focus-visible,
.wpsf-hero-premium .na-catalog [tabindex]:focus-visible {
  outline: 2px solid var(--NA-BLUE);
  outline-offset: 3px;
}


/* =====================================================================
   5. FÜLEK — „Összes kurzus" / „Kurzusaim" / „Mentett"

   HÁROM fül fér el itt, nem kettő. A sáv ezért TÖRHET: széles képernyőn
   egy sorban áll mind a három, keskenyen a harmadik a második sorba
   csúszik — így egyik felirat sem préselődik össze, és nem kell
   vízszintesen görgethető fülsávot csinálni.
   ===================================================================== */
:where(.wpsf-hero-premium) .na-cat-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 0 0 20px;
  padding: 4px;
  border: 1px solid var(--NA-CT-BORDER);
  border-radius: var(--NA-RADIUS-PILL);
  background: var(--NA-CT-SURFACE-ALT);
  max-width: 560px;
}

:where(.wpsf-hero-premium) .na-cat-tab {
  flex: 1 1 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 14px;
  border: 0;
  border-radius: var(--NA-RADIUS-PILL);
  background: transparent;
  color: var(--NA-CT-INK-SOFT);
  font-family: var(--NA-FONT-DISPLAY);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
  transition: background .18s ease, color .18s ease;
}

:where(.wpsf-hero-premium) .na-cat-tab:hover {
  color: var(--NA-CT-INK);
}

:where(.wpsf-hero-premium) .na-cat-tab.is-active {
  background: var(--NA-BLUE);
  color: #fff;
  box-shadow: 0 2px 8px rgba(53,109,240,.30);
}

/* A fül ikonja (a Mentett könyvjelzője) a felirat előtt. */
:where(.wpsf-hero-premium) .na-cat-tab svg {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
}

/*
 * A számbuborék.
 *
 * Az aktív fül kék, ott a fehér-áttetsző buborék jó. INAKTÍV fülön
 * viszont a világos sávon a fehér 22% gyakorlatilag láthatatlan volt —
 * a szám ott csak csupasz szövegként ült. Az alapállapot ezért halvány
 * kék buborék, és a fehér-áttetsző csak az aktív fülön él.
 */
:where(.wpsf-hero-premium) .na-cat-tab-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: var(--NA-RADIUS-PILL);
  background: rgba(53,109,240,0.12);
  color: var(--NA-BLUE-DARK);
  font-size: 11px;
  font-weight: 700;
}

:where(.wpsf-hero-premium) .na-cat-tab.is-active .na-cat-tab-num {
  background: rgba(255,255,255,0.22);
  color: #fff;
}

/* Nagyon keskeny telefonon a fülsáv két sorba törik — ott a stadion-alak
   furcsán állna, ezért lágy sarkú doboz lesz belőle. */
@media (max-width: 420px) {
  :where(.wpsf-hero-premium) .na-cat-tabs { border-radius: var(--NA-RADIUS-LG); }
}

:where(.wpsf-hero-premium) .na-cat-panel[hidden] {
  display: none;
}


/* =====================================================================
   6. KERESŐ
   A `font-size: 16px` NEM ízlésbeli döntés: az iOS Safari 16 px alatt
   ráközelít a mezőre fókuszkor, és az egész elrendezés megugrik.
   ===================================================================== */
:where(.wpsf-hero-premium) .na-cat-search {
  margin: 0 0 14px;
}

:where(.wpsf-hero-premium) .na-cat-search-label {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

:where(.wpsf-hero-premium) .na-cat-search-box {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 460px;
  border: 1px solid var(--NA-CT-BORDER);
  border-radius: var(--NA-RADIUS-PILL);
  background: var(--NA-CT-SURFACE);
  box-shadow: var(--NA-CT-SHADOW);
  transition: border-color .18s ease, box-shadow .18s ease;
}

:where(.wpsf-hero-premium) .na-cat-search-box:focus-within {
  border-color: var(--NA-BLUE);
  box-shadow: 0 0 0 4px rgba(53,109,240,0.14);
}

:where(.wpsf-hero-premium) .na-cat-search-icon {
  flex: 0 0 auto;
  width: 19px;
  height: 19px;
  margin-left: 18px;
  color: var(--NA-BLUE);
}

:where(.wpsf-hero-premium) .na-cat-search-input {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 52px;
  padding: 12px 8px 12px 12px;
  border: 0;
  background: transparent;
  color: var(--NA-CT-INK);
  font-family: var(--NA-FONT-BODY);
  font-size: 16px;
  line-height: 1.4;
  appearance: none;
  -webkit-appearance: none;
}

:where(.wpsf-hero-premium) .na-cat-search-input:focus {
  outline: none;      /* a keret a dobozon jelenik meg */
}

:where(.wpsf-hero-premium) .na-cat-search-input::placeholder {
  color: #6B7492;
  opacity: 1;
}

/* A böngésző saját törlő ikonja idegen — sajátot adunk. */
:where(.wpsf-hero-premium) .na-cat-search-input::-webkit-search-cancel-button,
:where(.wpsf-hero-premium) .na-cat-search-input::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
}

:where(.wpsf-hero-premium) .na-cat-search-clear {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-right: 4px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--NA-CT-INK-SOFT);
  cursor: pointer;
  transition: color .18s ease, background .18s ease;
}

:where(.wpsf-hero-premium) .na-cat-search-clear:hover {
  background: var(--NA-CT-SURFACE-ALT);
  color: var(--NA-CT-INK);
}

:where(.wpsf-hero-premium) .na-cat-search-clear svg {
  width: 16px;
  height: 16px;
}

:where(.wpsf-hero-premium) .na-cat-search-clear[hidden] {
  display: none;
}


/* =====================================================================
   7. KATEGÓRIAVÁLASZTÓ — EGYSZERRE CSAK EGY

   A sáv EGYETLEN választó: `Mind`, a hat Cél, a `Webinár felvételek` és
   az `Ingyenes` egymást kizárják. Ezért `role="radiogroup"` és
   `aria-checked` — a képernyőolvasó is rádiógombként mondja be, nem
   ki-be kapcsolóként.

   Mobilon vízszintesen görgethető sáv, NEM tördelve. A görgetősáv
   elrejtése KIZÁRÓLAG itt történik.
   ===================================================================== */
:where(.wpsf-hero-premium) .na-cat-pills-outer {
  position: relative;
  /* A sáv kilóg az oldalsó margóból, hogy a szélén ne vágódjon le a
     pill — a tartalom viszont a margóhoz igazodik. */
  margin: 0 calc(var(--NA-CT-PAD) * -1) 12px;
}

:where(.wpsf-hero-premium) .na-cat-pills {
  display: flex;
  gap: 8px;
  padding: 2px var(--NA-CT-PAD);
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;               /* CSAK EZEN AZ ELEMEN */
}

:where(.wpsf-hero-premium) .na-cat-pills::-webkit-scrollbar {
  display: none;                        /* CSAK EZEN AZ ELEMEN */
}

:where(.wpsf-hero-premium) .na-cat-pill {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid var(--NA-CT-BORDER);
  border-radius: var(--NA-RADIUS-PILL);
  background: var(--NA-CT-SURFACE);
  color: var(--NA-CT-INK-SOFT);
  font-family: var(--NA-FONT-DISPLAY);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
  scroll-snap-align: start;
  transition: background .18s ease, border-color .18s ease, color .18s ease;
}

:where(.wpsf-hero-premium) .na-cat-pill:hover {
  border-color: var(--NA-CT-BORDER-STRONG);
  color: var(--NA-CT-INK);
}

:where(.wpsf-hero-premium) .na-cat-pill.is-active {
  border-color: var(--NA-BLUE);
  background: var(--NA-BLUE);
  color: #fff;
  box-shadow: 0 2px 10px rgba(53,109,240,.28);
}

/* A két nem-Cél választás (Webinár felvételek · Ingyenes) vizuálisan
   elkülönül — de a viselkedésük ugyanaz: egyszerre csak egy lehet aktív. */
:where(.wpsf-hero-premium) .na-cat-pill--alt {
  position: relative;
  margin-left: 12px;
}

:where(.wpsf-hero-premium) .na-cat-pill--alt::before {
  content: '';
  position: absolute;
  top: 9px;
  bottom: 9px;
  left: -12px;
  width: 1px;
  background: var(--NA-CT-BORDER);
}

:where(.wpsf-hero-premium) .na-cat-pill--alt svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
}

/* Az „Ingyenes" közvetlenül a „Webinár felvételek" után jön — a kettő
   közé nem kell újabb elválasztó vonal. */
:where(.wpsf-hero-premium) .na-cat-pill--free {
  margin-left: 8px;
}

:where(.wpsf-hero-premium) .na-cat-pill--free::before {
  content: none;
}

/* Utolsó pill után is maradjon levegő, hogy ne ragadjon a képernyő szélére. */
:where(.wpsf-hero-premium) .na-cat-pill:last-child {
  margin-right: var(--NA-CT-PAD);
}


/* ---------------------------------------------------------------------
   7.1 LAPOZÓ NYILAK a pill-sávhoz

   A sáv görgethetősége önmagában nem látszik — ezért a két szélén
   egy-egy nyíl ül, alatta elhalványuló háttérrel, hogy a pillek
   „alácsússzanak". A nyilak a sáv FÖLÉ vannak pozicionálva, nem mellé.

   A JS teszi őket láthatóvá, és csak akkor, ha van mit lapozni. A
   szélére érve az ottani nyíl eltűnik.
   --------------------------------------------------------------------- */
:where(.wpsf-hero-premium) .na-cat-pill-nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
  /* Teljes értékű, jól látható gomb: vastag kék keret, tömör fehér alap,
     határozott árnyék. Nem „halvány jelzés", hanem kattintható vezérlő. */
  border: 2px solid var(--NA-BLUE);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 4px 14px rgba(53,109,240,0.28);
  color: var(--NA-BLUE);
  cursor: pointer;
  transform: translateY(-50%);
  transition: background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

:where(.wpsf-hero-premium) .na-cat-pill-nav[hidden] {
  display: none;
}

/* Ráhúzva az EGÉSZ kör kékre vált, benne fehér nyíllal. */
:where(.wpsf-hero-premium) .na-cat-pill-nav:hover,
:where(.wpsf-hero-premium) .na-cat-pill-nav:focus-visible {
  background: var(--NA-BLUE);
  color: #fff;
  box-shadow: 0 6px 18px rgba(53,109,240,0.42);
  transform: translateY(-50%) scale(1.06);
}

:where(.wpsf-hero-premium) .na-cat-pill-nav:active {
  transform: translateY(-50%) scale(0.97);
}

:where(.wpsf-hero-premium) .na-cat-pill-nav svg {
  width: 20px;
  height: 20px;
}

:where(.wpsf-hero-premium) .na-cat-pill-nav--prev { left: 4px; }
:where(.wpsf-hero-premium) .na-cat-pill-nav--next { right: 4px; }

/*
 * AZ ELHALVÁNYULÓ SÁV — a SÁVON ül, nem a nyílon.
 *
 * Korábban a fade a gomb `::before`-ja volt, `z-index: -1`-gyel. Egy
 * negatív z-indexű pszeudoelem viszont a SAJÁT ELEME HÁTTERE ÉS KERETE
 * FÖLÉ fest (CSS 2.1, E. függelék: előbb a rétegképző elem háttere és
 * kerete, csak utána a negatív z-indexű gyerekek). A fehér átmenet így
 * kimosta a kék karika külső ívét — a kör nem látszott teljesnek.
 *
 * A sávra téve a rétegsorrend egyértelmű: pillek → fade (z-index: 1) →
 * nyíl (z-index: 2). A karika hiánytalan, a pillek mégis „alácsúsznak".
 *
 * `pointer-events: none`, tehát a mögötte lévő pill tappelhető marad.
 */
:where(.wpsf-hero-premium) .na-cat-pills-outer::before,
:where(.wpsf-hero-premium) .na-cat-pills-outer::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  width: 56px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}

:where(.wpsf-hero-premium) .na-cat-pills-outer::before {
  left: 0;
  background: linear-gradient(90deg, var(--NA-CT-BG) 45%, rgba(255,255,255,0) 100%);
}

:where(.wpsf-hero-premium) .na-cat-pills-outer::after {
  right: 0;
  background: linear-gradient(270deg, var(--NA-CT-BG) 45%, rgba(255,255,255,0) 100%);
}

/* Csak azon az oldalon látszik, ahol tényleg van még pill — ugyanaz a
   feltétel, ami az ottani nyilat is megjeleníti. A JS teszi ki. */
:where(.wpsf-hero-premium) .na-cat-pills-outer.can-prev::before { opacity: 1; }
:where(.wpsf-hero-premium) .na-cat-pills-outer.can-next::after { opacity: 1; }

:where(.wpsf-hero-premium) .na-cat-pills-outer.has-nav .na-cat-pills {
  padding-left: calc(var(--NA-CT-PAD) + 10px);
  padding-right: calc(var(--NA-CT-PAD) + 10px);
  scroll-padding-left: 56px;
  scroll-padding-right: 56px;
}


/* ---------------------------------------------------------------------
   7.2 EGÉRREL HÚZHATÓ SÁV

   A kurzor jelzi, hogy a sáv fogható, húzás közben pedig „markoló"
   lesz. A `user-select` kikapcsolása csak HÚZÁS KÖZBEN érvényes: így a
   pillek szövege egyébként kijelölhető marad.
   --------------------------------------------------------------------- */
:where(.wpsf-hero-premium) .na-cat-pills-outer.has-nav .na-cat-pills {
  cursor: grab;
}

:where(.wpsf-hero-premium) .na-cat-pills-outer.is-dragging .na-cat-pills {
  cursor: grabbing;
  scroll-snap-type: none;      /* húzás közben ne rángassa a snap */
  user-select: none;
}

:where(.wpsf-hero-premium) .na-cat-pills-outer.is-dragging .na-cat-pill {
  cursor: grabbing;
}


/* =====================================================================
   8. MÁSODLAGOS SZŰRŐK — alapból csukva

   Ezek TÖBBSZÖRÖS választásúak: a kategóriaválasztó egyválasztós
   szabálya a pill-sávra vonatkozik, nem ide. Egy szint és két tünet
   együtt értelmes szűkítés.
   ===================================================================== */
:where(.wpsf-hero-premium) .na-cat-more {
  margin: 0 0 18px;
}

:where(.wpsf-hero-premium) .na-cat-more-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
}

:where(.wpsf-hero-premium) .na-cat-more-toggle {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 10px 4px;
  border: 0;
  background: transparent;
  color: var(--NA-CT-INK-SOFT);
  font-family: var(--NA-FONT-DISPLAY);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: color .18s ease;
}

:where(.wpsf-hero-premium) .na-cat-more-toggle:hover,
:where(.wpsf-hero-premium) .na-cat-more-toggle[aria-expanded="true"] {
  color: var(--NA-CT-INK);
}

:where(.wpsf-hero-premium) .na-cat-more-toggle > svg:first-child {
  width: 17px;
  height: 17px;
  color: var(--NA-BLUE);
}

:where(.wpsf-hero-premium) .na-cat-more-chev {
  width: 15px;
  height: 15px;
  transition: transform .2s ease;
}

:where(.wpsf-hero-premium) .na-cat-more-toggle[aria-expanded="true"] .na-cat-more-chev {
  transform: rotate(180deg);
}

:where(.wpsf-hero-premium) .na-cat-more-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 7px;
  border-radius: var(--NA-RADIUS-PILL);
  background: var(--NA-BLUE);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}

:where(.wpsf-hero-premium) .na-cat-more-num[hidden] {
  display: none;
}

:where(.wpsf-hero-premium) .na-cat-clear {
  min-height: 44px;
  padding: 10px 4px;
  border: 0;
  background: transparent;
  color: var(--NA-BLUE-DARK);
  font-family: var(--NA-FONT-BODY);
  font-size: 14px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

:where(.wpsf-hero-premium) .na-cat-clear:hover {
  color: var(--NA-BLUE-DEEP);
}

:where(.wpsf-hero-premium) .na-cat-clear[hidden] {
  display: none;
}

/*
 * A CSOPORTOK EGYMÁS ALATT, TELJES SZÉLESSÉGBEN.
 *
 * Korábban három oszlopos rács volt. Ott az Időtartam négy hosszú
 * felirata („Közepes (30–90 perc)") nem fért ki egymás mellé, ezért
 * egymás alá tördelődött — a panel pedig fölöslegesen magas lett.
 * Teljes szélességben mind a négy elfér egy sorban.
 */
:where(.wpsf-hero-premium) .na-cat-more-body {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 10px;
  padding: 14px 16px;
  border: 1px solid var(--NA-CT-BORDER);
  border-radius: var(--NA-RADIUS-LG);
  background: var(--NA-CT-SURFACE-ALT);
}

:where(.wpsf-hero-premium) .na-cat-more-body[hidden] {
  display: none;
}

:where(.wpsf-hero-premium) .na-cat-group {
  margin: 0;
  padding: 0;
  border: 0;
}

:where(.wpsf-hero-premium) .na-cat-group-title {
  margin: 0 0 7px;
  padding: 0;
  color: var(--NA-BLUE-DARK);
  font-family: var(--NA-FONT-DISPLAY);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

:where(.wpsf-hero-premium) .na-cat-group-items {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

/* A jelölőnégyzet valójában egy pill. A natív input ott marad a
   fókusz és a képernyőolvasó kedvéért, csak vizuálisan rejtjük. */
:where(.wpsf-hero-premium) .na-cat-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 6px 13px 6px 11px;
  border: 1px solid var(--NA-CT-BORDER);
  border-radius: var(--NA-RADIUS-PILL);
  background: #fff;
  color: var(--NA-CT-INK-SOFT);
  font-size: 13.5px;
  line-height: 1.25;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, color .18s ease;
}

:where(.wpsf-hero-premium) .na-cat-check:hover {
  border-color: var(--NA-CT-BORDER-STRONG);
  color: var(--NA-CT-INK);
}

:where(.wpsf-hero-premium) .na-cat-check input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

:where(.wpsf-hero-premium) .na-cat-check-box {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border: 1.5px solid var(--NA-CT-BORDER-STRONG);
  border-radius: var(--NA-RADIUS-SM);
  background: #fff;
  color: transparent;
  transition: background .18s ease, border-color .18s ease, color .18s ease;
}

:where(.wpsf-hero-premium) .na-cat-check-box svg {
  width: 11px;
  height: 11px;
}

:where(.wpsf-hero-premium) .na-cat-check input:checked ~ .na-cat-check-box {
  border-color: var(--NA-BLUE);
  background: var(--NA-BLUE);
  color: #fff;
}

:where(.wpsf-hero-premium) .na-cat-check:has(input:checked) {
  border-color: var(--NA-BLUE);
  background: rgba(53,109,240,0.10);
  color: var(--NA-CT-INK);
}

/* :has() nélküli böngészőben a pill kerete nem vált, de a pipa
   megjelenik — a szűrő attól még pontosan látszik. */
:where(.wpsf-hero-premium) .na-cat-check input:focus-visible ~ .na-cat-check-box {
  outline: 2px solid var(--NA-BLUE);
  outline-offset: 3px;
}


/* ÉRINTŐN visszakapja a 44 px-es tappelhető magasságot — a kompaktabb
   méret az egeres használatnak szól. */
@media (max-width: 640px) {
  :where(.wpsf-hero-premium) .na-cat-check {
    min-height: 44px;
    padding: 9px 15px 9px 13px;
    font-size: 14px;
  }
}


/* =====================================================================
   9. TALÁLATSÁV (találatszám + rendezés) ÉS A RÁCS
   Mobil 1 · tablet 2 · desktop 3 oszlop, egyenlő magasságú kártyákkal.
   ===================================================================== */
:where(.wpsf-hero-premium) .na-cat-resultbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 16px;
  margin: 0 0 14px;
}

:where(.wpsf-hero-premium) .na-cat-count {
  margin: 0;
  padding: 0;
  color: var(--NA-CT-INK);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
}


/* ---------------------------------------------------------------------
   9.1 Rendezés

   Natív <select>: a mobil böngészők saját, jól használható választóját
   kapjuk meg ingyen, és nincs külső könyvtár. Csak a keretet öltöztetjük
   fel; a nyilat a böngészőtől elvesszük, és sajátot teszünk mögé.
   --------------------------------------------------------------------- */
/*
 * A rendezés-csoport a jobb oldalon ül, de NEM a lap széléhez tapadva:
 * a jobb margó tolja kissé balra, és mellé jobbra kerül az irányválasztó.
 */
:where(.wpsf-hero-premium) .na-cat-sort {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  margin-right: 4px;
}

:where(.wpsf-hero-premium) .na-cat-sort-label {
  color: var(--NA-CT-INK-SOFT);
  font-size: 13px;
  white-space: nowrap;
}

/* Az irányválasztó saját címkéje csak a képernyőolvasónak szól —
   a felületen a „Növekvő / Csökkenő" szöveg önmagáért beszél. */
:where(.wpsf-hero-premium) .na-cat-sort-label--sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* Az irányválasztó keskenyebb és halkabb: a rendezés a főszereplő. */
:where(.wpsf-hero-premium) .na-cat-sort-select--dir {
  background: var(--NA-CT-SURFACE-ALT);
  font-weight: 500;
}

:where(.wpsf-hero-premium) .na-cat-sort-box {
  position: relative;
  display: inline-flex;
  align-items: center;
}

:where(.wpsf-hero-premium) .na-cat-sort-select {
  min-height: 44px;
  padding: 10px 36px 10px 14px;
  border: 1px solid var(--NA-CT-BORDER);
  border-radius: var(--NA-RADIUS-PILL);
  background: #fff;
  color: var(--NA-CT-INK);
  font-family: var(--NA-FONT-DISPLAY);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color .18s ease;
}

:where(.wpsf-hero-premium) .na-cat-sort-select:hover {
  border-color: var(--NA-CT-BORDER-STRONG);
}

:where(.wpsf-hero-premium) .na-cat-sort-select option {
  background: #fff;
  color: var(--NA-CT-INK);
}

:where(.wpsf-hero-premium) .na-cat-sort-chev {
  position: absolute;
  right: 13px;
  width: 15px;
  height: 15px;
  color: var(--NA-CT-INK-SOFT);
  pointer-events: none;
}


/* ---------------------------------------------------------------------
   9.1/b A SAJÁT LENYÍLÓ

   A natív <select> ZÁRT állapotát a fenti szabályok felöltöztetik, a
   LENYÍLÓ LISTÁJÁT viszont az operációs rendszer rajzolja — azt a CSS
   nem éri el. Ezért a JS a select mellé épít egy gombot és egy listát;
   ez a blokk azokat öltözteti, a lap többi eleméhez igazítva:
   ugyanaz a lekerekítés, keret, betű és kék kiemelés.

   A <select> KÖZBEN A HELYÉN MARAD, ő az adat forrása — csak nem
   látszik. JS nélkül ő maga jelenik meg, és működik is.
   --------------------------------------------------------------------- */

/*
 * A rejtett select. `display: none` SZÁNDÉKOSAN nem: attól a `label[for]`
 * kapcsolat és a form-szemantika is elveszne. Ez a képernyőolvasó elől
 * elrejtett, de a DOM-ban élő megoldás.
 */
.wpsf-hero-premium.na-catalog .na-cat-select-native,
.wpsf-hero-premium .na-catalog .na-cat-select-native {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  opacity: 0;
  pointer-events: none;
}

/* A gomb a zárt select osztályait örökli, tehát a kerete, lekerekítése
   és betűje betűre ugyanaz. Itt csak az igazítást tesszük hozzá. */
:where(.wpsf-hero-premium) .na-cat-select-btn {
  display: inline-flex;
  align-items: center;
  width: 100%;
  text-align: left;
  white-space: nowrap;
}

/* Nyitva ugyanaz a kék keret + derengés, mint a keresőmezőn fókuszban —
   így a felület egy nyelvet beszél. */
:where(.wpsf-hero-premium) .na-cat-sort-box.is-open .na-cat-select-btn {
  border-color: var(--NA-BLUE);
  box-shadow: 0 0 0 3px rgba(53,109,240,0.15);
}

:where(.wpsf-hero-premium) .na-cat-sort-chev {
  z-index: 2;
  transition: transform .18s ease;
}

:where(.wpsf-hero-premium) .na-cat-sort-box.is-open .na-cat-sort-chev {
  transform: rotate(180deg);
}


/* --- maga a lista ---

   A VÍZSZINTES BELSŐ MARGÓ 0: a sorok kiemelő sávja a panel bal és jobb
   széléig ér. Korábban 6 px maradt mellette, és a sáv „lebegett" a
   kereten belül. Ezért nincs a sornak saját lekerekítése sem — a panel
   12 px-es sarka vágja le a szélső sorokat (`overflow` miatt működik).
   --------------------------------------------------------------------- */
:where(.wpsf-hero-premium) .na-cat-select-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 40;
  min-width: 100%;
  max-height: 320px;
  margin: 0;
  padding: 6px 0;
  overflow-y: auto;
  list-style: none;
  border: 1px solid var(--NA-CT-BORDER);
  border-radius: var(--NA-RADIUS-MD);
  background: #fff;
  box-shadow: 0 14px 34px rgba(10,14,26,0.16);
}

/* Divi némelyik sablonja felülírja a `hidden` alapértelmezését. */
:where(.wpsf-hero-premium) .na-cat-select-menu[hidden] {
  display: none;
}

:where(.wpsf-hero-premium) .na-cat-select-menu:focus-visible {
  outline: none;   /* a kijelölést az aktív sor mutatja, nem a keret */
}

/*
 * Az irányválasztó a sáv JOBB szélén ül: ha a listája balra igazodna,
 * keskeny képernyőn kilógna. Ezért ez az egy jobbra igazodik.
 */
:where(.wpsf-hero-premium) .na-cat-sort-box--dir .na-cat-select-menu {
  right: 0;
  left: auto;
}


/* --- egy sor a listában ---

   PIPA NINCS. A kiválasztott sort a SZÍN mutatja: kék felirat, halvány
   kék háttér, a bal szélén egy 3 px-es kék jelölősáv.

   Miért így: a pipa akárhogy is állt (helyet foglalva vagy abszolút
   pozícióban), vagy üres hasábot hagyott a lista szélén, vagy elcsúsztatta
   a feliratot a többihez képest. Kiemeléshez nem kell külön elem — a szín
   önmagában elvégzi, és így MIND A NÉGY FELIRAT PONTOSAN UGYANOTT ÁLL.

   A jelölősáv `::before`-ként ül a sor bal szélén, kivéve a szövegfolyamból,
   tehát a középre igazítást sem befolyásolja.
   --------------------------------------------------------------------- */
:where(.wpsf-hero-premium) .na-cat-select-opt {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  margin: 0;
  padding: 9px 14px;
  border-radius: 0;
  color: var(--NA-CT-INK);
  font-family: var(--NA-FONT-DISPLAY);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  transition: background .14s ease, color .14s ease;
}

/* Egér alatt ÉS billentyűs léptetéskor ugyanaz a kiemelés — a kettő
   ne mondjon mást. */
:where(.wpsf-hero-premium) .na-cat-select-opt:hover,
:where(.wpsf-hero-premium) .na-cat-select-opt.is-active {
  background: var(--NA-CT-SURFACE-ALT);
}

/* A KIVÁLASZTOTT sor: kék felirat, halvány kék háttér. */
:where(.wpsf-hero-premium) .na-cat-select-opt[aria-selected="true"] {
  background: rgba(53,109,240,0.10);
  color: var(--NA-BLUE-DARK);
  font-weight: 700;
}

:where(.wpsf-hero-premium) .na-cat-select-opt[aria-selected="true"]:hover {
  background: rgba(53,109,240,0.16);
}

/* A bal széli jelölősáv — kivéve a folyamból, tehát nem tol el semmit. */
:where(.wpsf-hero-premium) .na-cat-select-opt[aria-selected="true"]::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 3px;
  background: var(--NA-BLUE);
}

/* A pipa kikerült; a jelölés a színé. A `display: none` azért marad,
   mert a JS továbbra is beleteszi az elemet minden sorba. */
:where(.wpsf-hero-premium) .na-cat-select-tick {
  display: none;
}

/*
 * A GOMB ÉS A LISTA UGYANOLYAN SZÉLES.
 *
 * A gomb eddig a kiválasztott felirathoz igazodott, tehát „Ajánlott"-ról
 * „Időtartam"-ra váltva megnőtt, és ODÉBB TOLTA a mellette álló
 * irányválasztót. A lista pedig a leghosszabb sorhoz nőtt, így lógott ki
 * a gomb alól. Mindkettő a leghosszabb feliratra van méretezve.
 */
:where(.wpsf-hero-premium) .na-cat-sort-box {
  min-width: 152px;
}

:where(.wpsf-hero-premium) .na-cat-sort-box--dir {
  min-width: 132px;
}

:where(.wpsf-hero-premium) .na-cat-sort-select,
:where(.wpsf-hero-premium) .na-cat-select-btn {
  width: 100%;
}

/* Érintőn nagyobb sorok — a 40px kevés a hüvelykujjnak. */
@media (max-width: 640px) {
  :where(.wpsf-hero-premium) .na-cat-select-opt {
    min-height: 44px;
  }
}

/* ---------------------------------------------------------------------
   9.2 HALADÁS-ÖSSZEGZŐ a Kurzusaim fül tetején

   Ugyanaz a három szám, amit a Fiókom haladás-képernyője mutat — hogy a
   két felület ne mondjon mást. Világos kártyák a fehér lapon, kék
   számokkal: itt a szám a főszereplő, nem a felirat.
   --------------------------------------------------------------------- */
:where(.wpsf-hero-premium) .na-cat-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 0 0 22px;
}

:where(.wpsf-hero-premium) .na-cat-stat {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 16px 18px;
  border: 1px solid var(--NA-CT-BORDER);
  border-radius: var(--NA-RADIUS-LG);
  background: var(--NA-CT-SURFACE-ALT);
}

:where(.wpsf-hero-premium) .na-cat-stat-num {
  color: var(--NA-BLUE-DARK);
  font-family: var(--NA-FONT-DISPLAY);
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.05;
}

:where(.wpsf-hero-premium) .na-cat-stat-label {
  color: var(--NA-CT-INK-SOFT);
  font-size: 12.5px;
  line-height: 1.35;
}

:where(.wpsf-hero-premium) .na-cat-stat-bar {
  display: block;
  height: 5px;
  margin-top: 8px;
  overflow: hidden;
  border-radius: var(--NA-RADIUS-PILL);
  background: #DCE6FA;
}

:where(.wpsf-hero-premium) .na-cat-stat-bar-fill {
  display: block;
  height: 100%;
  border-radius: var(--NA-RADIUS-PILL);
  background: var(--NA-GRADIENT-ACCENT);
}

/* Nagyon keskeny telefonon három kocka egymás mellett olvashatatlan
   lenne — ott kettő + egy teljes szélességű. */
@media (max-width: 460px) {
  :where(.wpsf-hero-premium) .na-cat-stats { grid-template-columns: repeat(2, 1fr); }
  :where(.wpsf-hero-premium) .na-cat-stat:last-child { grid-column: 1 / -1; }
  :where(.wpsf-hero-premium) .na-cat-stat { padding: 13px 15px; }
  :where(.wpsf-hero-premium) .na-cat-stat-num { font-size: 24px; }
}


:where(.wpsf-hero-premium) .na-cat-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--NA-CT-GAP);
  margin: 0;
  padding: 0;
  list-style: none;
}

:where(.wpsf-hero-premium) .na-cat-card {
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
}

:where(.wpsf-hero-premium) .na-cat-card[hidden] {
  display: none;
}

/*
 * A kártya egésze kattintható, és SÖTÉT PANEL a fehér lapon: enélkül a
 * fehér kártyaszöveg olvashatatlan lenne.
 *
 * NINCS ZÁROLÁS: sehol nincs halványítás vagy lakat. Minden kártya
 * egyenrangúan jelenik meg, a hozzáférést a színes címke jelzi.
 */
:where(.wpsf-hero-premium) .na-cat-card-link {
  display: flex;
  flex-direction: column;       /* FELÜL A KÉP, ALATTA A SZÖVEG */
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--NA-CT-CARD-BORDER);
  border-radius: var(--NA-RADIUS-LG);
  background: var(--NA-CT-CARD);
  box-shadow: var(--NA-CT-CARD-SHADOW);
  color: var(--NA-CT-CARD-TEXT);
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}


/* =====================================================================
   10. A KÁRTYA BELSEJE — felül a borítókép, alatta a szöveg

   MINDEN SZÖVEG a képen alul FEHÉR vagy KÉK. Szürke árnyalat nincs:
   a halkabb szerepű elemeket (címke, meta) nem a szín halványításával
   különböztetjük meg, hanem betűmérettel, vastagsággal és betűközzel.
   ===================================================================== */
:where(.wpsf-hero-premium) .na-cat-thumb {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #0E1428;
}

/* aspect-ratio nélküli régi böngészőnek: 16:9 padding-trükk. */
@supports not (aspect-ratio: 16 / 9) {
  :where(.wpsf-hero-premium) .na-cat-thumb {
    height: 0;
    padding-bottom: 56.25%;
  }
}

:where(.wpsf-hero-premium) .na-cat-thumb-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s var(--NA-TRANSITION);
}

/* Generált fallback: Cél szerinti kék→lila gradiens + Cél-ikon.
   SOHA nem marad üres vagy törött képhely. */
:where(.wpsf-hero-premium) .na-cat-thumb--fallback {
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #356DF0, #7C5CFF);
}

:where(.wpsf-hero-premium) .na-cat-thumb--v1 { background: linear-gradient(135deg, #356DF0 0%, #5B8EF5 100%); }
:where(.wpsf-hero-premium) .na-cat-thumb--v2 { background: linear-gradient(135deg, #1240C4 0%, #4F33D4 100%); }
:where(.wpsf-hero-premium) .na-cat-thumb--v3 { background: linear-gradient(135deg, #0E32A8 0%, #356DF0 100%); }
:where(.wpsf-hero-premium) .na-cat-thumb--v4 { background: linear-gradient(135deg, #4F33D4 0%, #5B8EF5 100%); }
:where(.wpsf-hero-premium) .na-cat-thumb--v5 { background: linear-gradient(135deg, #356DF0 0%, #7C5CFF 100%); }
:where(.wpsf-hero-premium) .na-cat-thumb--v6 { background: linear-gradient(135deg, #1240C4 0%, #7C5CFF 100%); }

:where(.wpsf-hero-premium) .na-cat-thumb--fallback .na-cat-cel-icon {
  grid-area: 1 / 1;
  width: 40px;
  height: 40px;
  color: #fff;
}

:where(.wpsf-hero-premium) .na-cat-thumb-initial {
  grid-area: 1 / 1;
  align-self: end;
  justify-self: end;
  margin: 0 14px -12px 0;
  color: rgba(255,255,255,0.22);
  font-family: var(--NA-FONT-DISPLAY);
  font-size: 66px;
  font-weight: 800;
  line-height: 1;
  pointer-events: none;
  user-select: none;
}

:where(.wpsf-hero-premium) .na-cat-body {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  flex-direction: column;
  gap: 6px;
  padding: 14px 16px 16px;
}

/* Cél-eyebrow és hozzáférési címke egy sorban. */
:where(.wpsf-hero-premium) .na-cat-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

:where(.wpsf-hero-premium) .na-cat-card-cel {
  min-width: 0;
  overflow: hidden;
  color: var(--NA-CT-CARD-LABEL);
  font-family: var(--NA-FONT-DISPLAY);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.13em;
  line-height: 1.3;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

:where(.wpsf-hero-premium) .na-cat-card-title {
  margin: 0;
  padding: 0;
  color: var(--NA-CT-CARD-TEXT);
  font-family: var(--NA-FONT-DISPLAY);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.3;
  /* Legfeljebb két sor, hogy egy hosszú cím ne borítsa fel az
     egyenlő kártyamagasságot. */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

:where(.wpsf-hero-premium) .na-cat-card-symptom {
  display: block;
  overflow: hidden;
  color: var(--NA-CT-CARD-TEXT);
  font-size: 13px;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}


/*
 * EGYENLŐ MAGASSÁGÚ KÁRTYÁK EGY SORBAN.
 *
 * A rács sorai magukban is egyforma magasak, a kártyán BELÜL viszont
 * elcsúsztak az elemek: egysoros címnél a „KEZELT TÜNET" és a meta-sor
 * feljebb ült, mint a kétsoros cím mellett. Ezért a cím MINDIG két sor
 * helyét foglalja, a tünetsor pedig egyét — akkor is, ha rövidebb.
 * Így a három kártya azonos vonalakon fut.
 */
:where(.wpsf-hero-premium) .na-cat-card-title {
  min-height: 2.6em;      /* 2 sor · line-height 1.3 */
}

:where(.wpsf-hero-premium) .na-cat-card-symptom {
  min-height: 1.45em;     /* 1 sor · line-height 1.45 */
}
/* A „KEZELT TÜNET:" címke KÉK — nem halvány fehér. */
:where(.wpsf-hero-premium) .na-cat-card-symptom-label {
  margin-right: 5px;
  color: var(--NA-CT-CARD-LABEL);
  font-family: var(--NA-FONT-DISPLAY);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

/* A meta-sor a kártya aljára ül, hogy az egyenlő magasságú kártyákon
   egy vonalban legyen. A szöveg itt is teljes fehér. */
:where(.wpsf-hero-premium) .na-cat-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 12px;
  margin-top: auto;
  padding-top: 11px;
  color: var(--NA-CT-CARD-TEXT);
  font-size: 12px;
  line-height: 1.3;
}

:where(.wpsf-hero-premium) .na-cat-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}

/* Az ikonok kékek — így a meta-sor tagolt marad szürke nélkül is. */
:where(.wpsf-hero-premium) .na-cat-meta-item svg {
  width: 13px;
  height: 13px;
  flex: 0 0 auto;
  color: var(--NA-CT-CARD-LABEL);
}

:where(.wpsf-hero-premium) .na-cat-meta-item--type {
  padding: 2px 9px;
  border: 1px solid rgba(127,166,248,0.55);
  border-radius: var(--NA-RADIUS-PILL);
  color: var(--NA-CT-CARD-LABEL);
  font-size: 11px;
  font-weight: 600;
}


/* ---------------------------------------------------------------------
   10.1 HOZZÁFÉRÉSI CÍMKE

   Ez váltja a lakatot. Mindig UGYANOTT van a kártyán — a jobb felső
   sarokban, a Cél-eyebrow mellett.
   --------------------------------------------------------------------- */
:where(.wpsf-hero-premium) .na-cat-access {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border: 1px solid transparent;
  border-radius: var(--NA-RADIUS-PILL);
  font-family: var(--NA-FONT-DISPLAY);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.4;
  white-space: nowrap;
}

:where(.wpsf-hero-premium) .na-cat-access--ingyenes {
  border-color: var(--NA-BLUE-LIGHT);
  background: rgba(91,142,245,0.14);
  color: #fff;
}

:where(.wpsf-hero-premium) .na-cat-access--member {
  background: rgba(91,142,245,0.26);
  color: #CFE0FF;
}

:where(.wpsf-hero-premium) .na-cat-access--pro {
  background: var(--NA-GRADIENT-ACCENT);
  color: #fff;
}

:where(.wpsf-hero-premium) .na-cat-access--bni {
  background: #C4241F;
  color: #fff;
}



/* ---------------------------------------------------------------------
   10.2 A MENTÉS GOMBJA a kártyán

   A borítókép jobb felső sarkában ül, a kártyalinken KÍVÜL (a jelölésben
   is). Alapból halkan jelen van, mentve viszont BNI-pirosra vált és
   tömören kitöltődik — hogy a mentett kurzus egy pillantásból látszódjon
   a rácsban is.

   A gomb SZÖVEGE csak képernyőolvasónak szól: a rácson egy ikon
   beszédesebb, a felirat viszont kell, hogy a kapcsoló állapota
   felolvasható legyen.
   --------------------------------------------------------------------- */
:where(.wpsf-hero-premium) .na-cat-save {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(255,255,255,0.55);
  border-radius: 50%;
  background: rgba(11,15,30,0.55);
  color: #fff;
  cursor: pointer;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

/* A felirat csak a képernyőolvasónak. */
:where(.wpsf-hero-premium) .na-cat-save-label {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

:where(.wpsf-hero-premium) .na-cat-save-icon {
  width: 17px;
  height: 17px;
  fill: none;
  transition: fill .18s ease;
}

:where(.wpsf-hero-premium) .na-cat-save:hover,
:where(.wpsf-hero-premium) .na-cat-save:focus-visible {
  border-color: #fff;
  background: rgba(11,15,30,0.78);
  transform: scale(1.06);
}

/* MENTVE: tömör KÉK, kitöltött könyvjelzővel. A piros a BNI-oldal
   jelzőszíne — a Tudástáron a kék a rendszerszín, itt az kell. */
:where(.wpsf-hero-premium) .na-cat-save.is-saved {
  border-color: var(--NA-BLUE);
  background: var(--NA-BLUE);
  color: #fff;
}

:where(.wpsf-hero-premium) .na-cat-save.is-saved .na-cat-save-icon {
  fill: currentColor;
}

/* Mentett állapotban a ráhúzás ne halványítsa vissza sötétre — sötétebb kék. */
:where(.wpsf-hero-premium) .na-cat-save.is-saved:hover,
:where(.wpsf-hero-premium) .na-cat-save.is-saved:focus-visible {
  border-color: var(--NA-BLUE-DARK);
  background: var(--NA-BLUE-DARK);
}

@media (prefers-reduced-motion: reduce) {
  :where(.wpsf-hero-premium) .na-cat-save,
  :where(.wpsf-hero-premium) .na-cat-save:hover {
    transform: none;
    transition: none;
  }
}

/* A kártya tappelhető területe ne csússzon a gomb alá érintőn. */
@media (max-width: 640px) {
  :where(.wpsf-hero-premium) .na-cat-save {
    width: 44px;
    height: 44px;
  }
}

/* =====================================================================
   11. HALADÁSSÁV — MINDEN elkezdett kurzuson
   ===================================================================== */
:where(.wpsf-hero-premium) .na-cat-progress {
  display: block;
  margin-top: 9px;
}

:where(.wpsf-hero-premium) .na-cat-progress-track {
  display: block;
  height: 5px;
  overflow: hidden;
  border-radius: var(--NA-RADIUS-PILL);
  background: rgba(255,255,255,0.18);
}

:where(.wpsf-hero-premium) .na-cat-progress-fill {
  display: block;
  height: 100%;
  border-radius: var(--NA-RADIUS-PILL);
  background: linear-gradient(90deg, #5B8EF5, #A78BFF);
}

:where(.wpsf-hero-premium) .na-cat-progress-text {
  display: block;
  margin-top: 6px;
  color: var(--NA-CT-CARD-TEXT);
  font-size: 12px;
}

:where(.wpsf-hero-premium) .na-cat-progress.is-done .na-cat-progress-text {
  color: var(--NA-CT-CARD-LABEL);
  font-weight: 700;
}

/*
 * A „Folytatom" a kártyalinken KÍVÜL álló önálló link (egymásba ágyazott
 * <a> érvénytelen HTML). A kártya jobb alsó sarkában ül, fölötte lebegve.
 */
:where(.wpsf-hero-premium) .na-cat-continue {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 32px;
  padding: 6px 13px;
  border: 1px solid var(--NA-BLUE-LIGHT);
  border-radius: var(--NA-RADIUS-PILL);
  background: rgba(11,15,30,0.92);
  color: #fff;
  font-family: var(--NA-FONT-DISPLAY);
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: background .18s ease, border-color .18s ease;
}

:where(.wpsf-hero-premium) .na-cat-continue:hover {
  border-color: var(--NA-BLUE-LIGHT);
  background: var(--NA-BLUE);
}

:where(.wpsf-hero-premium) .na-cat-continue svg {
  width: 13px;
  height: 13px;
  transition: transform .18s ease;
}

:where(.wpsf-hero-premium) .na-cat-continue:hover svg {
  transform: translateX(2px);
}

/* Ahol „Folytatom" van, ott a meta-sor ne fusson alá. */
:where(.wpsf-hero-premium) .na-cat-card:has(.na-cat-continue) .na-cat-progress-text {
  padding-right: 104px;
}


/* =====================================================================
   12. ÜRES TALÁLAT
   ===================================================================== */
:where(.wpsf-hero-premium) .na-cat-empty {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  padding: 36px 24px;
  border: 1px dashed var(--NA-CT-BORDER-STRONG);
  border-radius: var(--NA-RADIUS-LG);
  background: var(--NA-CT-SURFACE-ALT);
}

:where(.wpsf-hero-premium) .na-cat-empty[hidden] {
  display: none;
}

:where(.wpsf-hero-premium) .na-cat-empty-text {
  margin: 0;
  padding: 0;
  color: var(--NA-CT-INK);
  font-size: 15px;
  line-height: 1.6;
}


/* =====================================================================
   13. (üres — itt volt a zárolt kurzus panelje, kikerült)
   ===================================================================== */


/* =====================================================================
   14. VÉDEKEZÉS AZ OLDAL SAJÁT CSS-E ELLEN
   Az oldal egyedi CSS-ében globálisan ott ül egy
   `.alignleft{display:none!important}`. Ha a WP bármelyik kártyaképre
   ráteszi ezt az osztályt, a kép eltűnik.
   ===================================================================== */
.wpsf-hero-premium.na-catalog .na-cat-thumb-img,
.wpsf-hero-premium.na-catalog .na-cat-thumb-img.alignleft,
.wpsf-hero-premium.na-catalog .na-cat-thumb-img.alignright,
.wpsf-hero-premium.na-catalog .na-cat-thumb-img.aligncenter {
  display: block !important;
  float: none !important;
  margin: 0 !important;
  max-width: 100% !important;
}


/* =====================================================================
   15. DIVI-KERET + FEJLÉC/LÁBLÉC TARTALÉK

   A Divi sor alap-szélessége mobilon is 80% — az oldal így ~300px-re
   szorulna. Kinyitjuk. A `body.na-catalog-body` osztályt a PHP teszi rá,
   és KIZÁRÓLAG a /kurzusok/ oldalra.
   ===================================================================== */
body.na-catalog-body .et_pb_section,
body.na-catalog-body .et_pb_row,
body.na-catalog-body .et_pb_row.et_pb_gutters3 {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.na-catalog-body .et_pb_section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: #ffffff;
}

body.na-catalog-body .et_pb_column {
  margin-bottom: 0 !important;
}

/*
 * A bal alsó lebegő „Oldal váltó" gomb és panelje a LÁBLÉC Theme
 * Builder sablonjából jön. Ha a láblécet a Theme Builderben leveszed,
 * ezek maguktól eltűnnek — ez a szabály csak tartalék.
 */
body.na-catalog-body.na-no-chrome .logo-toggle,
body.na-catalog-body.na-no-chrome #logo-panel,
body.na-catalog-body.na-no-chrome .mobile-dim {
  display: none !important;
}

/* Fejléc/lábléc CSS-elrejtése — TARTALÉK.
   A tiszta megoldás a Divi Theme Builder. Ez csak akkor lép életbe, ha
   a PHP-ben az NA_CAT_STRIP_CHROME true. */
body.na-no-chrome .et-l--header,
body.na-no-chrome .et-l--footer,
body.na-no-chrome #main-header,
body.na-no-chrome #top-header,
body.na-no-chrome #main-footer {
  display: none !important;
}

body.na-no-chrome #page-container {
  padding-top: 0 !important;
  margin-top: 0 !important;
}


/* =====================================================================
   16. TÖRÉSPONTOK — mobil-first, felfelé bővítve
   Rács: mobil 1 · tablet 2 (≥640px) · desktop 3 (≥981px)
   ===================================================================== */
@media (min-width: 480px) {
  :where(.wpsf-hero-premium) .na-cat-h1 { font-size: 32px; }
  :where(.wpsf-hero-premium) .na-cat-empty { align-items: center; text-align: center; }
}

@media (min-width: 640px) {
  .wpsf-hero-premium.na-catalog { --NA-CT-PAD: 28px; --NA-CT-GAP: 18px; padding-top: 48px; }
  :where(.wpsf-hero-premium) .na-cat-h1 { font-size: 38px; }
  :where(.wpsf-hero-premium) .na-cat-lead { font-size: 16px; }
  :where(.wpsf-hero-premium) .na-cat-grid { grid-template-columns: repeat(2, 1fr); }
  :where(.wpsf-hero-premium) .na-cat-more-body { padding: 16px 18px; }
  /* A Tünet-csoport 12 elemű — kapja meg a teljes sort. */
}

@media (min-width: 981px) {
  .wpsf-hero-premium.na-catalog { --NA-CT-GAP: 22px; padding: 64px 0 80px; }
  :where(.wpsf-hero-premium) .na-cat-h1 { font-size: 44px; }
  :where(.wpsf-hero-premium) .na-cat-head { margin-bottom: 32px; }
  :where(.wpsf-hero-premium) .na-cat-grid { grid-template-columns: repeat(3, 1fr); }

  :where(.wpsf-hero-premium) .na-cat-card-title { font-size: 16.5px; }

  /* Hover CSAK desktopon: finom emelkedés + kék glow. */
  :where(.wpsf-hero-premium) .na-cat-card-link:hover {
    transform: translateY(-4px);
    background: var(--NA-CT-CARD-UP);
    box-shadow: var(--NA-CT-CARD-SHADOW-UP);
  }
  :where(.wpsf-hero-premium) .na-cat-card-link:hover .na-cat-thumb-img {
    transform: scale(1.04);
  }
}


/* ---------------------------------------------------------------------
   16.1 A RENDEZÉS MOBILON — a két választó EGY SORBAN

   A rendezés-csoport három elemből áll: a „Rendezés" felirat, a
   rendezés-választó és az irány-választó. Keskeny telefonon ez a három
   nem fért ki egymás mellé, és az irány-választó ÖNÁLLÓ SORBA tördelt —
   a felirat pedig csak 380px alatt tűnt el, tehát egy 400px-es
   készüléken még ott volt, és épp ő okozta a törést.

   Megoldás 700px alatt:
     · a felirat elmarad (a két választó felirata magáért beszél),
     · a csoport TELJES SZÉLESSÉGŰ és NEM tördel,
     · a két választó egyenlő arányban osztozik a soron.
   --------------------------------------------------------------------- */
@media (max-width: 700px) {
  :where(.wpsf-hero-premium) .na-cat-sort-label:not(.na-cat-sort-label--sr) {
    display: none;
  }

  :where(.wpsf-hero-premium) .na-cat-sort {
    flex: 1 1 100%;
    flex-wrap: nowrap;
    margin-left: 0;
    margin-right: 0;
    gap: 8px;
  }

  /* A két doboz egyenlően osztozik; a `min-width: 0` nélkül a flex-elem
     nem tud a tartalmánál keskenyebb lenni, és megint kitörne a sorból. */
  :where(.wpsf-hero-premium) .na-cat-sort-box {
    flex: 1 1 0;
    min-width: 0;
  }

  /* Hosszú felirat („Kurzus sorrendje") ne feszítse szét a gombot:
     inkább levágjuk három ponttal. */
  :where(.wpsf-hero-premium) .na-cat-select-btn,
  :where(.wpsf-hero-premium) .na-cat-sort-select {
    width: 100%;
    min-width: 0;
    padding-right: 32px;
    padding-left: 12px;
    overflow: hidden;
    font-size: 13.5px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  :where(.wpsf-hero-premium) .na-cat-sort-chev {
    right: 10px;
  }

  /* A lenyíló a saját dobozánál szélesebb lehet, de a képernyőn belül
     kell maradnia — különben a jobb oldali választó listája kilógna. */
  :where(.wpsf-hero-premium) .na-cat-select-menu {
    max-width: calc(100vw - 2 * var(--NA-CT-PAD));
  }
}

/* Nagyon keskeny telefonon szűkebb belső margó. */
@media (max-width: 380px) {
  :where(.wpsf-hero-premium) .na-cat-card-meta { gap: 4px 10px; font-size: 11.5px; }
  :where(.wpsf-hero-premium) .na-cat-body { padding: 12px 13px 14px; }
  :where(.wpsf-hero-premium) .na-cat-sort-label { display: none; }
}


/* =====================================================================
   17. KEVESEBB MOZGÁS
   Ha a felhasználó kevesebbet kért, nem mozog semmi. A tartalom
   mindenből megmarad.
   ===================================================================== */
@media (prefers-reduced-motion: reduce) {
  :where(.wpsf-hero-premium) .na-cat-pills { scroll-behavior: auto; }

  :where(.wpsf-hero-premium) .na-cat-card-link,
  :where(.wpsf-hero-premium) .na-cat-thumb-img,
  .wpsf-hero-premium.na-catalog .na-btn-primary,
  .wpsf-hero-premium .na-catalog .na-btn-primary,
  .wpsf-hero-premium.na-catalog .na-btn-secondary,
  .wpsf-hero-premium .na-catalog .na-btn-secondary,
  :where(.wpsf-hero-premium) .na-cat-more-chev,
  :where(.wpsf-hero-premium) .na-cat-continue svg {
    transition: none;
  }

  :where(.wpsf-hero-premium) .na-cat-card-link:hover { transform: none; }
  :where(.wpsf-hero-premium) .na-cat-card-link:hover .na-cat-thumb-img { transform: none; }
  .wpsf-hero-premium.na-catalog .na-btn-primary:hover,
  .wpsf-hero-premium .na-catalog .na-btn-primary:hover { transform: none; }
}
