/* ============================================================
   EVOX design system
   Paletta:  --evox-ink     #1C2321  (grafit szöveg)
             --evox-paper   #F2F4F3  (világos technikai alap)
             --evox-green   #0E5A3C  (fenyőzöld, elsődleges)
             --evox-bus     #3AAA35  (KNX-zöld, buszvonal/akcent)
             --evox-copper  #B8712F  (réz, másodlagos akcent)
   Tipó:     Archivo (display) / Inter (body) / JetBrains Mono (tech)
   ============================================================ */

:root{
  --evox-ink:#1C2321;
  --evox-ink-soft:#4A544F;
  --evox-paper:#F2F4F3;
  --evox-white:#FFFFFF;
  --evox-green:#0E5A3C;
  --evox-green-deep:#0A4230;
  --evox-bus:#3AAA35;
  --evox-copper:#B8712F;
  --evox-line:#D7DDDA;
}

html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

body{
  font-family:'Inter',system-ui,sans-serif;
  color:var(--evox-ink);
  background:var(--evox-paper);
  line-height:1.65;
}

h1,h2,h3,h4,.display-font{
  font-family:'Archivo',sans-serif;
  font-weight:700;
  letter-spacing:-0.01em;
  color:var(--evox-ink);
}

.mono{font-family:'JetBrains Mono',monospace;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--evox-green)}

a{color:var(--evox-green)}
a:hover{color:var(--evox-green-deep)}

/* ---------- Navbar ---------- */
.navbar-evox{
  background:var(--evox-white);
  border-bottom:1px solid var(--evox-line);
}
.navbar-evox .navbar-brand{
  font-family:'Archivo',sans-serif;font-weight:800;font-size:1.35rem;
  color:var(--evox-ink);letter-spacing:.02em;
}
.navbar-evox .navbar-brand .dot{color:var(--evox-bus)}
.navbar-evox .nav-link{color:var(--evox-ink-soft);font-weight:500;font-size:.95rem}
.navbar-evox .nav-link:hover,.navbar-evox .nav-link.active{color:var(--evox-green)}
.btn-evox{
  background:var(--evox-green);color:#fff;font-weight:600;border:none;
  border-radius:6px;padding:.6rem 1.3rem;
}
.btn-evox:hover{background:var(--evox-green-deep);color:#fff}
.btn-evox-outline{
  border:1.5px solid var(--evox-green);color:var(--evox-green);
  font-weight:600;border-radius:6px;padding:.55rem 1.25rem;background:transparent;
}
.btn-evox-outline:hover{background:var(--evox-green);color:#fff}

/* ---------- A buszvonal (signature) ---------- */
.busline{position:relative;height:2px;background:var(--evox-bus);margin:0}
.busline .node{
  position:absolute;top:50%;transform:translate(-50%,-50%);
  width:12px;height:12px;border-radius:50%;
  background:var(--evox-paper);border:2.5px solid var(--evox-bus);
}
.bus-topology{position:relative;padding:2.2rem 0}
.bus-topology .bus-wire{position:absolute;left:0;right:0;top:50%;height:2px;background:var(--evox-bus)}
.bus-device{
  position:relative;background:var(--evox-white);border:1px solid var(--evox-line);
  border-radius:8px;padding:.55rem .9rem;text-align:center;
  font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.06em;
  color:var(--evox-ink);box-shadow:0 1px 3px rgba(28,35,33,.06);
}
.bus-device::before{
  content:"";position:absolute;left:50%;top:-14px;width:2px;height:14px;
  background:var(--evox-bus);transform:translateX(-50%);
}
.bus-device .addr{display:block;color:var(--evox-copper);font-size:.62rem;margin-top:.15rem}

/* ---------- Hero ---------- */
.hero{background:var(--evox-white);padding:5rem 0 0;border-bottom:1px solid var(--evox-line)}
.hero h1{font-size:clamp(2.1rem,5vw,3.4rem);font-weight:800;line-height:1.12}
.hero h1 .accent{color:var(--evox-green)}
.hero .lead{color:var(--evox-ink-soft);max-width:38rem}

/* ---------- Szekciók ---------- */
.section{padding:4.5rem 0}
.section-alt{background:var(--evox-white)}
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:.75rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--evox-copper);margin-bottom:.6rem}
.section h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:1rem}

/* ---------- Kártyák ---------- */
.card-evox{
  background:var(--evox-white);border:1px solid var(--evox-line);border-radius:10px;
  padding:1.6rem;height:100%;transition:box-shadow .2s,transform .2s;
}
.card-evox:hover{box-shadow:0 8px 24px rgba(14,90,60,.10);transform:translateY(-2px)}
.card-evox h3{font-size:1.05rem;margin:.7rem 0 .5rem}
.card-evox p{color:var(--evox-ink-soft);font-size:.93rem;margin:0}
.card-icon{
  width:42px;height:42px;border-radius:8px;background:rgba(58,170,53,.12);
  display:flex;align-items:center;justify-content:center;color:var(--evox-green);
  font-size:1.2rem;
}

