body, h3, h2, h4, h5, h6 {
  font-family: 'Manrope LOC', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
}

h1, {
  font-family: 'Cal Sans LOC', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
}

p, h3 {
  hyphens: auto;
}

/* ---------- Allgemein ---------- */
.leistungen-hover {
    position: relative !important;
    background: var(--card-bg);
    border-radius: 8px;
    overflow: visible !important;
    transform-origin: center center !important;
    will-change: transform;
    transition: transform 0.35s ease, background-color 0.35s ease, box-shadow 0.35s ease !important;
}

/* ganz wichtig: innere Container dürfen NICHT der Bezugspunkt sein */
.leistungen-hover .column-wrapper,
.leistungen-hover .ba-grid-column-wrapper,
.leistungen-hover .ba-grid-column,
.leistungen-hover .ba-item {
    position: static !important;
}

/* der vorhandene Link wird über den ganzen Kasten gelegt */
.leistungen-hover a.ba-btn-transition {
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: block !important;
    z-index: 50;
}

/* Inhalt soll optisch sichtbar bleiben */
.leistungen-hover .ba-item-icon,
.leistungen-hover .ba-item-text,
.leistungen-hover .content-text {
    pointer-events: none;
    position: relative;
    z-index: 2;
}

.leistungen-hover .ba-item-icon i,
.leistungen-hover .ba-item-text,
.leistungen-hover .ba-item-text p,
.leistungen-hover .content-text,
.leistungen-hover .content-text * {
    transition: color 0.35s ease !important;
}

