
.site-footer{
  width:100%;
  background:linear-gradient(180deg,color-mix(in srgb,var(--brand-tr) 18%,#ffffff) 0%,#ffffff 55%);  backdrop-filter: saturate(180%) blur(14px);
  box-shadow:0 -8px 30px rgba(0,0,0,.06);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  padding:18px 0;
  color:#1f2623;
  font:14px/1.6 Inter,system-ui,sans-serif;
  max-width:none!important;
}

.footer-inner{
  width:100%;
  max-width:none;
  margin:0;
  padding:0 var(--pill-inset);
  display:grid;
  grid-template-columns:minmax(240px,1fr) minmax(220px,1fr) minmax(240px,auto);
  gap:16px 24px;
  align-items:center;
}

.footer-left .footer-brand{
  margin:0 0 4px 0;
  font:800 18px/1.2 Inter,system-ui,sans-serif;
  color:var(--brand-ink);
}
.site-footer p{ margin:0; color:#47524d; }

.footer-links{
  display:inline-flex; flex-wrap:wrap; gap:6px;
  justify-content:center;
}
.footer-links a{
  display:inline-flex; align-items:center;
  padding:6px 10px;
  border-radius:10px;
  font:600 13px/1.2 Inter,system-ui,sans-serif;
  color:#233029; text-decoration:none;
  border:1px solid rgba(0,0,0,0);
  transition:background-color .18s,color .18s,border-color .18s,box-shadow .18s;
}
.footer-links a:hover,
.footer-links a:focus-visible{
  background:color-mix(in srgb,var(--brand) 10%,#fff);
  border-color:color-mix(in srgb,var(--brand) 28%,rgba(0,0,0,.08));
  color:var(--brand-ink);
  outline:none; box-shadow:var(--ring);
}

.footer-cta{
  display:flex; flex-direction:column; align-items:flex-end;
  gap:8px;
}
.site-footer .btn{
  --cta-h:34px;
  height:var(--cta-h);
  min-width:120px;
  padding:0 16px;
  font:600 13px/1 Inter,system-ui,sans-serif;
  letter-spacing:.2px;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(180deg,#25a05f 0%,#1b7b50 100%);
  border:none;
  display:inline-flex; align-items:center; justify-content:center;
  line-height:1;
  box-shadow:0 3px 8px rgba(0,0,0,.12);
  transition:transform .12s,box-shadow .18s,filter .18s;
}
.site-footer .btn:hover{
  filter:saturate(1.06) brightness(1.04);
  transform:translateY(-1px);
  box-shadow:0 5px 12px rgba(0,0,0,.16);
}
.site-footer .btn:active{ transform:none; box-shadow:0 2px 6px rgba(0,0,0,.10); }
.site-footer .btn:focus-visible{ outline:3px solid #fff; outline-offset:2px; }

.footer-socials{
  display:inline-flex; align-items:center; gap:8px;
}
.footer-socials .social-link{
  width:36px; height:36px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:10px;
  color:var(--brand);
  background:color-mix(in srgb,var(--brand) 6%,#fff);
  border:1px solid rgba(0,0,0,.06);
  transition:transform .12s,filter .18s,box-shadow .18s,background-color .18s,color .18s;
}
.footer-socials .social-link:hover,
.footer-socials .social-link:focus-visible{
  transform:translateY(-1px);
  filter:saturate(1.08) brightness(1.04);
  box-shadow:0 6px 12px rgba(0,0,0,.12);
  outline:none;
}
.footer-socials .social-icon{
  width:18px; height:18px;
  display:block; fill:currentColor;
}

@media (max-width:960px){
  .footer-inner{ grid-template-columns:1fr; align-items:start; }
  .footer-left{ order:1; }
  .footer-links{ order:2; justify-content:flex-start; }
  .footer-cta{ order:3; align-items:flex-start; }
  .site-footer{ padding:16px 0; }
}



html,body{ height:100%; }
body{ min-height:100dvh; margin:0; display:flex; flex-direction:column; }
.wp-site-blocks,.site,#page{ min-height:100dvh; display:flex; flex-direction:column; }
main,.site-content,#content,.wp-block-post-content,#tribe-events-pg-template,.woocommerce,.um,.um-page-wrapper,.business-directory-list,.wpbdp-page,#wpbdp-page-main_page,#wpbdp-main-box{ flex:1 0 auto; }
#tribe-events-pg-template,.woocommerce,.um,.um-page-wrapper,.wpbdp-page,#wpbdp-page-main_page,#wpbdp-main-box{ margin-bottom:0!important; padding-bottom:0!important; }
.business-directory-hero{ flex:0 0 auto; }
.site-footer{ margin-top:auto; flex-shrink:0; }
/* --- Single-scroll + sticky footer (conflict-safe) --- */

/* 1) Let the site wrapper be the only scroll context */
:root { --site-bg: #f3f6f8; } /* your grey */

html, body,
.wp-site-blocks, .site, #page,
.site-content, #content, main, .wp-block-post-content {
  background: var(--site-bg) !important; /* or `transparent` if you prefer */
}
/************************************************************
  SIDE CART + FOOTER FIX (paste this at the very end)
************************************************************/

/* 1) Remove blur from the real footer element (this is the bug) */
.site-footer {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  position: relative; /* needed for the pseudo element below */
  overflow: visible;
}

/* 2) Re-create your blurred footer background on a pseudo layer */
.site-footer::before{
  content:"";
  position:absolute;
  inset:0;
  /* your original gradient */
  background: linear-gradient(
    180deg,
    color-mix(in srgb,var(--brand-tr) 18%, #ffffff) 0%,
    #ffffff 55%
  );
  backdrop-filter: saturate(180%) blur(14px);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  pointer-events:none;
  z-index:0;
}
/* keep footer content above that layer */
.site-footer > * { position: relative; z-index: 1; }



