/* Final shared footer layer: keeps text and the original brand mark fully legible. */
footer.site-footer,
.site-footer {
    position: relative !important;
    isolation: isolate;
    overflow: visible !important;
    min-height: 0 !important;
    padding: 76px 60px 30px !important;
    background: linear-gradient(128deg, #6f862d 0%, #88a63b 52%, #789438 100%) !important;
    color: #fff !important;
    opacity: 1 !important;
}

footer.site-footer::before,
.site-footer::before {
    z-index: -1 !important;
    opacity: .1 !important;
    background: repeating-linear-gradient(135deg, rgba(255,255,255,.32) 0 1px, transparent 1px 34px) !important;
}

footer.site-footer .footer-grid {
    position: relative;
    display: grid !important;
    grid-template-columns: 1.05fr 1.35fr 1fr 1fr 1.15fr !important;
    gap: 38px !important;
    align-items: start !important;
}

footer.site-footer .footer-column { min-width: 0; opacity: 1 !important; }

footer.site-footer .footer-column .footer-column-title,
footer.site-footer .footer-column h3,
footer.site-footer .footer-column strong {
    color: #fff !important;
    font-size: .82rem !important;
    font-weight: 850 !important;
    letter-spacing: .085em !important;
    line-height: 1.35 !important;
    opacity: 1 !important;
}

footer.site-footer .footer-column .footer-column-title { margin: 0 0 17px !important; }
footer.site-footer .footer-column a,
footer.site-footer .footer-column p,
footer.site-footer .footer-column li,
footer.site-footer .footer-column address,
footer.site-footer .footer-column span {
    color: rgba(255,255,255,.94) !important;
    font-size: .89rem !important;
    font-weight: 520 !important;
    line-height: 1.62 !important;
    opacity: 1 !important;
}

footer.site-footer .footer-column a:hover,
footer.site-footer .footer-bottom a:hover { color: #f5f9df !important; }
footer.site-footer .footer-brand { display: inline-flex !important; margin: 0 0 23px !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; }
footer.site-footer .footer-logo { width: min(100%, 205px) !important; max-width: 205px !important; height: auto !important; opacity: 1 !important; filter: brightness(0) invert(1) !important; mix-blend-mode: normal !important; }
footer.site-footer .footer-contact-heading { margin-top: 8px !important; }
footer.site-footer .footer-contact-item { gap: 12px !important; margin: 0 0 15px !important; }
footer.site-footer .footer-contact-icon,
footer.site-footer .footer-contact-icon .line-svg { color: #fff !important; stroke: currentColor !important; }
footer.site-footer .footer-contact-item strong { display: block; margin-bottom: 2px !important; font-size: .7rem !important; }

footer.site-footer .footer-bottom {
    position: relative;
    display: flex !important;
    justify-content: space-between !important;
    gap: 20px !important;
    margin-top: 48px !important;
    padding-top: 22px !important;
    border-top: 1px solid rgba(255,255,255,.32) !important;
}

footer.site-footer .footer-bottom,
footer.site-footer .footer-bottom p,
footer.site-footer .footer-bottom a {
    color: rgba(255,255,255,.92) !important;
    font-size: .81rem !important;
    line-height: 1.55 !important;
    opacity: 1 !important;
}

@media (max-width: 1050px) {
    footer.site-footer .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 34px !important; }
    footer.site-footer .footer-contact-panel { grid-column: span 2; }
}

@media (max-width: 620px) {
    footer.site-footer { padding: 56px 24px 26px !important; }
    footer.site-footer .footer-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
    footer.site-footer .footer-contact-panel { grid-column: auto; }
    footer.site-footer .footer-bottom { flex-direction: column !important; gap: 12px !important; margin-top: 36px !important; }
}
