/* Вход и регистрация. Отляво — кадър от истински апартамент; отдясно —
   формата в стъпки: имейл → парола или нов профил. Тъмното индиго на
   приложението; полетата и бутоните — по общата система от site.css. */
.auth-page{--a-bg:var(--dark);--a-bg-2:#120e30;--a-ink:var(--on-dark);--a-muted:var(--on-dark-2);--a-faint:var(--on-dark-3);
  --a-line:rgba(255,255,255,.1);--a-line-2:rgba(255,255,255,.2);--a-field:rgba(255,255,255,.04);--a-accent:#a796ff;--a-bad:#ff9b8c;
  min-height:100vh;background:var(--a-bg);color:var(--a-ink);color-scheme:dark}
.auth{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;min-height:100dvh}

/* --- отляво: кадърът ---------------------------------------------------- */
.auth-side{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:var(--s-6)}
.auth-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.auth-side::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(18,14,48,.55) 0%,rgba(18,14,48,0) 30%,rgba(18,14,48,.2) 55%,rgba(18,14,48,.9) 100%)}
.auth-logo{position:relative;z-index:2;display:inline-flex;align-items:center;gap:10px;color:var(--a-ink);text-decoration:none;
  font:600 1.0625rem/1 var(--font-display);letter-spacing:-.01em}
.auth-logo svg{width:28px;height:28px}
.auth-claim{position:relative;z-index:2;max-width:30rem}
.auth-big{font:600 var(--fs-2xl)/1.15 var(--font-display);letter-spacing:-.02em}
.auth-small{margin-top:var(--s-3);color:var(--a-muted);line-height:1.6}

/* --- отдясно: формата ---------------------------------------------------- */
.auth-main{position:relative;display:grid;place-items:center;padding:96px var(--gutter) var(--s-7);background:var(--a-bg-2)}
.auth-home{position:absolute;top:var(--s-5);left:var(--gutter);display:inline-flex;align-items:center;gap:var(--s-2);
  height:32px;padding:0 var(--s-3) 0 var(--s-2);border-radius:var(--r-md);color:var(--a-muted);text-decoration:none;font-size:var(--fs-sm);
  transition:color .15s,background-color .15s}
.auth-home svg{width:16px;height:16px;transform:rotate(180deg)}
.auth-home:hover{color:var(--a-ink);background:rgba(255,255,255,.06)}
.auth-lang{position:absolute;top:var(--s-5);right:var(--gutter);z-index:2;color:var(--a-ink)}
.auth-card{width:100%;max-width:400px}
.auth-logo-mobile{display:none;margin-bottom:var(--s-6)}

/* стъпките се сменят с плъзгане — височината следва новата стъпка */
.auth-steps{position:relative;transition:height .3s ease}
.auth-step{display:block;transition:opacity .25s ease,transform .3s ease}
.auth-step.leaving{position:absolute;inset:0 0 auto;opacity:0;transform:translateX(-16px);pointer-events:none}
.auth-step.entering{opacity:0;transform:translateX(16px)}
.auth-step.back.leaving{transform:translateX(16px)}
.auth-step.back.entering{transform:translateX(-16px)}

.auth-head{margin-bottom:var(--s-5)}
.auth-head h1{margin-bottom:var(--s-2);font:600 var(--fs-xl)/1.25 var(--font-sans);letter-spacing:-.01em}
.auth-head p{color:var(--a-muted);font-size:var(--fs-sm);line-height:1.55}

.auth-quick{display:grid;gap:var(--s-2)}
.auth-provider{display:flex;align-items:center;justify-content:center;gap:var(--s-3);height:44px;padding:0 var(--s-4);
  border:1px solid var(--a-line-2);border-radius:var(--r-md);background:var(--a-field);color:var(--a-ink);text-decoration:none;
  font:600 var(--fs-sm)/1 var(--font-sans);transition:border-color .15s,background-color .15s}
.auth-provider svg{width:18px;height:18px;flex:none}
.auth-provider:hover{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.07)}
.auth-provider.nope{animation:auth-shake .35s}
.auth-or{display:flex;align-items:center;gap:var(--s-3);margin:var(--s-5) 0;color:var(--a-faint);font-size:var(--fs-xs)}
.auth-or::before,.auth-or::after{content:"";flex:1;height:1px;background:var(--a-line)}

.auth-label{display:block;margin:0 0 6px;font-size:var(--fs-sm);font-weight:500;color:var(--a-muted)}
.auth-field{position:relative;display:flex;align-items:center;height:44px;border:1px solid var(--a-line-2);border-radius:var(--r-md);
  background:var(--a-field);transition:border-color .15s,box-shadow .15s}
.auth-field input{flex:1;min-width:0;height:100%;padding:0 12px;border:0;outline:0;background:transparent;color:var(--a-ink);
  font:var(--fs-md)/1 var(--font-sans)}
