/* ==========================================================================
   Footer im Relaunch-Design (Beaver-Themer-Layout „Footer", Post 252)
   Vorlage: distler-relaunch-entwurf.html (.site-footer)

   Inhalte bleiben in Beaver Builder gepflegt. Den Markup-Feinschliff
   (helles Logo, Kontaktblock mit Icons, <ul>-Listen, Trennzeichen) macht
   inc/footer-relaunch.php serverseitig, dieses CSS enthält Fallbacks,
   falls der Filter nicht greift (z. B. im Builder-Editor).

   Rows:  1tupmoq0gas3  Spalten (Logo/Kontakt · Wichtige Links · Ankauf/Angebote)
          r6zwf8yiec3u  leere Abstands-Row (ausgeblendet)
          0jrcuanbefdz  © + Impressum/Datenschutz/Barrierefreiheit
          dnp4if8v1ktm  Hinweis zur Echtheit von Bewertungen
          m8zw0bslg7od  „Kontakt aufnehmen"-Button (nur mobil, BB-Sichtbarkeit)
   Spalte 7vght4bnze2q (Desktop/Large/Mobil) und 7kag29bhjmil (nur Medium)
   werden von BB per display:none umgeschaltet, hier kein display auf .fl-col!
   Schriftgrößen folgen typography.css (Fließtext 18 px, Labels 15 px).
   ========================================================================== */

footer.fl-builder-content[data-type="footer"] {
    --ds-navy-800:  #1A2C40;
    --ds-gold:      #B69256;
    --ds-gold-soft: #CDAE78;
    --ds-fg:        rgba(255, 255, 255, 0.76);
    --ds-fg-muted:  rgba(255, 255, 255, 0.58);
    --ds-line:      rgba(255, 255, 255, 0.12);
    --ds-sans:      system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --ds-ease:      cubic-bezier(0.16, 1, 0.3, 1);
    --ds-dur:       280ms;
    --ds-container: 1240px;
    --ds-pad:       clamp(1rem, 3vw, 2rem);
    --ds-fs:        var(--ds-fs-body, 1.125rem);
    --ds-fs-title:  var(--ds-fs-label, 0.95rem);

    display: flex;
    flex-direction: column;
    background: var(--ds-navy-800);
    color: var(--ds-fg);
    font-family: var(--ds-sans);
    font-size: var(--ds-fs);
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}

/* ---------- Beaver-Builder-Rahmen neutralisieren ---------- */
/* Rows sind Flex-Items des Footers, BBs margin:auto würde sie auf Inhaltsbreite schrumpfen */
footer.fl-builder-content[data-type="footer"] > .fl-row,
footer.fl-builder-content[data-type="footer"] > .distler-ki-notice {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    flex: 0 0 auto;
    box-sizing: border-box;
}
footer.fl-builder-content[data-type="footer"] .fl-row > .fl-row-content-wrap {
    background: transparent !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 var(--ds-pad) !important;
}
footer.fl-builder-content[data-type="footer"] .fl-row .fl-row-content {
    width: 100%;
    max-width: var(--ds-container) !important;
    min-width: 0 !important;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
}
footer.fl-builder-content[data-type="footer"] .fl-col > .fl-col-content {
    background: transparent !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
}
footer.fl-builder-content[data-type="footer"] .fl-module > .fl-module-content {
    margin: 0 !important;
}
footer.fl-builder-content[data-type="footer"] .fl-node-r6zwf8yiec3u {
    display: none !important;
}
/* BB-Clearfix-Pseudoelemente würden in Grid-/Flex-Containern zu eigenen Items */
footer.fl-builder-content[data-type="footer"] .fl-node-xeczuw06kod2::before,
footer.fl-builder-content[data-type="footer"] .fl-node-xeczuw06kod2::after,
footer.fl-builder-content[data-type="footer"] .fl-node-my0qlf26d1bs::before,
footer.fl-builder-content[data-type="footer"] .fl-node-my0qlf26d1bs::after,
footer.fl-builder-content[data-type="footer"] .fl-node-35w7xbyrvlgk::before,
footer.fl-builder-content[data-type="footer"] .fl-node-35w7xbyrvlgk::after,
footer.fl-builder-content[data-type="footer"] .fl-node-i1glwrxaopzd > .fl-col-content::before,
footer.fl-builder-content[data-type="footer"] .fl-node-i1glwrxaopzd > .fl-col-content::after {
    display: none !important;
    content: none !important;
}

