.elementor-widget-container .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-container .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-4630 .elementor-element.elementor-element-fe58f174{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--overlay-opacity:0.42;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4630 .elementor-element.elementor-element-fe58f174:not(.elementor-motion-effects-element-type-background), .elementor-4630 .elementor-element.elementor-element-fe58f174 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://bagno-mainz.de/wp-content/uploads/2026/07/showroom-wide.jpg");background-position:50% 42%;background-repeat:no-repeat;background-size:cover;}.elementor-4630 .elementor-element.elementor-element-fe58f174::before, .elementor-4630 .elementor-element.elementor-element-fe58f174 > .elementor-background-video-container::before, .elementor-4630 .elementor-element.elementor-element-fe58f174 > .e-con-inner > .elementor-background-video-container::before, .elementor-4630 .elementor-element.elementor-element-fe58f174 > .elementor-background-slideshow::before, .elementor-4630 .elementor-element.elementor-element-fe58f174 > .e-con-inner > .elementor-background-slideshow::before, .elementor-4630 .elementor-element.elementor-element-fe58f174 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-eb4fefb );--background-overlay:'';}.elementor-4630 .elementor-element.elementor-element-3bab64a3{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-4630 .elementor-element.elementor-element-eae38d5c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-heading .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-4630 .elementor-element.elementor-element-36745c7b .elementor-heading-title{color:var( --e-global-color-43d15c4 );}.elementor-4630 .elementor-element.elementor-element-b8a74fd0 .elementor-heading-title{color:var( --e-global-color-43d15c4 );}.elementor-4630 .elementor-element.elementor-element-9d2ff373 .elementor-heading-title{color:var( --e-global-color-43d15c4 );}.elementor-widget-text-editor .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-text-editor .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-4630 .elementor-element.elementor-element-be475ebb{color:var( --e-global-color-4c17e0d );}.elementor-widget-icon-list .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-icon-list .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-4630 .elementor-element.elementor-element-9ae812d9 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(0px/2);}.elementor-4630 .elementor-element.elementor-element-9ae812d9 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(0px/2);}.elementor-4630 .elementor-element.elementor-element-9ae812d9 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(0px/2);}.elementor-4630 .elementor-element.elementor-element-9ae812d9 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-0px/2);}.elementor-4630 .elementor-element.elementor-element-9ae812d9 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-0px/2);}.elementor-4630 .elementor-element.elementor-element-9ae812d9 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-4630 .elementor-element.elementor-element-9ae812d9 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-4630 .elementor-element.elementor-element-9ae812d9{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-4630 .elementor-element.elementor-element-9ae812d9 .elementor-icon-list-text{color:var( --e-global-color-43d15c4 );transition:color 0.3s;}.elementor-4630 .elementor-element.elementor-element-38f69ab5{color:var( --e-global-color-4c17e0d );}.elementor-4630 .elementor-element.elementor-element-cf7ddf27{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-4630 .elementor-element.elementor-element-54ea10b0 .elementor-heading-title{color:var( --e-global-color-secondary );}.elementor-4630 .elementor-element.elementor-element-1225a960 .elementor-heading-title{color:var( --e-global-color-43d15c4 );}.elementor-4630 .elementor-element.elementor-element-cf55fe40 .elementor-heading-title{color:var( --e-global-color-4c17e0d );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-button .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-button .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-4630 .elementor-element.elementor-element-2cf52e09 .elementor-button{background-color:var( --e-global-color-secondary );fill:var( --e-global-color-43d15c4 );color:var( --e-global-color-43d15c4 );}.elementor-4630 .elementor-element.elementor-element-1c51c060{color:var( --e-global-color-4c17e0d );}.elementor-4630 .elementor-element.elementor-element-d449400c .elementor-button{fill:var( --e-global-color-4c17e0d );color:var( --e-global-color-4c17e0d );}.elementor-4630 .elementor-element.elementor-element-8e7e1311 .elementor-heading-title{color:var( --e-global-color-4c17e0d );}#elementor-popup-modal-4630 .dialog-widget-content{animation-duration:0.7s;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}#elementor-popup-modal-4630 .dialog-message{width:1060px;height:auto;}#elementor-popup-modal-4630{justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-4630 .dialog-close-button{display:flex;background-color:var( --e-global-color-primary );font-size:20px;}#elementor-popup-modal-4630 .dialog-close-button i{color:var( --e-global-color-43d15c4 );}#elementor-popup-modal-4630 .dialog-close-button svg{fill:var( --e-global-color-43d15c4 );}#elementor-popup-modal-4630 .dialog-close-button:hover i{color:var( --e-global-color-43d15c4 );}#elementor-popup-modal-4630 .dialog-close-button:hover{background-color:var( --e-global-color-secondary );}@media(max-width:1024px){.elementor-4630 .elementor-element.elementor-element-fe58f174:not(.elementor-motion-effects-element-type-background), .elementor-4630 .elementor-element.elementor-element-fe58f174 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:0px 0px;}.elementor-4630 .elementor-element.elementor-element-fe58f174{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-4630 .elementor-element.elementor-element-3bab64a3{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-4630 .elementor-element.elementor-element-fe58f174:not(.elementor-motion-effects-element-type-background), .elementor-4630 .elementor-element.elementor-element-fe58f174 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://bagno-mainz.de/wp-content/uploads/2026/07/showroom-portrait.jpg");background-position:0px 30%;}.elementor-4630 .elementor-element.elementor-element-fe58f174{--width:100%;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}#elementor-popup-modal-4630 .dialog-close-button{font-size:20px;}}/* Start custom CSS *//* ============================================================================
   Bagno Badstudio Mainz — Popup „Planungswoche" 03.–07. August 2026
   1:1-Port von Mockups/v3-kinematisch.html

   ANKER: .bagno-pw  — kommt aus dem Popup-Setting "classes" und landet auf der
   aeusseren Modal-Huelle. Deshalb ist dieses CSS post-ID-unabhaengig.

   SPEZIFITAET: Jede Regel beginnt mit .bagno-pw und adressiert Element-Wrapper
   als .elementor-element.<hook>. Elementors generierte Widget-Regeln liegen bei
   (0,3,0)/(0,4,0); Custom CSS wird ans Ende derselben post-<id>.css gehaengt und
   gewinnt bei Gleichstand durch die Reihenfolge. Kein einziges !important noetig.

   FARBEN: keine Hex-Werte. Alle Markenfarben kommen aus den Kit-Variablen von
   .elementor-kit-6 (liegt auf <body>, das Modal ist ein Body-Kind).
   Alphawerte davon per color-mix(), mit rgba()-Fallbackzeile davor.

   KEINE BACKSLASHES in dieser Datei — WordPress fuehrt Meta durch
   wp_slash/stripslashes. Das Skript prueft das per assert.
   ============================================================================ */

/* ---------------------------------------------------------------------------
   Lichtwerte des Schleiers. Bewusst KEINE Kit-Globals: das sind
   Beleuchtungstoene, keine Markenfarben — als Globals wuerden sie in der
   Farbpalette jedes anderen Widgets auftauchen. Alle an einer Stelle, benannt,
   damit im Regelwerk darunter keine Magic Numbers stehen.
   --------------------------------------------------------------------------- */
.bagno-pw {
  --pw-veil-a1: rgba(2, 13, 17, 0.97);
  --pw-veil-a2: rgba(4, 27, 34, 0.90);
  --pw-veil-a3: rgba(8, 48, 59, 0.66);
  --pw-veil-a5: rgba(6, 30, 38, 0.30);
  --pw-veil-b1: rgba(1, 9, 12, 0.96);
  --pw-veil-b2: rgba(2, 12, 16, 0.72);
  --pw-veil-b3: rgba(3, 15, 19, 0.28);
  --pw-vignette: rgba(0, 0, 0, 0.45);
  --pw-rail-foot: rgba(2, 11, 14, 0.60);
  --pw-close-bg: rgba(3, 15, 19, 0.55);
  --pw-scrim: rgba(6, 22, 27, 0.62);
}

/* ---------------------------------------------------------------------------
   Backdrop hinter dem Popup.
   Elementor liefert per Default KEINEN: popup.min.css setzt
   .elementor-popup-modal.dialog-type-lightbox{background-color:transparent}.
   Der Selektor hier hat dieselbe Spezifitaet (0,2,0) und laedt spaeter —
   gewinnt also ohne !important und ohne die Post-ID zu kennen.
   --------------------------------------------------------------------------- */
.elementor-popup-modal.bagno-pw {
  background-color: var(--pw-scrim);
}

/* ---------------------------------------------------------------------------
   Modal-Huelle
   --------------------------------------------------------------------------- */
/* Die Groessen-Kette.

   Elementor emittiert #elementor-popup-modal-<id> .dialog-message{width;height:auto}
   — eine ID-Regel, gegen die keine Klassenregel ankommt. Die Hoehe muss also
   von aussen kommen. min-/max-height belegt Elementor nicht, beide zusammen
   klemmen die Hoehe fest.

   Danach genau EINE Flex-Stufe: .dialog-message als Flex-Item bekommt dadurch
   eine aufloesbare Hoehe. Alles darunter ist absolut positioniert — das
   umgeht Prozenthoehen, die sich gegen einen auto-hohen Vorfahren nicht
   aufloesen lassen. Genau daran ist die erste Fassung kollabiert. */
.bagno-pw .dialog-widget-content {
  position: relative;
  display: flex;
  overflow: hidden;
  border-radius: 0;
  width: 1060px;
  max-width: 100%;
  min-height: 660px;
  max-height: 660px;
  background: var(--e-global-color-eb4fefb);
  box-shadow: 0 40px 90px rgba(0, 0, 0, 0.55);
}

/* Die eine Flex-Stufe: gibt .dialog-message eine definite Hoehe. */
.bagno-pw .dialog-message {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  padding: 0;
}

/* Elementors Dokument-Wrapper zwischen .dialog-message und den Containern. */
.bagno-pw .elementor-location-popup {
  position: absolute;
  inset: 0;
}

/* ---------------------------------------------------------------------------
   Ebene 0 — Foto + Ken Burns
   Ebene 1 (.tint) ist das native Elementor-Overlay auf diesem Container.
   --------------------------------------------------------------------------- */
@keyframes pw-drift {
  from { transform: scale(1.07); }
  to   { transform: scale(1.02); }
}

.bagno-pw .elementor-element.pw-photo {
  position: absolute;
  inset: 0;
  z-index: 1;
  padding: 0;
  transform: scale(1.02);
  animation: pw-drift 22s ease-out both;
  will-change: transform;
}

/* Absicherung, falls background_overlay_blend_mode in 4.2 nicht greift.
   Elementors Container-Overlay ist ::before. */
.bagno-pw .elementor-element.pw-photo::before {
  mix-blend-mode: multiply;
}

/* ---------------------------------------------------------------------------
   Ebenen 2–4 — .veil (zwei Verlaeufe) + .vignette + .light-edge
   Alle drei ohne eigenen Blend-Mode, deshalb als vier background-image-Layer
   auf EINEM Pseudo-Element. Zuerst genannt = oben gemalt.
   Reihenfolge hier: light-edge, vignette, veil-A (76deg), veil-B (to top).
   --------------------------------------------------------------------------- */
.bagno-pw .dialog-message::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;

  background-image:
    linear-gradient(90deg,
      rgba(230, 243, 247, 0) 0%,
      rgba(230, 243, 247, 0.45) 30%,
      rgba(137, 195, 212, 0.55) 55%,
      rgba(230, 243, 247, 0) 100%),
    radial-gradient(ellipse 120% 100% at 58% 38%,
      rgba(0, 0, 0, 0) 52%,
      var(--pw-vignette) 100%),
    linear-gradient(76deg,
      var(--pw-veil-a1) 0%,
      var(--pw-veil-a2) 24%,
      var(--pw-veil-a3) 46%,
      rgba(19, 101, 121, 0.28) 68%,
      var(--pw-veil-a5) 100%),
    linear-gradient(to top,
      var(--pw-veil-b1) 0%,
      var(--pw-veil-b2) 28%,
      var(--pw-veil-b3) 56%,
      rgba(0, 0, 0, 0) 74%);

  background-image:
    linear-gradient(90deg,
      color-mix(in srgb, var(--e-global-color-4c17e0d) 0%, transparent) 0%,
      color-mix(in srgb, var(--e-global-color-4c17e0d) 45%, transparent) 30%,
      color-mix(in srgb, var(--e-global-color-secondary) 55%, transparent) 55%,
      color-mix(in srgb, var(--e-global-color-4c17e0d) 0%, transparent) 100%),
    radial-gradient(ellipse 120% 100% at 58% 38%,
      rgba(0, 0, 0, 0) 52%,
      var(--pw-vignette) 100%),
    linear-gradient(76deg,
      var(--pw-veil-a1) 0%,
      var(--pw-veil-a2) 24%,
      var(--pw-veil-a3) 46%,
      color-mix(in srgb, var(--e-global-color-eb4fefb) 28%, transparent) 68%,
      var(--pw-veil-a5) 100%),
    linear-gradient(to top,
      var(--pw-veil-b1) 0%,
      var(--pw-veil-b2) 28%,
      var(--pw-veil-b3) 56%,
      rgba(0, 0, 0, 0) 74%);

  background-size: 100% 1px, 100% 100%, 100% 100%, 100% 100%;
  background-position: 0 0, 0 0, 0 0, 0 0;
  background-repeat: no-repeat;
}

