/* Shared authentication form layout, controls and feedback states. */
body.nideo-public-shell .contact-page .comment-one__login-form {
    width: min(100%, 410px);
    margin-inline: auto;
}

body.nideo-public-shell .comment-one__login-form > .row,
body.nideo-public-shell .comment-one__login-form > .row > [class*="col-"] {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    padding-inline: 0;
}

body.nideo-public-shell .comment-one__login-form > .row > [class*="col-"] {
    flex: 0 0 100%;
}

body.nideo-public-shell .comment-one__login-form .comment-form__input-box {
    margin-bottom: 14px;
}

body.nideo-public-shell .comment-one__login-form .comment-form__btn-box {
    justify-content: center;
    text-align: center;
}

body.nideo-public-shell .comment-one__login-form .comment-form__btn-box .thm-btn {
    min-width: 125px;
}

body.nideo-public-shell .comment-one__login-form .form-check {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0;
}

body.nideo-public-shell .comment-one__login-form .form-check-input {
    flex: 0 0 auto;
    margin: 0;
}

/* Login page presentation */
body.nideo-public-shell.nideo-auth-page .contact-page {
    padding-block: clamp(64px, 8vw, 104px);
}

body.nideo-public-shell.nideo-auth-page .contact-page > .container {
    width: min(calc(100% - 48px), 760px);
    max-width: 760px;
}

body.nideo-public-shell.nideo-auth-page .contact-page .section-title {
    margin-bottom: 34px;
}

body.nideo-public-shell.nideo-auth-page .contact-page > .container > .row > .col-xl-8 {
    width: min(100%, 430px);
    max-width: 430px;
    margin-inline: auto;
}

body.nideo-public-shell.nideo-auth-page .comment-one__login-form {
    width: 100%;
}

body.nideo-public-shell.nideo-auth-page .comment-one__login-form .form-check {
    width: auto;
    white-space: nowrap;
}

