.site-footer {
  position: relative;
  background: var(--color-primary);
  color: var(--color-surface);
  margin-top: var(--space-16);
  overflow: hidden;
}

.footer-wave {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 60px;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 60"><path fill="%23F5FCFC" fill-opacity="1" d="M0,32L48,37.3C96,43,192,53,288,48C384,43,480,21,576,16C672,11,768,21,864,32C960,43,1056,53,1152,48C1248,43,1344,21,1392,10.7L1440,0L1440,60L1392,60C1344,60,1248,60,1152,60C1056,60,960,60,864,60C768,60,672,60,576,60C480,60,384,60,288,60C192,60,96,60,48,60L0,60Z"></path></svg>') no-repeat center bottom;
  background-size: cover;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
  padding-top: var(--space-10);
  padding-bottom: var(--space-8);
}

@media (min-width: 768px) {
  .footer-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .footer-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.footer-section {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.footer-logo {
  width: 150px;
  height: auto;
  transition: transform var(--duration-normal) var(--ease-default);
}

.footer-logo:hover {
  transform: scale(1.05);
}

@media (min-width: 768px) {
  .footer-logo {
    width: 180px;
  }
}

.footer-description {
  font-size: var(--text-sm);
  line-height: var(--leading-relaxed);
  color: var(--color-accent-light);
  margin: 0;
}

.footer-heading {
  font-size: var(--text-lg);
  font-weight: 600;
  margin: 0;
  position: relative;
  padding-bottom: var(--space-3);
}

.footer-heading::after {
  content: '';
  position: absolute;
  bottom: 0;
  inset-inline-start: 0;
  width: 40px;
  height: 2px;
  background: var(--color-accent);
}

.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.footer-links li a {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-accent-light);
  font-size: var(--text-sm);
  text-decoration: none;
  transition: all var(--duration-fast) var(--ease-default);
}

.footer-links li a:hover {
  color: var(--color-accent);
  transform: translateX(4px);
}

.footer-links li a i {
  font-size: var(--text-xs);
}

.contact-info {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.contact-link {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  color: var(--color-accent-light);
  font-size: var(--text-sm);
  text-decoration: none;
  transition: color var(--duration-fast) var(--ease-default);
}

.contact-link:hover {
  color: var(--color-accent);
}

.contact-link i {
  font-size: var(--text-lg);
}

.social-links {
  display: flex;
  gap: var(--space-3);
}

.social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.1);
  color: var(--color-accent-light);
  border-radius: var(--radius-md);
  font-size: var(--text-lg);
  text-decoration: none;
  transition: all var(--duration-fast) var(--ease-default);
}

.social-link:hover {
  background: var(--color-accent);
  color: var(--color-surface);
  transform: translateY(-2px);
}

.footer-bottom {
  padding-top: var(--space-6);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  text-align: center;
}

.copyright {
  font-size: var(--text-sm);
  color: var(--color-accent-light);
  margin: 0;
}
