/* =====================================================================
   TechShow X. - Nevezési űrlap (Prizma design)
   FONTOS: a Divi/Extra téma felülírja a komponenseket (p, h2, h3, button,
   input, label, ul, section), ezért a szabályok GUARD-rétegben (!important)
   futnak, .tsn scope alatt. Tanulság: a Díjak-kártyák "ráfeszültek" a
   kártyára, mert a guard nem fedte az új elemeket.
   ===================================================================== */

.tsn{
  --ts-bg:#F4F5F8; --ts-surface:#FFFFFF; --ts-ink:#0A0B0E; --ts-ink-2:#5C616B; --ts-ink-3:#8A8F99;
  --ts-line:#E8EAF0;
  --ts-night:#0A0F1E; --ts-night-2:#121A30; --ts-night-line:rgba(255,255,255,.14);
  --ts-night-text:#C6CDDD; --ts-night-text-2:#9AA3B8;
  --ts-accent:#5227FF; --ts-accent-hover:#3D14E0;
  --ts-fin-neon:#22C8E8; --ts-pay-neon:#FF5FAD; --ts-bank-neon:#FFC233;
  --ts-ok:#0B8A5A;
  --ts-radius:12px; --ts-radius-s:8px; --ts-radius-pill:999px;
  --ts-font-display:'Schibsted Grotesk',-apple-system,BlinkMacSystemFont,sans-serif;
  --ts-font-body:'Space Grotesk',-apple-system,BlinkMacSystemFont,sans-serif;

  font-family:var(--ts-font-body) !important; color:var(--ts-ink) !important;
  line-height:1.5 !important; text-align:left !important;
}

/* ---------------------------------------------------------------
   HERO - teljes szélességű, sötét; a .tsn-body-n KÍVÜL van,
   ezért nem érinti a törzs 920px-es szélessége és a térköze.
   --------------------------------------------------------------- */
.tsn .tsn-hero{
  position:relative !important; overflow:hidden !important;
  background:var(--ts-night) !important; color:#fff !important;
  margin:0 !important; padding:0 !important;
}
.tsn .tsn-hero-bg{
  position:absolute !important; inset:0 !important; z-index:0 !important;
  background:
    radial-gradient(560px 360px at 18% 20%,rgba(34,200,232,0.16),transparent 70%),
    radial-gradient(640px 420px at 82% 30%,rgba(82,39,255,0.24),transparent 70%),
    radial-gradient(520px 380px at 55% 110%,rgba(240,50,140,0.14),transparent 70%),
    var(--ts-night) !important;
}
.tsn .tsn-hero-in{
  position:relative !important; z-index:2 !important;
  max-width:920px !important; margin:0 auto !important;
  padding:44px 20px 48px !important; text-align:center !important;
}
.tsn .tsn-hero-kicker{
  font-size:11.5px !important; font-weight:600 !important; letter-spacing:0.22em !important;
  text-transform:uppercase !important; color:var(--ts-night-text-2) !important;
}
.tsn .tsn-hero h1{
  margin:16px auto 0 !important; padding:0 !important; max-width:18ch !important;
  color:#fff !important; font-family:var(--ts-font-display) !important;
  font-weight:800 !important; letter-spacing:-0.02em !important; line-height:1.1 !important;
  font-size:clamp(30px,5.4vw,50px) !important; text-transform:none !important;
  text-wrap:balance;
}
.tsn .tsn-hero-motto{
  margin:14px auto 0 !important; max-width:52ch !important;
  color:var(--ts-night-text) !important; font-size:18px !important; line-height:1.6 !important;
}
.tsn .tsn-deadline{
  display:inline-flex !important; align-items:center !important; gap:8px !important;
  margin-top:24px !important; padding:8px 16px !important;
  background:rgba(255,255,255,0.10) !important; border:1px solid rgba(255,255,255,0.22) !important;
  border-radius:var(--ts-radius-pill) !important;
  font-size:13px !important; font-weight:600 !important; color:#fff !important;
}
.tsn .tsn-deadline i{
  width:7px !important; height:7px !important; border-radius:50% !important;
  background:var(--ts-fin-neon) !important; font-style:normal !important; flex:none !important;
}
@media(max-width:600px){
  .tsn .tsn-hero-in{padding:34px 18px 38px !important;}
  .tsn .tsn-hero-motto{font-size:15px !important;}
}

/* ---------------------------------------------------------------
   TÖRZS - itt van a 920px-es szélesség és a térköz a fejléc/lábléc felé
   (Gábor, 2026-07-25): desktopon min. 45px felül, 75px alul;
   mobilon arányosan kisebb. A háttér a Prizma lapszín - NEM fehér -,
   hogy a fehér kártyák elkülönüljenek tőle.
   --------------------------------------------------------------- */
.tsn .tsn-body{
  max-width:920px !important; margin:0 auto !important;
  background:var(--ts-bg) !important;
  padding:32px 20px 52px !important;
}
/* A háttér teljes szélességben terüljön (a törzs max-width:920px, ezért a színt
   ki kell "húzni" a széleire) - ugyanaz a bevált trükk, mint a tsx-section--tint-nél. */
