@charset "UTF-8";
/* Links: Transition bei Hover-Änderungen */
a {
  transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, opacity 0.25s ease, fill 0.25s ease;
}
/* Inhalts-Links (Mehr lesen etc.): 80% Schwarz → 100% Schwarz */
.elementor-widget-text-editor a, .em-mehr-lesen a {
  color: rgba(0, 0, 0, 0.8);
  text-decoration: none;
}
.elementor-widget-text-editor a:hover, .elementor-widget-text-editor a:focus, .em-mehr-lesen a:hover, .em-mehr-lesen a:focus {
  color: #000000;
}
/* Aufzählungen nie im Blocksatz */
.elementor-widget-text-editor ul, .elementor-widget-text-editor ol, .elementor-widget-text-editor li, .elementor-widget-text-editor ul li, .elementor-widget-text-editor ol li {
  text-align: start !important;
}
/* Inhalts-Sections: Hintergrund full-bleed, Inhalt boxed (Elementor content_width=boxed) */
.em-kompetenz-section.e-con, .em-kompetenz-section {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}
.em-kompetenz-section > .e-con-inner {
  max-width: 1200px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
.em-kompetenz-alt {
  background-color: #f5f7fa;
}
/* Scheidung-Formular: Abschnittsüberschriften */
.em-scheidung-form .em-form-section-title, .em-form-section-title {
  font-family: "PT Serif", serif;
  font-weight: 400;
  font-size: 1.25rem;
  color: #43484d;
  margin: 1.5em 0 0.75em;
}
.em-scheidung-form .elementor-button {
  background-color: #333333 !important;
  border-color: #333333 !important;
  border-radius: 0;
  text-transform: none;
}
.em-scheidung-form .elementor-button:hover, .em-scheidung-form .elementor-button:focus {
  background-color: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
}
/* Datenschutz-Link im Acceptance-Feld */
.em-scheidung-form .elementor-field-type-acceptance a, .elementor-field-type-acceptance a {
  color: #000000;
  text-decoration: none;
  transition: color 0.25s ease;
}
.em-scheidung-form .elementor-field-type-acceptance a:hover, .em-scheidung-form .elementor-field-type-acceptance a:focus, .elementor-field-type-acceptance a:hover, .elementor-field-type-acceptance a:focus {
  color: #888888;
}
/* Select: leerer Wert wirkt wie Placeholder */
.em-scheidung-form .elementor-field-type-select select.em-select-placeholder, .elementor-field-type-select select.em-select-placeholder {
  color: #757575;
  transition: color 0.25s ease;
}
.em-scheidung-form .elementor-field-type-select select:not(.em-select-placeholder), .elementor-field-type-select select:not(.em-select-placeholder) {
  color: inherit;
  transition: color 0.25s ease;
}
.em-scheidung-form .elementor-field-type-select select option, .elementor-field-type-select select option {
  color: #333333;
}
/* Flipbox-Rückseite: [ Mehr lesen ... ] als Textlink */
.elementor-flip-box__back a.em-flip-mehr, .elementor-flip-box__back .em-flip-mehr {
  color: rgba(255, 255, 255, 0.65);
  text-decoration: none;
}
.elementor-flip-box__back a.em-flip-mehr:hover, .elementor-flip-box__back a.em-flip-mehr:focus, .elementor-flip-box__back .em-flip-mehr:hover, .elementor-flip-box__back .em-flip-mehr:focus {
  color: #ffffff;
}
/* Deutsche Silbentrennung (html[lang=de]) */
.elementor-flip-box__layer__title, .elementor-flip-box__layer__description, .elementor-heading-title, .e-n-accordion-item-title-text {
  hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  overflow-wrap: break-word;
  word-wrap: break-word;
}
/* Nested Accordion – global */
.elementor-widget-n-accordion {
  --n-accordion-padding: 15px 0;
  /* Kein Rahmen um den Accordion-Inhalt */
}
.elementor-widget-n-accordion .e-n-accordion-item-title {
  border-width: 0 0 1px 0;
  border-style: solid;
  border-color: #d0d0d0;
  border-radius: 0;
  padding-left: 0;
  padding-right: 0;
}
.elementor-widget-n-accordion .e-n-accordion-item > .e-con {
  border: 0 !important;
  --border-top-width: 0px;
  --border-right-width: 0px;
  --border-bottom-width: 0px;
  --border-left-width: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
}
.elementor-widget-n-accordion .elementor-widget-text-editor p {
  margin-bottom: 0.75em;
}
.elementor-widget-n-accordion .elementor-widget-text-editor p:last-child {
  margin-bottom: 0;
}
.elementor-widget-n-accordion .elementor-widget-text-editor .em-mehr-lesen {
  margin-top: 0.35em;
  margin-bottom: 0.35em;
}
/* OpenStreetMap in Graustufen */
.em-osm-map iframe, .elementor-element-241799a iframe {
  filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}
/* Kompetenzen-Text: 2 Spalten — Grid überschreibt Elementor-Flex-Fallen */
.em-text-row.e-con, .em-text-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 30px !important;
  align-items: start;
  --flex-wrap: nowrap;
  --gap: 0px !important;
  --row-gap: 0px !important;
  --column-gap: 0px !important;
}
.em-text-row > .em-col-half-gap, .em-text-row > .e-con {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  --width: 100% !important;
  flex: none !important;
  /* Padding-Gutter aus Elementor nicht doppelt mit Grid-Gap */
  --padding-left: 0px !important;
  --padding-right: 0px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
@media (max-width: 767px) {
  .em-text-row.e-con, .em-text-row {
    grid-template-columns: 1fr !important;
  }
}
/* Home Call-to-Action (Joomla floox-home-cta) */
.em-home-cta .em-cta-title .elementor-heading-title, .em-cta-title .elementor-heading-title {
  line-height: 1.2;
}
.em-home-cta .floox-title, .em-cta-title .floox-title {
  font-weight: 600;
}
.em-cta-button .elementor-button {
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 400;
  padding: 7px 15px;
  line-height: 1;
}
@media (max-width: 1024px) {
  .em-home-cta, .elementor-element-f29cf37 {
    --padding-top: 60px !important;
    --padding-bottom: 60px !important;
  }
}
/* Kontakt-Button schwarz (überschreibt Theme-Blau) */
.em-btn-contact .elementor-button, .elementor-widget-button.em-btn-contact .elementor-button {
  background-color: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
  border-radius: 0;
  transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
}
.em-btn-contact .elementor-button:hover, .em-btn-contact .elementor-button:focus, .elementor-widget-button.em-btn-contact .elementor-button:hover, .elementor-widget-button.em-btn-contact .elementor-button:focus {
  background-color: #000000 !important;
  border-color: #000000 !important;
  color: #cccccc !important;
}
/* Text-Links im Kompetenzen-Inhalt (wie Startseiten-Button / Joomla .embutton) */
a.embutton, a.em-btn-contact-link {
  display: inline-block;
  background-color: #000000;
  border: 0;
  border-radius: 0;
  color: #ffffff !important;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  padding: 7px 15px;
  text-decoration: none !important;
  margin: 0.75em 0 0;
  transition: color 0.25s ease, background-color 0.25s ease;
}
a.embutton:hover, a.embutton:focus, a.em-btn-contact-link:hover, a.em-btn-contact-link:focus {
  background-color: #000000;
  color: #cccccc !important;
}
/* Service: 3 Online-Formular-Karten nebeneinander */
.em-service-forms {
  display: flex !important;
  grid-template-columns: none !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
}
.em-service-forms > .e-con {
  width: 50% !important;
  max-width: 50% !important;
  --width: 50% !important;
  flex: 0 0 50% !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
}
@media (max-width: 767px) {
  .em-service-forms > .e-con {
    width: 100% !important;
    max-width: 100% !important;
    --width: 100% !important;
    flex-basis: 100% !important;
  }
}
/* Leistungen Accordion: Kontakt-Button volle Breite */
#leistungen .em-btn-contact .elementor-button, #leistungen .elementor-widget-button.em-btn-contact .elementor-button {
  display: flex;
  width: 100%;
  justify-content: center;
}
.elementor-location-footer .elementor-nav-menu--main .elementor-nav-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}
.elementor-location-footer .elementor-menu-toggle {
  display: none !important;
}
.elementor-location-footer .elementor-nav-menu--dropdown {
  display: none !important;
}
.elementor-location-footer .elementor-widget-text-editor a, .elementor-location-footer .elementor-nav-menu--main .elementor-item {
  color: #a8acb9;
  text-decoration: none;
  transition: color 0.25s ease;
}
.elementor-location-footer .elementor-widget-text-editor a:hover, .elementor-location-footer .elementor-widget-text-editor a:focus, .elementor-location-footer .elementor-nav-menu--main .elementor-item:hover, .elementor-location-footer .elementor-nav-menu--main .elementor-item:focus {
  color: #ffffff;
}
.elementor-location-footer .elementor-icon-list-items {
  margin: 0;
  padding: 0;
  list-style: none;
}
.elementor-location-footer .elementor-icon-list-item .elementor-icon-list-text, .elementor-location-footer .elementor-icon-list-item a {
  color: #a8acb9;
  text-decoration: none;
  transition: color 0.25s ease, fill 0.25s ease;
}
.elementor-location-footer .elementor-icon-list-item:hover .elementor-icon-list-text, .elementor-location-footer .elementor-icon-list-item:hover a, .elementor-location-footer .elementor-icon-list-item:hover .elementor-icon-list-icon i {
  color: #ffffff;
}
.elementor-location-footer .elementor-icon-list-item:hover .elementor-icon-list-icon svg {
  fill: #ffffff;
  transition: fill 0.25s ease;
}
.elementor-location-footer .em-footer-legal a {
  color: #96989d;
  transition: color 0.25s ease;
}
.elementor-location-footer .em-footer-legal a:hover, .elementor-location-footer .em-footer-legal a:focus {
  color: #ffffff;
}
@media (max-width: 1024px) {
  .elementor-location-footer .em-footer-columns > .elementor-container > .elementor-column {
    width: 50%;
  }
}
@media (max-width: 767px) {
  .elementor-location-footer .em-footer-columns > .elementor-container > .elementor-column {
    width: 100%;
    margin-bottom: 2rem;
  }
}
