/* =========================================================
   VOSTOK LEAD MODAL
   COMPACT PREMIUM GLASS
   ========================================================= */

.vlm{
    position:fixed;
    inset:0;
    z-index:999999;

    display:grid;
    place-items:center;

    padding:18px;

    visibility:hidden;
    pointer-events:none;

    font-family:'Montserrat',Arial,sans-serif;
}

.vlm.is-open{
    visibility:visible;
    pointer-events:auto;
}


/* =========================================================
   BACKDROP
   ========================================================= */

.vlm-backdrop{
    position:absolute;
    inset:0;

    background:
        radial-gradient(
            circle at 28% 22%,
            rgba(68,185,211,.12),
            transparent 34%
        ),
        rgba(4,18,25,.34);

    backdrop-filter:
        blur(9px)
        saturate(120%);

    -webkit-backdrop-filter:
        blur(9px)
        saturate(120%);

    opacity:0;

    transition:
        opacity .38s ease;
}

.vlm.is-open .vlm-backdrop{
    opacity:1;
}


/* =========================================================
   GLASS CARD
   ========================================================= */

.vlm-shell{
    position:relative;

    width:min(540px,100%);

    max-height:
        calc(100dvh - 36px);

    overflow:auto;
    overflow-x:hidden;

    padding:
        25px 26px 24px;

    border:
        1px solid
        rgba(255,255,255,.34);

    border-radius:25px;

    background:
        linear-gradient(
            145deg,
            rgba(225,245,250,.38),
            rgba(192,226,236,.24)
        );

    box-shadow:
        0 28px 75px
        rgba(0,16,24,.30),

        inset 0 1px 0
        rgba(255,255,255,.58),

        inset 0 -1px 0
        rgba(255,255,255,.08);

    backdrop-filter:
        blur(28px)
        saturate(155%);

    -webkit-backdrop-filter:
        blur(28px)
        saturate(155%);

    opacity:0;

    transform:
        translateY(18px)
        scale(.965);

    transition:
        opacity .38s ease,
        transform .48s
        cubic-bezier(.16,1,.3,1);
}

.vlm.is-open .vlm-shell{
    opacity:1;

    transform:
        translateY(0)
        scale(1);
}


/* стеклянный блик */

.vlm-shell::before{
    content:"";

    position:absolute;
    inset:0;

    border-radius:inherit;

    pointer-events:none;

    background:
        linear-gradient(
            125deg,
            rgba(255,255,255,.26),
            transparent 28%,
            transparent 70%,
            rgba(100,211,231,.06)
        );
}


/* мягкие внутренние световые пятна */

.vlm-glow{
    position:absolute;

    border-radius:50%;

    filter:
        blur(55px);

    pointer-events:none;
}

.vlm-glow-a{
    width:180px;
    height:180px;

    top:-95px;
    right:-70px;

    background:
        rgba(89,204,224,.22);
}

.vlm-glow-b{
    width:180px;
    height:180px;

    bottom:-110px;
    left:-70px;

    background:
        rgba(29,111,139,.13);
}


/* =========================================================
   CLOSE
   ========================================================= */

.vlm-close{
    position:absolute;

    z-index:20;

    top:15px;
    right:15px;

    width:34px;
    height:34px;

    border:
        1px solid
        rgba(255,255,255,.35);

    border-radius:50%;

    background:
        rgba(255,255,255,.16);

    backdrop-filter:
        blur(10px);

    -webkit-backdrop-filter:
        blur(10px);

    cursor:pointer;

    transition:
        transform .28s ease,
        background .28s ease;
}

.vlm-close:hover{
    transform:
        rotate(90deg);

    background:
        rgba(255,255,255,.30);
}

.vlm-close span{
    position:absolute;

    left:10px;
    top:16px;

    width:13px;
    height:1.5px;

    border-radius:5px;

    background:#183C49;
}

.vlm-close span:first-child{
    transform:rotate(45deg);
}

.vlm-close span:last-child{
    transform:rotate(-45deg);
}


/* =========================================================
   HEADER
   ========================================================= */

.vlm-stage{
    position:relative;
    z-index:5;
}

