/* === footer.css === */

.site-footer { background-color: var(--color-white); color: var(--color-black); }
.site-footer > .container { margin-bottom: 120px; margin-top: 75px; }
.site-footer__wrap { width: 100%; max-width: 119.5rem; margin: 0 auto; padding: 1.5rem 1rem 2.5rem; }

.site-footer__main { display: grid; gap: 1.5rem; }

.site-footer__address-block,
.site-footer__contact { min-width: 0; }

.site-footer__company { display: block; font-family: var(--font-body); font-size: 1rem; font-weight: 600; line-height: 1.625; letter-spacing: -0.03em; color: var(--color-black); }

.site-footer__location { display: block; margin-top: 0; font-family: var(--font-body); font-size: 1rem; font-weight: 400; font-style: normal; line-height: 1.625; letter-spacing: -0.03em; color: var(--color-black); }

.site-footer__contact { display: flex; flex-direction: column; gap: 0.25rem; }

.site-footer__contact-row { display: flex; align-items: flex-start; gap: 0.125rem; flex-wrap: wrap; }

.site-footer__label { font-family: var(--font-body); font-size: 1rem; font-weight: 700; line-height: 1.625; letter-spacing: -0.03em; color: var(--color-black); white-space: nowrap; }

.site-footer__link { font-family: var(--font-body); font-size: 1rem; font-weight: 400; line-height: 1.625; letter-spacing: -0.03em; color: var(--color-black); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.12em; transition: color var(--transition-fast); }

.site-footer__link:hover { color: var(--color-primary); }

.site-footer__nav { min-width: 0; }

.site-footer__nav-list { display: grid; grid-template-columns: auto auto; justify-content: start; column-gap: 2rem; row-gap: 0.5rem; list-style: none; margin: 0; padding: 0; }

.site-footer__nav-col { display: contents; }

.site-footer__nav-link { font-family: var(--font-body); font-size: 1rem; font-weight: 600; line-height: 2; letter-spacing: -0.03em; color: var(--color-black); text-decoration: none; white-space: nowrap; transition: color var(--transition-fast); }

.site-footer__nav-link:hover { color: var(--color-primary); }

.site-footer__bottom { display: flex; flex-direction: column; gap: 0.75rem; padding-top: 2rem; }

.site-footer__copyright,
.site-footer__credit { font-family: var(--font-body); font-size: 0.875rem; font-weight: 600; line-height: 1.625; letter-spacing: -0.03em; color: var(--color-black); }

.site-footer__credit-link { color: var(--color-black); text-decoration: none; transition: color var(--transition-fast); }

.site-footer__credit-link:hover { color: var(--color-primary); }

.site-footer__bottom { display: none; }

@media (min-width: 640px) {
    .site-footer__wrap { padding: 3.5rem 2.5rem 2.75rem; }

    .site-footer__main { grid-template-columns: minmax(0, 15rem) minmax(0, 19rem); align-items: start; column-gap: 3rem; row-gap: 2.5rem; }

    .site-footer__company { font-size: 1.125rem; line-height: 1.7778; }

    .site-footer__location,
    .site-footer__label,
    .site-footer__link,
    .site-footer__nav-link { font-size: 1.125rem; line-height: 1.7778; }

    .site-footer__nav-list { grid-template-columns: repeat(5, auto); justify-content: start; gap: 1rem 2.5rem; }

    .site-footer__nav-col { display: flex; flex-direction: column; gap: 1rem; }

    .site-footer__bottom { display: flex; flex-direction: row; justify-content: space-between; align-items: flex-start; gap: 2rem; }

    .site-footer__copyright,
    .site-footer__credit { font-size: 1.125rem; line-height: 1.7778; }

    .site-footer__credit { text-align: right; }
}

@media (min-width: 640px) and (max-width: 991px) {
    .site-footer__wrap { padding: 2.25rem 1.5rem 2.25rem; }

    .site-footer__main { grid-template-columns: 14rem 16rem; justify-content: center; align-items: center; column-gap: 2.25rem; row-gap: 1.5rem; }

    .site-footer__address-block,
    .site-footer__contact { width: 100%; }

    .site-footer__contact { align-self: center; }

    .site-footer__contact-row { flex-wrap: nowrap; }

    .site-footer__link { white-space: nowrap; }

    .site-footer__nav { grid-column: 1 / -1; }

    .site-footer__nav-list { grid-template-columns: repeat(5, auto); justify-content: center; column-gap: 2.5rem; row-gap: 0.75rem; }

    .site-footer__nav-link { text-align: center; }

    .site-footer__bottom { flex-direction: column; align-items: center; gap: 0.25rem; padding-top: 1.5rem; }

    .site-footer__copyright,
    .site-footer__credit { max-width: none; text-align: center; }

    .site-footer__credit { text-align: center; }
}

@media (min-width: 992px) {
    .site-footer__wrap { padding: 4.6875rem 7.625rem 2.8125rem; }

    .site-footer__main { grid-template-columns: 11.875rem 17.8125rem 1fr; column-gap: 5.75rem; row-gap: 0; align-items: start; }

    .site-footer__nav { justify-self: end; width: 100%; max-width: 33.5625rem; }

    .site-footer__nav-list { grid-template-columns: repeat(5, auto); justify-content: end; gap: 1rem 3.25rem; }

    .site-footer__bottom { justify-content: space-between; align-items: center; padding-top: 6.875rem; }

    .site-footer__copyright { max-width: 27.25rem; }

    .site-footer__credit { max-width: 27.25rem; text-align: right; }
}

@media (min-width: 1230px) and (max-width: 1439px) {
    .site-footer__wrap { max-width: 100%; padding: 2.5rem 1rem 2.5rem; }

    .site-footer__main { grid-template-columns: 13rem 17rem minmax(0, 1fr); column-gap: 2.5rem; row-gap: 0; }

    .site-footer__nav { justify-self: stretch; max-width: none; }

    .site-footer__nav-list { justify-content: start; gap: 0.75rem 2rem; }

    .site-footer__bottom { flex-direction: column; align-items: center; gap: 0.25rem; padding-top: 1.5rem; }

    .site-footer__copyright,
    .site-footer__credit { max-width: none; text-align: center; }

    .site-footer__credit { text-align: center; }
}

@media (min-width: 992px) and (max-width: 1229px) {
    .site-footer__wrap { max-width: 1032px; padding: 2.5rem 1.5rem 2.5rem; }

    .site-footer__main { grid-template-columns: 18rem 20rem; justify-content: center; align-items: start; column-gap: 4rem; row-gap: 2rem; }

    .site-footer__address-block,
    .site-footer__contact { width: 100%; }

    .site-footer__contact { align-self: center; }

    .site-footer__contact-row { flex-wrap: nowrap; }

    .site-footer__link { white-space: nowrap; }

    .site-footer__nav { grid-column: 1 / -1; justify-self: stretch; width: 100%; max-width: none; }

    .site-footer__nav-list { grid-template-columns: repeat(5, auto); justify-content: center; gap: 0.75rem 3rem; }

    .site-footer__nav-link { text-align: center; }

    .site-footer__bottom { flex-direction: column; align-items: center; gap: 0.25rem; padding-top: 1.5rem; }

    .site-footer__copyright,
    .site-footer__credit { max-width: none; text-align: center; }

    .site-footer__credit { text-align: center; }
}

@media (max-width: 767px) {
    .site-footer__nav-link { line-height: 1.5; }
}

@media (max-width: 991px) {
    .site-footer > .container { margin-bottom: 48px; margin-top: 35px; }
}