/* ---------------------------------------------------------------------------
   Ebene 5 — Filmkorn. Braucht ein eigenes Element, weil mix-blend-mode
   elementweit gilt. SVG als Data-URI, nur %-Escapes, keine Backslashes.
   --------------------------------------------------------------------------- */
.bagno-pw .dialog-message::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  opacity: 0.07;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='k'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23k)'/%3E%3C/svg%3E");
  background-size: 240px 240px;
  background-repeat: repeat;
}

/* ---------------------------------------------------------------------------
   Schliessen-Button
   --------------------------------------------------------------------------- */
.bagno-pw .dialog-close-button {
  top: 14px;
  right: 14px;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--pw-close-bg);
  border: 1px solid rgba(230, 243, 247, 0.35);
  border: 1px solid color-mix(in srgb, var(--e-global-color-4c17e0d) 35%, transparent);
  border-radius: 0;
  transition: background 0.2s ease;
  z-index: 5;
}

.bagno-pw .dialog-close-button:hover,
.bagno-pw .dialog-close-button:focus-visible {
  background: rgba(0, 123, 147, 0.75);
  background: color-mix(in srgb, var(--e-global-color-primary) 75%, transparent);
}

.bagno-pw .dialog-close-button:focus-visible {
  outline: 2px solid var(--e-global-color-secondary);
  outline-offset: 2px;
}