.vlm-head{
    padding-right:28px;
}

.vlm-kicker{
    display:flex;
    align-items:center;

    gap:7px;

    margin-bottom:8px;

    color:#267D96;

    font-size:7.5px;
    line-height:1;

    font-weight:800;

    letter-spacing:.17em;
}

.vlm-kicker i{
    display:block;

    width:16px;
    height:1px;

    background:#45ABC4;

    box-shadow:
        0 0 8px
        rgba(69,171,196,.60);
}

.vlm-head h2{
    margin:0;

    color:#102F3B;

    font-size:27px;
    line-height:1.04;

    font-weight:760;

    letter-spacing:-.04em;
}

.vlm-head h2 span{
    display:inline;

    color:#277E98;
}

.vlm-head > p{
    margin:
        8px 0 18px;

    max-width:460px;

    color:#55707B;

    font-size:10.5px;
    line-height:1.55;

    font-weight:500;
}


/* =========================================================
   FORM
   ========================================================= */

.vlm-fields{
    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:9px;
}

.vlm-field{
    display:block;
}

.vlm-field > span,
.vlm-label{
    display:block;

    margin-bottom:6px;

    color:#4F6974;

    font-size:7.5px;
    line-height:1;

    font-weight:760;

    letter-spacing:.09em;

    text-transform:uppercase;
}


/* =========================================================
   INPUTS
   ========================================================= */

.vlm-field input,
.vlm-field textarea{
    box-sizing:border-box;

    width:100%;

    outline:none;

    border:
        1px solid
        rgba(255,255,255,.34);

    border-radius:12px;

    background:
        rgba(255,255,255,.22);

    box-shadow:
        inset 0 1px 0
        rgba(255,255,255,.28);

    backdrop-filter:
        blur(14px);

    -webkit-backdrop-filter:
        blur(14px);

    color:#163844;

    font:inherit;

    font-size:11px;

    transition:
        border-color .22s ease,
        background .22s ease,
        box-shadow .22s ease;
}

.vlm-field input{
    height:42px;

    padding:
        0 13px;
}

.vlm-field textarea{
    min-height:70px;
    max-height:105px;

    padding:
        11px 13px;

    resize:vertical;

    line-height:1.45;
}

.vlm-field input::placeholder,
.vlm-field textarea::placeholder{
    color:
        rgba(57,83,94,.50);
}

.vlm-field input:focus,
.vlm-field textarea:focus{
    border-color:
        rgba(68,177,203,.52);

    background:
        rgba(255,255,255,.32);

    box-shadow:
        0 0 0 3px
        rgba(67,181,207,.08),

        inset 0 1px 0
        rgba(255,255,255,.36);
}


/* =========================================================
   GROUPS
   ========================================================= */

.vlm-group{
    margin-top:13px;
}

.vlm-message{
    display:block;

    margin-top:13px;
}


/* =========================================================
   CHIPS
   ========================================================= */

.vlm-choice,
.vlm-contact-choice{
    display:grid;

    gap:6px;
}

.vlm-choice{
    grid-template-columns:
        repeat(3,1fr);
}

.vlm-contact-choice{
    grid-template-columns:
        repeat(4,1fr);
}

.vlm-choice input,
.vlm-contact-choice input{
    position:absolute;

    opacity:0;

    pointer-events:none;
}

.vlm-choice span,
.vlm-contact-choice span{
    display:flex;

    align-items:center;
    justify-content:center;

    min-height:34px;

    padding:
        0 8px;

    border:
        1px solid
        rgba(255,255,255,.28);

    border-radius:10px;

    background:
        rgba(255,255,255,.14);

    backdrop-filter:
        blur(12px);

    -webkit-backdrop-filter:
        blur(12px);

    color:#496671;

    font-size:9px;

    font-weight:650;

    cursor:pointer;

    transition:
        .22s ease;
}

.vlm-choice span:hover,
.vlm-contact-choice span:hover{
    background:
        rgba(255,255,255,.25);
}

