/* v55 — footer color + width aligned with redesigned section system */

.sf-clean-footer.sf-footer-v54{
  margin-top:18px !important;
  padding:18px 0 30px !important;
  border-radius:0 !important;
  background:#fff !important;
  color:#173c2c !important;
  overflow:visible !important;
}

.sf-footer-v54 .container{
  width:min(100% - 40px,1540px) !important;
  max-width:none !important;
  margin-inline:auto !important;
  padding:46px 48px 24px !important;
  box-sizing:border-box !important;
  position:relative !important;
  overflow:hidden !important;
  border:1px solid #d7e4dc !important;
  border-radius:34px !important;
  background:
    radial-gradient(circle at 94% 8%,rgba(111,141,126,.15),transparent 24%),
    linear-gradient(145deg,#f3f8f5 0%,#e9f2ed 100%) !important;
  box-shadow:0 24px 65px rgba(7,31,22,.07) !important;
}

.sf-footer-v54 .container::after{
  content:"";
  position:absolute;
  right:-100px;
  bottom:-130px;
  width:300px;
  height:300px;
  border-radius:50%;
  background:rgba(164,190,176,.13);
  pointer-events:none;
}

.sf-footer-v54 .sf-footer-top,
.sf-footer-v54 .sf-footer-bottom{
  position:relative !important;
  z-index:1 !important;
}

.sf-footer-v54 .sf-footer-logo-box{
  margin:0 0 20px !important;
  padding:10px 14px !important;
  border:1px solid #d8e3dc !important;
  border-radius:17px !important;
  background:#fff !important;
  box-shadow:0 10px 28px rgba(7,31,22,.06) !important;
}

.sf-footer-v54 .sf-footer-logo-box img{
  width:242px !important;
  max-height:62px !important;
}

.sf-footer-v54 .sf-footer-brand-block p{
  color:#50655b !important;
}

.sf-footer-v54 .sf-social-btn{
  border:1px solid #cddbd3 !important;
  background:rgba(255,255,255,.72) !important;
  color:#0b4a34 !important;
  box-shadow:0 8px 20px rgba(7,31,22,.04) !important;
}

.sf-footer-v54 .sf-social-btn:hover{
  background:#fff !important;
  color:#073726 !important;
}

.sf-footer-v54 .sf-footer-group b{
  color:#082f20 !important;
}

.sf-footer-v54 .sf-footer-group a{
  color:#4f665b !important;
}

.sf-footer-v54 .sf-footer-group a:hover{
  color:#0b4a34 !important;
}

.sf-footer-v54 .sf-footer-bottom{
  margin-top:38px !important;
  padding-top:18px !important;
  border-top:1px solid #cfded5 !important;
  color:#64776d !important;
}

.sf-footer-v54 .sf-footer-bottom span{
  color:#64776d !important;
}

.sf-footer-v54 .sf-footer-contact-row a{
  color:#245a43 !important;
}

.sf-footer-v54 .sf-footer-contact-row a:hover{
  color:#073726 !important;
}

@media(max-width:980px){
  .sf-footer-v54 .container{
    padding:38px 34px 22px !important;
  }
}

@media(max-width:650px){
  .sf-clean-footer.sf-footer-v54{
    margin-top:12px !important;
    padding:12px 0 calc(108px + env(safe-area-inset-bottom)) !important;
    background:#fff !important;
  }

  .sf-footer-v54 .container{
    width:min(100% - 28px,1540px) !important;
    padding:28px 18px 20px !important;
    border-radius:28px !important;
  }

  .sf-footer-v54 .sf-footer-logo-box{
    margin-bottom:14px !important;
    padding:9px 12px !important;
    border-radius:15px !important;
  }

  .sf-footer-v54 .sf-footer-logo-box img{
    width:202px !important;
    max-height:52px !important;
  }

  .sf-footer-v54 .sf-footer-top{
    gap:26px !important;
  }

  .sf-footer-v54 .sf-footer-bottom{
    margin-top:24px !important;
    padding-top:15px !important;
  }
}
