/* xHOSTING Design System – nyilvános webhely (marketing): üveg-fejléc scanline-nal, glow címsor, kártyák, mátrix-képernyő,
   lábléc, süti-sáv. A legacy identitás forrásból újraértelmezve; nincs Bootstrap. */
.xh-site{min-height:100vh;display:flex;flex-direction:column}
/* fejléc */
.xh-site__header{position:sticky;top:0;z-index:950;height:var(--xh-header);display:flex;align-items:center;background:rgba(10,10,10,.72);border-bottom:1px solid var(--xh-border);box-shadow:var(--xh-shadow-2);isolation:isolate;transition:box-shadow var(--xh-t-base),background-color var(--xh-t-base)}
@media (min-width:768px) and (prefers-reduced-motion:no-preference){.xh-site__header{backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%)}}
html[data-theme="light"] .xh-site__header{background:rgba(247,250,252,.85)}
@media (max-width:767px){.xh-site__header{background:rgba(10,10,10,.96)}html[data-theme="light"] .xh-site__header{background:rgba(247,250,252,.97)}}/* AG-P2U-10: mobilon/reduced-motion esetén nincs backdrop-filter */
.xh-site__header::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;mix-blend-mode:screen;background:linear-gradient(to bottom,var(--xh-glow),transparent 55%),repeating-linear-gradient(to bottom,var(--xh-accent-soft) 0 1px,transparent 3px 6px)}
.xh-site__header.is-scrolled{box-shadow:var(--xh-shadow-3)}/* AG-P2U-02: a magasság állandó (nincs layout shift), görgetve csak az árnyék erősödik */
.xh-site__bar{position:static;/* AG-P2U-12: a lenyíló a fejléchez (sticky = pozicionált ős) igazodik, nem a középre igazított sávhoz */display:flex;align-items:center;gap:var(--xh-sp-3);width:100%;max-width:min(1680px,100%);margin-inline:auto;padding-inline:var(--xh-sp-4)/* a fejléc sávja szélesebb lehet, mint a tartalom-konténer: a teljes menü + akciók így nagy képernyőn elférnek (a férőhelyet a ui.js méri) */}
.xh-site__logo{display:inline-flex;align-items:center;text-decoration:none;flex:none}
.xh-site__logo img{height:36px;width:auto;filter:drop-shadow(0 0 6px var(--xh-glow))}
.xh-site__nav{display:none;gap:2px;flex:1;justify-content:center}
.xh-site__nav a{padding:.45rem .7rem;border-radius:var(--xh-r-md);text-decoration:none;color:var(--xh-fg);font-weight:600;font-size:var(--xh-fs-sm);white-space:nowrap}
.xh-site__nav a:hover,.xh-site__nav a.is-active{color:var(--xh-accent);background:var(--xh-accent-soft)}
.xh-site__actions{margin-left:auto;display:flex;align-items:center;gap:var(--xh-sp-2)}
.xh-lang{display:inline-flex;border:1px solid var(--xh-border);border-radius:var(--xh-r-md);overflow:hidden}
.xh-lang a,.xh-lang span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:0 .6rem;font-size:var(--xh-fs-xs);font-weight:700;text-decoration:none;color:var(--xh-fg)}/* AG-P2U-08: érintési cél ≥ 40px */
.xh-lang .is-active{background:var(--xh-accent);color:var(--xh-accent-fg)}
/* Asztali navigáció: nem fix töréspont, hanem TÉNYLEGES FÉRŐHELY dönt (a főmenü adminból szerkeszthető, a feliratok hossza
   nyelvenként változik – lásd staging 1366px: a magyar menü + akciók 1461px-et kértek). A ui.js méri és `data-nav-fit`-et
   állít; JS nélkül konzervatív fallback 1520px-től. A fejléc soha nem csordul túl (min-width:0 + overflow). */
