:root{
  --accent:#ef4127; --accent-2:#ff8a75; --top-rail:#686868;
  --bg:#0b0f10; --card-bg:#12181b; /* picit világosabb, hogy elváljon a háttértől */
  --text:#f3f6f8; --muted:#c9d1d5;
  --border:rgba(255,255,255,0.18); /* erősebb alap kontúr */
  --border-hover:rgba(255,255,255,0.32);
  --bs-font-sans-serif:'Montserrat',system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif;
}

html,body{height:100%}
body{
  min-height:100svh; display:flex; flex-direction:column;
  background:var(--bg); color:var(--text); font-family:var(--bs-font-sans-serif);
}
main{flex:1 0 auto}

/* ===== top rail ===== */
.top-rail{background:var(--top-rail); height:36px; display:flex; align-items:center; justify-content:center}
.top-rail__logo{max-height:22px; width:auto; object-fit:contain; -webkit-user-drag:none; user-select:none}

/* ===== header ===== */
.page-title{font-size:clamp(1.6rem,2.4vw,2.2rem); font-weight:700; margin-bottom:.5rem}
.page-intro{color:var(--muted); max-width:60ch; margin:0 auto}

/* ===== form – LÁTHATÓBB MEZŐK ===== */
.form-label{font-weight:600; color:#e9eef1}
.text-accent{color:var(--accent)}

/* szövegmezők */
.form-control {
  background: #151b1e; /* picit világosabb, hogy a szöveg kontrasztos maradjon */
  border: 1.5px solid var(--border);
  color: #f6f9fa; /* világosabb szöveg */
  border-radius: .6rem;
  padding: .72rem .9rem;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}

.form-control::placeholder {
  color: #8f9aa3;
  opacity: 0.9;
}

.form-control:hover {
  border-color: var(--border-hover);
}

.form-control:focus {
  background: #1b2225; /* kicsit világosabb fókusz-háttér */
  color: #ffffff; /* fókuszban teljesen fehér szöveg */
  border-color: var(--accent);
  box-shadow: 0 0 0 .25rem rgba(239,65,39,.25);
  outline: 0;
}

/* invalid/valid (Bootstrap) */
.was-validated .form-control:invalid,
.form-control.is-invalid{
  border-color:#dc3545;
  box-shadow:0 0 0 .2rem rgba(220,53,69,.2);
}
.was-validated .form-control:valid,
.form-control.is-valid{
  border-color:#198754;
  box-shadow:none;
}

/* jelölőnégyzetek + rádiók – nagyobb, kontrasztosabb */
.form-check-input{
  width:1.15rem; height:1.15rem;
  background-color:#101518;
  border:2px solid var(--border);
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
  box-shadow:none;
  cursor:pointer;
}
.form-check-input:hover{border-color:var(--border-hover)}
.form-check-input:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 .2rem rgba(239,65,39,.25);
}

/* checkbox checked – fehér pipa vérnarancs alapon */
.form-check-input[type="checkbox"]:checked{
  background-color:var(--accent);
  border-color:var(--accent);
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='white' d='M6.173 11.414L2.757 8l1.414-1.414L6.173 8.586l5.657-5.657L13.243 4.343z'/%3e%3c/svg%3e");
  background-repeat:no-repeat;
  background-position:center;
  background-size:0.75rem 0.75rem;
}

/* rádió checked – vérnarancs kör, középen sötét pont */
.form-check-input[type="radio"]{
  border-radius:50%;
}
.form-check-input[type="radio"]:checked{
  background-color:var(--accent);
  border-color:var(--accent);
  box-shadow:inset 0 0 0 4px #0f1416;
}

/* jelölők melletti címkék */
.form-check-label{color:#e1e7ea}

/* hint */
.form-hint{color:var(--muted); font-size:.9rem; margin-top:.25rem}

/* ===== gombok ===== */
.btn-accent-outline{
  position:relative; border:2px solid var(--accent); color:var(--accent); background:transparent;
  border-radius:999px; padding:.75rem 1rem; font-weight:600; overflow:hidden; transition:color .25s ease, transform .2s ease; z-index:0;
}
.btn-accent-outline::before{content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--accent) 0%,var(--accent-2) 100%); transform:translateX(-100%); transition:transform .45s ease; z-index:-1}
.btn-accent-outline:hover{color:#fff; border-color:transparent; transform:translateY(-1px); box-shadow:0 4px 14px rgba(239,65,39,.35)}
.btn-accent-outline:hover::before{transform:translateX(0)}
.btn-accent-outline:active{transform:scale(.98)}

.btn-secondary-ghost{border:1px solid rgba(255,255,255,.15); color:var(--text); background:transparent; border-radius:999px; padding:.75rem 1rem}
.btn-secondary-ghost:hover{border-color:rgba(255,255,255,.3); background:rgba(255,255,255,.04)}

/* ===== footer ===== */
.site-footer{
  background:#0d0d0d;
  padding:1.5rem 1rem;
  text-align:center;
  border-top:1px solid rgba(255,255,255,0.08);
  margin-top:clamp(2rem, 6vw, 4rem);
  color:#666;
  font-size:0.85rem;
  letter-spacing:0.02em;
}

.site-footer .footer-text,
.site-footer .footer-copy{
  color:#666;
  font-size:0.85rem;
  margin:0 0 .5rem 0;
  font-weight:500;
  letter-spacing:0.02em;
}

.site-footer .footer-links{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  justify-content:center;
  gap:1.5rem;
  flex-wrap:wrap;
}

.site-footer .footer-links a,
.site-footer .footer-link{
  color:#666;
  font-size:0.85rem;
  text-decoration:none;
  transition:color .2s ease;
}

.site-footer .footer-links a:hover,
.site-footer .footer-link:hover{
  color:var(--accent);
}

.site-footer .footer-galahad-btn{
  color:inherit;
  text-decoration:none;
  font-weight:600;
  cursor:pointer;
  transition:color .25s ease;
}

.site-footer .footer-galahad-btn:hover,
.site-footer .footer-galahad-btn:focus{
  color:var(--accent);
  outline:none;
}

@media (max-width:576px){
  .site-footer{
    padding:2rem 1rem 2.5rem 1rem;
  }

  .site-footer .footer-text,
  .site-footer .footer-copy{
    font-size:0.9rem;
    line-height:1.4;
    margin-bottom:1rem;
  }

  .site-footer .footer-links{
    flex-direction:column;
    align-items:center;
    gap:.6rem;
  }

  .site-footer .footer-links a{
    font-size:0.95rem;
  }
}

.site-footer .brand{
  color: var(--accent);
  font-weight: 600;
}

/* ===== FOOTER (BOOTSTRAP-LINK OVERRIDE) ===== */
.site-footer a{
  color: inherit;
  text-decoration: none;
}

.site-footer a:hover,
.site-footer a:focus{
  color: var(--accent);
  text-decoration: none;
  outline: none;
}

/* a lista pontok/behúzás biztos nullázása */
.site-footer .footer-links{
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.site-footer .footer-galahad-btn{
  font-weight: 600;
  cursor: pointer;
}
