/* SK-5602: формы входа, согласие на рекламную рассылку, блок согласия в профиле. Деск + мобдеск. */

@font-face { font-family: 'Slivki Rounded'; font-weight: 400; font-style: normal; font-display: swap;
    src: url('/fonts/sf-pro-rounded/regular/SF-Pro-Rounded-Regular.ttf') format('truetype'); }
@font-face { font-family: 'Slivki Rounded'; font-weight: 500; font-style: normal; font-display: swap;
    src: url('/fonts/sf-pro-rounded/medium/FontsFree-Net-SF-Pro-Rounded-Medium.ttf') format('truetype'); }
@font-face { font-family: 'Slivki Rounded'; font-weight: 600; font-style: normal; font-display: swap;
    src: url('/fonts/sf-pro-rounded/semibold/FontsFree-Net-SF-Pro-Rounded-Semibold.ttf') format('truetype'); }
@font-face { font-family: 'Slivki Rounded'; font-weight: 700; font-style: normal; font-display: swap;
    src: url('/fonts/sf-pro-rounded/bold/SFRounded-Ultralight.woff2') format('woff2'),
         url('/fonts/sf-pro-rounded/bold/SFRounded-Ultralight.woff') format('woff'); }

/* ---------- Общие модалки (bootstrap 3 на деске / 4 на мобдеске) ---------- */
.sl-auth-modal .modal-dialog,
.sl-consent-modal .modal-dialog {
    display: flex;
    align-items: center;
    width: 360px;
    max-width: calc(100% - 32px) !important;
    min-height: 100%;
    height: auto;
    margin: 0 auto;
    padding: 16px 0;
    box-sizing: border-box;
}
.sl-consent-modal .modal-dialog { width: 458px; }

.sl-auth-modal .modal-content,
.sl-consent-modal .modal-content {
    position: relative;
    width: 100%;
    margin: 0;
    border: 0;
    border-radius: 16px;
    background: #FFFFFF;
    box-shadow: none;
    font-family: 'Slivki Rounded', 'SF Pro Rounded', -apple-system, BlinkMacSystemFont, sans-serif;
    font-weight: 400;
    text-align: left;
    box-sizing: border-box;
}
.sl-auth-modal .d-none,
.sl-consent-modal .d-none { display: none !important; }

/* ---------- Формы входа ---------- */
/* перекрываем старые id-правила #loginPhone/#loginMail из style.css (деск и мобдеск) */
#loginPhone.sl-auth-modal,
#loginMail.sl-auth-modal { height: 100% !important; background: transparent !important; }
#loginPhone.sl-auth-modal .modal-dialog,
#loginMail.sl-auth-modal .modal-dialog {
    width: 360px;
    max-width: calc(100% - 32px) !important;
    min-height: 100%;
    height: auto;
    margin: 0 auto !important;
}
#loginPhone.sl-auth-modal .modal-content,
#loginMail.sl-auth-modal .modal-content { padding: 32px 28px 28px; }

.sl-auth-modal .sl-auth { padding: 32px 28px 28px; }

.sl-auth__close {
    position: absolute;
    top: 14px;
    right: 15px;
    width: 16px;
    height: 16px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    opacity: 1;
}
.sl-auth__close::before,
.sl-auth__close::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 11.3px; /* диагональ 8x8 */
    height: 1px;
    background: #7F868C;
    transform: translate(-50%, -50%) rotate(45deg);
}
.sl-auth__close::after { transform: translate(-50%, -50%) rotate(-45deg); }

.sl-auth__title {
    margin: 0 0 24px;
    font-size: 18px;
    line-height: 24px;
    font-weight: 700;
    color: #333333;
    text-align: center;
}
.sl-auth__form { display: flex; flex-direction: column; gap: 24px; margin: 0; }
.sl-auth__form--mail { gap: 18px; }
.sl-auth-modal .sl-auth__title { margin-bottom: 24px; }
#loginMail .sl-auth__title { margin-bottom: 18px; }

.sl-auth__group { display: flex; flex-direction: column; gap: 16px; }
/* пустой контейнер reCAPTCHA не должен давать лишний отступ flex-gap */
.sl-auth__form #email_recaptcha:empty { display: none; }