/* ---------------------------------------------------------------------------
   Inhalt — das Grid
   --------------------------------------------------------------------------- */
.bagno-pw .elementor-element.pw-content {
  position: absolute;
  inset: 0;
  z-index: 4;
  display: grid;
  grid-template-columns: 1fr 316px;
  grid-template-rows: 1fr auto;
  column-gap: 52px;
  align-items: end;
  padding: 48px 52px 30px;
  overflow-y: auto;
  color: var(--e-global-color-43d15c4);
}

.bagno-pw .elementor-element.pw-stage {
  max-width: 560px;
}

/* ---------------------------------------------------------------------------
   Linke Buehne — Typo-Stack
   Elementors Widget-Wrapper tragen die Hook-Klasse, die Textknoten liegen je
   nach Widget in .elementor-heading-title bzw. .elementor-widget-container.
   --------------------------------------------------------------------------- */
.bagno-pw .elementor-element.pw-eyebrow .elementor-heading-title {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 4.62px; /* 0.42em bei 11px */
  text-transform: uppercase;
  color: var(--e-global-color-secondary);
}
.bagno-pw .elementor-element.pw-eyebrow {
  margin-bottom: 14px;
}

/* Farben stehen hier zusaetzlich zu den __globals__ der Widget-Settings:
   Kit-Regeln wie .elementor-kit-6 h2{color:primary} greifen sonst, sobald
   Elementors Widget-CSS mal nicht kompiliert ist. Gleicher Wert, gleiche
   Quelle (Kit-Variable) — nur nicht mehr allein davon abhaengig. */
