/* Страницы входа, регистрации и восстановления пароля (/login/...) — стиль сайта */
body:has(.lg-page) { background: #f7f7f7; }
.lg-page { padding-top: 24px; padding-bottom: 56px; color: #16161d; }
.lg-h1 { text-align: center; font-size: 34px; font-weight: 800; letter-spacing: -.02em; margin: 8px 0 24px; color: #16161d; }
.lg-two { display: grid; grid-template-columns: 1fr 440px; gap: 14px; max-width: 1000px; margin: 0 auto; align-items: stretch; }

.lg-side { background: #16161d; border-radius: 28px; padding: 34px; color: #fff; display: flex; flex-direction: column; justify-content: center; }
.lg-side h2 { color: #fff; margin: 0 0 8px; font-size: 26px; line-height: 1.15; font-weight: 800; letter-spacing: -.02em; }
.lg-side p { color: #c9ccd4; margin: 0; font-size: 15px; line-height: 1.5; }
.lg-bn { display: flex; gap: 14px; align-items: flex-start; margin-top: 18px; }
.lg-bn i { width: 40px; height: 40px; border-radius: 13px; background: rgba(255, 105, 0, .18); color: #ff6900; display: flex; align-items: center; justify-content: center; flex: none; }
.lg-bn i svg { width: 20px; height: 20px; }
.lg-bn b { display: block; font-size: 15px; margin-bottom: 2px; }
.lg-bn span { font-size: 13.5px; color: #a9adb8; line-height: 1.45; }

.lg-card { background: #fff; border-radius: 28px; padding: 34px; }
.lg-card h2 { margin: 0 0 6px; font-size: 26px; font-weight: 800; letter-spacing: -.02em; color: #16161d; }
.lg-sub { font-size: 14.5px; color: #6a6d78; margin-bottom: 22px; line-height: 1.45; }

.lg-alert { background: #fff1ee; border-radius: 14px; padding: 12px 14px; margin-bottom: 16px; font-size: 14px; line-height: 1.4; color: #b3261e; }
.lg-alert font, .lg-alert .errortext { color: #b3261e; }
.lg-alert .notetext, .lg-alert .notetext font { color: #2a7a3b; }

.lg-fld { margin-bottom: 14px; }
.lg-fld label { display: block; font-size: 13px; font-weight: 600; color: #44464f; margin-bottom: 6px; }
.lg-inp { width: 100%; height: 50px; border-radius: 14px; border: 1.5px solid #e7e7ea; background: #fafafb; padding: 0 16px; font-size: 15px; color: #16161d; outline: 0; font-family: inherit; transition: border-color .15s, background .15s; box-sizing: border-box; }
.lg-inp:focus { border-color: #ff6900; background: #fff; }
.lg-captcha { display: block; border-radius: 10px; }

.lg-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 4px 0 20px; }
.lg-chk { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; color: #44464f; cursor: pointer; margin: 0; }
.lg-chk input { position: absolute; opacity: 0; width: 0; height: 0; }
.lg-box { width: 20px; height: 20px; border-radius: 6px; border: 1.5px solid #cfd1d8; background: #fff; position: relative; flex: none; transition: background .15s, border-color .15s; }
.lg-chk input:checked + .lg-box { background: #ff6900; border-color: #ff6900; }
.lg-chk input:checked + .lg-box:after { content: ""; position: absolute; left: 6px; top: 2px; width: 5px; height: 10px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.lg-chk input:focus-visible + .lg-box { box-shadow: 0 0 0 3px rgba(255, 105, 0, .25); }
.lg-forgot { color: #ff6900; font-weight: 600; font-size: 14px; text-decoration: none; }
.lg-forgot:hover { text-decoration: underline; }

.lg-btn { display: block; width: 100%; text-align: center; background: #ff6900; color: #fff !important; font-weight: 700; font-size: 16px; padding: 15px; border-radius: 99px; border: 0; cursor: pointer; font-family: inherit; line-height: 1.2; text-decoration: none; transition: background .15s; box-sizing: border-box; }
.lg-btn:hover { background: #e55e00; }
.lg-btn--dark { background: #16161d; font-size: 15px; padding: 14px; }
.lg-btn--dark:hover { background: #33333d; }
.lg-or { display: flex; align-items: center; gap: 12px; margin: 22px 0 16px; color: #9a9ea9; font-size: 13px; }
.lg-or:before, .lg-or:after { content: ""; flex: 1; height: 1px; background: #ececef; }
.lg-note { font-size: 13px; color: #8a8f9c; margin-top: 12px; line-height: 1.45; text-align: center; }
.lg-soc { margin-top: 20px; }


.lg-alert--ok { background: #eaf6ee; color: #2a7a3b; }
.lg-alert--ok font, .lg-alert--ok .notetext { color: #2a7a3b; }
.lg-two2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lg-hint { font-size: 13px; color: #8a8f9c; margin-top: 6px; line-height: 1.4; }
.lg-req { color: #ff6900; }
.lg-consent { font-size: 13px; color: #6a6d78; line-height: 1.45; margin: 4px 0 18px; }
.lg-consent a { color: #ff6900; }
.lg-bottom { text-align: center; margin-top: 18px; font-size: 14px; color: #6a6d78; }
.lg-bottom a { color: #ff6900; font-weight: 600; text-decoration: none; }
.lg-bottom a:hover { text-decoration: underline; }
.lg-steps { counter-reset: lgs; margin-top: 18px; }
.lg-step { display: flex; gap: 14px; align-items: flex-start; margin-top: 16px; }
.lg-step:before { counter-increment: lgs; content: counter(lgs); width: 36px; height: 36px; border-radius: 12px; background: rgba(255, 105, 0, .18); color: #ff6900; font-weight: 800; display: flex; align-items: center; justify-content: center; flex: none; }
.lg-step b { display: block; font-size: 15px; margin-bottom: 2px; }
.lg-step span { font-size: 13.5px; color: #a9adb8; line-height: 1.45; }
.lg-login { display: inline-block; background: #fff4e8; border-radius: 12px; padding: 8px 14px; font-weight: 700; color: #16161d; margin-bottom: 16px; }
.lg-one { max-width: 520px; margin: 0 auto; }

@media (max-width: 991.98px) {
    .lg-two { grid-template-columns: 1fr; max-width: 520px; }
    .lg-two2 { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width: 575.98px) {
    .lg-h1 { font-size: 26px; margin-top: 0; }
    .lg-side, .lg-card { padding: 24px 18px; border-radius: 24px; }
    .lg-side h2, .lg-card h2 { font-size: 22px; }
}