/* поля */
.sl-auth__field,
.sl-auth__phone {
    position: relative;
    height: 34px;
    border-bottom: 1px solid #DFE2EC;
    box-sizing: border-box;
}
.sl-auth__phone { height: 48px; }

.sl-auth-modal input.sl-auth__input {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    outline: 0;
    background: transparent;
    box-shadow: none;
    font-family: inherit;
    font-size: 16px;
    line-height: 19px;
    font-weight: 400;
    color: #000000;
    -webkit-appearance: none;
    appearance: none;
}
.sl-auth-modal input.sl-auth__input::placeholder { color: #333333; opacity: 1; }
.sl-auth-modal input.sl-auth__input:-webkit-autofill { -webkit-box-shadow: 0 0 0 40px #FFFFFF inset; }

/* телефон: intl-tel-input (флаг + код + шеврон, отступ до номера 12px) */
.sl-auth-modal .sl-auth__phone .iti { display: block; width: 100%; height: 100%; }
.sl-auth-modal input.sl-auth__input--phone {
    font-family: Arimo, Arial, sans-serif;
    font-size: 16px;
    color: #000000;
    padding-left: 88px; /* уточняется в JS по ширине блока кода страны */
}
.sl-auth-modal input.sl-auth__input--phone::placeholder { color: #9298A8; }
.sl-auth-modal .sl-auth__phone .iti__flag-container {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: auto;
    display: flex;
    align-items: center;
    width: auto;
    height: 100%;
    padding: 0;
    z-index: 1;
}
.sl-auth-modal .sl-auth__phone .iti__selected-flag,
.sl-auth-modal .sl-auth__phone .iti--separate-dial-code .iti__selected-flag {
    display: flex;
    align-items: center;
    gap: 4px;
    height: 100%;
    padding: 0 6px 0 0;
    background: transparent !important;
    outline: 0;
}
/* спрайт флага 16px, в макете 18px */
.sl-auth-modal .sl-auth__phone .iti__flag { flex: 0 0 auto; transform: scale(1.125); transform-origin: left center; margin-right: 2px; }
.sl-auth-modal .sl-auth__phone .iti__selected-dial-code {
    margin: 0;
    font-family: 'Slivki Rounded', 'SF Pro Rounded', sans-serif;
    font-size: 16px;
    line-height: 19px;
    color: #333333;
}
.sl-auth-modal .sl-auth__phone .iti__arrow {
    width: 12px;
    height: 12px;
    margin: 0;
    border: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%237F868C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px 12px no-repeat;
    transition: transform .2s ease;
}
.sl-auth-modal .sl-auth__phone .iti__arrow--up { transform: rotate(180deg); }

/* капча SLIVKI CAPTCHA внутри формы */
.sl-auth__captcha.slivki-captcha { max-width: none; width: 100%; margin: 0; font-family: inherit; }
.sl-auth__captcha .slivki-captcha__box {
    height: 67px;
    min-height: 0;
    padding: 0 14px;
    gap: 10px;
    border: 1px solid #DFE2EC;
    border-radius: 6px;
    box-shadow: none;
    box-sizing: border-box;
}
.sl-auth__captcha .slivki-captcha__left { gap: 10px; }
.sl-auth__captcha .slivki-captcha__tick {
    width: 18px;
    height: 18px;
    border: 1px solid #DFE2EC;
    border-radius: 3px;
    background: #FFFFFF;
}
.sl-auth__captcha .slivki-captcha__tick::before { display: none; }
.sl-auth__captcha .slivki-captcha__tick::after { width: 10px; height: 10px; border-width: 1.5px; }
.sl-auth__captcha .slivki-captcha__text { padding: 0; gap: 2px; }
.sl-auth__captcha .slivki-captcha__label { font-size: 12px; line-height: 14px; font-weight: 700; color: #242424; }
.sl-auth__captcha .slivki-captcha__status { min-height: 0; font-size: 10px; line-height: 12px; }
.sl-auth__captcha .slivki-captcha__status:empty,
.sl-auth__captcha.slivki-captcha--success .slivki-captcha__status { display: none; }
.sl-auth__captcha .slivki-captcha__brand { gap: 4px; min-width: 68px; }
.sl-auth__captcha .slivki-captcha__logo { width: 28px; height: 28px; }
.sl-auth__captcha .slivki-captcha__brand-text { font-size: 9px; line-height: 11px; letter-spacing: 0; color: #697083; }
.sl-auth__captcha.slivki-captcha--success .slivki-captcha__box { border-color: #DFE2EC; }
.sl-auth__captcha.slivki-captcha--success .slivki-captcha__tick,
.sl-auth__checkbox-input:checked + .sl-auth__agreement-label .sl-auth__checkbox {
    border-color: #6248DD;
    background: #FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8' fill='none'%3E%3Cpath d='M.75 3.9L3.55 6.85L9.25.9' stroke='%236248DD' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px 8px no-repeat;
}

/* ссылки и кнопка */
.sl-auth__actions { display: flex; flex-direction: column; gap: 16px; }
.sl-auth-modal a.sl-auth__link,
.sl-auth-modal a.sl-auth__reset-link {
    margin: 0;
    font-size: 12px;
    line-height: 18px;
    font-weight: 400;
    color: #6248DD;
    text-decoration: none;
}
.sl-auth-modal a.sl-auth__link { display: block; text-align: center; }
.sl-auth-modal a.sl-auth__link--tall { display: flex; align-items: center; justify-content: center; min-height: 36px; }
.sl-auth-modal a.sl-auth__reset-link { align-self: flex-start; line-height: 14px; }
.sl-auth-modal a.sl-auth__link:hover,
.sl-auth-modal a.sl-auth__reset-link:hover { text-decoration: underline; color: #6248DD; }

.sl-auth-modal .sl-auth__submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 44px;
    margin: 0;
    padding: 0 16px;
    border: 0;
    border-radius: 12px;
    background: #6248DD;
    font-family: inherit;
    font-size: 14px;
    line-height: 17px;
    font-weight: 700;
    color: #FFFFFF;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: none;
    transition: background-color .2s ease, color .2s ease;
}
.sl-auth-modal .sl-auth__submit.is-disabled { background: #F3EFFE; color: #9298A8; pointer-events: none; cursor: default; }
.sl-auth-modal .sl-auth__submit[disabled] { opacity: .7; }

.sl-auth-modal .sl-auth__error {
    display: block;
    margin: 0;
    padding: 0;
    font-size: 12px;
    line-height: 16px;
    font-weight: 400;
    color: #F53B57;
}

/* согласие с пользовательским соглашением */
.sl-auth__agreement { position: relative; }
.sl-auth__checkbox-input,
.sl-consent__checkbox-input,
.sl-consent-sheet__checkbox-input,
.sl-profile-consent__checkbox-input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    opacity: 0;
    pointer-events: none;
}
.sl-auth-modal .sl-auth__agreement-label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0;
    padding: 0;
    font-size: 12px;
    line-height: 18px;
    font-weight: 400;
    color: #6248DD;
    cursor: pointer;
}
.sl-auth__agreement-label::before,
.sl-auth__agreement-label::after { display: none !important; }
.sl-auth__checkbox,
.sl-consent__checkbox {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    border: 1px solid #DFE2EC;
    border-radius: 3px;
    background: #FFFFFF;
    box-sizing: border-box;
}
.sl-auth-modal a.sl-auth__agreement-link { font-weight: 600; color: #6248DD; text-decoration: none; }
.sl-auth-modal a.sl-auth__agreement-link:hover { text-decoration: underline; }
.sl-auth__checkbox-input:focus-visible + .sl-auth__agreement-label .sl-auth__checkbox,
.sl-consent__checkbox-input:focus-visible + .sl-consent__channel-label .sl-consent__checkbox,
.sl-profile-consent__checkbox-input:focus-visible + .sl-profile-consent__label .sl-profile-consent__checkbox {
    outline: 2px solid rgba(98, 72, 221, .35);
    outline-offset: 1px;
}

/* ---------- Согласие на рассылку / отзыв — деск-модалка ---------- */
.sl-consent-modal .sl-consent { padding: 42px 39px 24px; }
.sl-consent__close {
    position: absolute;
    top: 17px;
    right: 15px;
    width: 24px;
    height: 24px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}
.sl-consent__close::before,
.sl-consent__close::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 19.8px; /* диагональ 14x14 */
    height: 2px;
    border-radius: 1px;
    background: #DCDFE4;
    transform: translate(-50%, -50%) rotate(45deg);
}
.sl-consent__close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.sl-consent__title {
    margin: 0 0 16px;
    font-size: 18px;
    line-height: 26px;
    font-weight: 700;
    color: #222222;
    text-align: center;
}
.sl-consent__text {
    margin: 0 0 7px;
    font-size: 14px;
    line-height: 20px;
    font-weight: 400;
    color: #222222;
}
.sl-consent__terms-link,
.sl-consent__terms-link:hover,
.sl-consent__terms-link:focus { color: inherit; text-decoration: underline; text-decoration-skip-ink: auto; }
.sl-consent__channel { position: relative; height: 41px; margin-bottom: 27px; }
.sl-consent-modal .sl-consent__channel-label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0;
    padding: 0;
    font-size: 12px;
    line-height: 18px;
    font-weight: 400;
    color: #000000;
    cursor: pointer;
}
.sl-consent__channel-label::before,
.sl-consent__channel-label::after { display: none !important; }
.sl-consent__checkbox-input:checked + .sl-consent__channel-label { color: #6248DD; }
.sl-consent__checkbox-input:checked + .sl-consent__channel-label .sl-consent__checkbox,
.sl-profile-consent__checkbox-input:checked + .sl-profile-consent__label .sl-profile-consent__checkbox {
    border-color: #6248DD;
    background: #FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8' fill='none'%3E%3Cpath d='M.75 3.9L3.55 6.85L9.25.9' stroke='%236248DD' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px 8px no-repeat;
}
.sl-consent__actions { display: flex; justify-content: center; gap: 12px; }
.sl-consent-modal .sl-consent__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 1 146px;
    width: 146px;
    height: 48px;
    margin: 0;
    padding: 0 8px;
    border: 1px solid transparent;
    border-radius: 12px;
    font-family: inherit;
    font-size: 14px;
    line-height: 20px;
    font-weight: 700;
    text-transform: none;
    box-shadow: none;
    cursor: pointer;
    transition: background-color .2s ease;
}
.sl-consent-modal .sl-consent__btn--secondary { background: #FFFFFF; border-color: #E1E3E9; color: #222222; }
.sl-consent-modal .sl-consent__btn--secondary:hover { background: #F8F8FB; }
.sl-consent-modal .sl-consent__btn--primary { background: #6248DD; color: #FFFFFF; }
.sl-consent-modal .sl-consent__btn--primary:hover { background: #5439D0; }
.sl-consent-modal .sl-consent__btn--primary:disabled { background: #F3EFFE; color: #FFFFFF; cursor: default; }
.sl-consent-modal .sl-consent__btn.is-loading { opacity: .7; pointer-events: none; }

.sl-consent--revoke .sl-consent__title { margin-bottom: 42px; }
.sl-consent--revoke .sl-consent__text { margin-bottom: 47px; }

/* ---------- Согласие на рассылку — мобдеск, нижняя панель ---------- */
.sl-consent-sheet {
    position: fixed;
    inset: 0;
    z-index: 1070;
    font-family: 'Slivki Rounded', 'SF Pro Rounded', -apple-system, BlinkMacSystemFont, sans-serif;
}
.sl-consent-sheet[hidden] { display: none; }
.sl-consent-sheet__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .4);
    opacity: 0;
    transition: opacity .25s ease;
}
.sl-consent-sheet__panel {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    max-height: 100%;
    overflow-y: auto;
    padding: 23px 16px calc(40px + env(safe-area-inset-bottom, 0px));
    border-radius: 32px 32px 0 0;
    background: #FFFFFF;
    box-sizing: border-box;
    transform: translateY(100%);
    transition: transform .3s ease;
}
.sl-consent-sheet.is-open .sl-consent-sheet__overlay { opacity: 1; }
.sl-consent-sheet.is-open .sl-consent-sheet__panel { transform: translateY(0); }
.sl-consent-sheet__handle { width: 36px; height: 5px; margin: 0 auto 12px; border-radius: 3px; background: #DFE1E4; }
.sl-consent-sheet__title {
    max-width: 265px;
    margin: 0 auto 12px;
    font-size: 18px;
    line-height: 26px;
    font-weight: 700;
    color: #20211F;
    text-align: center;
}
.sl-consent-sheet__text { margin: 0 0 12px; font-size: 14px; line-height: 20px; font-weight: 400; color: #222222; }
.sl-consent-sheet__channels {
    height: 69px;
    margin-bottom: 12px;
    padding: 10px 16px;
    border-radius: 8px;
    background: #F6F7F9;
    box-sizing: border-box;
}
.sl-consent-sheet__channel { position: relative; height: 45px; }
.sl-consent-sheet__channel-label {
    display: flex;
    align-items: center;
    gap: 16px;
    height: 100%;
    margin: 0;
    font-size: 14px;
    line-height: 20px;
    font-weight: 400;
    color: #20211F;
    cursor: pointer;
}
.sl-consent-sheet__channel-label::before,
.sl-consent-sheet__channel-label::after { display: none !important; }
.sl-consent-sheet__checkbox-wrap { display: flex; align-items: center; flex: 0 0 27px; width: 27px; height: 23px; }
.sl-consent-sheet__checkbox {
    width: 23px;
    height: 23px;
    border: 1px solid #D8DADE;
    border-radius: 1px;
    background: #FFFFFF;
    box-sizing: border-box;
}
.sl-consent-sheet__checkbox-input:checked + .sl-consent-sheet__channel-label .sl-consent-sheet__checkbox {
    border-color: #6248DD;
    background: #FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='10' viewBox='0 0 13 10' fill='none'%3E%3Cpath d='M1 5L4.6 8.7L12 1' stroke='%236248DD' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px 10px no-repeat;
}
.sl-consent-sheet__submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 48px;
    margin: 0 0 21px;
    padding: 0;
    border: 0;
    border-radius: 15px;
    background: #6248DD;
    font-family: inherit;
    font-size: 14px;
    line-height: 17px;
    font-weight: 700;
    color: #FFFFFF;
    transition: background-color .2s ease, color .2s ease;
}
.sl-consent-sheet__submit:disabled { background: #F6F7F9; color: #B7B7B7; }
.sl-consent-sheet__submit.is-loading { opacity: .7; pointer-events: none; }
.sl-consent-sheet__close {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    font-family: inherit;
    font-size: 14px;
    line-height: 20px;
    font-weight: 400;
    color: #B7B7B7;
    text-align: center;
}
body.sl-consent-sheet-open { overflow: hidden; }

/* ---------- Блок согласия в «Персональной информации» ---------- */
.sl-profile-consent {
    margin: 24px 0 8px;
    font-family: 'Slivki Rounded', 'SF Pro Rounded', -apple-system, BlinkMacSystemFont, sans-serif;
    text-align: left;
}
.sl-profile-consent__title { margin: 0 0 5px; font-size: 16px; line-height: 20px; font-weight: 700; color: #222222; }
.sl-profile-consent__text { margin: 0; font-size: 14px; line-height: 20px; font-weight: 400; color: #222222; }
.sl-profile-consent__divider { height: 0; margin: 17px 0; border-top: 1px solid #DFE2EC; }
.sl-profile-consent__item { position: relative; padding-left: 23px; }
.sl-profile-consent .sl-profile-consent__label {
    display: block;
    margin: 0;
    padding: 0;
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
    color: #222222;
    cursor: pointer;
}
.sl-profile-consent__label::before,
.sl-profile-consent__label::after { display: none !important; }
.sl-profile-consent__checkbox {
    position: absolute;
    top: -1px;
    left: 0;
    width: 18px;
    height: 18px;
    border: 1px solid #DFE2EC;
    border-radius: 3px;
    background: #FFFFFF;
    box-sizing: border-box;
}
.sl-profile-consent__hint { font-size: 14px; line-height: 20px; font-weight: 400; color: #7F868C; }
.sl-profile-consent.is-loading .sl-profile-consent__label { opacity: .6; pointer-events: none; }

@media (max-width: 480px) {
    .sl-consent-modal .sl-consent { padding: 42px 20px 24px; }
}
