/* kw-rich-schloss v1 - nur Editor-Klassen, keine Regel trifft vorhandenen Inhalt */
.kw-h{
  display:block; margin:1rem 0 .5rem;
  font-weight:600; line-height:1.35;
  color:inherit;
}
.kw-p{ display:block; margin:0 0 .75rem; }
.kw-list{ display:block; margin:0 0 .75rem; }
.kw-li{
  display:block; position:relative;
  padding-left:1.35em; margin:0 0 .5rem;
}
.kw-li::before{
  content:"\2022"; position:absolute; left:.35em; top:0;
  color:currentColor; font-weight:700; line-height:inherit;
}
.kw-list-num{ counter-reset:kwli; }
.kw-list-num > .kw-li{ padding-left:1.7em; counter-increment:kwli; }
.kw-list-num > .kw-li::before{
  content:counter(kwli) "."; left:0;
  font-weight:600; font-variant-numeric:tabular-nums;
}
.kw-li:empty, .kw-p:empty, .kw-h:empty{ min-height:1.25em; }
/* /kw-rich-schloss */

/* kw-markenfarben v1 - Elementor-Kit-Farben unter den Hausnamen, nur fuer die Palette des Icon-Dialogs */
:root{
  --c-primary:#666666; --c-secondary:#32725A;
  --t-primary:#666666; --c-accent-1:#EFEFEF;
  --c-white:#FFFFFF; --c-black:#000000;
}
/* /kw-markenfarben */