/* Reihenfolge unten: KI-Hinweis → Bewertungs-Hinweis → © / Rechtslinks → Mobil-Button */
footer.fl-builder-content[data-type="footer"] > .distler-ki-notice { order: 1; }
footer.fl-builder-content[data-type="footer"] > .fl-node-dnp4if8v1ktm { order: 2; }
footer.fl-builder-content[data-type="footer"] > .fl-node-0jrcuanbefdz { order: 3; }
footer.fl-builder-content[data-type="footer"] > .fl-node-m8zw0bslg7od { order: 4; }

/* ---------- Text & Links ---------- */
footer.fl-builder-content[data-type="footer"] .fl-rich-text,
footer.fl-builder-content[data-type="footer"] .fl-rich-text *:not(b):not(strong) {
    font-family: var(--ds-sans);
    text-align: left;
}
footer.fl-builder-content[data-type="footer"] .fl-rich-text p,
footer.fl-builder-content[data-type="footer"] .fl-rich-text li,
footer.fl-builder-content[data-type="footer"] .fl-rich-text span,
footer.fl-builder-content[data-type="footer"] .fl-rich-text em,
footer.fl-builder-content[data-type="footer"] .fl-rich-text address {
    color: var(--ds-fg) !important;
    font-size: var(--ds-fs);
    line-height: 1.55;
}
footer.fl-builder-content[data-type="footer"] .fl-rich-text p { margin: 0 0 1em; }
footer.fl-builder-content[data-type="footer"] .fl-rich-text p:last-child { margin-bottom: 0; }

footer.fl-builder-content[data-type="footer"] .fl-module-rich-text a,
footer.fl-builder-content[data-type="footer"] .fl-rich-text a {
    color: var(--ds-fg) !important;
    text-decoration: none !important;
    transition: color var(--ds-dur) var(--ds-ease);
}
footer.fl-builder-content[data-type="footer"] .fl-rich-text a * {
    color: inherit !important;
}
footer.fl-builder-content[data-type="footer"] .fl-module-rich-text a:hover,
footer.fl-builder-content[data-type="footer"] .fl-module-rich-text a:focus-visible {
    color: var(--ds-gold-soft) !important;
}
footer.fl-builder-content[data-type="footer"] a:focus-visible {
    outline: 2px solid var(--ds-gold-soft);
    outline-offset: 3px;
    border-radius: 3px;
}

/* ---------- Obere Row: Spalten-Grid ---------- */
footer.fl-builder-content[data-type="footer"] .fl-node-1tupmoq0gas3 > .fl-row-content-wrap {
    padding-top: clamp(4rem, 7vw, 6.5rem) !important;
    padding-bottom: 0 !important;
}
footer.fl-builder-content[data-type="footer"] .fl-node-1tupmoq0gas3 .fl-row-content {
    padding-bottom: clamp(2.5rem, 5vw, 4rem);
    border-bottom: 1px solid var(--ds-line);
}
footer.fl-builder-content[data-type="footer"] .fl-node-xeczuw06kod2 {
    display: grid;
    /* 240 / 500 / 420 px bei 1240 px: längste Einträge („Kaufpreisangebot anfordern",
       „IMMOBILIENANGEBOTE") bleiben einzeilig */
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 2.5fr) minmax(0, 2.1fr);
    gap: 2.5rem 2.5rem;
    align-items: start;
    width: 100%;
}
footer.fl-builder-content[data-type="footer"] .fl-node-xeczuw06kod2 > .fl-col {
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    flex: none !important;
    float: none !important;
    margin: 0 !important;
}

