.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* === EXTRADRY START === */

/* --- Lucide-Icons (SVG, stroke-basiert) --- */
.lucide-icon .elementor-icon-wrapper{line-height:0;}
.lucide-icon .elementor-icon{line-height:0;display:flex;align-items:center;justify-content:center;}
.lucide-icon .elementor-icon svg{fill:none !important;stroke:currentColor;width:1em;height:1em;display:block;flex-shrink:0;}
.e-n-accordion-item-title-icon svg{fill:none !important;
  width:var(--n-accordion-icon-size) !important;height:var(--n-accordion-icon-size) !important;}
.e-n-accordion-item-title-icon span > svg{stroke:var(--n-accordion-icon-normal-color) !important;}
.e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-icon span > svg{stroke:var(--n-accordion-icon-active-color) !important;}

/* --- Hero-Badge: Pille in Inhaltsbreite --- */
.ed-badge .elementor-widget-container{display:inline-flex !important;align-items:center;}
.ed-badge{line-height:18px !important;}
.ed-badge p{line-height:18px !important;margin:0;}
.ed-badge .elementor-heading-title{line-height:20px;}

/* --- Seiten-Tabs rechts: Label klappt beim Hover aus --- */
.ed-sidebar-tab{overflow:hidden;}
.ed-sidebar-label{max-width:0 !important;overflow:hidden;white-space:nowrap;transition:max-width .3s cubic-bezier(.4,0,.2,1);}
.ed-sidebar-tab:hover .ed-sidebar-label{max-width:200px !important;}
.ed-sidebar-label, .ed-sidebar-label *{white-space:nowrap !important;}

/* --- FAQ-Akkordeon: nur Trennlinie unten --- */
.ed-faq.elementor-widget-n-accordion{
  --n-accordion-padding:16px 0;
  --n-accordion-border-width:0 0 1px 0;
  --n-accordion-border-color:#DAE0E7;
  --n-accordion-border-radius:0px;
  --n-accordion-title-normal-color:#1F262E;
  --n-accordion-title-hover-color:#1F262E;
  --n-accordion-title-active-color:#1F262E;
  --n-accordion-icon-normal-color:#1F262E;
  --n-accordion-icon-hover-color:#1F262E;
  --n-accordion-icon-active-color:#1F262E;
  --n-accordion-icon-size:16px;
  --n-accordion-title-flex-grow:1;
  --n-accordion-title-justify-content:space-between;
}
.ed-faq .e-n-accordion-item-title{border-radius:0 !important;justify-content:space-between;}
.ed-faq .e-n-accordion-item-title-header{flex-grow:1;}
.ed-faq .e-n-accordion-item > .e-con{padding-block:0 16px !important;padding-inline:0 !important;}

