/* Keep content away from viewport edges without narrowing already padded
   sections or changing full-width backgrounds and nested column spacing. */
body {
  --alf-page-gutter: 16px;
}

/* Compact language control; retain the existing checkbox and language links. */
body aside.weglot-default {
  right: max(20px, env(safe-area-inset-right)) !important;
  bottom: max(20px, env(safe-area-inset-bottom)) !important;
  background: #fff !important;
  color: #202525 !important;
  border: 1px solid #e3e5e3;
  border-radius: 14px;
  box-shadow: 0 4px 20px #1720201f;
  z-index: 999;
  font-family: Arial, Helvetica, sans-serif;
  transition: box-shadow .18s ease;
}

body aside.weglot-default .wgcurrent,
body aside.weglot-default .wglanguage-name,
body aside.weglot-default a {
  color: #202525 !important;
  font-weight: 600;
}

body aside.weglot-default .wgcurrent {
  position: relative;
  border: 0;
  border-radius: 14px;
  cursor: pointer;
}

body aside.weglot-default .wgcurrent .wglanguage-name {
  height: 46px;
  line-height: 46px;
  padding: 0 38px 0 41px;
  font-size: 13px;
  letter-spacing: .06em;
}

body aside.weglot-default .wgcurrent:before {
  content: "";
  position: absolute;
  left: 15px;
  top: 14px;
  width: 18px;
  height: 18px;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23525d58' stroke-width='1.6'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cellipse cx='12' cy='12' rx='4' ry='9'/%3E%3Cpath d='M3 12h18'/%3E%3C/svg%3E");
  pointer-events: none;
}

body aside.weglot-default .wgcurrent:after {
  top: 17px;
  right: 17px;
  width: 7px;
  height: 7px;
  background: none;
  border-top: 1.5px solid #65706a;
  border-left: 1.5px solid #65706a;
  transform: rotate(45deg);
  image-rendering: auto;
}

body aside.weglot-default input:checked ~ .wgcurrent:after {
  transform: rotate(225deg);
}

body aside.weglot-default ul {
  top: auto !important;
  bottom: calc(100% + 8px) !important;
  margin: 0;
  padding: 5px;
  border: 1px solid #e3e5e3;
  border-radius: 12px;
  box-shadow: 0 6px 24px #17202021;
  overflow: hidden;
}

body aside.weglot-default ul a {
  height: 42px;
  line-height: 42px;
  padding: 0 14px;
  border-radius: 7px;
  font-size: 13px;
  letter-spacing: .04em;
  text-decoration: none;
}

body aside.weglot-default ul a:hover,
body aside.weglot-default ul a:focus-visible {
  color: #c90022 !important;
  background: #fff0f2;
}

body aside.weglot-default:hover,
body aside.weglot-default:focus-within {
  box-shadow: 0 6px 24px #1720202b;
}

body aside.weglot-default:focus-visible {
  outline: 2px solid #c90022;
  outline-offset: 4px;
}

@media (min-width: 768px) {
  body {
    --alf-page-gutter: 24px;
  }
}

.elementor .elementor-top-section > .elementor-container {
  width: min(100%, calc(100vw - 2 * var(--alf-page-gutter))) !important;
  margin-inline: auto;
}

/* These entrance animations move readable content outside the viewport.
   Keep the review heading and contact content in their final positions. */
.elementor-element-fa9a953 .elementor-element[data-settings*="animation"],
.elementor-494 .elementor-element[data-settings*="animation"] {
  animation: none !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* The scrollable review track must not widen its enclosing flex column. */
.elementor-element-fa9a953 .elementor-column,
.elementor-element-fa9a953 .elementor-widget-wrap,
.elementor-element-fa9a953 .elementor-widget,
.elementor-element-fa9a953 .elementor-widget-container {
  min-width: 0;
}
