/* single sticky call CTA override */
body{
  padding-bottom:126px !important;
}
.site-sticky-cta{
  position:fixed !important;
  left:50% !important;
  bottom:14px !important;
  transform:translateX(-50%) !important;
  z-index:5000 !important;
  width:min(560px,calc(100% - 24px)) !important;
  display:flex !important;
  justify-content:center !important;
  pointer-events:none !important;
}
.site-sticky-cta .sticky-quote{display:none !important}
.site-sticky-cta .sticky-link{
  pointer-events:auto !important;
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  width:100% !important;
  min-height:66px !important;
  padding:16px 22px !important;
  border-radius:14px !important;
  text-decoration:none !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  font-size:20px !important;
  overflow:hidden !important;
  box-shadow:0 14px 30px rgba(255,174,0,.34) !important;
  transition:box-shadow .25s ease !important;
}
.site-sticky-cta .sticky-link:before,
.site-sticky-cta .sticky-link:after{display:none !important}
.site-sticky-cta .sticky-call{
  background:#ffae00 !important;
  color:#111 !important;
  border:1px solid #ffae00 !important;
  animation:ctaPulseAggressive 1.05s cubic-bezier(.22,.61,.36,1) infinite !important;
  transform-origin:center !important;
}
.site-sticky-cta .sticky-call svg{
  width:19px !important;
  height:19px !important;
  flex-shrink:0 !important;
}
.site-sticky-cta .sticky-default,
.site-sticky-cta .sticky-hover-number{
  display:block !important;
  transition:transform .33s cubic-bezier(.22,.61,.36,1),opacity .33s cubic-bezier(.22,.61,.36,1) !important;
}
.site-sticky-cta .sticky-default{
  animation:ctaTextPulse 1.05s ease-in-out infinite !important;
}
.site-sticky-cta .sticky-hover-number{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  text-align:center !important;
  transform:translateY(140%) !important;
  opacity:0 !important;
}
.site-sticky-cta .sticky-call:hover{
  box-shadow:0 0 0 2px rgba(255,174,0,.45),0 0 26px rgba(255,174,0,.58),0 16px 32px rgba(255,174,0,.34) !important;
  animation-play-state:paused !important;
}
.site-sticky-cta .sticky-call:hover .sticky-default{
  transform:translateY(-140%) !important;
  opacity:0 !important;
}
.site-sticky-cta .sticky-call:hover .sticky-hover-number{
  transform:translateY(0) !important;
  opacity:1 !important;
}
@keyframes ctaPulse{
  0%,100%{box-shadow:0 10px 24px rgba(255,174,0,.28);transform:translateY(0)}
  50%{box-shadow:0 0 0 3px rgba(255,174,0,.35),0 0 24px rgba(255,174,0,.45),0 14px 30px rgba(255,174,0,.30);transform:translateY(-1px)}
}
@keyframes ctaPulseAggressive{
  0%{
    transform:translateY(0) scale(1);
    box-shadow:0 10px 24px rgba(255,174,0,.35),0 0 0 0 rgba(255,174,0,.35);
    filter:saturate(1);
  }
  50%{
    transform:translateY(-2px) scale(1.045);
    box-shadow:0 0 0 5px rgba(255,174,0,.26),0 0 34px rgba(255,174,0,.62),0 18px 36px rgba(255,174,0,.42);
    filter:saturate(1.18);
  }
  100%{
    transform:translateY(0) scale(1);
    box-shadow:0 10px 24px rgba(255,174,0,.35),0 0 0 0 rgba(255,174,0,.35);
    filter:saturate(1);
  }
}
@keyframes ctaTextPulse{
  0%,100%{letter-spacing:.02em;opacity:1}
  50%{letter-spacing:.03em;opacity:.96}
}
@media(max-width:860px){
  body{padding-bottom:142px !important}
  .site-sticky-cta{width:calc(100% - 16px) !important;bottom:8px !important}
  .site-sticky-cta .sticky-link{min-height:58px !important;font-size:17px !important;padding:13px 14px !important}
}

/* service hero CTA dynamic buttons */
.hero{
  position:relative;
}
.hero:after{
  pointer-events:none !important;
  z-index:0 !important;
}
.hero-wrap{
  position:relative;
  z-index:2;
}
.cta-row .btn{
  position:relative;
  overflow:hidden;
  min-width:220px;
  text-align:center;
  transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;
}
.cta-row .btn:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 20px rgba(0,0,0,.22);
}
.cta-row .btn-primary{
  color:#111;
}
.cta-row .btn-primary .default-text,
.cta-row .btn-primary .hover-text,
.cta-row .btn-dark .default-text,
.cta-row .btn-dark .hover-text{
  display:block;
  transition:transform .28s cubic-bezier(.22,.61,.36,1),opacity .28s cubic-bezier(.22,.61,.36,1);
}
.cta-row .btn-primary .hover-text,
.cta-row .btn-dark .hover-text{
  position:absolute;
  left:0;
  right:0;
  top:50%;
  transform:translateY(140%);
  opacity:0;
}
.cta-row .btn-primary:hover .default-text,
.cta-row .btn-dark:hover .default-text{
  transform:translateY(-140%);
  opacity:0;
}
.cta-row .btn-primary:hover .hover-text,
.cta-row .btn-dark:hover .hover-text{
  transform:translateY(-50%);
  opacity:1;
}
.cta-row .btn-dark{
  border:1px solid #e6e6e6;
}
.cta-row .btn-dark:before{
  content:"";
  position:absolute;
  top:0;
  left:-130%;
  width:120%;
  height:100%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.85),transparent);
  transition:left .5s ease;
}
.cta-row .btn-dark:hover:before{
  left:120%;
}
@media(max-width:680px){
  .cta-row .btn{min-width:0;}
}

/* unified footer branding across all pages */
.site-footer .footer-brand{
  display:none !important;
}
.site-footer .footer-logo{
  gap:0 !important;
}
.site-footer .footer-logo img{
  height:112px !important;
  width:auto !important;
  display:block !important;
}

/* unified footer social chips */
.site-footer .footer-socials{
  display:flex !important;
  gap:8px !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  margin-top:14px !important;
}
.site-footer-main > section:first-child .footer-text{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* high-contrast footer CTA buttons */
.site-footer .footer-btn{
  font-weight:900 !important;
}
.site-footer .footer-btn-devis{
  background:#ffffff !important;
  color:#ffae00 !important;
  border:1px solid #ffffff !important;
  text-shadow:none !important;
}
.site-footer .footer-btn-devis:hover{
  background:#ffffff !important;
  color:#ffae00 !important;
  border-color:#ffffff !important;
  filter:none !important;
}
.site-footer .footer-btn-call{
  background:#ffae00 !important;
  color:#ffffff !important;
  border:1px solid #ffae00 !important;
  text-shadow:none !important;
}
.site-footer .footer-btn-call:hover{
  background:#ffae00 !important;
  color:#ffffff !important;
  border-color:#ffae00 !important;
  filter:none !important;
}
.site-footer .footer-social-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:6px 10px !important;
  border:1px solid #2d2d2d !important;
  border-radius:999px !important;
  background:#111 !important;
  color:#fff !important;
  text-decoration:none !important;
  font-size:11px !important;
  font-weight:700 !important;
  line-height:1 !important;
  transition:all .2s ease !important;
}
.site-footer .footer-social-link:hover{
  background:#ffae00 !important;
  color:#111 !important;
  border-color:#ffae00 !important;
}
@media(max-width:820px){
  .site-footer .footer-logo img{
    height:84px !important;
  }
}