body.nideo-public-shell.nideo-auth-page .comment-one__login-form .form-check-label {
    margin: 0;
    color: var(--nideo-muted, #6f7b74);
    font-size: 13px;
    line-height: 1.3;
}

body.nideo-public-shell.nideo-auth-page .comment-one__login-form .form-check-input {
    width: 16px;
    height: 16px;
}

body.nideo-public-shell.nideo-auth-page .comment-one__login-form .comment-form__btn-box {
    justify-content: center;
    text-align: center;
}

body.nideo-public-shell.nideo-auth-page .comment-one__login-form > .text-center a,
body.nideo-public-shell.nideo-auth-page .comment-one__login-form > .text-center p a {
    color: var(--nideo-muted, #6f7b74);
    font-weight: 600;
}

body.nideo-public-shell.nideo-auth-page .comment-one__login-form > .text-center a:hover,
body.nideo-public-shell.nideo-auth-page .comment-one__login-form > .text-center a:focus-visible {
    color: var(--nideo-green-dark, #238a38);
}

body.nideo-public-shell.nideo-auth-page .alert-info {
    border-color: var(--nideo-line, #dbe5dc);
    background: var(--nideo-page-surface-soft, #f2f6f2);
    color: var(--nideo-muted, #6f7b74);
}

body.nideo-public-shell.nideo-auth-page .alert-info a {
    color: inherit;
}

.password-wrapper {
    position: relative;
}

.password-wrapper input {
    padding-right: 50px;
}

.password-toggle {
    position: absolute;
    top: 50%;
    right: 8px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--nideo-muted, #6f7b74);
    cursor: pointer;
    transform: translateY(-50%);
    transition: color .2s ease, background-color .2s ease;
}

.password-toggle:hover,
.password-toggle:focus-visible {
    background: rgba(72, 185, 79, .1);
    color: var(--nideo-green-dark, #238a38);
}

.password-toggle:focus-visible {
    outline: 3px solid rgba(72, 185, 79, .28);
    outline-offset: 1px;
}

.nideo-public-shell .alert,
.nideo-public-shell .custom-alert,
.nideo-public-shell .alert-message {
    width: 100%;
    margin-bottom: 16px;
    padding: 13px 16px;
    border: 1px solid var(--nideo-line, #dbe5dc);
    border-radius: 4px;
    font-size: 13px;
    line-height: 1.5;
}

.nideo-public-shell .alert ul {
    margin: 0;
    padding-left: 18px;
}

.nideo-public-shell .alert-success,
.nideo-public-shell .custom-alert-success,
.nideo-public-shell .alert-message.success {
    border-color: rgba(35, 138, 56, .3);
    background: rgba(72, 185, 79, .1);
    color: var(--nideo-green-dark, #238a38);
}

.nideo-public-shell .alert-danger,
.nideo-public-shell .custom-alert-error,
.nideo-public-shell .alert-message.error {
    border-color: rgba(200, 61, 75, .3);
    background: rgba(200, 61, 75, .08);
    color: #b83240;
}

.nideo-public-shell .alert-info {
    border-color: rgba(47, 111, 185, .28);
    background: rgba(47, 111, 185, .08);
    color: #245d97;
}

.nideo-verification-page .section-title > p {
    max-width: 560px;
    margin: 12px auto 0;
    color: var(--nideo-muted, #6d7b73);
    font-size: 14px;
    line-height: 1.6;
}

.nideo-verification-card {
    width: min(100%, 520px);
    margin-inline: auto;
    padding: clamp(28px, 5vw, 48px);
    border: 1px solid var(--nideo-line, #dbe5dc);
    border-top: 3px solid var(--nideo-green, #48b94f);
    border-radius: var(--nideo-radius-lg, 4px);
    background: var(--nideo-surface, #fff);
    box-shadow: var(--nideo-shadow-md, 0 18px 45px rgba(23, 35, 29, .09));
}

.nideo-verification-card .section-title { margin-bottom: 28px; }

.nideo-verification-card .section-title__title {
    font-size: clamp(30px, 4vw, 42px);
}

.nideo-verification-card .comment-one__login-form input {
    width: 100%;
}

.nideo-verification-card .comment-one__login-form input[name="code"] {
    color: var(--nideo-ink, #17231d);
    font-size: 24px;
    font-weight: 700;
    letter-spacing: .28em;
    text-align: center;
}

.nideo-verification-resend {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px;
    margin-top: 22px;
    color: var(--nideo-muted, #6d7b73);
    font-size: 13px;
}

.nideo-verification-resend p { margin: 0; }

.nideo-text-button {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--nideo-green-dark, #238a38);
    font: inherit;
    font-weight: 700;
    text-decoration: underline;
    cursor: pointer;
}

.nideo-text-button:focus-visible,
.nideo-verification-login-link a:focus-visible {
    outline: 2px solid var(--nideo-green, #48b94f);
    outline-offset: 3px;
}

.nideo-verification-login-link { margin-top: 16px; }

.nideo-verification-login-link a { color: var(--nideo-green-dark, #238a38); font-weight: 700; }

.nideo-public-shell .comment-one__login-form .text-danger,
.nideo-public-shell .comment-one__login-form .field-error {
    display: block;
    margin: -6px 0 14px;
    color: #b83240;
    font-size: 12px;
    line-height: 1.4;
}

@media (max-width: 640px) {
    body.nideo-public-shell .contact-page .comment-one__login-form {
        width: 100%;
    }

    body.nideo-public-shell .comment-one__login-form .comment-form__btn-box {
        align-items: stretch;
        flex-direction: column;
    }

    body.nideo-public-shell.nideo-auth-page .contact-page > .container {
        width: min(calc(100% - 32px), 430px);
    }

    body.nideo-public-shell.nideo-auth-page .contact-page {
        padding-block: 58px 72px;
    }

    body.nideo-public-shell .comment-one__login-form .comment-form__btn-box .thm-btn {
        width: 100%;
    }

    .nideo-verification-card {
        padding: 28px 20px;
    }
}

:root[data-theme="dark"] .password-toggle {
    color: #b9c9bd;
}

:root[data-theme="dark"] .password-toggle:hover,
:root[data-theme="dark"] .password-toggle:focus-visible {
    color: #8ce392;
}

:root[data-theme="dark"] .nideo-public-shell.nideo-auth-page .alert-info {
    color: var(--nideo-muted, #b4c2b8);
}