.leistungen-hover:hover {
    background-color: var(--hover) !important;
    transform: translateY(-1px) scale(1.05) !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

.leistungen-hover:hover .ba-item-icon i,
.leistungen-hover:hover .ba-item-text,
.leistungen-hover:hover .ba-item-text p,
.leistungen-hover:hover .content-text,
.leistungen-hover:hover .content-text * {
    color: #fff !important;
}

.leistungen-hover .ba-overlay {
    display: none !important;
}

.leistungen-hover .ba-grid-column {
    background: transparent !important;
}
/*-------Bulletpoints-----*/ 
.ba-item-icon-list .vertical-layout li {
margin-top: 0px;
}

/*-----Slideshow (Referenzen)--------*/
.ba-slideshow-img {
    border-radius: 8px !important;
}

.ba-slideshow-caption{
    border-radius: 8px;
}

/* ===== Carousel komplett ===== */

.ba-item-carousel ul,
.ba-item-carousel li {
    list-style: none !important;
    margin: 0;
    padding: 0;
}

.ba-item-carousel li::marker,
.ba-item-carousel li::before {
    content: none !important;
    display: none !important;
}

/* Wrapper */
.ba-item-carousel .slideset-wrapper {
    display: flex;
    flex-direction: column;
}

/* Das eigentliche Carousel */
.ba-item-carousel .ba-slideset {
    display: flex;
    flex-direction: column;
}

/* Reihenfolge */
.ba-item-carousel .slideshow-content {
    order: 1;
    margin-bottom: 20px;
}

/* Nav darunter */
.ba-item-carousel .ba-slideset-nav {
    order: 2;
}

/* Nav und Dots unter die Bilder holen */
.ba-item-carousel .ba-slideset-nav {
    position: initial !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

/* Pfeile */
.ba-item-carousel .ba-slideset-nav {
    margin-top: 50px;
    gap: 20px;
}



/* Pfeile sauber zurücksetzen */
.ba-item-carousel .slideset-btn-prev,
.ba-item-carousel .slideset-btn-next {
    position: initial !important;
    margin: 0 !important;
    line-height: 1;
    text-decoration: none;
}

/* Altes manuelles Verschieben sicher entfernen */
.ba-item-carousel .ba-btn-transition.slideset-btn-next.ba-icons.ba-icon-chevron-right {
    margin-left: 0 !important;
}


/* Mobile */
@media (max-width: 768px) {
    .ba-item-carousel .slideshow-content {
        margin-bottom: 50px;
    }

    .ba-item-carousel .ba-slideset-nav {
        gap: 16px;
        margin-top: 10px;
    }
}

.ba-item-slideset .ba-slideset-nav {
    order: 3;
}


/* Nav und Dots unter die Bilder holen */
.ba-item-slideset .ba-slideset-nav {
    position: initial !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

/* Pfeile */
.ba-item-slideset .ba-slideset-nav {
    margin: 12px  0 0 0;
    gap: 20px;
}

/* Optional: etwas sauberere Pfeil-Anordnung */
.ba-item-slideset .slideset-btn-prev,
.ba-item-slideset .slideset-btn-next {
    position: initial !important;
}

.ba-btn-transition.slideset-btn-next.ba-icons.ba-icon-chevron-right {
 margin-left: 125px !important;
}

/*-----------So arbeiten wir-------------*/
@media(min-width: 1025px) {
  .so-arbeiten-wir .nr-arbeit .column-wrapper {
flex-direction: column;
}
  
  .so-arbeiten-wir .nr-arbeit .column-wrapper .ba-col-3,
.so-arbeiten-wir .nr-arbeit .column-wrapper .ba-col-6{
width: 100%;
}

  
  .so-arbeiten-wir .nr-arbeit {
height: 250px;
}
  }

.so-arbeiten-wir .nr-arbeit.var-1 {
align-content: end;
}

.so-arbeiten-wir .nr-arbeit.var-2 {
align-content: start;
}


@media (max-width: 1024px) and (min-width:769px)  {
  .nr-arbeit .arbeit-strich {
  transform: rotate(-90deg)
  }
  
  .arbeit-row .ba-row-wrapper:has(.nr-arbeit) {
  width: 50%;
  }
  
  .so-arbeiten-wir .arbeit-row {
  flex-direction: row !important;
  }
  
  .so-arbeiten-wir .nr-arbeit.var-1 .column-wrapper {
justify-content: end;
}

.pfeil {
 rotate: 90deg;
}
}

@media (max-width: 768px) {
  .arbeit-row .ba-row-wrapper:has(.var-1.top) {
  order: 1;
  }
  
  .arbeit-row .ba-row-wrapper:has(.var-1.bottom) {
  order: 2;
  }
  
  .nr-arbeit.var-1 .arbeit-strich {
  transform: rotate(180deg)
  }
}

/*------------------FAQ----------------*/
.accordion-heading > a > span + i {
  right: 30px !important;
}

/* Linie von der Überschrift entfernen */
.ba-item-accordion .ba-panel-title {
    border-bottom: none !important;
}

/* Linie zum Content hinzufügen */
.ba-item-accordion .ba-panel-content,
.ba-item-accordion .ba-collapse-content,
.ba-item-accordion .accordion-body {
    border-top: 2px solid var(--border) !important;
}

.accordion-inner {
		padding-top: 0px !important;
		padding-left: 15px !important;
		padding-right: 15px !important;
		padding-bottom: 15px !important;
}

.ba-item-accordion .ba-panel-title {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.ba-item-accordion .ba-panel-content,
.ba-item-accordion .ba-collapse-content,
.ba-item-accordion .accordion-body {
    border-top: none !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.ba-item-accordion .ba-panel-title {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.ba-item-accordion .ba-panel-content,
.ba-item-accordion .ba-collapse-content,
.ba-item-accordion .accordion-body {
    border-top: none !important;
    margin-top: -1px !important;
    padding-top: 0 !important;
}

.accordion-title {
  padding-right: 15px;
}

/* Standard: Linie bleibt (für geschlossene Items) */
.ba-item-accordion .ba-panel-title {
    border-bottom: 2px solid var(--border);
}

/* Wenn geöffnet → Linie entfernen */
.ba-item-accordion .ba-panel.active .ba-panel-title,
.ba-item-accordion .ba-panel.open .ba-panel-title {
    border-bottom: none !important;
}

/* Content nach oben ziehen nur im offenen Zustand */
.ba-item-accordion .ba-panel.active .ba-panel-content,
.ba-item-accordion .ba-panel.open .ba-panel-content,
.ba-item-accordion .ba-panel.active .ba-collapse-content,
.ba-item-accordion .ba-panel.open .ba-collapse-content,
.ba-item-accordion .ba-panel.active .accordion-body,
.ba-item-accordion .ba-panel.open .accordion-body {
    margin-top: -1px !important;
    padding-top: 0 !important;
}

.ba-item-accordion .accordion-toggle {
    position: relative;
    display: block;
}

.ba-item-accordion .accordion-toggle::after {
    content: "";
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 0;
    height: 1.5px;
    background: var(--border);
    opacity: 1;
    transition: opacity 0.25s ease;
}

.ba-item-accordion .accordion-toggle.active::after {
    opacity: 0;
}

/* Wenn offen: Linie ausblenden */
.ba-item-accordion .accordion-toggle.active::after {
    display: none !important;
}

/* Offenen Content leicht hochziehen, damit keine Doppel-Linie entsteht */
.ba-item-accordion .accordion-body.in {
    margin-top: -1.5px !important;
}
.ba-grid-column:has(.faq-answer) {
min-height: 0px !important;
}

/*-------------Kontakt Formular---------------*/
.ba-form-submit-btn {
font-family: 'Cal-Sans LOC' !important;
	flex-grow: revert !important;
	padding-bottom: 10px;
  padding-left: 25px;
	padding-right: 25px;
 	padding-top: 10px;
  letter-spacing: 0.25px;
}

.ba-form-page {
	padding: 0px !important;
}

.kontaktformular .ba-form-acceptance-html a {
color: var(--primary) !important;
}

.ba-form-acceptance-field label.ba-form-checkbox > span {
background: white !important;
  border: 2.5px solid var(--border) !important;
  height: 30px;
  width: 30px;
}

.kontaktformular .ba-form-acceptance-field label.ba-form-checkbox > span:hover {
border: 2.5px solid var(--border) !important;
  background: var(--primary) !important;
}

.kontaktformular .ba-form-acceptance-field label.ba-form-checkbox input[type="checkbox"]:checked + span {
background: var(--primary) !important;
  border: 3px solid var(--border) !important;
}

.ba-form-submit-field {
margin-bottom: 0px !important;
}

.kontaktformular .ba-form-acceptance-html p {
  font-size: 14px !important;
}


.ba-counter.plus-number .counter-number::before,
.plus-number .ba-counter .counter-number::before,
.plus-number .counter-number::before {
    content: "+";
}
/*----------Zitat-Box-----------*/
@media (min-width: 1281px) {
  .header .ba-row-wrapper:has(.quote-box) {
    width: calc(100% + 100px);
    z-index: 5;
    transform: translateX(50px);
  }
}

/*----------Immobilienbewertung------------*/
@media (min-width: 1441px) {
.ba-grid-column-wrapper:has(.immobilienbewertung-bild) {
  width: calc(48.93617021276595% + 70px);
  margin-left: -70px;
 }
}

@media (min-width: 1441px) {
.ba-grid-column-wrapper:has(.immobilienbewertung-bild-rechts) {
  width: calc(48.93617021276595% - 70px);
  margin-right: -70px;
 }
}

/*------Links Animation-----------*/
.ba-text a,
.ba-item-text a,
.ba-item-heading a,
.ba-icon-list-wrapper li a {
  text-decoration: none !important;
}

.ba-text a,
.ba-item-text a,
.ba-item-heading a,
.ba-icon-list-wrapper li a span {
  position: relative;
  display: inline-block;
}

.ba-text a::after,
.ba-item-text a::after,
.ba-item-heading a::after,
.ba-icon-list-wrapper li a span::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 1px;
  width: 0;
  height: 1px;
  background: currentColor;
  transition: width 0.3s ease;
}

.ba-text a:hover::after,
.ba-item-text a:hover::after,
.ba-item-heading a:hover::after,
.ba-icon-list-wrapper li a:hover span::after {
  width: 100%;
}
/*-------- Item List -------*/ 
.ba-icon-list-wrapper a,
.ba-icon-list-wrapper a:hover,
.ba-icon-list-wrapper a i {
  color: var(--primary) !important;
}

/*------ Pfeile ----------*/
.ba-icon-chevron-right::before {
  font-family: "interface";
  content: "\0045";
color: var(--primary)
}

.ba-icon-chevron-left::before {
  font-family: "interface";
  content: "\0045";
	color: var(--primary);
  display: inline-block; 
  transform: rotate(180deg);
}


.ba-item-icon-list li::before, .ba-item-icon-list li a::before, .ba-item-icon-list li i {
  margin-top: 0px !important;
  transform: translateY(0%);
}

li.list-item-without-link {
margin-bottom: 10px;
}

/* Menü */
@media (max-width: 768px) {
 .ba-hamburger-menu .open-menu {
   text-align: center !important;
  }
}

@media (max-width: 768px) {
  .kontaktformular .ba-form-page {
    padding: 0px !important;
  }
  
  .ba-field-container input[type="text"]::placeholder,
  .ba-field-container select,
.ba-field-container textarea::placeholder{
  font-size: 0.8rem !important;
  color: #222222 !important;
  }
}

.ba-field-container textarea::placeholder {
color: #222222 !important;
}

/*------------Buttons im mobilen-----------------*/
@media (max-width: 1024px) {
.ba-item-button {
margin-right: 15px !important;
}
}

/*------------wiederherstellung---------*/
.ba-form-1 input::placeholder,

.ba-form-1 textarea::placeholder {

  color: rgba(34, 34, 34, 1) !important;

  opacity: 1 !important;

}
 
.ba-form-1 input[type="text"],

.ba-form-1 input[type="password"],

.ba-form-1 input[type="datetime"],

.ba-form-1 input[type="datetime-local"],

.ba-form-1 input[type="date"],

.ba-form-1 input[type="month"],

.ba-form-1 input[type="time"],

.ba-form-1 input[type="week"],

.ba-form-1 input[type="number"],

.ba-form-1 input[type="email"],

.ba-form-1 input[type="url"],

.ba-form-1 input[type="search"],

.ba-form-1 input[type="tel"],

.ba-form-1 input[type="color"],

.ba-form-1 select,

.ba-form-1 textarea {

  border: 1px solid rgba(135, 40, 55, 1) !important;

  box-shadow: none !important;

  outline: none !important;

  background: transparent !important;

  width: 100% !important;

}
 
.ba-form-1 input[type="text"]:focus,

.ba-form-1 input[type="password"]:focus,

.ba-form-1 input[type="datetime"]:focus,

.ba-form-1 input[type="datetime-local"]:focus,

.ba-form-1 input[type="date"]:focus,

.ba-form-1 input[type="month"]:focus,

.ba-form-1 input[type="time"]:focus,

.ba-form-1 input[type="week"]:focus,

.ba-form-1 input[type="number"]:focus,

.ba-form-1 input[type="email"]:focus,

.ba-form-1 input[type="url"]:focus,

.ba-form-1 input[type="search"]:focus,

.ba-form-1 input[type="tel"]:focus,

.ba-form-1 input[type="color"]:focus,

.ba-form-1 select:focus,

.ba-form-1 textarea:focus {

  border: 1px solid rgba(135, 40, 55, 1) !important;

  box-shadow: none !important;

  outline: none !important;

}
 
/*#item-1774369273160 .ba-button-wrapper a, #item-1774341931065 .ba-scroll-to-top i {

  box-shadow: 0 0 0 4px #fff;
  border-radius: 8px;

}*/

.ba-hotspot-popover.ba-visible-hotspot-popover {
  right: 25px;
  left: auto !important;
  right: calc(100% - 230px) !important;
  transform: translate(-50%, calc(-20px - 100%));
}

.info-button .ba-hotspot-popover::after {
  /*border: 5px solid transparent;
    border-left-color: transparent;*/
  content: "";
  display: block;
  height: 0;
  left: calc(100% - 35px);
  position: absolute;
  width: 0px;
    bottom: -9px;
}

@media (max-width: 1280px) {
  .info-button.ba-item-hotspot .ba-hotspot-popover {
    left: auto !important;
    right: -85px !important;
    top: -63px !important;
    transform: translate(-30%, -62%) !important;
  }
}

@media (max-width: 786px) {
  .info-button.ba-item-hotspot .ba-hotspot-popover {
    left: auto !important;
    right: -110px !important;
    top: -140px !important;
  }
}

@media (max-width: 420px) {
  .info-button.ba-item-hotspot .ba-hotspot-popover {
    left: auto !important;
    right: -93px !important;
    top: -155px !important;
  }
}
/*--------------Immobilienangebote----------------------*/
.ba-icons.ba-icon-circle {
  border-radius: 8px;
}

.ba-item-recent-posts-slider .carousel-type .ba-slideshow-caption > * {
  padding: 0 0px;
}

.ba-item-blog-posts .ba-blog-post-content {
padding: 0 0px;
}

/*-------------Menue------------*/
/* ===== NUR HAUPTMENÜ ===== */
.ba-menu-wrapper .mod-menu a,
.ba-menu-wrapper .mod-menu .mod-menu__heading {
  position: relative;
  display: inline-block; 
  width: fit-content;    
  text-decoration: none !important;
}

/* Linie */
.ba-menu-wrapper .mod-menu a::after,
.ba-menu-wrapper .mod-menu .mod-menu__heading::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 1px;
  width: 0;
  height: 1px;
  background: currentColor;
  transition: width 0.3s ease;
}

/* Hover */
.ba-menu-wrapper .mod-menu a:hover::after,
.ba-menu-wrapper .mod-menu .mod-menu__heading:hover::after {
  width: 100%;
}

/* ACTIVE */
.ba-menu-wrapper .mod-menu .current > a::after,
.ba-menu-wrapper .mod-menu .active > a::after,
.ba-menu-wrapper .mod-menu a.active::after {
  width: 100%;
}

.ba-menu-wrapper .mod-menu__sub li a {
  padding-top: 10px !important;
  padding-bottom: 5px !important;
}

#item-17749643870302 .ba-menu-wrapper > .main-menu > .integration-wrapper > ul > li > :not(ul):not(div) {
  margin-left: 15px;
  margin-right: 15px;
	padding-left: 0px;
  padding-right: 0px;
}

#item-17749643870302 .main-menu li.deeper.parent > ul li > :not(ul):not(div) {
padding-left: 0px;
  padding-right: 0px;
}
.ba-icon-caret-right::before {
  content: none;
}

.ba-icon-caret-right::after {
  font-family: "interface";
  font-size: 12px;
  content: "\0045";
	color: var(--titel-invers);
  display: inline-block; 
  transform: rotate(90deg);
}

@media (max-width: 1440px) {
  .megamenu-item > a::after, .megamenu-item > span::after, .deeper.parent > span::after, .deeper.parent > a::after {
    padding: 0px;
    content: '';
    margin-left: 0em;
  }
}

@media (max-width: 1440px) {
  #item-17749648478891 > .ba-menu-wrapper > .main-menu > .integration-wrapper > ul > li > :not(ul):not(div) {
    margin-right: 15px;
    margin-left: 15px;
  padding-left: 0px;
  padding-right: 0px;
  }
}

#item-17749648478891 .main-menu li.deeper.parent > ul li > :not(ul):not(div) {
   padding-left: 0px;
  padding-right: 0px;
margin-left: 15px
}

