/* Site footer shared by all public pages - templates/front/_site_footer.html.twig */
.site-footer { --sf-red: #e3353b; --sf-bg: #1b3140; --sf-text: #e6ecf2; padding: 34px 0 22px; background: var(--sf-bg); color: var(--sf-text); font-family: "Manrope", "Poppins", Arial, sans-serif; line-height: 1.5; text-align: left; }
.site-footer *, .site-footer *::before, .site-footer *::after { box-sizing: border-box; }
.site-footer ul { margin: 0; padding: 0; list-style: none; }
.site-footer p { margin: 0; }
.site-footer img { max-width: 100%; }
.site-footer a { color: var(--sf-text); text-decoration: none; transition: color .15s; }
.site-footer a:hover { color: #fff; text-decoration: underline; }
.site-footer__inner { width: 100%; max-width: 1290px; margin: 0 auto; padding: 0 24px; }

.site-footer__top { display: flex; align-items: flex-start; gap: 36px; padding-bottom: 26px; }
.site-footer__logo { flex: none; padding-right: 36px; border-right: 2px solid rgba(255, 255, 255, .5); }
.site-footer__logo img { display: block; width: 200px; height: auto; }
.site-footer__links { display: flex; flex: 1; flex-wrap: wrap; gap: 8px 44px; }
.site-footer__links li { font-size: 14.5px; line-height: 1.75; }
.site-footer__aside { display: flex; flex: none; flex-direction: column; gap: 22px; }
.site-footer__aside p { margin-bottom: 10px; font-size: 14.5px; }
.site-footer__social div { display: flex; gap: 18px; font-size: 22px; }
.site-footer__social a:hover { text-decoration: none; }
.site-footer__payment img { display: block; width: 160px; height: auto; border-radius: 8px; }

.site-footer__zones { padding: 16px 0 18px; border-top: 1px solid rgba(255, 255, 255, .14); color: rgba(255, 255, 255, .6); font-size: 12.5px; }
.site-footer .site-footer__zones-title { margin-bottom: 10px; color: rgba(255, 255, 255, .8); font-size: 13px; font-weight: 700; }
.site-footer__zones-groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px 32px; }
.site-footer .site-footer__zones-group p { margin-bottom: 4px; color: rgba(255, 255, 255, .8); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; font-size: 11.5px; }
.site-footer__zones-group li { display: inline-block; margin: 0 20px 2px 0; line-height: 1.7; }
.site-footer__zones-group a { display: inline-block; }
.site-footer .site-footer__zones a { color: rgba(255, 255, 255, .6); }
.site-footer .site-footer__zones a:hover { color: #fff; }

.site-footer__bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 32px; padding-top: 16px; border-top: 2px solid rgba(255, 255, 255, .5); font-size: 14px; }
.site-footer__legal { display: flex; flex-wrap: wrap; gap: 6px 0; margin-left: auto !important; }
.site-footer__legal li + li::before { content: "|"; margin: 0 16px; color: rgba(255, 255, 255, .7); }
.site-footer__brand { padding-left: 10px; border-left: 2px solid #fff; font-size: 14px; line-height: 1.2; }
.site-footer__brand strong { display: block; color: var(--sf-red); font-size: 17px; font-weight: 800; }

@media (max-width: 1199px) {
    .site-footer__top { flex-wrap: wrap; }
    .site-footer__aside { flex-direction: row; flex-wrap: wrap; gap: 22px 48px; }
}

@media (max-width: 991px) {
    .site-footer__logo { padding-right: 0; border-right: 0; }
    .site-footer__links { flex-basis: 100%; }
}

@media (max-width: 767px) {
    .site-footer__inner { padding: 0 16px; }
    .site-footer__top { gap: 24px; }
    .site-footer__links { gap: 8px 32px; }
    .site-footer__bottom { flex-direction: column; align-items: center; }
    .site-footer__legal { margin-left: 0 !important; }
    .site-footer__legal li + li::before { margin: 0 10px; }

    /* everything centered on phones */
    .site-footer { text-align: center; }
    .site-footer__top { justify-content: center; }
    .site-footer__links { justify-content: center; }
    .site-footer__aside { justify-content: center; }
    .site-footer__social div { justify-content: center; }
    .site-footer__payment img { margin: 0 auto; }
    .site-footer__legal { justify-content: center; }
    .site-footer__zones-group li { margin: 0 9px 2px; }
    .site-footer__brand { padding-left: 0; border-left: 0; }
}

/* Agency credit */
.site-footer__credit { width: 100%; margin: 0; font-size: 13px; opacity: .8; text-align: center; }
.site-footer__credit a { color: inherit; text-decoration: underline; }
