.tfgy-nyiltnap-form-wrap{
  --tfgy-navy: var(--color-navy, #1B3A6B);
  --tfgy-navy-deep: var(--color-navy-deep, #122A50);
  --tfgy-gold: var(--color-gold, #C9A227);
  --tfgy-paper: var(--color-paper, #F7F6F2);
  --tfgy-ink: var(--color-ink, #14213D);
  --tfgy-ink-soft: var(--color-ink-soft, #4A5568);
  --tfgy-line: var(--color-line, #DCD8CC);
  --tfgy-radius: var(--radius-s, 4px);

  max-width: 560px;
  margin: 0 auto;
  font-family: var(--font-body, "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);
  color: var(--tfgy-ink);
}

/*
 * Ez a szabály minden lehetséges esetre bebiztosítja a betűtípust:
 *
 * 1. A böngészők alapértelmezés szerint az űrlap-elemeket (input,
 *    select, textarea, button, legend) NEM örökletetik a szülőtől a
 *    betűtípust — ezek saját, platformfüggő "natív" betűtípust
 *    használnak, hacsak explicit módon elő nem írjuk nekik.
 * 2. Ha valaki a WordPress szerkesztőben a rövidkódot egy "Kód"
 *    blokkba teszi, vagy rákapcsolja az inline "kód" formázást, a
 *    WordPress a rövidkódot AKKOR IS lecseréli a plugin valódi
 *    HTML-jére — az viszont fizikailag egy <code> tag BELSEJÉBEN
 *    marad, aminek a böngésző alapból monospace betűtípust ad, és ezt
 *    MINDEN benne lévő elem örökli (címkék, szöveg, gomb — nem csak
 *    az űrlap-elemek). Ez a leggyakoribb oka annak, ha az űrlap
 *    "gépírógépesnek" néz ki, FÜGGETLENÜL attól, mit ír elő a téma.
 *
 * Ezért itt nem csak az űrlap-elemekre, hanem MINDEN, a wrap-en belüli
 * elemre (*) rákényszerítjük a téma betűtípusát, !important-tal — ez
 * az egyetlen mód, hogy ne számítson, milyen (esetleg hibás) HTML-
 * környezetbe kerül a rövidkód.
 */
.tfgy-nyiltnap-form-wrap,
.tfgy-nyiltnap-form-wrap *{
  font-family: var(--font-body, "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif) !important;
}

.tfgy-nyiltnap-letszam{
  font-size: 0.9rem;
  color: var(--tfgy-ink-soft);
  margin-bottom: 1rem;
  text-align: center;
}

.tfgy-nyiltnap-tipus-datum{
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--tfgy-navy);
  text-align: center;
  margin: 0 0 1rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.tfgy-nyiltnap-notice{
  padding: 1rem 1.2rem;
  border-radius: var(--tfgy-radius);
  font-size: 0.95rem;
  line-height: 1.5;
}
.tfgy-nyiltnap-notice-info{
  background: var(--tfgy-paper);
  border: 1px solid var(--tfgy-line);
  color: var(--tfgy-ink-soft);
}
.tfgy-nyiltnap-notice-error{
  background: #FBEAEA;
  border: 1px solid #E3A6A6;
  color: #7A1F1F;
}
.tfgy-nyiltnap-notice-success{
  background: #EAF5EE;
  border: 1px solid #A6D3B6;
  color: #1F5E37;
}

.tfgy-nyiltnap-form{
  background: #fff;
  border-top: 3px solid var(--tfgy-gold);
  border-radius: var(--tfgy-radius);
  box-shadow: 0 12px 28px rgba(20,33,61,0.1);
  padding: 1.75rem;
}

.tfgy-nyiltnap-form-messages:empty{ display: none; }
.tfgy-nyiltnap-form-messages{ margin-bottom: 1rem; }

.tfgy-field{ margin-bottom: 1.1rem; }
.tfgy-field label{
  display: block;
  font-weight: 600;
  font-size: 0.92rem;
  margin-bottom: 0.35rem;
  color: var(--tfgy-navy);
}
.tfgy-required{ color: #A10; margin-left: 0.15em; }

.tfgy-field input[type="text"],
.tfgy-field input[type="email"],
.tfgy-field input[type="tel"],
.tfgy-field select,
.tfgy-field textarea{
  width: 100%;
  padding: 0.65rem 0.8rem;
  border: 1px solid var(--tfgy-line);
  border-radius: var(--tfgy-radius);
  font-size: 1rem;
  font-family: inherit;
  color: var(--tfgy-ink);
  background: #fff;
  box-sizing: border-box;
}
.tfgy-field input:focus,
.tfgy-field select:focus,
.tfgy-field textarea:focus{
  outline: 2px solid var(--tfgy-gold);
  outline-offset: 1px;
  border-color: var(--tfgy-gold);
}
.tfgy-field textarea{ resize: vertical; min-height: 4.5em; }

.tfgy-field-consent{
  font-size: 0.86rem;
  color: var(--tfgy-ink-soft);
}
.tfgy-field-consent label{
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-weight: 400;
  color: var(--tfgy-ink-soft);
  cursor: pointer;
}
.tfgy-field-consent input[type="checkbox"]{
  margin-top: 0.2em;
  flex: none;
}
.tfgy-field-consent a{ color: var(--tfgy-navy); }

.tfgy-nyiltnap-honeypot{
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.tfgy-nyiltnap-submit{
  display: inline-block;
  width: 100%;
  padding: 0.85rem 1.4rem;
  background: var(--tfgy-navy);
  color: #fff;
  border: 0;
  border-radius: var(--tfgy-radius);
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color .15s ease;
}
.tfgy-nyiltnap-submit:hover{ background: var(--tfgy-navy-deep); }
.tfgy-nyiltnap-submit:disabled{ opacity: 0.6; cursor: not-allowed; }

.tfgy-field-error input,
.tfgy-field-error textarea{ border-color: #C0392B; }
.tfgy-invalid{ border-color: #C0392B !important; }

.tfgy-field-radiogroup{
  border: 0;
  margin: 0;
  padding: 0;
}
.tfgy-field-radiogroup legend{
  display: block;
  width: 100%;
  font-weight: 600;
  font-size: 0.92rem;
  margin-bottom: 0.5rem;
  color: var(--tfgy-navy);
  padding: 0;
}
.tfgy-radio-option{
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.6rem 0.8rem;
  border: 1px solid var(--tfgy-line);
  border-radius: var(--tfgy-radius);
  margin-bottom: 0.5rem;
  font-weight: 400;
  color: var(--tfgy-ink);
  cursor: pointer;
}
.tfgy-radio-option:last-child{ margin-bottom: 0; }
.tfgy-radio-option input[type="radio"]{ flex: none; }
.tfgy-radio-option:has(input:checked){
  border-color: var(--tfgy-gold);
  background: var(--tfgy-paper);
}
.tfgy-radio-option-full{
  opacity: 0.55;
  cursor: not-allowed;
  color: var(--tfgy-ink-soft);
}
.tfgy-radio-full-label{
  font-size: 0.82rem;
  font-style: italic;
  margin-left: auto;
}
