.belavi-location{
    margin-top:90px;
    color:#2f4f46;
    font-family:"Montserrat",sans-serif;
}
.belavi-location__panel{
    display:grid;
    grid-template-columns:minmax(0,35fr) minmax(0,65fr);
    gap:40px;
    padding:100px 50px;
    border-radius:20px;
    background:rgba(47,79,70,.05);
    overflow:visible;
}
.belavi-location__info{
    display:flex;
    min-width:0;
    flex-direction:column;
    justify-content:space-between;
    gap:30px;
}
.belavi-location__title{
    margin:0;
    color:#2f4f46;
    font-family:"Montserrat",sans-serif;
    font-size:44px;
    font-weight:400;
    line-height:50px;
}
.belavi-location__title strong{color:#5e8c6a;font-weight:500}
.belavi-location__benefits{display:grid;gap:10px}
.belavi-location__benefits>div{
    display:flex;
    align-items:center;
    gap:10px;
    color:#2f4f46;
    font-family:"Montserrat",sans-serif;
    font-size:22px;
    font-weight:500;
    line-height:28px;
}
.belavi-location__benefits svg{width:19px;height:19px;flex:0 0 19px;fill:none;stroke:#5e8c6a;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.belavi-location__contacts,.belavi-location__addresses{display:grid;gap:7px}
.belavi-location__contacts p,.belavi-location__addresses p{margin:0;color:#2f4f46;font-family:"Montserrat",sans-serif}
.belavi-location__contacts p{font-size:20px;font-weight:400;line-height:28px}
.belavi-location__contacts a{
    width:max-content;
    max-width:100%;
    color:#2f4f46;
    font-family:"Montserrat",sans-serif;
    font-size:34px;
    font-weight:500;
    line-height:40px;
    text-decoration:none;
}
.belavi-location__addresses p,.belavi-location__addresses a{
    width:max-content;
    max-width:100%;
    color:#2f4f46;
    font-family:"Montserrat",sans-serif;
    font-size:23px;
    font-weight:500;
    line-height:30px;
    text-decoration:none;
}
.belavi-location__contacts a:hover,.belavi-location__contacts a:focus-visible,.belavi-location__addresses a:hover,.belavi-location__addresses a:focus-visible{color:#9b6a4a;text-decoration:underline;text-underline-offset:4px}
.belavi-location__map{
    width:100%;
    height:500px;
    min-height:500px;
    padding:0;
    margin:0;
    border-radius:30px;
    background:#e5ebe7;
    overflow:hidden;
}
.belavi-location__map [class*="ground-pane"]{
    -webkit-filter:grayscale(1);
    filter:grayscale(1);
}
.belavi-floating-socials{
    position:fixed;
    z-index:70;
    top:50%;
    right:0;
    display:flex;
    flex-direction:column;
    gap:8px;
    transform:translateY(-50%);
}
.belavi-floating-socials a{
    display:flex;
    width:50px;
    height:50px;
    padding:0;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(0,0,0,.1);
    border-right:0;
    border-radius:14px 0 0 14px;
    background:#fff;
    box-shadow:0 10px 18px rgba(0,0,0,.12);
    overflow:hidden;
    text-decoration:none;
    transition:opacity .15s ease,transform .15s ease;
}
.belavi-floating-socials a:hover,.belavi-floating-socials a:focus-visible{opacity:.9;transform:translateX(-2px)}
.belavi-floating-socials a:focus-visible{outline:3px solid rgba(94,140,106,.32);outline-offset:2px}
.belavi-floating-socials svg,.belavi-floating-socials img{display:block;width:28px;height:28px;object-fit:contain;fill:#fff}
.belavi-floating-socials .is-telegram circle{fill:#229ed9}.belavi-floating-socials .is-telegram path{fill:#fff}
.belavi-floating-socials .is-vk circle{fill:#0077ff}.belavi-floating-socials .is-vk path{fill:#fff}
.belavi-floating-socials .is-prodoctorov circle{fill:#37a071}.belavi-floating-socials .is-prodoctorov path{fill:#fff}
.belavi-floating-socials .is-max circle{fill:#7b61ff}.belavi-floating-socials .is-max path{fill:#fff}
.belavi-medflex-booking{margin-top:90px;font-family:"Montserrat",sans-serif}
.belavi-medflex-booking h2{margin:0 0 24px;color:#2f4f46;font:500 33px/38px "Montserrat",sans-serif}
.belavi-medflex-booking iframe{display:block;width:100%;height:var(--belavi-medflex-height,700px);border:0;border-radius:20px;background:#f7f9f7}

@media(max-width:1120px){
    .belavi-location__panel{grid-template-columns:minmax(0,2fr) minmax(0,3fr);padding:70px 36px}
    .belavi-location__title{font-size:38px;line-height:44px}
    .belavi-location__contacts a{font-size:28px;line-height:35px}
    .belavi-location__addresses p,.belavi-location__addresses a{font-size:20px;line-height:27px}
}
@media(max-width:900px){
    .belavi-location__panel{grid-template-columns:1fr}
    .belavi-location__info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
    .belavi-location__title{grid-column:1/-1}
    .belavi-location__map{height:440px;min-height:440px}
}
@media(max-width:760px){
    .belavi-location{margin-top:80px}
    .belavi-location__panel{display:flex;flex-direction:column;gap:30px;padding:42px 18px;border-radius:20px}
    .belavi-location__info{display:flex;gap:24px}
    .belavi-location__title{font-size:32px;line-height:38px}
    .belavi-location__benefits>div{font-size:18px;line-height:24px}
    .belavi-location__contacts p{font-size:17px;line-height:24px}
    .belavi-location__contacts a{font-size:25px;line-height:32px}
    .belavi-location__addresses p,.belavi-location__addresses a{font-size:18px;line-height:25px}
    .belavi-location__map{height:340px;min-height:340px;border-radius:20px}
    .belavi-floating-socials{top:40%;right:-6px;right:calc(-6px + env(safe-area-inset-right));gap:7px}
    .belavi-floating-socials a{width:46px;height:50px;box-shadow:0 10px 18px rgba(0,0,0,.14)}
    .belavi-floating-socials svg,.belavi-floating-socials img{width:26px;height:26px}
    .belavi-medflex-booking{margin-top:80px}
    .belavi-medflex-booking h2{font-size:27px;line-height:32px}
    .belavi-medflex-booking iframe{height:min(var(--belavi-medflex-height,700px),75vh);min-height:560px;border-radius:16px}
}
@media(prefers-reduced-motion:reduce){.belavi-floating-socials a{transition:none}}