/* Spalte A: Logo */
footer.fl-builder-content[data-type="footer"] .fl-node-n86ceyu3q5pt > .fl-module-content {
    margin-bottom: 1.6rem !important;
}
footer.fl-builder-content[data-type="footer"] .fl-node-n86ceyu3q5pt .fl-photo {
    text-align: left;
}
footer.fl-builder-content[data-type="footer"] .fl-node-n86ceyu3q5pt .fl-photo-content {
    display: inline-block;
    line-height: 0;
}
footer.fl-builder-content[data-type="footer"] .fl-node-n86ceyu3q5pt img {
    display: block;
    height: 46px;
    width: auto;
    max-width: 100%;
}
footer.fl-builder-content[data-type="footer"] .fl-node-n86ceyu3q5pt a:focus-visible {
    outline-offset: 6px;
}

/* Spalte A: Kontaktblock mit Icons (Markup aus inc/footer-relaunch.php) */
footer.fl-builder-content[data-type="footer"] .ds-footer__contact address {
    font-style: normal;
    margin: 0;
    padding: 0;
}
footer.fl-builder-content[data-type="footer"] .ds-footer__item {
    display: flex;
    align-items: flex-start;
    gap: .8rem;
    margin: 0 0 .9rem;
    font-size: var(--ds-fs);
    line-height: 1.5;
}
footer.fl-builder-content[data-type="footer"] .ds-footer__item:last-child { margin-bottom: 0; }
footer.fl-builder-content[data-type="footer"] .ds-footer__item svg {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    margin-top: .3em;
    color: var(--ds-gold-soft) !important;
    stroke: var(--ds-gold-soft);
    fill: none;
}
footer.fl-builder-content[data-type="footer"] .ds-footer__item > span { display: block; }
/* Fallback ohne Umbau */
footer.fl-builder-content[data-type="footer"] .fl-node-t93qm6zo5jsy p { margin: 0 0 .9rem; }

/* Spalte A: „zum Kontaktformular" */
footer.fl-builder-content[data-type="footer"] .fl-node-lh8jp52tusqm > .fl-module-content {
    margin-top: 1.4rem !important;
}
footer.fl-builder-content[data-type="footer"] .fl-node-lh8jp52tusqm span[style] {
    text-decoration: none !important;
}
footer.fl-builder-content[data-type="footer"] .fl-node-lh8jp52tusqm a {
    display: inline-flex;
    align-items: center;
    gap: .5em;
    color: var(--ds-gold-soft) !important;
    font-weight: 600;
    text-decoration: none !important;
}
footer.fl-builder-content[data-type="footer"] .fl-node-lh8jp52tusqm a::after {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    flex-shrink: 0;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E") center / contain no-repeat;
    transition: transform var(--ds-dur) var(--ds-ease);
}
footer.fl-builder-content[data-type="footer"] .fl-node-lh8jp52tusqm a:hover,
footer.fl-builder-content[data-type="footer"] .fl-node-lh8jp52tusqm a:focus-visible {
    color: #fff !important;
}
footer.fl-builder-content[data-type="footer"] .fl-node-lh8jp52tusqm a:hover::after {
    transform: translateX(4px);
}

/* ---------- Spaltentitel ---------- */
footer.fl-builder-content[data-type="footer"] .ds-footer__title,
footer.fl-builder-content[data-type="footer"] .fl-node-r2i3vxw6ago4 p,
footer.fl-builder-content[data-type="footer"] .fl-node-pdylgbit9rnh p:first-child,
footer.fl-builder-content[data-type="footer"] .fl-node-5rilgt8adfe7 p:first-child,
footer.fl-builder-content[data-type="footer"] .fl-node-4q60wtl3o97d p:first-child,
footer.fl-builder-content[data-type="footer"] .fl-node-qdzwlf9k7goe p:first-child {
    font-family: var(--ds-sans) !important;
    font-size: var(--ds-fs-title) !important;
    font-weight: 700 !important;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #fff !important;
    line-height: 1.3;
    margin: 0 0 1.1rem !important;
    padding: 0;
}