.vlm-choice input:checked + span,
.vlm-contact-choice input:checked + span{
    border-color:
        rgba(62,171,198,.42);

    background:
        linear-gradient(
            135deg,
            rgba(55,161,188,.22),
            rgba(255,255,255,.27)
        );

    color:#126783;

    box-shadow:
        inset 0 1px 0
        rgba(255,255,255,.38),

        0 5px 16px
        rgba(31,122,149,.07);
}


/* =========================================================
   BOTTOM
   ========================================================= */

.vlm-bottom{
    display:flex;

    align-items:center;

    gap:13px;

    margin-top:16px;
}

.vlm-submit{
    position:relative;

    display:flex;

    align-items:center;
    justify-content:center;

    gap:9px;

    min-width:175px;
    min-height:44px;

    padding:
        0 17px;

    border:0;

    border-radius:12px;

    color:#fff;

    background:
        linear-gradient(
            135deg,
            rgba(19,103,132,.94),
            rgba(40,153,178,.92)
        );

    box-shadow:
        0 10px 25px
        rgba(25,112,138,.20),

        inset 0 1px 0
        rgba(255,255,255,.24);

    backdrop-filter:
        blur(12px);

    -webkit-backdrop-filter:
        blur(12px);

    font:inherit;

    font-size:10px;

    font-weight:730;

    cursor:pointer;

    overflow:hidden;

    transition:
        transform .24s ease,
        box-shadow .24s ease;
}

.vlm-submit:hover{
    transform:
        translateY(-1px);

    box-shadow:
        0 13px 29px
        rgba(25,112,138,.27);
}

.vlm-submit::before{
    content:"";

    position:absolute;

    top:-120%;
    left:-60%;

    width:30%;
    height:320%;

    transform:
        rotate(22deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.25),
            transparent
        );

    transition:
        left .6s ease;
}

.vlm-submit:hover::before{
    left:125%;
}

.vlm-submit i{
    width:18px;
    height:18px;

    display:grid;
    place-items:center;
}

.vlm-submit svg{
    width:15px;
    height:15px;

    fill:none;

    stroke:currentColor;

    stroke-width:1.7;

    stroke-linecap:round;
    stroke-linejoin:round;
}

.vlm-submit.is-loading{
    opacity:.68;

    pointer-events:none;
}

.vlm-bottom p{
    max-width:220px;

    margin:0;

    color:#667F89;

    font-size:7.5px;
    line-height:1.45;
}

.vlm-error{
    min-height:13px;

    margin-top:7px;

    color:#B64E57;

    font-size:8.5px;

    font-weight:600;
}


/* =========================================================
   HONEYPOT
   ========================================================= */

.vlm-hp{
    position:absolute !important;

    left:-99999px !important;

    width:1px !important;
    height:1px !important;

    opacity:0 !important;
}


/* =========================================================
   SUCCESS
   ========================================================= */

.vlm-stage-success{
    display:none;

    min-height:330px;

    align-items:center;
    justify-content:center;

    flex-direction:column;

    text-align:center;
}

.vlm.is-success .vlm-stage-form{
    display:none;
}

.vlm.is-success .vlm-stage-success{
    display:flex;

    animation:
        vlmSuccessIn
        .55s
        cubic-bezier(.16,1,.3,1)
        both;
}

.vlm-success-icon{
    position:relative;

    width:82px;
    height:82px;

    display:grid;
    place-items:center;

    margin-bottom:16px;
}

.vlm-success-icon::before,
.vlm-success-icon::after{
    content:"";

    position:absolute;
    inset:0;

    border:
        1px solid
        rgba(60,184,210,.36);

    border-radius:50%;

    animation:
        vlmSuccessWave
        2s ease-out infinite;
}

.vlm-success-icon::after{
    animation-delay:.65s;
}

.vlm-success-icon span{
    position:relative;

    z-index:3;

    width:52px;
    height:52px;

    display:grid;
    place-items:center;

    border:
        1px solid
        rgba(255,255,255,.46);

    border-radius:50%;

    background:
        rgba(255,255,255,.20);

    backdrop-filter:
        blur(14px);

    -webkit-backdrop-filter:
        blur(14px);

    box-shadow:
        0 12px 32px
        rgba(31,137,165,.16);
}