/* --- Video-Transkript: weiße Karte, Icon links --- */
.ed-transcript.elementor-widget-n-accordion{
  --n-accordion-padding:20px;
  --n-accordion-border-width:1px;
  --n-accordion-border-color:#DAE0E7;
  --n-accordion-border-radius:12px;
  --n-accordion-title-normal-color:#1F262E;
  --n-accordion-title-hover-color:#1F262E;
  --n-accordion-title-active-color:#1F262E;
  --n-accordion-icon-normal-color:#2F9BC6;
  --n-accordion-icon-hover-color:#2F9BC6;
  --n-accordion-icon-active-color:#2F9BC6;
  --n-accordion-icon-size:20px;
  --n-accordion-icon-gap:0 8px;
  --n-accordion-title-flex-grow:0;
}
.ed-transcript .e-n-accordion-item-title{background-color:#fff;}
.ed-transcript .e-n-accordion{background-color:#fff;border-radius:12px;}
.ed-transcript .e-n-accordion-item > .e-con{padding:0 20px 20px !important;background-color:#fff;}


/* --- Kontaktformular --- */
.ed-form .elementor-field-type-submit{width:100%;}
.ed-form .elementor-field-type-submit .elementor-button{width:100%;justify-content:center;}
.ed-form .elementor-field-group > label{display:block;}
.ed-form .elementor-mark-required{color:inherit;}

/* --- Footer-Linkliste --- */
.ed-footer-links .elementor-icon-list-item > a{color:#FFFFFF;text-decoration:none;transition:color .2s;}
.ed-footer-links .elementor-icon-list-item > a:hover{color:#2F9BC6;}
.ed-footer-links .elementor-icon-list-icon{display:none;}
.ed-footer-links .elementor-icon-list-text{padding-inline-start:0 !important;}


/* --- Schriftfamilie wie im Lovable-Entwurf (System-UI-Stack) --- */
:root{--ed-font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", sans-serif;}
body, .elementor-widget-heading .elementor-heading-title, .elementor-widget-text-editor,
.elementor-widget-button .elementor-button, .elementor-widget-icon-list .elementor-icon-list-text,
.elementor-widget-form .elementor-field-group label, .elementor-widget-form .elementor-field,
.elementor-widget-form .elementor-button, .e-n-accordion-item-title-text, .e-n-accordion .e-con,
h1,h2,h3,h4,h5,h6, p, li, a, input, textarea, select, button{font-family: var(--ed-font) !important;}


/* --- Button-Icons (Lucide, stroke-basiert) --- */
.ed-btn-icon .elementor-button-icon svg{fill:none !important;stroke:currentColor;
  width:16px;height:16px;display:block;flex-shrink:0;}
/* Nav- und Sticky-Telefonbutton: 20px wie im Entwurf */
.elementor-element-88ae83b .elementor-button-icon svg,
.elementor-element-2dcdcda .elementor-button-icon svg{width:20px !important;height:20px !important;}
.ed-btn-icon .elementor-button-content-wrapper{align-items:center;}
.ed-btn-icon .elementor-button-icon{display:flex;align-items:center;line-height:0;}


/* --- Logo: mobil 112px hoch, unverzerrt (wie im Entwurf) --- */
@media (max-width:767px){
  .ed-logo{flex-shrink:1;max-width:287px;}
  .ed-logo, .ed-logo img{height:auto !important;}
  .ed-logo img{width:100% !important;max-width:287px !important;}
}

/* --- Hero-Buttons: mobil untereinander, volle Breite --- */
@media (max-width:767px){
  .ed-hero-buttons{width:100%;}
  .ed-hero-buttons > .elementor-widget{width:100% !important;}
  .ed-hero-buttons .elementor-button{width:100%;justify-content:center;}
}


/* --- Hamburger-Button: 40x40 wie im Entwurf --- */
.elementor-element-d327c78 .elementor-button{width:40px;height:40px;padding:0 !important;
  display:inline-flex;align-items:center;justify-content:center;}


/* --- Nachricht-Feld: Höhe wie im Entwurf --- */
.ed-form textarea.elementor-field-textual{min-height:118px;}


/* --- Menü-Dropdowns (öffnen bei Hover wie im Entwurf) --- */
.ed-menu-item{position:relative;}
.ed-dropdown{position:absolute !important;top:100%;left:0;z-index:60;
  opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;}
.ed-menu-item:hover > .ed-dropdown,
.ed-menu-item:focus-within > .ed-dropdown{opacity:1;visibility:visible;}
.ed-dropdown-list .elementor-icon-list-items{width:100%;}
.ed-dropdown-list .elementor-icon-list-item{width:100%;}
.ed-dropdown-list .elementor-icon-list-item > a{display:block;padding:8px 16px;width:100%;
  color:#1F262E;text-decoration:none;transition:color .2s,background-color .2s;}
.ed-dropdown-list .elementor-icon-list-item > a:hover .elementor-icon-list-text{color:#2F9BC6;}
.ed-dropdown-list .elementor-icon-list-item > a:hover{background-color:#F3F5F7;}
.ed-dropdown-list .elementor-icon-list-icon{display:none;}
.ed-dropdown-list .elementor-icon-list-text{padding-inline-start:0 !important;}


/* --- Mobilmenü (Hamburger klappt die Navigation auf) --- */
/* Standardmaessig ausgeblendet - auch im Elementor-Editor, damit es die Seite nicht ueberlagert.
   Zum Bearbeiten: im Navigator (Strukturbaum) auswaehlen. */
body .ed-mobile-menu:not(.is-open){display:none !important;}
body .ed-mobile-menu{width:100%;}
body .ed-mobile-menu.is-open{display:flex !important;}
/* ab Desktop nie einblenden (auch nicht, wenn beim Vergroessern offen geblieben) */
@media (min-width:1025px){ body .ed-mobile-menu{display:none !important;} }
.ed-mobile-list .elementor-icon-list-item{width:100%;}
.ed-mobile-list .elementor-icon-list-item > a{display:block;width:100%;padding:10px 16px;
  color:#1F262E;text-decoration:none;transition:color .2s,background-color .2s;}
.ed-mobile-list .elementor-icon-list-item > a:hover{background-color:#F3F5F7;}
.ed-mobile-list .elementor-icon-list-icon{display:none;}
.ed-mobile-list .elementor-icon-list-text{padding-inline-start:0 !important;}


/* --- Ablauf: Ziffer mittig im Kreis --- */
.ed-step-number{display:flex !important;align-items:center;justify-content:center;
  width:48px;height:48px;line-height:1 !important;text-align:center;}
.ed-step-number > *{margin:0;line-height:1;}


/* --- Karten (Google Maps) füllen ihren Container --- */
.ed-map, .ed-map .elementor-widget-container, .ed-map .elementor-custom-embed{
  position:absolute;inset:0;width:100%;height:100%;}
.ed-map iframe{width:100% !important;height:100% !important;min-height:100%;border:0;display:block;}


/* --- Kontaktformular: Datei-Upload als Dropzone (wie im Entwurf) --- */
.ed-form .elementor-field-type-upload input[type=file]{
  width:100%;border:2px dashed #DAE0E7 !important;border-radius:10px !important;
  padding:24px 16px !important;background:transparent !important;cursor:pointer;
  font-size:14px;color:#627384;text-align:center;min-height:72px;}
.ed-form .elementor-field-type-upload input[type=file]::file-.elementor-kit-6-button{
  border:0;background:transparent;color:#2F9BC6;font-weight:500;cursor:pointer;font-size:14px;}
/* --- Einverständnis-Feld --- */
.ed-form .elementor-field-type-acceptance .elementor-field-subgroup,
.ed-form .elementor-field-type-acceptance .elementor-field-option{
  display:flex;align-items:flex-start;gap:12px;}
.ed-form .elementor-field-type-acceptance label{font-size:14px;line-height:1.625;color:#1F262E;}
.ed-form .elementor-field-type-acceptance input[type=checkbox]{margin-top:4px;flex-shrink:0;}
/* --- Standortkarten: Kartenbereich mit gestrichelter Trennlinie --- */
.ed-map iframe{filter:none;display:block;}


/* --- Runde Nummern-Badges: Ziffer exakt mittig --- */
.ed-num-circle{display:flex !important;align-items:center;justify-content:center;flex:0 0 auto !important;aspect-ratio:1/1;}
.ed-num-circle > .elementor-widget-container{display:flex !important;flex-direction:row !important;
  align-items:center;justify-content:center;width:100%;height:100%;}
.ed-num-circle > .elementor-widget-heading{width:auto;}
.ed-num-circle .elementor-heading-title, .ed-num-circle p{line-height:1;margin:0;}


/* --- Nummern-Badges (Ablauf): Ziffer exakt mittig im Kreis --- */
.ed-num-badge{display:flex !important;align-items:center;justify-content:center;text-align:center;}
.ed-num-badge > *, .ed-num-badge p, .ed-num-badge .elementor-heading-title{margin:0 !important;width:100%;}


/* Formular: Abstand Beschriftung -> Feld wie im Entwurf */
.ed-form .elementor-labels-above .elementor-field-group > label{padding-bottom:7px !important;display:block;line-height:1.25 !important;}


/* --- Historie/Zeitleiste: Aufzählungen mit Punkten (Entwurf: list-disc pl-5) --- */
.ed-timeline-list ul{list-style:disc;padding-left:20px;margin:0;}
.ed-timeline-list li{margin:0;}
.ed-timeline-list li strong{color:#1F262E;font-weight:700;}
.ed-gap-1 li + li{margin-top:4px;}
.ed-gap-2 li + li{margin-top:8px;}


/* --- Sofortmaßnahmen: zweispaltiges Raster --- */
.ed-measures{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr));}
@media (max-width:767px){.ed-measures{grid-template-columns:1fr;}}
.ed-measure-card{align-items:flex-start !important;}


/* --- Mobiler Anruf-Button (fixiert unten rechts, wie im Entwurf) --- */
.ed-sticky-call{position:fixed !important;right:16px;bottom:16px;z-index:50;width:max-content !important;}
.ed-sticky-call .elementor-button{border-radius:9999px;padding:12px 20px;}


/* --- Hamburger: 40x40 wie im Entwurf --- */
.ed-menu-toggle .elementor-button{width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;}


/* Buttons brechen nicht um (wie im Entwurf: whitespace-nowrap) */
.elementor-widget-button .elementor-button,
.elementor-widget-button .elementor-button-text{white-space:nowrap;}


/* --- Mobil-Korrekturen (Entwurf: einspaltig, Buttons einzeilig) --- */
.ed-btn-icon .elementor-button{white-space:nowrap;height:auto !important;min-height:44px;}
.ed-btn-icon .elementor-button-content-wrapper{flex-wrap:nowrap;}
.ed-num-badge,.ed-num-circle{aspect-ratio:1/1 !important;width:auto !important;min-width:0 !important;max-width:none !important;flex:0 0 auto !important;}
@media (max-width:767px){
  .ed-btn-icon .elementor-button{min-height:44px;}
}


/* Footer-Raster wie im Entwurf: 1 Spalte mobil, 2 ab 640px, 4 ab 1024px */
@media (max-width:639px){
  footer.elementor .elementor-element.elementor-element-3117cb5{grid-template-columns:minmax(0,1fr) !important;}
  footer.elementor .elementor-element.elementor-element-3117cb5 > *{grid-column:auto !important;}
  footer.elementor .elementor-element.elementor-element-3117cb5{gap:32px !important;}
}
@media (min-width:640px) and (max-width:1023px){
  footer.elementor .elementor-element.elementor-element-3117cb5{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (min-width:1024px){
  footer.elementor .elementor-element.elementor-element-3117cb5{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
}


/* FAQ mobil: kleinere Titelgröße wie im Entwurf (16/24 statt 18/28) */
@media (max-width:767px){
  .ed-faq{--n-accordion-title-font-size:16px;}
  .ed-faq .e-n-accordion-item-title-text{font-size:16px !important;line-height:24px;}
}

/* === EXTRADRY ENDE === *//* End custom CSS */
