.footer {background: var(--bg-grey-cards); border-radius: 40px 40px 0 0;}
.footer__wrap {display: grid; gap: 20px; grid-template-columns: repeat(12, 1fr);}
.footer__aside {grid-column: 1/5; display: flex; flex-direction: column;}
.footer__main {grid-column: 5/13;}
.footer__logo {width: 250px; height: 35px; background: url(../images/redesign2024/logo-footer.svg) no-repeat center/cover; margin-bottom: 30px;}
.footer__copyright {margin-top: auto; line-height: 1.2;}
.footer__copyright .sdm-copyright {margin-bottom: 10px;}
.footer__col {text-align: left;}
.footer__col_right {text-align: left; align-items: flex-start; margin-left: 0;}
.footer__contacts {text-align: left; margin-left: 0; margin-bottom: 30px;}
.footer__contacts .footer__phone:first-child,
.footer__contacts .footer__phone {margin-bottom: 20px;}
.footer__contacts .footer__phone {font-size: 50px; line-height: 55px; letter-spacing: .5px;}
.footer__contacts .footer__phone a {font-family: var(--font-family-headings); font-weight: 600; white-space: nowrap;}
.footer__contacts .footer__email {font-size: 35px; line-height: 30px; letter-spacing: 1px;}
.footer__contacts .footer__email a {font-family: var(--font-family-headings); font-weight: 600;}
.footer__address {margin-bottom: 30px; line-height: 1.2;}
.footer__address,
.footer__address .sdm-schedule {display: flex; gap: 10px; flex-direction: column;}
.footer__address .sdm-schedule strong {display: block;}

.footer__social {order: -1; align-items: flex-start; margin-bottom: 20px; width: 100%;}
.footer-social_vk, .footer-social_yt, .footer-social_inst {display: none;}
.footer-social {width: 40px; height: 40px; border-radius: 50%; margin: 0 15px 0 0;}
.footer-social_tg {background-image: url(../images/redesign2024/tg.svg); background-color: var(--button-dark-blue);}
.footer-social_tg:hover {background-color: var(--button-blue-hover);}
.footer-social_wa {background-image: url(../images/redesign2024/wa.svg); background-color: var(--system-green);}
.footer-social_wa:hover {background-color: var(--system-dark-green);}

.footer__map {margin-bottom: 20px;}
.footer__map .sdm-map {height: 270px; overflow: hidden; border-radius: 20px; background-color: #ccc;}
.footer__col_mid {padding-top: 10px; border-top: 1px solid var(--bg-grey-line); margin-right: 0; gap: 20px; display: grid; grid-template-columns: repeat(4, 1fr);}
.footer__nav:last-child {grid-column: 3/5;}
.footer__nav li {margin-bottom: 10px; font-size: 14px; line-height: 1.2;}
.footer__nav .footer__nav-title {text-transform: none; font-family: var(--font-family-base); font-weight: 600; margin-bottom: 20px; font-size: 20px;}
.footer__nav .footer__link {font-size: 14px; line-height: 1.2; }
.footer__nav .footer__link_sm {border: none; font-family: var(--font-family-base);}

.nav-button {background-color: var(--button-light-blue); border-radius: 50%; width: 40px; height: 40px; background-image: url(../images/redesign2024/arrow-top.svg); right: 40px; transition: .5s; left: auto;}
.nav-button:hover {background-color: var(--button-dark-blue); background-image: url(../images/redesign2024/arrow-top-white.svg);}
.nav-button.is-stoped {top: 340px;}

.footer__map-img { object-fit: cover; width: 100%; height: 100%;}

@media (max-width: 1279px) {
    .footer {padding: 40px 20px 0; border-radius: 20px 20px 0 0;}
    .footer__wrap {display: flex; flex-direction: column; gap: 0; padding-bottom: 0;}
    .footer__aside, .footer__main {display: contents;}
    .footer__col_left {order: -5; display: grid; gap: 20px; grid-template-columns: repeat(2, 1fr);}
    .footer__col_right {order: -4; display: grid; gap: 20px; grid-template-columns: repeat(2, 1fr);}
    .footer__col_mid {order: -3; border-bottom: 1px solid var(--bg-grey-line); padding-bottom: 10px; margin-top: 10px; margin-bottom: 0;}
    .footer__social {order: 1; width: auto;}
    .footer__social_top {display: flex;}
    .footer__social_bottom {display: none;}
    .footer__logo {width: 240px; height: 32px; background-image: url(../images/redesign2024/logo-footer-sm.svg); margin-bottom: 0;}

    .footer__contacts {order: 1;}
    .footer__contacts .footer__email {line-height: 32px;}
    .footer__nav {margin-bottom: 0;}

    .footer__address {gap: 20px; margin-bottom: 0;}
    .footer__address .sdm-schedule {display: grid; gap: 20px; grid-template-columns: repeat(2, 1fr);}
    .footer__address .sdm-schedule__item {max-width: 220px;}

    .footer__copyright {padding: 40px 0; display: grid; gap: 20px; grid-template-columns: repeat(4, 1fr);}
    .footer__copyright .sdm-copyright {margin-bottom: 0;}
    .footer__copyright div:nth-child(2) {display: contents;}
    .footer__map {margin: 0 -20px 0;}
    .footer__map .sdm-map {height: 250px; border-radius: 20px 20px 0 0;}

    .nav-button {right: 20px;}
    .nav-button.is-stoped {top: 40px;}
}

@media (max-width: 991px) {
    .footer__contacts .footer__phone {font-size: 40px; line-height: 44px;}
    .footer__col_mid {margin-top: 20px;}
    .footer__nav li {margin-bottom: 15px;}
    .footer__copyright {padding-top: 20px; padding-bottom: 20px; grid-template-columns: repeat(3, 1fr);}

    .footer__map .sdm-map {height: 200px;}
}

@media (max-width: 767px) {
    .footer__col_left {display: block;}
    .footer__logo {margin-bottom: 28px;}

    .footer__col_right {display: block;}
    .footer__contacts {margin-bottom: 20px;}
    .footer__contacts .footer__phone {font-size: 50px; line-height: 55px;}

    .footer__col_mid {grid-template-columns: repeat(2, 1fr); padding-top: 20px; gap: 0 20px;}
    .footer__nav {margin-bottom: 20px;}
    .footer__nav:last-child {grid-column: 1/3; border-top: 1px solid var(--bg-grey-line); padding-top: 20px;}
    .footer__nav .footer__nav-title {margin-bottom: 10px;}

    .footer__copyright {display: block;}
    .footer__copyright .sdm-copyright {margin-bottom: 10px;}
}

@media (max-width: 479px) {
    .footer__contacts {margin-bottom: 25px;}
    .footer__contacts .footer__phone {font-size: 40px; line-height: 44px;}
    .footer__contacts .footer__email {font-size: 25px; line-height: 28px; letter-spacing: .5px;}
    .footer__address {gap: 15px;}
    .footer__address .sdm-schedule {display: flex; gap: 15px;}
    .footer__address .sdm-schedule__item {max-width: 100%;}
    .footer__col_mid {display: block; padding-bottom: 2px;}
    .footer__nav {margin-bottom: 18px;}
    .footer__nav li {margin-bottom: 20px;}
    .footer__nav:last-child {border-top: none; padding-top: 0;}



}

@media (max-width: 359px) {
    .footer__contacts .footer__phone {font-size: 34px;}
}

@media (min-width: 1440px) {
    .nav-button {left: 50%; margin-left: 640px;}
}