.auth-field input::placeholder{color:var(--a-faint)}
.auth-field:hover{border-color:rgba(255,255,255,.35)}
.auth-field:focus-within{border-color:var(--a-accent);box-shadow:0 0 0 3px rgba(167,150,255,.25)}
.auth-field.bad{border-color:var(--a-bad);animation:auth-shake .35s}
.auth-field input:-webkit-autofill{-webkit-text-fill-color:var(--a-ink);transition:background-color 9999s}
.auth-page .auth-field input:focus-visible{outline:0}
.auth-hint{margin:6px 0 0;font-size:var(--fs-xs);color:var(--a-faint)}
.auth-group{margin-bottom:var(--s-4)}
@keyframes auth-shake{25%{transform:translateX(-5px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}

.auth-eye{display:grid;place-items:center;width:40px;height:40px;margin-right:2px;border:0;border-radius:var(--r-sm);
  background:transparent;color:var(--a-faint);cursor:pointer}
.auth-eye:hover{color:var(--a-ink)}
.auth-eye svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.auth-eye-slash{stroke-dasharray:23;stroke-dashoffset:0;transition:stroke-dashoffset .2s}
.auth-eye[aria-pressed="true"] .auth-eye-slash{stroke-dashoffset:23}

/* колко силна е паролата */
.auth-meter{display:grid;grid-template-columns:repeat(4,1fr) auto;align-items:center;gap:6px;margin:var(--s-2) 0 var(--s-4)}
.auth-meter i{position:relative;height:4px;border-radius:2px;background:rgba(255,255,255,.1);overflow:hidden}
.auth-meter i::after{content:"";position:absolute;inset:0;background:var(--c,var(--a-accent));transform:scaleX(0);transform-origin:left;transition:transform .25s}
.auth-meter span{min-width:64px;text-align:right;font-size:var(--fs-xs);color:var(--a-muted)}
.auth-meter[data-level="1"]{--c:#ff9b8c}.auth-meter[data-level="2"]{--c:#f3c46b}
.auth-meter[data-level="3"]{--c:#c9d77a}.auth-meter[data-level="4"]{--c:#7fd6a0}
.auth-meter[data-level="1"] i:nth-child(-n+1)::after,.auth-meter[data-level="2"] i:nth-child(-n+2)::after,
.auth-meter[data-level="3"] i:nth-child(-n+3)::after,.auth-meter[data-level="4"] i::after{transform:scaleX(1)}

/* главният бутон — по .btn-primary, но на цялата ширина */
.auth-submit{position:relative;display:flex;align-items:center;justify-content:center;gap:var(--s-2);width:100%;height:44px;margin-top:var(--s-2);
  border:0;border-radius:var(--r-md);background:var(--primary);color:#fff;font:600 var(--fs-sm)/1 var(--font-sans);cursor:pointer;
  transition:background-color .15s,transform .1s}
.auth-submit:hover{background:var(--primary-hover)}
.auth-submit:active{transform:translateY(1px)}
.auth-submit:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(167,150,255,.45)}
.auth-submit>svg{width:16px;height:16px}
.auth-spin{position:absolute;width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;
  opacity:0;animation:spin .7s linear infinite}
.auth-submit.busy{pointer-events:none}
.auth-submit.busy>span,.auth-submit.busy>svg{opacity:0}
.auth-submit.busy .auth-spin{opacity:1}

.auth-error{margin-top:var(--s-3);padding:10px 12px;border-radius:var(--r-md);border:1px solid rgba(255,155,140,.35);
  background:rgba(255,155,140,.08);color:#ffcfc6;font-size:var(--fs-sm);line-height:1.45}

.auth-email-chip{display:inline-flex;align-items:center;gap:var(--s-2);max-width:100%;margin-top:4px;padding:3px 4px 3px 10px;
  border:1px solid var(--a-line-2);border-radius:var(--r-md);background:var(--a-field);color:var(--a-ink);font:inherit;cursor:pointer;vertical-align:middle}
.auth-email-chip b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.auth-email-chip span{padding:2px 6px;border-radius:var(--r-sm);color:var(--a-accent);font-size:var(--fs-xs);font-weight:600}
.auth-email-chip:hover{border-color:rgba(255,255,255,.4)}

.auth-done{padding:var(--s-5) 0;text-align:center}
.auth-done h1{margin:var(--s-4) 0 var(--s-2);font:600 var(--fs-xl)/1.2 var(--font-sans)}
.auth-done p{color:var(--a-muted)}
.auth-check{width:56px;height:56px;margin-inline:auto;fill:none;stroke:#7fd6a0;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.auth-check circle{stroke-dasharray:151;stroke-dashoffset:151;animation:auth-draw .5s ease-out forwards}
.auth-check path{stroke-dasharray:36;stroke-dashoffset:36;animation:auth-draw .3s .4s ease-out forwards}
@keyframes auth-draw{to{stroke-dashoffset:0}}

.auth-legal{margin-top:var(--s-6);color:var(--a-faint);font-size:var(--fs-xs);line-height:1.55;text-align:center}
.auth-legal a{color:var(--a-muted)}
.auth-legal a:hover{color:var(--a-ink)}
.auth-page :focus-visible{outline:2px solid var(--a-accent);outline-offset:2px}

/* --- тесен екран: само формата ------------------------------------------- */
@media (max-width:960px){
  .auth{grid-template-columns:1fr}
  .auth-side{display:none}
  .auth-logo-mobile{display:inline-flex}
  .auth-main{place-items:start center;padding-top:88px;background:var(--a-bg)}
}
@media (prefers-reduced-motion:reduce){
  .auth-step,.auth-steps{transition:none}
  .auth-check circle,.auth-check path{animation:none;stroke-dashoffset:0}
}
