/*
 * Ergänzungen zur statischen Kopie.
 * base.css und pages/*.css enthalten das unveränderte Original-CSS; hier stehen nur die Regeln
 * für Bausteine, die ohne die Laufzeit des früheren Baukastens neu umgesetzt wurden.
 */
:root {
  --wema-red: #e2001a;
  --wema-dark: #2d2727;
  --wema-gallery-arrow: 70px;
}

/* Hintergrund-Pan: Bildebene ist um den Pan-Faktor breiter und zentriert */
.wema-bgpan {
  width: calc(100% * var(--wema-pan-scale, 1.2)) !important;
  left: calc((1 - var(--wema-pan-scale, 1.2)) * 50%) !important;
  will-change: transform;
}

/* Bildergalerie der Startseite (ersetzt die Galerie des Originals) */
.wema-gallery {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.wema-gallery__viewport {
  width: 100%;
  height: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.wema-gallery__viewport::-webkit-scrollbar {
  display: none;
}
.wema-gallery__track {
  display: flex;
  height: 100%;
}
.wema-gallery__item {
  flex: 0 0 100%;
  height: 100%;
  overflow: hidden;
  scroll-snap-align: center;
  display: block;
  cursor: default;
}
a.wema-gallery__item {
  cursor: pointer;
}
/* Bildbereich = Elementhöhe minus 68 px leerer Info-Zeile (wie Pro Gallery "Slideshow") */
.wema-gallery__item img {
  display: block;
  width: 100%;
  height: calc(100% - 68px);
  object-fit: cover;
  user-select: none;
}
.wema-gallery__arrow {
  position: absolute;
  width: var(--wema-gallery-arrow);
  height: var(--wema-gallery-arrow);
  padding: 0;
  top: calc(50% - 69px);
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  cursor: pointer;
  opacity: .9;
  z-index: 2;
}
.wema-gallery__arrow:hover {
  opacity: 1;
}
.wema-gallery__arrow[hidden] {
  display: none;
}
.wema-gallery__arrow > div {
  width: var(--wema-gallery-arrow);
  height: var(--wema-gallery-arrow);
}
.wema-gallery__arrow img {
  display: block;
  width: 100%;
  height: 100%;
  transform-origin: center center;
  filter: drop-shadow(0 1px .15px #b2b2b2);
}
.wema-gallery__arrow--prev {
  left: 23px;
}
.wema-gallery__arrow--next {
  right: 23px;
}

/* Google-Karte (Über uns); Platzhalter bis zur Einwilligung */
.wema-map,
.wema-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Telefonfeld: Ländervorwahl-Liste unter dem Eingabefeld */
.wema-country-pop {
  position: absolute;
  top: 100%;
  /* gleicht den negativen Außenabstand von .sHGUinW aus, damit die Liste bündig unter dem Feld sitzt */
  left: calc(12px + var(--wix-forms-formInputBorderWidth, 0px));
  z-index: var(--portals-z-index, 1000);
}
[data-field-type="CONTACTS_PHONE"] {
  position: relative;
}

/* Bewerbungsformular: gewählte Dateien */
.wema-file-list {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
  font: var(--wix-forms-formParagraphFont, 16px/1.5 madefor-text, sans-serif);
  color: rgb(var(--wix-forms-formParagraphColor, 45, 39, 39));
}
.wema-file-list li {
  padding: 2px 0;
}
.wema-form-thanks {
  text-align: center;
  padding: 12px 0;
}

/* Formularversand: unsichtbares Spam-Fangfeld, Danke-Meldung und Fehlerhinweis */
.wema-hp {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.wema-form-thanks {
  margin: 0;
  padding-top: 16px;
  text-align: center;
  font: 16px/1.5 madefor-text, helveticaneuew01-45ligh, sans-serif;
  color: rgb(var(--wix-forms-formParagraphColor, 45, 39, 39));
}
/* gleiche Farbe wie die Feld-Fehlermeldungen (--wut-error-color ist nur innerhalb der Felder gesetzt) */
.wema-form-alert {
  --wut-error-color: rgb(223, 49, 49);
  justify-content: center;
  padding-top: 12px;
}
/* Ersatzweg bei Versandfehler: Mail im Mailprogramm des Besuchers öffnen */
.wema-form-mailto {
  margin: 12px 0 0;
  text-align: center;
}
.wema-form-mailto a {
  display: inline-block;
  padding: 8px 20px;
  border: 1px solid currentColor;
  font: 16px/1.5 madefor-text, helveticaneuew01-45ligh, sans-serif;
  color: rgb(var(--wix-forms-formParagraphColor, 45, 39, 39));
  text-decoration: none;
}
.wema-form-mailto a:hover,
.wema-form-mailto a:focus-visible {
  background: rgba(var(--wix-forms-formParagraphColor, 45, 39, 39), 0.08);
}

.wema-map__consent {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  height: 100%;
  padding: 24px;
  background: #f2f2f2;
  text-align: center;
  font: 14px/1.6 madefor-text, helveticaneuew01-45ligh, sans-serif;
  color: var(--wema-dark);
}
.wema-map__consent p {
  max-width: 520px;
  margin: 0;
}
.wema-map__consent a {
  color: inherit;
  text-decoration: underline;
}
.wema-map__btn {
  padding: 10px 28px;
  border: 0;
  border-radius: 999px;
  background: var(--wema-red);
  color: #fff;
  font: inherit;
  font-weight: 600;
  letter-spacing: .05em;
  cursor: pointer;
}
.wema-map__btn:hover {
  background: var(--wema-dark);
}

/* Fehlerseite 404.html */
.wema-404 {
  box-sizing: border-box;
  max-width: 760px;
  margin: 0 auto;
  padding: 160px 16px 120px;
  color: var(--wema-dark);
  font-family: madefor-text, helvetica-w01-light, sans-serif;
}
.wema-404__code {
  margin: 0;
  color: var(--wema-red);
  font-size: 72px;
  font-weight: 700;
  line-height: 1;
}
.wema-404__title {
  margin: 16px 0 12px;
  font-size: 32px;
  line-height: 1.25;
}
.wema-404__text {
  margin: 0 0 24px;
  font-size: 18px;
  line-height: 1.5;
}
.wema-404__links {
  margin: 0;
  padding-left: 20px;
  font-size: 18px;
  line-height: 1.9;
}
.wema-404__links a {
  color: var(--wema-red);
}
