.elementor-51 .elementor-element.elementor-element-b01ac6e{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for container, class: .elementor-element-b01ac6e *//* =========================================================
   SF FOOTER — Premium (Hello + Elementor)
   Scope : .sf-footer
   ========================================================= */

.sf-footer{
  background:
    radial-gradient(900px 420px at 15% 0%, rgba(47,106,139,.10), transparent 60%),
    radial-gradient(900px 420px at 90% 40%, rgba(47,106,139,.07), transparent 60%),
    #0b1220;
  color: rgba(255,255,255,.88);
  padding-top: clamp(50px, 6vw, 80px);
}

.sf-footer__wrap{
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 20px;

  display: grid;
  grid-template-columns: 1.2fr .9fr .9fr .9fr;
  gap: 22px;
  align-items: start;
}

/* Brand */
.sf-footer__title{
  margin: 0;
  font-size: 22px;
  font-weight: 950;
  letter-spacing: .2px;
  color: #ffffff;
}
.sf-footer__tag{
  margin: 6px 0 0;
  color: rgba(255,255,255,.72);
  font-weight: 700;
}
.sf-footer__text{
  margin: 14px 0 0;
  color: rgba(255,255,255,.78);
  line-height: 1.7;
  font-size: 14.8px;
  max-width: 520px;
}
.sf-footer__cta{
  margin-top: 14px;
  display: inline-flex;
  gap: 12px;
  align-items: center;
}

/* Titres colonnes */
.sf-footer__h{
  margin: 0 0 10px;
  font-size: 13px;
  letter-spacing: .10em;
  text-transform: uppercase;
  font-weight: 900;
  color: rgba(255,255,255,.92);
}

/* Listes contact */
.sf-footer__list{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}
.sf-footer__item{
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
  border-radius: 16px;
  padding: 12px 12px;
}
.sf-footer__k{
  display: block;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.65);
}
.sf-footer__v{
  display: inline-block;
  margin-top: 6px;
  color: rgba(255,255,255,.92);
  text-decoration: none;
  font-weight: 800;
  line-height: 1.4;
}
.sf-footer__v:hover{
  text-decoration: underline;
}

/* Horaires */
.sf-footer__hours{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
}
.sf-footer__hours li{
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.86);
  font-weight: 750;
}
.sf-footer__hours li span:first-child{
  color: rgba(255,255,255,.70);
  font-weight: 800;
}
.sf-footer__small{
  margin: 12px 0 0;
  color: rgba(255,255,255,.70);
  font-size: 13px;
  line-height: 1.55;
}

/* Liens */
.sf-footer__links{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
}
.sf-footer__links a{
  color: rgba(255,255,255,.86);
  text-decoration: none;
  font-weight: 750;
}
.sf-footer__links a:hover{
  text-decoration: underline;
  color: #ffffff;
}
.sf-footer__sep{
  height: 1px;
  background: rgba(255,255,255,.14);
  margin: 6px 0;
}

/* Bottom bar */
.sf-footer__bottom{
  margin-top: clamp(28px, 4vw, 42px);
  border-top: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.18);
}
.sf-footer__bottomWrap{
  max-width: 1180px;
  margin: 0 auto;
  padding: 14px 20px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.sf-footer__copy,
.sf-footer__made{
  margin: 0;
  color: rgba(255,255,255,.70);
  font-size: 13px;
}

/* Responsive */
@media (max-width: 980px){
  .sf-footer__wrap{
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 640px){
  .sf-footer__wrap{
    grid-template-columns: 1fr;
  }
  .sf-footer__cta{
    flex-direction: column;
    align-items: stretch;
  }
}/* End custom CSS */