*{box-sizing:border-box}
.inner{max-width:var(--max);margin:0 auto;padding:10px 20px}
.inner p{font-size:0.8rem;max-width:90ch;margin:0.5rem auto;text-align:center;text-justify:inter-word;hyphens:auto}
.site-header .inner{display:flex;align-items:center;justify-content:flex-start;gap:50px}
.site-title{margin:0;line-height:1.1;font-size:32px}
.site-sub{margin:4px 0 0;color:var(--muted);font-size:.95rem}
.header-logo{display:block;height:auto;width:auto;max-height:calc(32px + 30px)}
h6 {display: block;
    font-size: 1.5em;
    margin-block-start: 0.83em;
    margin-block-end: 0.83em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: bold;
    unicode-bidi: isolate;}
.site-nav ul{list-style:none;margin:0 auto;max-width:var(--max);padding:0 20px;display:flex;gap:18px;flex-wrap:wrap}
.site-main{max-width:var(--max);margin:24px auto;padding:0 18px}
.lead{color:var(--muted);font-size:1.05rem}
.prose{white-space:pre-wrap}
.stack{display:grid;gap:10px}
input,textarea,button{font:inherit}
input,textarea{background:#0f131d;border:1px solid #1f2a3d;border-radius:8px;padding:10px;color:var(--text)}
button{background:#1a2336;border:1px solid #2a3144;border-radius:10px;padding:10px 14px;color:#cfe6ff;cursor:pointer}
button:hover{filter:brightness(1.05)}
.site-footer{border-top:0px solid #1e2230;margin-top:28px;padding:10px 0 30px}
.cookiebar{position:fixed;left:10px;right:10px;bottom:10px;background:#0f1117;border:1px solid #1e2230;border-radius:12px;padding:12px;display:flex;gap:10px;align-items:center;z-index:9999}
#backToTop{
  position: fixed;
  right: 14px;
  bottom: 14px;
  display: none;
  cursor: pointer;
  background-color: transparent;
  border: 0;                /* <-- ez legyen így */
}
.hero-copy .zoom:hover img,
.hero-copy .zoom a:focus img{transform:scale(1.3);filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}
.button, .btn, button{display:inline-block;padding:10px 14px;border:1px solid #2a3144;border-radius:12px;background:#1a2336;color:#cfe6ff;text-decoration:none;cursor:pointer;transition:transform .15s ease, filter .2s ease}
.button:hover, .btn:hover, button:hover{filter:brightness(1.05)}
.button:active, .btn:active, button:active{transform:translateY(1px)}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 system-ui,Segoe UI,Roboto,Arial}
.card{background:var(--panel);border:1px solid #1e2230;border-radius:14px;padding:16px 18px;margin:14px 0;box-shadow:0 2px 24px rgba(0,0,0,.25)}
.theme-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;border:1px solid #2a3144;background:var(--accent);color:var(--pill-text);cursor:pointer}
.site-header, .site-nav{position:sticky;top:0;z-index:50;backdrop-filter:saturate(140%) blur(6px)}
body.is-scrolled .site-nav{box-shadow:0 6px 20px rgba(0,0,0,.25)}
:root.theme-light{color-scheme:light;--bg:#ffffff;--panel:#f6f8fc;--text:#0a0c11;--muted:#4b5563;--accent:#e8eefc;--pill:#e8eefc;--pill-text:#0a4a8a;--nav-bg:rgba(255,255,255,.8);--nav-link:#0a0c11;--nav-hover:#eef3ff;--focus:#2f7ffc}
.site-nav{background:var(--nav-bg);border-top:1px solid #1e2230;border-bottom:1px solid #1e2230;transition:box-shadow .2s ease;backdrop-filter:saturate(140%) blur(6px)}
.site-nav a:hover{color:var(--acc);text-decoration:underline;background:var(--nav-hover)}
.site-nav a.active{background:var(--pill);color:var(--pill-text);text-decoration:none;box-shadow:0 1px 0 #2a3144 inset, 0 1px 12px rgba(0,0,0,.25)}
.site-nav a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.hero-copy .center{display:flex;justify-content:flex-end;align-items:stretch;gap:16px;flex-wrap:wrap}
.hero-copy .zoom{flex:0 1 180px}
.hero-copy .zoom a{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;text-decoration:none;color:inherit;transform:translateZ(0);padding:12px;background:transparent;border:none;border-radius:14px;box-shadow:none;min-height:120px;transition:transform .18s ease, box-shadow .18s ease, filter .18s ease}
.hero-copy .zoom img{display:block;height:64px;width:auto;transition:transform .22s ease, filter .22s ease;transform-origin:center}
.hero-copy .zoom a:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.14)}
.hero-copy .zoom a:focus-visible{outline:2px solid var(--focus, #5ea0ff);outline-offset:2px}
.site-header{position:sticky;top:0;z-index:60}
.header-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;max-width:var(--max);margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}
.brand-title{font-weight:700;font-size:1.6rem;line-height:1}
.header-tools{display:flex;align-items:center;gap:8px;margin-left:auto}
.theme-toggle, .lang-btn{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:12px;border:1px solid #2a3144;background:var(--accent, #1a2336);color:var(--pill-text, #cfe6ff);cursor:pointer;transition:filter .18s ease, transform .12s ease}
.theme-toggle:hover, .lang-btn:hover{filter:brightness(1.06)}
.theme-toggle:active, .lang-btn:active{transform:translateY(1px)}
.theme-toggle .sun{display:none}
:root.theme-light .theme-toggle .sun{display:inline}
:root.theme-light .theme-toggle .moon{display:none}
.site-nav a{display:block;padding:10px 14px;color:var(--nav-link);text-decoration:none;border-radius:10px;transition:background .18s ease, color .18s ease, box-shadow .18s ease}
.lang-dialog{width:min(92vw, 420px);background:var(--panel, #121826);color:var(--text, #e5ecff);border:1px solid #2a3144;border-radius:14px;margin:10vh auto 0;padding:12px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.lang-close{width:36px;height:36px;border-radius:10px;border:1px solid #2a3144;background:var(--accent, #1a2336);color:var(--pill-text, #cfe6ff);cursor:pointer}
.lang-body{display:grid;gap:10px;padding:8px 6px 4px}
.lang-item{display:block;padding:10px 12px;border-radius:10px;text-decoration:none;color:inherit;background:transparent;border:1px solid #2a3144}
.lang-item:hover{background:#161b28}
:root.theme-light .lang-dialog{background:#ffffff;color:#0a0c11;border-color:#dde3f0}
:root.theme-light .lang-close{background:#e8eefc;color:#0a4a8a;border-color:#d3dbef}
:root.theme-light .lang-item{border-color:#d3dbef}
:root.theme-light .lang-item:hover{background:#eef3ff}
.lang-modal{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9999;display:none;width:100vw;min-height:100vh;animation:langFadeIn .28s ease-out}
:root{--bg:#0b0c10;--card:#111218;--muted:#aab2c0;--text:#e5ecff;--acc:#7cc7ff;--max:1100px;color-scheme:dark;--panel:#121826;--accent:#1a2336;--pill:#1a2336;--pill-text:#cfe6ff;--nav-bg:rgba(10,12,17,.65);--nav-link:#e5ecff;--nav-hover:#161b28;--focus:#5ea0ff;--lang-bg:#ffffff;--lang-text:#0a0c11;--lang-muted:#4b5563;--lang-border:#dfe6f3;--lang-hover:#eef3ff;--lang-accent:#2f7ffc}
:root:not(.theme-light){--lang-bg:#121826;--lang-text:#e5ecff;--lang-muted:#aab2c0;--lang-border:#2a3144;--lang-hover:#161b28;--lang-accent:#5ea0ff}
.lang-modal-content, .lang-dialog{position:relative;width:min(92vw, 360px);margin:10vh auto;border-radius:14px;padding:22px 18px;box-shadow:0 24px 60px rgba(0,0,0,.35);animation:langPop .22s ease-out;background:var(--lang-bg);color:var(--lang-text);border:1px solid var(--lang-border)}
.lang-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 6px 8px;margin-bottom:8px}
.lang-head h3{margin:0;font-size:1.1rem}
.close-modal, #closeLangModal{position:absolute;top:8px;right:10px;width:36px;height:36px;border-radius:10px;border:1px solid var(--lang-border);background:transparent;color:var(--lang-accent);font-size:1.4rem;line-height:1;cursor:pointer}
.close-modal:hover, #closeLangModal:hover{background:var(--lang-hover)}
.close-modal:focus-visible, #closeLangModal:focus-visible{outline:2px solid var(--lang-accent);outline-offset:2px}
.lang-list{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:8px}
.lang-list li{margin:0}
.lang-list a, .lang-item{display:inline-flex;align-items:center;gap:10px;padding:.48rem .6rem;border-radius:8px;color:var(--lang-text);text-decoration:none;transition:background-color .16s ease, color .16s ease, box-shadow .16s ease}
.lang-list a:hover, .lang-item:hover{background:var(--lang-hover)}
.lang-list img{width:24px;height:auto;border-radius:3px;box-shadow:0 0 2px rgba(0,0,0,.2)}
.lang-list a.is-active{box-shadow:0 0 0 2px var(--lang-accent) inset}

@media (max-width: 640px){
.hero-copy .center{justify-content:center}
}

@media (max-width: 900px){
.inner, .card .inner{display:block !important}
.inner img, .card img{max-width:100%;height:auto}
}

@media (max-width: 900px){
.card .hero{grid-template-columns:1fr !important}
.card .hero .hero-copy{order:1}
.card .hero .hero-media{order:2}
.card .hero .hero-media img{width:30%;height:auto}
}

@media (max-width: 640px){
.hero-copy .center{justify-content:center}
}

@media (max-width:720px){
.header-bar{padding:8px 12px}
.brand-title{font-size:1.3rem}
}

@media (prefers-reduced-motion: reduce){
.lang-modal{animation:none}
}

@media (prefers-reduced-motion: reduce){
.lang-modal-content, .lang-dialog{animation:none}
}

@media (max-width:420px){
.lang-modal-content, .lang-dialog{margin:8vh auto}
}

@keyframes langFadeIn{from{opacity:0} to{opacity:1}}

@keyframes langPop{from{ transform:translateY(6px) scale(.98); opacity:.8 }
  to{ transform:translateY(0) scale(1); opacity:1 }}
/* ===== HEADER: 1 sor minden nézetben, egységes magasság ===== */
.site-header .header-bar,
.site-header .inner{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px;
  flex-wrap:nowrap !important;          /* NE törjön új sorba */
  min-height:64px;                       /* egységes fejléc-magasság */
}

/* bal oldal: márka fix sorban marad */
.site-header .brand{
  display:flex; align-items:center; gap:10px;
  text-decoration:none; color:inherit;
  flex:0 0 auto;                         /* ne nyúljon, ne törjön */
  min-width:0;                           /* hogy az ellipsis működjön */
}
.site-header .brand img{
  height:40px; width:auto; max-width:100%;
}
.site-header .brand-title{
  font-weight:700; line-height:1;
  /* skálázódó, de plafonozott betűméret; keskenyen is befér */
  font-size:clamp(1.05rem, 2.2vw + .4rem, 1.6rem);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  max-width:60vw;                        /* maradjon hely a gomboknak */
}

/* jobb oldal: gombok mindig egy sorban, azonos méret */
.site-header .header-tools{
  display:flex; align-items:center; gap:8px;
  margin-left:auto; flex:0 0 auto;       /* NE törjön */
}
.site-header .theme-toggle,
.site-header .lang-btn{
  display:inline-flex; align-items:center; justify-content:center;
  height:40px; min-width:40px; padding:0 12px;
  border-radius:12px; border:1px solid #2a3144;
  background:var(--accent, #1a2336); color:var(--pill-text, #cfe6ff);
  cursor:pointer; transition:filter .18s ease, transform .12s ease;
}

/* tablet: kicsit kisebb logo, cím kapjon több férőhelyet */
@media (max-width: 900px){
  .site-header .brand img{ height:32px; }
  .site-header .brand-title{ max-width:55vw; }
}

/* mobil: még kisebb logo, de továbbra is 1 sor; cím rövidülhet ellipsisszel */
@media (max-width: 480px){
  .site-header .brand img{ height:28px; }
  .site-header .brand-title{ max-width:50vw; }
}

/* (opcionális) extra-keskeny nézetben csak logó + gombok, cím elrejtése
   vedd ki, ha MINDENKÉPP kell a cím is keskenyen */
@media (max-width: 340px){
  .site-header .brand-title{ display:none; }
}

/* a NAV ne legyen sticky külön, így nem „duplán ragad” és nem tolja le a sort */
.site-nav{ position:relative !important; top:auto !important; z-index:auto !important; }

/* ===== ADMIN LOGIN MODAL (nem ütközik a nyelvi modaloddal) ===== */
.admin-modal{
  display:none; position:fixed; inset:0; z-index:10000;
  width:100vw; height:100vh; overflow:auto;
  background:rgba(0,0,0,.45);
  padding:60px 12px 24px;
  animation: adminFadeIn .28s ease-out;
}
@keyframes adminFadeIn{ from{opacity:0} to{opacity:1} }
@media (prefers-reduced-motion: reduce){ .admin-modal{ animation:none } }

.admin-modal-content{
  background:#fefefe; color:#000; width:300px; max-width:92vw;
  margin:5% auto 8% auto; border:1px solid #888; border-radius:20px;
  box-shadow:10px 10px 10px rgba(0,0,0,.8); overflow:hidden;
}
.admin-modal-content.animate{ animation: adminZoom .26s ease-out }
@keyframes adminZoom{ from{ transform:scale(.96); opacity:.85 } to{ transform:scale(1); opacity:1 } }

.imgcontainer{ text-align:center; margin:20px 0 12px 0; position:relative }
img.avatar{ width:50%; max-width:120px; border-radius:50% }

.modalcontainer{ padding:16px 18px 22px 18px }
.modalcontainer input[type=text],
.modalcontainer input[type=password]{
  width:100%; padding:12px 14px; margin:8px 0;
  display:inline-block; border:1px solid #ccc; box-sizing:border-box;
  color:#000; background:#fff; border-radius:8px;
}

/* Bezáró X gomb */
.admin-close{
  position:absolute; top:8px; right:10px;
  width:36px; height:36px; border-radius:10px;
  border:1px solid rgba(0,0,0,.25);
  background:#fff; color:#000; font-size:24px; line-height:1;
  cursor:pointer;
}
.admin-close:hover,.admin-close:focus {
		  color: red;
		  cursor: pointer;
		}

/* Admin trigger gomb a fejlécben – a többihez igazítva */
.admin-btn{
  display:inline-flex; align-items:center; justify-content:center;
  height:40px; min-width:40px; padding:0 12px;
  border-radius:12px; border:1px solid #2a3144;
  background:var(--accent, #1a2336); color:var(--pill-text, #cfe6ff);
}
.admin-btn:hover{ filter:brightness(1.06) }

/* kis képernyőn igazítás */
@media (max-width:480px){
  .admin-modal{ padding-top:40px }
}
/* ===== MODAL CLOSE: nagy, piros, tökéletesen középre igazított X ===== */
:root{
  --close-size: 44px;
  --close-red: #ff3b3b;
}

.close-modal,
#closeLangModal,
.admin-close{
  position: absolute;
  top: 10px;
  right: 12px;

  width: var(--close-size);
  height: var(--close-size);
  border-radius: 50%;

  display: grid;                 /* középre igazítás minden irányból */
  place-items: center;

  border: 2px solid var(--close-red);
  background: transparent;
  color: var(--close-red);
  font-size: 28px;               /* nagy X */
  line-height: 1;
  font-weight: 700;
  cursor: pointer;

  box-shadow: none;
  transition: background .15s ease, box-shadow .15s ease, transform .12s ease;
}

/* hover/active/focus állapotok */
.close-modal:hover,
#closeLangModal:hover,
.admin-close:hover{
  background: rgba(255, 59, 59, .12);
  box-shadow: 0 6px 18px rgba(255, 59, 59, .22);
  transform: translateY(-1px);
}
.close-modal:active,
#closeLangModal:active,
.admin-close:active{
  transform: scale(.98);
}
.close-modal:focus-visible,
#closeLangModal:focus-visible,
.admin-close:focus-visible{
  outline: 3px solid rgba(255, 59, 59, .6);
  outline-offset: 2px;
}

/* nagyon pici kijelzőn kicsit kisebb ikon */
@media (max-width: 360px){
  :root{ --close-size: 30px; }
  .close-modal, #closeLangModal, .admin-close{ font-size: 20px; }
}
/* --- Close gomb: valódi, középre igazított X két vonalból --- */
:root{
  --close-size: 34px;
  --close-red: #ff3b3b;
  --close-thickness: 2.5px;
}

.close-modal,
#closeLangModal,
.mobile-close,
.admin-close{
  position: absolute;
  top: 10px;
  right: 12px;
  width: var(--close-size);
  height: var(--close-size);
  border-radius: 50%;
  border: 2px solid var(--close-red);
  background: transparent;
  cursor: pointer;

  /* a gombban lévő „×” karaktert elrejtjük, hogy ne zavarjon a középhez képest */
  font-size: 0;
  line-height: 0;

  box-shadow: none;
  transition: background .15s ease, box-shadow .15s ease, transform .12s ease;
  /* a vonalak pozicionálásához */
  position: absolute;
}

/* az X két szára */
.close-modal::before, .close-modal::after,
.mobile-close::before, .mobile-close::after,
#closeLangModal::before, #closeLangModal::after,
.admin-close::before, .admin-close::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 60%;
  height: var(--close-thickness);
  background: var(--close-red);
  transform-origin: center;
  /* valódi középre igazítás */
  transform: translate(-50%, -50%) rotate(45deg);
  border-radius: 2px;
}
.close-modal::after,
.mobile-close::after,
#closeLangModal::after,

.admin-close::after{
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* hover/active/focus */
.close-modal:hover, #closeLangModal:hover, .mobile-close:hover, .admin-close:hover{
  background: rgba(255, 59, 59, .12);
  box-shadow: 0 6px 18px rgba(255, 59, 59, .22);
  transform: translateY(-1px);
}
.close-modal:active, #closeLangModal:active, .admin-close:active{
  transform: scale(.98);
}
.close-modal:focus-visible, #closeLangModal:focus-visible, .admin-close:focus-visible{
  outline: 3px solid rgba(255, 59, 59, .6);
  outline-offset: 2px;
}

/* nagyon keskeny kijelzőn kicsit kisebb */
@media (max-width: 360px){
  :root{ --close-size: 40px; }
}

.lang-list img{
  display:inline-block;
  width:24px; height:auto;
  vertical-align:middle;
}

/* === Hamburger gomb (mobil) === */
.hamburger{
  --size: 40px;
  display:inline-flex; align-items:center; justify-content:center;
  width:var(--size); height:var(--size);
  border-radius:12px; border:1px solid #2a3144;
  background:var(--accent, #1a2336); color:var(--pill-text,#cfe6ff);
  cursor:pointer; transition:filter .18s ease, transform .12s ease;
}
.hamburger:hover{ filter:brightness(1.06) }
.hamburger:active{ transform:translateY(1px) }
.hamburger .bar{
  display:block; width:20px; height:2px; margin:2.5px 0;
  background:currentColor; border-radius:2px; transition:transform .22s ease, opacity .18s ease, width .18s ease;
}
.hamburger[aria-expanded="true"] .bar:nth-child(1){ transform:translateY(4.5px) rotate(45deg); }
.hamburger[aria-expanded="true"] .bar:nth-child(2){ opacity:0; width:0; }
.hamburger[aria-expanded="true"] .bar:nth-child(3){ transform:translateY(-4.5px) rotate(-45deg); }

/* Csak mobilon jelenjen meg a hamburger; nagyobb nézetben elrejthető */
@media (min-width: 955px){
  .hamburger{ display:none }
}

/* === Mobil panel (slide-in) === */
.mobile-panel{
  position:fixed; inset:0 0 0 auto; /* jobbról csúszik be */
  width:min(84vw, 380px); max-width:100%;
  background:var(--panel, #121826); color:var(--text, #e5ecff);
  border-left:1px solid #2a3144;
  transform:translateX(100%); transition:transform .26s ease;
  z-index:9998; display:flex; flex-direction:column;
  box-shadow:-10px 0 40px rgba(0,0,0,.45);
}
.mobile-panel.is-open{ transform:translateX(0) }
.mobile-panel[aria-hidden="true"]{ visibility:hidden } /* a11y */

.mobile-panel__head{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:12px 14px; border-bottom:1px solid #2a3144;
}
.mobile-panel__head strong{ font-size:1rem }

.mobile-close:hover{ background:var(--nav-hover,#161b28) }

.mobile-nav{
  list-style:none; margin:0; padding:10px;
  display:grid; gap:8px; overflow:auto;
}
.mobile-nav a{
  display:block; padding:10px 12px; border-radius:10px;
  color:var(--text); text-decoration:none; border:1px solid #2a3144;
  transition:background .16s ease, box-shadow .16s ease;
}
.mobile-nav a:hover{ background:var(--nav-hover,#161b28); box-shadow:0 0 0 2px rgba(255,255,255,.03) inset }

/* Amikor a panel nyitva: háttér sötétítés + body scroll tiltás */
body.menu-open{ overflow:hidden }
body::after{
  content:""; position:fixed; inset:0; z-index:9997;
  background:rgba(0,0,0,.45); opacity:0; pointer-events:none; transition:opacity .24s ease;
}
body.menu-open::after{ opacity:1; pointer-events:auto }

/* Kis pontosítás: a jelenlegi header stílusodhoz igazodunk */
.site-header .header-tools{ gap:8px } /* már létezik – csak emlékeztető */

@media (max-width: 955px){
  .site-nav{ display:none !important; }
}

/* ===== Privacy Section (szűk skóp) ===== */
.privacy-section {
  /* Ha van már banner háttered, ezt el is hagyhatod */
  background: linear-gradient(180deg, #0b1d2b 0%, #1f3447 100%);
}

/* Wrapper és tartalom szélesség finomhangolása */
.privacy-section .wrapper2 {
  max-width: 1100px;           /* illeszkedik a services intro méreteihez */
  margin-left: auto;
  margin-right: auto;
  padding: 40px 16px;          /* mobilbarát belső margó */
}

@media (min-width: 768px){
  .privacy-section .wrapper2 { padding: 60px 24px; }
}

.privacy-section .generic-box-content h2 {
  margin: 0 0 1rem 0;
  line-height: 1.2;
  font-weight: 700;
  /* ha a globális H2-d nagyobb/kisebb, ezt hagyd ki */
  font-size: clamp(1.5rem, 1.4vw + 1.1rem, 2.1rem);
}

.privacy-section .generic-box-content p,
.privacy-section .generic-box-content .job-title {
  margin: 0 0 1rem 0;
  line-height: 1.7;
  /* A .text-white már színt ad – ez csak kontraszt finomhangolás, ha kell: */
  /* color: rgba(255,255,255,.92); */
}

/* Igény esetén keskenyebb hasáb a komfortos olvasáshoz */
@media (min-width: 992px){
  .privacy-section .generic-box-content {
    max-width: 900px;          /* olvasóbarát sorhossz */
  }
}

/* Kézi sorkizárás class – align attribútum helyett */
.text-justify {
  text-align: justify;
  text-justify: inter-word;    /* támogatott böngészőkben szebb */
}

/* A .job-title finomabb tipó és térköz a zárómondathoz */
.privacy-section .job-title {
  display: block;
  font-weight: 600;
  opacity: .95;
  margin-top: .75rem;
}
/* NKI hírsáv – kép balra, szöveg mellette; mobilon egymás alatt */
.news-row {
  display: flex;
  align-items: center;
  gap: 1rem;              /* távolság a kép és a szöveg között */
}

.news-row .news-logo img {
  height: 96px;           /* fix magasság, arányosan méretezett szélesség */
  width: auto;
  display: block;
}

@media (max-width: 640px) {
  .news-row {
    flex-direction: column;     /* mobilon egymás alatt */
    align-items: flex-start;    /* balra zárt szöveg */
  }
}
/* ===== Reszponzív, rácsos lábléc ===== */
.footer-grid {
  display: grid;
  grid-template-columns: 1fr minmax(0, 880px) 1fr; /* bal spacer – közép – jobb spacer */
  grid-auto-rows: auto;
  row-gap: 12px;
  column-gap: 12px;
  padding-block: 16px;
}

/* Felső sor (jogi linkek) teljes szélességben */
.footer-links {
  grid-column: 1 / -1;
  text-align: center;
}
.footer-links ul {
  display: inline-flex;
  flex-wrap: wrap;
  gap: .5rem 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.footer-links li {
  position: relative;
  padding-inline: .3rem;
}
.footer-links li + li::before {
  content: none;
  margin-right: .7rem;
  opacity: .7;
}

/* Középső sor: spacer – tartalom – spacer */
.footer-spacer { min-height: 1px; } /* csak helykitöltés */
.footer-main {
  text-align: center;
  line-height: 1.6;
  font-size: 0.95rem;
}
.footer-main p { margin: .3rem 0; text-align: center; }

/* Alsó sor: kis extra térköz (teljes szélesség) */
.footer-bottom-gap {
  grid-column: 1 / -1;
  min-height: 16px;
}

/* Mobil nézet: 1 oszlopra omlik, minden egymás alatt */
@media (max-width: 720px) {
  .footer-grid {
    grid-template-columns: 1fr;   /* 1 oszlop */
  }
  .footer-links { text-align: center; }
  .footer-links ul { display: grid; gap: .25rem .75rem; }
  .footer-links li + li::before { content: none; } /* mobilon ne legyen köztes pont */
  .footer-main { text-align: center; font-size: 0.95rem; }
}
/* alap (mobil): 1 oszlop */
.footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 12px;
  column-gap: 12px;
  padding-block: 16px;
  text-align: center;
}

/* asztali (>= 1024px): 25% – 50% – 25% */
@media (min-width: 1024px) {
  .footer-grid {
    grid-template-columns: 22% 50% 22%;
  }
  .footer-links { grid-column: 1 / -1; }   /* jogi linkek továbbra is teljes szélességben */
  .footer-bottom-gap { grid-column: 1 / -1; }
}

/* ===== Iconify alapú ikonsor: egy sor, automatikus kicsinyítés ===== */
.tech-icons.no-wrap.font{
  --count: 12;                /* ikonok száma – a HTML-ben felülírhatod */
  --gap: 12px;
  --max: 42px;                /* desktop badge max átmérő */
  --min: 20px;                /* legkisebb badge mobilon */
  display:flex; flex-wrap:nowrap; justify-content:center; align-items:center;
  gap: var(--gap);
  margin:.6rem 0 0; padding:0; list-style:none;
}

.tech-icons.no-wrap.font > li{
  /* rendelkezésre álló szélességből számolt badge-méret */
  --theoretical: calc((100% - ((var(--count) - 1) * var(--gap))) / var(--count));
  width: clamp(var(--min), var(--theoretical), var(--max));
  height: clamp(var(--min), var(--theoretical), var(--max));
  display:grid; place-items:center;
  border-radius: 9999px;
  background: var(--bg, #111827);         /* alap háttér, ha nincs brand-szín */
  box-shadow: 0 1px 3px rgba(0,0,0,.12), inset 0 0 0 1px rgba(0,0,0,.06);
  transition: transform .18s ease, box-shadow .18s ease;
}

.tech-icons.no-wrap.font > li:hover{
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,.18), inset 0 0 0 1px rgba(0,0,0,.06);
}

/* az ikon maga – alapértelmezésben fehér, hogy a brand-színű badge-en jó legyen a kontraszt */
.tech-icons.no-wrap.font .iconify{
  width: 74%; height: 74%;
  color: #fff;
}

/* Sötét mód: finomabb háttér/shadow – a brand-színeket megtartjuk */
@media (prefers-color-scheme: dark){
  .tech-icons.no-wrap.font > li{
    box-shadow: 0 1px 2px rgba(0,0,0,.5), inset 0 0 0 1px rgba(255,255,255,.06);
  }
  .tech-icons.no-wrap.font .iconify{ filter: brightness(1.06) contrast(1.06); }
}

/* ===== Brand hátterek (badge színek) + egyedi ikon-szín finomhangolás ===== */
.tech-icons.no-wrap.font .html     { --bg:#E34F26; }             /* HTML5 narancs */
.tech-icons.no-wrap.font .css      { --bg:#1572B6; }             /* CSS3 kék */
.tech-icons.no-wrap.font .js       { --bg:#F7DF1E; }             /* JS sárga */
.tech-icons.no-wrap.font .bootstrap{ --bg:#7952B3; }             /* Bootstrap lila */
.tech-icons.no-wrap.font .wp       { --bg:#21759B; }             /* WordPress kék */
.tech-icons.no-wrap.font .php      { --bg:#777BB3; }             /* PHP lila */
.tech-icons.no-wrap.font .python   { --bg:#3776AB; }             /* Python kék */
.tech-icons.no-wrap.font .mysql    { --bg:#00618A; }             /* MySQL kék */
.tech-icons.no-wrap.font .docker   { --bg:#2496ED; }             /* Docker kék */
.tech-icons.no-wrap.font .linux    { --bg:#000000; }             /* Linux fekete */
.tech-icons.no-wrap.font .ai       { --bg:#7C3AED; }             /* AI semleges lila */
.tech-icons.no-wrap.font .ssl      { --bg:#0EA5E9; }             /* Lakat/SSL ciánkék */

/* Kontraszt javítás: sárga JS háttéren legyen sötét ikon */
.tech-icons.no-wrap.font .js .iconify { color:#111; }
.audio-toggle{
  display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px;               /* gomb méret */
  border-radius:12px;
  border:1px solid #2a3144;
  background:var(--accent, #1a2336);
  color:var(--pill-text, #cfe6ff);
  cursor:pointer;
  transition:filter .18s ease, transform .20s ease, box-shadow .20s ease;
  box-shadow: 0 1px 2px rgba(0,0,0,.18);
}
.audio-toggle:hover{ filter:brightness(1.06); box-shadow:0 6px 18px rgba(0,0,0,.18); }
.audio-toggle:active{ transform:translateY(3px); }
.audio-toggle .iconify{ width:32px; height:32px; }

/* (opcionális) világos módban kicsit világosabb háttér */
@media (prefers-color-scheme: light){
  .audio-toggle{ background:#e8eefc; color:#0a4a8a; border-color:#d3dbef; }
}
/* Audio gomb: csak az ikon látszódjon (ne legyen „csempe”) */
.audio-toggle{
  width: 32px; height: 32px;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0;                /* csak a kattintható ikon marad */
}

/* 24 px fix ikonméret + jobb láthatóság */
.audio-toggle .iconify{
  width: 32px; height: 32px;
  color: var(--pill-text, #cfe6ff);
}

/* (opcionális) hover effekthez csak egy kis fénylés az ikonra */
.audio-toggle:hover .iconify{
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.25));
}
.audio-toggle iconify-icon{ width:32px; height:32px; }
/* Lábléc – finom vizuális elválasztó a jogi linkek és az alsó rész között */
.site-footer .inner::after{
  content:"";
  display:block;
  height:1px;
  margin:10px auto 6px;
  max-width:900px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
}
:root.theme-light .site-footer .inner::after{
  background: linear-gradient(90deg, transparent, rgba(0,0,0,.12), transparent);
}

/* Footer „kártyák” (donate/radio) egységesítése – visszafogott, minden témában működik */
.footer-spacer{
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 16px;
  padding: 12px 14px;
}
:root.theme-light .footer-spacer{
  background: rgba(0,0,0,.03);
  border-color: rgba(0,0,0,.06);
}
.footer-spacer p{ margin:.35rem 0; }

/* Jogi link „chipek” billentyűzet-fókusza (WCAG-barát) */
.footer-links a:focus-visible{
  outline:2px solid var(--focus, #5ea0ff);
  outline-offset:3px;
  border-radius:12px;
}

/* Tech ikonok: kicsit nagyobb az optikai egyensúlyért */
.tech-icons.no-wrap.font .iconify{ width:78%; height:78%; }

.footer-links a{
  text-decoration: none;
  display:inline-block;
  padding: .35rem .75rem;
  border-radius: 12px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.06);
}
:root.theme-light .footer-links a{
  background: rgba(0,0,0,.03);
  border-color: rgba(0,0,0,.06);
}
.footer-links a:hover{
  background: var(--nav-hover, rgba(255,255,255,.08));
}
.hero-copy .center {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;                  /* távolság az elemek között */
  justify-items: center;      /* vízszintesen középre a rácson belül */
  align-items: center;        /* függőlegesen középre a cellában */
  margin-top: 12px;
}

.hero-copy .zoom a {
  display: inline-block;      /* hogy középre igazítható „doboz” legyen */
  text-align: center;         /* szöveg + kép középre */
  padding: 8px 10px;
}

.hero-copy .zoom img {
  display: block;
  margin: 6px auto 0;
  height: 64px;               /* ahogy eddig is volt */
}

/* (opcionális) kicsi képernyőn szűkebb kártyák */
@media (max-width: 480px) {
  .hero-copy .center {
    grid-template-columns: 1fr; /* 1 oszlop: egymás alá törnek */
  }
}
/* === Szolgáltatások blokk (reszponzív, letisztult) === */
.services h2,
.card.services h2 {
  margin: 0 0 .5rem 0;
  line-height: 1.2;
}
.services .lead,
.card.services .lead {
  color: #e5e7eb;            /* sötét háttéren olvashatóbb */
  font-size: clamp(0.95rem, 1.2vw + .6rem, 1.1rem);
  line-height: 1.65;
}

/* Collapsible */
.services .collapsible,
.card .collapsible {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  background: rgba(255,255,255,.03);
  overflow: hidden;
  margin-top: 1rem;
}
.services .collapsible__header,
.card .collapsible__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .9rem 1rem;
  cursor: pointer;
  user-select: none;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.services .collapsible__header p.lead,
.card .collapsible__header p.lead {
  margin: 0;
  font-style: italic;
  opacity: .9;
}
.services .collapsible__header h6,
.card .collapsible__header h6 {
  margin: 0;
  min-width: 1.25rem;
  height: 1.25rem;
  position: relative;
}
/* kis nyíl ikon h6 helyén */
.services .collapsible__header h6::after,
.card .collapsible__header h6::after {
  content: "";
  display: block;
  width: 12px; height: 12px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  opacity: .7;
  margin-left: auto;
  transition: transform .25s ease, opacity .25s ease;
}
/* zárt állapotban lefelé mutat */
.services .collapsible.collapsed .collapsible__header h6::after,
.card .collapsible.collapsed .collapsible__header h6::after {
  transform: rotate(45deg);
}
/* nyitott állapotban felfelé mutat */
.services .collapsible:not(.collapsed) .collapsible__header h6::after,
.card .collapsible:not(.collapsed) .collapsible__header h6::after {
  transform: rotate(-135deg);
  opacity: 1;
}

/* Törzs: finom animáció */
.services .collapsible__body,
.card .collapsible__body {
  max-height: 4000px;
  opacity: 1;
  transition: max-height .35s ease, opacity .25s ease, padding .25s ease;
  padding: 1rem 1rem 1.25rem;
}
.services .collapsible.collapsed .collapsible__body,
.card .collapsible.collapsed .collapsible__body {
  max-height: 0;
  opacity: 0;
  padding: 0 1rem;
  overflow: hidden;
}

/* Fejezetcímek a törzsben */
.services .collapsible__body h2,
.card .collapsible__body h2 {
  font-size: clamp(1.05rem, 1.1vw + .8rem, 1.35rem);
  margin: 1.25rem 0 .5rem;
}

/* Ártábla (scrollbar mobilon, zebra sorok) */
.services .pricing,
.card .pricing {
  width: 100%;
  border-collapse: collapse;
  display: block;            /* így lehet overflow-x */
  overflow-x: auto;          /* mobilon vízszintes görgetés */
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  margin: .75rem 0 1rem;
}
.services .pricing thead th,
.card .pricing thead th {
  position: sticky;          /* görgetésnél is fent marad */
  top: 0;
  background: rgba(255,255,255,.06);
  backdrop-filter: blur(2px);
}
.services .pricing th,
.services .pricing td,
.card .pricing th,
.card .pricing td {
  padding: .75rem .9rem;
  text-align: left;
  border-bottom: 1px solid rgba(255,255,255,.06);
  white-space: nowrap;       /* hogy ne tördelje szét a számokat */
}
.services .pricing tbody tr:nth-child(odd),
.card .pricing tbody tr:nth-child(odd) {
  background: rgba(255,255,255,.02);
}
.services .pricing tbody tr:hover,
.card .pricing tbody tr:hover {
  background: rgba(255,255,255,.04);
}

/* Tipók és megjegyzések */
.services p.note,
.card .note {
  font-size: .9rem;
  opacity: .85;
  margin-top: .25rem;
}

/* Kisebb kijelző finomítások */
@media (max-width: 640px) {
  .services .collapsible__header p.lead,
  .card .collapsible__header p.lead {
    font-size: .95rem;
  }
  .services .pricing th,
  .services .pricing td,
  .card .pricing th,
  .card .pricing td {
    padding: .6rem .7rem;
  }
}
