/* WRS international footer layout — shared EN/DE/IT */

/* ── Main footer grid (4 columns on desktop) ── */
.site-footer__inner {
  gap: 1.5rem 2rem;
}

.site-footer__inner::after {
  display: none;
}

.site-footer__logos {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  margin-right: 0 !important;
  padding-bottom: 0 !important;
}

.site-footer__logo {
  margin-bottom: 0;
}

/* Contact column — override theme fixed 300px width */
.site-footer__contact.site-footer__contact--intl {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100% !important;
  min-width: 0;
  max-width: none;
}

.site-footer__contact--intl .site-footer__contact-entry {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
}

.site-footer__contact--intl .site-footer__contact-entry:not(:first-child) {
  margin-top: 1.25rem;
}

.site-footer__contact--intl .site-footer__contact-label {
  margin: 0;
  font-weight: 600;
  line-height: 1.3;
}

.site-footer__contact--intl .site-footer__contact-value {
  display: block;
  line-height: 1.5;
  text-decoration: none;
  min-width: 0;
  max-width: 100%;
}

.site-footer__contact--intl a.site-footer__contact-value:hover {
  text-decoration: underline;
}

.site-footer__contact-email {
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}

.site-footer__contact-address p {
  margin: 0 0 0.25rem;
}

.site-footer__contact-address p:last-child {
  margin-bottom: 0;
}

/* Nav columns — services + links */
.site-footer__navs {
  margin-bottom: 0 !important;
  width: 100% !important;
}

.site-footer__navs--services,
.site-footer__navs--links {
  padding-right: 1rem;
}

.site-footer__navs--services h4,
.site-footer__navs--links h4 {
  margin-bottom: 0.75rem;
}

.site-footer__navs--services ul > li:not(:first-child),
.site-footer__navs--links ul > li:not(:first-child) {
  margin-top: 0.625rem;
}

/* ── Bottom legal bar ── */
.site-footer__footer {
  align-items: flex-start;
  gap: 1rem 2rem;
  margin-top: 2.5rem !important;
  padding-top: 1.5rem !important;
  border-top: 1px solid hsla(0, 0%, 100%, 0.2);
}

.site-footer__footer-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-footer__footer-nav li {
  margin-right: 0 !important;
}

.site-footer__footer .wrs-lang-switcher--footer {
  margin-top: 0;
  flex-shrink: 0;
}

.site-footer__terms {
  opacity: 0.85;
  width: 100% !important;
  max-width: none;
  margin-top: 0 !important;
}

.site-footer__legal-line {
  opacity: 0.85;
}

/* ── Desktop: 4-column grid ── */
@media (min-width: 940px) {
  .site-footer__inner {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) minmax(220px, 1.35fr) minmax(180px, 1.15fr) minmax(130px, 0.85fr);
    column-gap: 2.5rem;
    row-gap: 2rem;
    align-items: start;
  }

  .site-footer__logos {
    grid-column: 1;
    grid-row: 1;
    order: unset;
  }

  .site-footer__contact.site-footer__contact--intl {
    grid-column: 2;
    grid-row: 1;
    order: unset;
  }

  .site-footer__navs {
    grid-column: 3 / -1;
    grid-row: 1;
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    column-gap: 2rem;
    order: unset;
    margin-top: 0 !important;
  }

  .site-footer__navs--services {
    max-width: none !important;
    width: auto;
  }

  .site-footer__navs--links {
    max-width: none !important;
    width: auto;
  }

  .site-footer__footer {
    grid-column: 1 / -1;
    grid-row: 2;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 2rem;
  }

  .site-footer__footer-nav {
    grid-column: 1;
    grid-row: 1;
  }

  .site-footer__footer .wrs-lang-switcher--footer {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    align-self: start;
  }

  .site-footer__terms {
    grid-column: 1 / -1;
    grid-row: 2;
    margin-top: 1.25rem !important;
    padding-top: 1rem;
    border-top: 1px solid hsla(0, 0%, 100%, 0.12);
  }
}

/* ── Mobile: stack columns ── */
@media (max-width: 939px) {
  .site-footer__inner {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
  }

  .site-footer__logos {
    order: 1;
    margin-right: auto;
  }

  .site-footer__contact.site-footer__contact--intl {
    order: 2;
    width: 100% !important;
  }

  .site-footer__navs {
    order: 3;
    margin-top: 0 !important;
    flex-direction: column;
    gap: 1.5rem;
  }

  .site-footer__navs--services,
  .site-footer__navs--links {
    max-width: none !important;
    padding-right: 0;
  }

  .site-footer__footer {
    order: 4;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
  }

  .site-footer__footer .wrs-lang-switcher--footer {
    width: 100%;
    padding-top: 0.25rem;
  }

  .site-footer__terms {
    padding-top: 0.75rem;
    border-top: 1px solid hsla(0, 0%, 100%, 0.12);
  }
}