.bagno-pw .elementor-element.pw-date .elementor-heading-title {
  font-size: 58px;
  font-weight: 200;
  letter-spacing: 0.87px; /* 0.015em bei 58px */
  line-height: 1.02;
  color: var(--e-global-color-43d15c4);
  text-wrap: balance;
}
.bagno-pw .elementor-element.pw-date {
  margin-bottom: 30px;
}
.bagno-pw .elementor-element.pw-date .elementor-heading-title strong {
  display: block;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 2.8px; /* 0.14em bei 20px */
  line-height: 1.2;
  margin-top: 8px;
}

.bagno-pw .elementor-element.pw-headline .elementor-heading-title {
  font-size: 33px;
  font-weight: 200;
  line-height: 1.22;
  color: var(--e-global-color-43d15c4);
  text-wrap: balance;
}
.bagno-pw .elementor-element.pw-headline {
  margin-bottom: 14px;
}
.bagno-pw .elementor-element.pw-headline .elementor-heading-title b {
  font-weight: 800;
}

.bagno-pw .elementor-element.pw-subline {
  margin-bottom: 24px;
}
/* max-width in ch gehoert auf dasselbe Element wie die font-size — sonst
   rechnet ch mit der geerbten Groesse des Wrappers statt mit 15px. */
.bagno-pw .elementor-element.pw-subline .elementor-widget-container {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.6;
  max-width: 44ch;
  color: var(--e-global-color-4c17e0d);
}

