/* Űrlapmotor – közös stílus (iframe-be ágyazott űrlap). Inline stílus nincs: a CSP style-src 'self'.
   Arculat: a :root változóit a partner opcionális tema\tema.css-e írja felül (a build a motor CSS-e UTÁN linkeli).
   Az alapértékek a 2026-10-24-i (Bútorium) megjelenéssel azonosak. */
:root {
  --u-betu: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --u-oldal-hatter: transparent;
  --u-szoveg: #2b2b2b;
  --u-mezo-hatter: #fff;
  --u-keret: #d6d6d1;
  --u-helyorzo: #8a8a84;
  --u-megj: #5f5f5a;
  --u-kiemeles: #55cdb1;            /* gomb háttere, fókusz, pipa, köszönő-sáv */
  --u-kiemeles-sotet: #3bbea0;      /* gomb hover/fókusz kitöltése */
  --u-fokusz-arnyek: rgba(85, 205, 177, .35);
  --u-gomb-szoveg: #fff;
  --u-gomb-fokusz: #1a1a1a;
  --u-link: #2b2b2b;
  --u-hiba: #b3261e;
  --u-hiba-keret: #e8b4b0;
  --u-hiba-hatter: #fdf3f2;
  --u-hiba-szoveg: #8c1d18;
}
html, body { margin: 0; padding: 0; background: var(--u-oldal-hatter); }
body { font-family: var(--u-betu); font-size: 16px; line-height: 1.45; color: var(--u-szoveg); }
.u { box-sizing: border-box; padding: 4px 4px 8px; }
.u-mezo { margin: 0 0 14px; }
.u-cimke { display: block; font-weight: 600; font-size: 15px; margin: 0 0 6px; }
.u-kot { color: var(--u-hiba); margin-left: 2px; }
.u-be { box-sizing: border-box; width: 100%; font: inherit; padding: 10px 12px; border: 1px solid var(--u-keret); border-radius: 8px; background: var(--u-mezo-hatter); color: inherit; }
textarea.u-be { min-height: 92px; resize: vertical; }
select.u-be { min-height: 44px; cursor: pointer; }
.u-be::placeholder { color: var(--u-helyorzo); }
.u-be:focus { outline: none; border-color: var(--u-kiemeles); box-shadow: 0 0 0 3px var(--u-fokusz-arnyek); }
.u-be[aria-invalid="true"] { border-color: var(--u-hiba); }
.u-hiba { margin: 6px 0 0; color: var(--u-hiba); font-size: 14px; }
.u-pipa { display: flex; gap: 10px; align-items: flex-start; }
.u-pipa input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--u-kiemeles); flex: none; }
.u-pipa input:focus-visible { outline: 2px solid var(--u-kiemeles); outline-offset: 2px; }
.u-pipa .u-cimke { font-weight: 400; margin: 0; }
.u-pipa a { color: var(--u-link); text-decoration: underline; text-underline-offset: 2px; }
/* Rádiógomb-csoport (valasztas, megjelenes: gombok) */
.u-csoport { border: 0; padding: 0; min-width: 0; }
.u-csoport > legend { padding: 0; }
.u-opciok { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.u-opcio { display: flex; align-items: center; gap: 8px; min-height: 44px; }
.u-opcio input { width: 20px; height: 20px; margin: 0; accent-color: var(--u-kiemeles); flex: none; cursor: pointer; }
.u-opcio input:focus-visible { outline: 2px solid var(--u-kiemeles); outline-offset: 2px; }
.u-opcio label { cursor: pointer; }
.u-csoport[aria-invalid="true"] .u-opcio input { outline: 1px solid var(--u-hiba); outline-offset: 1px; }
.u-hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.u-megj { margin: 0 0 12px; font-size: 13px; color: var(--u-megj); }
.u-allapot { margin: 0 0 12px; padding: 10px 12px; border: 1px solid var(--u-hiba-keret); border-radius: 8px; background: var(--u-hiba-hatter); color: var(--u-hiba-szoveg); font-size: 15px; }
.u-gomb { position: relative; overflow: hidden; isolation: isolate; display: inline-block; font: inherit; font-weight: 700; font-size: 17px; line-height: 1.2;
  min-height: 48px; padding: 12px 28px; border: 0; border-radius: 8px; background: var(--u-kiemeles); color: var(--u-gomb-szoveg); cursor: pointer; -webkit-appearance: none; appearance: none; }
.u-gomb::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--u-kiemeles-sotet); transform: scaleX(0); transform-origin: left center; transition: transform .35s ease; }
.u-gomb:hover::before, .u-gomb:focus-visible::before { transform: scaleX(1); }
.u-gomb:focus-visible { outline: 2px solid var(--u-gomb-fokusz); outline-offset: 2px; }
.u-gomb[disabled] { cursor: progress; opacity: .85; }
.u-koszono { box-sizing: border-box; margin: 0; padding: 16px 18px; border: 1px solid var(--u-keret); border-left: 4px solid var(--u-kiemeles); border-radius: 8px; background: var(--u-mezo-hatter); font-size: 16px; }
.u-koszono:focus { outline: none; }
.u-koszono p { margin: 0; }
.u-koszono p + p { margin-top: 8px; }
.u-koszono .u-koszono-cim { font-size: 18px; font-weight: 700; line-height: 1.3; }
.u-koszono a { color: var(--u-link); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }
[hidden] { display: none !important; }
@media (max-width: 480px) { .u-gomb { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .u-gomb::before { transition: none; } }
