/* =========================================================================
   Kapcsolatfelvételi form (kapcsolat.php) — a saját design-rendszerünkhöz
   igazított mezők, honeypot és üzenet-dobozok

   Reszponzív rétegek (a site 4 nézetéhez igazítva):
     - Monitor (>=1200px)  — az alábbi, feltétel nélküli alapszabályok
     - Laptop  (901-1199px) — az alábbi, feltétel nélküli alapszabályok
     - Tablet  (601-900px)  — lásd lejjebb, saját blokk
     - Telefon (<=600px)    — lásd lejjebb, saját blokk
   ========================================================================= */

.kf-form{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.kf-honeypot{
  position:absolute;
  left:-9999px;
  top:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}

.kf-row{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
}

.kf-field{
  flex:1 1 240px;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.kf-field label{
  font-size:13px;
  font-weight:600;
  color:var(--brand-fog);
}

.kf-required{
  color:#f87171;
}

.kf-hint-inline{
  font-weight:400;
  color:var(--brand-fog);
  opacity:0.7;
  font-size:12px;
}

.kf-field input[type="text"],
.kf-field input[type="email"],
.kf-field input[type="tel"],
.kf-field select,
.kf-field textarea{
  padding:11px 13px;
  border:1px solid rgba(255,255,255,0.18);
  border-radius:10px;
  background-color:rgba(255,255,255,0.04);
  color:var(--brand-paper);
  font-family:inherit;
  font-size:14.5px;
  resize:vertical;
}

.kf-field input::placeholder,
.kf-field textarea::placeholder{
  color:var(--brand-fog);
  opacity:0.6;
}

.kf-field input:focus,
.kf-field select:focus,
.kf-field textarea:focus{
  outline:none;
  border-color:var(--brand-teal);
}

.kf-field select option{
  background:var(--brand-navy-deep);
  color:var(--brand-fog);
}

.kf-hint{
  font-size:12px;
  color:var(--brand-fog);
  opacity:0.7;
}

.kf-field-error{
  font-size:12.5px;
  color:#f87171;
}

.kf-recaptcha{
  margin:4px 0;
}

.kf-message{
  border-left:3px solid;
}

.kf-message-siker{
  border-left-color:#4ade80;
  background-color:rgba(74,222,128,0.1);
}

.kf-message-hiba{
  border-left-color:#f87171;
  background-color:rgba(248,113,113,0.1);
}

/* --- Tablet (601-900px) --- */
@media (min-width:601px) and (max-width:900px){
  .kf-field input[type="text"],
  .kf-field input[type="email"],
  .kf-field input[type="tel"],
  .kf-field select,
  .kf-field textarea{
    padding:10px 12px;
    font-size:14px;
  }
}

/* --- Telefon (<=600px) --- */
@media (max-width:600px){
  .kf-row{
    flex-direction:column;
    gap:16px;
  }
}

html.theme-light .kf-field label{
  color:#3b4a5e;
}

html.theme-light .kf-field input[type="text"],
html.theme-light .kf-field input[type="email"],
html.theme-light .kf-field input[type="tel"],
html.theme-light .kf-field select,
html.theme-light .kf-field textarea{
  background-color:rgba(11,31,51,0.03);
  border-color:rgba(11,31,51,0.15);
  color:var(--brand-icon-navy);
}

html.theme-light .kf-field select option{
  background:#fff;
  color:#3b4a5e;
}

html.theme-light .kf-hint,
html.theme-light .kf-hint-inline{
  color:#5a6b80;
}

html.theme-light .kf-message-siker{
  background-color:rgba(21,128,61,0.08);
}

html.theme-light .kf-message-hiba{
  background-color:rgba(185,28,28,0.08);
}