/* Die drei Punkte — icon-list ohne Icons, der Strich kommt als ::before */
.bagno-pw .elementor-element.pw-points {
  margin-bottom: 22px;
}
.bagno-pw .elementor-element.pw-points .elementor-icon-list-items {
  list-style: none;
  padding: 0;
  margin: 0;
}
.bagno-pw .elementor-element.pw-points .elementor-icon-list-item {
  display: flex;
  align-items: baseline;
  gap: 14px;
  padding: 4px 0;
  margin: 0;
}
.bagno-pw .elementor-element.pw-points .elementor-icon-list-item::before {
  content: "";
  flex: none;
  width: 18px;
  height: 1px;
  background: var(--e-global-color-secondary);
  transform: translateY(-4px);
}
.bagno-pw .elementor-element.pw-points .elementor-icon-list-icon {
  display: none;
}
.bagno-pw .elementor-element.pw-points .elementor-icon-list-text {
  font-size: 14.5px;
  font-weight: 500;
  line-height: 1.5;
  color: var(--e-global-color-43d15c4);
  padding: 0;
}

.bagno-pw .elementor-element.pw-hint {
  border-left: 1px solid rgba(137, 195, 212, 0.55);
  border-left: 1px solid color-mix(in srgb, var(--e-global-color-secondary) 55%, transparent);
  padding-left: 14px;
}
.bagno-pw .elementor-element.pw-hint .elementor-widget-container {
  font-size: 13px;
  font-weight: 300;
  line-height: 1.6;
  max-width: 46ch;
  color: var(--e-global-color-4c17e0d);
}
.bagno-pw .elementor-element.pw-hint b {
  font-weight: 800;
  color: var(--e-global-color-43d15c4);
}

/* ---------------------------------------------------------------------------
   Rechte Leiste — Fakten ohne Kasten
   --------------------------------------------------------------------------- */
.bagno-pw .elementor-element.pw-rail {
  position: relative;
  padding: 26px 0 0 30px;
  background: linear-gradient(to top, var(--pw-rail-foot), rgba(3, 15, 19, 0) 92%);
}

.bagno-pw .elementor-element.pw-rail::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 1px;
  background: linear-gradient(to bottom,
    rgba(230, 243, 247, 0) 0%,
    rgba(230, 243, 247, 0.5) 22%,
    rgba(137, 195, 212, 0.5) 70%,
    rgba(230, 243, 247, 0.08) 100%);
}

