/* ============================================================
   netmetro — elegáns .nmh fejléc (a legacy Bootstrap-navbar váltója, 2026-07-16)
   Demó/terv: dev/menu-demo.html + dev/menu-csere-terv.md. Skin: világos (krém üveg),
   user-döntés. ÖNÁLLÓ: a header-partial linkeli (fontokkal együtt), minden layouton fut,
   ezért a brand-értékek var(--nm-*, #hex) fallbackkal (a .nm tokenek itt nem öröklődnek).
   position:sticky (NEM fixed) — normál flow-ban foglal helyet, az aloldalak tartalmát
   nem takarja, nem kell body-padding hangolás.
   ============================================================ */

/* color a gyökéren: a ".nmh button{color:inherit}" (0,1,1) erősebb a ".nmh-link"-nél (0,1,0),
   ezért a gombok innen öröklik a színt — enélkül a body szürkéje szivárogna be */
.nmh{position:sticky;top:0;left:0;right:0;z-index:1040;color:var(--nm-ink,#1c1c1e);font-family:"Hanken Grotesk",system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;}
.nmh *,.nmh *::before,.nmh *::after{box-sizing:border-box;}
.nmh a{color:inherit;text-decoration:none;}
.nmh a:hover{text-decoration:none;}
/* FIGYELEM: a gomb-normalizálás :where()-ben van, hogy a specificitása a komponens-szabályok
   ALATT maradjon — a sima ".nmh button" (0,1,1) felülütötte a ".nmh-link" (0,1,0) fontját és
   paddingjét (a menüpontok Hankenre estek és összementek — 2026-07-16 tanulság). */
.nmh :where(button){font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0;}
.nmh svg{display:block;}
.nmh-container{max-width:1140px;margin:0 auto;padding:0 24px;display:flex;align-items:center;}

/* ---------- felső utility-sáv (navy) — görgetésre becsukódik ---------- */
/* overflow csak becsukáskor hidden — normál állapotban a nyelvváltó lenyílója kilóghat a sávból */
.nmh-top{background:var(--nm-dark,#042a4d);color:var(--nm-dark-ink,#eaf1f8);font-size:13.5px;max-height:44px;transition:max-height .45s cubic-bezier(.22,.61,.36,1);}
.nmh.is-scrolled .nmh-top{max-height:0;overflow:hidden;}
.nmh-top .nmh-container{justify-content:space-between;gap:18px;height:44px;}
.nmh-top-slogan{display:flex;align-items:center;gap:8px;font-family:"Sora",system-ui,sans-serif;font-weight:600;letter-spacing:.02em;white-space:nowrap;}
.nmh-top-slogan .nmh-spark{color:var(--nm-accent,#eaaf2d);}
.nmh-top-links{display:flex;align-items:center;gap:22px;color:var(--nm-dark-soft,#9db4cc);white-space:nowrap;}
.nmh-top-links a{display:flex;align-items:center;gap:7px;color:var(--nm-dark-ink,#eaf1f8);transition:color .2s;}
.nmh-top-links a:hover{color:var(--nm-accent,#eaaf2d);}
.nmh-top-links svg{width:14px;height:14px;}
.nmh-top-hours{display:flex;align-items:center;gap:7px;}
.nmh-top-hours svg{width:14px;height:14px;}

/* ---------- fő menüsáv — krém üveghatás, görgetésre árnyék + zsugor ---------- */
.nmh-bar{background:rgba(253,251,244,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:background .3s,border-color .3s,box-shadow .3s;}
.nmh.is-scrolled .nmh-bar{background:rgba(253,251,244,.94);border-bottom-color:var(--nm-line,#ece6d6);box-shadow:0 14px 40px -24px rgba(4,42,77,.35);}
.nmh-bar .nmh-container{height:78px;gap:26px;transition:height .35s cubic-bezier(.22,.61,.36,1);}
.nmh.is-scrolled .nmh-bar .nmh-container{height:64px;}

/* logó — a meglévő teljes SVG, CSS-vezérelt navy fill-lel */
.nmh-logo{display:flex;align-items:center;flex:0 0 auto;}
.nmh-logo svg{height:34px;width:auto;}
.nmh-logo path{fill:var(--nm-dark,#042a4d);transition:fill .3s;}

/* ---------- desktop nav ---------- */
.nmh-nav{display:flex;align-items:center;gap:4px;margin-left:auto;}
.nmh-link{position:relative;display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:12px;font-family:"Sora",system-ui,sans-serif;font-weight:600;font-size:15px;color:var(--nm-ink,#1c1c1e);transition:color .2s,background .2s;white-space:nowrap;}
.nmh-link:hover{color:var(--nm-primary,#e15554);}
.nmh-link .nmh-caret{width:15px;height:15px;transition:transform .25s cubic-bezier(.22,.61,.36,1);opacity:.55;}
.nmh-link.is-active{color:var(--nm-primary,#e15554);}
.nmh-link.is-active::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2.5px;border-radius:2px;background:var(--nm-primary,#e15554);}

/* ---------- lenyíló panelek ---------- */
.nmh-item{position:relative;}
.nmh-item.is-open > .nmh-link{color:var(--nm-primary,#e15554);background:rgba(225,85,84,.07);}
.nmh-item.is-open > .nmh-link .nmh-caret{transform:rotate(180deg);}
.nmh-panel{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,10px);min-width:340px;background:#fff;border:1px solid var(--nm-line,#ece6d6);border-radius:18px;box-shadow:0 26px 60px -28px rgba(4,42,77,.40);padding:18px;opacity:0;visibility:hidden;transition:opacity .25s cubic-bezier(.22,.61,.36,1),transform .25s cubic-bezier(.22,.61,.36,1),visibility .25s;}
.nmh-panel::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px;}  /* hover-híd */
.nmh-item.is-open > .nmh-panel{opacity:1;visibility:visible;transform:translate(-50%,0);}
.nmh-item:last-of-type .nmh-panel{left:auto;right:0;transform:translate(0,10px);}
.nmh-item:last-of-type.is-open > .nmh-panel{transform:translate(0,0);}
.nmh-panel-2col{display:grid;grid-template-columns:1fr 1fr;gap:6px 26px;min-width:640px;}
.nmh-eyebrow{display:block;font-family:"Sora",system-ui,sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--nm-ink-soft,#5b5b57);padding:6px 12px 8px;}
.nmh-group{display:flex;flex-direction:column;gap:2px;}
.nmh-pitem{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:12px;transition:background .18s;}
.nmh-pitem:hover{background:var(--nm-surface-2,#F6F2E6);}
.nmh-pic{flex:0 0 auto;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:rgba(2,48,83,.08);color:var(--nm-navy,#023053);transition:background .18s,color .18s;}
.nmh-pitem:hover .nmh-pic{background:var(--nm-primary,#e15554);color:#fff;}
.nmh-pic svg{width:17px;height:17px;}
.nmh-pt{display:block;font-family:"Sora",system-ui,sans-serif;font-weight:600;font-size:14.5px;line-height:1.25;color:var(--nm-ink,#1c1c1e);}
.nmh-pd{display:block;font-size:12.5px;color:var(--nm-ink-soft,#5b5b57);margin-top:2px;line-height:1.4;}
/* kompakt (leírás nélküli) panel — Rólunk */
.nmh-panel-compact{min-width:430px;display:grid;grid-template-columns:1fr 1fr;gap:2px 10px;}
.nmh-panel-compact .nmh-pitem{align-items:center;padding:9px 12px;}
.nmh-panel-compact .nmh-pic{width:30px;height:30px;border-radius:9px;}
.nmh-panel-compact .nmh-pic svg{width:15px;height:15px;}
/* panel-lábléc CTA-sor */
.nmh-pfoot{grid-column:1 / -1;margin-top:12px;padding:12px 12px 2px;border-top:1px solid var(--nm-line,#ece6d6);display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:13.5px;color:var(--nm-ink-soft,#5b5b57);}
.nmh-pfoot a{font-family:"Sora",system-ui,sans-serif;font-weight:700;font-size:13.5px;color:var(--nm-primary,#e15554);display:flex;align-items:center;gap:6px;}
.nmh-pfoot a svg{width:14px;height:14px;transition:transform .2s;}
.nmh-pfoot a:hover svg{transform:translateX(3px);}

/* ---------- jobb oldali akciók ---------- */
.nmh-actions{display:flex;align-items:center;gap:14px;flex:0 0 auto;}
.nmh-cta{display:flex;align-items:center;gap:8px;background:var(--nm-primary,#e15554);color:#fff;font-family:"Sora",system-ui,sans-serif;font-weight:700;font-size:14.5px;padding:11px 20px;border-radius:999px;box-shadow:0 18px 40px -16px rgba(225,85,84,.55);transition:transform .2s cubic-bezier(.22,.61,.36,1),box-shadow .2s;}
.nmh-cta:hover{transform:translateY(-2px);box-shadow:0 22px 46px -16px rgba(225,85,84,.65);color:#fff;}
.nmh-cta svg{width:15px;height:15px;transition:transform .2s;}
.nmh-cta:hover svg{transform:translateX(3px);}

/* a meglévő nyelvváltó-helper (li.nm-lang) a navy topbarban ül — az eredeti sötét pill-stílusa
   pont oda való, csak a lista-wrapper kell + kisebb gomb, hogy a 44px-es sávba simuljon */
.nmh-lang-ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;}
.nmh-top .nm-lang-btn{padding:4px 9px;font-size:12px;}
/* a fehér lenyíló-menü linkjeit VÉDENI kell a .nmh-top-links a{világos} szabálytól (0,2,1),
   különben a nem-aktív nyelv (English) olvashatatlanul halvány a fehér kártyán */
.nmh-top-links .nm-lang-menu a{color:#1c1c1e;}
.nmh-top-links .nm-lang-menu a:hover{color:#1c1c1e;}
.nmh-top-links .nm-lang-menu a.is-active{color:var(--nm-primary,#e15554);}
/* a lenyíló MINDIG jobbra igazítva nyíljon — a viewporton túlra lógó (rejtett) menü mobilon
   széthúzta az oldalt, és a fix elemek (pl. süti-consent) a megnőtt layout viewporthoz méreteződtek */
.nmh-top .nm-lang-menu{right:0;left:auto;}

/* ---------- PIROS skin (.nmh.theme-red) — a VÉGLEGES skin (user-döntés, 2026-07-16) ----------
   A fejléc-partial $nmh_skin változójával kapcsolható (üres string = krém üveg-skin).
   A régi oldal logikája: navy topbar + piros menüsáv, fehér logó/linkek, arany aktív-jel. */
.nmh.theme-red .nmh-bar{background:rgba(225,85,84,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.nmh.theme-red.is-scrolled .nmh-bar{background:rgba(214,74,73,.97);border-bottom-color:rgba(255,255,255,.14);box-shadow:0 14px 40px -20px rgba(122,20,19,.6);}
.nmh.theme-red .nmh-logo path{fill:#fff;}
.nmh.theme-red .nmh-link{color:#fff;}
.nmh.theme-red .nmh-link:hover{color:#ffe3c4;}
.nmh.theme-red .nmh-item.is-open > .nmh-link{color:#fff;background:rgba(255,255,255,.14);}
.nmh.theme-red .nmh-link.is-active{color:#fff;}
.nmh.theme-red .nmh-link.is-active::after{background:var(--nm-accent,#eaaf2d);}
.nmh.theme-red .nmh-cta{background:#fff;color:var(--nm-primary,#e15554);box-shadow:0 18px 40px -16px rgba(122,20,19,.55);}
.nmh.theme-red .nmh-cta:hover{color:var(--nm-primary,#e15554);}
.nmh.theme-red .nmh-burger{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28);}
.nmh.theme-red .nmh-burger span{background:#fff;}

/* hamburger */
/* place-CONTENT (nem items): a 3 sor tartalom-méretű marad, a gap adja a vonalközt —
   place-items-szel a sorok a 44px-re feszültek szét, ~12px-es résekkel */
.nmh-burger{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--nm-line,#ece6d6);background:#fff;place-content:center;gap:6px;position:relative;z-index:1130;}
.nmh-burger span{display:block;width:18px;height:2px;border-radius:2px;background:var(--nm-ink,#1c1c1e);transition:transform .3s cubic-bezier(.22,.61,.36,1),opacity .2s;}
body.nmh-open .nmh-burger span:nth-child(1){transform:translateY(8px) rotate(45deg);}
body.nmh-open .nmh-burger span:nth-child(2){opacity:0;}
body.nmh-open .nmh-burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

/* ---------- mobil fiók ---------- */
.nmh-backdrop{position:fixed;inset:0;background:rgba(4,42,77,.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;z-index:1110;}
body.nmh-open .nmh-backdrop{opacity:1;visibility:visible;}
.nmh-drawer{position:fixed;top:0;right:0;bottom:0;width:min(360px,88vw);background:#FDFBF4;z-index:1120;transform:translateX(100%);transition:transform .38s cubic-bezier(.22,.61,.36,1);display:flex;flex-direction:column;box-shadow:-30px 0 60px -30px rgba(4,42,77,.5);color:var(--nm-ink,#1c1c1e);font-family:"Hanken Grotesk",system-ui,sans-serif;}
.nmh-drawer *,.nmh-drawer *::before,.nmh-drawer *::after{box-sizing:border-box;}
.nmh-drawer a{text-decoration:none;color:inherit;}
.nmh-drawer :where(button){font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0;}
.nmh-drawer svg{display:block;}
body.nmh-open .nmh-drawer{transform:translateX(0);}
.nmh-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 14px;}
.nmh-drawer-logo{font-family:"Sora",system-ui,sans-serif;font-weight:800;font-size:23px;letter-spacing:-.02em;color:var(--nm-dark,#042a4d);line-height:1;}
.nmh-drawer-logo b{color:var(--nm-primary,#e15554);}
/* fiók-bezáró X — a logó-sor jobb szélén; hoverre elfordul (desktopon látszik, mobilon nem árt) */
.nmh-drawer-close{width:40px;height:40px;border-radius:11px;border:1px solid var(--nm-line,#ece6d6);background:#fff;display:grid;place-items:center;color:var(--nm-ink,#1c1c1e);transition:transform .35s cubic-bezier(.22,.61,.36,1),color .2s,border-color .2s;}
.nmh-drawer-close svg{width:17px;height:17px;}
.nmh-drawer-close:hover{transform:rotate(90deg);color:var(--nm-primary,#e15554);border-color:#d8d0bd;}
.nmh-drawer-body{flex:1;overflow-y:auto;padding:6px 14px 20px;}
.nmh-m-item{border-bottom:1px solid var(--nm-line,#ece6d6);}
.nmh-m-link,.nmh-m-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:15px 10px;font-family:"Sora",system-ui,sans-serif;font-weight:600;font-size:16px;color:var(--nm-ink,#1c1c1e);text-align:left;}
.nmh-m-link.is-active{color:var(--nm-primary,#e15554);}
.nmh-m-btn .nmh-caret{width:17px;height:17px;opacity:.5;transition:transform .3s cubic-bezier(.22,.61,.36,1);}
.nmh-m-item.is-open .nmh-m-btn .nmh-caret{transform:rotate(180deg);}
.nmh-m-sub{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.22,.61,.36,1);}
.nmh-m-item.is-open .nmh-m-sub{max-height:640px;}
.nmh-m-sub a{display:flex;align-items:center;gap:11px;padding:10px 10px 10px 14px;font-size:15px;color:var(--nm-ink-soft,#5b5b57);border-radius:10px;transition:color .2s;}
.nmh-m-sub a:hover{color:var(--nm-primary,#e15554);}
.nmh-m-grouplabel{display:block;font-family:"Sora",system-ui,sans-serif;font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--nm-ink-soft,#5b5b57);padding:12px 10px 4px 14px;}
.nmh-drawer-foot{padding:16px 22px 24px;border-top:1px solid var(--nm-line,#ece6d6);display:flex;flex-direction:column;gap:14px;background:var(--nm-surface-2,#F6F2E6);}
.nmh-drawer-foot .nmh-cta{justify-content:center;}
.nmh-df-row{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--nm-ink-soft,#5b5b57);}
.nmh-df-row svg{width:15px;height:15px;color:var(--nm-navy,#023053);flex:0 0 auto;}
.nmh-df-row a{font-weight:600;color:var(--nm-ink,#1c1c1e);}
.nmh-df-lang{display:flex;align-items:center;gap:10px;font-size:14px;}
.nmh-df-lang .cur{font-weight:700;color:var(--nm-ink,#1c1c1e);}
.nmh-df-lang .sep{opacity:.4;}
.nmh-df-lang a{color:var(--nm-ink-soft,#5b5b57);font-weight:600;}
.nmh-df-lang a:hover{color:var(--nm-primary,#e15554);}
/* staggered belépő animáció */
.nmh-drawer .nmh-m-item,.nmh-drawer-foot{opacity:0;transform:translateX(24px);transition:opacity .4s cubic-bezier(.22,.61,.36,1),transform .4s cubic-bezier(.22,.61,.36,1);}
body.nmh-open .nmh-drawer .nmh-m-item,body.nmh-open .nmh-drawer-foot{opacity:1;transform:none;}
body.nmh-open .nmh-drawer .nmh-m-item:nth-child(1){transition-delay:.06s;}
body.nmh-open .nmh-drawer .nmh-m-item:nth-child(2){transition-delay:.11s;}
body.nmh-open .nmh-drawer .nmh-m-item:nth-child(3){transition-delay:.16s;}
body.nmh-open .nmh-drawer .nmh-m-item:nth-child(4){transition-delay:.21s;}
body.nmh-open .nmh-drawer .nmh-m-item:nth-child(5){transition-delay:.26s;}
body.nmh-open .nmh-drawer .nmh-m-item:nth-child(6){transition-delay:.31s;}
body.nmh-open .nmh-drawer-foot{transition-delay:.36s;}
body.nmh-lock{overflow:hidden;}

/* ---------- töréspontok ---------- */
@media (max-width:1060px){
  .nmh-nav{display:none;}
  .nmh-burger{display:grid;}
  /* a jobbra igazítást normál esetben a .nmh-nav margin-left:auto-ja adja — ha a nav rejtett,
     az actions-blokknak kell átvennie, különben a hamburger a logó mellé csúszna */
  .nmh-actions{margin-left:auto;}
}
@media (max-width:640px){
  .nmh-actions .nmh-cta{display:none;}
  .nmh-top-links .nmh-top-mail{display:none;}
  /* mobilon a portál-link a topbarból a fiókba költözik (.nmh-df-portal) */
  .nmh-top-links .nmh-top-portal{display:none;}
  .nmh-top{font-size:12.5px;}
  .nmh-top-slogan{display:none;}
  /* user-kérés (2026-07-16): mobilon balra a nyitvatartás, jobbra a telefonszám;
     a nyelvváltó a topbarból a mobil fiók aljára költözött (.nmh-df-lang) */
  .nmh-top-links{flex:1;justify-content:space-between;}
  .nmh-top .nmh-lang-ul{display:none;}
}
@media (max-width:400px){
  /* nagyon keskeny kijelzőn az "Ügyfélszolgálat:"/"Support:" címke lemarad, hogy kiférjen */
  .nmh-top-hours .nmh-th-label{display:none;}
}
@media (prefers-reduced-motion:reduce){
  .nmh *,.nmh-drawer,.nmh-backdrop{transition:none !important;}
}
