.elementor-70 .elementor-element.elementor-element-e99584c{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-70 .elementor-element.elementor-element-dde63dc{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:72px;--padding-bottom:96px;--padding-left:40px;--padding-right:40px;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-field-group.recaptcha_v3-bottomleft, .elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-field-type-html{padding-bottom:0px;}.elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-70 .elementor-element.elementor-element-06ddf3e .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-button[type="submit"]{color:#ffffff;}.elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-70 .elementor-element.elementor-element-06ddf3e .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-70 .elementor-element.elementor-element-06ddf3e .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-70 .elementor-element.elementor-element-06ddf3e .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-70 .elementor-element.elementor-element-06ddf3e{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-70 .elementor-element.elementor-element-5665b49{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-70 .elementor-element.elementor-element-dde63dc{--content-width:720px;}}@media(max-width:1024px){.elementor-70 .elementor-element.elementor-element-dde63dc{--padding-top:64px;--padding-bottom:80px;--padding-left:32px;--padding-right:32px;}}@media(max-width:767px){.elementor-70 .elementor-element.elementor-element-dde63dc{--padding-top:40px;--padding-bottom:64px;--padding-left:20px;--padding-right:20px;}}/* Start custom CSS *//* aed65422 quiz page (70): appearance only, canvas design tokens (V3Asztali / page 90).
   Fields, names, submit target and step logic are untouched; everything here is presentation. */
.elementor-70 .elementor-widget-form { --kv-ink: #101613; --kv-muted: #4E5A54; --kv-accent: #1F5D4C; --kv-accent-hover: #17483B;
  --kv-surface: #F0F4F2; --kv-soft: #DCE9E3; --kv-line: #DCE2DF;
  --kv-display: "Archivo", "Helvetica Neue", Arial, sans-serif; --kv-body: "Source Serif 4", Georgia, serif;
  --kv-ui: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; }
/* The quiz page itself needs no "fill in the quiz" call to action in the shared header. */
.elementor-70 .lc-fejlec .elementor-widget-button { display: none; }

/* Step indicator -> thin segmented progress bar (numbers/labels hidden; the counter line names the step). */
.elementor-70 .elementor-widget-form .e-form__indicators { display: flex; flex-wrap: nowrap; gap: 6px; margin: 0 0 40px; padding: 0; }
.elementor-70 .elementor-widget-form .e-form__indicators__indicator { flex: 1 1 0; min-width: 0; height: 4px; padding: 0; margin: 0; border-radius: 2px; background: var(--kv-line); }
.elementor-70 .elementor-widget-form .e-form__indicators__indicator--state-completed,
.elementor-70 .elementor-widget-form .e-form__indicators__indicator--state-active { background: var(--kv-accent); }
.elementor-70 .elementor-widget-form .e-form__indicators__indicator__number,
.elementor-70 .elementor-widget-form .e-form__indicators__indicator__label,
.elementor-70 .elementor-widget-form .e-form__indicators__indicator__separator { display: none; }

/* The step bars carry no visible text, but Elementor's default global (kit accent = Roboto 500) on them made the browser
   download a Roboto face nothing shows. Our UI face instead (already loaded); scoped with the widget id to beat post-70.css. */
.elementor-70 .elementor-element.elementor-element-06ddf3e .e-form__indicators__indicator,
.elementor-70 .elementor-element.elementor-element-06ddf3e .e-form__indicators__indicator__label,
.elementor-70 .elementor-element.elementor-element-06ddf3e .e-form__indicators__indicator__progress__meter { font-family: var(--kv-ui); font-weight: 600; }

/* Field groups: no Elementor side gutters, explicit vertical rhythm. */
.elementor-70 .elementor-widget-form .elementor-form-fields-wrapper { margin: 0; }
.elementor-70 .elementor-widget-form .elementor-field-group { padding: 0; margin: 0 0 20px; }
.elementor-70 .elementor-widget-form .elementor-field-type-html { margin: 0; }

/* Counter = canvas eyebrow. Bottom margin 9 px + the widget's own 10 px row gap = canvas / page 90 eyebrow -> H2 distance (PX 12055 J2). */
.elementor-70 .elementor-widget-form .kviz-szamlalo { font-family: var(--kv-ui); font-size: 13px; font-weight: 600; line-height: 1.65;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--kv-accent); margin: 0 0 9px; }

/* Question = canvas H2; answers = the canvas "first question" list (2 px accent rule, ring markers). */
.elementor-70 .elementor-widget-form .elementor-field-type-radio { margin: 0; }
.elementor-70 .elementor-widget-form .elementor-field-type-radio > .elementor-field-label { display: block; padding: 0; margin: 0 0 26px;
  font-family: var(--kv-display); font-size: 38px; font-weight: 700; line-height: 1.16; letter-spacing: -0.02em; color: var(--kv-ink);
  max-width: 24ch; text-wrap: pretty; }
.elementor-70 .elementor-widget-form .kviz-valaszkartya { display: block; margin: 0; border-top: 2px solid var(--kv-accent); }
.elementor-70 .elementor-widget-form .kviz-valaszkartya .elementor-field-option { display: block; position: relative; margin: 0; padding: 0;
  border-bottom: 1px solid var(--kv-line); }
.elementor-70 .elementor-widget-form .kviz-valaszkartya .elementor-field-option input { position: absolute; left: 4px; top: 22px; width: 20px; height: 20px;
  margin: 0; opacity: 0; }
.elementor-70 .elementor-widget-form .kviz-valaszkartya .elementor-field-option label { display: block; position: relative; margin: 0; padding: 18px 4px 18px 40px;
  cursor: pointer; font-family: var(--kv-body); font-size: 18px; font-weight: 400; line-height: 1.55; color: var(--kv-ink); }
.elementor-70 .elementor-widget-form .kviz-valaszkartya .elementor-field-option label::before { content: ""; position: absolute; left: 4px; top: 22px;
  width: 20px; height: 20px; box-sizing: border-box; border: 2px solid var(--kv-accent); border-radius: 50%; background: #FFFFFF; }
.elementor-70 .elementor-widget-form .kviz-valaszkartya .elementor-field-option label:hover { background: var(--kv-surface); }
.elementor-70 .elementor-widget-form .kviz-valaszkartya .elementor-field-option input:checked + label { background: var(--kv-surface); }
.elementor-70 .elementor-widget-form .kviz-valaszkartya .elementor-field-option input:checked + label::before { background: var(--kv-accent); box-shadow: inset 0 0 0 3px #FFFFFF; }
.elementor-70 .elementor-widget-form .kviz-valaszkartya .elementor-field-option input:focus-visible + label::before { outline: 2px solid var(--kv-accent); outline-offset: 2px; }

/* Gate step: intro = canvas H2 + body text. */
.elementor-70 .elementor-widget-form .kviz-kapu-cim { font-family: var(--kv-display); font-size: 38px; font-weight: 700; line-height: 1.16;
  letter-spacing: -0.02em; color: var(--kv-ink); margin: 0 0 26px; max-width: 24ch; text-wrap: pretty; }
.elementor-70 .elementor-widget-form .kviz-kapu-bevezeto { font-family: var(--kv-body); font-size: 19px; line-height: 1.65; color: var(--kv-ink); margin: 0 0 18px; }
.elementor-70 .elementor-widget-form .elementor-field-group-kapu_bevezeto { margin: 0 0 18px; }

/* Text inputs and their labels. */
.elementor-70 .elementor-widget-form .elementor-field-group:not(.elementor-field-type-radio) > .elementor-field-label { display: block; padding: 0; margin: 0 0 8px;
  font-family: var(--kv-ui); font-size: 14px; font-weight: 600; line-height: 1.4; color: var(--kv-ink); }
.elementor-70 .elementor-widget-form .elementor-field-group .elementor-field-textual { min-height: 52px; padding: 14px 16px; border: 1px solid var(--kv-muted);
  border-radius: 2px; background: #FFFFFF; color: var(--kv-ink); font-family: var(--kv-ui); font-size: 16px; line-height: 1.4; box-shadow: none; }
.elementor-70 .elementor-widget-form .elementor-field-group .elementor-field-textual::placeholder { color: var(--kv-muted); opacity: 0.75; }
.elementor-70 .elementor-widget-form .elementor-field-group .elementor-field-textual:focus { border-color: var(--kv-accent); outline: 2px solid var(--kv-accent); outline-offset: 0; }

/* Gate step rhythm (PX 12055 J1): a field -> next label gap clearly wider than label -> own field (8 px).
   Scoped with the widget id: Elementor's per-widget row gap (.elementor-element-06ddf3e .elementor-field-group, 10 px) otherwise wins.
   Only the groups that are followed by another labelled group; the last box -> buttons distance is unchanged. */
.elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-field-group.elementor-field-group-keresztnev,
.elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-field-group.elementor-field-group-cegnev,
.elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-field-group.elementor-field-group-email { margin-bottom: 24px; }
.elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-field-group.elementor-field-group-adatkezeles { margin-bottom: 21px; }

/* Acceptance boxes: canvas square marker (20 px, 2 px accent). */
.elementor-70 .elementor-widget-form .elementor-field-type-acceptance .elementor-field-subgroup { display: block; }
.elementor-70 .elementor-widget-form .elementor-field-type-acceptance .elementor-field-option { display: flex; align-items: flex-start; gap: 12px; margin: 0; }
.elementor-70 .elementor-widget-form .elementor-field-type-acceptance input[type="checkbox"] { -webkit-appearance: none; appearance: none; flex: 0 0 20px; width: 20px; height: 20px;
  margin: 3px 0 0; border: 2px solid var(--kv-accent); border-radius: 2px; background: #FFFFFF; cursor: pointer; }
.elementor-70 .elementor-widget-form .elementor-field-type-acceptance input[type="checkbox"]:checked { background: var(--kv-accent)
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2.2'/%3E%3C/svg%3E") center / 14px no-repeat; }
.elementor-70 .elementor-widget-form .elementor-field-type-acceptance input[type="checkbox"]:focus-visible { outline: 2px solid var(--kv-accent); outline-offset: 2px; }
.elementor-70 .elementor-widget-form .elementor-field-type-acceptance .elementor-field-option label { margin: 0; font-family: var(--kv-body); font-size: 17px;
  line-height: 1.55; color: var(--kv-ink); cursor: pointer; }
.elementor-70 .elementor-widget-form .elementor-field-type-acceptance .elementor-field-option label a { color: var(--kv-accent); text-decoration: underline; text-underline-offset: 3px; }

/* Buttons: canvas solid (next / submit) and outline (previous), left aligned, natural width.
   Scoped with the widget id: Elementor's own per-widget button CSS (.elementor-element-06ddf3e ...) otherwise wins. */
.elementor-70 .elementor-widget-form .e-form__buttons { display: flex; flex-wrap: wrap; gap: 12px; margin: 36px 0 0; padding: 0; }
.elementor-70 .elementor-widget-form .e-form__buttons__wrapper { flex: 0 0 auto; width: auto; max-width: none; margin: 0; padding: 0; }
.elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-button.elementor-button { width: auto; min-height: 0; padding: 16px 26px;
  border: 1px solid var(--kv-accent); border-radius: 2px; background: var(--kv-accent); color: #FFFFFF; font-family: var(--kv-ui); font-size: 16px;
  font-weight: 600; line-height: 1.2; letter-spacing: 0; text-transform: none; }
.elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-button.e-form__buttons__wrapper__button-previous { background: transparent; color: var(--kv-ink); }
.elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-button.elementor-button:hover,
.elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-button.elementor-button:focus-visible {
  background: var(--kv-accent-hover); border-color: var(--kv-accent-hover); color: #FFFFFF; }
.elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-button.elementor-button:focus-visible { outline: 2px solid var(--kv-accent); outline-offset: 2px; }
.elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-button .elementor-button-text { color: inherit; }
.elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-button.elementor-button[type="submit"] { background: var(--kv-accent); border-color: var(--kv-accent); color: #FFFFFF; }
.elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-button.elementor-button[type="submit"]:hover,
.elementor-70 .elementor-element.elementor-element-06ddf3e .elementor-button.elementor-button[type="submit"]:focus-visible { background: var(--kv-accent-hover); border-color: var(--kv-accent-hover); }

/* Messages after sending / on error. */
.elementor-70 .elementor-widget-form .elementor-message { font-family: var(--kv-body); font-size: 19px; line-height: 1.65; margin: 28px 0 0; }
.elementor-70 .elementor-widget-form .elementor-message-success { color: var(--kv-ink); background: var(--kv-soft); border-left: 3px solid var(--kv-accent); padding: 18px 22px; }
/* The eicons glyph Elementor puts before the message is not loaded on this canvas page (measured: an empty box rendered). */
.elementor-70 .elementor-widget-form .elementor-message::before { content: none; display: none; }
.elementor-70 .elementor-widget-form .elementor-message-success h2, .elementor-70 .elementor-widget-form .elementor-message-success h3 {
  font-family: var(--kv-display); font-size: 28px; font-weight: 700; line-height: 1.2; letter-spacing: -0.02em; color: var(--kv-ink); margin: 0 0 14px; }
.elementor-70 .elementor-widget-form .elementor-message-success p { margin: 0 0 14px; }
.elementor-70 .elementor-widget-form .elementor-message-success p:last-child { margin-bottom: 0; }
.elementor-70 .elementor-widget-form .elementor-message-success small { display: block; font-family: var(--kv-ui); font-size: 14px; line-height: 1.5; color: var(--kv-muted); }
.elementor-70 .elementor-widget-form .elementor-message-danger, .elementor-70 .elementor-widget-form .elementor-error .elementor-message { font-family: var(--kv-ui); font-size: 15px; }

@media (max-width: 1024px) {
  .elementor-70 .elementor-widget-form .elementor-field-type-radio > .elementor-field-label, .elementor-70 .elementor-widget-form .kviz-kapu-cim { font-size: 32px; }
}
@media (max-width: 767px) {
  .elementor-70 .elementor-widget-form .elementor-field-type-radio > .elementor-field-label, .elementor-70 .elementor-widget-form .kviz-kapu-cim { font-size: 28px; }
  .elementor-70 .elementor-widget-form .kviz-valaszkartya .elementor-field-option label { font-size: 17px; }
  .elementor-70 .elementor-widget-form .kviz-kapu-bevezeto { font-size: 17px; }
  .elementor-70 .elementor-widget-form .e-form__indicators { margin-bottom: 28px; }
}

/* Per-answer feedback line and the K4 halfway line (aed65422 N1/N2), inserted by the page-script widget.
   Acceptance spec 2026-08-30 item 5 (muted, IBM Plex Sans 15/1.55, 3 px accent rule, 16 px indent, no animation).
   Javito 2/2 J2: the line sits inside the CHOSEN answer's row, 14 px under its box, its rule aligned with the answer text
   (40 px), 18 px above the row's divider (= the label's own bottom padding). Empty line = no box. */
.elementor-70 .elementor-widget-form .kviz-visszajelzes { width: auto; box-sizing: border-box; margin: 14px 4px 18px 40px; padding: 0 0 0 16px; border-left: 3px solid var(--kv-accent);
  font-family: var(--kv-ui); font-size: 15px; font-weight: 400; line-height: 1.55; color: var(--kv-muted); }
.elementor-70 .elementor-widget-form .kviz-visszajelzes:empty { margin: 0; padding: 0; border: 0; }
/* The stable live region that speaks the feedback: visually hidden, out of the field group's flex flow. */
.elementor-70 .elementor-widget-form .kviz-visszajelzes-hang { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
/* The field group is a wrapping flex row (Elementor); the halfway line takes a full row of its own.
   J1 (PX 12076): about 30 px under the answers, 16 px above the button row (spec item 7). */
.elementor-70 .elementor-widget-form .kviz-fele { flex: 0 0 100%; width: 100%; box-sizing: border-box;
  margin: 30px 0 0; font-family: var(--kv-ui); font-size: 14px; font-weight: 400; line-height: 1.5; color: var(--kv-muted); }
.elementor-70 .elementor-widget-form .e-form__step:has(.kviz-fele) .e-form__buttons { margin-top: 6px; }
.elementor-70 .kviz-visszajelzo-motor { display: none; }

/* J3: after a successful send only the success box stays; the step bar and the fields (question, buttons) are hidden.
   Pure CSS on Elementor's own success markup, so it needs no hook into the form script. */
.elementor-70 .elementor-element-06ddf3e form.elementor-form:has(> .elementor-message-success) > :not(.elementor-message) { display: none; }
.elementor-70 .elementor-element-06ddf3e form.elementor-form:has(> .elementor-message-success) > .elementor-message-success { margin-top: 0; }/* End custom CSS */