.bagno-pw .elementor-element.pw-rail-label .elementor-heading-title {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 3.8px; /* 0.38em bei 10px */
  text-transform: uppercase;
  color: var(--e-global-color-secondary);
}
.bagno-pw .elementor-element.pw-rail-label {
  margin-bottom: 12px;
}

.bagno-pw .elementor-element.pw-rail-address .elementor-heading-title {
  font-size: 17px;
  font-weight: 800;
  line-height: 1.45;
  color: var(--e-global-color-43d15c4);
}
.bagno-pw .elementor-element.pw-rail-address {
  margin-bottom: 4px;
}

.bagno-pw .elementor-element.pw-rail-hours .elementor-heading-title {
  font-size: 13.5px;
  font-weight: 300;
  line-height: 1.55;
  color: var(--e-global-color-4c17e0d);
}
.bagno-pw .elementor-element.pw-rail-hours {
  margin-bottom: 24px;
}

/* CTA */
.bagno-pw .elementor-element.pw-cta .elementor-button {
  display: inline-block;
  background-color: var(--e-global-color-secondary);
  background-image: none;
  color: var(--e-global-color-43d15c4);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.3px; /* 0.02em bei 15px */
  line-height: 1.36;
  text-align: center;
  padding: 16px 36px;
  border: none;
  border-radius: 52px;
  transition: background 0.25s ease;
}
.bagno-pw .elementor-element.pw-cta .elementor-button:hover,
.bagno-pw .elementor-element.pw-cta .elementor-button:focus-visible {
  background-image: linear-gradient(115deg,
    var(--e-global-color-primary) 0%,
    var(--e-global-color-8da9271) 100%);
  color: var(--e-global-color-43d15c4);
}
.bagno-pw .elementor-element.pw-cta .elementor-button:focus-visible {
  outline: 2px solid var(--e-global-color-4c17e0d);
  outline-offset: 3px;
}

/* Telefonzeile */
.bagno-pw .elementor-element.pw-phone {
  margin-top: 12px;
}
.bagno-pw .elementor-element.pw-phone .elementor-widget-container {
  font-size: 13px;
  font-weight: 300;
  color: var(--e-global-color-4c17e0d);
}
.bagno-pw .elementor-element.pw-phone a {
  color: var(--e-global-color-43d15c4);
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px solid rgba(137, 195, 212, 0.6);
  border-bottom: 1px solid color-mix(in srgb, var(--e-global-color-secondary) 60%, transparent);
}

/* Sekundaerlink — Button-Widget, zum Textlink entstylt */
.bagno-pw .elementor-element.pw-secondary {
  margin-top: 18px;
}
.bagno-pw .elementor-element.pw-secondary .elementor-button {
  display: inline-block;
  background: none;
  background-color: transparent;
  background-image: none;
  border: none;
  border-radius: 0;
  padding: 0 0 2px;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--e-global-color-4c17e0d);
  text-decoration: none;
  border-bottom: 1px solid rgba(230, 243, 247, 0.4);
  border-bottom: 1px solid color-mix(in srgb, var(--e-global-color-4c17e0d) 40%, transparent);
  transition: color 0.2s ease, border-color 0.2s ease;
}
.bagno-pw .elementor-element.pw-secondary .elementor-button:hover,
.bagno-pw .elementor-element.pw-secondary .elementor-button:focus-visible {
  background: none;
  background-color: transparent;
  color: var(--e-global-color-43d15c4);
  border-bottom-color: var(--e-global-color-secondary);
}
.bagno-pw .elementor-element.pw-secondary .elementor-button:focus-visible {
  outline: 2px solid var(--e-global-color-secondary);
  outline-offset: 3px;
}

/* ---------------------------------------------------------------------------
   Fusszeile / Abspann — spannt ueber beide Grid-Spalten
   --------------------------------------------------------------------------- */