/* ---------- Quick answer (GEO) ---------- */
.quick-answer{
  background:var(--evox-white);border-left:4px solid var(--evox-bus);
  border-radius:0 8px 8px 0;padding:1.1rem 1.4rem;margin:1.5rem 0;
  box-shadow:0 1px 4px rgba(28,35,33,.05);
}
.quick-answer .qa-label{font-family:'JetBrains Mono',monospace;font-size:.68rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--evox-green);margin-bottom:.3rem}
.quick-answer p{margin:0;font-size:.95rem}

/* ---------- CTA sáv ---------- */
.cta-band{background:var(--evox-green);color:#fff;padding:3.5rem 0}
.cta-band h2{color:#fff}
.cta-band p{color:rgba(255,255,255,.85)}
.cta-band .btn-light-evox{background:#fff;color:var(--evox-green);font-weight:700;
  border-radius:6px;padding:.7rem 1.6rem;border:none}
.cta-band .btn-light-evox:hover{background:var(--evox-paper)}

/* ---------- GYIK ---------- */
.accordion-evox .accordion-button{font-weight:600;color:var(--evox-ink);background:var(--evox-white)}
.accordion-evox .accordion-button:not(.collapsed){color:var(--evox-green);background:rgba(58,170,53,.07);box-shadow:none}
.accordion-evox .accordion-item{border:1px solid var(--evox-line);border-radius:8px;overflow:hidden;margin-bottom:.7rem}

/* ---------- Galéria ---------- */
.gallery-item{border-radius:10px;overflow:hidden;border:1px solid var(--evox-line);background:var(--evox-white)}
.gallery-item .ph{
  aspect-ratio:4/3;background:repeating-linear-gradient(45deg,#E7ECEA,#E7ECEA 12px,#EFF2F1 12px,#EFF2F1 24px);
  display:flex;align-items:center;justify-content:center;color:var(--evox-ink-soft);
  font-family:'JetBrains Mono',monospace;font-size:.75rem;
}
.gallery-item .cap{padding:.8rem 1rem;font-size:.88rem;color:var(--evox-ink-soft)}

/* ---------- Footer ---------- */
.footer-evox{background:var(--evox-ink);color:#B9C2BE;padding:3rem 0 1.5rem;font-size:.9rem}
.footer-evox h5{color:#fff;font-family:'Archivo',sans-serif;font-size:1rem;margin-bottom:1rem}
.footer-evox a{color:#B9C2BE;text-decoration:none}
.footer-evox a:hover{color:var(--evox-bus)}
.footer-evox .brand{font-family:'Archivo',sans-serif;font-weight:800;font-size:1.3rem;color:#fff}
.footer-evox .brand .dot{color:var(--evox-bus)}
.footer-evox hr{border-color:#3A443F}
.footer-bottom{font-size:.8rem;color:#7E8983}

/* ---------- Egyéb ---------- */
.checklist{list-style:none;padding:0}
.checklist li{padding-left:1.7rem;position:relative;margin-bottom:.55rem;color:var(--evox-ink-soft)}
.checklist li::before{content:"✓";position:absolute;left:0;color:var(--evox-bus);font-weight:700}
:focus-visible{outline:2.5px solid var(--evox-copper);outline-offset:2px}

/* ---------- One-page kiegészítések ---------- */
section[id]{scroll-margin-top:76px}
.navbar-evox .nav-link.active{color:var(--evox-green);font-weight:600}
.process-step{display:flex;gap:1rem;margin-bottom:1.4rem}
.process-step .num{
  flex:0 0 40px;height:40px;border-radius:50%;
  background:rgba(58,170,53,.12);color:var(--evox-green);
  font-family:'JetBrains Mono',monospace;font-weight:500;
  display:flex;align-items:center;justify-content:center;
}
.process-step h3{font-size:1rem;margin-bottom:.25rem}
.process-step p{color:var(--evox-ink-soft);font-size:.92rem;margin:0}
.audience-tag{
  display:inline-block;font-family:'JetBrains Mono',monospace;font-size:.68rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--evox-copper);
  border:1px solid var(--evox-copper);border-radius:4px;padding:.15rem .5rem;margin-bottom:.6rem;
}

/* ---------- Logó a fejlécben/láblécben ---------- */
.navbar-evox .navbar-brand{padding:.35rem 0}
.navbar-evox .navbar-brand img{display:block}
