/* Safe static replacement for the former Joomla runtime. */
html { scroll-behavior: smooth; }
body.preiss-menu-open { overflow: hidden; }
.sppb-slider-fullwidth-wrapper,
.sppb-slider-fullwidth-wrapper #slide-fullwidth,
.sppb-slider-fullwidth-wrapper .sppb-slideshow-fullwidth-item,
.sppb-slider-fullwidth-wrapper .sppb-slide-item-bg { height: 100vh !important; }
.sppb-slider-fullwidth-wrapper #slide-fullwidth { display: block !important; width: 100%; }
.owl-carousel .sppb-slideshow-fullwidth-item { display: none; }
.owl-carousel:not(.preiss-carousel-ready) .sppb-slideshow-fullwidth-item:first-child,
.owl-carousel .sppb-slideshow-fullwidth-item.preiss-slide-active { display: block; }
.owl-carousel .preiss-slide-active .sppb-slideshow-fullwidth-item-text { opacity: 1 !important; z-index: 999 !important; }
.offcanvas-menu { transition: transform .32s ease, visibility .32s ease; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .offcanvas-menu { transition: none; }
}

/* Header: restored company logo and right-aligned language controls. */
#sp-header .container,
#sp-header .row,
#sp-header #sp-logo,
#sp-header #sp-menu { height: 100%; }
#sp-header #sp-logo .sp-column,
#sp-header #sp-logo .logo,
#sp-header #sp-logo .logo > a {
  display: flex;
  height: 100%;
  align-items: center;
}
#sp-header .preiss-header-logo {
  display: block !important;
  width: 360px !important;
  max-width: 100% !important;
  height: auto !important;
  padding: 0 !important;
}
#sp-header #sp-menu > .sp-column {
  position: relative;
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: flex-end;
}
#sp-header #sp-menu .languageswitcher {
  position: absolute !important;
  top: 50% !important;
  right: 140px !important;
  display: flex !important;
  align-items: center;
  margin: 0 !important;
  transform: translateY(-50%);
}
#sp-header #sp-menu .languageswitcher a {
  margin: 0 3px !important;
  padding: 3px 7px !important;
}
#sp-header #offcanvas-toggler {
  display: inline-flex;
  float: none;
  flex-direction: row-reverse;
  gap: 10px;
  align-items: center;
  margin: 0;
}
#sp-header #offcanvas-toggler::after {
  position: static;
  right: auto;
  margin: 0;
  padding: 0;
}
html[lang^="en"] #offcanvas-toggler::after { content: 'menu'; }

@media (max-width: 767px) {
  #sp-header .preiss-header-logo { width: 240px !important; }
  #sp-header #sp-menu .languageswitcher {
    top: 50% !important;
    right: 48px !important;
  }
  #sp-header #sp-menu .languageswitcher a {
    margin: 0 !important;
    padding: 4px !important;
    transform: none !important;
  }
}
