/* ==========================================================================
   Hobbre — footer ("Straat")
   Brand rule: the Hobbre logo is never placed on a black background. The
   footer puts the original orange logo on a light surface.
   ========================================================================== */

.footer {
  position: relative;
  overflow: clip;
  color: var(--ink);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
.footer a { color: inherit; }
.footer__legal {
  font-size: 13px;
  font-weight: 600;
  color: #4d4640;
}

/* Shared: pill links */
.flinks {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.flinks a {
  display: inline-flex;
  padding: 11px 16px;
  border: var(--line);
  border-radius: var(--r-pill);
  background: var(--paper);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.032em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color .18s, transform .18s cubic-bezier(.3,1.6,.6,1);
}
.flinks a:hover { background: var(--sun); transform: rotate(-2deg); }
.flinks .flinks__cta a { background: var(--ink); color: var(--paper); }
.flinks .flinks__cta a:hover { background: #2a2724; }
.fcontact { font-weight: 600; }
.fcontact a { font-weight: 800; text-underline-offset: 3px; }

/* ---------- Straat: sky, big logo, houses that inflate on the pavement ---------- */

.footer--street { background: var(--sky); }
.fstreet__top {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
  max-width: var(--max);
  margin-inline: auto;
  padding: clamp(64px, 8vw, 112px) var(--gutter) 0;
  text-align: center;
}
.fstreet__logo { width: min(100%, 760px); }
.fstreet__line {
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 700;
}
.fstreet__street {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: clamp(6px, 1.2vw, 18px);
  height: clamp(120px, 15vw, 210px);
  margin-top: clamp(40px, 5vw, 72px);
  padding-inline: var(--gutter);
}
.fstreet__street img {
  height: 100%;
  width: auto;
  max-width: none;
  transform-origin: 50% 100%;
}
.fstreet__street.is-waiting img { opacity: 0; transform: scale(.55, .04); }
.fstreet__street.is-in img {
  animation: footer-inflate .95s cubic-bezier(.3,1.25,.5,1) both;
  animation-delay: calc(var(--i, 0) * 110ms);
}
.fstreet__pavement {
  padding: 18px var(--gutter) 22px;
  border-top: var(--line);
  background: var(--peach);
  text-align: center;
}

@keyframes footer-inflate {
  0%   { transform: scale(.55, .04); opacity: 0; }
  12%  { opacity: 1; }
  55%  { transform: scale(1.03, 1.08); }
  78%  { transform: scale(.99, .97); }
  100% { transform: none; opacity: 1; }
}

@media (max-width: 560px) {
  .fstreet__street img:nth-child(n + 5) { display: none; }
}