@media (min-width:1520px){.xh-site:not([data-nav-fit]) .xh-site__nav{display:flex}.xh-site:not([data-nav-fit]) .xh-nav-toggle{display:none}.xh-site:not([data-nav-fit]) .xh-site__action{display:inline-flex}}
.xh-site[data-nav-fit="full"] .xh-site__nav{display:flex}
.xh-site[data-nav-fit="full"] .xh-nav-toggle{display:none}
.xh-site[data-nav-fit="full"] .xh-site__action{display:inline-flex}
.xh-site[data-nav-fit="full"] .xh-site__mobile{display:none!important}
.xh-site__nav{min-width:0}
.xh-site__bar{overflow:hidden}
.xh-site__bar>*{min-width:0}
.xh-site__nav .xh-btn{white-space:nowrap}.xh-site__nav .xh-dropdown{display:inline-flex;align-items:center}.xh-site__nav .xh-dropdown > a + .xh-btn{padding-inline:.35rem;margin-left:-2px}
.xh-site__action{display:none}/* AG-P2U-06: dedikált osztály; a megjelenést a férőhely (data-nav-fit) vagy az 1520px fallback adja */
.xh-site__mobile{display:none;position:absolute;left:0;right:0;top:100%;background:var(--xh-bg-elev);border-bottom:1px solid var(--xh-border);box-shadow:var(--xh-shadow-3);padding:var(--xh-sp-3) var(--xh-sp-4);max-height:calc(100vh - var(--xh-header));overflow:auto}
.xh-site[data-nav="open"] .xh-site__mobile{display:block}@media (min-width:1520px){.xh-site:not([data-nav-fit]) .xh-site__mobile{display:none!important}}
.xh-site__mobile a{display:block;padding:.6rem .5rem;text-decoration:none;color:var(--xh-fg);border-radius:var(--xh-r-md);font-weight:600}
.xh-site__mobile a.is-active{color:var(--xh-accent)}.xh-site__mobile .xh-btn{margin-top:var(--xh-sp-2)}
.xh-site__main{flex:1}
/* fő címsor (hero fejléc) */
.xh-hero{text-align:center;padding:var(--xh-sp-6) var(--xh-sp-4) var(--xh-sp-4)}
.xh-hero__title{font-size:var(--xh-fs-hero);font-weight:800;text-transform:uppercase;letter-spacing:.04em;line-height:1.15;margin:var(--xh-sp-2) auto;max-width:18ch}
html[data-theme="dark"] .xh-hero__title{text-shadow:0 2px 0 rgba(0,0,0,.85),0 14px 34px rgba(0,0,0,1),0 0 26px rgba(0,255,153,.9)}
html[data-theme="light"] .xh-hero__title{text-shadow:0 1px 0 rgba(255,255,255,.55),0 10px 22px rgba(2,6,23,.14),0 0 18px rgba(0,120,70,.1)}
.xh-hero__subtitle{max-width:880px;margin:0 auto var(--xh-sp-4);font-size:clamp(1rem,2.2vw,1.25rem);color:var(--xh-fg-muted)}
.xh-section{padding-block:var(--xh-sp-6)}.xh-page-head{padding-block:var(--xh-sp-6) 0}.xh-page-head h1{margin:0;font-size:var(--xh-fs-2xl);text-transform:uppercase;letter-spacing:.03em}.xh-section__title{text-transform:uppercase;letter-spacing:.03em;margin-bottom:var(--xh-sp-4)}
.xh-section__intro{max-width:880px;color:var(--xh-fg-muted)}
html[data-surface="site"] .xh-card{padding:var(--xh-sp-5);box-shadow:var(--xh-shadow-3);border-color:var(--xh-border)}
html[data-surface="site"] .xh-card:hover{border-color:var(--xh-border-strong)}
.xh-card--web{border-top:3px solid var(--xh-accent)}.xh-card--game{border-top:3px solid var(--xh-accent-2)}
.xh-features{list-style:none;padding:0;margin:0 0 var(--xh-sp-3)}.xh-features li{position:relative;padding-left:1.4rem;margin-bottom:var(--xh-sp-1)}
.xh-features li::before{content:"✓";position:absolute;left:0;color:var(--xh-accent);font-weight:700}
.xh-cta{text-align:center;padding-block:var(--xh-sp-5)}.xh-cta__note{color:var(--xh-fg-muted);font-size:var(--xh-fs-sm);margin-top:var(--xh-sp-2)}
.xh-contact{display:flex;flex-wrap:wrap;gap:var(--xh-sp-3);justify-content:center}
.xh-contact__btn{display:inline-flex;align-items:center;gap:var(--xh-sp-2);padding:.6rem 1rem;border:1px solid var(--xh-border-strong);border-radius:var(--xh-r-lg);text-decoration:none;color:var(--xh-fg);background:var(--xh-bg-elev)}
.xh-contact__btn:hover{border-color:var(--xh-accent);box-shadow:var(--xh-glow-shadow)}
.xh-contact__btn img{width:1.5rem;height:1.5rem}
.xh-spec-table th:first-child{white-space:normal}
/* logó-mátrix animáció */
.xh-logo-matrix{position:relative;width:min(320px,80vw);aspect-ratio:1;margin:var(--xh-sp-5) auto;border-radius:var(--xh-r-lg);overflow:hidden;background:#000;border:1px solid var(--xh-border);box-shadow:var(--xh-shadow-3)}
html[data-theme="light"] .xh-logo-matrix{background:#fff}
.xh-logo-matrix canvas,.xh-logo-matrix img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.xh-logo-matrix canvas{z-index:2;pointer-events:none}.xh-logo-matrix img{z-index:1}
@media (prefers-reduced-motion:reduce){.xh-logo-matrix canvas{display:none}}
/* mátrix-képernyő ("Matrix call") */
.xh-matrix{position:relative;border-radius:var(--xh-r-lg);overflow:hidden;padding:16px;min-height:260px;background:#000;border:1px solid var(--xh-border);box-shadow:var(--xh-shadow-3);text-align:left;font-family:var(--xh-font-mono)}
html[data-theme="light"] .xh-matrix{background:#fff}
.xh-matrix__line{position:relative;z-index:2;min-height:28px;font-size:14px;line-height:1.25;white-space:pre-wrap;color:rgba(120,255,120,.92)}
html[data-theme="light"] .xh-matrix__line{color:rgba(0,120,70,.92)}
.xh-matrix__cursor{display:inline-block;width:.7ch;height:1.05em;vertical-align:baseline;margin-left:.1ch;background:currentColor;animation:xhBlink .8s infinite steps(1,end)}
@keyframes xhBlink{0%,49%{opacity:1}50%,100%{opacity:0}}
.xh-matrix__rain{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:.9}
.xh-matrix__overlay{position:absolute;inset:0;display:grid;place-items:center;opacity:0;pointer-events:none;z-index:3;padding:10px;transition:opacity var(--xh-t-base)}
.xh-matrix__overlay[data-visible="true"]{opacity:1}
.xh-matrix__box{font-family:var(--xh-font-mono);padding:14px 18px;border-radius:12px;border:2px solid rgba(120,255,120,.9);color:rgba(120,255,120,.95);background:rgba(0,0,0,.55);text-transform:uppercase;letter-spacing:.08em;box-shadow:0 0 26px rgba(0,255,153,.22);max-width:90%;text-align:center}
html[data-theme="light"] .xh-matrix__box{border-color:rgba(0,120,70,.9);color:rgba(0,120,70,.95);background:rgba(255,255,255,.75)}
.xh-matrix__box small{display:block;font-size:.6em;opacity:.75;text-transform:none;letter-spacing:.02em;margin-top:.4rem}
.xh-matrix.is-flash{animation:xhFlash .22s ease-out 1}@keyframes xhFlash{50%{filter:brightness(1.8)}}
@media (max-width:576px){.xh-matrix{min-height:200px;padding:10px}.xh-matrix__box{padding:6px 10px;font-size:.8rem}}
/* jogi/KB oldalak: bal TOC + tartalom */
.xh-doc{display:grid;gap:var(--xh-sp-5);grid-template-columns:1fr}
@media (min-width:1024px){.xh-doc{grid-template-columns:260px 1fr}.xh-doc__toc{position:sticky;top:calc(var(--xh-header) + var(--xh-sp-3));align-self:start;max-height:calc(100vh - var(--xh-header) - 2rem);overflow:auto}}
.xh-toc{list-style:none;padding:0;margin:0;font-size:var(--xh-fs-sm)}.xh-toc a{display:block;padding:.3rem .5rem;text-decoration:none;color:var(--xh-fg-muted);border-left:2px solid transparent}
.xh-toc a:hover,.xh-toc a.is-active{color:var(--xh-accent);border-left-color:var(--xh-accent)}.xh-toc--sub a{padding-left:1.25rem}
.xh-doc__body section{scroll-margin-top:calc(var(--xh-header) + 1rem);margin-bottom:var(--xh-sp-5)}
.xh-doc__body section:target{animation:xhJump var(--xh-t-slow) var(--xh-ease) 1}
@keyframes xhJump{0%{transform:translateY(6px)}100%{transform:none}}
.xh-faq-search{position:sticky;top:calc(var(--xh-header) + var(--xh-sp-2));z-index:5;background:var(--xh-bg);padding:var(--xh-sp-2) 0}
/* lábléc */
.xh-site__footer{border-top:1px solid var(--xh-border);padding:var(--xh-sp-5) 0;font-size:var(--xh-fs-sm);color:var(--xh-fg-muted)}
.xh-site__footer .xh-container{display:grid;gap:var(--xh-sp-4)}@media (min-width:768px){.xh-site__footer .xh-container{grid-template-columns:1fr auto}}
.xh-footer-badges img{height:48px;width:auto}
/* süti-sáv */
.xh-cookie{position:fixed;left:50%;bottom:var(--xh-sp-3);transform:translateX(-50%);width:min(960px,calc(100vw - 1.5rem));z-index:1100;background:var(--xh-bg-elev);border:1px solid var(--xh-border);border-radius:var(--xh-r-lg);box-shadow:var(--xh-shadow-3);padding:var(--xh-sp-4);display:none;gap:var(--xh-sp-3);align-items:center;flex-wrap:wrap}
.xh-cookie[data-visible="true"]{display:flex}.xh-cookie__text{flex:1 1 20rem;font-size:var(--xh-fs-sm)}.xh-cookie__actions{display:flex;flex-wrap:wrap;gap:var(--xh-sp-2)}
.xh-scroll-top{position:fixed;right:var(--xh-sp-4);bottom:var(--xh-sp-4);z-index:1000;display:none}.xh-scroll-top[data-visible="true"]{display:inline-flex}
/* AG-P2U-18: link nélküli csoportcím a mobil lenyílóban + behúzott alelemek */
.xh-site__mobile-group{display:block;padding:var(--xh-sp-3) 0 var(--xh-sp-1);font-size:var(--xh-fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--xh-fg-muted)}.xh-site__mobile a.xh-site__mobile-sub{padding-left:var(--xh-sp-4)}
.xh-site__mobile-list,.xh-site__mobile-sublist{list-style:none;margin:0;padding:0}