/* ---------- Link-Listen ---------- */
footer.fl-builder-content[data-type="footer"] .ds-footer__list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
footer.fl-builder-content[data-type="footer"] .ds-footer__list li {
    list-style: none;
    margin: 0 !important;
    padding: 0 !important;
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
}
footer.fl-builder-content[data-type="footer"] .ds-footer__list a {
    display: inline-block;
    padding: .28rem 0;
}
/* Wichtige Links: zweispaltig */
footer.fl-builder-content[data-type="footer"] .fl-node-m4anj0d6pfvu .ds-footer__list {
    columns: 2;
    column-gap: 1.75rem;
}
/* Fallback ohne Umbau: <a>-Zeilen mit <br> */
footer.fl-builder-content[data-type="footer"] .fl-node-m4anj0d6pfvu p,
footer.fl-builder-content[data-type="footer"] .fl-node-pdylgbit9rnh p,
footer.fl-builder-content[data-type="footer"] .fl-node-5rilgt8adfe7 p,
footer.fl-builder-content[data-type="footer"] .fl-node-4q60wtl3o97d p,
footer.fl-builder-content[data-type="footer"] .fl-node-qdzwlf9k7goe p {
    margin: 0;
}
footer.fl-builder-content[data-type="footer"] .fl-node-m4anj0d6pfvu p > a,
footer.fl-builder-content[data-type="footer"] .fl-node-pdylgbit9rnh p > a,
footer.fl-builder-content[data-type="footer"] .fl-node-5rilgt8adfe7 p > a,
footer.fl-builder-content[data-type="footer"] .fl-node-4q60wtl3o97d p > a,
footer.fl-builder-content[data-type="footer"] .fl-node-qdzwlf9k7goe p > a {
    display: block;
    padding: .28rem 0;
}
footer.fl-builder-content[data-type="footer"] .fl-node-m4anj0d6pfvu br,
footer.fl-builder-content[data-type="footer"] .fl-node-pdylgbit9rnh br,
footer.fl-builder-content[data-type="footer"] .fl-node-5rilgt8adfe7 br,
footer.fl-builder-content[data-type="footer"] .fl-node-4q60wtl3o97d br,
footer.fl-builder-content[data-type="footer"] .fl-node-qdzwlf9k7goe br {
    display: none;
}
footer.fl-builder-content[data-type="footer"] .fl-node-m4anj0d6pfvu p:has(a) {
    columns: 2;
    column-gap: 2rem;
}

/* ---------- Spalte C: Immobilienankauf | Immobilienangebote nebeneinander ---------- */
footer.fl-builder-content[data-type="footer"] .fl-node-7xjasn3ef0v4,
footer.fl-builder-content[data-type="footer"] .fl-node-35w7xbyrvlgk {
    margin: 0 !important;
    width: 100%;
}
footer.fl-builder-content[data-type="footer"] .fl-node-i1glwrxaopzd > .fl-col-content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
    align-items: start;
}
/* Medium-Variante (769 bis 992 px): zwei BB-Spalten */
footer.fl-builder-content[data-type="footer"] .fl-node-35w7xbyrvlgk {
    display: flex;
    gap: 2rem;
}
footer.fl-builder-content[data-type="footer"] .fl-node-35w7xbyrvlgk > .fl-col {
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    flex: 1 1 0 !important;
    float: none !important;
    margin: 0 !important;
}

/* ---------- KI-Transparenzhinweis (inc/ki-hinweis.php) im dunklen Footer ---------- */
footer.fl-builder-content[data-type="footer"] .distler-ki-notice {
    background: transparent !important;
    border-top: 0 !important;
    padding: 2rem var(--ds-pad) 0 !important;
}
footer.fl-builder-content[data-type="footer"] .distler-ki-notice__inner {
    max-width: var(--ds-container);
    margin: 0 auto;
    text-align: left;
    color: var(--ds-fg-muted);
    font-size: var(--ds-fs);
    line-height: 1.55;
}
footer.fl-builder-content[data-type="footer"] .distler-ki-notice__title {
    color: #fff !important;
    font-family: var(--ds-sans) !important;
    font-weight: 700 !important;
    font-size: var(--ds-fs-title) !important;
    letter-spacing: .06em;
    margin: 0 0 .7rem;
}
footer.fl-builder-content[data-type="footer"] .distler-ki-notice p {
    color: var(--ds-fg-muted) !important;
    max-width: 860px;
    margin: 0 0 .6rem;
}
footer.fl-builder-content[data-type="footer"] .distler-ki-notice p:last-child { margin-bottom: 0; }
footer.fl-builder-content[data-type="footer"] .distler-ki-notice__link {
    color: var(--ds-gold-soft) !important;
}
footer.fl-builder-content[data-type="footer"] .distler-ki-notice__link:hover,
footer.fl-builder-content[data-type="footer"] .distler-ki-notice__link:focus-visible {
    color: #fff !important;
}
footer.fl-builder-content[data-type="footer"] .distler-ki-notice:target,
footer.fl-builder-content[data-type="footer"] .distler-ki-notice.is-highlight {
    box-shadow: inset 0 0 0 2px var(--ds-gold-soft);
}