.vlm-success-icon svg{
    width:26px;
    height:26px;

    fill:none;

    stroke:#1D829D;

    stroke-width:2.3;

    stroke-linecap:round;
    stroke-linejoin:round;

    stroke-dasharray:30;
    stroke-dashoffset:30;

    animation:
        vlmCheck
        .6s
        .17s
        ease
        forwards;
}

.vlm-success-kicker{
    color:#26839C;

    font-size:7.5px;

    font-weight:800;

    letter-spacing:.17em;
}

.vlm-stage-success h2{
    margin:
        8px 0 8px;

    color:#102F3B;

    font-size:28px;
    line-height:1;

    font-weight:760;

    letter-spacing:-.04em;
}

.vlm-stage-success p{
    max-width:340px;

    margin:0;

    color:#58717B;

    font-size:10.5px;

    line-height:1.55;
}

.vlm-success-close{
    min-height:38px;

    margin-top:18px;

    padding:
        0 15px;

    border:
        1px solid
        rgba(255,255,255,.30);

    border-radius:11px;

    background:
        rgba(255,255,255,.16);

    backdrop-filter:
        blur(12px);

    -webkit-backdrop-filter:
        blur(12px);

    color:#225F73;

    font:inherit;

    font-size:9px;

    font-weight:700;

    cursor:pointer;
}


/* =========================================================
   ANIMATIONS
   ========================================================= */

@keyframes vlmSuccessIn{

    from{
        opacity:0;

        transform:
            translateY(10px)
            scale(.98);
    }

    to{
        opacity:1;

        transform:
            translateY(0)
            scale(1);
    }

}

@keyframes vlmSuccessWave{

    0%{
        transform:
            scale(.64);

        opacity:.72;
    }

    100%{
        transform:
            scale(1.35);

        opacity:0;
    }

}

@keyframes vlmCheck{

    to{
        stroke-dashoffset:0;
    }

}


body.vlm-lock{
    overflow:hidden !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:620px){

    .vlm{
        padding:10px;

        align-items:center;
    }

    .vlm-shell{
        width:100%;

        max-width:430px;

        max-height:
            calc(100dvh - 20px);

        padding:
            22px 15px 18px;

        border-radius:22px;
    }

    .vlm-close{
        top:12px;
        right:12px;

        width:32px;
        height:32px;
    }

    .vlm-close span{
        left:9px;
        top:15px;
    }

    .vlm-head{
        padding-right:27px;
    }

    .vlm-head h2{
        font-size:23px;
    }

    .vlm-head > p{
        font-size:9.5px;

        margin-bottom:15px;
    }

    .vlm-fields{
        grid-template-columns:1fr;

        gap:8px;
    }

    .vlm-field input{
        height:39px;
    }

    .vlm-field textarea{
        min-height:62px;
    }

    .vlm-group,
    .vlm-message{
        margin-top:11px;
    }

    .vlm-choice span,
    .vlm-contact-choice span{
        min-height:32px;

        font-size:8.5px;
    }

    .vlm-contact-choice{
        grid-template-columns:
            repeat(2,1fr);
    }

    .vlm-bottom{
        margin-top:13px;

        display:block;
    }

    .vlm-submit{
        width:100%;

        min-height:42px;
    }

    .vlm-bottom p{
        max-width:none;

        margin-top:8px;

        text-align:center;
    }

    .vlm-stage-success{
        min-height:300px;
    }

    .vlm-stage-success h2{
        font-size:25px;
    }

}


@media(prefers-reduced-motion:reduce){

    .vlm *,
    .vlm *::before,
    .vlm *::after{
        animation-duration:.01ms !important;
        transition-duration:.01ms !important;
    }

}


/* =========================================================
   LEAD MODAL FINAL COMPACT FIX
   ========================================================= */


/* Сам popup без внутренней прокрутки */

.vlm{
    padding:14px !important;
}

.vlm-shell{
    width:min(520px, calc(100vw - 28px)) !important;

    max-height:none !important;

    overflow:visible !important;

    padding:
        20px 22px 17px !important;

    border-radius:
        23px !important;

    background:
        linear-gradient(
            145deg,
            rgba(218,240,246,.48),
            rgba(171,215,227,.31)
        ) !important;

    backdrop-filter:
        blur(26px)
        saturate(150%) !important;

    -webkit-backdrop-filter:
        blur(26px)
        saturate(150%) !important;
}


