/* Site footer — mirrors the former Elementor footer (template 815): partners band, purple columns, dark bottom bar. */
.sm-footer { --sm-footer-bottom: #010536; --sm-footer-link: #b2b9ff; font-family: var(--font-family-body); }
.sm-footer ul { list-style: none; margin: 0; padding: 0; }
.sm-footer p { margin: 0; }
.sm-footer a { text-decoration: none; }
.sm-footer-inner { max-width: 1400px; margin: 0 auto; }

.sm-footer-partners { background: var(--c-bg-blue); padding: .8rem; }
.sm-footer-partners .sm-footer-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-32) var(--space-64); }
.sm-footer-ekomi img { display: block; width: 100px; height: auto; }
.sm-footer-ekomi .ekomi-widget-container:empty { display: none; }
.sm-footer-partners-title { color: var(--c-navy); }
.sm-footer-partners-list { display: contents; }
.sm-footer-partner { display: block; }
.sm-footer-partner-logo { display: block; width: 150px; height: auto; }
/* Logos with a white box (e.g. KLSK) blend into the light band. */
:is(.sm-footer-partner-logo, .sm-footer-ekomi img) { mix-blend-mode: darken; }

.sm-footer-main { background: var(--c-purple); padding: 1.7rem; }
.sm-footer-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-32); }
.sm-footer-brand { display: flex; flex-direction: column; align-items: center; text-align: center; }
.sm-footer-logo img { display: block; width: 220px; height: auto; }
.sm-footer-heading { color: var(--c-white); font-size: var(--text-heading-5-size); font-weight: var(--font-weight-regular); line-height: var(--text-heading-line-height); margin-bottom: var(--space-12) !important; }
.sm-footer .sm-footer-heading a { color: inherit; font: inherit; }
.sm-footer-brand .sm-footer-heading { margin: var(--space-16) 0 !important; }
.sm-footer-social { display: flex; gap: var(--space-16); }
.sm-footer-social a { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 4px; background: #3b5998; color: var(--c-white); }
.sm-footer-social a:hover { filter: brightness(1.15); }
.sm-footer-column li { padding-bottom: var(--space-4); color: var(--sm-footer-link); font-size: var(--text-body-size); line-height: var(--text-body-line-height); }
.sm-footer-column a { color: var(--sm-footer-link); }
.sm-footer-column a:hover, .sm-footer-column a:focus-visible { color: var(--c-white); }
.sm-footer-projects { display: none; }
.sm-footer-projects :is(a, span) { display: inline-flex; align-items: center; gap: var(--space-12); color: var(--c-white); }
.sm-footer-projects img { width: 76px; height: auto; }

.sm-footer-bottom { background: var(--sm-footer-bottom); padding: var(--space-24) .8rem; }
.sm-footer-bottom ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sm-footer-bottom li { grid-column: span 1; text-align: right; color: var(--c-purple-light); font-size: var(--text-body-sm-size); line-height: var(--line-height-sm); }
.sm-footer-bottom li:first-child { grid-column: 2; }
.sm-footer-bottom a { color: var(--c-purple-light); }
.sm-footer-bottom a:hover { color: var(--c-white); }

/* Floating donation badge (Fundacja Okno Nadziei): white circle, 60px icon + 20px padding (40px icon below desktop). */
.sm-footer-badge { position: fixed; right: 24px; bottom: 100px; z-index: 1; display: block; padding: 20px; border-radius: 50%; background: var(--c-white); box-shadow: 0 2px 15px rgba(0, 0, 0, .11); }
.sm-footer-badge-logo { display: block; width: 60px; height: 60px; }

@media (max-width: 1024px) {
    .sm-footer-partners .sm-footer-inner { flex-wrap: wrap; justify-content: center; }
    .sm-footer-grid { grid-template-columns: minmax(0, 1fr); }
    .sm-footer-projects { display: block; }
    .sm-footer-bottom ul { grid-template-columns: minmax(0, 1fr); gap: var(--space-16); text-align: center; }
    .sm-footer-bottom li, .sm-footer-bottom li:first-child { grid-column: 1; text-align: center; }
    .sm-footer-badge-logo { width: 40px; height: 40px; }
}
@media (max-width: 767px) {
    .sm-footer-partners .sm-footer-inner { flex-direction: column; gap: var(--space-24); }
    .sm-footer-partner-logo { width: 200px; }
    .sm-footer-badge { right: 16px; bottom: 80px; }
}
