.site-footer {
  position: relative;
  padding: 52px 7.2% 36px;
  border-top: 4px solid #f15b25;
  background: #111e26;
  color: #b7c2c8;
}

.site-footer-top {
  display: grid;
  grid-template-columns: 1.3fr .8fr .8fr 1fr;
  gap: 40px;
  padding-bottom: 42px;
  border-bottom: 1px solid #ffffff18;
}

.site-footer-brand {
  color: #fff;
}

.site-footer-brand strong {
  display: block;
  margin-bottom: 10px;
  color: #fff;
  font-size: 20px;
}

.site-footer-brand p {
  max-width: 300px;
  margin: 0;
  color: #8e9ba2;
  font-size: 13px;
  line-height: 1.7;
}

.site-footer h4 {
  margin: 0 0 18px;
  color: #fff;
  font-size: 13px;
  letter-spacing: .12em;
}

.site-footer a {
  display: block;
  margin: 0 0 11px;
  color: #9daab1;
  font-size: 13px;
  text-decoration: none;
}

.site-footer a:hover {
  color: #fff;
}

.site-footer-contact {
  color: #fff;
  font-size: 14px;
  line-height: 1.8;
}

.site-footer-contact p {
  margin: 4px 0 0;
  color: #8e9ba2;
  font-size: 12px;
}

.site-footer-bottom {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 72px;
  padding-top: 24px;
  color: #7e8b92;
  font-size: 12px;
}

.site-footer-social {
  display: flex;
  flex: 0 0 auto;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 0;
}

.site-footer-social a {
  display: grid;
  width: 48px;
  height: 48px;
  margin: 0;
  place-items: center;
  border-radius: 10px;
  background: #e6ecef;
}

.site-footer-social a:first-child { background: #fff; }
.site-footer-social a:hover { background: #fff; }
.site-footer-social img { display: block; width: 24px; height: 24px; object-fit: contain; }
.site-footer-social a:last-child img { width: 26px; height: 26px; }

.floating-contact {
  position: fixed;
  z-index: 80;
  top: 50%;
  right: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transform: translateY(-50%);
}

.floating-contact-item {
  display: flex !important;
  width: 68px;
  min-height: 68px;
  margin: 0 !important;
  padding: 0;
  align-items: center;
  justify-content: center;
  border-radius: 20px 0 0 20px;
  background: #e96a3a;
  color: #fff !important;
  box-shadow: 0 7px 18px #17263028;
}

.floating-contact-item:hover { background: #d95528; }
.floating-contact-item img { width: 36px; height: 36px; object-fit: contain; filter: brightness(0) invert(1); }

/* Homepage keeps the contact rail next to the carousel, independent of footer flow. */
.home-floating-contact{position:fixed;z-index:200;top:50%;right:0;display:flex;flex-direction:column;gap:8px;transform:translateY(-50%)}
.home-floating-contact a{display:flex!important;width:68px;min-height:68px;margin:0!important;padding:0;align-items:center;justify-content:center;border-radius:20px 0 0 20px;background:#e96a3a;color:#fff!important;text-decoration:none;box-shadow:0 7px 18px #17263028}
.home-floating-contact a:hover{background:#d95528}
.home-floating-contact img{width:36px;height:36px;object-fit:contain;filter:brightness(0) invert(1)}
@media(max-width:640px){.home-floating-contact{gap:6px}.home-floating-contact a{width:52px;min-height:52px;border-radius:16px 0 0 16px}.home-floating-contact img{width:28px;height:28px}}

@media(max-width:640px){
  .floating-contact{right:0;gap:6px}
  .floating-contact-item{width:52px;min-height:52px;border-radius:16px 0 0 16px}
  .floating-contact-item img{width:28px;height:28px}
}

@media (max-width: 900px) {
  .site-footer {
    padding-right: 24px;
    padding-left: 24px;
  }

  .site-footer-top {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 560px) {
  .site-footer-top {
    grid-template-columns: 1fr;
    padding-bottom: 34px;
  }

  .site-footer-bottom {
    display: block;
    min-height: 0;
    padding-top: 20px;
  }

  .site-footer-social { margin: 14px 0 4px; justify-content: flex-start; gap: 10px; }
  .site-footer-social a { width: 44px; height: 44px; border-radius: 9px; }
  .site-footer-social img { width: 22px; height: 22px; }
  .site-footer-social a:last-child img { width: 24px; height: 24px; }

  .site-footer-bottom span {
    display: block;
    margin-top: 9px;
  }
}