/* Убираем лишнюю высоту */

.vlm-head{
    padding-right:26px !important;
}

.vlm-kicker{
    margin-bottom:6px !important;

    color:#175D73 !important;

    font-size:7px !important;
}

.vlm-head h2{
    font-size:24px !important;

    line-height:1.04 !important;

    color:#0D2E3A !important;
}

.vlm-head h2 span{
    color:#147996 !important;
}

.vlm-head > p{
    margin:
        6px 0 13px !important;

    color:#294C59 !important;

    font-size:9.5px !important;

    line-height:1.45 !important;

    font-weight:540 !important;
}


/* Заголовки полей */

.vlm-field > span,
.vlm-label{
    margin-bottom:5px !important;

    color:#294A57 !important;

    font-size:7px !important;

    font-weight:800 !important;

    letter-spacing:.08em !important;
}


/* Поля */

.vlm-fields{
    gap:8px !important;
}

.vlm-field input{
    height:38px !important;

    padding:
        0 12px !important;
}

.vlm-field textarea{
    min-height:58px !important;
    height:58px !important;
    max-height:58px !important;

    padding:
        9px 12px !important;

    resize:none !important;
}

.vlm-field input,
.vlm-field textarea{
    color:#102F3B !important;

    font-size:10.5px !important;

    font-weight:560 !important;

    background:
        rgba(255,255,255,.30) !important;

    border:
        1px solid
        rgba(255,255,255,.45) !important;
}

.vlm-field input::placeholder,
.vlm-field textarea::placeholder{
    color:
        rgba(37,69,81,.58) !important;

    opacity:1 !important;
}


/* Группы компактнее */

.vlm-group{
    margin-top:10px !important;
}

.vlm-message{
    margin-top:10px !important;
}


/* ООО / ИП / Физ лицо */

.vlm-choice,
.vlm-contact-choice{
    gap:5px !important;
}

.vlm-choice span,
.vlm-contact-choice span{
    min-height:31px !important;

    padding:
        0 6px !important;

    color:#2F5360 !important;

    font-size:8.5px !important;

    font-weight:700 !important;

    background:
        rgba(255,255,255,.20) !important;

    border:
        1px solid
        rgba(255,255,255,.38) !important;
}

.vlm-choice input:checked + span,
.vlm-contact-choice input:checked + span{
    color:#0D6682 !important;

    background:
        linear-gradient(
            135deg,
            rgba(57,172,199,.25),
            rgba(255,255,255,.34)
        ) !important;

    border-color:
        rgba(44,153,181,.48) !important;
}


/* Нижняя часть */

.vlm-bottom{
    margin-top:12px !important;

    gap:11px !important;

    align-items:center !important;
}

.vlm-submit{
    min-width:175px !important;
    min-height:40px !important;

    border-radius:11px !important;

    font-size:9.5px !important;
}

.vlm-bottom p{
    max-width:210px !important;

    color:#385A66 !important;

    font-size:7px !important;

    line-height:1.4 !important;
}


/* Убираем резерв под ошибку, если ошибки нет */

.vlm-error{
    min-height:0 !important;

    margin-top:0 !important;

    font-size:8px !important;
}

.vlm-error:not(:empty){
    margin-top:7px !important;
}


/* Крестик контрастнее */

.vlm-close{
    top:13px !important;
    right:13px !important;

    width:32px !important;
    height:32px !important;

    background:
        rgba(255,255,255,.25) !important;
}

