.belavi-appointment{margin-top:90px;font-family:"Montserrat",sans-serif;color:#2f4f46}
.belavi-appointment__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.belavi-appointment__title{margin:0;color:#2f4f46;font:500 33px/38px "Montserrat",sans-serif}
.belavi-appointment__title strong{font-weight:700}
.belavi-appointment__description{max-width:480px;margin-top:20px;color:#2f4f46;font:500 19px/25px "Montserrat",sans-serif}
.belavi-appointment__description p{margin:0;color:inherit;font:inherit}
.belavi-appointment__form{display:grid;gap:16px;width:100%;margin-top:15px;padding:24px;border:1px solid rgba(47,79,70,.2);border-radius:16px;background:#f7f9f7}
.belavi-appointment__field{position:relative}
.belavi-appointment__field input:not([type="checkbox"]),
.belavi-appointment__field select{display:block;width:100%;min-height:48px;box-sizing:border-box;border:1px solid rgba(47,79,70,.1);border-radius:20px;outline:0;background:#fff;color:#2f4f46;font:400 16px/1.2 "Montserrat",sans-serif;transition:border-color .2s ease,box-shadow .2s ease}
.belavi-appointment__field input:not([type="checkbox"]){padding:11px 18px}
.belavi-appointment__field select{padding:11px 44px 11px 18px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#2f4f46 50%),linear-gradient(135deg,#2f4f46 50%,transparent 50%);background-position:calc(100% - 21px) 20px,calc(100% - 15px) 20px;background-repeat:no-repeat;background-size:6px 6px,6px 6px}
.belavi-appointment__field input:not([type="checkbox"]):focus,
.belavi-appointment__field select:focus{border-color:rgba(47,79,70,.52);box-shadow:0 0 0 3px rgba(47,79,70,.08)}
.belavi-appointment__field--phone .belavi-appointment__flag{position:absolute;z-index:2;left:16px;top:15px;width:24px;height:18px;overflow:hidden;border-radius:2px;background:linear-gradient(#fff 0 33.33%,#1b57a6 33.33% 66.66%,#d52b1e 66.66%);box-shadow:0 0 0 1px rgba(37,37,37,.08);pointer-events:none}
.belavi-appointment__field--phone input:not([type="checkbox"]){padding-left:50px}
.belavi-appointment__field--consent label{display:grid;grid-template-columns:26px minmax(0,1fr);gap:14px;align-items:start;color:#9aaeA4;font:400 13px/1.35 "Montserrat",sans-serif;cursor:pointer}
.belavi-appointment__field--consent input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.belavi-appointment__field--consent label>span{position:relative;padding-top:4px}
.belavi-appointment__field--consent label:before{content:"";grid-column:1;grid-row:1;width:26px;height:26px;border:1px solid #e6ece9;border-radius:10px;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.04)}
.belavi-appointment__field--consent label:after{content:"";position:absolute;left:10px;top:7px;width:7px;height:10px;border-right:2px solid #0f766e;border-bottom:2px solid #0f766e;opacity:0;transform:rotate(45deg)}
.belavi-appointment__field--consent label:has(input:checked):before{border-color:#0f766e}
.belavi-appointment__field--consent label:has(input:checked):after{opacity:1}
.belavi-appointment__field--consent a{color:#1f2937;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.belavi-appointment__error{display:block;min-height:0;margin-top:0;color:#dc3232;font-size:1em;font-weight:400;line-height:1.35}
.belavi-appointment__error:not(:empty){margin-top:6px}
.belavi-appointment__field.is-invalid input:not([type="checkbox"]),
.belavi-appointment__field.is-invalid select{border-color:#dc3232}
.belavi-appointment__submit{--appointment-button-height:72px;display:flex;width:100%;margin-top:4px;padding:0;border:0;background:none;color:#fff;font-family:"Montserrat",sans-serif;cursor:pointer}
.belavi-appointment__submit>span{display:flex;flex:1 1 auto;align-items:center;justify-content:center;height:var(--appointment-button-height);border-radius:72px;background:#9b6a47;font-size:18px;font-weight:600;transition:background-color .2s ease}
.belavi-appointment__submit>i{display:grid;flex:0 0 var(--appointment-button-height);width:var(--appointment-button-height);height:var(--appointment-button-height);place-items:center;border-radius:50%;background:#9b6a47;transition:background-color .2s ease}
.belavi-appointment__submit>i:before{content:"";width:20px;height:20px;background:#fff;clip-path:polygon(12% 44%,64% 44%,44% 24%,55% 13%,88% 50%,55% 87%,44% 76%,64% 56%,12% 56%)}
.belavi-appointment__submit:hover>span,.belavi-appointment__submit:hover>i,.belavi-appointment__submit:focus-visible>span,.belavi-appointment__submit:focus-visible>i{background:#2f4f46}
.belavi-appointment__submit:focus-visible{outline:3px solid rgba(47,79,70,.22);outline-offset:3px;border-radius:72px}
.belavi-appointment__visual{display:block;width:100%}
.belavi-appointment__visual img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:top center}
@media(max-width:1120px){
    .belavi-appointment__grid{gap:28px}
    .belavi-appointment__title{font-size:29px;line-height:34px}
    .belavi-appointment__description{font-size:17px;line-height:24px}
}
@media(max-width:760px){
    .belavi-appointment{margin-top:80px}
    .belavi-appointment__grid{grid-template-columns:1fr;gap:30px}
    .belavi-appointment__title{font-size:27px;line-height:32px}
    .belavi-appointment__description{margin-top:15px;font-size:16px;line-height:23px}
    .belavi-appointment__description br{display:none}
    .belavi-appointment__form{padding:18px;gap:14px}
    .belavi-appointment__submit{--appointment-button-height:62px}
    .belavi-appointment__submit>span{font-size:16px}
    .belavi-appointment__visual{order:2}
}
@media(max-width:390px){
    .belavi-appointment__form{padding:14px}
    .belavi-appointment__field--consent label{gap:11px;font-size:12px}
}