/* ---------- Hinweis zur Echtheit von Bewertungen ---------- */
footer.fl-builder-content[data-type="footer"] .fl-node-dnp4if8v1ktm .fl-row-content {
    padding: 1.6rem 0 2.2rem;
}
footer.fl-builder-content[data-type="footer"] .fl-node-no5agck4y36i p {
    color: var(--ds-fg-muted) !important;
    font-size: var(--ds-fs);
    max-width: 860px;
    margin: 0 !important;
    text-align: left !important;
}
footer.fl-builder-content[data-type="footer"] .fl-node-no5agck4y36i em {
    color: inherit !important;
    font-style: normal;
}

/* ---------- © + Rechtslinks ---------- */
footer.fl-builder-content[data-type="footer"] .fl-node-0jrcuanbefdz .fl-row-content {
    border-top: 1px solid var(--ds-line);
    padding: 1.6rem 0;
}
footer.fl-builder-content[data-type="footer"] .fl-node-my0qlf26d1bs {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: .8rem 2rem;
    width: 100%;
}
footer.fl-builder-content[data-type="footer"] .fl-node-my0qlf26d1bs > .fl-col {
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    flex: 0 1 auto !important;
    float: none !important;
    margin: 0 !important;
}
footer.fl-builder-content[data-type="footer"] .fl-node-k6lsmd8wgbfz p {
    margin: 0;
}
footer.fl-builder-content[data-type="footer"] .ds-footer__legal {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .3rem 1.6rem;
}
footer.fl-builder-content[data-type="footer"] .ds-footer__legal a {
    padding: .2rem 0;
}
/* Fallback ohne Umbau */
footer.fl-builder-content[data-type="footer"] .fl-node-yzkhe9irtlvc p {
    margin: 0;
    text-align: right;
}
footer.fl-builder-content[data-type="footer"] .fl-node-yzkhe9irtlvc p a {
    margin: 0 .2rem;
}

/* ---------- Mobil-Button „Kontakt aufnehmen" (BB: nur ≤ 768 px sichtbar) ----------
   BB fixiert das Modul (.sticky_button_mobil: position:fixed; bottom:0; width:100%).
   Ohne left:0 hängt es an seiner statischen Position im gepolsterten Row-Wrap
   und ragt rechts über den Viewport. Hier: zentrierter, eckiger Gold-Button, klickdurchlässiger
   Wrapper, Safe-Area; Gold statt Navy (global-design.css), damit der Button auch
   über dem dunklen Footer sichtbar bleibt. */