.bagno-pw .elementor-element.pw-credits {
  grid-column: 1 / -1;
  margin-top: 26px;
  padding-top: 12px;
  border-top: 1px solid rgba(230, 243, 247, 0.22);
  border-top: 1px solid color-mix(in srgb, var(--e-global-color-4c17e0d) 22%, transparent);
}
.bagno-pw .elementor-element.pw-credits .elementor-heading-title {
  font-size: 11px;
  font-weight: 300;
  letter-spacing: 0.88px; /* 0.08em bei 11px */
  text-transform: uppercase;
  color: var(--e-global-color-4c17e0d);
}

/* ---------------------------------------------------------------------------
   Gestaffelte Einblendung
   Der Popup-Inhalt wird von Elementor Pro beim Page-Load aus dem DOM genommen
   und beim Oeffnen aus einem HTML-String neu eingehaengt — die Animationen
   starten dadurch beim Oeffnen, nicht beim Seitenaufruf. Kein JS noetig.
   --------------------------------------------------------------------------- */
@keyframes pw-rise {
  to { opacity: 1; transform: translateY(0); }
}

.bagno-pw .pw-reveal {
  opacity: 0;
  transform: translateY(16px);
  animation: pw-rise 0.85s cubic-bezier(0.2, 0.65, 0.25, 1) forwards;
}

.bagno-pw .pw-d1 { animation-delay: 0.45s; }
.bagno-pw .pw-d2 { animation-delay: 0.60s; }
.bagno-pw .pw-d3 { animation-delay: 0.75s; }
.bagno-pw .pw-d4 { animation-delay: 0.90s; }
.bagno-pw .pw-d5 { animation-delay: 1.05s; }
.bagno-pw .pw-d6 { animation-delay: 1.20s; }
.bagno-pw .pw-d7 { animation-delay: 1.35s; }

@media (prefers-reduced-motion: reduce) {
  .bagno-pw .pw-reveal,
  .bagno-pw .elementor-element.pw-photo {
    animation: none;
    opacity: 1;
    transform: none;
  }
}

/* ---------------------------------------------------------------------------
   Tablet 768–1024 px
   Das Mockup hat fuer diesen Bereich keine Regel: bei 768px blieben der linken
   Spalte nur 352px neben der 316px-Leiste. Deshalb hier schmalere Leiste.
   --------------------------------------------------------------------------- */
@media (max-width: 1024px) and (min-width: 768px) {
  .bagno-pw .elementor-element.pw-content {
    grid-template-columns: 1fr 260px;
    column-gap: 32px;
    padding: 36px 32px 24px;
  }
  .bagno-pw .elementor-element.pw-date .elementor-heading-title { font-size: 46px; }
  .bagno-pw .elementor-element.pw-headline .elementor-heading-title { font-size: 28px; }
  .bagno-pw .elementor-element.pw-rail { padding-left: 24px; }
  .bagno-pw .elementor-element.pw-cta .elementor-button { padding: 15px 26px; }
}

/* ---------------------------------------------------------------------------
   Mobil — Breakpoint 767px statt 760px wie im Mockup, damit er synchron mit
   Elementors background_image_mobile schaltet (viewport_md = 768).
   --------------------------------------------------------------------------- */
