/* ============================================================
   nm-tokens.css — közös design-tokenek + alap tipográfia (.nm scope)
   A korábbi nm-redesign.css-ből kiemelve (Fázis 2 / token-konszolidáció).
   Ezt linkeli a homepage (layout_index) ÉS — a 2b-től — az aloldalak
   (layout_default) is, így a page-scoped nm-*.css fájloknak nem kell
   újradeklarálniuk a tokeneket. A .nm-<x>.nm wrapperek a .nm osztály
   révén megkapják ezeket a tokeneket + az alap tipográfiát.
   ============================================================ */

.nm {
  /* type */
  --nm-font-display: "Sora", system-ui, sans-serif;
  --nm-font-body: "Hanken Grotesk", system-ui, sans-serif;

  /* brand — a netmetro arculat színeivel illesztve */
  --nm-bg: #FDFBF4;
  --nm-surface: #ffffff;
  --nm-surface-2: #F6F2E6;
  --nm-ink: #1c1c1e;
  --nm-ink-soft: #5b5b57;
  --nm-line: #ece6d6;

  --nm-primary: #e15554;       /* a jelenlegi oldal brand pirosa */
  --nm-primary-ink: #ffffff;
  --nm-accent: #eaaf2d;        /* a meglévő oldal sárgája */
  --nm-navy: #023053;          /* a topbar navy színe */

  /* sötét sáv (pl. "Miért mi") — a topbar navyval rokon mély árnyalat */
  --nm-dark: #042a4d;
  --nm-dark-ink: #eaf1f8;
  --nm-dark-soft: #9db4cc;

  --nm-radius-lg: 26px;
  --nm-radius: 18px;

  --nm-shadow-sm: 0 6px 18px -10px rgba(4,42,77,.30);
  --nm-shadow: 0 26px 60px -28px rgba(4,42,77,.40);
  --nm-shadow-primary: 0 18px 40px -16px rgba(225,85,84,.55);

  --nm-container: 1140px;
  --nm-ease: cubic-bezier(.22,.61,.36,1);

  color: var(--nm-ink);
  font-family: var(--nm-font-body);
  font-size: 18px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
.nm *, .nm *::before, .nm *::after { box-sizing: border-box; }
.nm h1, .nm h2, .nm h3, .nm h4 { font-family: var(--nm-font-display); font-weight: 700; line-height: 1.08; letter-spacing: -.02em; margin: 0; color: var(--nm-ink); }
.nm p { margin: 0; }
.nm a { color: inherit; text-decoration: none; }
.nm svg { display: block; overflow: visible; }
.nm ::selection { background: var(--nm-primary); color: #fff; }

/* A navy footer (.nm-footer) NEM a .nm alatt van — a brand-színeket külön, csak
   custom property-ként kapja meg (alap tipográfiát NEM: a footernek saját betűje/
   mérete/színe van). A nm-footer.css var(--nm-*, #hex) párral használja; ahol a
   nm-tokens.css nem töltődik (blog/offer layout), a hex-fallback fedez → 0 regresszió. */
.nm-footer {
  --nm-primary: #e15554;
  --nm-accent: #eaaf2d;
  --nm-dark: #042a4d;
  --nm-dark-ink: #eaf1f8;
  --nm-dark-soft: #9db4cc;
}

/* ------------------------------------------------------------
   Ügyféllogó-marquee (.nm-logos) — KÖZÖS komponens (custom.css refaktor Fázis E, 2026-07-08).
   A custom.css-ből költözött ide. KÉT fogyasztója van: a redesignolt főoldal
   clients-szekciója (content_index_clients.php, HU+EN) ÉS a legacy aloldalak
   referencia-blokkja (hu/helpers/helper_references.php, ~35 oldal) — ezért nem az
   nm-home.css-ben van (azt csak a főoldal tölti), hanem itt (mindkét layout linkeli).
   ------------------------------------------------------------ */

.nm-logos {
    width: 100%;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.nm-logos__track {
    display: flex;
    width: max-content;
    align-items: center;
    animation: nm-logos-scroll 32s linear infinite;
    will-change: transform;
}

.nm-logos .slide {
    flex: 0 0 auto;
    margin: 0 28px;
    display: flex;
    align-items: center;
}

.nm-logos .slide img {
    height: 46px;
    width: auto;
    display: block;
}

@keyframes nm-logos-scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
    .nm-logos__track { animation: none; }
}

/* A Google reCAPTCHA futasidoben injektalt badge-enek elrejtese (a custom.css-beli szabaly
   parja — a layout_index NEM tolti a custom.css-t, ezert itt is kell!). display:none kell
   (nem opacity/visibility): a badge position:fixed + right:-186px, es a .nm-reveal transformalt
   oskartya "befogja" (containing block) -> reveal elott az urlapkartyabol kilogva ~157px-szel
   szethuzta az oldalt mobilon (feher sav jobbra, 2026-07-16 fix). Szandekosan NEM .nm-scope-olt:
   a badge-et a Google a body/form ala szurja be. Az !important kotelezo: a Google INLINE
   display:block-ot tesz az elemre, azt csak igy lehet feluluetni. */
.grecaptcha-badge {
    display: none !important;
}