/*-----------objekte-------------*/
/* ===== Post Slider nur für #item-1775803520741 ===== */

#item-1775803520741 ul,
#item-1775803520741 li {
    list-style: none !important;
    margin: 0;
    padding: 0;
}

#item-1775803520741 li::marker,
#item-1775803520741 li::before {
    content: none !important;
    display: none !important;
}

/* Wrapper */
#item-1775803520741 .slideset-wrapper {
    display: flex;
    flex-direction: column;
}

/* Das eigentliche Slideset */
#item-1775803520741 .ba-slideset {
    display: flex;
    flex-direction: column;
}

/* Content oben */
#item-1775803520741 .slideshow-content {
    order: 1;
    margin-bottom: 20px;
}

/* Navigation unten */
#item-1775803520741 .ba-slideset-nav {
    order: 2;
    position: initial !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-top: 50px;
    gap: 20px;
}

/* Pfeile */
#item-1775803520741 .slideset-btn-prev,
#item-1775803520741 .slideset-btn-next {
    position: static !important;
}

/*------------BLOG------------*/

.ba-blog-post-content {
  padding: 0 25px 25px 25px !important;
}

.fullscreen-post.intro-post-wrapper {
 align-items: center;
}

/*------------ Angebote Blog Slider------------*/
.ba-slideshow-caption {
	padding: 0px 25px 25px 25px;
}

