.site-footer {
  overflow: hidden;
  background: var(--paper);
}

.footer-wave {
  position: relative;
  z-index: 1;
  height: var(--footer-wave-height);
  background: var(--paper);
}

.footer-wave-top-mirror .wave-svg {
  transform: scaleY(-1);
  transform-origin: center;
}

.footer-wave-top-main {
  margin-bottom: calc(var(--footer-wave-overlap-top) * -1);
}

.footer-wave-bottom {
  position: relative;
  z-index: 1;
  height: var(--footer-wave-height);
  background: var(--paper);
  margin-top: calc(var(--footer-wave-overlap-bottom) * -1);
}

.footer-about {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: var(--footer-logo-column-width) minmax(0, 1fr);
  gap: var(--footer-content-gap);
  align-items: center;
  padding-block: var(--footer-padding-top) var(--footer-padding-bottom);
}

.footer-about.shell-narrow {
  width: min(calc(100% - var(--shell-gutter)), var(--footer-content-width));
}

.footer-about img {
  width: var(--footer-logo-width);
  justify-self: end;
}

.footer-about h2 {
  margin-bottom: var(--space-sm);
  color: var(--aqua-deep);
  font-size: var(--footer-about-title-size);
}

.footer-about p {
  margin-bottom: var(--space-sm);
  font-size: var(--footer-about-copy-size);
  line-height: var(--line-height-body);
}

.snoutscoop-footer-about-content {
  max-width: 100%;
}

.footer-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--footer-social-gap);
  align-items: center;
}

.footer-social-links .snoutscoop-chip {
  display: inline-flex;
  width: var(--footer-social-size);
  height: var(--footer-social-size);
  align-items: center;
  justify-content: center;
  border-radius: var(--footer-social-radius);
  color: var(--paper);
  font-size: var(--footer-social-font-size);
  line-height: 1;
  text-decoration: none;
}

.footer-social-links .snoutscoop-chip i {
  display: block;
  color: inherit;
  font-size: inherit;
  line-height: 1;
}

.footer-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--footer-bottom-gap) var(--footer-bottom-menu-gap);
  border-top: 4px solid var(--orange);
  background: var(--aqua);
  padding: var(--space-sm) var(--space-md);
  color: var(--ink);
  font-size: var(--text-xs);
  text-align: center;
}

.footer-bottom > span {
  order: 2;
  flex-basis: 100%;
}

.footer-bottom-menu {
  order: 1;
  display: flex;
  flex-basis: 100%;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--footer-bottom-gap) var(--footer-bottom-menu-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-bottom-menu li {
  margin: 0;
  padding: 0;
}

.footer-bottom-menu a {
  color: var(--ink);
  font-weight: 700;
  text-decoration: none;
}

.footer-bottom-menu a:hover,
.footer-bottom-menu a:focus-visible {
  color: var(--orange-dark);
}


.back-to-top {
  position: fixed;
  right: 12px;
  bottom: calc(80px + env(safe-area-inset-bottom, 0px));
  z-index: 1150;
  display: flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border: var(--border-ink);
  border-radius: var(--radius-pill);
  color: var(--paper);
  background: var(--orange-dark);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
}

.back-to-top.show {
  opacity: 1;
  visibility: visible;
}

.back-to-top:hover {
  transform: translateY(-3px);
}