.vlm-close span{
    left:9px !important;
    top:15px !important;

    width:13px !important;

    background:#123A48 !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:620px){

    .vlm{
        padding:9px !important;
    }

    .vlm-shell{
        width:
            calc(100vw - 18px) !important;

        padding:
            18px 14px 14px !important;

        border-radius:
            20px !important;
    }

    .vlm-head h2{
        font-size:21px !important;
    }

    .vlm-head > p{
        font-size:9px !important;

        margin-bottom:
            11px !important;
    }

    .vlm-field input{
        height:36px !important;
    }

    .vlm-field textarea{
        height:52px !important;
        min-height:52px !important;
        max-height:52px !important;
    }

    .vlm-choice span,
    .vlm-contact-choice span{
        min-height:29px !important;

        font-size:8px !important;
    }

    .vlm-bottom{
        margin-top:
            10px !important;
    }

    .vlm-submit{
        min-height:
            39px !important;
    }

}


/* Никогда не показываем scrollbar внутри popup */

.vlm-shell{
    scrollbar-width:none !important;
}

.vlm-shell::-webkit-scrollbar{
    display:none !important;
}



/* =========================================================
   SUCCESS SCREEN READABILITY FIX
   ========================================================= */

.vlm-stage-success{
    min-height:260px !important;

    padding:
        18px 10px 10px !important;

    color:
        #102F3B !important;
}


.vlm-success-icon{
    width:74px !important;
    height:74px !important;

    margin-bottom:
        14px !important;
}


.vlm-success-icon span{
    width:48px !important;
    height:48px !important;

    background:
        rgba(255,255,255,.34) !important;

    border:
        1px solid
        rgba(255,255,255,.50) !important;

    box-shadow:
        0 10px 26px
        rgba(24,112,138,.16),

        inset 0 1px 0
        rgba(255,255,255,.40) !important;
}


.vlm-success-icon svg{
    width:24px !important;
    height:24px !important;

    stroke:
        #0F6F8D !important;
}


.vlm-success-kicker{
    color:
        #176F89 !important;

    font-size:
        7.5px !important;

    font-weight:
        800 !important;

    letter-spacing:
        .16em !important;
}


.vlm-stage-success h2{
    margin:
        7px 0 8px !important;

    color:
        #0D2E3A !important;

    font-size:
        27px !important;

    line-height:
        1.05 !important;

    font-weight:
        760 !important;

    letter-spacing:
        -.04em !important;
}


.vlm-stage-success p{
    max-width:
        330px !important;

    margin:
        0 auto !important;

    color:
        #2F5360 !important;

    font-size:
        10.5px !important;

    line-height:
        1.55 !important;

    font-weight:
        540 !important;
}


.vlm-success-close{
    min-height:
        39px !important;

    margin-top:
        17px !important;

    padding:
        0 16px !important;

    border:
        1px solid
        rgba(255,255,255,.42) !important;

    border-radius:
        11px !important;

    background:
        rgba(255,255,255,.24) !important;

    color:
        #174D60 !important;

    font-size:
        9px !important;

    font-weight:
        720 !important;

    box-shadow:
        inset 0 1px 0
        rgba(255,255,255,.38) !important;
}


.vlm-success-close:hover{
    background:
        rgba(255,255,255,.38) !important;
}


/* Волны вокруг галочки делаем заметнее */

.vlm-success-icon::before,
.vlm-success-icon::after{
    border-color:
        rgba(39,156,184,.42) !important;
}


/* Мобильная версия */

@media(max-width:620px){

    .vlm-stage-success{
        min-height:
            230px !important;

        padding:
            14px 6px 6px !important;
    }

    .vlm-stage-success h2{
        font-size:
            24px !important;
    }

    .vlm-stage-success p{
        max-width:
            280px !important;

        font-size:
            9.5px !important;
    }

    .vlm-success-icon{
        width:
            66px !important;

        height:
            66px !important;
    }

    .vlm-success-icon span{
        width:
            44px !important;

        height:
            44px !important;
    }

}



/* =========================================================
   CUSTOM FORM VALIDATION
   ========================================================= */

.vlm-field{
    position:relative;
}


.vlm-field.has-error input,
.vlm-field.has-error textarea{
    border-color:
        rgba(203,91,99,.58) !important;

    background:
        rgba(255,235,237,.25) !important;

    box-shadow:
        0 0 0 3px
        rgba(196,77,86,.07),

        inset 0 1px 0
        rgba(255,255,255,.35) !important;
}


.vlm-field.has-error > span{
    color:
        #8D3F47 !important;
}


