/* Shared footer: compact navigation, contact and company details. */
#footer.site-footer { background: #f6f5f0; border-top: 1px solid #e3e2d9; color: #53574d; font-size: 13px; line-height: 1.6; }
.site-footer__main { display: grid; grid-template-columns: 1.4fr .8fr .9fr 1.1fr; gap: 40px; padding: 44px 0 32px; }
#footer.site-footer p { margin: 0; font-size: inherit; line-height: inherit; }
#footer.site-footer a:not(.btn) { color: #3d4337; text-decoration: none; font-weight: 400; }
#footer.site-footer a:is(:hover, :focus, :active) { color: #181c14; }
#footer.site-footer a:focus-visible { outline: 2px solid #60674f; outline-offset: 4px; border-radius: 3px; }
#footer.site-footer a.site-footer__logo { display: inline-flex; margin-bottom: 12px; }
.site-footer__logo img { display: block; width: 188px; height: auto; }
#footer.site-footer .site-footer__tagline { font-size: 13px; color: #454b3c; margin-bottom: 18px; }
.site-footer__legal { max-width: 310px; color: #73776b; font-size: 12px; line-height: 1.65; }
#footer.site-footer .site-footer__legal p:first-child { color: #5d6254; }
#footer.site-footer .site-footer__legal p + p { margin-top: 2px; }
#footer.site-footer h2 { margin: 2px 0 16px; color: #292f22; font-size: 14px; font-weight: 600; line-height: 1.4; letter-spacing: 0; }
.site-footer__nav ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
#footer.site-footer .site-footer__nav a { display: inline-block; padding: 4px 0; line-height: 1.5; }
#footer.site-footer .site-footer__nav a:hover, #footer.site-footer .site-footer__bottom a:hover { text-decoration: underline; text-underline-offset: 4px; }
#footer.site-footer a.site-footer__email { display: inline-flex; align-items: center; gap: 9px; font-weight: 500; font-size: 13px; padding: 4px 0; margin-bottom: 16px; }
.site-footer__email svg { width: 18px; height: 18px; flex: 0 0 18px; }
.site-footer__email span { overflow-wrap: anywhere; }
#footer.site-footer a.site-footer__email:hover { text-decoration: underline; text-underline-offset: 4px; }
.site-footer__socials { display: flex; flex-wrap: wrap; gap: 8px 16px; }
#footer.site-footer .site-footer__socials a { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; font-size: 12px; }
.site-footer__socials i { width: 17px; text-align: center; font-size: 17px; }
#footer.site-footer .site-footer__socials a:is(:hover, :focus, :active) { text-decoration: none; }
#footer.site-footer .site-footer__socials a:hover span { text-decoration: underline; text-underline-offset: 4px; }
.site-footer__bottom { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 28px; border-top: 1px solid #ddded2; padding: 18px 0; font-size: 11px; color: #6e7462; }
#footer.site-footer .site-footer__bottom a { font-size: inherit; color: inherit; }
#footer.site-footer .site-footer__credit { margin-left: auto; }
@media (max-width: 1199px) { .site-footer__main { gap: 28px; grid-template-columns: 1.3fr .8fr 1fr 1.2fr; } }
@media (max-width: 991px) {
    .site-footer__main { grid-template-columns: 1.2fr 1fr; gap: 32px 40px; }
    .site-footer__brand { grid-row: 1 / 3; }
    .site-footer__contact { grid-column: 1 / -1; display: grid; grid-template-columns: 1.2fr 1fr; gap: 0 40px; align-items: center; padding-top: 22px; border-top: 1px solid #e1e2d7; }
    #footer.site-footer .site-footer__contact h2 { grid-column: 1; margin-bottom: 10px; }
    #footer.site-footer .site-footer__email { grid-column: 1; margin: 0; }
    .site-footer__socials { grid-column: 2; grid-row: 1 / 3; }
}
@media (max-width: 575px) {
    .site-footer__main { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 30px 0 24px; gap: 28px 20px; }
    .site-footer__brand { grid-column: 1 / -1; grid-row: auto; }
    .site-footer__logo img { width: 168px; }
    #footer.site-footer .site-footer__tagline { margin-bottom: 14px; }
    .site-footer__legal { max-width: none; }
    #footer.site-footer h2 { margin-bottom: 10px; }
    .site-footer__nav ul { gap: 5px; }
    #footer.site-footer .site-footer__nav a { font-size: 12px; }
    .site-footer__contact { display: block; padding-top: 20px; }
    #footer.site-footer a.site-footer__email { margin-bottom: 8px; }
    .site-footer__bottom { gap: 8px 22px; padding: 16px 0 20px; }
    #footer.site-footer .site-footer__credit { flex-basis: 100%; margin: 0; }
}