.angebote .slideshow-content .item.active {
	box-shadow: 0px 10px 20px 0px rgba(34, 34, 34, 0.15);
	border-radius: 8px;
}

.ba-slideset .slideshow-content {
overflow: visible;
  padding-bottom: 25px;
}

.angebote .slideset-wrapper .ba-slideset {
overflow: visible;
}

.angebote .ba-blog-post-button-wrapper,
.angebote .ba-blog-post-content .ba-blog-post-button-wrapper {
  margin-top: auto;
}

.ba-blog-post {
  display: flex;
  flex-direction: column;
}

.ba-item-blog-posts .ba-blog-post-content {
  display: flex;
  flex-direction: column;
}

.rechtliches h2 {
 font-family: 'Manrope LOC';
font-size: 25px
}

.rechtliches h3 {
 font-family: 'Manrope LOC';
font-size: 25px
}




.intro-post-wrapper .intro-post-title-wrapper {
  margin-left: 0px;
  margin-right: 0px;
}


/* ============================================================
   Untermenü öffnet sich auch bei Tastaturfokus, nicht nur bei Hover
   ============================================================ */
 
.ba-item-main-menu .mod-menu li.parent:focus-within > .mod-menu__sub,
.ba-item-main-menu .mod-menu li.parent.is-open   > .mod-menu__sub {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
    max-height: none !important;
}
 
/* ============================================================
   Sichtbarer Fokusindikator
   Viele Templates setzen outline:none – das muss zurück.
   Kontrast des Rings zum Hintergrund muss mind. 3:1 betragen (WCAG 2.2, 2.4.11/2.4.13)
   ============================================================ */
 
.ba-item-main-menu a:focus-visible,
.ba-item-main-menu [role="button"]:focus-visible,
.ba-item-button a:focus-visible,
.ba-item-image a:focus-visible {
    outline: 1px solid rgba(34, 34, 34, 1);      /* auf dunklem Header-Hintergrund */
    outline-offset: 3px;
    border-radius: 50px;
}
 
/* Falls der Header hell ist, stattdessen eine dunkle Farbe verwenden. */
 
/* Hamburger-Icons als Buttons: Cursor + Fokus */
.ba-menu-wrapper .open-menu,
.ba-menu-wrapper .close-menu {
    cursor: pointer;
}
 
/* Reduzierte Bewegung respektieren (WCAG 2.3.3) */
@media (prefers-reduced-motion: reduce) {
    .ba-item-main-menu .mod-menu__sub {
        transition: none !important;
        animation: none !important;
    }
}
