.elementor-2862 .elementor-element.elementor-element-c50edb8{--display:flex;}.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-2862 .elementor-element.elementor-element-885d74e{--display:flex;}.elementor-2862 .elementor-element.elementor-element-3b8b071{--display:flex;}.elementor-2862 .elementor-element.elementor-element-233fe2f{--display:flex;}.elementor-2862 .elementor-element.elementor-element-dc122c4{--display:flex;}.elementor-2862 .elementor-element.elementor-element-df5e1fa{--n-accordion-title-font-size:1,75rem;--n-accordion-title-justify-content:space-between;--n-accordion-title-flex-grow:1;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-text );--n-accordion-icon-hover-color:var( --e-global-color-text );--n-accordion-icon-active-color:var( --e-global-color-text );}@media(max-width:1024px){.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-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 html, class: .elementor-element-0aa496c *//* ============================================================
   Taxi-Liste  –  <table class="taxi"> … </table>
   ============================================================ */

/* ---------- Grundlayout (alle Breiten) ---------- */
.taxi{
  width:100%;
  border-collapse:collapse;
  font-family:inherit;                 /* globale Text-Font */
  font-size:16px;
  line-height:1.45;
}
.taxi th,
.taxi td{
  padding:14px 18px;
  text-align:left;
  vertical-align:top;
}
.taxi th{                               /* Kopfzeile */
  color:var(--e-global-color-primary);
  font-weight:700;                      /* bold */
  border-bottom:2px solid var(--e-global-color-primary);
  padding-top:4px;
}
.taxi td{
  border-bottom:1px solid #e3e3e3;      /* dünne Zeilentrennung */
}
.taxi th:first-child,
.taxi td:first-child{ padding-left:0; }
.taxi th:last-child,
.taxi td:last-child{ padding-right:0; }

/* kleiner Zusatz (z. B. „bis 8 Pers.") */
.taxi .ms-sub{
  display:block;
  font-weight:400;
  font-size:.78em;
  opacity:.65;
  margin-top:3px;
}

/* ---------- Desktop / Tablet (ab 768px) ---------- */
/* Telefon-Spalte rechtsbündig */
@media (min-width: 768px){
  .taxi td:last-child,
  .taxi th:last-child{
    text-align:right;
    white-space:normal;
  }
  /* Telefon-Links in der Zelle nach rechts ausrichten */
  .taxi td:last-child .flex.flex-col{
    align-items:flex-end;
  }
}

/* ---------- Smartphone (bis 767px): Cards, alles zentriert ---------- */
@media (max-width: 767px){
  .taxi thead{                          /* Kopfzeile ausblenden */
    position:absolute;
    width:1px;height:1px;
    margin:-1px;padding:0;border:0;
    overflow:hidden;
    clip:rect(0 0 0 0);
  }
  .taxi,
  .taxi tbody,
  .taxi tr,
  .taxi td{
    display:block;
    width:100%;
  }
  .taxi tr{                             /* eine Karte pro Zeile */
    border:1px solid #e3e3e3;
    border-radius:8px;
    padding:14px 16px;
    margin:0 0 14px;
  }
  .taxi td{
    border:none;
    padding:6px 0;
    text-align:center;                  /* Inhalt zentriert */
    white-space:normal;
  }
  .taxi .ms-sub{ text-align:center; }
  .taxi td::before{                     /* Spaltenname als Label, zentriert */
    content:attr(data-label);
    display:block;
    text-align:center;
    font-size:.72em;
    font-weight:700;
    color:var(--e-global-color-primary);
    margin-bottom:6px;
  }
  .taxi td:empty{ display:none; }       /* leere Zellen ausblenden */

  /* Telefon-Buttons zentrieren */
  .taxi td:last-child .flex.flex-col{
    align-items:center;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0aa496c *//* ============================================================
   Taxi-Liste  –  <table class="taxi"> … </table>
   ============================================================ */

/* ---------- Grundlayout (alle Breiten) ---------- */
.taxi{
  width:100%;
  border-collapse:collapse;
  font-family:inherit;                 /* globale Text-Font */
  font-size:16px;
  line-height:1.45;
}
.taxi th,
.taxi td{
  padding:14px 18px;
  text-align:left;
  vertical-align:top;
}
.taxi th{                               /* Kopfzeile */
  color:var(--e-global-color-primary);
  font-weight:700;                      /* bold */
  border-bottom:2px solid var(--e-global-color-primary);
  padding-top:4px;
}
.taxi td{
  border-bottom:1px solid #e3e3e3;      /* dünne Zeilentrennung */
}
.taxi th:first-child,
.taxi td:first-child{ padding-left:0; }
.taxi th:last-child,
.taxi td:last-child{ padding-right:0; }

/* kleiner Zusatz (z. B. „bis 8 Pers.") */
.taxi .ms-sub{
  display:block;
  font-weight:400;
  font-size:.78em;
  opacity:.65;
  margin-top:3px;
}

/* ---------- Desktop / Tablet (ab 768px) ---------- */
/* Telefon-Spalte rechtsbündig */
@media (min-width: 768px){
  .taxi td:last-child,
  .taxi th:last-child{
    text-align:right;
    white-space:normal;
  }
  /* Telefon-Links in der Zelle nach rechts ausrichten */
  .taxi td:last-child .flex.flex-col{
    align-items:flex-end;
  }
}

/* ---------- Smartphone (bis 767px): Cards, alles zentriert ---------- */
@media (max-width: 767px){
  .taxi thead{                          /* Kopfzeile ausblenden */
    position:absolute;
    width:1px;height:1px;
    margin:-1px;padding:0;border:0;
    overflow:hidden;
    clip:rect(0 0 0 0);
  }
  .taxi,
  .taxi tbody,
  .taxi tr,
  .taxi td{
    display:block;
    width:100%;
  }
  .taxi tr{                             /* eine Karte pro Zeile */
    border:1px solid #e3e3e3;
    border-radius:8px;
    padding:14px 16px;
    margin:0 0 14px;
  }
  .taxi td{
    border:none;
    padding:6px 0;
    text-align:center;                  /* Inhalt zentriert */
    white-space:normal;
  }
  .taxi .ms-sub{ text-align:center; }
  .taxi td::before{                     /* Spaltenname als Label, zentriert */
    content:attr(data-label);
    display:block;
    text-align:center;
    font-size:.72em;
    font-weight:700;
    color:var(--e-global-color-primary);
    margin-bottom:6px;
  }
  .taxi td:empty{ display:none; }       /* leere Zellen ausblenden */

  /* Telefon-Buttons zentrieren */
  .taxi td:last-child .flex.flex-col{
    align-items:center;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0aa496c *//* ============================================================
   Taxi-Liste  –  <table class="taxi"> … </table>
   ============================================================ */

/* ---------- Grundlayout (alle Breiten) ---------- */
.taxi{
  width:100%;
  border-collapse:collapse;
  font-family:inherit;                 /* globale Text-Font */
  font-size:16px;
  line-height:1.45;
}
.taxi th,
.taxi td{
  padding:14px 18px;
  text-align:left;
  vertical-align:top;
}
.taxi th{                               /* Kopfzeile */
  color:var(--e-global-color-primary);
  font-weight:700;                      /* bold */
  border-bottom:2px solid var(--e-global-color-primary);
  padding-top:4px;
}
.taxi td{
  border-bottom:1px solid #e3e3e3;      /* dünne Zeilentrennung */
}
.taxi th:first-child,
.taxi td:first-child{ padding-left:0; }
.taxi th:last-child,
.taxi td:last-child{ padding-right:0; }

/* kleiner Zusatz (z. B. „bis 8 Pers.") */
.taxi .ms-sub{
  display:block;
  font-weight:400;
  font-size:.78em;
  opacity:.65;
  margin-top:3px;
}

/* ---------- Desktop / Tablet (ab 768px) ---------- */
/* Telefon-Spalte rechtsbündig */
@media (min-width: 768px){
  .taxi td:last-child,
  .taxi th:last-child{
    text-align:right;
    white-space:normal;
  }
  /* Telefon-Links in der Zelle nach rechts ausrichten */
  .taxi td:last-child .flex.flex-col{
    align-items:flex-end;
  }
}

/* ---------- Smartphone (bis 767px): Cards, alles zentriert ---------- */
@media (max-width: 767px){
  .taxi thead{                          /* Kopfzeile ausblenden */
    position:absolute;
    width:1px;height:1px;
    margin:-1px;padding:0;border:0;
    overflow:hidden;
    clip:rect(0 0 0 0);
  }
  .taxi,
  .taxi tbody,
  .taxi tr,
  .taxi td{
    display:block;
    width:100%;
  }
  .taxi tr{                             /* eine Karte pro Zeile */
    border:1px solid #e3e3e3;
    border-radius:8px;
    padding:14px 16px;
    margin:0 0 14px;
  }
  .taxi td{
    border:none;
    padding:6px 0;
    text-align:center;                  /* Inhalt zentriert */
    white-space:normal;
  }
  .taxi .ms-sub{ text-align:center; }
  .taxi td::before{                     /* Spaltenname als Label, zentriert */
    content:attr(data-label);
    display:block;
    text-align:center;
    font-size:.72em;
    font-weight:700;
    color:var(--e-global-color-primary);
    margin-bottom:6px;
  }
  .taxi td:empty{ display:none; }       /* leere Zellen ausblenden */

  /* Telefon-Buttons zentrieren */
  .taxi td:last-child .flex.flex-col{
    align-items:center;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0aa496c *//* ============================================================
   Taxi-Liste  –  <table class="taxi"> … </table>
   ============================================================ */

/* ---------- Grundlayout (alle Breiten) ---------- */
.taxi{
  width:100%;
  border-collapse:collapse;
  font-family:inherit;                 /* globale Text-Font */
  font-size:16px;
  line-height:1.45;
}
.taxi th,
.taxi td{
  padding:14px 18px;
  text-align:left;
  vertical-align:top;
}
.taxi th{                               /* Kopfzeile */
  color:var(--e-global-color-primary);
  font-weight:700;                      /* bold */
  border-bottom:2px solid var(--e-global-color-primary);
  padding-top:4px;
}
.taxi td{
  border-bottom:1px solid #e3e3e3;      /* dünne Zeilentrennung */
}
.taxi th:first-child,
.taxi td:first-child{ padding-left:0; }
.taxi th:last-child,
.taxi td:last-child{ padding-right:0; }

/* kleiner Zusatz (z. B. „bis 8 Pers.") */
.taxi .ms-sub{
  display:block;
  font-weight:400;
  font-size:.78em;
  opacity:.65;
  margin-top:3px;
}

/* ---------- Desktop / Tablet (ab 768px) ---------- */
/* Telefon-Spalte rechtsbündig */
@media (min-width: 768px){
  .taxi td:last-child,
  .taxi th:last-child{
    text-align:right;
    white-space:normal;
  }
  /* Telefon-Links in der Zelle nach rechts ausrichten */
  .taxi td:last-child .flex.flex-col{
    align-items:flex-end;
  }
}

/* ---------- Smartphone (bis 767px): Cards, alles zentriert ---------- */
@media (max-width: 767px){
  .taxi thead{                          /* Kopfzeile ausblenden */
    position:absolute;
    width:1px;height:1px;
    margin:-1px;padding:0;border:0;
    overflow:hidden;
    clip:rect(0 0 0 0);
  }
  .taxi,
  .taxi tbody,
  .taxi tr,
  .taxi td{
    display:block;
    width:100%;
  }
  .taxi tr{                             /* eine Karte pro Zeile */
    border:1px solid #e3e3e3;
    border-radius:8px;
    padding:14px 16px;
    margin:0 0 14px;
  }
  .taxi td{
    border:none;
    padding:6px 0;
    text-align:center;                  /* Inhalt zentriert */
    white-space:normal;
  }
  .taxi .ms-sub{ text-align:center; }
  .taxi td::before{                     /* Spaltenname als Label, zentriert */
    content:attr(data-label);
    display:block;
    text-align:center;
    font-size:.72em;
    font-weight:700;
    color:var(--e-global-color-primary);
    margin-bottom:6px;
  }
  .taxi td:empty{ display:none; }       /* leere Zellen ausblenden */

  /* Telefon-Buttons zentrieren */
  .taxi td:last-child .flex.flex-col{
    align-items:center;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0aa496c *//* ============================================================
   Taxi-Liste  –  <table class="taxi"> … </table>
   ============================================================ */

/* ---------- Grundlayout (alle Breiten) ---------- */
.taxi{
  width:100%;
  border-collapse:collapse;
  font-family:inherit;                 /* globale Text-Font */
  font-size:16px;
  line-height:1.45;
}
.taxi th,
.taxi td{
  padding:14px 18px;
  text-align:left;
  vertical-align:top;
}
.taxi th{                               /* Kopfzeile */
  color:var(--e-global-color-primary);
  font-weight:700;                      /* bold */
  border-bottom:2px solid var(--e-global-color-primary);
  padding-top:4px;
}
.taxi td{
  border-bottom:1px solid #e3e3e3;      /* dünne Zeilentrennung */
}
.taxi th:first-child,
.taxi td:first-child{ padding-left:0; }
.taxi th:last-child,
.taxi td:last-child{ padding-right:0; }

/* kleiner Zusatz (z. B. „bis 8 Pers.") */
.taxi .ms-sub{
  display:block;
  font-weight:400;
  font-size:.78em;
  opacity:.65;
  margin-top:3px;
}

/* ---------- Desktop / Tablet (ab 768px) ---------- */
/* Telefon-Spalte rechtsbündig */
@media (min-width: 768px){
  .taxi td:last-child,
  .taxi th:last-child{
    text-align:right;
    white-space:normal;
  }
  /* Telefon-Links in der Zelle nach rechts ausrichten */
  .taxi td:last-child .flex.flex-col{
    align-items:flex-end;
  }
}

/* ---------- Smartphone (bis 767px): Cards, alles zentriert ---------- */
@media (max-width: 767px){
  .taxi thead{                          /* Kopfzeile ausblenden */
    position:absolute;
    width:1px;height:1px;
    margin:-1px;padding:0;border:0;
    overflow:hidden;
    clip:rect(0 0 0 0);
  }
  .taxi,
  .taxi tbody,
  .taxi tr,
  .taxi td{
    display:block;
    width:100%;
  }
  .taxi tr{                             /* eine Karte pro Zeile */
    border:1px solid #e3e3e3;
    border-radius:8px;
    padding:14px 16px;
    margin:0 0 14px;
  }
  .taxi td{
    border:none;
    padding:6px 0;
    text-align:center;                  /* Inhalt zentriert */
    white-space:normal;
  }
  .taxi .ms-sub{ text-align:center; }
  .taxi td::before{                     /* Spaltenname als Label, zentriert */
    content:attr(data-label);
    display:block;
    text-align:center;
    font-size:.72em;
    font-weight:700;
    color:var(--e-global-color-primary);
    margin-bottom:6px;
  }
  .taxi td:empty{ display:none; }       /* leere Zellen ausblenden */

  /* Telefon-Buttons zentrieren */
  .taxi td:last-child .flex.flex-col{
    align-items:center;
  }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-df5e1fa */.elementor-2862 .elementor-element.elementor-element-df5e1fa .e-n-accordion {
    background-color: var(--color-white, #ffffff) !important;
    border: 1px solid var(--color-gray-200, #e5e7eb) !important;
    border-radius: var(--radius-xl, 0.75rem) !important;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
    overflow: hidden !important;
    gap: 0 !important;
}

.elementor-2862 .elementor-element.elementor-element-df5e1fa .e-n-accordion-item {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid var(--color-gray-200, #e5e7eb) !important;
    margin-bottom: 0 !important;
}

.elementor-2862 .elementor-element.elementor-element-df5e1fa .e-n-accordion-item:last-child {
    border-bottom: none !important;
}

.elementor-2862 .elementor-element.elementor-element-df5e1fa .e-n-accordion-item-title {
    padding: 1.25rem 1.5rem !important;
    background-color: var(--color-gray-50, #f9fafb) !important;
    border: none !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    transition: background-color 0.2s ease-in-out !important;
    cursor: pointer !important;
    margin: 0 !important;
}

.elementor-2862 .elementor-element.elementor-element-df5e1fa .e-n-accordion-item-title::marker,
.elementor-2862 .elementor-element.elementor-element-df5e1fa .e-n-accordion-item-title::-webkit-details-marker {
    display: none !important;
    content: "" !important;
}

.elementor-2862 .elementor-element.elementor-element-df5e1fa .e-n-accordion-item-title:hover {
    background-color: var(--color-gray-100, #f3f4f6) !important;
}

.elementor-2862 .elementor-element.elementor-element-df5e1fa .e-n-accordion-item-title-header {
    flex-grow: 1 !important;
    margin: 0 !important;
    overflow: hidden !important;
}

.elementor-2862 .elementor-element.elementor-element-df5e1fa .e-n-accordion-item-title-header h1,
.elementor-2862 .elementor-element.elementor-element-df5e1fa .e-n-accordion-item-title-header h2,
.elementor-2862 .elementor-element.elementor-element-df5e1fa .e-n-accordion-item-title-header h3,
.elementor-2862 .elementor-element.elementor-element-df5e1fa .e-n-accordion-item-title-header h4,
.elementor-2862 .elementor-element.elementor-element-df5e1fa .e-n-accordion-item-title-header h5,
.elementor-2862 .elementor-element.elementor-element-df5e1fa .e-n-accordion-item-title-header h6,
.elementor-2862 .elementor-element.elementor-element-df5e1fa .e-n-accordion-item-title-text {
    color: var(--color-gray-900) !important;
    font-weight: var(--font-weight-semibold, 600) !important;
    font-size: var(--text-xl, 1.25rem) !important;
    font-family: var(--font-sans) !important;
    line-height: var(--text-xl--line-height, 1.4) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.elementor-2862 .elementor-element.elementor-element-df5e1fa .e-n-accordion-item-title-icon {
    order: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 0 0 1rem !important;
    flex-shrink: 0 !important;
}

.elementor-2862 .elementor-element.elementor-element-df5e1fa .e-n-accordion-item-title-icon svg,
.elementor-2862 .elementor-element.elementor-element-df5e1fa .e-n-accordion-item-title-icon i {
    fill: var(--color-gray-900) !important;
    color: var(--color-gray-900) !important;
    width: 1.15rem !important;
    height: 1.15rem !important;
    transition: fill 0.3s ease !important;
}

.elementor-2862 .elementor-element.elementor-element-df5e1fa .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon svg,
.elementor-2862 .elementor-element.elementor-element-df5e1fa .e-n-accordion-item[open] .e-n-accordion-item-title-icon svg,
.elementor-2862 .elementor-element.elementor-element-df5e1fa .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon i,
.elementor-2862 .elementor-element.elementor-element-df5e1fa .e-n-accordion-item[open] .e-n-accordion-item-title-icon i {
    fill: var(--color-gray-900) !important;
    color: var(--color-gray-900) !important;
}

.elementor-2862 .elementor-element.elementor-element-df5e1fa .e-n-accordion-item > div[role="region"] {
    padding: 1.25rem 1.5rem !important;
    background-color: var(--color-white, #ffffff) !important;
    border: none !important;
    border-top: 1px solid var(--color-gray-200, #e5e7eb) !important;
    color: var(--color-gray-600, #4b5563) !important;
}

/* --- Akkordeon-Titel: auf Mobil umbrechen statt abschneiden --- */
@media (max-width: 767px){
  #bauleitplanung .e-n-accordion-item-title{
    align-items: flex-start !important;   /* Chevron bleibt oben bündig */
  }

  #bauleitplanung .e-n-accordion-item-title-header{
    overflow: visible !important;
    min-width: 0;                          /* erlaubt dem Flex-Item zu schrumpfen */
  }

  #bauleitplanung .e-n-accordion-item-title-header h1,
  #bauleitplanung .e-n-accordion-item-title-header h2,
  #bauleitplanung .e-n-accordion-item-title-header h3,
  #bauleitplanung .e-n-accordion-item-title-header h4,
  #bauleitplanung .e-n-accordion-item-title-header h5,
  #bauleitplanung .e-n-accordion-item-title-header h6,
  #bauleitplanung .e-n-accordion-item-title-text{
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: break-word;
    hyphens: auto;
  }

  #bauleitplanung .e-n-accordion-item-title-icon{
    margin-top: .25rem !important;         /* Chevron auf Höhe der ersten Zeile */
  }
}/* End custom CSS */