footer.fl-builder-content[data-type="footer"] .fl-node-m8zw0bslg7od .fl-row-content {
    padding: 0;
}
footer.fl-builder-content[data-type="footer"] .fl-node-ie6r2thzqfpk.sticky_button_mobil {
    left: 0;
    right: 0;
    width: 100%;
    margin: 0;
    padding: 0 1rem calc(1rem + env(safe-area-inset-bottom, 0px));
    box-sizing: border-box;
    background: transparent;
    pointer-events: none;
}
footer.fl-builder-content[data-type="footer"] .fl-node-ie6r2thzqfpk .fl-button-wrap {
    text-align: center;
    pointer-events: none;
}
footer.fl-builder-content[data-type="footer"] .fl-node-ie6r2thzqfpk a.fl-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: .55em;
    width: 100%;
    max-width: 420px;
    box-sizing: border-box;
    padding: 1em 1.8em !important;
    background: var(--ds-gold) !important;
    border: 1.5px solid transparent !important;
    border-radius: 0 !important;
    /* Navy-Text auf Gold: 4,9:1 (WCAG AA); Weiß auf Gold wäre nur 2,9:1 */
    color: var(--ds-navy-800) !important;
    font-family: var(--ds-sans);
    font-size: var(--ds-fs);
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none !important;
    box-shadow: 0 12px 32px -10px rgba(0, 0, 0, 0.55) !important;
    pointer-events: auto;
    transition: background var(--ds-dur) var(--ds-ease), transform var(--ds-dur) var(--ds-ease);
}
footer.fl-builder-content[data-type="footer"] .fl-node-ie6r2thzqfpk a.fl-button:hover,
footer.fl-builder-content[data-type="footer"] .fl-node-ie6r2thzqfpk a.fl-button:focus-visible {
    background: var(--ds-gold-soft) !important;
    color: var(--ds-navy-800) !important;
    transform: translateY(-2px);
}
footer.fl-builder-content[data-type="footer"] .fl-node-ie6r2thzqfpk a.fl-button .fl-button-text,
footer.fl-builder-content[data-type="footer"] .fl-node-ie6r2thzqfpk a.fl-button:hover .fl-button-text {
    color: var(--ds-navy-800) !important;
}
footer.fl-builder-content[data-type="footer"] .fl-node-ie6r2thzqfpk a.fl-button::after {
    content: "";
    display: inline-block;
    width: 1.05em;
    height: 1.05em;
    flex-shrink: 0;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- Responsive ---------- */
@media (max-width: 1200px) {
    footer.fl-builder-content[data-type="footer"] .fl-node-xeczuw06kod2 {
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 2.4fr) minmax(0, 2.1fr);
        gap: 2rem;
    }
}
@media (max-width: 1024px) {
    footer.fl-builder-content[data-type="footer"] .fl-node-xeczuw06kod2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2.5rem;
    }
    footer.fl-builder-content[data-type="footer"] .fl-node-xeczuw06kod2 > .fl-col:nth-child(n+3) {
        grid-column: 1 / -1;
    }
}
@media (max-width: 620px) {
    footer.fl-builder-content[data-type="footer"] .fl-node-xeczuw06kod2 {
        grid-template-columns: minmax(0, 1fr);
        gap: 2.4rem;
    }
    footer.fl-builder-content[data-type="footer"] .fl-node-my0qlf26d1bs {
        flex-direction: column;
        align-items: flex-start;
    }
    footer.fl-builder-content[data-type="footer"] .ds-footer__legal {
        justify-content: flex-start;
    }
    footer.fl-builder-content[data-type="footer"] .fl-node-yzkhe9irtlvc p {
        text-align: left;
    }
}
@media (max-width: 768px) {
    /* Platz für den fixierten Mobil-Button am Seitenende; Scroll-Top-Button darüber */
    footer.fl-builder-content[data-type="footer"] {
        padding-bottom: 6rem;
    }
    body.fl-theme-builder-footer .scrolltop,
    body.fl-theme-builder-footer #scrolltop {
        bottom: 96px !important;
    }
}
@media (max-width: 480px) {
    footer.fl-builder-content[data-type="footer"] .fl-node-m4anj0d6pfvu .ds-footer__list {
        columns: 1;
    }
    /* :has() separat, damit die Regel oben auch in älteren Browsern gilt */
    footer.fl-builder-content[data-type="footer"] .fl-node-m4anj0d6pfvu p:has(a) {
        columns: 1;
    }
    footer.fl-builder-content[data-type="footer"] .fl-node-i1glwrxaopzd > .fl-col-content {
        grid-template-columns: minmax(0, 1fr);
        gap: 2rem;
    }
}
@media (prefers-reduced-motion: reduce) {
    footer.fl-builder-content[data-type="footer"] * {
        transition: none !important;
    }
}