@media (max-width: 767px) {
  /* Vollbild. dvh statt vh, damit die Adressleiste mobiler Browser nicht
     unten Inhalt abschneidet; vh davor als Fallback. */
  .bagno-pw .dialog-widget-content {
    width: 100vw;
    max-width: 100vw;
    min-height: 100vh;
    max-height: 100vh;
    min-height: 100dvh;
    max-height: 100dvh;
  }

  /* Schleier von unten, oberes Drittel bleibt Raum */
  .bagno-pw .dialog-message::before {
    background-image:
      linear-gradient(to top,
        rgba(3, 15, 19, 0.95) 0%,
        rgba(6, 34, 42, 0.86) 34%,
        rgba(19, 101, 121, 0.42) 62%,
        rgba(19, 101, 121, 0.08) 82%,
        rgba(0, 0, 0, 0.10) 100%);
    background-image:
      linear-gradient(to top,
        rgba(3, 15, 19, 0.95) 0%,
        rgba(6, 34, 42, 0.86) 34%,
        color-mix(in srgb, var(--e-global-color-eb4fefb) 42%, transparent) 62%,
        color-mix(in srgb, var(--e-global-color-eb4fefb) 8%, transparent) 82%,
        rgba(0, 0, 0, 0.10) 100%);
    background-size: 100% 100%;
  }

  .bagno-pw .elementor-element.pw-content {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: stretch;
    padding: 84px 24px 18px;
    overflow-y: auto;
  }

  .bagno-pw .elementor-element.pw-stage { max-width: none; }

  .bagno-pw .elementor-element.pw-eyebrow { margin-bottom: 8px; }
  .bagno-pw .elementor-element.pw-eyebrow .elementor-heading-title {
    font-size: 10px;
    letter-spacing: 4.2px;
  }

  .bagno-pw .elementor-element.pw-date { margin-bottom: 10px; }
  .bagno-pw .elementor-element.pw-date .elementor-heading-title { font-size: 34px; }
  .bagno-pw .elementor-element.pw-date .elementor-heading-title strong {
    font-size: 14px;
    margin-top: 4px;
    letter-spacing: 1.96px;
  }

  .bagno-pw .elementor-element.pw-headline { margin-bottom: 8px; }
  .bagno-pw .elementor-element.pw-headline .elementor-heading-title { font-size: 23px; }

  .bagno-pw .elementor-element.pw-subline { margin-bottom: 12px; }
  .bagno-pw .elementor-element.pw-subline .elementor-widget-container {
    font-size: 13px;
    max-width: none;
  }

  .bagno-pw .elementor-element.pw-points { margin-bottom: 10px; }
  .bagno-pw .elementor-element.pw-points .elementor-icon-list-item {
    padding: 2px 0;
    gap: 10px;
  }
  .bagno-pw .elementor-element.pw-points .elementor-icon-list-item::before { width: 12px; }
  .bagno-pw .elementor-element.pw-points .elementor-icon-list-text { font-size: 12.5px; }

  .bagno-pw .elementor-element.pw-hint { margin-bottom: 10px; }
  .bagno-pw .elementor-element.pw-hint .elementor-widget-container {
    font-size: 11.5px;
    max-width: none;
  }

  .bagno-pw .elementor-element.pw-rail {
    padding: 12px 0 0 0;
    background: none;
  }
  .bagno-pw .elementor-element.pw-rail::before {
    left: 0;
    right: 0;
    top: 0;
    bottom: auto;
    height: 1px;
    width: auto;
    background: linear-gradient(90deg,
      rgba(230, 243, 247, 0.4),
      rgba(137, 195, 212, 0.4),
      rgba(230, 243, 247, 0.05));
  }

  .bagno-pw .elementor-element.pw-rail-label { display: none; }

  .bagno-pw .elementor-element.pw-rail-address { margin-bottom: 2px; }
  .bagno-pw .elementor-element.pw-rail-address .elementor-heading-title { font-size: 14px; }

  .bagno-pw .elementor-element.pw-rail-hours { margin-bottom: 12px; }
  .bagno-pw .elementor-element.pw-rail-hours .elementor-heading-title { font-size: 12px; }

  .bagno-pw .elementor-element.pw-cta .elementor-button {
    display: block;
    padding: 15px 28px;
    font-size: 15px;
  }

  .bagno-pw .elementor-element.pw-phone {
    margin-top: 8px;
    text-align: center;
  }
  .bagno-pw .elementor-element.pw-phone .elementor-widget-container { font-size: 12px; }

  .bagno-pw .elementor-element.pw-secondary {
    margin-top: 10px;
    text-align: center;
  }
  .bagno-pw .elementor-element.pw-secondary .elementor-button { font-size: 11.5px; }

  .bagno-pw .elementor-element.pw-credits {
    margin-top: 12px;
    padding-top: 8px;
  }
  .bagno-pw .elementor-element.pw-credits .elementor-heading-title {
    font-size: 9px;
    letter-spacing: 0.54px;
  }
}/* End custom CSS */