.vlm-field-error{
    margin-top:
        5px;

    padding-left:
        2px;

    color:
        #8F4048;

    font-size:
        7.8px;

    line-height:
        1.3;

    font-weight:
        650;

    letter-spacing:
        .01em;

    animation:
        vlmErrorIn
        .24s
        ease
        both;
}


@keyframes vlmErrorIn{

    from{
        opacity:0;

        transform:
            translateY(-3px);
    }

    to{
        opacity:1;

        transform:
            translateY(0);
    }

}


.vlm-error:not(:empty){
    margin-top:
        8px !important;

    padding:
        8px 10px;

    border:
        1px solid
        rgba(184,72,81,.16);

    border-radius:
        9px;

    background:
        rgba(255,232,234,.20);

    color:
        #873A43;

    font-size:
        8px !important;

    line-height:
        1.4;

    font-weight:
        650;
}



/* =========================================================
   CUSTOM FORM VALIDATION
   ========================================================= */

.vlm-field{
    position:relative;
}


.vlm-field.has-error input,
.vlm-field.has-error textarea{
    border-color:
        rgba(203,91,99,.58) !important;

    background:
        rgba(255,235,237,.25) !important;

    box-shadow:
        0 0 0 3px
        rgba(196,77,86,.07),

        inset 0 1px 0
        rgba(255,255,255,.35) !important;
}


.vlm-field.has-error > span{
    color:
        #8D3F47 !important;
}


.vlm-field-error{
    margin-top:
        5px;

    padding-left:
        2px;

    color:
        #8F4048;

    font-size:
        7.8px;

    line-height:
        1.3;

    font-weight:
        650;

    letter-spacing:
        .01em;

    animation:
        vlmErrorIn
        .24s
        ease
        both;
}


@keyframes vlmErrorIn{

    from{
        opacity:0;

        transform:
            translateY(-3px);
    }

    to{
        opacity:1;

        transform:
            translateY(0);
    }

}


.vlm-error:not(:empty){
    margin-top:
        8px !important;

    padding:
        8px 10px;

    border:
        1px solid
        rgba(184,72,81,.16);

    border-radius:
        9px;

    background:
        rgba(255,232,234,.20);

    color:
        #873A43;

    font-size:
        8px !important;

    line-height:
        1.4;

    font-weight:
        650;
}



/* =========================================================
   LEAD MODAL TEXT CONTRAST FINAL
   ========================================================= */


/* Текст под кнопкой отправки */

.vlm .vlm-bottom p{
    position:relative !important;
    z-index:10 !important;

    max-width:235px !important;

    margin:0 !important;

    padding:
        6px 9px !important;

    border:
        1px solid
        rgba(255,255,255,.24) !important;

    border-radius:
        9px !important;

    background:
        rgba(255,255,255,.14) !important;

    color:
        #173946 !important;

    opacity:
        1 !important;

    font-size:
        7.8px !important;

    line-height:
        1.45 !important;

    font-weight:
        650 !important;

    letter-spacing:
        0 !important;

    text-shadow:
        0 1px 0
        rgba(255,255,255,.25) !important;

    backdrop-filter:
        blur(8px) !important;

    -webkit-backdrop-filter:
        blur(8px) !important;
}


/* =========================================================
   SUCCESS SCREEN
   ========================================================= */

.vlm .vlm-stage-success{
    position:relative !important;
    z-index:20 !important;
}


.vlm .vlm-success-kicker{
    position:relative !important;
    z-index:20 !important;

    color:
        #14738F !important;

    opacity:
        1 !important;

    font-weight:
        850 !important;

    text-shadow:
        0 1px 0
        rgba(255,255,255,.25) !important;
}


.vlm .vlm-stage-success h2{
    position:relative !important;
    z-index:20 !important;

    color:
        #0B2B37 !important;

    opacity:
        1 !important;

    font-weight:
        780 !important;

    text-shadow:
        0 1px 0
        rgba(255,255,255,.20) !important;
}


/* Текст под "Всё получилось" */

