.elementor-11787 .elementor-element.elementor-element-20ee87e > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-11787 .elementor-element.elementor-element-20ee87e:not(.elementor-motion-effects-element-type-background), .elementor-11787 .elementor-element.elementor-element-20ee87e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFEFE;}.elementor-11787 .elementor-element.elementor-element-20ee87e, .elementor-11787 .elementor-element.elementor-element-20ee87e > .elementor-background-overlay{border-radius:0px 0px 1px 0px;}.elementor-11787 .elementor-element.elementor-element-20ee87e{box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-11787 .elementor-element.elementor-element-20ee87e > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );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 );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-11787 .elementor-element.elementor-element-044761b{width:var( --container-widget-width, 10% );max-width:10%;--container-widget-width:10%;--container-widget-flex-grow:0;text-align:center;}.elementor-11787 .elementor-element.elementor-element-044761b img{width:100%;max-width:100%;height:15px;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-11787 .elementor-element.elementor-element-5b92bce{width:var( --container-widget-width, 84.58% );max-width:84.58%;--container-widget-width:84.58%;--container-widget-flex-grow:0;}.elementor-11787 .elementor-element.elementor-element-5b92bce .elementor-menu-toggle{margin-left:auto;}.elementor-11787 .elementor-element.elementor-element-5b92bce .elementor-nav-menu .elementor-item{font-family:"Titillium Web", Sans-serif;font-size:17px;font-weight:500;line-height:1.5em;letter-spacing:1.4px;}.elementor-11787 .elementor-element.elementor-element-5b92bce .elementor-nav-menu--main .elementor-item{color:#000000;fill:#000000;}.elementor-11787 .elementor-element.elementor-element-5b92bce .elementor-nav-menu--main .elementor-item:hover,
					.elementor-11787 .elementor-element.elementor-element-5b92bce .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-11787 .elementor-element.elementor-element-5b92bce .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-11787 .elementor-element.elementor-element-5b92bce .elementor-nav-menu--main .elementor-item:focus{color:#000000;fill:#000000;}.elementor-11787 .elementor-element.elementor-element-5b92bce .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-11787 .elementor-element.elementor-element-5b92bce .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:#2A0406;}.elementor-11787 .elementor-element.elementor-element-5b92bce .e--pointer-framed .elementor-item:before,
					.elementor-11787 .elementor-element.elementor-element-5b92bce .e--pointer-framed .elementor-item:after{border-color:#2A0406;}.elementor-11787 .elementor-element.elementor-element-5b92bce .elementor-nav-menu--dropdown .elementor-item, .elementor-11787 .elementor-element.elementor-element-5b92bce .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:"Open Sans", Sans-serif;font-weight:500;}.elementor-11787 .elementor-element.elementor-element-5b92bce .elementor-nav-menu--dropdown a{padding-top:20px;padding-bottom:20px;}.elementor-widget-polylang-language-switcher .cpel-switcher__lang a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-text );}.elementor-widget-polylang-language-switcher .cpel-switcher__icon{color:var( --e-global-color-text );}.elementor-widget-polylang-language-switcher .cpel-switcher__lang a:hover, .elementor-widget-polylang-language-switcher .cpel-switcher__lang a:focus{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-accent );}.elementor-widget-polylang-language-switcher .cpel-switcher__lang.cpel-switcher__lang--active a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-11787 .elementor-element.elementor-element-af8ec47{width:var( --container-widget-width, 0.93% );max-width:0.93%;--container-widget-width:0.93%;--container-widget-flex-grow:0;}.elementor-11787 .elementor-element.elementor-element-af8ec47 .cpel-switcher__lang a{font-family:"Titillium Web", Sans-serif;font-size:15px;font-weight:500;line-height:1.5em;letter-spacing:0px;color:#000000;padding-left:11px;padding-right:11px;padding-top:0px;padding-bottom:0px;}.elementor-11787 .elementor-element.elementor-element-af8ec47 .cpel-switcher__icon{color:#000000;}.elementor-11787 .elementor-element.elementor-element-af8ec47 .cpel-switcher__lang a:hover, .elementor-11787 .elementor-element.elementor-element-af8ec47 .cpel-switcher__lang a:focus{font-family:"Titillium Web", Sans-serif;font-size:15px;font-weight:600;line-height:1.5em;letter-spacing:0px;color:#8F8F8F;}.elementor-11787 .elementor-element.elementor-element-af8ec47 .cpel-switcher__nav{--cpel-switcher-space:0px;}.elementor-11787 .elementor-element.elementor-element-af8ec47.cpel-switcher--aspect-ratio-11 .cpel-switcher__flag{width:20px;height:20px;}.elementor-11787 .elementor-element.elementor-element-af8ec47.cpel-switcher--aspect-ratio-43 .cpel-switcher__flag{width:20px;height:calc(20px * 0.75);}.elementor-11787 .elementor-element.elementor-element-af8ec47 .cpel-switcher__flag img{border-radius:0px;}.elementor-11787 .elementor-element.elementor-element-661d9f4:not(.elementor-motion-effects-element-type-background), .elementor-11787 .elementor-element.elementor-element-661d9f4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-11787 .elementor-element.elementor-element-661d9f4 > .elementor-container{min-height:100vh;}.elementor-11787 .elementor-element.elementor-element-661d9f4{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-11787 .elementor-element.elementor-element-661d9f4 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-11787 .elementor-element.elementor-element-40f8c8e > .elementor-widget-container{box-shadow:0px 0px 10px -6px rgba(0,0,0,0.5);}.elementor-11787 .elementor-element.elementor-element-40f8c8e{text-align:center;}.elementor-11787 .elementor-element.elementor-element-40f8c8e .elementor-heading-title{font-family:"Titillium Web", Sans-serif;font-size:32px;font-weight:500;line-height:2.5em;letter-spacing:8px;word-spacing:3px;color:#000000;}.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 );letter-spacing:var( --e-global-typography-text-letter-spacing );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-11787 .elementor-element.elementor-element-df3e518{text-align:center;font-family:"Open Sans", Sans-serif;font-size:20px;font-weight:300;line-height:1.5em;letter-spacing:0px;color:#000000;}.elementor-11787 .elementor-element.elementor-element-6afa73b{width:var( --container-widget-width, 100.237% );max-width:100.237%;--container-widget-width:100.237%;--container-widget-flex-grow:0;color:#000000;}.elementor-11787 .elementor-element.elementor-element-2d5c704{color:#000000;}.elementor-11787 .elementor-element.elementor-element-2860a5e{text-align:justify;font-family:"Open Sans", Sans-serif;font-size:20px;font-weight:300;line-height:1.5em;letter-spacing:0px;color:#000000;}.elementor-11787 .elementor-element.elementor-element-2e54511{font-family:"Open Sans", Sans-serif;font-size:20px;font-weight:300;line-height:1.5em;letter-spacing:0px;color:#000000;}.elementor-11787 .elementor-element.elementor-element-5fa34f8{text-align:center;}.elementor-11787 .elementor-element.elementor-element-5fa34f8 .elementor-heading-title{font-family:"Titillium Web", Sans-serif;font-size:35px;font-weight:500;line-height:1.5em;letter-spacing:0px;color:#000000;}.elementor-11787 .elementor-element.elementor-element-681e9f0:not(.elementor-motion-effects-element-type-background), .elementor-11787 .elementor-element.elementor-element-681e9f0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F7F9;}.elementor-11787 .elementor-element.elementor-element-681e9f0{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-11787 .elementor-element.elementor-element-681e9f0 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}@media(max-width:1024px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-polylang-language-switcher .cpel-switcher__lang a{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-polylang-language-switcher .cpel-switcher__lang a:hover, .elementor-widget-polylang-language-switcher .cpel-switcher__lang a:focus{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-polylang-language-switcher .cpel-switcher__lang.cpel-switcher__lang--active a{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}}@media(max-width:767px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-polylang-language-switcher .cpel-switcher__lang a{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-polylang-language-switcher .cpel-switcher__lang a:hover, .elementor-widget-polylang-language-switcher .cpel-switcher__lang a:focus{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-polylang-language-switcher .cpel-switcher__lang.cpel-switcher__lang--active a{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}}/* Start custom CSS for section, class: .elementor-element-20ee87e *//* Normalzustand */
.sticky-menu {
  background: transparent;
  transition: background 0.3s ease, box-shadow 0.3s ease;
  z-index: 9999;
}
.sticky-menu {
  border-bottom: 1px solid #e0e0e0;
}


/* Sticky aktiv */
.elementor-sticky--effects.sticky-menu {
  background: rgba(0, 0, 0, 0.85);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-df3e518 */@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600&family=Titillium+Web:wght@700&display=swap');


.ueberschrift{
     font-family: "Titillium Web", Sans-Serif; 
  font-size: clamp(22px, 3vw, 34px);
  font-weight: 500;
  margin: 2rem 0 1rem;
  line-height:1.3;
  text-align:center;
  color: var(--text);
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-6afa73b */.design-process-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2em;
  max-width: 1000px;
  margin: 0 auto;
  padding: 2em 1em;
  font-family: 'Titillium Web', Sans-Serif;
}

.design-step {
  background: #f9f9f9;
  border-left: 4px solid #000;
  padding: 1.5em;
  border-radius: 8px;
}

.design-step h3 {

  font-size: 1.2em;
  margin-bottom: 0.5em;
}

.design-step ul {
  padding-left: 1.5em;
  list-style-type: disc;
}

.design-step ul ul {
  list-style-type: circle;
  margin-top: 0.3em;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-2d5c704 */@import url('https://fonts.googleapis.com/css2?family=Titillium+Web:wght@400;600;700&display=swap');

.section-heading{
  text-align:center;
  font-family:'Titillium Web', sans-serif;
  font-weight:500;
  margin:0 0 1rem;
}
.text{
    font-family: "Open Sans";
    font-size: 16px;
    font-size: 400;
    text-align: center;
    display: inline-block;
    margin: 0.5rem 2rem 1.5rem; 
}
/* Galerie-Link sichtbar */
.text a{ text-decoration: underline; }
.spass{
    text-align: center; 
}
/* Download-Buttons */
.download-list{
  display:flex; gap:.75rem; flex-wrap:wrap;
  justify-content:center; margin:1rem 0 2rem;
  list-style:none; padding:0;
}
.btn-download{
  display:inline-block; padding:.75rem 1.1rem; border-radius:999px;
  font:700 16px 'Titillium Web', sans-serif; text-decoration:none;
  background:#111; color:#fff; box-shadow:0 6px 18px rgba(0,0,0,.15);
  transition:transform .15s, box-shadow .15s;
}
.btn-download:hover{ transform:translateY(-1px); box-shadow:0 10px 24px rgba(0,0,0,.18); }
.btn-download:focus{ outline:2px solid #000; outline-offset:3px; }
@media (prefers-reduced-motion: reduce){ .btn-download{ transition:none; } }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-2860a5e */@import url('https://fonts.googleapis.com/css2?family=Titillium+Web:wght@400;600;700&display=swap');

.section-heading{
  text-align:center;
  font-family:'Titillium Web', sans-serif;
  font-weight:500;
  margin:0 0 1rem;
}
.text{
    font-family: "Open Sans";
    font-size: 16px;
    font-size: 400;
    text-align: center;
    display: inline-block;
    margin: 0.5rem 2rem 1.5rem; 
}
/* Galerie-Link sichtbar */
.text a{ text-decoration: underline; }
.spass{
    text-align: center; 
}
/* Download-Buttons */
.download-list{
  display:flex; gap:.75rem; flex-wrap:wrap;
  justify-content:center; margin:1rem 0 2rem;
  list-style:none; padding:0;
}
.btn-download{
  display:inline-block; padding:.75rem 1.1rem; border-radius:999px;
  font:700 16px 'Titillium Web', sans-serif; text-decoration:none;
  background:#111; color:#fff; box-shadow:0 6px 18px rgba(0,0,0,.15);
  transition:transform .15s, box-shadow .15s;
}
.btn-download:hover{ transform:translateY(-1px); box-shadow:0 10px 24px rgba(0,0,0,.18); }
.btn-download:focus{ outline:2px solid #000; outline-offset:3px; }
@media (prefers-reduced-motion: reduce){ .btn-download{ transition:none; } 
    }
    
    .anfrage{
        font-family: Titillium Web;
        font-size: 19px;
        text-align: center;
    }
.preisliste-download{
  display:block;
  text-align: center;
  margin: 20px auto;
  width: fit-content;
  padding:.75rem 1.1rem; 
  border-radius:999px;
  font:700 16px 'Titillium Web', sans-serif;
  text-decoration: none;
  background:#111; color:#fff; 
  box-shadow:0 6px 18px rgba(0,0,0,.15);
  transition:transform .15s, box-shadow .15s;
}
.preisliste-download:hover{ 
    transform:translateY(-1px); 
    box-shadow:0 10px 24px rgba(0,0,0,.18); 
    
}
.preisliste-download:focus{ 
    outline:2px solid #000; 
    outline-offset:3px; }
@media (prefers-reduced-motion: reduce){ 
    .preisliste-download{ transition:none; } 
    
}
.anfrage{
    font-family: Titillium Web;
    font-size: 19px;
    font-weight: 500;
    text-align: center;
}
a.anfrage{
    font-weight: 600;
}
.anfrage-btn{
  display:block;
  text-align: center;
  margin: 20px auto;
  width: fit-content;
  padding:.75rem 1.1rem; 
  border-radius:999px;
  font:700 16px 'Titillium Web', sans-serif;
  text-decoration: none;
  background:#111; color:#fff; 
  box-shadow:0 6px 18px rgba(0,0,0,.15);
  transition:transform .15s, box-shadow .15s;
}
.anfrage-btn:hover{ 
    transform:translateY(-1px); 
    box-shadow:0 10px 24px rgba(0,0,0,.18); 
    
}
.anfrage-btn:focus{ 
    outline:2px solid #000; 
    outline-offset:3px; }
@media (prefers-reduced-motion: reduce){ 
    .preisliste-download{ transition:none; } 
   
}
.button-row{
display: flex;
  justify-content: center; 
  align-items: center;
  gap: 2px; 
  flex-wrap: wrap; 
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-2e54511 */.section-heading{
    text-align: center;
    font-size: 35px;
    font-family: "Titillium Web";

    font-weight: 400;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-5ff6e69 *//* ===== JMD – CF7 Card-Optik für Markup (.jmd-form) ===== */
.jmd-form{
  /* Theme-Variablen */
  --fg:#1c2330;            /* Text */
  --muted:#6b7380;         /* sekundär */
  --b:#d9e1ea;             /* Linie neutral */
  --b-focus:#a9b6c8;       /* Linie Fokus */
  --field:#ffffff;         /* Feld-Background */
  --card:#f7f9fc;          /* sehr helles Grau */
  --accent:#2f384a;        /* Button */
  --radius:14px;

  max-width:760px;
  margin:20px auto;
  padding:22px 22px 26px;
  background:
    linear-gradient(180deg, rgba(99,115,139,.04) 0, rgba(99,115,139,0) 140px),
    var(--card);
  border:1px solid #eef2f7;
  border-radius:18px;
  box-shadow:0 12px 32px rgba(15,23,42,.08);
  font-family:'Open Sans',system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--fg);
}

/* 2-Spalten-Grid */
.jmd-form .jmd-grid-2{ display:block; gap:14px; }
@media (min-width:720px){
  .jmd-form .jmd-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
}

/* Feld-Wrapper + Floating-Label-Basis */
.jmd-form .jmd-field{ position:relative; margin:10px 0 16px; padding-top:2px; }

.jmd-form .jmd-field > label{
  position:absolute; left:14px; top:14px;
  background:#fff; padding:0 6px;
  color:#6b7280; font-size:14.5px; line-height:1;
  transform-origin:left top;
  transition: transform .16s ease, color .16s ease, top .16s ease;
  pointer-events:none;
}

/* Inputs / Textareas */
.jmd-form .jmd-input,
.jmd-form .jmd-textarea,
.jmd-form input[type="text"],
.jmd-form input[type="email"],
.jmd-form input[type="tel"],
.jmd-form textarea{
  width:100%; box-sizing:border-box;
  padding:12px 14px;
  border:1.1px solid var(--b);
  border-radius:var(--radius);
  background:var(--field);
  color:var(--fg);
  font-size:16px; line-height:1.45;
  transition:border-color .18s, box-shadow .18s, background-color .18s;
  -webkit-appearance:none; appearance:none;
}
.jmd-form .jmd-textarea{ min-height:200px; resize:vertical; }

/* Platzhalter dezent */
.jmd-form ::placeholder{ color:#9aa3b2; opacity:1; }

/* Fokus */
.jmd-form .jmd-input:focus,
.jmd-form .jmd-textarea:focus{
  outline:none; border-color:var(--b-focus);
  box-shadow:0 0 0 3px rgba(169,182,200,.18);
}

/* FLOATING: Label heben bei Fokus oder Inhalt */
.jmd-form .jmd-field:focus-within > label{ top:-8px; transform:scale(.88); color:#3b82f6; }
/* Wenn das Feld Text enthält (kein leerer Placeholder-Trick): */
.jmd-form .jmd-field :is(input,textarea):not(:placeholder-shown) ~ label{
  top:-8px; transform:scale(.88); color:#3b82f6;
}


/* Stern am Label anzeigen, wenn im Feld-Wrapper ein required-Feld steckt */
.jmd-form .jmd-field:has(.wpcf7-validates-as-required) > label::after{
  content:" *";
  color:#e11d48;
  font-weight:700;
  margin-left:4px;
}

/* Pflichfeld roter Rand */
.jmd-form .jmd-field :is(input[aria-required="true"],textarea[aria-required="true"]){
  box-shadow: inset 2px 0 0 rgba(225,29,72,.25);
}


/* Datei-Upload */
.jmd-form input[type="file"]{ width:100%; background:transparent; border:0; padding:0; }
.jmd-form input[type="file"]::file-.elementor-11787 .elementor-element.elementor-element-5ff6e69-button{
  padding:10px 14px; border-radius:999px;
  border:1.1px solid var(--b); background:#fff; color:var(--fg);
  cursor:pointer;
  transition:box-shadow .18s, transform .06s, filter .18s;
}
.jmd-form input[type="file"]::file-.elementor-11787 .elementor-element.elementor-element-5ff6e69-button:hover{
  filter:brightness(1.03); box-shadow:0 3px 12px rgba(0,0,0,.08);
}

/* Button*/
.jmd-form .jmd-submit{ display:flex; justify-content:center; margin-top:12px; }
.jmd-form .send-btn,
.jmd-form input[type="submit"]{
  display:inline-block; margin:0; padding:12px 28px;
  border:0; border-radius:16px;
  background:linear-gradient(180deg,#2f384a,#232a36);
  color:#fff; font-weight:600; letter-spacing:.2px;
  box-shadow:0 10px 24px rgba(0,0,0,.16);
  transition:transform .06s, box-shadow .2s, filter .2s;
}
.jmd-form input[type="submit"]:hover{ transform:translateY(-1px); box-shadow:0 14px 32px rgba(0,0,0,.2); }

/* CF7-Meldungen */
.jmd-form .wpcf7-response-output{
  margin:16px 0 0; padding:12px 14px;
  border-radius:12px; border:1.1px solid #e6ebf1;
  background:#f7fafc; color:var(--fg);
}
.jmd-form .wpcf7-mail-sent-ok{ border-color:#a7e0b9; background:#f2fbf5; }
.jmd-form .wpcf7-validation-errors,
.jmd-form .wpcf7-acceptance-missing{ border-color:#f2b3c1; background:#fff3f5; }
.jmd-form .wpcf7-not-valid-tip{ color:#c81e37; font-size:.88rem; margin-top:6px; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-c15b4f0 *//* Footer – responsive (3-Spalten Grid) */
:root{
  --sf-bg:#f7f7f9;           /* Footer-Hintergrund */
  --sf-card:#ffffff;         /* Kartenfläche */
  --sf-txt:#1b1b20;          /* normaler Text */
  --sf-dim:#5c5c69;          /* gedimmter Text */
  --sf-accent:#3b82f6;       /* Akzentfarbe (ändern bei Bedarf) */
  --sf-line:rgba(0,0,0,.08); /* Linien/Felder */
  --sf-radius:16px;
  --sf-pad:22px;
  --sf-xpad:clamp(12px, 4vw, 40px); /* Seiten-Padding (responsiv) */
}

.site-footer{
  width:100%;
  background:var(--sf-bg);
  color:var(--sf-txt);
  font-size:16px;
}

/* Layout: 3-Spalten Grid */
.sf-wrap{
  width:100%;
  padding:40px var(--sf-xpad);
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:22px;
}

/* Tablet: 2 Spalten */
@media (max-width: 900px){
  .sf-wrap{ grid-template-columns: repeat(2, 1fr); }
}

/* Smartphone: 1 Spalte */
@media (max-width: 600px){
  .sf-wrap{ grid-template-columns: 1fr; }
}

.sf-card{
  background:var(--sf-card);
  border:1px solid var(--sf-line);
  border-radius:var(--sf-radius);
  padding:var(--sf-pad);
  box-shadow:0 10px 24px rgba(0,0,0,.06);
  display:flex;
  flex-direction:column;
}

/*  Logo / Adresse */
.sf-logo{
  max-width:min(320px, 80%);
  height:auto;
  margin:0 auto 8px;
  display:block;
}
.sf-brand-text{
  color:var(--sf-dim);
  line-height:1.55;
  text-align:center;
  margin-top:8px;
}
.sf-brand-text strong{
  display:block;
  font-weight:700;
  color:var(--sf-txt);
  margin-bottom:6px;
}

/*  Social Buttons */
.sf-social{
  margin-top:14px;
  display:flex;
  justify-content:center;
  gap:10px;
}
.sf-social a{
  width:40px; height:40px;
  display:grid; place-items:center;
  border-radius:12px;
  background:#f0f0f3;
  border:1px solid var(--sf-line);
  color:#333;
  transition:transform .15s ease, background .2s ease, color .2s ease;
}
.sf-social a:hover{
  transform:translateY(-2px);
  background:var(--sf-accent);
  color:#fff;
}
.sf-social svg{ width:20px; height:20px; }

/*  Öffnungszeiten */
.sf-hours h3, .sf-links h3{ 
  margin:0 0 10px;
  font-size:20px;
  letter-spacing:.02em;
}
.sf-list{ margin:8px 0 10px; }
.sf-list div{ 
  display:flex; 
  justify-content:space-between; 
  padding:8px 0; 
  border-bottom:1px dashed var(--sf-line); 
  gap:16px;
}
.sf-list dt{ color:var(--sf-dim); }
.sf-list dd{ margin:0; font-variant-numeric:tabular-nums; }

/* Hinweistext */
.sf-note{ color:var(--sf-dim); margin:12px 0 14px; }

/*  Kontakt-Chips  */
.sf-contact-row{
  display:flex; flex-direction:column;
  align-items:center; gap:10px; margin-top:10px;
}
.sf-chip{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:#f7f7f9;
  border:1px solid var(--sf-line);
  padding:10px 14px;
  border-radius:999px;
  color:var(--sf-txt);
  white-space:nowrap;
  min-width:240px;
  transition:background .2s ease, color .2s ease, transform .15s ease, box-shadow .15s ease;
}
.sf-chip:hover{
  background:var(--sf-accent);
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 6px 18px rgba(59,130,246,.25);
}
.sf-chip .sf-ico{ font-size:18px; }

/*  Linkliste  */
.sf-links ul{ list-style:none; padding:0; margin:0; }
.sf-links li+li{ margin-top:8px; }
.sf-links a{
  display:inline-block;
  padding:8px 10px;
  border-radius:10px;
  transition:background .2s ease, transform .12s ease;
}
.sf-links a:hover{
  background:rgba(0,0,0,.04);
  transform:translateX(2px);
}

/*  Untere Zeile  */
.sf-bottom{
  border-top:1px solid var(--sf-line);
  margin-top:20px;
  padding:14px var(--sf-xpad);
  text-align:center;
  color:var(--sf-dim);
}
/* Bild-Icons in den Social-Buttons korrekt anzeigen */
.sf-social a img{
  width: 22px;               /* skalierte Icongröße */
  height: 22px;
  display: block;
}

/* Auf dunklem Hover-Hintergrund Icons „weiß“ wirken lassen */
.sf-social a:hover img{
  filter: brightness(0) invert(1);
}/* End custom CSS */