/* Оболочка модальных окон и просмотр документов. */

body.st-redesign-v2 .st-dialog:not([open]) {
    display: none;
}

body.st-redesign-v2 .st-dialog[open] {
    display: block;
    position: fixed;
    inset: 0;
    margin: auto;
    overflow: auto;
}

body.st-redesign-v2 .st-dialog {
    border: 0;
    border-radius: 25px;
    background: white;
    color: var(--ink);
    padding: 42px;
    max-height: 88vh;
    width: min(1000px,92vw);
    box-shadow: 0 30px 150px #15133433;
    overscroll-behavior: contain;
}

body.st-redesign-v2 .st-dialog::backdrop {
    background: #13132966;
    backdrop-filter: blur(8px);
}

body.st-redesign-v2 .st-close {
    position: absolute;
    right: 20px;
    top: 16px;
    border: 0;
    background: #f3f3f6;
    width: 35px;
    height: 35px;
    line-height: 1;
    border-radius: 50%;
    font-size: 25px;
    z-index: 2;
}

body.st-redesign-v2 .st-close:hover {
    background: var(--lavender);
    color: var(--blue);
}

body.st-redesign-v2 .st-contact {
    width: min(540px,92vw);
    padding: 48px;
}

body.st-redesign-v2 .st-contact h2 {
    font-size: 35px;
    margin-bottom: 20px;
}

body.st-redesign-v2 .st-contact>p {
    font-size: 13px;
    color: var(--muted);
}

body.st-redesign-v2 .st-contact>a {
    display: block;
    color: var(--blue);
    font-size: 15px;
    margin: 12px 0;
}

body.st-redesign-v2 .st-contact .st-contact-phone {
    font-size: 26px;
    font-weight: 650;
    letter-spacing: -.04em;
    margin-top: 30px;
}

body.st-redesign-v2 .st-contact .st-preview-note {
    font-size: 11px;
    color: #9897a3;
    line-height: 1.7;
    border-top: 1px solid var(--line);
    padding-top: 22px;
    margin: 27px 0 0;
}

body.st-redesign-v2 .st-lightbox {
    width: min(850px,94vw);
    text-align: center;
}

body.st-redesign-v2 .st-lightbox>img {
    max-height: 72vh;
    display: block;
    margin: auto;
}

body.st-redesign-v2 .st-lightbox>a {
    display: inline-block;
    margin-top: 15px;
    font-size: 12px;
    color: var(--blue);
}

@media (max-width: 640px) {
    body.st-redesign-v2 .st-dialog {
        border-radius: 20px;
        padding: 35px 23px;
        width: calc(100% - 24px);
        max-height: 90dvh;
    }

    body.st-redesign-v2 .st-dialog .st-eyebrow {
        margin-bottom: 22px;
    }

    body.st-redesign-v2 .st-contact {
        padding: 40px 25px;
    }

    body.st-redesign-v2 .st-contact h2 {
        font-size: 31px;
        max-width: 280px;
    }

    body.st-redesign-v2 .st-contact .st-contact-phone {
        font-size: 25px;
    }

    body.st-redesign-v2 .st-lightbox>img {
        max-height: 68vh;
    }
}

@media print {
    body.st-redesign-v2 .st-dialog {
        display: none !important;
    }
}

body.st-redesign-v2 .st-dialog input:focus {
    outline-color: var(--blue);
}
