/* ===== Kálóczi Photo – belépés / regisztráció (.kp-auth) ===== */
.kp-auth{--ink:#121416;--paper:#F7F7F5;--sage:#A4B4A0;--sage-text:#4A5C4C;--sage-hover:#33422F;--tint:#EEF1EC;--line:#DEDFD9;--line2:#D5DDD6;--muted:#5A605C;--body:#3b413d;--err:#B3372F;
  display:grid;grid-template-columns:minmax(0,44fr) minmax(0,56fr);min-height:100vh;background:var(--paper);color:var(--ink);font-family:Assistant,sans-serif;font-size:16px;line-height:1.5}
.kp-auth *{box-sizing:border-box}
.kp-auth svg{display:block;flex:none}
.kp-auth a{color:inherit}
/* bal oldal */
.kp-auth__side{background:var(--tint);border-right:1px solid var(--line2);padding:44px clamp(32px,4.2vw,64px) 44px;display:flex;flex-direction:column;min-width:0}
.kp-auth__logo img{width:150px;display:block}
.kp-auth__hero{flex:1;display:flex;flex-direction:column;justify-content:center;padding:28px 0}
.kp-auth__hi{display:none}
.kp-auth[data-view=login] .kp-auth__hi[data-side=login],.kp-auth[data-view=register] .kp-auth__hi[data-side=register],.kp-auth[data-view=forgot] .kp-auth__hi[data-side=forgot],.kp-auth[data-view=sent] .kp-auth__hi[data-side=sent],.kp-auth[data-view=done] .kp-auth__hi[data-side=done]{display:block}
.kp-auth__kapi{position:relative;width:260px;height:262px;margin:0 0 6px -14px}
.kp-auth__kapi:before{content:'';position:absolute;left:30px;right:6px;bottom:6px;height:22px;background:var(--sage);opacity:.45;border-radius:50%}
.kp-auth__kapi img{position:relative;width:100%;height:100%;display:block}
.kp-auth__eyebrow{display:block;font:600 11px/1 Archivo,Assistant,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--sage-text)}
.kp-auth__hero h2{margin:14px 0 0;font:300 40px/1.1 Archivo,Assistant,sans-serif;letter-spacing:0;text-transform:none;color:var(--ink)}
.kp-auth__hero p{margin:14px 0 0;max-width:38ch;font-size:17px;line-height:1.55;color:var(--body)}
.kp-auth__perks{list-style:none;margin:0;padding:0;border-top:1px solid var(--line2)}
.kp-auth__perks li{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid var(--line2);font-size:15.5px;color:var(--body)}
.kp-auth__perks svg{color:var(--sage-text)}
/* jobb oldal */
.kp-auth__main{display:flex;flex-direction:column;min-width:0;padding:30px clamp(24px,5vw,72px) 36px}
.kp-auth__top{display:flex;justify-content:flex-end;height:36px}
.kp-auth__home{display:inline-flex;align-items:center;gap:9px;font:600 11px/1 Archivo,Assistant,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-decoration:none}
.kp-auth__home:hover{color:var(--ink)}
.kp-auth__body{flex:1;display:flex;align-items:center;justify-content:center}
.kp-auth__panel{width:100%;max-width:420px}
.kp-auth__tabs{display:flex;border-bottom:1px solid var(--line);margin:0 0 32px}
.kp-auth__tab{flex:1;height:48px;border:0;background:none;font:600 12px/1 Archivo,Assistant,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);cursor:pointer;position:relative}
.kp-auth__tab:hover{color:var(--ink)}
.kp-auth__tab[aria-selected=true]{color:var(--ink)}
.kp-auth__tab[aria-selected=true]:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink)}
.kp-auth__view{display:none}
.kp-auth[data-view=login] .kp-auth__view[data-view=login],
.kp-auth[data-view=register] .kp-auth__view[data-view=register],
.kp-auth[data-view=forgot] .kp-auth__view[data-view=forgot],
.kp-auth[data-view=sent] .kp-auth__view[data-view=sent],
.kp-auth[data-view=done] .kp-auth__view[data-view=done]{display:block}
.kp-auth__h{margin:0;font:300 30px/1.15 Archivo,Assistant,sans-serif;letter-spacing:0;text-transform:none;color:var(--ink)}
.kp-auth__sub{margin:10px 0 26px;font-size:16px;color:var(--muted)}
/* mezők */
.kp-field{display:block;margin:0 0 16px}
.kp-field__l{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 8px;font:600 11px/1 Archivo,Assistant,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.kp-field__l i{font:400 12.5px/1 Assistant,sans-serif;font-style:normal;letter-spacing:0;text-transform:none;color:var(--muted)}
.kp-field__w{position:relative}
.kp-field input{width:100%;height:50px;padding:0 16px;border:1px solid #CFD2CB;border-radius:0;background:#fff;font:400 16px/1 Assistant,sans-serif;color:var(--ink);outline:0;transition:border-color .12s,box-shadow .12s}
.kp-field input::placeholder{color:#9AA09B}
.kp-field input:hover{border-color:#9AA09B}
.kp-field input:focus,.kp-field.is-focus input{border-color:var(--ink);box-shadow:0 0 0 3px rgba(164,180,160,.55)}
.kp-field.is-err input{border-color:var(--err)}
.kp-field.is-err input:focus{box-shadow:0 0 0 3px rgba(179,55,47,.16)}
.kp-field.has-eye input{padding-right:50px}
.kp-eye{position:absolute;right:0;top:0;width:50px;height:50px;border:0;background:none;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center}
.kp-eye:hover{color:var(--ink)}
.kp-field__msg{display:flex;align-items:center;gap:7px;margin:8px 0 0;font-size:13.5px;line-height:1.35;color:var(--muted)}
.kp-field.is-err .kp-field__msg{color:var(--err)}
.kp-meter{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:10px 0 0}
.kp-meter i{height:3px;background:var(--line)}
.kp-meter i.on{background:var(--sage-text)}
/* jelölőnégyzet */
.kp-check{display:flex;align-items:flex-start;gap:12px;margin:0 0 14px;font-size:14.5px;line-height:1.45;color:var(--body);cursor:pointer}
.kp-check input{position:absolute;opacity:0;width:0;height:0}
.kp-check__b{width:20px;height:20px;border:1px solid #9AA09B;background:#fff;display:flex;align-items:center;justify-content:center;margin-top:1px;color:transparent;transition:.12s}
.kp-check input:checked+.kp-check__b,.kp-check.is-on .kp-check__b{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.kp-check input:focus-visible+.kp-check__b{box-shadow:0 0 0 3px rgba(164,180,160,.7)}
.kp-check.is-err .kp-check__b{border-color:var(--err)}
.kp-check a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--sage);text-underline-offset:3px}
.kp-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:2px 0 26px}
.kp-row .kp-check{margin:0;font-size:14.5px}
.kp-link{font-size:14.5px;color:var(--sage-text);text-decoration:underline;text-decoration-color:var(--sage);text-underline-offset:3px;background:none;border:0;padding:0;cursor:pointer;font-family:inherit}
.kp-link:hover{color:var(--sage-hover)}
/* gombok */
.kp-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:56px;border:0;border-radius:0;background:var(--ink);color:var(--paper);font:600 13px/1 Archivo,Assistant,sans-serif;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background .15s}
.kp-btn:hover{background:var(--sage-hover)}
.kp-btn:focus-visible{outline:3px solid var(--sage);outline-offset:3px}
.kp-btn.is-load{background:var(--sage-hover);pointer-events:none}
.kp-spin{width:16px;height:16px;border:2px solid rgba(247,247,245,.35);border-top-color:var(--paper);border-radius:50%}
.kp-or{display:flex;align-items:center;gap:14px;margin:30px 0 16px;font:600 10.5px/1 Archivo,Assistant,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.kp-or:before,.kp-or:after{content:'';flex:1;height:1px;background:var(--line)}
.kp-soc{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kp-soc button{display:flex;align-items:center;justify-content:center;gap:10px;height:44px;border:1px solid var(--line);border-radius:0;background:transparent;font:500 13.5px/1 Archivo,Assistant,sans-serif;color:var(--body);cursor:pointer;transition:.15s}
.kp-soc button:hover{border-color:#9AA09B;background:#fff;color:var(--ink)}
.kp-switch{margin:28px 0 0;text-align:center;font-size:15px;color:var(--muted)}
.kp-switch .kp-link{font-weight:600}
.kp-note{margin:20px 0 0;font-size:13px;line-height:1.5;color:var(--muted);text-align:center}
.kp-note a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.kp-done{text-align:center}
.kp-done img{width:150px;height:152px;margin:0 auto 6px;display:block}
.kp-done .kp-auth__sub{margin-left:auto;margin-right:auto;max-width:36ch}
.kp-mail{display:inline-flex;align-items:center;gap:10px;margin:2px 0 22px;padding:10px 16px;border:1px solid var(--line2);background:var(--tint);font-size:15px;font-weight:600;color:var(--ink)}
.kp-mail svg{color:var(--sage-text)}
.kp-back{display:inline-flex;align-items:center;gap:9px;margin-top:22px;font:600 11px/1 Archivo,Assistant,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);text-decoration:none;background:none;border:0;cursor:pointer;padding:0}
.kp-back:hover{color:var(--sage-text)}
.kp-mlogo{display:none}

@media (max-width:760px){
.kp-auth{display:block;min-height:0}
.kp-auth__side{display:none}
.kp-mlogo{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 20px;border-bottom:1px solid var(--line)}
.kp-mlogo img{width:112px;display:block}
.kp-mlogo a{display:inline-flex;align-items:center;gap:8px;font:600 10.5px/1 Archivo,Assistant,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-decoration:none}
.kp-auth__top{display:none}
.kp-auth__main{padding:26px 20px 32px}
.kp-auth__body{display:block}
.kp-auth__tabs{margin-bottom:26px}
.kp-auth__h{font-size:27px}
.kp-auth__sub{font-size:15.5px;margin-bottom:22px}
.kp-field input{font-size:16px}
.kp-or{margin:26px 0 14px}
}

/* ===== WP belépő oldalba illesztés (a régi portal-login.css / kp-login.css szabályait semlegesíti) ===== */
body.login:has(.kp-auth){display:block;min-height:0;background:#F7F7F5;padding:0}
body.login .kp-auth form{margin:0;padding:0;border:0;background:none;box-shadow:none;overflow:visible}
body.login .kp-auth label{display:block;margin:0;padding:0;font-size:inherit;color:inherit;line-height:inherit}
body.login .kp-auth .kp-field{display:block}
body.login .kp-auth .kp-field__l{display:flex}
body.login .kp-auth .kp-check{display:flex}
body.login .kp-auth input[type=text],body.login .kp-auth input[type=email],body.login .kp-auth input[type=tel],body.login .kp-auth input[type=password]{
  width:100%;height:50px;padding:0 16px;margin:0;border:1px solid #CFD2CB;border-radius:0;background:#fff;box-shadow:none;font:400 16px/1 Assistant,sans-serif;color:#121416;min-height:0}
body.login .kp-auth .kp-field.has-eye input{padding-right:50px}
body.login .kp-auth .kp-field.is-err input{border-color:var(--err)}
body.login .kp-auth input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;margin:0;border:0;background:none}
body.login .kp-auth input[type=checkbox]::before{content:none}
body.login .kp-auth .kp-btn{display:flex;width:100%;height:56px;margin:0;padding:0;border:0;border-radius:0;background:var(--ink);color:var(--paper);box-shadow:none;text-shadow:none;float:none;min-height:0}
body.login .kp-auth .kp-btn:hover{background:var(--sage-hover)}
body.login .kp-auth .kp-eye{position:absolute;right:0;top:0;width:50px;height:50px;margin:0;padding:0;border:0;background:none;box-shadow:none;min-height:0}
body.login .kp-auth .kp-link,body.login .kp-auth .kp-tab,body.login .kp-auth .kp-back{box-shadow:none}
.kp-hp{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.kp-notice{margin:0 0 18px;padding:12px 14px;border-left:3px solid var(--sage);background:var(--tint);font-size:15px;line-height:1.45;color:var(--body)}
.kp-notice.is-err{border-left-color:var(--err);background:#FBEFEE;color:#7A241F}
.kp-soc a{display:flex;align-items:center;justify-content:center;gap:10px;height:44px;border:1px solid var(--line);border-radius:0;background:transparent;font:500 13.5px/1 Archivo,Assistant,sans-serif;color:var(--body);text-decoration:none;transition:.15s}
.kp-soc a:hover{border-color:#9AA09B;background:#fff;color:var(--ink)}
.kp-soc:has(a:only-child){grid-template-columns:1fr}
.kp-field__msg{display:flex}
.kp-btn.is-load .kp-btn__t{opacity:.9}
.kp-btn .kp-spin{animation:kpspin .7s linear infinite}
@keyframes kpspin{to{transform:rotate(360deg)}}
@media (max-width:760px){body.login .kp-auth{display:block}}
body.login .kp-auth{text-align:left}
body.login .kp-auth .kp-done{text-align:center}
body.login .kp-auth .kp-field{margin:0 0 16px}
body.login .kp-auth .kp-field__l{margin:0 0 8px}
body.login .kp-auth .kp-field__w{display:block;position:relative}
body.login .kp-auth .kp-field input{display:block}
body.login .kp-auth .kp-check{margin:0 0 14px}
body.login .kp-auth .kp-row .kp-check{margin:0}
body.login .kp-auth .kp-auth__h{margin:0;text-align:inherit}
body.login .kp-auth .kp-auth__sub{margin:10px 0 26px}
body.login .kp-auth .kp-field__msg{margin:8px 0 0}

/* Nagy kijelző: a bal hasáb tartalma (logó, Kapi + szöveg, előnyök) egy közös, max. 520 px-es blokkban a hasáb közepén áll;
   a szöveg a blokkon belül balra zárt. A jobb oldal űrlapja is középen marad. */
@media (min-width:1100px){
  .kp-auth__side>*{width:100%;max-width:520px;margin-left:auto;margin-right:auto}
  .kp-auth__main{padding-left:max(clamp(24px,5vw,72px),calc((56vw - 760px) / 2));padding-right:max(clamp(24px,5vw,72px),calc((56vw - 760px) / 2))}
}

/* Egy vonalba: a bal tartalom-zóna (Kapi → előnyök) és a jobb oldali panel (fülek → váltó link) UGYANAZ a magasság (--kp-h),
   mindkettő a saját hasábja szabad terében függőlegesen középen; így a teteje és az alja is egy szintben fut.
   A nézetenként más tartalom-magasságot a [data-view] állítja be. */
@media (min-width:761px){
  .kp-auth{--kp-h:650px}
  .kp-auth[data-view=register]{--kp-h:900px}
  .kp-auth[data-view=forgot]{--kp-h:560px}
  .kp-auth[data-view=sent],.kp-auth[data-view=done]{--kp-h:520px}
  body.login .kp-auth .kp-auth__side{padding-bottom:44px}
  body.login .kp-auth .kp-auth__top{height:62px}
  body.login .kp-auth .kp-auth__main{padding-bottom:44px}
  body.login .kp-auth .kp-auth__zone{height:var(--kp-h);margin:auto 0;display:flex;flex-direction:column;justify-content:space-between;transition:height .2s}
  body.login .kp-auth .kp-auth__hero{flex:none;margin:0;padding:0;min-height:0;justify-content:flex-start}
  body.login .kp-auth .kp-auth__perks{margin:0}
  body.login .kp-auth .kp-auth__body{align-items:center}
  body.login .kp-auth .kp-auth__panel{display:flex;flex-direction:column;min-height:var(--kp-h);transition:min-height .2s}
  body.login .kp-auth .kp-auth__view[data-view]{flex:1}
  .kp-auth[data-view=login] .kp-auth__view[data-view=login],
  .kp-auth[data-view=register] .kp-auth__view[data-view=register],
  .kp-auth[data-view=forgot] .kp-auth__view[data-view=forgot],
  .kp-auth[data-view=sent] .kp-auth__view[data-view=sent],
  .kp-auth[data-view=done] .kp-auth__view[data-view=done]{display:flex;flex-direction:column}
  body.login .kp-auth .kp-switch{margin-top:auto;padding-top:28px}
  body.login .kp-auth .kp-auth__view.kp-done{justify-content:center}
  body.login .kp-auth .kp-auth__view[data-view=forgot] .kp-back{margin-top:auto;align-self:flex-start}
}

/* Finomítás: a Kapi-kép saját átlátszó pereme ne tolja le a fejét a fülek vonalától; a zóna a hasáb közepén; az utolsó előny sora
   ugyanúgy az alsó vonalon ül, mint a „Még nincs fiókod?" sor. */
@media (min-width:761px){
  body.login .kp-auth .kp-auth__side>.kp-auth__zone{margin:auto}
  body.login .kp-auth .kp-auth__kapi{margin-top:-46px}
  body.login .kp-auth .kp-auth__perks li:last-child{border-bottom:0;padding-bottom:0}
  body.login .kp-auth .kp-switch{padding-bottom:0}
}