/* kw-kopf-sticky v1 - Kopfbereich bleibt beim Scrollen oben */
header.jupiterx-header{ position:sticky; top:0; z-index:999; background:#fff; }
html{ scroll-padding-top:150px; }
@media (max-width:767px){
  html{ scroll-padding-top:195px; }
}
/* /kw-kopf-sticky */

/* kw-privacybee v1 - Borlabs entfernt: Zoho-Formulare der EN-Seiten in Originalgröße (wie wb-stil der DE-Seiten) */
.kw-zoho-h940-b100{ height:940px!important; width:100%!important; border:none!important; }
.kw-zoho-h1000-b99{ height:1000px!important; width:99%!important; border:none!important; }
.kw-zoho-h1010-b99{ height:1010px!important; width:99%!important; border:none!important; }
.kw-zoho-h1050-b99{ height:1050px!important; width:99%!important; border:none!important; }
.kw-zoho-h1900-b99{ height:1900px!important; width:99%!important; border:none!important; }
/* Datenschutzerklärung DE/EN (Muster bambini): Seiten-H1-Abschnitt entfernt, Widget-H1 ist die H1 der Seite */
privacybee-widget .prx_h1{ padding-top:0!important; }
/* /kw-privacybee */

/* kw-tabulator v1 - Unlimited-Elements-Tabellen: Tabulator gleicht im Original die Zellhöhen je Zeile per Skript an; hier per Flex */
.ue-table .tabulator-row,
.ue-table .tabulator-headers{ display:flex!important; align-items:stretch!important; }
.ue-table .tabulator-row>.tabulator-cell,
.ue-table .tabulator-headers>.tabulator-col{ flex:0 0 auto; height:auto!important; }
/* /kw-tabulator */

/* kw-untermenue v1 - dritte Menüebene rechts neben dem Eintrag (im Original setzt SmartMenus margin-left = Breite der 2. Ebene, margin-top = -Eintragshöhe) */
header .elementor-nav-menu--main .sub-menu>li{ position:relative; }
header .elementor-nav-menu--main .sub-menu .sub-menu{ top:0!important; left:100%!important; margin:0!important; }
/* /kw-untermenue */


/* kw-ueberlauf v1 - zugeklapptes Handymenü (scaleY 0, volle Breite) ragt rechts hinaus → kein seitliches Wackeln; clip statt hidden, damit der klebende Kopf bleibt */
body{ overflow-x:clip; }
/* /kw-ueberlauf */

/* kw-fussknoepfe v1 (Patrick 28.10.2026) - Fuß: „Rückruf anfordern“ und „Virtuell besichtigen“ stehen am Handy untereinander → Abstand */
@media (max-width:767px){ .elementor-element-335bbacd{ margin-bottom:20px; } }
/* /kw-fussknoepfe */

/* kw-lightbox v3 - Galerie-Lightbox wie im Original (Elementor-Lightbox, Werte am Original abgelesen 28.10.2026): Fläche rgba(0,0,0,.8),
   Bild mittig, Kopfleiste (Zähler 15px links; Vollbild/Zoom/Teilen 20px + 5px Rand, Schließen rechts), Pfeile 25px mittig in je 15 % (Handy 20 %, am Rand),
   Titel unten 16px fett, UI-Farbe hsla(0,0%,93%,.9), Hover #fff. Kopfleiste/Teilen/Zoom setzt /js/kw-lightbox.js */
dialog[data-wb-dialog="lightbox"]{ --kw-lb-ui:hsla(0,0%,93%,.9); position:fixed; inset:0; width:100vw; height:100vh; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0;
  background:rgba(0,0,0,.8); color:var(--kw-lb-ui); overflow:hidden; font-family:"Open Sans Kundenwachstum",sans-serif; }
dialog[data-wb-dialog="lightbox"][open]{ display:flex; align-items:center; justify-content:center; }
dialog[data-wb-dialog="lightbox"]::backdrop{ background:transparent; }
dialog[data-wb-dialog="lightbox"]:focus{ outline:none; }
dialog[data-wb-dialog="lightbox"].kw-lb-maus [data-wb-control]:focus,
dialog[data-wb-dialog="lightbox"].kw-lb-maus [data-kw-lb-kopf] button:focus{ outline:none; }
dialog[data-wb-dialog="lightbox"] img{ display:block; width:auto; height:auto; max-width:70vw; max-height:calc(100vh - 200px); object-fit:contain; box-shadow:0 0 30px rgba(0,0,0,.3);
  transition:transform .3s; user-select:none; -webkit-user-select:none; }
dialog[data-wb-dialog="lightbox"].kw-lb-zoom img{ cursor:move; }
dialog[data-wb-dialog="lightbox"] button{ margin:0; background:none; border:0; color:var(--kw-lb-ui); cursor:pointer; line-height:0; transition:.3s; }
dialog[data-wb-dialog="lightbox"] button svg{ fill:var(--kw-lb-ui); transition:.3s; }
dialog[data-wb-dialog="lightbox"] button svg path{ fill:inherit; }
dialog[data-wb-dialog="lightbox"] button:hover svg{ fill:#fff; }
/* Kopfleiste */
dialog[data-wb-dialog="lightbox"] [data-kw-lb-kopf]{ position:absolute; top:0; left:0; z-index:10; box-sizing:border-box; width:100%; display:flex; flex-direction:row-reverse; align-items:center;
  padding:15px 52px 15px 20px; font-size:20px; transition:.3s; }
dialog[data-wb-dialog="lightbox"].kw-lb-zoom [data-kw-lb-kopf]{ background:rgba(0,0,0,.5); }
dialog[data-wb-dialog="lightbox"] [data-kw-lb-kopf] > button{ margin:0 7px; padding:5px; }
dialog[data-wb-dialog="lightbox"] [data-kw-lb-kopf] > button svg{ display:block; width:20px; height:20px; }
dialog[data-wb-dialog="lightbox"] [data-wb-counter]{ margin-inline-end:auto; font-size:15px; line-height:23px; color:var(--kw-lb-ui); width:max-content; }
dialog[data-wb-dialog="lightbox"] [data-wb-close]{ position:absolute; top:0; right:15px; z-index:11; margin-top:13px; padding:5px; }
dialog[data-wb-dialog="lightbox"] [data-wb-close] svg{ display:block; width:20px; height:20px; }
/* Teilen-Menü */
dialog[data-wb-dialog="lightbox"] [data-kw-lb-menue]{ position:absolute; width:0; height:0; overflow:hidden; background:transparent; transition:background-color .4s; }
dialog[data-wb-dialog="lightbox"].kw-lb-teilen [data-kw-lb-menue]{ left:0; top:0; width:100vw; height:100vh; background:rgba(0,0,0,.5); cursor:default; }
dialog[data-wb-dialog="lightbox"] [data-kw-lb-links]{ position:absolute; top:3em; right:2.8em; min-width:200px; padding:14px 20px; box-sizing:border-box; background:#fff; border-radius:3px;
  box-shadow:rgba(0,0,0,.3) 0 4px 15px; opacity:0; transform:scale(0); transform-origin:90% 10%; transition:.25s .1s; }
dialog[data-wb-dialog="lightbox"] [data-kw-lb-links]::before{ content:""; position:absolute; right:.5em; top:1px; border:.45em solid transparent; border-bottom-color:#fff; transform:translateY(-100%) scaleX(.7); }
dialog[data-wb-dialog="lightbox"].kw-lb-teilen [data-kw-lb-links]{ opacity:1; transform:scale(1); }
dialog[data-wb-dialog="lightbox"] [data-kw-lb-links] a{ display:flex; align-items:center; color:#0c0d0e; font-size:12px; line-height:2.5; text-align:start; text-decoration:none; }
dialog[data-wb-dialog="lightbox"] [data-kw-lb-links] a:hover{ color:#000; }
dialog[data-wb-dialog="lightbox"] [data-kw-lb-links] svg{ width:1.25em; height:1.25em; margin-inline-end:.75em; }
dialog[data-wb-dialog="lightbox"] [data-kw-lb-fb]{ fill:#3b5998; }
dialog[data-wb-dialog="lightbox"] [data-kw-lb-x]{ fill:#000; }
dialog[data-wb-dialog="lightbox"] [data-kw-lb-pin]{ fill:#bd081c; }
dialog[data-wb-dialog="lightbox"] [data-kw-lb-dl]{ fill:#9da5ae; }
/* Pfeile */
dialog[data-wb-dialog="lightbox"] [data-wb-prev],
dialog[data-wb-dialog="lightbox"] [data-wb-next]{ position:absolute; top:0; height:100%; width:15%; padding:0; display:flex; align-items:center; justify-content:center; }
dialog[data-wb-dialog="lightbox"] [data-wb-prev]{ left:0; }
dialog[data-wb-dialog="lightbox"] [data-wb-next]{ right:0; }
dialog[data-wb-dialog="lightbox"] [data-wb-prev] svg,
dialog[data-wb-dialog="lightbox"] [data-wb-next] svg{ width:25px; height:25px; }
dialog[data-wb-dialog="lightbox"].kw-lb-zoom [data-wb-prev],
dialog[data-wb-dialog="lightbox"].kw-lb-zoom [data-wb-next]{ opacity:0; pointer-events:none; }
/* Titel */
dialog[data-wb-dialog="lightbox"] [data-kw-lightbox-titel]{ position:absolute; left:0; right:0; bottom:0; padding:15px 20px; font-size:16px; font-weight:700; line-height:24px; color:var(--kw-lb-ui); text-align:center; }
@media (max-width:767px){
  dialog[data-wb-dialog="lightbox"] img{ max-width:100vw; max-height:calc(100vh - 160px); }
  dialog[data-wb-dialog="lightbox"] [data-wb-prev], dialog[data-wb-dialog="lightbox"] [data-wb-next]{ width:20%; }
  dialog[data-wb-dialog="lightbox"] [data-wb-prev]{ justify-content:flex-start; }
  dialog[data-wb-dialog="lightbox"] [data-wb-next]{ justify-content:flex-end; }
}
/* /kw-lightbox */
/* kw-galerie-platz v1 (Patrick 28.10.2026, PageSpeed/CLS): Galerie-Raster vor der Laufzeit, Werte wie Laufzeit (galerie-platz.py) */
.e-gallery-grid[data-wb-galerie-spalten="2 2 1"][data-wb-galerie-abstand="10 10 10"][data-wb-galerie-grenzen="767 1024"]{--columns:2;--hgap:10px;--vgap:10px}
@media (max-width:1023.98px){.e-gallery-grid[data-wb-galerie-spalten="2 2 1"][data-wb-galerie-abstand="10 10 10"][data-wb-galerie-grenzen="767 1024"]{--columns:2;--hgap:10px;--vgap:10px}}
@media (max-width:766.98px){.e-gallery-grid[data-wb-galerie-spalten="2 2 1"][data-wb-galerie-abstand="10 10 10"][data-wb-galerie-grenzen="767 1024"]{--columns:1;--hgap:10px;--vgap:10px}}
.e-gallery-grid[data-wb-galerie-spalten="3 2 1"][data-wb-galerie-abstand="10 10 10"][data-wb-galerie-grenzen="767 1024"]{--columns:3;--hgap:10px;--vgap:10px}
@media (max-width:1023.98px){.e-gallery-grid[data-wb-galerie-spalten="3 2 1"][data-wb-galerie-abstand="10 10 10"][data-wb-galerie-grenzen="767 1024"]{--columns:2;--hgap:10px;--vgap:10px}}
@media (max-width:766.98px){.e-gallery-grid[data-wb-galerie-spalten="3 2 1"][data-wb-galerie-abstand="10 10 10"][data-wb-galerie-grenzen="767 1024"]{--columns:1;--hgap:10px;--vgap:10px}}
.e-gallery-grid[data-wb-galerie-spalten="3 2 1"][data-wb-galerie-abstand="20 10 10"][data-wb-galerie-grenzen="767 1024"]{--columns:3;--hgap:20px;--vgap:20px}
@media (max-width:1023.98px){.e-gallery-grid[data-wb-galerie-spalten="3 2 1"][data-wb-galerie-abstand="20 10 10"][data-wb-galerie-grenzen="767 1024"]{--columns:2;--hgap:10px;--vgap:10px}}
@media (max-width:766.98px){.e-gallery-grid[data-wb-galerie-spalten="3 2 1"][data-wb-galerie-abstand="20 10 10"][data-wb-galerie-grenzen="767 1024"]{--columns:1;--hgap:10px;--vgap:10px}}
.e-gallery-grid[data-wb-galerie-spalten="4 2 1"][data-wb-galerie-abstand="10 10 10"][data-wb-galerie-grenzen="767 1024"]{--columns:4;--hgap:10px;--vgap:10px}
@media (max-width:1023.98px){.e-gallery-grid[data-wb-galerie-spalten="4 2 1"][data-wb-galerie-abstand="10 10 10"][data-wb-galerie-grenzen="767 1024"]{--columns:2;--hgap:10px;--vgap:10px}}
@media (max-width:766.98px){.e-gallery-grid[data-wb-galerie-spalten="4 2 1"][data-wb-galerie-abstand="10 10 10"][data-wb-galerie-grenzen="767 1024"]{--columns:1;--hgap:10px;--vgap:10px}}
/* /kw-galerie-platz */
/* kw-bg-spaet v2 (Patrick 29.10.2026, PageSpeed): Inline-Hintergründe unterhalb des ersten erst nahe am Bildschirm (Klasse entfernt /js/kw-bg-spaet.js).
   v2: statt „none“ ein einfarbiger Verlauf in der Grundfarbe des Abschnitts — sieht gleich aus, Prüfwerkzeuge werten Text darauf aber wie
   auf dem echten Bild (sonst Kontrastfehler weiße Schrift auf #858585, Startseite a11y 97 → 94) */
.kw-bg-spaet{ background-image:linear-gradient(var(--kw-bg-farbe,transparent),var(--kw-bg-farbe,transparent)) !important; }
/* /kw-bg-spaet */
/* kw-blaetterbuch v1 (Patrick 29.10.2026, PageSpeed /ihre-hochzeit/ CLS 0,46): Platz für das 3D-Blätterbuch vor dem Plugin-Aufbau.
   Gemessen: unter ~600 px Einzelseite (Höhe = Breite × 1,414), darüber Doppelseite (× 0,707), jeweils höchstens 85 % der Fensterhöhe.
   Setzt das Plugin seine Inline-Höhe, gilt die. */
._3d-flip-book[data-wb-bb-daten]{ display:block; width:100%; aspect-ratio:1 / 1.414; max-height:85vh; }
@media (min-width:600px){ ._3d-flip-book[data-wb-bb-daten]{ aspect-ratio:1 / 0.7071; } }
/* /kw-blaetterbuch */
/* kw-tabelle-fertig v1 (Patrick 29.10.2026, PageSpeed /en/meet/castle/ CLS 0,26): Raumtabellen (Unlimited Table) stehen im HTML in der
   Desktop-Fassung; die Laufzeit klappt am Handy sofort Spalten ein → Zeilen verspringen. Inhalt bis zum Umbau unsichtbar (nur mit JS: .kw-js),
   /js/kw-tabelle-fertig.js blendet ihn danach ein. */
.kw-js [data-wb-ue-tabelle]:not(.kw-ut-fertig) > *{ visibility:hidden; }
/* /kw-tabelle-fertig */
/* kw-dse-platz v2 (Patrick 29.10.2026, PageSpeed DSE CLS 0,84): das PrivacyBee-DSE-Widget schreibt seinen Text erst nach dem ersten Zeichnen
   (über 20.000 px) — bis dahin stand der Fuß im Bild und rutschte weg. Platz vorab; der fertige Text ist ohnehin länger. */
privacybee-widget[type="dsgvo"]{ display:block; min-height:150vh; }
/* v2: lange Links im Widget-Text (prx_link) ragten am Handy 40 px über den Rand und wurden abgeschnitten */
privacybee-widget .prx_link{ overflow-wrap:anywhere; word-break:break-word; }
/* /kw-dse-platz */
/* kw-popup-x v1 (Patrick 29.10.2026: „Bei dem Popup PDF-Preisliste anfordern und Rückruf fehlt das X zum Schließen“). Das Werkzeug nahm die
   Elementor-Symbolschrift (eicon-close) nicht mit → Knopf 0×0 px. Jetzt SVG (popup-x.py) und Lage wie im Original gemessen:
   absolut 20 px oben/rechts, 16×16 px, Fläche #1f2124. */
.elementor-popup-modal .dialog-widget-content{ position:relative; }
.elementor-popup-modal .dialog-close-button{ position:absolute; top:20px; right:20px; z-index:10; display:flex; width:16px; height:16px;
  margin:0; padding:0; border:0; background:none; cursor:pointer; line-height:1; }
.elementor-popup-modal .dialog-close-button svg{ display:block; width:16px; height:16px; fill:#1f2124; }
/* /kw-popup-x */
/* kw-anfrage v2 (Patrick 29.10.2026, /event-anfragen/ und /en/date-inquiry/): Kopfzeile grün statt lila Verlauf, „Event“ links über dem
   Titel (gleicher Innenabstand wie die Titelzelle, 14 px), Titel in normaler Schriftfarbe, Knopf „Termin anfragen“ mittig (Text 127 px
   passte nicht zwischen 2 × 50 px Innenabstand bei fester Breite 200 px und lief nach rechts über). */
#pi-enquiry-container table thead{ background:#327a5a !important; background-image:none !important; }
#pi-enquiry-container table thead th.product-name{ text-align:left !important; padding-left:14px !important; }
#pi-enquiry-container table tbody td.product-name a{ color:#666 !important; }
#pi-enquiry-container .pi-submit-enq-button{ padding-left:20px !important; padding-right:20px !important; }
#pi-enquiry-container .kw-sr{ position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
/* /kw-anfrage */
/* kw-filter-chips v1 (Patrick 29.10.2026: „über den Events steht Co CreationCommunicationLöschen“): aktive Filter des Sellkit-Produktfilters
   als Kästchen mit × wie im Original — Originalregeln aus sellkit frontend.min.css (der CSS-Einbettungsschritt hatte sie entfernt,
   weil die Laufzeit die Kästchen erst beim Filtern erzeugt) */
.sellkit-product-selected-filter{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:15px}
.sellkit-product-selected-filter span{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-right:10px;margin-bottom:10px;padding:5px 10px;border:1px solid #ccc;border-radius:4px;background-color:#f5f5f5;color:#111;font-size:14px;line-height:1;cursor:pointer}
.sellkit-product-selected-filter span::after{margin-left:15px;padding-bottom:1px;color:#777;font-size:16px;font-weight:600;line-height:1;content:"×"}
.sellkit-product-selected-filter span:hover::after{color:#111}
.sellkit-product-selected-filter .sellkit-product-selected-filter-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}
.sellkit-product-selected-filter .sellkit-product-filter-clear{position:relative;height:-webkit-max-content;height:-moz-max-content;height:max-content;margin-bottom:10px;margin-left:10px;border-bottom:1px solid #111;color:#111!important;font-size:16px;line-height:1.13}
/* /kw-filter-chips */
/* kw-bildlink-lightbox v1 - Lightbox für Bild-Links (kw-bildlink-lightbox.js, 29.10.2026): ohne Kopfleiste steht der Zähler sonst im Fluss neben
   dem Bild und schiebt es aus der Mitte. Lage wie in der Galerie-Lightbox: oben links (Kopfleiste 15px/20px, Zeile 23px in 30px Höhe). */
dialog.kw-bildlink-lb [data-wb-counter]{ position:absolute; top:18px; left:20px; z-index:10; }
/* /kw-bildlink-lightbox */
/* kw-wave-grund v2 (29.10.2026, WAVE-Stichprobe /hochzeiten-schloss-marbach/ 9 Kontrastfehler): weiße Schrift auf Bildern, die WAVE nicht sieht
   (Hintergrundbild der Kopfsektion, Karussell-Untertitel). Galerie-Beschriftung bewusst NICHT: beim Reiterwechsel wachsen die
   Bilder 0,8 s aus 99 % auf, ein dunkler Rand wäre sichtbar. Dunkle Grundfarbe UNTER dem Bild (Patrick 28.10.: ohne Freigabe
   erlaubt); sichtbar höchstens, solange das Bild lädt. */
.elementor-element-306ef5b5{ background-color:#333; }
.elementor-image-carousel-wrapper .swiper-slide-inner{ background-color:#333; }
/* /kw-wave-grund */


/* kw-landmark v1 */
.kw-skip{position:absolute;left:-9999px;top:0;z-index:9999;padding:.75rem 1.25rem;background:#000;color:#fff;font:inherit;text-decoration:underline;border-radius:0 0 .25rem 0}.kw-skip:focus{left:0}

/* kw-kontrast v1 */
/* Farbkontraste auf WCAG AA gebracht (4,5:1 für normalen Text).
   Erzeugt von barrierefreiheit.py. Markenfarben bleiben unangetastet —
   korrigiert wird die Schriftfarbe auf der jeweiligen Fläche. */
/* /kw-kontrast */

/* kw-fuss-abstand v1 */
/* EN-Fußzeile: WPML legt die Links in <p> (16 px Abstand darunter), DE nicht → Zeilen 48 statt 32 px auseinander.
   Patrick 11.11.2026: „Footer Punkte haben zu viel Abstand“ — EN wie DE. */
footer .elementor-widget-text-editor.link p:last-child{margin-bottom:0}
/* /kw-fuss-abstand */
