:root{
  --bg:#0b0f17;
  --panel:#0f1524;
  --text:#eaf0ff;
  --muted:#a9b4d0;
  --line:rgba(255,255,255,.08);
  --brand:#4f7cff;
  --brand2:#79a6ff;
  --ok:#23c483;
  --radius:18px;
  --shadow: 0 10px 30px rgba(0,0,0,.35);
  --wrap: 1100px;
  --pad: 18px;
  --font: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:var(--font);background:var(--bg);color:var(--text)}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 18px}

.site-header{
  position:sticky; top:0; z-index:10;
  background:rgba(11,15,23,.75); backdrop-filter: blur(10px);
  border-bottom:1px solid var(--line);
}
.header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:14px 0}
.brand{
    display:flex;
    align-items:center;
    padding-left: 12px; 
}
.brand-mark{
  width:34px;height:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--brand),var(--brand2));
  font-weight:800;
}
.brand-logo{
  height: 56px;
  width: auto;
  display:block;
  filter: drop-shadow(0 0 6px rgba(79,124,255,.35));
}


.brand-name{font-weight:800;letter-spacing:.2px}
.nav{display:flex;gap:14px;flex-wrap:wrap}
.nav a{color:var(--muted);padding:8px 10px;border-radius:10px}
.nav a:hover{background:rgba(255,255,255,.06);color:var(--text)}
.nav-right{display:flex;align-items:center;gap:12px}
.lang{display:flex;gap:8px}
.lang a{color:var(--muted);font-size:14px}
.lang a.active{color:var(--text);text-decoration:underline}

.site-main{padding:34px 0}
section{padding:28px 0}
.hero{
  padding:34px 0 24px;
}
.hero h1{font-size:42px;line-height:1.1;margin:0 0 12px}
.hero p{color:var(--muted);margin-top: 18px;font-size: 1.05rem;   /* ~19px */
  color: rgba(255,255,255,0.85); max-width:760px;margin:0 0 16px}
.micro{font-size:14px;color:var(--muted)}

h2{font-size:26px;margin:0 0 12px}
h4{font:Arial;font-size:18px;margin:12 0 5px;color:gray}
ul,ol{margin:0;padding-left:18px;color:var(--muted)}
li{margin:8px 0}
ul li {
  margin-bottom: 12px;
  line-height: 1.6;
}
ul {
  margin-top: 18px;
}

.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}

.cardbest{
  background:linear-gradient(180deg, rgba(60,120,255,.10), rgba(255,255,255,.04));
  border:3px solid var(--line);
  border-radius:var(--radius);
  padding:20px;
  box-shadow:0 10px 30px rgba(60,120,255,.15);
}
.cardbest h3{
  margin:0 0 10px;
  font-size:20px;
  font-weight:700;
  letter-spacing:.2px;
}
.cardbest p{
  margin:0 0 16px;
  color:rgba(255,255,255,.78);
}
.fine{margin:0 0 14px;color:var(--muted)}

.card{
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:18px;
  box-shadow:var(--shadow);
}
.card h3{margin:0 0 8px;font-size:18px}
.card p{margin:0 0 14px;color:var(--muted)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 16px;border-radius:14px;
  border:1px solid var(--line);
  font-weight:700;
}
.btn.small{padding:10px 12px;border-radius:12px;font-size:14px}
.btn.primary{
  background:linear-gradient(135deg,var(--brand),var(--brand2));
  border-color:transparent;
  color:#071022;
}
.btn.primary:hover{filter:brightness(1.05)}
.btn.secondary{color:var(--text)}
.btn.secondary:hover{background:rgba(255,255,255,.06)}
.btn.besteforts{
  background:rgba(60,120,255,.18);
  color:#fff;
  border:1px solid rgba(60,120,255,.45);
  font-weight:600;
  pointer-events:none;
}

.btn.besteforts:hover{
  background:rgba(60,120,255,.25);
}


.cta{
  background:linear-gradient(180deg, rgba(79,124,255,.12), rgba(255,255,255,.02));
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.lead-form{
  margin-top:14px;
  background:rgba(255,255,255,.03);
  color: #000000;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:18px;
}
.grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
label{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--muted)}
input,select,textarea{
  width:100%;
  background:rgba(0,0,0,.25);
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px 12px;
  color:var(--text);
  outline:none;
}
input:focus,select:focus,textarea:focus{border-color:rgba(79,124,255,.55)}
.checkbox{flex-direction:row;align-items:center;gap:10px}
.checkbox input{width:auto}
.full{grid-column:1 / -1}
.mathcaptcha .mathrow{display:flex;gap:10px;align-items:center}
.mathcaptcha small{color:var(--muted)}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}

.site-footer{
  border-top:1px solid var(--line);
  padding:26px 0;
  color:var(--muted);
}
.footer-inner{display:flex;gap:18px;justify-content:space-between;flex-wrap:wrap}
.footer-links{display:flex;gap:12px;flex-wrap:wrap}
.footer-links a{color:var(--muted)}
.footer-links a:hover{color:var(--text)}

@media (max-width: 820px){
  .cards{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr}
  .hero h1{font-size:34px}
  .nav{display:none} /* keep simple v1; later add hamburger */
}
.brand{
  display:flex;
  align-items:center;
}

.brand-logo{
  display:block;
  width:auto;
}

.brand-logo--icon{
  height: 50px;
}

