/* Generiert aus integrations/peters-reisen/assets/module-layout.scss; nicht direkt bearbeiten. */
/* WordPress' html :where([style*=border-width]) erfasst auch unsere CSS-Variablen.
   Diese Wrapper reichen Rahmenstärken nur an Buttons bzw. optionale Panels weiter.
   Ohne eigenen Rahmenstil entsteht sonst ein unerwünschter Standardrahmen. */
.peters-content-slider,
.pvl-module.pvl-w12,
.pe-nl-consent--custom:not(.pe-nl-consent--panel) {
  border-style: none;
}

/* Ältere Peters-Module behalten ihren bisherigen äußeren Abstand. Peters Elemente
   nutzen die Abstände aus Beaver Builder → Advanced auf .fl-module-content. */
.fl-builder-content .fl-module-content:has(> :is(.peters-labor, .peters-teasers, .peters-content-slider)) {
  margin: 0 !important;
}

:is(.pe, .peters-labor, .peters-teasers, .peters-content-slider) {
  margin: 0 !important;
}

/* Bei voller Hintergrundbreite reicht nur die Section bis zum Viewportrand. */
:is(.pe.pe-bg-full, .pe.pe-wrap-full, .peters-labor.pl-bg-full, .peters-teasers.peters-bg-full, .peters-content-slider.peters-bg-full) {
  position: relative;
  left: 50%;
  translate: -50% 0;
  width: 100vw;
  max-width: none;
  margin: 0;
}

/* Theme-Container bleibt für den eigentlichen Inhalt maßgeblich. */
.peters-teasers.peters-bg-full {
  padding-inline: 0;
  border-radius: 0;
}

.peters-teasers.peters-bg-full .peters-teasers-inner {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--peters-module-content-width, 100%);
  margin-inline: auto;
  padding-inline: var(--peters-module-gutter, 20px);
}

.peters-content-slider.peters-bg-full .peters-slide {
  padding-inline: max(var(--peters-module-gutter, 20px), (100vw - var(--peters-module-content-width, 100vw)) / 2 + var(--peters-module-gutter, 20px));
}

.peters-content-slider.peters-bg-full .peters-slider-controls {
  left: max(var(--peters-module-gutter, 20px), (100vw - var(--peters-module-content-width, 100vw)) / 2 + var(--peters-module-gutter, 20px));
  right: max(var(--peters-module-gutter, 20px), (100vw - var(--peters-module-content-width, 100vw)) / 2 + var(--peters-module-gutter, 20px));
}

:is(.pe, .peters-labor, .peters-teasers, .peters-content-slider) {
  --peters-module-gutter: 20px;
  --peters-module-content-width: 100%;
}

@media (min-width: 576px) {
  :is(.pe, .peters-labor, .peters-teasers, .peters-content-slider) {
    --peters-module-gutter: 30px;
    --peters-module-content-width: 540px;
  }
}
@media (min-width: 768px) {
  :is(.pe, .peters-labor, .peters-teasers, .peters-content-slider) {
    --peters-module-content-width: 720px;
  }
}
@media (min-width: 992px) {
  :is(.pe, .peters-labor, .peters-teasers, .peters-content-slider) {
    --peters-module-content-width: 960px;
  }
}
@media (min-width: 1200px) {
  :is(.pe, .peters-labor, .peters-teasers, .peters-content-slider) {
    --peters-module-content-width: 1140px;
  }
}
@media (min-width: 1360px) {
  :is(.pe, .peters-labor, .peters-teasers, .peters-content-slider) {
    --peters-module-content-width: 1300px;
  }
}
@media (min-width: 1560px) {
  :is(.pe, .peters-labor, .peters-teasers, .peters-content-slider) {
    --peters-module-content-width: 1500px;
  }
}
#content-main:has(:is(.pe-bg-full, .pl-bg-full, .peters-bg-full)),
.content-main:has(:is(.pe-bg-full, .pl-bg-full, .peters-bg-full)) {
  overflow-x: clip;
  overflow-y: visible;
}