.vlm .vlm-stage-success p{
    position:relative !important;
    z-index:20 !important;

    max-width:
        350px !important;

    margin:
        0 auto !important;

    padding:
        9px 13px !important;

    border:
        1px solid
        rgba(255,255,255,.25) !important;

    border-radius:
        11px !important;

    background:
        rgba(255,255,255,.13) !important;

    color:
        #173946 !important;

    opacity:
        1 !important;

    font-size:
        10.5px !important;

    line-height:
        1.55 !important;

    font-weight:
        650 !important;

    text-shadow:
        0 1px 0
        rgba(255,255,255,.25) !important;

    backdrop-filter:
        blur(9px) !important;

    -webkit-backdrop-filter:
        blur(9px) !important;
}


/* Кнопка возврата */

.vlm .vlm-success-close{
    position:relative !important;
    z-index:20 !important;

    color:
        #123B4A !important;

    opacity:
        1 !important;

    font-weight:
        750 !important;

    background:
        rgba(255,255,255,.23) !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:620px){

    .vlm .vlm-bottom p{
        max-width:none !important;

        margin-top:
            7px !important;

        font-size:
            7.5px !important;
    }


    .vlm .vlm-stage-success p{
        max-width:
            290px !important;

        font-size:
            9.5px !important;
    }

}



/* =========================================================
   SUCCESS MODAL CLOSE FIX
   ========================================================= */

.vlm .vlm-close{
    z-index:999 !important;

    pointer-events:auto !important;

    cursor:pointer !important;
}


.vlm.is-success .vlm-close{
    display:block !important;

    visibility:visible !important;

    opacity:1 !important;

    z-index:999 !important;

    pointer-events:auto !important;
}


.vlm.is-success .vlm-stage-success{
    z-index:30 !important;
}


/*
 * Верхний правый угол оставляем свободным
 * для кнопки закрытия.
 */

.vlm.is-success .vlm-stage-success{
    padding-left:42px !important;
    padding-right:42px !important;
}


@media(max-width:620px){

    .vlm.is-success .vlm-stage-success{
        padding-left:28px !important;
        padding-right:28px !important;
    }

}



/* =========================================================
   GLOBAL SITE FORMS AUTOFILL FIX
   Browser saved-data protection
   ========================================================= */

.vlm-form input:-webkit-autofill,
.vlm-form textarea:-webkit-autofill,
.vlx-start-lead-form input:-webkit-autofill,
.vlx-start-lead-form textarea:-webkit-autofill,
.vldc-form input:-webkit-autofill,
.vldc-form textarea:-webkit-autofill,
.vlf-form input:-webkit-autofill,
.vlf-form textarea:-webkit-autofill,
.vls-service-lead-form input:-webkit-autofill,
.vls-service-lead-form textarea:-webkit-autofill,
.vla-form input:-webkit-autofill,
.vla-form textarea:-webkit-autofill,
.vlm-form input:-webkit-autofill:hover,
.vlm-form input:-webkit-autofill:focus,
.vlx-start-lead-form input:-webkit-autofill:hover,
.vlx-start-lead-form input:-webkit-autofill:focus,
.vldc-form input:-webkit-autofill:hover,
.vldc-form input:-webkit-autofill:focus,
.vlf-form input:-webkit-autofill:hover,
.vlf-form input:-webkit-autofill:focus,
.vls-service-lead-form input:-webkit-autofill:hover,
.vls-service-lead-form input:-webkit-autofill:focus,
.vla-form input:-webkit-autofill:hover,
.vla-form input:-webkit-autofill:focus {
    -webkit-text-fill-color: inherit !important;
    caret-color: currentColor !important;
    transition:
        background-color 999999s ease-out 0s !important;
    background-clip: padding-box !important;
}

.vlm-form input:autofill,
.vlm-form textarea:autofill,
.vlx-start-lead-form input:autofill,
.vlx-start-lead-form textarea:autofill,
.vldc-form input:autofill,
.vldc-form textarea:autofill,
.vlf-form input:autofill,
.vlf-form textarea:autofill,
.vls-service-lead-form input:autofill,
.vls-service-lead-form textarea:autofill,
.vla-form input:autofill,
.vla-form textarea:autofill {
    filter: none !important;
}

