.lang-switcher {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 8px;
  vertical-align: middle;
}

.lang-switcher-sep {
  color: rgba(255, 255, 255, 0.5);
  font-size: 12px;
  padding: 0 2px;
}

.lang-switcher-btn {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.45);
  color: #fff;
  cursor: pointer;
  font-family: inherit;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.2px;
  line-height: 1;
  padding: 3px 5px;
  transition: background 0.2s, border-color 0.2s;
}

.lang-switcher-btn:hover,
.lang-switcher-btn:focus {
  background: rgba(255, 255, 255, 0.12);
  border-color: #fff;
  color: #fff;
  outline: none;
}

.lang-switcher-btn.is-active {
  background: #ed2027;
  border-color: #ed2027;
  color: #fff;
}

@media only screen and (min-width: 768px) {
  .lang-switcher--mobile {
    display: none !important;
  }
}

@media only screen and (max-width: 767px) {
  #r3351 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  #r3351 > .container {
    padding-top: 0;
    padding-bottom: 0;
  }

  #r3351 #c7749 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  #c7749 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  #m1525 {
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }

  #m1525 .custom1 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0;
    padding: 0 12px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .lang-switcher-mobile-left {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    flex-shrink: 0;
  }

  .lang-switcher--desktop {
    display: none !important;
  }

  .lang-switcher--mobile {
    margin-left: auto;
    flex-shrink: 0;
    gap: 3px;
  }

  .lang-switcher--mobile .lang-switcher-btn {
    font-size: 9px;
    padding: 3px 5px;
  }

  .lang-switcher--mobile .lang-switcher-sep {
    font-size: 10px;
  }
}

/* Footer & contact social links — vertical stack, fix brand icons */
#m2499 p.custom9,
footer p.custom9 {
  display: block;
  text-align: right;
}

#m2499 p.custom9 a,
footer p.custom9 a {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-bottom: 6px;
  white-space: nowrap;
  width: 100%;
}

#m2499 p.custom9 a:last-child,
footer p.custom9 a:last-child {
  margin-bottom: 0;
}

p.custom9 .fab.fa-linkedin,
p.custom9 .fab.fa-tiktok,
p.custom9 .fab.fa-facebook,
p.custom9 .fab.fa-instagram,
.module.socialmedia .fab,
.module.socialmedia .fa {
  font-family: "Font Awesome 6 Brands" !important;
  font-weight: 400 !important;
  font-size: 24px !important;
  min-width: 0;
  line-height: 36px !important;
}

/* Heading and icons must not sit on the same flex row */
#p5450 #m4009 {
  flex: 1 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-bottom: 12px !important;
}

/* Keep social block under contacts instead of pushing it onto the map */
#p5450 #m1407.autospacer {
  display: none !important;
  flex: 0 0 0 !important;
  height: 0 !important;
  min-height: 0 !important;
}

#p5450 #c1419.flexCol {
  justify-content: flex-start !important;
}

#p5450 #c1419 {
  overflow: visible !important;
  padding-bottom: 24px !important;
}

#p5450 #c1419 .flexWrap:has(#m2179),
#p5450 #c1419 .ppost-social-block {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  width: 100% !important;
  min-height: 110px !important;
  height: auto !important;
  overflow: visible !important;
  margin-bottom: 8px !important;
}

.module.socialmedia,
#p5450 #m2179.module.socialmedia {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 16px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 24px 0 !important;
  min-height: 36px !important;
  height: auto !important;
  letter-spacing: 0 !important;
  word-spacing: 0 !important;
  float: none !important;
  width: auto !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
}

.module.socialmedia li,
#p5450 #m2179.module.socialmedia li {
  display: flex !important;
  float: none !important;
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 36px !important;
  height: 36px !important;
  flex: 0 0 36px !important;
  letter-spacing: 0 !important;
  word-spacing: 0 !important;
  line-height: 36px !important;
  vertical-align: top !important;
  align-self: center !important;
}

.module.socialmedia li a,
#p5450 #m2179.module.socialmedia li a {
  display: flex !important;
  position: relative !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  text-align: center !important;
  overflow: visible !important;
}

.module.socialmedia li a span,
.module.socialmedia li a .fa,
.module.socialmedia li a .fab,
#p5450 #m2179.module.socialmedia li a span,
#p5450 #m2179 .ppost-soc-icon {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  line-height: 0 !important;
  text-align: center !important;
  font-size: 24px !important;
  transform: none !important;
}

.module.socialmedia li a span:before,
.module.socialmedia li a .fa:before,
.module.socialmedia li a .fab:before,
#p5450 #m2179.module.socialmedia li a span:before {
  content: none !important;
  display: none !important;
}

#p5450 #m2179 .ppost-soc-icon svg {
  display: block !important;
  width: 24px !important;
  height: 24px !important;
  flex: 0 0 24px !important;
  overflow: visible !important;
}

@media only screen and (max-width: 767px) {
  #m2499 p.custom9,
  footer p.custom9 {
    text-align: left;
  }

  #m2499 p.custom9 a,
  footer p.custom9 a {
    justify-content: flex-start;
  }
}
