.site-footer,
.site-footer *{box-sizing:border-box}

.site-footer{
  background:#111;
  color:#fff;
  font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif;
}

.site-footer a{color:#fff;text-decoration:none}

.site-footer__container{
  width:min(1240px,calc(100% - 2.5rem));
  margin-inline:auto;
}

/* top section */
.site-footer__top{
  padding:3.5rem 0 2.5rem;
  border-bottom:1px solid rgba(255,255,255,.1);
}

/* 1-col → 2-col (560px) → 4-col (840px) */
.site-footer__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:2rem;
}

@media(min-width:560px){
  .site-footer__grid{grid-template-columns:1fr 1fr;gap:2rem 1.5rem}
}

@media(min-width:840px){
  .site-footer__grid{grid-template-columns:1.3fr .9fr .9fr .95fr;gap:1.5rem}
  .site-footer__top{padding:4.5rem 0 3rem}
}

/* brand column */
.site-footer__brand{display:grid;gap:.75rem}

.site-footer__logo{
  width:58px;
  height:58px;
  display:block;
  background:#fff;
  padding:.25rem;
  border-radius:8px;
}

.site-footer__title{
  margin:0;
  font-size:1.1rem;
  font-weight:700;
  line-height:1.4;
}

.site-footer__text{
  margin:0;
  color:rgba(255,255,255,.72);
  line-height:1.75;
  font-size:.92rem;
  max-width:44ch;
}

/* columns */
.site-footer__col h3{
  margin:0 0 .9rem;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:rgba(255,255,255,.45);
}

.site-footer__links{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.55rem;
}

.site-footer__links a{
  display:inline-block;
  color:rgba(255,255,255,.8);
  font-size:.92rem;
  line-height:1.5;
  transition:color .2s;
}

.site-footer__links a:hover{color:#fff}

/* contact list */
.site-footer__contact{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.6rem;
}

.site-footer__contact li{
  color:rgba(255,255,255,.78);
  font-size:.92rem;
  line-height:1.55;
}

.site-footer__contact a{
  color:rgba(255,255,255,.88);
  transition:color .2s;
}

.site-footer__contact a:hover{color:#fff}

/* bottom bar */
.site-footer__bottom{
  padding:1.1rem 0 1.3rem;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:.6rem;
}

.site-footer__copy{
  margin:0;
  color:rgba(255,255,255,.5);
  font-size:.82rem;
}

.site-footer__legal{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
}

.site-footer__legal a{
  color:rgba(255,255,255,.6);
  font-size:.82rem;
  transition:color .2s;
}

.site-footer__legal a:hover{color:#fff}

/* ─── WhatsApp sticky button ─── */
.whatsapp-float{
  position:fixed;
  bottom:28px;
  left:24px;
  width:58px;
  height:58px;
  background:#25D366;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 20px rgba(37,211,102,.5);
  z-index:9998;
  text-decoration:none;
  transition:transform .25s,box-shadow .25s;
}

.whatsapp-float:hover{
  transform:scale(1.12);
  box-shadow:0 6px 28px rgba(37,211,102,.65);
}

.whatsapp-float svg{
  width:32px;
  height:32px;
  fill:#fff;
  position:relative;
  z-index:1;
}

/* pulse ring */
.whatsapp-float::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:50%;
  background:rgba(37,211,102,.45);
  animation:wa-pulse 2.2s ease-out infinite;
}

@keyframes wa-pulse{
  0%{transform:scale(1);opacity:.8}
  100%{transform:scale(1.9);opacity:0}
}