@supports (clip-path:inset(0 -100vmax)){
  .tsn .tsn-body{box-shadow:0 0 0 100vmax var(--ts-bg) !important; clip-path:inset(0 -100vmax) !important;}
}
@media(min-width:768px){
  .tsn .tsn-body{padding:45px 20px 75px !important;}
}
.tsn *{box-sizing:border-box !important;}

/* --- guard: tipográfia --- */
.tsn h1,.tsn h2,.tsn h3{
  font-family:var(--ts-font-display) !important; font-weight:800 !important;
  letter-spacing:-.02em !important; line-height:1.15 !important; color:var(--ts-ink) !important;
  margin:0 !important; padding:0 !important; text-transform:none !important;
}
.tsn p{
  font-family:var(--ts-font-body) !important; margin:0 !important; padding:0 !important;
  color:var(--ts-ink-2) !important; line-height:1.6 !important;
}
.tsn label{
  font-family:var(--ts-font-body) !important; margin:0 !important; padding:0 !important;
  display:block !important; text-transform:none !important; letter-spacing:normal !important;
  color:var(--ts-ink) !important; font-weight:600 !important; font-size:17px !important;
}
.tsn section{margin:0 !important; padding:0 !important; background:none !important;}
.tsn strong,.tsn b{font-weight:700 !important; color:inherit !important;}

/* --- guard: űrlapelemek --- */
.tsn input[type=text],.tsn input[type=email],.tsn input[type=url],.tsn input[type=tel],
.tsn select,.tsn textarea{
  width:100% !important; display:block !important;
  font-family:var(--ts-font-body) !important; font-size:16.5px !important;
  color:var(--ts-ink) !important; background:var(--ts-bg) !important;
  border:1px solid var(--ts-line) !important; border-radius:var(--ts-radius-s) !important;
  padding:12px 14px !important; margin:0 !important; height:auto !important;
  line-height:1.5 !important; box-shadow:none !important; transition:border-color .15s,box-shadow .15s !important;
}
.tsn textarea{min-height:92px !important; resize:vertical !important;}
.tsn input:focus,.tsn select:focus,.tsn textarea:focus{
  outline:0 !important; border-color:var(--ts-accent) !important; background:#fff !important;
  box-shadow:0 0 0 3px rgba(82,39,255,.12) !important;
}
.tsn select{
  appearance:none !important; -webkit-appearance:none !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235C616B' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important; background-position:right 14px center !important;
  padding-right:36px !important;
}
/* GUARD: az Extra téma a placeholdert NAGYBETŰSRE + ritkítottra állítja
   (style-static.min.css: input::placeholder{text-transform:uppercase;letter-spacing:1.2px}).
   Élő WP-előnézetben mérve - lokálisan NEM jön elő. */
.tsn input::placeholder,.tsn textarea::placeholder{
  text-transform:none !important; letter-spacing:normal !important;
  color:var(--ts-ink-3) !important; opacity:1 !important;
  font-family:var(--ts-font-body) !important; font-size:16.5px !important;
  font-weight:400 !important; font-style:normal !important;
}
.tsn input::-webkit-input-placeholder,.tsn textarea::-webkit-input-placeholder{
  text-transform:none !important; letter-spacing:normal !important;
  color:var(--ts-ink-3) !important; opacity:1 !important;
  font-family:var(--ts-font-body) !important; font-size:16.5px !important;
  font-weight:400 !important; font-style:normal !important;
}
.tsn input::-moz-placeholder,.tsn textarea::-moz-placeholder{
  text-transform:none !important; letter-spacing:normal !important;
  color:var(--ts-ink-3) !important; opacity:1 !important;
}

.tsn input[type=checkbox],.tsn input[type=radio]{
  width:17px !important; height:17px !important; accent-color:var(--ts-accent) !important;
  margin:0 !important; flex:none !important; display:inline-block !important; min-height:0 !important;
}
.tsn button{
  font-family:var(--ts-font-body) !important; cursor:pointer !important;
  border-radius:var(--ts-radius) !important; text-transform:none !important;
  letter-spacing:normal !important; line-height:1.2 !important;
}