.brand-logo--full{
  height: 50px;
}

/* Mobil: csak ikon */
@media (max-width: 820px){
  .brand-logo--full{ display:none; }
  .brand-logo--icon{ height: 42px; }
}

/* Desktop: csak full */
@media (min-width: 821px){
  .brand-logo--icon{ display:none; }
}
.footer-brand-logo--full{
  height: 60px;
}
/* =========================
   FORM – ANTI SPAM LAYOUT
   ========================= */
/* =========================
   FORM FIX: MATH CAPTCHA (FINAL)
   ========================= */

.lead-form .mathcaptcha{
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;          /* ha szűk, kulturáltan törjön */
  justify-content: flex-start !important;
  text-align: left !important;
}

.lead-form .mathcaptcha label{
  display: inline-flex !important;
  flex-direction: row !important;       /* fontos, mert nálad a label alapból column */
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  white-space: nowrap !important;
  color: var(--muted);
}

.lead-form .mathcaptcha .mathrow{
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
}

.lead-form .mathcaptcha input[type="number"]{
  width: 88px !important;
  text-align: center !important;
}

.lead-form .mathcaptcha small{
  white-space: nowrap !important;
  opacity: .75 !important;
}

/* =========================
   FORM FIX: CHECKBOX PAIR
   ========================= */

/* ugyanabban a sorban 2 checkbox */
.lead-form .checkbox-pair{
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px 16px !important;
}

/* mobilon egymás alá */
@media (max-width: 520px){
  .lead-form .checkbox-pair{
    grid-template-columns: 1fr !important;
  }
}
html{ font-size: 18px; }
body{ line-height: 1.6; }
.muted{ color: rgba(255,255,255,.78) !important; } /* ha sötét háttér van */
}
.lead-form input,
.lead-form select,
.lead-form textarea{
  font-size: 1rem;
  min-height: 46px;
}

.lead-form label{
  font-size: 0.95rem;
}
.lead-form .checkbox{
  min-height: 44px;
}
.lead-form .checkbox input{
  width: 18px;
  height: 18px;
}

/* =========================
   SELECT / DROPDOWN READABILITY
   ========================= */

/* maga a mező */
.lead-form select{
  color-scheme: dark;                 /* kulcs: natív dropdown sötét mód */
  background: #0b0f17;
  color: rgba(255,255,255,.92);
  border: 1px solid rgba(255,255,255,.14);
  font-size: 1rem;
  min-height: 46px;
}

/* a legördülő lista opciói (nem minden böngésző engedi, de ahol igen: fixál) */
.lead-form select option{
  background: #ffffff;
  color: #0b0f17;
}

}

/* hover/selected állapot (ahol támogatott) */
.lead-form select option:checked{
  background: #162235;
}

/* fókusz (idősebbeknél fontos) */
.lead-form select:focus{
  outline: 2px solid rgba(79,127,255,.55);
  outline-offset: 2px;
}
/* =========================
   FORM: UNIFIED FIELDS
   ========================= */

.lead-form input,
.lead-form select,
.lead-form textarea{
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.92);
  border-radius: 14px;
  padding: 14px 16px;
  font-size: 18px;
  line-height: 1.2;
  min-height: 54px;
  width: 100%;
  box-sizing: border-box;
}

/* textarea ne legyen túl magas alapból */
.lead-form textarea{
  min-height: 120px;
  line-height: 1.5;
}

/* focus egységes */
.lead-form input:focus,
.lead-form select:focus,
.lead-form textarea:focus{
  outline: 2px solid rgba(79,127,255,.55);
  outline-offset: 2px;
  border-color: rgba(79,127,255,.55);
}

/* select: natív eltérések kisimítása */
.lead-form select{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 44px;               /* hely a nyílnak */
  color-scheme: dark;                /* natív dropdown sötét */
}

/* custom nyíl (egységesebb kinézet) */
.lead-form label{
  position: relative;
}

.lead-form label select{
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(255,255,255,.65) 50%),
    linear-gradient(135deg, rgba(255,255,255,.65) 50%, transparent 50%);
  background-position:
    calc(100% - 22px) 50%,
    calc(100% - 16px) 50%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

/* placeholder egységes */
.lead-form input::placeholder,
.lead-form textarea::placeholder{
  color: rgba(255,255,255,.55);
}

/* date mező placeholder (éééé...) halvány – feljebb húzzuk */
.lead-form input[type="date"]{
  color: rgba(255,255,255,.75);
}
.lead-form input[type="date"]:valid{
  color: rgba(255,255,255,.92);
}
/* Footer legal links: force 1 column */
.site-footer .footer-links.footer-links--legal{
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0.5rem !important;
  white-space: normal !important;
}

.site-footer .footer-links.footer-links--legal > a{
  display: block !important;
  width: 100% !important;
}


}
.main-nav ul {
  display: flex;
  gap: 24px;
}
.nav-toggle {
  display: none;
}
@media (max-width: 992px) {

  .main-nav {
    display: none;
    width: 100%;
  }

  .main-nav.active {
    display: block;
  }

  .main-nav ul {
    flex-direction: column;
    gap: 16px;
    padding: 20px 0;
  }

  .nav-toggle {
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: none;
    border: none;
    cursor: pointer;
  }

  .nav-toggle span {
    width: 26px;
    height: 3px;
    background: #fff;
    display: block;
  }
}


