/* Scoped B2B footer: CMS text and standard links share the same palette. */
.site-footer {
    background: #103f2d;
    border-top: 5px solid #276548;
    color: #e2ece4;
    margin-top: 3rem;
    padding: 3.5rem 0 1.5rem;
    font-size: .95rem;
    line-height: 1.65;
}
.site-footer-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.15fr);
    gap: 2.5rem;
}
.site-footer section { min-width: 0; overflow-wrap: anywhere; }
.site-footer h2 { color: #ffffff; font-size: 1rem; font-weight: 750; margin: 0 0 1.1rem; }
.site-footer h3 { color: #ffffff; font-size: .95rem; font-weight: 650; margin: 1rem 0 .5rem; }
.site-footer-brand h2 { font-size: 1.7rem; letter-spacing: -.04em; }
.site-footer-brand h2 i { color: #a9d1b4; margin-right: .3rem; }
.site-footer p { margin: 0 0 .85rem; }
.site-footer a,
.site-footer a:visited,
.site-footer .text-light,
.site-footer .text-muted { color: #e2ece4 !important; }
.site-footer a {
    display: inline-block;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: .25em;
    overflow-wrap: anywhere;
    border-radius: 2px;
}
.site-footer a:hover { color: #f0ca82 !important; text-decoration-color: currentColor; }
.site-footer a:focus-visible { outline: 3px solid #f0ca82; outline-offset: 4px; text-decoration-color: currentColor; }
.site-footer-links { list-style: none; padding: 0; margin: 0; }
.site-footer-links li { margin-bottom: .25rem; }
.site-footer-links a { padding: .25rem 0; }
.site-footer-contact { display: grid; gap: .7rem; font-style: normal; }
.site-footer-contact i { width: 1.2em; margin-right: .3rem; color: #a9d1b4; }
.site-footer-cms { margin-bottom: 1rem; }
.site-footer-cms img { max-width: 100%; height: auto; }
.site-footer-cms ul { padding-left: 1.1rem; }
.site-footer-cms .list-unstyled { padding-left: 0; }
.site-footer-cms .d-flex { flex-wrap: wrap; }
.site-footer-bottom {
    border-top: 1px solid #648b74;
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    margin-top: 2.5rem;
    padding-top: 1.4rem;
    font-size: .85rem;
}
.site-footer-bottom > div { min-width: 0; overflow-wrap: anywhere; }
.site-footer-bottom .site-footer-links { display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; }
.site-footer-credit { color: #c0d4c6; }
.site-footer-payments { margin-top: 2rem; }
.site-footer-payments span { display: inline-block; margin: 0 1rem .5rem 0; }
@media (min-width: 768px) and (max-width: 1100px) {
    .site-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .site-footer { padding: 2.5rem 0 1rem; }
    .site-footer-grid { grid-template-columns: minmax(0, 1fr); gap: 1.8rem; }
    .site-footer-grid > section + section { border-top: 1px solid #648b74; padding-top: 1.5rem; }
    .site-footer-bottom { flex-direction: column; gap: .5rem; }
    .site-footer-links a { padding: .4rem 0; }
}