/* --- gombok --- */
.tsn .tsn-btn{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  background:var(--ts-accent) !important; color:#fff !important;
  font-size:17px !important; font-weight:700 !important; padding:15px 30px !important;
  border:0 !important; min-height:48px !important;
  /* GUARD: <a class="tsn-btn"> esetén a téma ALÁHÚZNÁ - akkor linknek látszik, nem gombnak */
  text-decoration:none !important; border-radius:var(--ts-radius) !important;
}
.tsn a.tsn-btn:hover,.tsn a.tsn-btn:focus{text-decoration:none !important;}
.tsn .tsn-btn:hover{background:var(--ts-accent-hover) !important; color:#fff !important;}
.tsn .tsn-btn:disabled{opacity:.6 !important; cursor:default !important;}
.tsn .tsn-btn--ghost{
  background:transparent !important; color:var(--ts-ink) !important;
  border:1.5px solid var(--ts-line) !important;
}
.tsn .tsn-btn--ghost:hover{background:transparent !important; border-color:var(--ts-ink) !important; color:var(--ts-ink) !important;}
.tsn .tsn-linkbtn{
  background:none !important; border:0 !important; padding:8px 4px !important;
  color:var(--ts-ink-3) !important; font-size:15px !important; font-weight:600 !important;
  text-decoration:underline !important; min-height:auto !important;
}
.tsn .tsn-linkbtn:hover{color:var(--ts-ink) !important;}

/* =====================================================================
   BELÉPŐ FELÜLET
   ===================================================================== */
.tsn .tsn-gate{
  background:#fff !important; border:1px solid var(--ts-line) !important;
  border-radius:var(--ts-radius) !important; padding:30px 26px !important;
  position:relative !important; overflow:hidden !important;
  box-shadow:0 18px 44px rgba(10,11,14,.07) !important;
}
.tsn .tsn-gate::before{
  content:"" !important; position:absolute !important; left:0; right:0; top:0; height:2px !important;
  background:linear-gradient(90deg,var(--ts-fin-neon),var(--ts-pay-neon) 55%,var(--ts-bank-neon)) !important;
}
.tsn .tsn-kicker{
  font-size:11px !important; font-weight:600 !important; letter-spacing:.2em !important;
  text-transform:uppercase !important; color:var(--ts-ink-3) !important; margin-bottom:10px !important;
}
.tsn .tsn-gate-head h2{font-size:26px !important; margin-bottom:10px !important;}
.tsn .tsn-gate-lead{font-size:18px !important; line-height:1.6 !important; max-width:60ch !important;}
.tsn .tsn-tabs{display:flex !important; gap:6px !important; margin:24px 0 20px !important; border-bottom:1px solid var(--ts-line) !important;}
.tsn .tsn-tab{
  background:none !important; border:0 !important; border-bottom:2px solid transparent !important;
  border-radius:0 !important; padding:12px 18px !important; font-size:19px !important;
  font-weight:700 !important; color:var(--ts-ink-3) !important; min-height:44px !important;
}
.tsn .tsn-tab.is-active{color:var(--ts-accent) !important; border-bottom-color:var(--ts-accent) !important;}
.tsn .tsn-pane{display:none !important;}
.tsn .tsn-pane.is-active{display:block !important;}
.tsn .tsn-step[hidden]{display:none !important;}
.tsn .tsn-sent{font-size:16.5px !important; margin-bottom:16px !important;}
.tsn .tsn-otp-input{
  font-size:26px !important; letter-spacing:.34em !important; text-align:center !important;
  font-weight:700 !important; padding:14px !important;
}
.tsn .tsn-grid2{display:grid !important; gap:14px !important;}
@media(min-width:600px){.tsn .tsn-grid2{grid-template-columns:1fr 1fr !important;}}

/* =====================================================================
   ŰRLAP
   ===================================================================== */
.tsn .tsn-userbar{
  display:flex !important; align-items:center !important; justify-content:space-between !important;
  gap:12px !important; flex-wrap:wrap !important; padding:10px 14px !important;
  background:#fff !important; border:1px solid var(--ts-line) !important;
  border-radius:var(--ts-radius-s) !important; margin-bottom:16px !important;
}
.tsn .tsn-userbar-who{font-size:15px !important; color:var(--ts-ink-2) !important;}

.tsn .tsn-intro{
  background:#fff !important; border:1px solid var(--ts-line) !important;
  border-radius:var(--ts-radius) !important; padding:20px 22px !important;
}
.tsn .tsn-intro p{font-size:17px !important; line-height:1.6 !important;}
.tsn .tsn-intro-meta{
  display:flex !important; flex-wrap:wrap !important; gap:8px 18px !important;
  margin-top:14px !important; font-size:15px !important; color:var(--ts-ink-2) !important;
}

.tsn .tsn-draft-banner{
  display:flex !important; align-items:center !important; gap:14px !important; flex-wrap:wrap !important;
  background:#fff !important; border:1px solid rgba(82,39,255,.30) !important;
  border-left:4px solid var(--ts-accent) !important; border-radius:var(--ts-radius-s) !important;
  padding:14px 16px !important; margin-top:16px !important;
}
.tsn .tsn-draft-banner[hidden]{display:none !important;}
.tsn .tsn-draft-txt{font-size:16px !important; color:var(--ts-ink) !important; flex:1 1 260px !important;}

.tsn .tsn-toolbar{margin-top:22px !important;}
.tsn .tsn-toolbar[hidden]{display:none !important;}
.tsn .tsn-steps{display:flex !important; flex-wrap:wrap !important; gap:6px !important;}
.tsn .tsn-step-chip{
  flex:1 1 88px !important; min-width:80px !important; text-align:center !important;
  font-size:11px !important; font-weight:600 !important; color:var(--ts-ink-3) !important;
  padding-top:10px !important; border-top:2px solid var(--ts-line) !important;
  transition:color .2s,border-color .2s !important;
}
.tsn .tsn-step-chip.is-done{color:var(--ts-ok) !important; border-top-color:var(--ts-ok) !important;}
.tsn .tsn-saveind{
  display:inline-flex !important; align-items:center !important; gap:7px !important;
  margin-top:10px !important; font-size:12px !important; color:var(--ts-ink-3) !important;
}
.tsn .tsn-saveind .tsn-dot{
  width:7px !important; height:7px !important; border-radius:50% !important;
  background:var(--ts-ink-3) !important; display:inline-block !important;
}
.tsn .tsn-saveind.is-saved .tsn-dot{background:var(--ts-ok) !important;}
.tsn .tsn-saveind.is-saving .tsn-dot{background:var(--ts-bank-neon) !important;}

/* --- blokk-kártya --- */
.tsn .tsn-block{
  background:#fff !important; border:1px solid var(--ts-line) !important;
  border-radius:var(--ts-radius) !important; padding:26px 24px !important;
  margin-top:18px !important; position:relative !important; overflow:hidden !important;
}
.tsn .tsn-block::before{
  content:"" !important; position:absolute !important; left:0; right:0; top:0; height:2px !important;
  background:linear-gradient(90deg,var(--ts-fin-neon),var(--ts-pay-neon) 55%,var(--ts-bank-neon)) !important;
}
.tsn .tsn-block-head{display:flex !important; align-items:center !important; gap:12px !important; margin-bottom:6px !important;}
.tsn .tsn-badge{
  flex:none !important; width:30px !important; height:30px !important; border-radius:8px !important;
  display:grid !important; place-items:center !important; background:var(--ts-ink) !important;
  color:#fff !important; font-family:var(--ts-font-display) !important; font-weight:800 !important;
  font-size:14px !important;
}
.tsn .tsn-block-head h2{font-size:22px !important;}
.tsn .tsn-block-sub{font-size:16.5px !important; line-height:1.6 !important; margin:2px 0 20px !important; max-width:66ch !important;}

/* --- szempont-kártya --- */
.tsn .tsn-crit{
  border:1px solid var(--ts-line) !important; border-radius:var(--ts-radius-s) !important;
  padding:18px 18px 20px !important; margin-top:16px !important; background:#fff !important;
}
.tsn .tsn-crit-head{display:flex !important; align-items:flex-start !important; gap:12px !important; margin-bottom:4px !important;}
.tsn .tsn-crit-num{
  flex:none !important; width:26px !important; height:26px !important; border-radius:7px !important;
  display:grid !important; place-items:center !important; color:#0A0B0E !important;
  font-family:var(--ts-font-display) !important; font-weight:800 !important; font-size:13px !important;
}
.tsn .tsn-tone-fin  .tsn-crit-num{background:var(--ts-fin-neon) !important;}
.tsn .tsn-tone-pay  .tsn-crit-num{background:var(--ts-pay-neon) !important;}
.tsn .tsn-tone-bank .tsn-crit-num{background:var(--ts-bank-neon) !important;}
.tsn .tsn-crit-head h3{font-size:19px !important;}
.tsn .tsn-crit-guide{
  font-size:15.5px !important; font-style:italic !important; color:var(--ts-ink-2) !important;
  background:var(--ts-bg) !important; border-left:3px solid var(--ts-line) !important;
  padding:8px 12px !important; border-radius:0 6px 6px 0 !important; margin:6px 0 16px !important;
}

/* --- mezők --- */
.tsn .tsn-fields{display:grid !important; gap:16px !important;}
@media(min-width:640px){
  .tsn .tsn-fields{grid-template-columns:1fr 1fr !important;}
  /* CSAK a .tsn-fields KÖZVETLEN gyerekei feszüljenek teljes szélességre.
     Enélkül a szabály a belépő panel .tsn-grid2 rácsára is ráült, és a
     Vezetéknév/Keresztnév egymás ALÁ került (élő WP-előnézetben mérve). */
  .tsn .tsn-fields > .tsn-field{grid-column:1 / -1 !important;}
  .tsn .tsn-fields > .tsn-field.tsn-half{grid-column:auto !important;}
}
.tsn .tsn-field label{margin-bottom:6px !important;}
.tsn .tsn-req{color:var(--ts-pay-neon) !important; font-weight:700 !important;}
.tsn .tsn-opt{color:var(--ts-ink-3) !important; font-weight:500 !important; font-size:14px !important;}
.tsn .tsn-charc{float:right !important; font-size:13px !important; color:var(--ts-ink-3) !important; font-weight:500 !important;}
.tsn .tsn-hint{margin-top:7px !important; font-size:14px !important; color:var(--ts-ink-3) !important;}
.tsn .tsn-err{display:none !important; margin-top:7px !important; font-size:14px !important;
  color:var(--ts-pay-neon) !important; font-weight:600 !important;}
.tsn .tsn-err.is-on{display:block !important;}
.tsn .tsn-err--big{margin-bottom:12px !important; color:#FFA8D3 !important;}
.tsn .tsn-field.is-invalid input,.tsn .tsn-field.is-invalid select,.tsn .tsn-field.is-invalid textarea{
  border-color:var(--ts-pay-neon) !important; background:#fff !important;
  box-shadow:0 0 0 3px rgba(240,50,140,.10) !important;
}

/* --- rádió / checkbox --- */
.tsn .tsn-choice{display:flex !important; flex-wrap:wrap !important; gap:10px !important;}
.tsn .tsn-choice label{
  display:inline-flex !important; align-items:center !important; gap:8px !important;
  background:var(--ts-bg) !important; border:1px solid var(--ts-line) !important;
  border-radius:var(--ts-radius-pill) !important; padding:9px 16px !important;
  font-size:16.5px !important; font-weight:500 !important; cursor:pointer !important;
  min-height:48px !important;
}
.tsn .tsn-choice label:hover{border-color:var(--ts-ink-3) !important;}
.tsn .tsn-checks{display:grid !important; gap:10px !important;}
@media(min-width:640px){.tsn .tsn-checks{grid-template-columns:1fr 1fr !important;}}
.tsn .tsn-checks label{
  display:flex !important; align-items:flex-start !important; gap:10px !important;
  background:var(--ts-bg) !important; border:1px solid var(--ts-line) !important;
  border-radius:var(--ts-radius-s) !important; padding:12px 13px !important;
  font-size:16.5px !important; font-weight:500 !important; cursor:pointer !important;
  min-height:48px !important;
}
.tsn .tsn-checks label:hover{border-color:var(--ts-ink-3) !important;}
.tsn .tsn-consent{
  display:flex !important; align-items:flex-start !important; gap:11px !important;
  font-size:16.5px !important; font-weight:500 !important; color:var(--ts-ink-2) !important;
  line-height:1.6 !important; cursor:pointer !important; margin:0 !important;
}
.tsn .tsn-field--consent{margin:0 !important;}
/* GUARD: a nyilatkozatban lévő hivatkozás (adatkezelési tájékoztató) - a téma
   sima sötét szöveggé fakítaná (rgba(0,0,0,.75), weight 500), így nem látszana linknek. */
.tsn .tsn-consent a{
  color:var(--ts-accent) !important; font-weight:600 !important;
  text-decoration:underline !important; text-underline-offset:2px !important;
}
.tsn .tsn-consent a:hover{color:var(--ts-accent-hover) !important;}
.tsn .tsn-block[data-block="E"] .tsn-fields{gap:12px !important;}

/* --- beküldő zóna --- */
.tsn .tsn-submit-zone{
  background:var(--ts-night) !important; border-radius:var(--ts-radius) !important;
  padding:26px 24px !important; margin-top:18px !important;
  position:relative !important; overflow:hidden !important;
}
.tsn .tsn-submit-zone::before{
  content:"" !important; position:absolute !important; left:0; right:0; top:0; height:2px !important;
  background:linear-gradient(90deg,var(--ts-fin-neon),var(--ts-pay-neon) 55%,var(--ts-bank-neon)) !important;
}
.tsn .tsn-submit-zone h3{color:#fff !important; font-size:21px !important;}
.tsn .tsn-submit-zone p{color:var(--ts-night-text) !important; font-size:16.5px !important; line-height:1.6 !important;
  margin-top:10px !important; max-width:60ch !important;}
.tsn .tsn-submit-actions{display:flex !important; flex-wrap:wrap !important; gap:12px !important; margin-top:20px !important;}
.tsn .tsn-submit-zone .tsn-btn--ghost{
  background:rgba(255,255,255,.08) !important; color:#fff !important;
  border:1px solid rgba(255,255,255,.28) !important;
}
.tsn .tsn-submit-zone .tsn-btn--ghost:hover{background:rgba(255,255,255,.16) !important; color:#fff !important;}

/* --- siker --- */
.tsn .tsn-success{
  background:#fff !important; border:1px solid var(--ts-line) !important;
  border-radius:var(--ts-radius) !important; padding:44px 28px !important;
  margin-top:18px !important; text-align:center !important;
  position:relative !important; overflow:hidden !important;
}
.tsn .tsn-success[hidden]{display:none !important;}
.tsn .tsn-success::before{
  content:"" !important; position:absolute !important; left:0; right:0; top:0; height:2px !important;
  background:linear-gradient(90deg,var(--ts-fin-neon),var(--ts-pay-neon) 55%,var(--ts-bank-neon)) !important;
}
.tsn .tsn-tick{
  width:56px !important; height:56px !important; border-radius:50% !important;
  background:rgba(11,138,90,.12) !important; display:grid !important; place-items:center !important;
  margin:0 auto 18px !important;
}
.tsn .tsn-tick svg{width:28px !important; height:28px !important;}
.tsn .tsn-success h2{font-size:26px !important;}
.tsn .tsn-success p{margin:12px auto 22px !important; max-width:54ch !important; font-size:17px !important; line-height:1.6 !important;}

/* --- toast --- */
.tsn-toast{
  position:fixed !important; left:50% !important; bottom:24px !important;
  transform:translateX(-50%) translateY(20px) !important;
  background:#0A0B0E !important; color:#fff !important; font-size:13.5px !important;
  font-weight:600 !important; padding:13px 22px !important; border-radius:999px !important;
  box-shadow:0 12px 32px rgba(0,0,0,.3) !important; opacity:0 !important;
  pointer-events:none !important; transition:opacity .25s,transform .25s !important;
  z-index:100000 !important; max-width:90vw !important; text-align:center !important;
  font-family:'Space Grotesk',-apple-system,sans-serif !important;
}
.tsn-toast.is-on{opacity:1 !important; transform:translateX(-50%) translateY(0) !important;}

/* --- mobil --- */
@media(max-width:600px){
  .tsn .tsn-block{padding:22px 16px !important;}
  .tsn .tsn-gate{padding:24px 18px !important;}
  .tsn .tsn-crit{padding:16px 14px 18px !important;}
  .tsn .tsn-submit-actions .tsn-btn{width:100% !important;}
}

/* =====================================================================
   TÉRKÖZÖK ÉS KIEMELÉSEK (Gábor visszajelzései, 2026-07-25)
   ===================================================================== */

/* --- Belépő panel: a mezők ne legyenek összenyomva --- */
.tsn .tsn-gate .tsn-step > .tsn-field,
.tsn .tsn-gate .tsn-step > .tsn-grid2{margin-top:20px !important;}
.tsn .tsn-gate .tsn-step > *:first-child{margin-top:0 !important;}

/* --- Adatkezelési nyilatkozat a regisztrációban: 15px felül / 35px alul --- */
.tsn .tsn-gate .tsn-consent{
  padding-top:15px !important; padding-bottom:35px !important;
}

/* --- Belépés/Regisztráció gombok: legalább 25px térköz a mező felett --- */
.tsn .tsn-gate .tsn-step > .tsn-btn{margin-top:25px !important;}
/* a regisztrációnál a nyilatkozat 35px-e már megadja a térközt */
.tsn .tsn-gate .tsn-pane[data-pane="reg"] .tsn-step > .tsn-btn{margin-top:0 !important;}
.tsn .tsn-gate .tsn-step > .tsn-hint{margin-top:12px !important;}
.tsn .tsn-gate .tsn-step > .tsn-linkbtn{margin-top:10px !important;}

/* --- Lépés-jelzők (A · Szervezet ...): olvashatóvá téve --- */
.tsn .tsn-step-chip{
  font-size:13.5px !important; letter-spacing:0.01em !important;
  color:var(--ts-ink-2) !important; padding-top:12px !important;
  border-top-width:3px !important;
}
.tsn .tsn-step-chip.is-done{color:var(--ts-ok) !important; font-weight:700 !important;}

/* --- MENTÉS-JELZŐ: fontos állapotüzenet, ezért kiemelt "chip" --- */
.tsn .tsn-saveind{
  display:inline-flex !important; align-items:center !important; gap:9px !important;
  margin-top:14px !important; padding:9px 16px !important;
  border-radius:var(--ts-radius-pill) !important;
  background:#fff !important; border:1px solid var(--ts-line) !important;
  font-size:15px !important; font-weight:600 !important; color:var(--ts-ink-2) !important;
}
.tsn .tsn-saveind .tsn-dot{
  width:9px !important; height:9px !important; border-radius:50% !important;
  background:var(--ts-ink-3) !important; display:inline-block !important; flex:none !important;
}
.tsn .tsn-saveind.is-saved{
  background:rgba(11,138,90,0.08) !important; border-color:rgba(11,138,90,0.35) !important;
  color:var(--ts-ok) !important; font-weight:700 !important;
}
.tsn .tsn-saveind.is-saved .tsn-dot{background:var(--ts-ok) !important;}
.tsn .tsn-saveind.is-saving{
  background:rgba(255,194,51,0.12) !important; border-color:rgba(255,194,51,0.5) !important;
  color:#8A5B00 !important;
}
.tsn .tsn-saveind.is-saving .tsn-dot{background:var(--ts-bank-neon) !important;}
/* ugyanez a jelző a beküldő zónában (sötét háttéren) */
.tsn .tsn-submit-zone .tsn-saveind{
  margin-top:0 !important; background:rgba(255,255,255,0.08) !important;
  border-color:rgba(255,255,255,0.28) !important; color:var(--ts-night-text) !important;
}
.tsn .tsn-submit-zone .tsn-saveind.is-saved{
  background:rgba(11,138,90,0.22) !important; border-color:rgba(11,138,90,0.65) !important;
  color:#7BE8B8 !important;
}
.tsn .tsn-submit-zone .tsn-saveind.is-saved .tsn-dot{background:#7BE8B8 !important;}
.tsn .tsn-submit-zone .tsn-saveind.is-saving{
  background:rgba(255,194,51,0.18) !important; border-color:rgba(255,194,51,0.6) !important;
  color:var(--ts-bank-neon) !important;
}
.tsn .tsn-submit-actions{align-items:center !important; row-gap:14px !important;}
.tsn .tsn-submit-note{font-size:14px !important; color:var(--ts-night-text-2) !important;}

/* --- "Egyéb:" szabadszöveges kiegészítő a checkbox-listában --- */
.tsn .tsn-check-other{
  grid-column:1 / -1 !important; display:flex !important; align-items:center !important;
  gap:12px !important; flex-wrap:wrap !important;
}
.tsn .tsn-check-other > label{flex:0 0 auto !important; margin:0 !important;}
.tsn .tsn-check-other input[type=text]{
  flex:1 1 260px !important; width:auto !important; min-width:220px !important;
}

/* --- LETÖLTÉS a beküldő zónában (Gábor sorrendje):
       1) export gombok  2) magyarázó szöveg  3) elválasztó vonal
       4) beküldés/mentés gombok  5) mentés-jelző                       --- */
.tsn .tsn-export-row{
  display:flex !important; align-items:center !important; gap:12px !important; flex-wrap:wrap !important;
  margin-top:20px !important;
}
.tsn .tsn-export-lab{
  font-size:16px !important; font-weight:700 !important; color:#fff !important;
}
/* Jól látható, tömör fehér gombok a sötét dobozban - nem "elvesző" áttetsző keret */
.tsn .tsn-btn--export{
  background:#fff !important; color:var(--ts-ink) !important; border:0 !important;
  font-size:15.5px !important; font-weight:700 !important;
  padding:12px 22px !important; min-height:46px !important;
  border-radius:var(--ts-radius) !important; text-decoration:none !important;
}
.tsn .tsn-btn--export:hover,.tsn .tsn-btn--export:focus{
  background:#E9E4FF !important; color:var(--ts-accent-hover) !important; text-decoration:none !important;
}
.tsn .tsn-export-note{
  font-size:14px !important; color:var(--ts-night-text-2) !important;
  margin-top:10px !important; line-height:1.55 !important;
}
/* 3) elválasztó vonal a magyarázó szöveg és a beküldés-gombok között */
.tsn .tsn-submit-zone .tsn-submit-actions{
  margin-top:20px !important; padding-top:20px !important;
  border-top:1px solid rgba(255,255,255,0.20) !important;
}
/* 5) a mentés-jelző saját sorban, a gombok alatt */
.tsn .tsn-saveind-row{margin-top:14px !important;}
.tsn .tsn-success-actions{
  display:flex !important; gap:12px !important; flex-wrap:wrap !important;
  justify-content:center !important; margin-top:22px !important;
}
/* a köszönő képernyő VILÁGOS hátterű - itt körvonalas gomb kell (nem fehér) */
.tsn .tsn-btn--export-light{
  background:#fff !important; color:var(--ts-ink) !important;
  border:1.5px solid var(--ts-line) !important;
  font-size:15.5px !important; font-weight:700 !important;
  padding:12px 22px !important; min-height:46px !important;
  border-radius:var(--ts-radius) !important; text-decoration:none !important;
}
.tsn .tsn-btn--export-light:hover,.tsn .tsn-btn--export-light:focus{
  background:#F1EDFF !important; border-color:var(--ts-accent) !important;
  color:var(--ts-accent-hover) !important; text-decoration:none !important;
}
.tsn .tsn-success-note{
  margin-top:16px !important; font-size:14px !important; color:var(--ts-ink-3) !important;
}

/* --- Mobil: arányosan kisebb, de olvasható --- */
@media(max-width:600px){
  .tsn .tsn-gate-lead{font-size:16.5px !important;}
  .tsn .tsn-gate-head h2{font-size:22px !important;}
  .tsn .tsn-tab{font-size:17px !important; padding:11px 13px !important;}
  .tsn label{font-size:15.5px !important;}
  .tsn input[type=text],.tsn input[type=email],.tsn input[type=url],.tsn input[type=tel],
  .tsn select,.tsn textarea{font-size:16px !important;}
  .tsn input::placeholder,.tsn textarea::placeholder{font-size:16px !important;}
  .tsn .tsn-intro p,.tsn .tsn-block-sub,.tsn .tsn-success p{font-size:15.5px !important;}
  .tsn .tsn-crit-guide{font-size:14.5px !important;}
  .tsn .tsn-choice label,.tsn .tsn-checks label,.tsn .tsn-consent{font-size:15.5px !important;}
  .tsn .tsn-block-head h2{font-size:20px !important;}
  .tsn .tsn-crit-head h3{font-size:17.5px !important;}
  .tsn .tsn-submit-zone h3{font-size:19px !important;}
  .tsn .tsn-submit-zone p{font-size:15.5px !important;}
  .tsn .tsn-step-chip{font-size:12px !important;}
  .tsn .tsn-saveind{font-size:14px !important; padding:8px 14px !important;}
  .tsn .tsn-btn{font-size:16px !important;}
  /* térközök arányosan */
  .tsn .tsn-gate .tsn-step > .tsn-field,
  .tsn .tsn-gate .tsn-step > .tsn-grid2{margin-top:15px !important;}
  .tsn .tsn-gate .tsn-consent{padding-top:11px !important; padding-bottom:26px !important;}
  .tsn .tsn-gate .tsn-step > .tsn-btn{margin-top:19px !important;}
}

@media(prefers-reduced-motion:reduce){
  .tsn *,.tsn-toast{transition:none !important; animation:none !important;}
}

/* =====================================================================
   FOTÓ-MEZŐ (v1.2.0, Előadók űrlap)
   Guard-réteg: a Divi/Extra téma a div/img/button elemeket is felülírja,
   ezért a layout-kritikus tulajdonságok !important-tal futnak (naplo #148).
   ===================================================================== */
.tsn .tsn-photo{margin:0 !important;}
/* KRITIKUS: a guard-réteg display:flex !important-ja FELÜLÍRNÁ a [hidden] attribútumot
   (a böngésző alap display:none-ja gyengébb). Enélkül az üres állapotban is látszik a
   kép-előnézet és a két gomb - lokális képi ellenőrzésen bukott meg, naplo #148. */
.tsn .tsn-photo [hidden]{display:none !important;}
.tsn .tsn-photo-drop{
  position:relative !important; display:flex !important; align-items:center !important;
  justify-content:center !important; gap:14px !important;
  min-height:190px !important; padding:22px !important; box-sizing:border-box !important;
  border:2px dashed var(--ts-line) !important; border-radius:var(--ts-radius) !important;
  background:var(--ts-surface) !important; cursor:pointer !important; text-align:center !important;
  transition:border-color .16s ease, background .16s ease !important;
}
.tsn .tsn-photo-drop:hover,.tsn .tsn-photo-drop:focus-visible{
  border-color:var(--ts-accent) !important; background:#FBFAFF !important; outline:none !important;
}
.tsn .tsn-photo-drop.is-over{border-color:var(--ts-accent) !important; background:#F4F1FF !important;}
.tsn .tsn-photo-drop.is-busy{cursor:progress !important;}
.tsn .tsn-photo.is-error .tsn-photo-drop{
  border-color:var(--ts-pay-neon) !important; box-shadow:0 0 0 3px rgba(240,50,140,.10) !important;
}
.tsn .tsn-photo-empty{display:flex !important; flex-direction:column !important; align-items:center !important; gap:5px !important;}
.tsn .tsn-photo-empty strong{font-size:16px !important; color:var(--ts-ink) !important; font-weight:700 !important;}
.tsn .tsn-photo-sub{font-size:13.5px !important; color:var(--ts-ink-3) !important; line-height:1.5 !important;}
.tsn .tsn-photo-ic{
  width:34px !important; height:34px !important; margin-bottom:4px !important; display:block !important;
  border-radius:8px !important; border:2px solid var(--ts-accent) !important;
  background:
    radial-gradient(circle at 32% 38%, var(--ts-accent) 0 3.5px, transparent 4px),
    linear-gradient(135deg, transparent 55%, var(--ts-accent) 55% 72%, transparent 72%) !important;
}
.tsn .tsn-photo-prev{display:flex !important; align-items:center !important; gap:16px !important;}
.tsn .tsn-photo-prev img{
  width:120px !important; height:120px !important; object-fit:cover !important;
  border-radius:var(--ts-radius-s) !important; display:block !important;
  border:1px solid var(--ts-line) !important; background:var(--ts-bg) !important;
}
.tsn .tsn-photo-meta{font-size:13.5px !important; color:var(--ts-ink-3) !important; text-align:left !important;}
.tsn .tsn-photo-bar{
  position:absolute !important; left:0 !important; right:0 !important; bottom:0 !important;
  height:4px !important; background:var(--ts-line) !important;
  border-radius:0 0 var(--ts-radius) var(--ts-radius) !important; overflow:hidden !important;
}
.tsn .tsn-photo-bar > span{
  display:block !important; height:100% !important; width:0 !important;
  background:var(--ts-accent) !important; transition:width .18s ease !important;
}
.tsn .tsn-photo-actions{display:flex !important; gap:10px !important; margin-top:10px !important;}
.tsn .tsn-photo-actions button{
  font-family:var(--ts-font-body) !important; font-size:14px !important; font-weight:600 !important;
  padding:8px 14px !important; border-radius:var(--ts-radius-pill) !important; cursor:pointer !important;
  border:1px solid var(--ts-line) !important; background:var(--ts-surface) !important;
  color:var(--ts-ink-2) !important; text-transform:none !important; letter-spacing:0 !important;
}
.tsn .tsn-photo-actions button:hover{border-color:var(--ts-accent) !important; color:var(--ts-accent) !important;}
.tsn .tsn-photo-remove:hover{border-color:var(--ts-pay-neon) !important; color:var(--ts-pay-neon) !important;}
@media(max-width:640px){
  .tsn .tsn-photo-drop{min-height:0 !important; padding:18px !important;}
  .tsn .tsn-photo-prev{flex-direction:column !important; gap:10px !important;}
  .tsn .tsn-photo-meta{text-align:center !important;}
  .tsn .tsn-photo-actions button{flex:1 1 0 !important; min-height:44px !important;}
}
