.site-footer{
    padding: 18px 0;
    font-size: 14px;
    /* accent color (icons, certain fonts) uses CSS variable set inline */
    color: var(--sf-accent, #ffffff);
}
.site-footer-inner{
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
/* Layout: three columns */
.site-footer-columns{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}
.site-footer-col{ flex:1; }
.site-footer-col-left{ text-align:left; }
.site-footer-col-center{ text-align:center; }
.site-footer-col-center{ /* push address/email much lower */
    margin-top:68px; /* increased by 20px as requested */
}
.site-footer-col-right{ text-align:right; display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
.site-footer-logo{ max-height:120px; }
.site-footer-social-icon img{ width:var(--sf-social-icon-size,20px); height:var(--sf-social-icon-size,20px); display:block; }
/* social icon container */
.site-footer-social-icon{ display:inline-block; padding:4px; border-radius:50%; background: transparent; }
.site-footer-social-icon img{ display:block; }
/* If SVGs are inlined or use currentColor, ensure they inherit accent color */
.site-footer-social-icon svg{ fill: var(--sf-accent, #ffffff); color: var(--sf-accent, #ffffff); width:var(--sf-social-icon-size,20px); height:var(--sf-social-icon-size,20px); }
.site-footer-street, .site-footer-postal, .site-footer-email{ margin-bottom:6px; }
.site-footer-street{ margin-top:40px; }

.site-footer-backtop{ margin-top:14px; display:flex; flex-direction:column; align-items:center; text-align:center; margin-bottom:36px; }
.site-footer-backtop img{ height:var(--sf-backtop-size,40px); width:auto; display:block; filter: brightness(0) invert(1); }
.site-footer-backtop svg{ height:var(--sf-backtop-size,40px); width:auto; fill: var(--sf-accent, #ffffff); color: var(--sf-accent, #ffffff); }
.site-footer-backtop .backtop-text{ display:block; margin-top:8px; font-size:13px; color:var(--sf-accent, #ffffff); cursor:pointer; }

#site-footer a{ color: inherit; text-decoration: none; }

/* Buttons area: center aligned */
.site-footer-buttons{ text-align:center; margin-top:38px; /* moved down an extra 20px */ }
.site-footer-btn{ display:inline-block; margin:6px 8px; padding:8px 14px; background: var(--sf-btn-bg, #000000); color: var(--sf-accent, #ffffff); border-radius:4px; text-decoration:none; font-weight:600; border: none; }
.site-footer-btn:hover{ opacity:0.9; }

/* Sponsors area below footer content */
.site-footer-sponsors{ padding:18px 0; }
.site-footer-sponsors-inner{ max-width:1200px; margin:0 auto; padding:0 20px; }
.site-footer-sponsors-grid{ display:flex; flex-wrap:wrap; gap:18px; align-items:center; justify-content:center; }
.site-footer-sponsor-item{ flex: 0 0 auto; display:flex; align-items:center; justify-content:center; }
.site-footer-sponsor-item img{ display:block; height:auto; max-height:var(--sf-sponsor-max,80px); }

@media (max-width:700px){
    .site-footer-sponsors-grid{ justify-content:center; }
}

/* Scale sponsor size down on tablet and phone and make sponsors a single-line strip on small screens */
@media (max-width:1024px){
    /* tablet: 80% of desktop size */
    .site-footer-sponsor-item img{ max-height: calc(var(--sf-sponsor-max,80px) * 0.8); }
}

@media (max-width:700px){
    /* phone: 60% of desktop size */
    .site-footer-sponsor-item img{ max-height: calc(var(--sf-sponsor-max,80px) * 0.6); }

    /* Keep sponsors on one centered line like desktop */
    .site-footer-sponsors-grid{ flex-wrap:wrap; justify-content:center; }
    .site-footer-sponsor-item{ flex: 0 0 auto; }
}

/* Responsive: stack on small screens */
@media (max-width:700px){
    .site-footer-columns{ flex-direction:column; align-items:center; text-align:center; }
    .site-footer-col-right{ align-items:center; flex-direction:row; }
}
