/* Carnage JD — auth modal fixes v3
   Подключается после carnage-style.css. */

/* После logout кнопки остаются в той же сетке и иконка регистрации не схлопывается. */
.nav-auth-minimal .auth-btn-register i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 1em;
}

/* Регистрация: окно всегда помещается в viewport и нормально прокручивается. */
#registerModal {
    align-items: flex-start;
    padding: 12px 0;
    box-sizing: border-box;
}

#registerModal .auth-modal-container {
    width: min(440px, calc(100vw - 24px));
    max-width: 440px;
    max-height: calc(100dvh - 24px);
    margin: 0 auto;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: rgba(212,168,80,.55) rgba(255,255,255,.04);
}

#registerModal .auth-modal-container::-webkit-scrollbar {
    display: block;
    width: 6px;
}

#registerModal .auth-modal-container::-webkit-scrollbar-track {
    background: rgba(255,255,255,.035);
}

#registerModal .auth-modal-container::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(255,107,0,.75), rgba(212,168,80,.55));
    border-radius: 999px;
}

#registerModal .auth-modal-content {
    padding: 1.15rem 1.65rem 1.25rem;
    border-radius: 14px;
}

#registerModal .auth-modal-close {
    top: .8rem;
    right: .8rem;
}

#registerModal .auth-modal-header {
    margin-bottom: .75rem;
}

#registerModal .auth-modal-icon {
    width: 50px;
    height: 50px;
    margin-bottom: .45rem;
}

#registerModal .auth-modal-icon .auth-icon-png {
    width: 50px;
    height: 50px;
}

#registerModal .auth-modal-header h2 {
    font-size: 1.35rem;
    margin-bottom: .15rem;
}

#registerModal .auth-modal-header p {
    font-size: .82rem;
}

#registerModal .auth-form {
    gap: .65rem;
}

#registerModal .form-group {
    gap: .25rem;
}

#registerModal .form-group label {
    font-size: .82rem;
}

#registerModal .form-group input {
    padding: .62rem .82rem;
    font-size: .9rem;
}

#registerModal .form-hint {
    font-size: .66rem;
    line-height: 1.25;
}

#registerModal .password-strength {
    margin-top: .15rem;
}

#registerModal .strength-text {
    font-size: .68rem;
    margin-top: .18rem;
}

#registerModal .form-options {
    margin-top: .05rem;
}

#registerModal .checkbox-wrapper {
    font-size: .82rem;
}

#registerModal .auth-submit-btn {
    margin-top: .1rem;
}

#registerModal .auth-modal-footer {
    margin-top: .7rem;
}

/* CAPTCHA hosted by CP: работает и с Internal, и с Google reCAPTCHA v2. */
.captcha-host {
    width: 100%;
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 8px;
    background: rgba(255,255,255,.035);
    border: 1px solid rgba(212,168,80,.2);
    border-radius: 8px;
    box-sizing: border-box;
    overflow: hidden;
}

.captcha-frame {
    display: block;
    width: 100%;
    height: 92px;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.captcha-hint {
    transition: color .2s ease;
}

.captcha-hint.is-ready {
    color: #69d28d;
}

.captcha-hint.is-error {
    color: #ff7f6e;
}

/* Восстановление тоже получает новый CAPTCHA-виджет. */
#rememberModal .auth-modal-container {
    width: min(410px, calc(100vw - 24px));
    max-width: 410px;
}

/* Низкие экраны — ещё чуть компактнее, чтобы не казалось, что модалка обрезана. */
@media (max-height: 760px) {
    #registerModal {
        padding: 8px 0;
    }

    #registerModal .auth-modal-container {
        max-height: calc(100dvh - 16px);
    }

    #registerModal .auth-modal-content {
        padding: .9rem 1.35rem 1rem;
    }

    #registerModal .auth-modal-icon {
        width: 42px;
        height: 42px;
        margin-bottom: .25rem;
    }

    #registerModal .auth-modal-icon .auth-icon-png {
        width: 42px;
        height: 42px;
    }

    #registerModal .auth-form {
        gap: .52rem;
    }

    #registerModal .form-group input {
        padding: .55rem .75rem;
    }
}

@media (max-width: 480px) {
    #registerModal .auth-modal-content {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .captcha-host {
        padding-left: 2px;
        padding-right: 2px;
    }
}


/* ==========================================================
   v4: silent auth bootstrap.
   No skeleton / empty outlined box and no guest-button flash before CP session resolves.
   ========================================================== */
.nav-auth-minimal.auth-pending {
    min-width: 248px;
    min-height: 44px;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.nav-auth-minimal.auth-ready {
    visibility: visible !important;
    opacity: 1 !important;
    transition: opacity .12s ease;
}

@media (max-width: 900px) {
    .nav-auth-minimal.auth-pending {
        min-width: 152px;
    }
}
