/* =========================================================================
   PRZ Base, közös alapréteg.
   ITT CSAK az van, ami mindkét oldalon azonos: reset, rács, segédosztályok,
   bemutató jelölések, oldaltérkép, űrlapváz, mozgás.
   A teljes vizuális nyelv a skin-<key>.css fájlokban van, és a két oldalon
   szándékosan MÁS: Prozenda sötét, szerkesztőségi, éles; perbit világos,
   termékoldalas, lekerekített.
   ========================================================================= */

/* ---------- betűk, önállóan hostolva, Google Fonts hívás nélkül ---------- */
@font-face{font-family:'InterPRZ';src:url('../fonts/inter-latin-ext-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'InterPRZ';src:url('../fonts/inter-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'InterPRZ';src:url('../fonts/inter-latin-ext-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'InterPRZ';src:url('../fonts/inter-latin-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'InterPRZ';src:url('../fonts/inter-latin-ext-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'InterPRZ';src:url('../fonts/inter-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'InterPRZ';src:url('../fonts/inter-latin-ext-800-normal.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap;unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'InterPRZ';src:url('../fonts/inter-latin-800-normal.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}

/* ---------- közös tokenek. Színt a skin ad, itt csak a mozgás és a rács ---------- */
:root{
  --prz-font:'InterPRZ',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --prz-mono:ui-monospace,SFMono-Regular,'SF Mono',Menlo,Consolas,'Liberation Mono',monospace;
  --prz-wrap:1180px;
  --prz-gutter:24px;
  /* erős görbék, a beépített CSS easingek gyengék */
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-in-out:cubic-bezier(.77,0,.175,1);
}

/* ---------- alap ---------- */
html{-webkit-text-size-adjust:100%}
body.prz{margin:0;font-family:var(--prz-font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.prz *,body.prz *::before,body.prz *::after{box-sizing:border-box}
body.prz img{max-width:100%;height:auto}
body.prz a{color:inherit}
body.prz h1,body.prz h2,body.prz h3,body.prz h4{margin:0 0 .5em}
body.prz p{margin:0 0 1em}

.prz-wrap{width:100%;max-width:var(--prz-wrap);margin:0 auto;padding:0 var(--prz-gutter)}
.prz-sec{padding:var(--prz-sec,88px) 0}
.prz-sec-tight{padding:calc(var(--prz-sec,88px) * .55) 0}
.prz-center{text-align:center}
.prz-center .prz-lead{margin-left:auto;margin-right:auto}
/* a középre zárt szekciófej maga is középen áll, nem csak a szövege */
.prz-head-block.prz-center{margin-left:auto;margin-right:auto}
.prz-skip{position:absolute;left:-9999px}
.prz-skip:focus{left:12px;top:12px;z-index:9999;background:#fff;color:#000;padding:10px 16px;border-radius:8px}
body.prz :focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* ---------- rácsok, közösek ---------- */
.prz-grid{display:grid;gap:var(--prz-gap,24px)}
.prz-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.prz-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.prz-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.prz-btnrow{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 0}
.prz-prose>:last-child{margin-bottom:0}
.prz-prose ul,.prz-prose ol{margin:0 0 1.2em;padding-left:1.25em}
.prz-prose li{margin:.35em 0}

/* ---------- bemutató sáv, mindkét oldalon azonos szándékkal ---------- */
.prz-demobar{background:#15171d;color:#ffd9a8;font-size:12.5px;line-height:1.45;padding:9px 20px;text-align:center;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;letter-spacing:.01em}
.prz-demobar-dot{width:7px;height:7px;border-radius:50%;background:#ffb020;flex:none}
.prz-demobar-link{color:#fff;text-decoration:underline;text-underline-offset:2px}

/* ---------- hiánylista jelölések (házirend 14.) ---------- */
.prz-todo{display:inline-block;background:#fde8e8;color:#a11d1d;border:1px solid #f3bdbd;border-radius:4px;padding:2px 8px;font-size:12.5px;font-weight:700;font-family:var(--prz-mono);letter-spacing:0}
.prz-imgph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:20px}
.prz-imgph-file{font-family:var(--prz-mono);font-size:12.5px;font-weight:700;word-break:break-all}
.prz-imgph-desc{font-size:13.5px;max-width:44ch;line-height:1.5}

/* ---------- oldaltérkép, funkcionális lap, azonos mindkét oldalon ---------- */
.prz-sitemap{width:100%;border-collapse:collapse;font-size:15px;background:#fff;color:#14161f;border:1px solid #e3e6ee}
.prz-sitemap th,.prz-sitemap td{text-align:left;padding:12px 14px;border-bottom:1px solid #e3e6ee;vertical-align:top}
.prz-sitemap th{background:#f5f6fa;font-size:12px;text-transform:uppercase;letter-spacing:.09em;font-family:var(--prz-mono)}
.prz-sitemap td code{font-family:var(--prz-mono);font-size:13px}
.prz-sitemap tr:last-child td{border-bottom:0}
.prz-sitemap-scroll{overflow-x:auto}
.prz-badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid;white-space:nowrap}
.prz-badge-ok{background:#e9f8f1;color:#0c5c3f;border-color:#a9dfc8}
.prz-badge-wait{background:#fff4e2;color:#8a5a00;border-color:#f4d5a1}
.prz-badge-todo{background:#fde8e8;color:#a11d1d;border-color:#f3bdbd}
.prz-badge-new{background:#e8effd;color:#1c3d85;border-color:#bccdf5}
.prz-sum{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:26px}
.prz-sum div{flex:1 1 180px;padding:18px 20px}
.prz-sum b{display:block;font-size:30px;font-weight:800;line-height:1.1}

/* ---------- űrlap váz, a látvány a skinben ---------- */
.prz-form{display:grid;gap:16px}
.prz-form .prz-f2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.prz-form label{display:block;font-size:13.5px;font-weight:600;margin-bottom:6px}
.prz-form input,.prz-form select,.prz-form textarea{width:100%;font:inherit;font-size:16px}
.prz-form textarea{min-height:140px;resize:vertical}
.prz-form .prz-hp{position:absolute;left:-9999px}
.prz-form .prz-check{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.prz-form .prz-check input{width:auto;margin-top:3px}
.prz-formmsg{padding:13px 16px;font-size:15px;display:none}
.prz-formmsg.is-ok{display:block;background:#e9f8f1;color:#0c5c3f;border:1px solid #a9dfc8}
.prz-formmsg.is-err{display:block;background:#fdeceb;color:#8a201a;border:1px solid #f3bdb8}
.prz-contactbox{display:grid;gap:14px;margin:0}
.prz-contactbox dt{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-family:var(--prz-mono)}
.prz-contactbox dd{margin:2px 0 0;font-size:17px}

/* ---------- Elementor reset ---------- */
body.prz .elementor-section.elementor-section-boxed>.elementor-container{max-width:none}
body.prz .elementor-widget:not(:last-child){margin-bottom:0}
body.prz .elementor-element{--widgets-spacing:0px}

/* ---------- mozgás: belépő felfedés, rövid stagger ---------- */
.prz-rv{opacity:0;transform:translateY(10px)}
.prz-rv.is-in{opacity:1;transform:none;transition:opacity 420ms var(--ease-out),transform 420ms var(--ease-out)}
.js-off .prz-rv{opacity:1;transform:none}

/* ---------- reszponzív alap ---------- */
@media(max-width:1024px){
  .prz-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .prz-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .prz-grid-2,.prz-grid-3,.prz-grid-4{grid-template-columns:1fr}
  .prz-form .prz-f2{grid-template-columns:1fr}
  .prz-demobar{font-size:11.5px}
  :root{--prz-gutter:18px}
}
@media(prefers-reduced-motion:reduce){
  body.prz *,body.prz *::before,body.prz *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .prz-rv{opacity:1;transform:none}
}

/* =========================================================================
   0.3.0, közös elemek a vizuális réteghez
   ========================================================================= */

/* vonalikon */
.prz-svg{width:1em;height:1em;display:block;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* nyitókép háttérvászon: alapból rejtett, a skin kapcsolja be */
.prz-hero,.prz-cta{position:relative}
.prz-hero-fx{position:absolute!important;inset:0;width:100%;height:100%;pointer-events:none;z-index:1!important;display:none}

/* nyitókép metaadat sor */
.prz-hero-meta{list-style:none;margin:30px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px}
.prz-hero-meta li{margin:0}

/* futószalag: két azonos sáv egymás mögött, varrat nélkül */
.prz-marquees{display:grid;gap:12px}
.prz-marquee{display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.prz-marquee-track{display:flex;flex:none;align-items:center;gap:var(--mq-gap,12px);padding-right:var(--mq-gap,12px);animation:prz-mq var(--mq-dur,60s) linear infinite}
.prz-marquee.is-rev .prz-marquee-track{animation-direction:reverse}
.prz-marquee .prz-tag{flex:none;white-space:nowrap}
@media(hover:hover) and (pointer:fine){.prz-marquee:hover .prz-marquee-track{animation-play-state:paused}}
@keyframes prz-mq{to{transform:translateX(-100%)}}

/* modulkép és jelvény: alap geometria, a látvány a skinben */
.prz-orbit{position:relative;width:100%;max-width:600px;margin-left:auto;aspect-ratio:1.08/1}
.prz-orbit-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.prz-orbit-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2}
.prz-orbit-chip{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);z-index:3}
.prz-badge-wrap{display:grid;place-items:center}
.prz-badge-art{position:relative}

/* statisztika: hiányzó szám */
.prz-stat-missing .prz-todo{margin-top:10px}
.prz-stats-note{margin:22px 0 0;text-align:center}

/* csökkentett mozgás: a végtelen mozgások állnak, a futószalag sima listává válik */
@media(prefers-reduced-motion:reduce){
  .prz-marquee{-webkit-mask-image:none;mask-image:none}
  .prz-marquee-track{animation:none!important;flex-wrap:wrap;flex:1 1 auto;justify-content:center;padding:0}
  .prz-marquee-track[aria-hidden]{display:none}
  .prz-orbit-dot{display:none}
}

/* a Hello Elementor dőlt figcaptionje ne érje el a véleményeket */
.prz-quote-by{font-style:normal}
.prz-quote-mark svg{display:block;width:1em;height:1em;fill:currentColor}

/* kapcsolati űrlap rácsa: mindkét skinben legyen köz az űrlap és a cégadat között */
.prz-formgrid{gap:clamp(28px,5vw,64px)!important;border-top:0!important;align-items:start}
.prz-contactcard{padding:clamp(24px,3vw,36px)}
/* egyetlen vélemény: teljes szélességben, ne egy keskeny hasábban */
.prz-quotes>.prz-quote:only-child{grid-column:1/-1;grid-row:auto}

/* ============================================================ 0.5.0 valódi képek és nyitókép háttér */
.prz-img{margin:0;overflow:hidden;border-radius:inherit;background:rgba(127,127,127,.08)}
.prz-img picture{display:block;width:100%;height:100%}
.prz-img img{display:block;width:100%;height:100%;object-fit:cover}
.prz-hero-bg{position:absolute!important;inset:0;z-index:0!important;overflow:hidden;pointer-events:none}
.prz-hero-bg picture{display:block;width:100%;height:100%}
.prz-hero-bg img,.prz-hero-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (prefers-reduced-motion: reduce){.prz-hero-vid{display:none}}

/* ============================================================ 0.6.0 nyitókép mozgás */
/* a főcím szavanként érkezik, csak transform és opacity */
.prz-h1-split .prz-w{display:inline-block;will-change:transform,opacity;opacity:0;transform:translateY(.42em)}
.prz-h1-split.is-in .prz-w{animation:prz-wordin .72s cubic-bezier(.22,.8,.28,1) both;animation-delay:calc(var(--i) * 34ms)}
@keyframes prz-wordin{from{opacity:0;transform:translateY(.42em)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.prz-h1-split .prz-w{opacity:1;transform:none;animation:none!important}}
/* görgetésjelző a nyitókép alján */
.prz-scrollcue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;opacity:.62;z-index:3}
.prz-scrollcue i{display:block;width:1px;height:34px;background:currentColor;transform-origin:top;animation:prz-cue 2.1s ease-in-out infinite}
@keyframes prz-cue{0%{transform:scaleY(.2)}45%{transform:scaleY(1)}100%{transform:scaleY(.2)}}
@media (prefers-reduced-motion: reduce){.prz-scrollcue i{animation:none}}

/* ============================================================ 0.7.0 színváltozat kapcsoló
   Jobb felső sarok, a fejléc alatt úszik, görgetés közben is elérhető.
   Bemutató eszköz: ugyanaz az oldal, más színben. */
.prz-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.prz-pal{position:fixed;top:104px;right:16px;z-index:90;display:flex;align-items:center;gap:6px;padding:6px 8px 6px 12px;border-radius:999px;background:rgba(18,18,24,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px -12px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.14);font:600 11px/1 system-ui,-apple-system,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.prz-pal-lab{margin-right:4px}
.prz-pal-dot{width:22px;height:22px;border-radius:999px;border:0;padding:0;margin:0;cursor:pointer;background:var(--c);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);transition:transform .18s cubic-bezier(.22,.8,.28,1),box-shadow .18s}
.prz-pal button.prz-pal-dot,.prz-pal button.prz-pal-dot:hover,.prz-pal button.prz-pal-dot:focus,.prz-pal button.prz-pal-dot:active{background:var(--c);color:inherit;border:0}
.prz-pal-dot.is-on{box-shadow:0 0 0 2px rgba(18,18,24,.9),0 0 0 4px #fff}
@media (hover:hover) and (pointer:fine){.prz-pal-dot:hover{transform:scale(1.14)}}
.prz-pal-dot:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media (max-width:700px){.prz-pal{top:auto;bottom:14px;right:12px}.prz-pal-lab{display:none}}
@media print{.prz-pal{display:none}}
/* 0.9.0 valódi logókép a fejlécben és a láblécben */
.prz-logo picture{display:block;line-height:0}
.prz-logo-img{display:block;width:auto;height:28px;max-width:none}
/* 0.9.0 arculati kép sáv */
.prz-banner{margin:0;border-radius:var(--prz-banner-r,0);overflow:hidden;line-height:0}
.prz-banner img{display:block;width:100%;height:auto}
@media (max-width:640px){.prz-banner-wide{display:none}.prz-sec:has(> .prz-wrap > .prz-banner-wide){display:none}}
