.elementor-kit-10{--e-global-color-primary:#2b2b2b;--e-global-color-secondary:#ff5c1c;--e-global-color-text:#2b2b2b;--e-global-color-accent:#2952eb;--e-global-color-bf_bg:#f2eee3;--e-global-color-bf_bg_rise:#f8f5ec;--e-global-color-bf_bg_sink:#e8e3d4;--e-global-color-bf_ink_soft:#6a6a68;--e-global-color-bf_ink_mute:#a6a29a;--e-global-color-bf_line:#d9d4c6;--e-global-color-bf_bg_inv:#1a1a1a;--e-global-typography-primary-font-family:"PP Neue Montreal";--e-global-typography-primary-font-size:56px;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-letter-spacing:-0.02em;--e-global-typography-secondary-font-family:"PP Neue Montreal";--e-global-typography-secondary-font-size:36px;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-letter-spacing:-0.02em;--e-global-typography-text-font-family:"PP Neue Montreal";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:500;--e-global-typography-text-line-height:1.45em;--e-global-typography-text-letter-spacing:-0.005em;--e-global-typography-accent-font-family:"PP Neue Montreal";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:500;--e-global-typography-bf_mega-font-family:"PP Neue Montreal";--e-global-typography-bf_mega-font-size:12vw;--e-global-typography-bf_mega-font-weight:700;--e-global-typography-bf_mega-line-height:0.88em;--e-global-typography-bf_mega-letter-spacing:-0.045em;--e-global-typography-bf_display-font-family:"PP Neue Montreal";--e-global-typography-bf_display-font-size:5.5rem;--e-global-typography-bf_display-font-weight:700;--e-global-typography-bf_display-line-height:0.95em;--e-global-typography-bf_display-letter-spacing:-0.035em;--e-global-typography-bf_lead-font-family:"PP Neue Montreal";--e-global-typography-bf_lead-font-size:1.25rem;--e-global-typography-bf_lead-font-weight:500;--e-global-typography-bf_lead-line-height:1.4em;background-color:#f2eee3;color:#2b2b2b;font-family:"PP Neue Montreal", Helvetica, Arial, sans-serif;font-size:1rem;font-weight:500;line-height:1.45em;letter-spacing:-0.005em;}.elementor-kit-10 button,.elementor-kit-10 input[type="button"],.elementor-kit-10 input[type="submit"],.elementor-kit-10 .elementor-button{background-color:#2b2b2b;font-family:"PP Neue Montreal", Helvetica, Arial, sans-serif;font-size:16px;font-weight:500;color:#f2eee3;border-style:solid;border-width:1px 1px 1px 1px;border-color:#2b2b2b;border-radius:0px 0px 0px 0px;padding:16px 24px 16px 24px;}.elementor-kit-10 button:hover,.elementor-kit-10 button:focus,.elementor-kit-10 input[type="button"]:hover,.elementor-kit-10 input[type="button"]:focus,.elementor-kit-10 input[type="submit"]:hover,.elementor-kit-10 input[type="submit"]:focus,.elementor-kit-10 .elementor-button:hover,.elementor-kit-10 .elementor-button:focus{background-color:#ff5c1c;color:#f2eee3;}.elementor-kit-10 e-page-transition{background-color:#FFBC7D;}.elementor-kit-10 a{color:#2b2b2b;text-decoration:underline;}.elementor-kit-10 a:hover{color:#ff5c1c;text-decoration:underline;}.elementor-kit-10 h1{color:#2b2b2b;font-family:"PP Neue Montreal", Helvetica, Arial, sans-serif;font-size:3.5rem;font-weight:700;line-height:1.08em;letter-spacing:-0.02em;}.elementor-kit-10 h2{color:#2b2b2b;font-family:"PP Neue Montreal", Helvetica, Arial, sans-serif;font-size:2.5rem;font-weight:700;line-height:1.08em;letter-spacing:-0.02em;}.elementor-kit-10 h3{color:#2b2b2b;font-family:"PP Neue Montreal", Helvetica, Arial, sans-serif;font-size:1.75rem;font-weight:700;line-height:1.2em;letter-spacing:-0.02em;}.elementor-kit-10 h4{color:#2b2b2b;font-family:"PP Neue Montreal", Helvetica, Arial, sans-serif;font-size:1.125rem;font-weight:700;line-height:1.3em;}.elementor-kit-10 h5{color:#2b2b2b;font-family:"PP Neue Montreal", Helvetica, Arial, sans-serif;font-size:1rem;font-weight:500;}.elementor-kit-10 h6{color:#6a6a68;font-family:"PP Neue Montreal", Helvetica, Arial, sans-serif;font-size:0.75rem;font-weight:500;}.elementor-kit-10 input:not([type="button"]):not([type="submit"]),.elementor-kit-10 textarea,.elementor-kit-10 .elementor-field-textual{font-family:"PP Neue Montreal", Helvetica, Arial, sans-serif;font-size:16px;font-weight:500;color:#2b2b2b;background-color:transparent;border-radius:0px 0px 0px 0px;padding:16px 16px 16px 16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;}.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-kit-10{--e-global-typography-primary-font-size:44px;--e-global-typography-secondary-font-size:36px;--e-global-typography-text-font-size:16px;--e-global-typography-accent-font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-10{--e-global-typography-primary-font-size:34px;--e-global-typography-secondary-font-size:26px;--e-global-typography-text-font-size:16px;--e-global-typography-accent-font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* bf-leiter-anker: die typografische Leiter, verbindlich für alle Ebenen.
   Display 88 · H1 56 · H2 36 · H3 22 · Lede 20 · Body 16 · Meta 13
   Display wird ausschließlich im Startseiten-Hero gesetzt, nicht hier. */
.elementor-kit-10 h1{font-size:56px;font-weight:700;line-height:1.04;letter-spacing:-.02em;}
.elementor-kit-10 h2{font-size:36px;font-weight:700;line-height:1.1;letter-spacing:-.02em;}
.elementor-kit-10 h3{font-size:22px;font-weight:700;line-height:1.2;letter-spacing:-.01em;}
.elementor-kit-10 h4,.elementor-kit-10 h5,.elementor-kit-10 h6{font-size:16px;font-weight:700;line-height:1.35;}
.elementor-kit-10 body,.elementor-kit-10 p,.elementor-kit-10 li{font-size:16px;font-weight:500;line-height:1.55;}
/* Meta: die dritte Ebene, ohne Mono und ohne Versalien */
.bf-meta,.elementor-kit-10 figcaption,.elementor-kit-10 cite{
  font-size:13px;font-weight:500;line-height:1.45;color:#6a6a68;letter-spacing:0;text-transform:none;}
@media (max-width:767px){
  .elementor-kit-10 h1{font-size:34px;}
  .elementor-kit-10 h2{font-size:26px;}
  .elementor-kit-10 h3{font-size:19px;}
}

/* Brainfunck — globale Hilfsklassen für brainfunck.de */

/* Tokens (Quick-Reference) */
.bf-rule-thick{border-top:2px solid #2b2b2b;}
.bf-rule-heavy{border-top:4px solid #2b2b2b;}
.bf-rule-hair{border-top:1px solid #d9d4c6;}
.bf-inverse{background:#1a1a1a;color:#f2eee3;}
.bf-inverse a{color:#f2eee3;}
.bf-funck-orange{color:#ff5c1c;}
.bf-funck-blue{color:#2952eb;}

/* === Hero-Mark (sehr großes Display) === */
.bf-mark .elementor-heading-title{font-size:88px !important;font-weight:700 !important;line-height:.88 !important;letter-spacing:-.055em !important;color:#2b2b2b !important;text-wrap:balance;}
.bf-mark .elementor-heading-title .acc, .bf-mark .elementor-heading-title .funck{color:#ff5c1c !important;}

/* Inline-Akzent als Span-Klasse (Ersatz für <em>) */
.bf-em{color:#ff5c1c;font-style:normal;font-weight:700;}

/* === Stempel (rotated badge oben rechts im Hero) === */
.bf-stempel{display:inline-block;border:2px solid #2b2b2b;padding:8px 16px;font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif;font-size:13px;letter-spacing:0.01em;background:#f2eee3;transform:rotate(-2deg);color:#2b2b2b;}
.bf-stempel .acc{color:#ff5c1c;font-weight:700;}

/* === Banner (Pflichtangaben-Strip oben, Ink-bg) === */
.bf-banner-key{color:rgba(242,238,227,.5);margin-right:8px;}
.bf-banner-acc{color:#ff5c1c;font-weight:700;}
.bf-banner-val{color:#f2eee3;}

/* === Section-Numbering (H1-Stufe links neben H2) === */
.bf-section-num .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:56px !important;font-weight:700 !important;line-height:.85 !important;letter-spacing:-.04em !important;color:#2b2b2b !important;}
.bf-section-num .elementor-heading-title .dot{color:#ff5c1c;}





/* === H2 mit em-Akzent (inline orange) === */
.bf-section-h2 .elementor-heading-title em, .bf-section-h2 .elementor-heading-title .acc{color:#ff5c1c !important;font-style:normal !important;}

/* === Numeric-Box (4-Spalten Studio-Eckdaten unter Hero) === */
.bf-numeric-key .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;!important;color:#6a6a68 !important;}
.bf-numeric-val .elementor-heading-title{font-size:22px !important;font-weight:700 !important;letter-spacing:-.02em !important;line-height:1 !important;}
.bf-numeric-val--acc .elementor-heading-title{color:#ff5c1c !important;}

/* === Pakete (Blister-Cards mit Hover-Invert) === */
.bf-blister{transition:background 220ms cubic-bezier(.2,.7,.2,1), color 220ms cubic-bezier(.2,.7,.2,1) !important;}
.bf-blister:hover{background:#2b2b2b !important;}
.bf-blister:hover .elementor-heading-title, .bf-blister:hover .elementor-widget-text-editor{color:#f2eee3 !important;}
.bf-blister:hover .elementor-heading-title::before{background:#f2eee3 !important;}
.bf-blister:hover *{border-color:#f2eee3 !important;}
.bf-blister:hover .bf-pill{background:transparent !important;border-color:#f2eee3 !important;}
.bf-blister:hover .bf-pill--filled{background:#ff5c1c !important;border-color:#ff5c1c !important;}
.bf-blister:hover .bf-pill--acc{background:#ff5c1c !important;border-color:#ff5c1c !important;}
.bf-blister:hover .bf-pill--blue{background:#f2eee3 !important;border-color:#f2eee3 !important;}

.bf-blister-hd .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;!important;color:#6a6a68 !important;}
.bf-blister-hd-strong .elementor-heading-title{color:#2b2b2b !important;font-weight:700 !important;}

.bf-paket-title .elementor-heading-title{font-size:22px !important;font-weight:700 !important;letter-spacing:-.02em !important;line-height:1.05 !important;}
.bf-paket-fokus .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;!important;color:#6a6a68 !important;}
.bf-paket-desc .elementor-widget-container p{font-size:16px;line-height:1.5;color:#6a6a68;margin:0;}

.bf-paket-price-key .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;!important;color:#6a6a68 !important;}
.bf-paket-price-val .elementor-heading-title{font-size:20px !important;font-weight:700 !important;letter-spacing:-.015em !important;}

/* === Pillen-Reihe (visuelles Dose-Element pro Karte) === */
.bf-pills{display:flex;gap:14px;align-items:center;}
.bf-pill{display:inline-block;width:18px;height:18px;border:2px solid #2b2b2b;border-radius:999px;background:transparent;flex-shrink:0;transition:all 220ms cubic-bezier(.2,.7,.2,1);}
.bf-pill--filled{background:#2b2b2b;}
.bf-pill--acc{background:#ff5c1c;border-color:#ff5c1c;}
.bf-pill--blue{background:#2952eb;border-color:#2952eb;}

/* === Punkte-Liste (Symptome-Sektion) === */
.bf-punkt-num .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:16px !important;letter-spacing:0.01em !important;color:#6a6a68 !important;font-weight:500 !important;}
.bf-punkt-num .elementor-heading-title strong, .bf-punkt-num--strong .elementor-heading-title{color:#2b2b2b !important;font-weight:700 !important;}
.bf-punkt-title .elementor-heading-title{font-size:16px !important;font-weight:700 !important;letter-spacing:-.015em !important;}
.bf-punkt-body .elementor-widget-container p{font-size:16px;color:#6a6a68;line-height:1.5;margin:0;}

/* === Case-Row (Tabellen-Style mit Hover) === */
.bf-case-row{transition:background 220ms cubic-bezier(.2,.7,.2,1), color 220ms cubic-bezier(.2,.7,.2,1) !important;cursor:pointer;}
.bf-case-row:hover{background:#2b2b2b !important;}
.bf-case-row:hover .elementor-heading-title, .bf-case-row:hover .elementor-widget-text-editor{color:#f2eee3 !important;}
.bf-case-row:hover *{border-color:rgba(242,238,227,.2) !important;}
.bf-case-row:hover .bf-case-status .elementor-heading-title{color:#ff5c1c !important;}

.bf-case-code .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;font-weight:700 !important;color:#2b2b2b !important;}
.bf-case-name .elementor-heading-title{font-size:22px !important;font-weight:700 !important;letter-spacing:-.02em !important;line-height:1.05 !important;}
.bf-case-ort .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;color:#6a6a68 !important;letter-spacing:0.01em !important;font-weight:500 !important;}
.bf-case-leistung .elementor-widget-container p{font-size:16px;line-height:1.4;color:#2b2b2b;margin:0;}
.bf-case-branche .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;color:#6a6a68 !important;letter-spacing:0.01em !important;!important;font-weight:500 !important;}
.bf-case-status .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;color:#ff5c1c !important;font-weight:700 !important;display:flex !important;align-items:center !important;gap:8px !important;}
.bf-case-status .elementor-heading-title::before{content:"";display:inline-block;width:14px;height:14px;border:2px solid #ff5c1c;transform:rotate(45deg);flex-shrink:0;position:relative;}

.bf-case-table-hd{background:#2b2b2b;color:#f2eee3;}
.bf-case-table-hd .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;!important;color:#f2eee3 !important;font-weight:500 !important;}

/* === Hero-Kontakt-Block === */
.bf-hero-contact-key .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;!important;color:#6a6a68 !important;}
.bf-hero-contact-mail .elementor-widget-container a{font-size:16px;color:#2b2b2b;border-bottom:1px solid transparent;transition:color 120ms, border-color 120ms;}
.bf-hero-contact-mail .elementor-widget-container a:hover{color:#ff5c1c;border-bottom-color:#ff5c1c;}
.bf-hero-contact-tel .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:16px !important;letter-spacing:.04em !important;color:#2b2b2b !important;font-weight:500 !important;}

/* === Hero-Untertitel === */
.bf-hero-lede .elementor-widget-container p{font-size:22px;line-height:1.4;color:#2b2b2b;font-weight:500;}
.bf-hero-lede .elementor-widget-container .acc, .bf-hero-lede .elementor-widget-container em{color:#ff5c1c;font-weight:700;font-style:normal;}

/* === Hero-Eyebrow mit horizontalen Linien === */
.bf-hero-eyebrow .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;!important;color:#6a6a68 !important;display:flex !important;align-items:center !important;gap:14px !important;}
.bf-hero-eyebrow .elementor-heading-title::before, .bf-hero-eyebrow .elementor-heading-title::after{content:"";height:1px;background:#2b2b2b;flex:1;}
.bf-hero-eyebrow .elementor-heading-title::before{max-width:80px;}

/* === Hero-Head-Label (links neben Stempel) === */
.bf-hero-head-label .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;!important;color:#6a6a68 !important;font-weight:500 !important;}
.bf-hero-head-label .elementor-heading-title strong{color:#2b2b2b !important;font-weight:700 !important;}

/* === Hero-CTA-Sub (Mono-Zeile unter dem Button-Text) === */
.bf-hero-cta-sub{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif;font-size:13px;letter-spacing:0.01em;color:rgba(242,238,227,.7);display:block;margin-top:4px;}

/* === Footer (Code-Style, Ink-bg) === */
/* Footer auf Brainfunck-Blau (#2952eb) — ALLE Texte voll Cream (#f2eee3)
   Wichtig: Elementor-Default ".elementor-widget-heading .elementor-heading-title { color: var(--e-global-color-primary) }" greift sonst. Daher !important auf .elementor-heading-title in JEDER Footer-Klasse. */
.bf-code-footer-key .elementor-heading-title{font-family:'PP Neue Montreal','Inter',sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;!important;color:#f2eee3 !important;font-weight:500 !important;}
/* Werte-Widgets: text-editor in diesem Footer ohne inneren .elementor-widget-container
   — Descendant-Selektor direkt auf p/a/span/strong, plus Self-Selektor für den Fall
   dass der Widget-Wrapper selbst die Class trägt. */
.bf-code-footer-val,
.bf-code-footer-val p,
.bf-code-footer-val span,
.bf-code-footer-val strong,
.bf-code-footer-val .elementor-heading-title,
.bf-code-footer-val .elementor-widget-container,
.bf-code-footer-val .elementor-widget-container p{color:#f2eee3 !important;font-size:16px !important;line-height:1.4 !important;}
.bf-code-footer-val a,
.bf-code-footer-val .elementor-widget-container a{color:#f2eee3 !important;text-decoration:underline;text-underline-offset:3px;}
.bf-code-footer-val a:hover{color:#ff5c1c !important;}
.bf-code-footer-legal,
.bf-code-footer-legal .elementor-heading-title,
.bf-code-footer-legal .elementor-widget-container,
.bf-code-footer-legal .elementor-widget-container p{font-family:'PP Neue Montreal','Inter',sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;!important;color:#f2eee3 !important;font-weight:500 !important;}
.bf-code-footer-legal a,
.bf-code-footer-legal .elementor-heading-title a{color:#f2eee3 !important;}
.bf-code-footer-legal a:hover{color:#ff5c1c !important;}

/* Footer-Grid: jetzt 2 Spalten (Studio links, Kontakt rechts) statt 3.
   Elementor-Container ist flex by default — Studio + Kontakt sollen jeweils
   die halbe Breite einnehmen und nach links/rechts ausrichten. */
.elementor-element-v2foot_grid{justify-content:space-between !important;gap:40px !important;}
.elementor-element-v2foot_grid > .e-con-inner{justify-content:space-between !important;width:100% !important;gap:40px !important;}
.elementor-element-v2foot_c1,
.elementor-element-v2foot_c3{flex:1 1 0 !important;max-width:none !important;width:auto !important;}
.elementor-element-v2foot_c3{align-items:flex-end !important;text-align:right !important;}
.elementor-element-v2foot_c3 .elementor-widget{width:auto !important;}

/* Footer Social-Icons (Instagram, LinkedIn) — Cream, größer, in derselben Zeile wie Copyright/Legal */
.elementor-element-v2foot_soc{width:auto !important;flex:0 0 auto !important;gap:16px !important;padding:0 !important;}
.bf-foot-soc-icon img{width:34px !important;height:34px !important;display:block;transition:opacity .15s,transform .15s;}
.bf-foot-soc-icon{transition:none;}
.bf-foot-soc-icon a:hover img{opacity:.75;transform:translateY(-1px);}

/* === Topbar (Logo + Nav + CTA) === */
/* Logo = gehärtetes Inline-SVG (font-unabhängig, kein FOUT). Höhe = exakt wie vorheriger 18px-Text-Lockup (Ink-Höhe ~16px). */
.bf-topbar-logo .bf-logo-link{display:inline-block;line-height:0;text-decoration:none;}
.bf-topbar-logo .bf-logo-svg{height:16px;width:auto;display:block;}
.bf-topbar-logo .bf-logo-link:focus-visible{outline:2px solid #ff5c1c;outline-offset:3px;}

.bf-banner-line .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;!important;color:rgba(242,238,227,.5) !important;font-weight:500 !important;line-height:1.4 !important;}
.bf-banner-line .elementor-heading-title strong{color:#f2eee3 !important;}
.bf-banner-line .elementor-heading-title .acc{color:#ff5c1c !important;font-weight:700 !important;}

/* === Hero-CTA (2-Zeilen-Button) === */
.bf-hero-cta-sub .elementor-widget-container p{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif;font-size:13px;letter-spacing:0.01em;color:rgba(242,238,227,.7);margin:4px 0 0;}

/* === Nav (Header v2nav) — einheitlich PP Neue Montreal 500, keine Pseudo-Element-Glyphen, kein blauer Hover === */

/* Top-Level Items: alle in PP Neue Montreal 500, kein Underline, kein Background-Balken beim Hover.
   ALLE Link-States (link/visited/hover/focus/active) explizit setzen — vorher rutschte Browser-Default
   für :visited ein Marine-Blau durch, sobald die Seite einmal besucht war. */
.elementor-element-v2nav .elementor-item,
.elementor-element-v2nav .elementor-item:link,
.elementor-element-v2nav .elementor-item:visited,
.elementor-element-v2nav .elementor-item:hover,
.elementor-element-v2nav .elementor-item:focus,
.elementor-element-v2nav .elementor-item:active,
.elementor-element-v2nav .elementor-item.elementor-item-active{
  font-family:'PP Neue Montreal','Helvetica Neue',Arial,sans-serif !important;
  font-size:16px !important;font-weight:500 !important;
  background:transparent !important;text-decoration:none !important;
  border:0 !important;box-shadow:none !important;
}
.elementor-element-v2nav .elementor-item,
.elementor-element-v2nav .elementor-item:link,
.elementor-element-v2nav .elementor-item:visited{color:#2b2b2b !important;}
.elementor-element-v2nav .elementor-item:hover,
.elementor-element-v2nav .elementor-item:focus,
.elementor-element-v2nav .elementor-item:active,
.elementor-element-v2nav .elementor-item.elementor-item-active{color:#ff5c1c !important;}
/* Caret-Glyph hinter "Leistungen" (Issue #18) + blauer Hover-Underline-Pointer (#2952eb, Issue #28)
   ersatzlos entfernt: ALLE Pseudo-Elemente der Top-Level-Nav-Items aus. */
.elementor-element-v2nav .elementor-item::after,
.elementor-element-v2nav .elementor-item::before{content:none !important;display:none !important;background:transparent !important;border:0 !important;}

/* Dropdown-Box */
.elementor-element-v2nav .sub-menu{
  background:#f2eee3 !important;border:2px solid #2b2b2b !important;border-radius:0 !important;
  box-shadow:none !important;padding:0 !important;min-width:340px !important;margin-top:0 !important;
}

/* Submenu-Items inkl. :visited State (gleiche Logik wie Top-Level) */
.elementor-element-v2nav .sub-menu > li > .elementor-sub-item:link,
.elementor-element-v2nav .sub-menu > li > .elementor-sub-item:visited{color:#2b2b2b !important;text-decoration:none !important;}
/* Submenu-Items: einheitlich PP Neue Montreal 500, keine Pfeile, kein Counter */
.elementor-element-v2nav .sub-menu > li > .elementor-sub-item{
  font-family:'PP Neue Montreal','Helvetica Neue',Arial,sans-serif !important;
  font-size:16px !important;font-weight:500 !important;color:#2b2b2b !important;
  padding:16px 16px !important;border-radius:0 !important;border-top:1px solid #d9d4c6 !important;
  line-height:1.3 !important;white-space:nowrap !important;
  background:transparent !important;text-decoration:none !important;
  transition:background .12s cubic-bezier(.2,.7,.2,1),color .12s cubic-bezier(.2,.7,.2,1) !important;
}
.elementor-element-v2nav .sub-menu > li:first-child > .elementor-sub-item{border-top:0 !important;}
/* Pfeil-Glyph + Counter ::before/::after auf Submenu-Items ersatzlos entfernt (Issue #18) */
.elementor-element-v2nav .sub-menu > li > .elementor-sub-item::before,
.elementor-element-v2nav .sub-menu > li > .elementor-sub-item::after{content:none !important;display:none !important;}
/* Hover: Ink-Background + Cream-Text — kein Underline, kein blauer Akzent */
.elementor-element-v2nav .sub-menu > li > .elementor-sub-item:hover,
.elementor-element-v2nav .sub-menu > li > .elementor-sub-item:focus{background:#2b2b2b !important;color:#f2eee3 !important;text-decoration:none !important;}
/* 2px-Trennlinie zwischen Feld 5 (Bedarf) und Paket 1 (Format) */
/* Trenner im Untermenü: hing an nth-child(6) und traf damit jedes
   Untermenü mit sechs oder mehr Einträgen, auch Cases und Blog, wo es
   keine Gruppen gibt. Hängt jetzt an einer Klasse am jeweiligen Eintrag. */
.elementor-element-v2nav .sub-menu > li.bf-nav-trenner > .elementor-sub-item{border-top:2px solid #2b2b2b !important;}

/* === Leistungen-Hub · Split-Gitter (Variante A) ===
   Layout über feste Element-IDs + Child-Selektoren. Text über Widget-Klassen bf-lf-*.
   Natürliche Höhen (kein 100vh-Zwang). Spalten via Grid-Stretch gleich hoch.
   Zeilen min-height gegen Überlappen. Linien: 2px Struktur / 1px Zell-Trenner, alles Ink. */
.elementor-element-lfhero{padding:32px 0 24px !important;}
.bf-lf-htag .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;!important;color:#6a6a68 !important;display:flex !important;align-items:center;gap:12px;margin:0 !important;}
.bf-lf-htag .elementor-heading-title::before{content:"";width:24px;height:2px;background:#ff5c1c;}
.bf-lf-h1 .elementor-heading-title{font-size:36px !important;font-weight:700 !important;letter-spacing:-.025em !important;line-height:1.08 !important;margin:16px 0 0 !important;}
.bf-lf-h1 .elementor-heading-title em{color:#ff5c1c !important;font-style:normal !important;}
/* Gitter: natürliche Höhe, Spalten stretchen gleich hoch */
.elementor-element-lfgrid{display:grid !important;grid-template-columns:1.5fr 1fr;align-items:stretch;border:2px solid #2b2b2b !important;gap:0 !important;padding:0 !important;}
.elementor-element-lfcolL{border-right:2px solid #2b2b2b !important;display:flex !important;flex-direction:column;padding:0 !important;gap:0 !important;}
.elementor-element-lfcolR{display:flex !important;flex-direction:column;padding:0 !important;gap:0 !important;}
.elementor-element-lfheadL,.elementor-element-lfheadR{flex:0 0 auto !important;border-bottom:1px solid #2b2b2b !important;padding:0 !important;gap:0 !important;}
.elementor-element-lfheadL .elementor-heading-title,.elementor-element-lfheadR .elementor-heading-title{padding:16px 20px !important;font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;!important;color:#6a6a68 !important;margin:0 !important;}
.elementor-element-lfheadL .elementor-heading-title b,.elementor-element-lfheadR .elementor-heading-title b,.elementor-element-lfheadL .elementor-heading-title strong,.elementor-element-lfheadR .elementor-heading-title strong{color:#2b2b2b !important;font-weight:700;}
.elementor-element-lfrowsL,.elementor-element-lfrowsR{flex:1 1 auto !important;display:flex !important;flex-direction:column;padding:0 !important;gap:0 !important;}
/* Zeilen = direkte Container-Kinder der rows; flex-grow füllt die (gestretchte) Spaltenhöhe, min-height schützt vor Überlappen */
.elementor-element-lfrowsL>.e-con,.elementor-element-lfrowsR>.e-con{flex:1 1 auto !important;flex-direction:row !important;align-items:center !important;flex-wrap:nowrap !important;gap:14px !important;min-height:64px !important;padding:8px 20px !important;border-bottom:1px solid #2b2b2b !important;transition:background .12s cubic-bezier(.2,.7,.2,1),color .12s cubic-bezier(.2,.7,.2,1);}
.elementor-element-lfrowsL>.e-con:last-child,.elementor-element-lfrowsR>.e-con:last-child{border-bottom:0 !important;}
.elementor-element-lfrowsL>.e-con:hover,.elementor-element-lfrowsR>.e-con:hover{background:#2b2b2b !important;}
.elementor-element-lfrowsL>.e-con:hover .elementor-heading-title,.elementor-element-lfrowsR>.e-con:hover .elementor-heading-title{color:#f2eee3 !important;}
/* mittlerer Container (Titel + Sub) — vertikal zentriert, sauberer Zeilenabstand */
.elementor-element-lfrowsL>.e-con>.e-con,.elementor-element-lfrowsR>.e-con>.e-con{flex:1 1 auto !important;flex-direction:column !important;justify-content:center !important;gap:3px !important;padding:0 !important;min-width:0;}
.bf-lf-num{flex:0 0 28px !important;width:28px !important;align-self:center;}
.bf-lf-num .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;font-weight:700 !important;color:#6a6a68 !important;margin:0 !important;}
.bf-lf-ti .elementor-heading-title{font-size:16px !important;font-weight:700 !important;letter-spacing:-.015em !important;line-height:1.15 !important;margin:0 !important;}
.bf-lf-d .elementor-heading-title{font-size:13px !important;color:#6a6a68 !important;line-height:1.3 !important;font-weight:500 !important;margin:0 !important;}
.bf-lf-price{flex:0 0 auto !important;width:auto !important;align-self:center;}
.bf-lf-price .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;font-weight:700 !important;color:#2b2b2b !important;white-space:nowrap;margin:0 !important;}
.bf-lf-arr{flex:0 0 auto !important;width:auto !important;align-self:center;}
.bf-lf-arr .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:16px !important;color:#2b2b2b !important;margin:0 !important;transition:transform .12s cubic-bezier(.2,.7,.2,1);}
.elementor-element-lfrowsL>.e-con:hover .bf-lf-arr .elementor-heading-title,.elementor-element-lfrowsR>.e-con:hover .bf-lf-arr .elementor-heading-title{transform:translateX(4px);}
@media(max-width:1024px){
  .elementor-element-lfgrid{grid-template-columns:1fr;}
  .elementor-element-lfcolL{border-right:0 !important;border-bottom:2px solid #2b2b2b !important;}
}

/* === Startseite Editorial Index (Aicher-Richtung, 2026-06-06) === */
/* Topbar Heading-Logo */
.elementor-element-stlogo .elementor-heading-title{font-weight:700 !important;font-size:20px !important;letter-spacing:-.02em !important;color:#2b2b2b !important;}
.elementor-element-stlogo .elementor-heading-title .dot{color:#ff5c1c;}

/* Hero linke Spalte */
.elementor-element-stl{border-right:2px solid #2b2b2b;padding:0 40px 64px 0 !important;display:flex !important;flex-direction:column !important;min-height:calc(100vh - 90px);}
.elementor-element-stl_eye .elementor-heading-title{font-size:16px !important;color:#6a6a68 !important;font-weight:500 !important;margin:0 0 32px !important;letter-spacing:.01em !important;}
.elementor-element-stl_h1 .elementor-heading-title{font-size:88px !important;font-weight:700 !important;line-height:.96 !important;letter-spacing:-.04em !important;max-width:14ch !important;margin:0 !important;}
.elementor-element-stl_h1 .elementor-heading-title em,.elementor-element-stl_h1 .elementor-heading-title .ko{color:#ff5c1c !important;font-style:normal !important;}
.elementor-element-stl_lede .elementor-widget-container p{font-size:16px;line-height:1.45;max-width:44ch;color:#2b2b2b;margin:40px 0 0;}
.elementor-element-stl_claim .elementor-heading-title{padding:24px 0 24px 16px !important;border-left:3px solid #ff5c1c;font-size:20px !important;font-weight:700 !important;letter-spacing:-.01em !important;line-height:1.25 !important;color:#2b2b2b !important;margin:auto 0 0 !important;}
.elementor-element-stl_ctas{padding-top:40px !important;gap:14px !important;}

/* Hero rechte Spalte (Index) */
.elementor-element-str{display:flex !important;flex-direction:column !important;padding:0 !important;gap:0 !important;}
.elementor-element-str_hd{padding:24px 0 16px 40px !important;border-bottom:1px solid #2b2b2b !important;display:flex !important;flex-direction:row !important;justify-content:space-between !important;align-items:baseline !important;}
.elementor-element-str_hd .bf-str-hd-l .elementor-heading-title{font-size:16px !important;color:#6a6a68 !important;font-weight:500 !important;margin:0 !important;}
.elementor-element-str_hd .bf-str-hd-r .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif;font-size:13px !important;color:#6a6a68 !important;letter-spacing:.04em !important;margin:0 !important;}
.elementor-element-str_list{flex:1 !important;display:flex !important;flex-direction:column !important;padding:0 !important;gap:0 !important;}
/* jede Item-Reihe */
.elementor-element-str_list>.e-con{flex:1 !important;flex-direction:row !important;align-items:center !important;gap:24px !important;padding:0 24px 0 40px !important;min-height:80px !important;border-bottom:1px solid #2b2b2b !important;transition:background .15s !important;cursor:pointer !important;}
.elementor-element-str_list>.e-con:last-child{border-bottom:0 !important;}
.elementor-element-str_list>.e-con:hover{background:#f8f5ec !important;}
.elementor-element-str_list>.e-con:hover .bf-str-svg img{filter:invert(45%) sepia(99%) saturate(2200%) hue-rotate(355deg) brightness(101%) contrast(101%);}
.bf-str-num{flex:0 0 54px !important;}
.bf-str-num .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif;font-size:13px !important;font-weight:700 !important;color:#6a6a68 !important;letter-spacing:.04em !important;margin:0 !important;}
.bf-str-svg{flex:0 0 60px !important;}
.bf-str-svg img{width:42px !important;height:42px !important;display:block;transition:filter .2s;}
.bf-str-text{flex:1 1 auto !important;padding:0 !important;gap:4px !important;}
.bf-str-ti .elementor-heading-title{font-size:16px !important;font-weight:700 !important;letter-spacing:-.015em !important;line-height:1.15 !important;color:#2b2b2b !important;margin:0 !important;}
.bf-str-sb .elementor-heading-title{font-size:13px !important;color:#6a6a68 !important;font-weight:500 !important;margin:0 !important;}
.bf-str-arr{flex:0 0 auto !important;}
.bf-str-arr .elementor-heading-title{font-size:16px !important;color:#2b2b2b !important;margin:0 !important;}

/* Section-Heads (feste IDs für Pakete + Cases) */
.elementor-element-stShdPak,.elementor-element-stShdCase{padding:0 0 16px !important;border-bottom:1px solid #2b2b2b !important;margin-bottom:40px !important;flex-direction:row !important;flex-wrap:wrap !important;justify-content:space-between !important;align-items:end !important;gap:24px !important;}
.elementor-element-stShdPak>.e-con,.elementor-element-stShdCase>.e-con{padding:0 !important;gap:0 !important;}
.bf-st-shd-h .elementor-heading-title{font-size:36px !important;font-weight:700 !important;letter-spacing:-.022em !important;line-height:1.05 !important;margin:0 !important;}
.bf-st-shd-h .elementor-heading-title em{color:#ff5c1c !important;font-style:normal !important;}
.bf-st-shd-m .elementor-heading-title{font-size:16px !important;color:#6a6a68 !important;font-weight:500 !important;margin:0 !important;}
.bf-st-shd-m .elementor-heading-title b{color:#2b2b2b !important;font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif;font-size:13px !important;letter-spacing:.04em !important;}

/* Pakete-Grid (feste IDs) */
.elementor-element-stPakGrid{display:grid !important;grid-template-columns:repeat(3,1fr) !important;border:2px solid #2b2b2b !important;gap:0 !important;padding:0 !important;}
.elementor-element-stPak1,.elementor-element-stPak2,.elementor-element-stPak3{border-right:1px solid #2b2b2b !important;padding:32px 24px !important;cursor:pointer !important;transition:background .15s !important;gap:0 !important;}
.elementor-element-stPak3{border-right:0 !important;}
.elementor-element-stPak1:hover,.elementor-element-stPak2:hover,.elementor-element-stPak3:hover{background:#f8f5ec !important;}
.bf-st-pak-lbl .elementor-heading-title{font-size:13px !important;color:#6a6a68 !important;font-weight:500 !important;margin:0 0 8px !important;}
.bf-st-pak-ti .elementor-heading-title{font-size:22px !important;font-weight:700 !important;letter-spacing:-.02em !important;margin:0 !important;}
.bf-st-pak-fk .elementor-heading-title{font-size:13px !important;color:#6a6a68 !important;margin:8px 0 0 !important;}
.bf-st-pak-d .elementor-widget-container p{font-size:16px;line-height:1.5;color:#2b2b2b;margin:16px 0 0;max-width:34ch;}
/* Preis-Reihe pro Paket (feste IDs stPak1Pr...) */
.elementor-element-stPak1Pr,.elementor-element-stPak2Pr,.elementor-element-stPak3Pr{margin-top:auto !important;padding:24px 0 0 !important;border-top:1px solid #d9d4c6 !important;flex-direction:row !important;justify-content:space-between !important;align-items:baseline !important;gap:0 !important;}
.bf-st-pak-prl-h .elementor-heading-title{font-size:16px !important;font-weight:700 !important;margin:0 !important;}
.bf-st-pak-prl-h .elementor-heading-title .ab{color:#6a6a68 !important;font-weight:500 !important;font-size:13px !important;}
.bf-st-pak-prr-h .elementor-heading-title{font-size:16px !important;color:#2b2b2b !important;margin:0 !important;}

/* Cases-Tabelle (feste IDs) */
.elementor-element-stCasesBox{border:2px solid #2b2b2b !important;padding:0 !important;gap:0 !important;}
.elementor-element-stCasesHd{flex-direction:row !important;background:#2b2b2b !important;padding:0 !important;gap:0 !important;align-items:stretch !important;flex-wrap:nowrap !important;}
.elementor-element-stCasesHd>.elementor-widget-heading{padding:16px 20px !important;border-right:1px solid rgba(242,238,227,.3) !important;}
.elementor-element-stCasesHd>.elementor-widget-heading:nth-child(1){flex:0 0 100px !important;}
.elementor-element-stCasesHd>.elementor-widget-heading:nth-child(2),.elementor-element-stCasesHd>.elementor-widget-heading:nth-child(3){flex:1 1 0 !important;}
.elementor-element-stCasesHd>.elementor-widget-heading:nth-child(4){flex:0 0 130px !important;border-right:0 !important;}
.bf-st-cases-hd-h .elementor-heading-title{font-size:13px !important;font-weight:500 !important;color:#f2eee3 !important;margin:0 !important;}
/* Case-Rows mit festen IDs */
.elementor-element-stCaseR1,.elementor-element-stCaseR2,.elementor-element-stCaseR3{flex-direction:row !important;align-items:stretch !important;flex-wrap:nowrap !important;border-top:1px solid #2b2b2b !important;cursor:pointer !important;transition:background .15s !important;padding:0 !important;gap:0 !important;}
.elementor-element-stCaseR1>.e-con,.elementor-element-stCaseR2>.e-con,.elementor-element-stCaseR3>.e-con{padding:24px 20px !important;border-right:1px solid #d9d4c6 !important;gap:0 !important;}
.elementor-element-stCaseR1>.e-con:nth-child(1),.elementor-element-stCaseR2>.e-con:nth-child(1),.elementor-element-stCaseR3>.e-con:nth-child(1){flex:0 0 100px !important;}
.elementor-element-stCaseR1>.e-con:nth-child(2),.elementor-element-stCaseR1>.e-con:nth-child(3),.elementor-element-stCaseR2>.e-con:nth-child(2),.elementor-element-stCaseR2>.e-con:nth-child(3),.elementor-element-stCaseR3>.e-con:nth-child(2),.elementor-element-stCaseR3>.e-con:nth-child(3){flex:1 1 0 !important;}
.elementor-element-stCaseR1>.e-con:nth-child(4),.elementor-element-stCaseR2>.e-con:nth-child(4),.elementor-element-stCaseR3>.e-con:nth-child(4){flex:0 0 130px !important;border-right:0 !important;}
.elementor-element-stCaseR1:hover,.elementor-element-stCaseR2:hover,.elementor-element-stCaseR3:hover{background:#2b2b2b !important;}
/* Hover: alle Texte in der Case-Row auf Cream. `<p>` im text-editor-Widget liegt direkt im Widget-Wrapper (ohne .elementor-widget-container), daher zusätzlich .bf-st-case-leis p Selektor. */
.elementor-element-stCaseR1:hover .elementor-heading-title,.elementor-element-stCaseR2:hover .elementor-heading-title,.elementor-element-stCaseR3:hover .elementor-heading-title,.elementor-element-stCaseR1:hover .elementor-widget-container p,.elementor-element-stCaseR2:hover .elementor-widget-container p,.elementor-element-stCaseR3:hover .elementor-widget-container p,.elementor-element-stCaseR1:hover .bf-st-case-leis p,.elementor-element-stCaseR2:hover .bf-st-case-leis p,.elementor-element-stCaseR3:hover .bf-st-case-leis p{color:#f2eee3 !important;}
.elementor-element-stCaseR1:hover .bf-st-case-status .elementor-heading-title,.elementor-element-stCaseR2:hover .bf-st-case-status .elementor-heading-title,.elementor-element-stCaseR3:hover .bf-st-case-status .elementor-heading-title{color:#ff5c1c !important;}
.elementor-element-stCaseR1:hover>.e-con,.elementor-element-stCaseR2:hover>.e-con,.elementor-element-stCaseR3:hover>.e-con{border-right-color:rgba(242,238,227,.2) !important;}
.bf-st-case-yr .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif;font-size:13px !important;margin:0 !important;}
.bf-st-case-name .elementor-heading-title{font-size:16px !important;font-weight:700 !important;letter-spacing:-.015em !important;margin:0 !important;}
.bf-st-case-ort .elementor-heading-title{font-size:13px !important;color:#6a6a68 !important;margin:3px 0 0 !important;}
.bf-st-case-row:hover .bf-st-case-ort .elementor-heading-title,.bf-st-case-row:hover .bf-st-case-br .elementor-heading-title{color:rgba(242,238,227,.7) !important;}
.bf-st-case-leis .elementor-widget-container p{font-size:16px;line-height:1.4;margin:0;}
.bf-st-case-br .elementor-heading-title{font-size:13px !important;color:#6a6a68 !important;margin:4px 0 0 !important;}
.bf-st-case-status .elementor-heading-title{font-size:16px !important;font-weight:700 !important;color:#ff5c1c !important;align-self:center !important;margin:0 !important;}

/* CTA-Sektion + Quote */
.bf-st-cta-q .elementor-heading-title{font-size:56px !important;font-weight:700 !important;letter-spacing:-.04em !important;line-height:.98 !important;max-width:18ch !important;margin:0 !important;}
.bf-st-cta-q .elementor-heading-title em{color:#ff5c1c !important;font-style:normal !important;}

/* === Startseite (page-id-14): Banner verstecken + Button-Default-Fixes === */
body.page-id-14 .elementor-element-v2bnr{display:none !important;}
body.page-id-14 .elementor-button{text-transform:none !important;letter-spacing:0 !important;}
body.page-id-14 .elementor-nav-menu .elementor-item{text-transform:none !important;letter-spacing:0 !important;}
/* Hero-Container: Mindesthöhe, beide Spalten gestretcht; auf der Page wird die boxed-Padding aufgehoben für full-bleed Editorial-Effekt */
body.page-id-14 .elementor-element-stHero{padding:0 !important;}
body.page-id-14 .elementor-element-stHero>.e-con-inner{padding:0 !important;max-width:1440px;min-height:calc(100vh - 88px);}
body.page-id-14 .elementor-element-stHero .e-con-inner{display:flex !important;flex-direction:row !important;}
body.page-id-14 .elementor-element-stl{padding:96px 40px 40px 40px !important;}
body.page-id-14 .elementor-element-str{padding-right:40px !important;}
/* Hero-Index: erster Index-Header mit links 40px-Padding entfernen — sitzt schon im Container */
body.page-id-14 .elementor-element-str_hd>.e-con{padding:0 !important;}

/* === CTA-Section "Kontakt aufnehmen" (Ink-Background) — bf-vc-cta-*-Klassen-Styles, live genutzt auf den Leistungs- und Angebotsseiten (54-58, 16-18). */


.bf-vc-cta-headline .elementor-heading-title{font-size:56px !important;font-weight:700 !important;line-height:1.05 !important;letter-spacing:-.025em !important;color:#f2eee3 !important;max-width:780px !important;}
.bf-vc-cta-sub .elementor-widget-container p,.bf-vc-cta-sub p{font-size:16px !important;line-height:1.55 !important;color:rgba(242,238,227,.85) !important;max-width:580px !important;margin:24px 0 0 !important;}
.bf-vc-cta-btn{margin-top:40px !important;}
.bf-vc-cta-btn .elementor-button,.bf-vc-cta-btn a.elementor-button-link{display:inline-block !important;padding:16px 32px !important;font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;!important;text-decoration:none !important;background:#ff5c1c !important;color:#f2eee3 !important;border:0 !important;border-radius:0 !important;transition:background .15s,color .15s !important;}
.bf-vc-cta-btn .elementor-button:hover,.bf-vc-cta-btn a.elementor-button-link:hover{background:#f2eee3 !important;color:#2b2b2b !important;}

/* Startseite Cases-Zeilen: absolut positionierter Overlay-Link macht die komplette Zeile klickbar.
   Container muss position:relative sein (Elementor-Container ist by default position:relative — bestätigen). */
.elementor-element-stCaseR1,.elementor-element-stCaseR2,.elementor-element-stCaseR3{position:relative !important;}
.elementor-element-stCaseR1 .bf-case-row-link-w,.elementor-element-stCaseR2 .bf-case-row-link-w,.elementor-element-stCaseR3 .bf-case-row-link-w{position:absolute !important;inset:0 !important;width:auto !important;height:auto !important;margin:0 !important;padding:0 !important;pointer-events:none !important;}
.bf-case-row-link{display:block !important;position:absolute !important;inset:0 !important;z-index:5 !important;text-decoration:none !important;pointer-events:auto !important;}

/* Issue #22: Startseite "Was wir tun"-Disziplinen-Zeilen klickbar — gleiches Overlay-Muster.
   str_list-Zeilen sind direkte .e-con-Kinder; Anker-Stil kommt von .bf-case-row-link (oben). */
.elementor-element-str_list > .e-con{position:relative !important;cursor:pointer !important;}
.elementor-element-str_list .bf-case-row-link-w{position:absolute !important;inset:0 !important;width:auto !important;height:auto !important;margin:0 !important;padding:0 !important;pointer-events:none !important;}

/* Issue #26: /leistungen/ Hub-Tabellen-Zeilen klickbar (5 Felder lfrowsL + 3 Pakete lfrowsR). */
.elementor-element-lfrowsL > .e-con,.elementor-element-lfrowsR > .e-con{position:relative !important;cursor:pointer !important;}
.elementor-element-lfrowsL .bf-case-row-link-w,.elementor-element-lfrowsR .bf-case-row-link-w{position:absolute !important;inset:0 !important;width:auto !important;height:auto !important;margin:0 !important;padding:0 !important;pointer-events:none !important;}

/* Issue #33: Startseite "Drei Pakete"-Karten (stPak1/2/3) voll klickbar -> Paketseite. */
.elementor-element-stPak1,.elementor-element-stPak2,.elementor-element-stPak3{position:relative !important;cursor:pointer !important;}
.elementor-element-stPak1 .bf-case-row-link-w,.elementor-element-stPak2 .bf-case-row-link-w,.elementor-element-stPak3 .bf-case-row-link-w{position:absolute !important;inset:0 !important;width:auto !important;height:auto !important;margin:0 !important;padding:0 !important;pointer-events:none !important;}

/* === Issue #19: Vertikale Flucht — ALLE Section-Inhalte starten am Logo-Anker (= boxed-Container e-con-inner Left-Edge)
   Header v2top hat content_width:boxed/1440 + padding-LR:48 → e-con-inner sitzt zentriert. Damit das Logo (1. Heading
   im e-con-inner) der definierende Anker ist, dürfen Sub-Container in Hero/Body KEIN zusätzliches padding-left haben. */

/* Hero-Header-Inner-Container (Readiness): keine extra Padding (vorher 10px verschoben num+meta nach rechts) */
.elementor-element-vrhd,.elementor-element-vrmeta{padding-left:0 !important;padding-right:0 !important;}

/* Startseite: stl-Hero-Wrapper hatte 40px padding-left → H1 saß bei 273 statt 233.
   Spezifität: body.page-id-14 .elementor-element-stl existiert weiter unten mit padding-left:40 + !important,
   daher gleiche Spezifität-Stufe nötig + nach unten gestellt. */
body.page-id-14 .elementor-element-stl,body.page-id-14 .elementor-element-stl_ctas,
body.page-id-14 .elementor-element-stPak,body.page-id-14 .elementor-element-stCase,body.page-id-14 .elementor-element-stCta{padding-left:0 !important;padding-right:0 !important;}

/* Section-Number-Widget (bf-section-num): hatte _element_custom_width:280 → schob H1 ca. 40px rechts.
   Width auf auto, kein eigener Padding. */
.bf-section-num,.bf-section-num.elementor-widget,.elementor-widget.bf-section-num{width:auto !important;min-width:0 !important;max-width:none !important;padding-left:0 !important;}

/* Body-Inhalt der Subpages mit Lese-Container (Readiness):
   e-con-inner darf nicht verschmälert sein (sonst springt der Body weiter nach rechts als der Hero).
   Inhalt links bündig zur Logo-Flucht, max-width für Lesbarkeit. */
.elementor-element-vrform_sec > .e-con-inner{max-width:1440px !important;width:100% !important;margin-left:auto !important;margin-right:auto !important;}

/* Inner-Container-Default: Elementor setzt --padding-left:10 / --padding-right:10 auf jedem .e-con.e-child.
   Das verschiebt den ersten Inhalt jeweils 10px nach rechts (= sichtbar als Flucht-Versatz auf Pages mit Sub-Layout).
   Override für alle direct-child Containers der Body/Section-Wrappers — sie kriegen Padding 0 auf X-Achse. */
.elementor-element-vrform_sec .e-con.e-child,.elementor-element-vrhero .e-con.e-child,
.elementor-element-stHero .e-con.e-child,
body.page-id-14 .e-con.e-child{--padding-left:0 !important;--padding-right:0 !important;}

/* Pakete-Pages (Leistungsfelder 52-56): autogenerated Container-IDs, daher Page-ID-Selektor.
   Card-Inner mit explizitem padding behalten ihr Wert (Elementor setzt das inline auf den Container, nicht via --padding-left default). */
body.page-id-52 .e-con.e-child,
body.page-id-53 .e-con.e-child,
body.page-id-54 .e-con.e-child,
body.page-id-55 .e-con.e-child,
body.page-id-56 .e-con.e-child,
body.page-id-57 .e-con.e-child,
body.page-id-58 .e-con.e-child{--padding-left:0 !important;--padding-right:0 !important;}

/* Case-Detailseiten: gleiche Nullung der inneren Container.
   Fakten-Zeile und Galerie sassen sonst auf 50/60 statt 40 (Elementor-10px-Default, doppelt gestapelt). */
body.page-id-177 .e-con.e-child,
body.page-id-178 .e-con.e-child,
body.page-id-179 .e-con.e-child,
body.page-id-180 .e-con.e-child,
body.page-id-181 .e-con.e-child,
body.page-id-182 .e-con.e-child,
body.page-id-183 .e-con.e-child,
body.page-id-184 .e-con.e-child,
body.page-id-185 .e-con.e-child,
body.page-id-186 .e-con.e-child{--padding-left:0 !important;--padding-right:0 !important;}

/* === LEISTUNGSFELD-SYSTEM — durchgängiger Look für ALLE /leistungen/*-Seiten
   (Marke #1, Employer #2, Website #3, Content & Social Media #4, Kampagnen #5).
   Single Source of Truth: docs/build/build-leistungsfeld.php baut jede Seite mit
   denselben festen Element-IDs lf* + Widget-Klassen bf-lf-*. Da immer nur EINE
   Leistungsfeld-Seite gleichzeitig lädt, kollidieren die wiederverwendeten IDs nicht
   — ein einziger CSS-Block stylt alle Felder identisch.
   Quirk Rule 5: Container-_css_classes rendern nicht → Layout via .elementor-element-<id>.
   Vertikale Flucht: body.page-id-52..56 .e-con.e-child{--padding-left:0} (siehe oben). */

/* HERO — 2-Spalter: Text links, korrespondierendes Icon rechts */
.elementor-element-lfHeroRow{flex-wrap:wrap !important;align-items:center !important;}
.elementor-element-lfHeroTxt{flex:1 1 540px !important;}
.elementor-element-lfHeroIcon{flex:0 0 240px !important;align-items:center !important;justify-content:center !important;}
.bf-lf-icon img{width:240px !important;height:240px !important;display:block !important;}
.bf-lf-h1 .elementor-heading-title{font-size:56px !important;font-weight:700 !important;line-height:.98 !important;letter-spacing:-.035em !important;color:#2b2b2b !important;margin-top:8px !important;}
.bf-lf-h1 .elementor-heading-title em{color:#ff5c1c !important;font-style:normal !important;}
.bf-lf-lede p,.bf-lf-lede .elementor-widget-container p{font-size:16px !important;line-height:1.55 !important;color:#2b2b2b !important;max-width:680px !important;margin:32px 0 0 !important;}

/* Section H2 + Body */
.bf-lf-sec-h2 .elementor-heading-title{font-size:56px !important;font-weight:700 !important;line-height:1.02 !important;letter-spacing:-.025em !important;color:#2b2b2b !important;margin:16px 0 0 !important;max-width:980px !important;}
.bf-lf-sec-h2 .elementor-heading-title em{color:#ff5c1c !important;font-style:normal !important;}
.bf-lf-sec-body p,.bf-lf-sec-body .elementor-widget-container p{font-size:16px !important;line-height:1.6 !important;color:#2b2b2b !important;max-width:720px !important;margin:24px 0 48px !important;}

/* WHY (Ausgangslage) — 3-Spalter mit Trennlinien */
.elementor-element-lfWhyGrid{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:0 !important;border-top:1px solid #2b2b2b !important;}
.elementor-element-lfWhy1,.elementor-element-lfWhy2,.elementor-element-lfWhy3{padding:32px 32px 32px 0 !important;border-right:1px solid #d9d4c6 !important;}
.elementor-element-lfWhy3{border-right:0 !important;}
.elementor-element-lfWhy2,.elementor-element-lfWhy3{padding-left:32px !important;}
.bf-lf-why-num .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;color:#6a6a68 !important;font-weight:700 !important;}
.bf-lf-why-title .elementor-heading-title{font-size:22px !important;font-weight:700 !important;letter-spacing:-.02em !important;line-height:1.18 !important;color:#2b2b2b !important;margin-top:16px !important;max-width:360px !important;}
.bf-lf-why-desc p,.bf-lf-why-desc .elementor-widget-container p{font-size:16px !important;line-height:1.55 !important;color:#6a6a68 !important;margin-top:16px !important;}

/* DO (Was wir tun) — 4-Card-Grid */
.elementor-element-lfCardGrid{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:0 !important;border-top:1px solid #2b2b2b !important;}
.elementor-element-lfCard1,.elementor-element-lfCard2,.elementor-element-lfCard3,.elementor-element-lfCard4{padding:32px 24px !important;border-right:1px solid #d9d4c6 !important;}
.elementor-element-lfCard1{padding-left:0 !important;}
.elementor-element-lfCard4{border-right:0 !important;padding-right:0 !important;}
.bf-lf-card-num .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;color:#ff5c1c !important;font-weight:700 !important;}
.bf-lf-card-title .elementor-heading-title{font-size:20px !important;font-weight:700 !important;letter-spacing:-.02em !important;line-height:1.18 !important;color:#2b2b2b !important;margin-top:16px !important;}
.bf-lf-card-body p,.bf-lf-card-body .elementor-widget-container p{font-size:16px !important;line-height:1.55 !important;color:#6a6a68 !important;margin-top:16px !important;}

/* HOW (Vorgehen) — Phasen-Bänder mit großer Nummer links */
.elementor-element-lfPhases{border-top:1px solid #2b2b2b !important;}
.elementor-element-lfPhase1,.elementor-element-lfPhase2,.elementor-element-lfPhase3,.elementor-element-lfPhase4{padding:32px 0 !important;border-bottom:1px solid #d9d4c6 !important;}
.elementor-element-lfPhase4{border-bottom:0 !important;}
.bf-lf-phase-num .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:56px !important;font-weight:700 !important;letter-spacing:-.04em !important;color:#ff5c1c !important;line-height:1 !important;flex:0 0 120px !important;}
.bf-lf-phase-title .elementor-heading-title{font-size:22px !important;font-weight:700 !important;letter-spacing:-.02em !important;line-height:1.18 !important;color:#2b2b2b !important;}
.bf-lf-phase-body p,.bf-lf-phase-body .elementor-widget-container p{font-size:16px !important;line-height:1.6 !important;color:#6a6a68 !important;margin-top:16px !important;max-width:720px !important;}

/* QUOTE — groß, ruhig */
.elementor-element-lfQuote{background:#f2eee3 !important;}
.bf-lf-quote .elementor-heading-title{font-size:36px !important;font-weight:700 !important;letter-spacing:-.02em !important;line-height:1.25 !important;color:#2b2b2b !important;margin-top:16px !important;max-width:1080px !important;}
.bf-lf-quote .elementor-heading-title em{color:#ff5c1c !important;font-style:normal !important;}
.bf-lf-quote-src .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;!important;color:#6a6a68 !important;margin-top:32px !important;}

/* CTA — dunkel, reuse bf-vc-cta-* + Ghost-Button */
.elementor-element-lfCta{background:#2b2b2b !important;border-top:2px solid #2b2b2b !important;align-items:flex-start !important;}
.elementor-element-lfCtaBtns{margin-top:40px !important;}
.bf-vc-cta-btn--ghost .elementor-button,.bf-vc-cta-btn--ghost a.elementor-button-link{background:transparent !important;color:#f2eee3 !important;border:1px solid #f2eee3 !important;}
.bf-vc-cta-btn--ghost .elementor-button:hover,.bf-vc-cta-btn--ghost a.elementor-button-link:hover{background:#f2eee3 !important;color:#2b2b2b !important;}

/* === PAKET-SYSTEM (Variante B „Pricing-Karte") — für ALLE Paketseiten (Audit, Brand-Refresh, MaaS).
   Eigener Angebots-/Pricing-Seitentyp. Feste IDs pkg* werden je Paketseite wiederverwendet
   (nur eine lädt gleichzeitig). Neue Pakete: Paket-Vorlage-Seite duplizieren → Texte/Preis ändern.
   Quirk Rule 5: Layout via .elementor-element-<id>; Widget-Klassen bf-pkg-* rendern normal. */

/* HERO — 2-Spalter: Narrativ links, Pricing-Karte rechts */
.elementor-element-pkgHeroRow{display:grid !important;grid-template-columns:1.1fr .9fr !important;gap:64px !important;align-items:start !important;}
.bf-pkg-h1 .elementor-heading-title{font-size:56px !important;font-weight:700 !important;line-height:.97 !important;letter-spacing:-.035em !important;color:#2b2b2b !important;}
.bf-pkg-h1 .elementor-heading-title em{color:#ff5c1c !important;font-style:normal !important;}
.bf-pkg-sub p,.bf-pkg-sub .elementor-widget-container p{font-size:16px !important;line-height:1.55 !important;color:#2b2b2b !important;max-width:560px !important;margin:24px 0 0 !important;}
.bf-pkg-forwho-k .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;!important;color:#6a6a68 !important;margin:32px 0 0 !important;padding-top:24px !important;border-top:1px solid #2b2b2b !important;}
.bf-pkg-forwho ul{list-style:none !important;margin:16px 0 0 !important;padding:0 !important;}
.bf-pkg-forwho li{font-size:16px !important;line-height:1.4 !important;padding:8px 0 !important;color:#2b2b2b !important;}
.bf-pkg-forwho li::before{content:"→";color:#ff5c1c;font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif;margin-right:10px;}

/* PRICING-KARTE */
.elementor-element-pkgCard{border:2px solid #2b2b2b !important;background:#fff !important;padding:0 !important;}
.elementor-element-pkgCardHead{background:#2b2b2b !important;padding:24px 32px !important;}
.bf-pkg-card-k .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;!important;color:rgba(242,238,227,.6) !important;}
.bf-pkg-card-name .elementor-heading-title{font-size:22px !important;font-weight:700 !important;letter-spacing:-.02em !important;color:#f2eee3 !important;margin-top:4px !important;}
.elementor-element-pkgCardBody{padding:32px !important;}
.bf-pkg-price .elementor-heading-title{font-size:36px !important;font-weight:700 !important;letter-spacing:-.03em !important;line-height:1 !important;color:#2b2b2b !important;}
.bf-pkg-price .elementor-heading-title small{font-size:16px !important;font-weight:700 !important;color:#6a6a68 !important;}
.bf-pkg-dur .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;!important;color:#6a6a68 !important;margin-top:8px !important;}
.bf-pkg-card-list ul{list-style:none !important;margin:24px 0 0 !important;padding:0 !important;border-top:1px solid #d9d4c6 !important;}
.bf-pkg-card-list li{font-size:16px !important;padding:8px 0 !important;border-bottom:1px solid #d9d4c6 !important;color:#2b2b2b !important;}
.bf-pkg-card-list li::before{content:"✓";color:#ff5c1c;font-weight:700;margin-right:10px;}
.bf-pkg-card-btn .elementor-button,.bf-pkg-card-btn a.elementor-button-link{display:block !important;text-align:center !important;margin-top:24px !important;background:#ff5c1c !important;color:#f2eee3 !important;padding:16px !important;font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;!important;text-decoration:none !important;border:0 !important;border-radius:0 !important;}
.bf-pkg-card-btn .elementor-button:hover,.bf-pkg-card-btn a.elementor-button-link:hover{background:#2b2b2b !important;}
.bf-pkg-card-fine p,.bf-pkg-card-fine .elementor-widget-container p{font-size:13px !important;line-height:1.5 !important;color:#6a6a68 !important;text-align:center !important;margin:16px 0 0 !important;}

/* Section-Bausteine (Was enthalten / Ablauf) — gleiche Sprache wie Leistungsfelder */


.bf-pkg-h2 .elementor-heading-title{font-size:36px !important;font-weight:700 !important;letter-spacing:-.025em !important;line-height:1.04 !important;color:#2b2b2b !important;}
.bf-pkg-h2 .elementor-heading-title em{color:#ff5c1c !important;font-style:normal !important;}
.elementor-element-pkgSec1,.elementor-element-pkgSec2{border-top:1px solid #d9d4c6 !important;}
.elementor-element-pkgHero{border-bottom:2px solid #2b2b2b !important;background:#f2eee3 !important;}
/* Deliverables 3x2 Grid */
.elementor-element-pkgDeliverGrid{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:0 !important;border-top:1px solid #2b2b2b !important;margin-top:40px !important;}
.elementor-element-pkgDeliverGrid > .e-con{padding:24px 32px !important;border-right:1px solid #d9d4c6 !important;border-bottom:1px solid #d9d4c6 !important;}
.elementor-element-pkgDeliverGrid > .e-con:nth-child(3n+1){padding-left:0 !important;}
.elementor-element-pkgDeliverGrid > .e-con:nth-child(3n){border-right:0 !important;padding-right:0 !important;}
.bf-pkg-d-num .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;font-weight:700 !important;color:#ff5c1c !important;letter-spacing:0.01em !important;}
.bf-pkg-d-title .elementor-heading-title{font-size:16px !important;font-weight:700 !important;letter-spacing:-.02em !important;color:#2b2b2b !important;margin-top:8px !important;}
.bf-pkg-d-desc p,.bf-pkg-d-desc .elementor-widget-container p{font-size:13px !important;line-height:1.5 !important;color:#6a6a68 !important;margin-top:8px !important;}
/* Steps 4-col */
.elementor-element-pkgStepsGrid{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:0 !important;border-top:1px solid #2b2b2b !important;margin-top:40px !important;}
.elementor-element-pkgStepsGrid > .e-con{padding:24px 24px !important;border-right:1px solid #d9d4c6 !important;}
.elementor-element-pkgStepsGrid > .e-con:first-child{padding-left:0 !important;}
.elementor-element-pkgStepsGrid > .e-con:last-child{border-right:0 !important;padding-right:0 !important;}
.bf-pkg-s-w .elementor-heading-title{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;font-weight:700 !important;color:#ff5c1c !important;letter-spacing:0.01em !important;}
.bf-pkg-s-tt .elementor-heading-title{font-size:16px !important;font-weight:700 !important;letter-spacing:-.02em !important;color:#2b2b2b !important;margin-top:8px !important;}
.bf-pkg-s-dd p,.bf-pkg-s-dd .elementor-widget-container p{font-size:13px !important;line-height:1.5 !important;color:#6a6a68 !important;margin-top:8px !important;}
/* CTA (reuse bf-vc-cta-*) */
.elementor-element-pkgCta{background:#2b2b2b !important;border-top:2px solid #2b2b2b !important;align-items:flex-start !important;}
.elementor-element-pkgCtaBtns{margin-top:32px !important;}
/* Pakete (page-id 16/17/18): Inner-Container-Default-Padding für Flucht nullen */
body.page-id-16 .e-con.e-child,body.page-id-17 .e-con.e-child,body.page-id-18 .e-con.e-child{--padding-left:0 !important;--padding-right:0 !important;}
@media (max-width:900px){ .elementor-element-pkgHeroRow{grid-template-columns:1fr !important;} .elementor-element-pkgDeliverGrid{grid-template-columns:1fr 1fr !important;} .elementor-element-pkgStepsGrid{grid-template-columns:1fr 1fr !important;} }

/* === Glitch & Selection (bleibt) === */
@keyframes bf-glitch-once{0%{transform:translate(0,0) skewX(0);}30%{transform:translate(-2px,1px) skewX(-8deg);}60%{transform:translate(2px,-1px) skewX(4deg);}100%{transform:translate(0,0) skewX(0);}}
.bf-glitch{animation:bf-glitch-once 700ms cubic-bezier(.2,.7,.2,1) 1;display:inline-block;}
::selection{background:#ff5c1c;color:#f2eee3;}

/* === Brevo Meetings Embed (#9, /kontakt/ Sektion 05) === */
.bf-meet-embed{max-width:1180px;}
.bf-meet-embed iframe{width:100%;height:600px;border:2px solid #2b2b2b;background:#f8f5ec;display:block;}
.bf-meet-fallback{font-size:13px;color:#6a6a68;margin:16px 0 0;}
.bf-meet-fallback a{color:#2b2b2b;text-decoration:underline;}
@media (max-width:1024px){.bf-meet-embed{max-width:none;}.bf-meet-embed iframe{height:800px;}}
@media (max-width:600px){.bf-meet-embed iframe{height:920px;}}
#termin{scroll-margin-top:96px;}
html{scroll-behavior:smooth;}

/* Honeypot-Feld Kontaktformular (#13): off-screen verstecken, aus Tab-Reihenfolge raus */
.elementor-field-group-hp_check{position:absolute !important;left:-9999px !important;top:auto;width:1px;height:1px;overflow:hidden;}

/* === Startseite (Custom-Layout v2-start) — Mobile-Stacking (#32) ===
   Die Start-Container haben keine Mobile-Variante (flex_direction=row bleibt).
   Unter 768px alle mehrspaltigen Sektionen untereinander legen. */
@media (max-width:767px){
  /* Override mit body.page-id-14-Präfix, damit es die bestehenden flex-direction:row !important
     Regeln (teils mit body.page-id-14-Spezifität 0,3,1) schlägt. */
  /* Hero (boxed): Flex liegt auf .e-con-inner */
  body.page-id-14 .elementor-element-stHero .e-con-inner{flex-direction:column !important;}
  body.page-id-14 .elementor-element-stl,
  body.page-id-14 .elementor-element-str{width:100% !important;}
  /* Pakete-Teaser: CSS-Grid 3 Spalten -> 1 Spalte (Karten untereinander) */
  body.page-id-14 .elementor-element-stPakGrid{grid-template-columns:1fr !important;}
  /* Cases-Teaser: Tabellenkopf aus, Zeilen + Zellen stapeln */
  body.page-id-14 .elementor-element-stCasesHd{display:none !important;}
  body.page-id-14 .elementor-element-stCaseR1,
  body.page-id-14 .elementor-element-stCaseR2,
  body.page-id-14 .elementor-element-stCaseR3{flex-direction:column !important;gap:6px !important;}
  /* Section-Header (Titel + Mono-Label) stapeln */
  body.page-id-14 .elementor-element-stShdPak,
  body.page-id-14 .elementor-element-stShdCase{flex-direction:column !important;}
}

/* Sektions-Label (Ersatz für Eyebrow, Design System v2) */
.bf-seclabel{font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:500;color:#6a6a68;}
.bf-seclabel .n{color:#2b2b2b;font-weight:700;}

/* Design System: scharfe Ecken als Systemstandard (überschreibt Theme-/Plugin-Defaults; Pills nur explizit per Klasse) */
input, textarea, select, button, [type="button"], [type="submit"], .elementor-field-textual, .cmplz-cookiebanner .cmplz-btn, .cmplz-blocked-content-container {border-radius:0}

/* === Spezialgebiete-Tabelle (/leistungen/, einspaltig, gleicher Look wie lfgrid) === */
.elementor-element-ovspcol{border:2px solid #2b2b2b !important;display:flex !important;flex-direction:column;padding:0 !important;gap:0 !important;background:#f2eee3;}
.elementor-element-ovsphead{flex:0 0 auto !important;border-bottom:1px solid #2b2b2b !important;padding:0 !important;gap:0 !important;}
.elementor-element-ovsphead .elementor-heading-title{padding:16px 20px !important;font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;color:#6a6a68 !important;margin:0 !important;}
.elementor-element-ovsphead .elementor-heading-title b,.elementor-element-ovsphead .elementor-heading-title strong{color:#2b2b2b !important;font-weight:700;}
.elementor-element-ovsprows{flex:1 1 auto !important;display:flex !important;flex-direction:column;padding:0 !important;gap:0 !important;}
.elementor-element-ovsprows>.e-con{flex:1 1 auto !important;flex-direction:row !important;align-items:center !important;flex-wrap:nowrap !important;gap:14px !important;min-height:64px !important;padding:8px 20px !important;border-bottom:1px solid #2b2b2b !important;position:relative !important;cursor:pointer !important;transition:background .12s cubic-bezier(.2,.7,.2,1),color .12s cubic-bezier(.2,.7,.2,1);}
.elementor-element-ovsprows>.e-con:last-child{border-bottom:0 !important;}
.elementor-element-ovsprows>.e-con:hover{background:#2b2b2b !important;}
.elementor-element-ovsprows>.e-con:hover .elementor-heading-title{color:#f2eee3 !important;}
.elementor-element-ovsprows>.e-con>.e-con{flex:1 1 auto !important;flex-direction:column !important;justify-content:center !important;gap:3px !important;padding:0 !important;min-width:0;}
.elementor-element-ovsprows>.e-con:hover .bf-lf-arr .elementor-heading-title{transform:translateX(4px);}
.elementor-element-ovsprows .bf-case-row-link-w{position:absolute !important;inset:0 !important;width:auto !important;height:auto !important;margin:0 !important;padding:0 !important;pointer-events:none !important;}
/* === Cases: Detailseite, Bilder bündig und ohne Rundung === */
.elementor-widget-image img{border-radius:0;}
/* === Cases-Übersicht: Karten (Overlay-Link-Muster wie Tabellen-Zeilen) === */
.elementor-element-ccardtconreb,.elementor-element-ccardnextpac,.elementor-element-ccardgoldhof,.elementor-element-ccardsportsc,.elementor-element-ccardbaecker,.elementor-element-ccardkihiges,.elementor-element-ccardfinider,.elementor-element-ccardmcdmutl,.elementor-element-ccardpatrizi,.elementor-element-ccardkihipod{position:relative !important;cursor:pointer !important;}
.elementor-element-ccardtconreb .bf-case-row-link-w,.elementor-element-ccardnextpac .bf-case-row-link-w,.elementor-element-ccardgoldhof .bf-case-row-link-w,.elementor-element-ccardsportsc .bf-case-row-link-w,.elementor-element-ccardbaecker .bf-case-row-link-w,.elementor-element-ccardkihiges .bf-case-row-link-w,.elementor-element-ccardfinider .bf-case-row-link-w,.elementor-element-ccardmcdmutl .bf-case-row-link-w,.elementor-element-ccardpatrizi .bf-case-row-link-w,.elementor-element-ccardkihipod .bf-case-row-link-w{position:absolute !important;inset:0 !important;width:auto !important;height:auto !important;margin:0 !important;padding:0 !important;pointer-events:none !important;}
.elementor-element-ccardtconreb .elementor-widget-image img,.elementor-element-ccardnextpac .elementor-widget-image img,.elementor-element-ccardgoldhof .elementor-widget-image img,.elementor-element-ccardsportsc .elementor-widget-image img,.elementor-element-ccardbaecker .elementor-widget-image img,.elementor-element-ccardkihiges .elementor-widget-image img,.elementor-element-ccardfinider .elementor-widget-image img,.elementor-element-ccardmcdmutl .elementor-widget-image img,.elementor-element-ccardpatrizi .elementor-widget-image img,.elementor-element-ccardkihipod .elementor-widget-image img{width:100% !important;height:auto !important;aspect-ratio:16/9;object-fit:cover;display:block;border-radius:0 !important;}
.elementor-element-ccardtconreb:hover .elementor-heading-title,.elementor-element-ccardnextpac:hover .elementor-heading-title,.elementor-element-ccardgoldhof:hover .elementor-heading-title,.elementor-element-ccardsportsc:hover .elementor-heading-title,.elementor-element-ccardbaecker:hover .elementor-heading-title,.elementor-element-ccardkihiges:hover .elementor-heading-title,.elementor-element-ccardfinider:hover .elementor-heading-title,.elementor-element-ccardmcdmutl:hover .elementor-heading-title,.elementor-element-ccardpatrizi:hover .elementor-heading-title,.elementor-element-ccardkihipod:hover .elementor-heading-title{color:#ff5c1c !important;transition:color .22s cubic-bezier(.2,.7,.2,1);}
.elementor-element-ccardtconreb:hover img,.elementor-element-ccardnextpac:hover img,.elementor-element-ccardgoldhof:hover img,.elementor-element-ccardsportsc:hover img,.elementor-element-ccardbaecker:hover img,.elementor-element-ccardkihiges:hover img,.elementor-element-ccardfinider:hover img,.elementor-element-ccardmcdmutl:hover img,.elementor-element-ccardpatrizi:hover img,.elementor-element-ccardkihipod:hover img{opacity:.92;transition:opacity .22s cubic-bezier(.2,.7,.2,1);}


/* === Für wen: Tabellen (gleicher Look wie lfgrid/ovsprows) === */
.elementor-element-msacol,.elementor-element-msccol,.elementor-element-sutcol,.elementor-element-zgtcol,.elementor-element-zgbcol,.bf-tbl-col{border:2px solid #2b2b2b !important;display:flex !important;flex-direction:column;padding:0 !important;gap:0 !important;background:#f2eee3;}
.elementor-element-msahead,.elementor-element-mschead,.elementor-element-suthead,.elementor-element-zgthead,.elementor-element-zgbhead,.bf-tbl-head{flex:0 0 auto !important;border-bottom:1px solid #2b2b2b !important;padding:0 !important;gap:0 !important;}
.elementor-element-msahead .elementor-heading-title,.elementor-element-mschead .elementor-heading-title,.elementor-element-suthead .elementor-heading-title,.elementor-element-zgthead .elementor-heading-title,.elementor-element-zgbhead .elementor-heading-title,.bf-tbl-head .elementor-heading-title{padding:16px 20px !important;font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;color:#6a6a68 !important;margin:0 !important;}
.elementor-element-msahead .elementor-heading-title b,.elementor-element-mschead .elementor-heading-title b,.elementor-element-suthead .elementor-heading-title b,.elementor-element-zgthead .elementor-heading-title b,.elementor-element-zgbhead .elementor-heading-title b,.bf-tbl-head .elementor-heading-title b,.elementor-element-msahead .elementor-heading-title strong,.elementor-element-mschead .elementor-heading-title strong,.elementor-element-suthead .elementor-heading-title strong,.elementor-element-zgthead .elementor-heading-title strong,.elementor-element-zgbhead .elementor-heading-title strong,.bf-tbl-head .elementor-heading-title strong{color:#2b2b2b !important;font-weight:700;}
.elementor-element-msarows,.elementor-element-mscrows,.elementor-element-sutrows,.elementor-element-zgtrows,.elementor-element-zgbrows,.bf-tbl-rows{flex:1 1 auto !important;display:flex !important;flex-direction:column;padding:0 !important;gap:0 !important;}
.elementor-element-msarows>.e-con,.elementor-element-mscrows>.e-con,.elementor-element-sutrows>.e-con,.elementor-element-zgtrows>.e-con,.elementor-element-zgbrows>.e-con,.bf-tbl-rows>.e-con{flex:1 1 auto !important;flex-direction:row !important;align-items:center !important;flex-wrap:nowrap !important;gap:14px !important;min-height:64px !important;padding:8px 20px !important;border-bottom:1px solid #2b2b2b !important;position:relative !important;cursor:pointer !important;transition:background .12s cubic-bezier(.2,.7,.2,1),color .12s cubic-bezier(.2,.7,.2,1);}
.elementor-element-msarows>.e-con:last-child,.elementor-element-mscrows>.e-con:last-child,.elementor-element-sutrows>.e-con:last-child,.elementor-element-zgtrows>.e-con:last-child,.elementor-element-zgbrows>.e-con:last-child,.bf-tbl-rows>.e-con:last-child{border-bottom:0 !important;}
.elementor-element-msarows>.e-con:hover,.elementor-element-mscrows>.e-con:hover,.elementor-element-sutrows>.e-con:hover,.elementor-element-zgtrows>.e-con:hover,.elementor-element-zgbrows>.e-con:hover,.bf-tbl-rows>.e-con:hover{background:#2b2b2b !important;}
.elementor-element-msarows>.e-con:hover .elementor-heading-title,.elementor-element-mscrows>.e-con:hover .elementor-heading-title,.elementor-element-sutrows>.e-con:hover .elementor-heading-title,.elementor-element-zgtrows>.e-con:hover .elementor-heading-title,.elementor-element-zgbrows>.e-con:hover .elementor-heading-title,.bf-tbl-rows>.e-con:hover .elementor-heading-title{color:#f2eee3 !important;}
.elementor-element-msarows>.e-con>.e-con,.elementor-element-mscrows>.e-con>.e-con,.elementor-element-sutrows>.e-con>.e-con,.elementor-element-zgtrows>.e-con>.e-con,.elementor-element-zgbrows>.e-con>.e-con,.bf-tbl-rows>.e-con>.e-con{flex:1 1 auto !important;flex-direction:column !important;justify-content:center !important;gap:3px !important;padding:0 !important;min-width:0;}
.elementor-element-msarows .bf-case-row-link-w,.elementor-element-mscrows .bf-case-row-link-w,.elementor-element-sutrows .bf-case-row-link-w,.elementor-element-zgtrows .bf-case-row-link-w,.elementor-element-zgbrows .bf-case-row-link-w,.bf-tbl-rows .bf-case-row-link-w{position:absolute !important;inset:0 !important;width:auto !important;height:auto !important;margin:0 !important;padding:0 !important;pointer-events:none !important;}


/* === NGO: Referenz-Tabelle === */
.elementor-element-ngccol{border:2px solid #2b2b2b !important;display:flex !important;flex-direction:column;padding:0 !important;gap:0 !important;background:#f2eee3;}
.elementor-element-ngchead{flex:0 0 auto !important;border-bottom:1px solid #2b2b2b !important;padding:0 !important;gap:0 !important;}
.elementor-element-ngchead .elementor-heading-title{padding:16px 20px !important;font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;color:#6a6a68 !important;margin:0 !important;}
.elementor-element-ngchead .elementor-heading-title b{color:#2b2b2b !important;font-weight:700;}
.elementor-element-ngcrows{flex:1 1 auto !important;display:flex !important;flex-direction:column;padding:0 !important;gap:0 !important;}
.elementor-element-ngcrows>.e-con{flex:1 1 auto !important;flex-direction:row !important;align-items:center !important;flex-wrap:nowrap !important;gap:14px !important;min-height:64px !important;padding:8px 20px !important;border-bottom:1px solid #2b2b2b !important;position:relative !important;cursor:pointer !important;transition:background .12s cubic-bezier(.2,.7,.2,1);}
.elementor-element-ngcrows>.e-con:last-child{border-bottom:0 !important;}
.elementor-element-ngcrows>.e-con:hover{background:#2b2b2b !important;}
.elementor-element-ngcrows>.e-con:hover .elementor-heading-title{color:#f2eee3 !important;}
.elementor-element-ngcrows>.e-con>.e-con{flex:1 1 auto !important;flex-direction:column !important;justify-content:center !important;gap:3px !important;padding:0 !important;min-width:0;}
.elementor-element-ngcrows .bf-case-row-link-w{position:absolute !important;inset:0 !important;width:auto !important;height:auto !important;margin:0 !important;padding:0 !important;pointer-events:none !important;}


/* === Branchen: Tabellen === */
.elementor-element-brtcol,.elementor-element-foodbccol,.elementor-element-francccol,.elementor-element-indusccol,.elementor-element-saasccol{border:2px solid #2b2b2b !important;display:flex !important;flex-direction:column;padding:0 !important;gap:0 !important;background:#f2eee3;}
.elementor-element-brthead,.elementor-element-foodbchead,.elementor-element-francchead,.elementor-element-induschead,.elementor-element-saaschead{flex:0 0 auto !important;border-bottom:1px solid #2b2b2b !important;padding:0 !important;gap:0 !important;}
.elementor-element-brthead .elementor-heading-title,.elementor-element-foodbchead .elementor-heading-title,.elementor-element-francchead .elementor-heading-title,.elementor-element-induschead .elementor-heading-title,.elementor-element-saaschead .elementor-heading-title{padding:16px 20px !important;font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;color:#6a6a68 !important;margin:0 !important;}
.elementor-element-brthead .elementor-heading-title b,.elementor-element-foodbchead .elementor-heading-title b,.elementor-element-francchead .elementor-heading-title b,.elementor-element-induschead .elementor-heading-title b,.elementor-element-saaschead .elementor-heading-title b{color:#2b2b2b !important;font-weight:700;}
.elementor-element-brtrows,.elementor-element-foodbcrows,.elementor-element-franccrows,.elementor-element-induscrows,.elementor-element-saascrows{flex:1 1 auto !important;display:flex !important;flex-direction:column;padding:0 !important;gap:0 !important;}
.elementor-element-brtrows>.e-con,.elementor-element-foodbcrows>.e-con,.elementor-element-franccrows>.e-con,.elementor-element-induscrows>.e-con,.elementor-element-saascrows>.e-con{flex:1 1 auto !important;flex-direction:row !important;align-items:center !important;flex-wrap:nowrap !important;gap:14px !important;min-height:64px !important;padding:8px 20px !important;border-bottom:1px solid #2b2b2b !important;position:relative !important;cursor:pointer !important;transition:background .12s cubic-bezier(.2,.7,.2,1);}
.elementor-element-brtrows>.e-con:last-child,.elementor-element-foodbcrows>.e-con:last-child,.elementor-element-franccrows>.e-con:last-child,.elementor-element-induscrows>.e-con:last-child,.elementor-element-saascrows>.e-con:last-child{border-bottom:0 !important;}
.elementor-element-brtrows>.e-con:hover,.elementor-element-foodbcrows>.e-con:hover,.elementor-element-franccrows>.e-con:hover,.elementor-element-induscrows>.e-con:hover,.elementor-element-saascrows>.e-con:hover{background:#2b2b2b !important;}
.elementor-element-brtrows>.e-con:hover .elementor-heading-title,.elementor-element-foodbcrows>.e-con:hover .elementor-heading-title,.elementor-element-franccrows>.e-con:hover .elementor-heading-title,.elementor-element-induscrows>.e-con:hover .elementor-heading-title,.elementor-element-saascrows>.e-con:hover .elementor-heading-title{color:#f2eee3 !important;}
.elementor-element-brtrows>.e-con>.e-con,.elementor-element-foodbcrows>.e-con>.e-con,.elementor-element-franccrows>.e-con>.e-con,.elementor-element-induscrows>.e-con>.e-con,.elementor-element-saascrows>.e-con>.e-con{flex:1 1 auto !important;flex-direction:column !important;justify-content:center !important;gap:3px !important;padding:0 !important;min-width:0;}
.elementor-element-brtrows .bf-case-row-link-w,.elementor-element-foodbcrows .bf-case-row-link-w,.elementor-element-franccrows .bf-case-row-link-w,.elementor-element-induscrows .bf-case-row-link-w,.elementor-element-saascrows .bf-case-row-link-w{position:absolute !important;inset:0 !important;width:auto !important;height:auto !important;margin:0 !important;padding:0 !important;pointer-events:none !important;}






/* === Animiertes Logo (Loop-Video) === */
.bf-logo-anim{display:block;line-height:0;}
@media(max-width:767px){.bf-logo-anim video{height:44px !important;}}

/* === Blog-Artikel: Lesemaß und Rhythmus === */
.bf-article .elementor-widget-container{max-width:760px;}
.bf-article p{margin:0 0 20px;}
.bf-article h2{font-size:36px;line-height:1.15;letter-spacing:-.02em;margin:48px 0 16px;}
.bf-article h3{font-size:22px;line-height:1.2;letter-spacing:-.01em;margin:32px 0 8px;}
.bf-article ul,.bf-article ol{margin:0 0 20px 20px;}
.bf-article li{margin:0 0 8px;}
.bf-article figure{margin:32px 0;}
.bf-article img{width:100%;height:auto;display:block;border-radius:0;}
/* Blog-Grid: einheitliche Bildformate */
.bf-blog-grid .elementor-post__thumbnail{aspect-ratio:16/9;}
.bf-blog-grid .elementor-post__thumbnail img{width:100%;height:100%;object-fit:cover;border-radius:0;}
.bf-blog-grid .elementor-post__title a{color:#2b2b2b;}
.bf-blog-grid .elementor-post__title a:hover{color:#ff5c1c;}



/* === Blog-Listen: Design-System === */
.bf-blog-grid .elementor-posts.elementor-grid{grid-template-columns:repeat(2,1fr) !important;}
@media(max-width:767px){.bf-blog-grid .elementor-posts.elementor-grid{grid-template-columns:1fr !important;}}
.bf-blog-grid .elementor-post__title a{color:#2b2b2b !important;text-decoration:none !important;}
.bf-blog-grid .elementor-post__title a:hover{color:#ff5c1c !important;}
.bf-blog-grid .elementor-post__meta-data{color:#6a6a68 !important;font-size:16px;}
/* Kommentar-Angabe (rendert als .elementor-post-avatar) ausblenden */
.bf-blog-grid .elementor-post-avatar{display:none !important;}
/* Read-More: deutscher Text im DS-Stil */
.bf-blog-grid .elementor-post__read-more{font-size:0 !important;text-decoration:none !important;display:inline-block;}
.bf-blog-grid .elementor-post__read-more::after{content:"Weiterlesen →";font-size:16px;font-weight:700;color:#2b2b2b;border-bottom:1px solid #2b2b2b;padding-bottom:2px;}
.bf-blog-grid .elementor-post__read-more:hover::after{color:#ff5c1c;border-color:#ff5c1c;}
.bf-blog-grid .elementor-post__excerpt p{color:#2b2b2b;font-size:16px;line-height:1.55;}
.bf-blog-grid .elementor-post__thumbnail{aspect-ratio:16/9;}
.bf-blog-grid .elementor-post__thumbnail img{width:100%;height:100%;object-fit:cover;border-radius:0;}
.bf-blog-grid .elementor-pagination .page-numbers{color:#2b2b2b;text-decoration:none;padding:0 8px;}
.bf-blog-grid .elementor-pagination .page-numbers.current{color:#ff5c1c;font-weight:700;}
/* === Startseite: Tabellen === */
.elementor-element-stAcol,.elementor-element-stZcol{border:2px solid #2b2b2b !important;display:flex !important;flex-direction:column;padding:0 !important;gap:0 !important;background:#f2eee3;}
.elementor-element-stAhead,.elementor-element-stZhead{flex:0 0 auto !important;border-bottom:1px solid #2b2b2b !important;padding:0 !important;gap:0 !important;}
.elementor-element-stAhead .elementor-heading-title,.elementor-element-stZhead .elementor-heading-title{padding:16px 20px !important;font-family:'PP Neue Montreal','Inter','Helvetica Neue',Arial,sans-serif !important;font-size:13px !important;letter-spacing:0.01em !important;color:#6a6a68 !important;margin:0 !important;}
.elementor-element-stAhead .elementor-heading-title b,.elementor-element-stZhead .elementor-heading-title b{color:#2b2b2b !important;font-weight:700;}
.elementor-element-stArows,.elementor-element-stZrows{flex:1 1 auto !important;display:flex !important;flex-direction:column;padding:0 !important;gap:0 !important;}
.elementor-element-stArows>.e-con,.elementor-element-stZrows>.e-con{flex:1 1 auto !important;flex-direction:row !important;align-items:center !important;flex-wrap:nowrap !important;gap:14px !important;min-height:64px !important;padding:8px 20px !important;border-bottom:1px solid #2b2b2b !important;position:relative !important;cursor:pointer !important;transition:background .12s cubic-bezier(.2,.7,.2,1);}
.elementor-element-stArows>.e-con:last-child,.elementor-element-stZrows>.e-con:last-child{border-bottom:0 !important;}
.elementor-element-stArows>.e-con:hover,.elementor-element-stZrows>.e-con:hover{background:#2b2b2b !important;}
.elementor-element-stArows>.e-con:hover .elementor-heading-title,.elementor-element-stZrows>.e-con:hover .elementor-heading-title{color:#f2eee3 !important;}
.elementor-element-stArows>.e-con>.e-con,.elementor-element-stZrows>.e-con>.e-con{flex:1 1 auto !important;flex-direction:column !important;justify-content:center !important;gap:3px !important;padding:0 !important;min-width:0;}
.elementor-element-stArows .bf-case-row-link-w,.elementor-element-stZrows .bf-case-row-link-w{position:absolute !important;inset:0 !important;width:auto !important;height:auto !important;margin:0 !important;padding:0 !important;pointer-events:none !important;}

/* === Startseite: Case-Teaser-Karten === */
.elementor-element-stCtcon,.elementor-element-stCgold,.elementor-element-stCnext,.elementor-element-stCfini{position:relative !important;cursor:pointer !important;}
.elementor-element-stCtcon .bf-case-row-link-w,.elementor-element-stCgold .bf-case-row-link-w,.elementor-element-stCnext .bf-case-row-link-w,.elementor-element-stCfini .bf-case-row-link-w{position:absolute !important;inset:0 !important;width:auto !important;height:auto !important;margin:0 !important;padding:0 !important;pointer-events:none !important;}
.elementor-element-stCtcon .elementor-widget-image img,.elementor-element-stCgold .elementor-widget-image img,.elementor-element-stCnext .elementor-widget-image img,.elementor-element-stCfini .elementor-widget-image img{width:100% !important;height:auto !important;aspect-ratio:16/9;object-fit:cover;display:block;border-radius:0 !important;}
.elementor-element-stCtcon:hover .elementor-heading-title,.elementor-element-stCgold:hover .elementor-heading-title,.elementor-element-stCnext:hover .elementor-heading-title,.elementor-element-stCfini:hover .elementor-heading-title{color:#ff5c1c !important;transition:color .22s cubic-bezier(.2,.7,.2,1);}
.elementor-element-stCtcon:hover img,.elementor-element-stCgold:hover img,.elementor-element-stCnext:hover img,.elementor-element-stCfini:hover img{opacity:.92;transition:opacity .22s cubic-bezier(.2,.7,.2,1);}

/* Blog-Anriss auf der Startseite: 3 Spalten */
.bf-blog-3 .elementor-posts.elementor-grid{grid-template-columns:repeat(3,1fr) !important;}
@media(max-width:1024px){.bf-blog-3 .elementor-posts.elementor-grid{grid-template-columns:repeat(2,1fr) !important;}}
@media(max-width:767px){.bf-blog-3 .elementor-posts.elementor-grid{grid-template-columns:1fr !important;}}


/* Blog-Anriss Startseite: maximal 3 Beiträge */
.bf-blog-3 .elementor-posts > .elementor-post:nth-child(n+4){display:none !important;}

/* bf-blog-card-align: Karten gleich hoch, Weiterlesen auf einer Linie */
.bf-blog-grid .elementor-posts .elementor-post{display:flex;flex-direction:column;height:100%;}
.bf-blog-grid .elementor-posts .elementor-post__text{display:flex;flex-direction:column;flex:1 1 auto;}
.bf-blog-grid .elementor-posts .elementor-post__read-more-wrapper,
.bf-blog-grid .elementor-posts .elementor-post__read-more{margin-top:auto;}
.bf-blog-grid .elementor-posts .elementor-post__excerpt{margin-bottom:16px;}

/* bf-nav-einzeilig: Hauptnavigation bleibt bei 1440px auf einer Zeile */
@media (min-width:1025px){
  .elementor-location-header .elementor-nav-menu--main .elementor-item{padding-left:16px;padding-right:16px;}
  .elementor-location-header .elementor-nav-menu--main{--e-nav-menu-horizontal-menu-item-margin:0px;}
  .elementor-location-header .elementor-nav-menu--main > li{margin:0;}
}
@media (min-width:1025px) and (max-width:1200px){
  .elementor-location-header .elementor-nav-menu--main .elementor-item{padding-left:8px;padding-right:8px;font-size:13px;}
}

/* bf-screenreader-only: Screenreader-Labels dürfen nicht sichtbar sein
   (z.B. "Page" in der Blog-Paginierung) */
.elementor-screen-only,.screen-reader-text,.sr-only{
  position:absolute !important;width:1px !important;height:1px !important;
  padding:0 !important;margin:-1px !important;overflow:hidden !important;
  clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important;
}

/* bf-hero-liste-spalten: Titel bekommt den Platz, Nummer/Icon/Pfeil bleiben schmal */
@media (min-width:768px){
  .elementor-element-str_list > .e-con > .e-con:nth-child(1){flex:0 0 60px !important;}
  .elementor-element-str_list > .e-con > .e-con:nth-child(2){flex:0 0 60px !important;}
  .elementor-element-str_list > .e-con > .e-con:nth-child(3){flex:1 1 auto !important;min-width:0;}
  .elementor-element-str_list > .e-con > .e-con:nth-child(4){flex:0 0 44px !important;}
}

/* bf-liste-ohne-thumb: einheitliches Textraster in Blog- und Archivlisten
   (nur 10 von 23 Beiträgen haben ein Beitragsbild) */
.elementor-posts .elementor-post__thumbnail__link{display:none !important;}

/* bf-video: Klick-to-Play, YouTube lädt erst nach aktivem Klick */
.bf-video{position:relative;}
.bf-video-start{display:block;position:relative;width:100%;padding:0;line-height:0;border:1px solid #d9d4c6;border-radius:0;background:none;cursor:pointer;}
.bf-video-start img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;}
.bf-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:76px;height:76px;background:#ff5c1c;display:flex;align-items:center;justify-content:center;border-radius:0;transition:background .18s ease;}
.bf-video-play svg{width:28px;height:28px;fill:#fff;}
.bf-video-start:hover .bf-video-play{background:#1a1a1a;}
.bf-video-start:focus-visible{outline:2px solid #ff5c1c;outline-offset:3px;}
.bf-video iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:1px solid #d9d4c6;}
.bf-video-hinweis{font-size:13px;line-height:1.5;color:#6a6a68;margin:8px 0 0;}
.bf-video-hinweis a{color:#6a6a68;text-decoration:underline;}
.bf-video-platzhalter{position:relative;aspect-ratio:16/9;background:#e8e3d4;border:1px dashed #a6a29a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:24px;}
.bf-video-platzhalter p{max-width:46ch;font-size:16px;color:#6a6a68;margin:0;}
.bf-video-platzhalter .bf-video-play{position:static;transform:none;}

/* bf-video-flaeche: markenkonforme Startfläche statt YouTube-Vorschaubild */
.bf-video-flaeche{display:flex;flex-direction:column;justify-content:space-between;gap:24px;aspect-ratio:16/9;background:#1a1a1a;padding:48px;text-align:left;}
.bf-video-titel{color:#f2eee3;font-size:36px;font-weight:700;line-height:1.14;max-width:19ch;letter-spacing:-.01em;}
.bf-video-fuss{display:flex;align-items:center;gap:18px;}
.bf-video-fuss .bf-video-play{position:static;transform:none;width:64px;height:64px;flex:0 0 64px;}
.bf-video-dauer{color:#a6a29a;font-size:16px;font-weight:700;}
.bf-video-start:hover .bf-video-dauer{color:#f2eee3;}
@media (max-width:767px){.bf-video-flaeche{padding:24px;gap:16px;}.bf-video-titel{font-size:22px;max-width:none;}.bf-video-fuss .bf-video-play{width:52px;height:52px;flex:0 0 52px;}}

/* bf-video-korrektur: Breite begrenzen, nur ein Rahmen, Inhalt kompakter */
.bf-video{max-width:1000px;}
.bf-video-start{border:0 !important;padding:0 !important;background:none !important;-webkit-appearance:none;appearance:none;width:100%;display:block;}
.bf-video-flaeche{justify-content:flex-end;gap:20px;padding:40px;}
.bf-video-titel{font-size:36px;max-width:17ch;}
.bf-video-start:hover .bf-video-flaeche{background:#111;}
.bf-video iframe{max-width:1000px;border:0;}

/* bf-blog-typografie: Bausteine im Beitragstext */
.elementor-widget-theme-post-content figure{margin:40px 0;}
.elementor-widget-theme-post-content figure img{display:block;width:100%;height:auto;}
.elementor-widget-theme-post-content figcaption{margin-top:8px;font-size:16px;line-height:1.5;color:#6a6a68;}
.elementor-widget-theme-post-content ul,
.elementor-widget-theme-post-content ol{margin:0 0 24px;padding-left:24px;}
.elementor-widget-theme-post-content li{margin-bottom:8px;}
.elementor-widget-theme-post-content blockquote{margin:40px 0;padding:0 0 0 24px;border-left:3px solid #ff5c1c;font-size:22px;line-height:1.34;font-weight:700;color:#1a1a1a;}
.elementor-widget-theme-post-content blockquote p{margin:0;}
.elementor-widget-theme-post-content blockquote cite{display:block;margin-top:16px;font-size:16px;font-weight:500;font-style:normal;color:#6a6a68;}
.bf-statement{margin:40px 0;padding:32px 32px;background:#1a1a1a;color:#f2eee3;}
.bf-statement h2,.bf-statement h3{margin:0 0 8px;color:#f2eee3;font-size:22px;line-height:1.2;}
.bf-statement p{margin:0;color:#c9c4b8;}
.bf-hinweis{margin:32px 0;padding:24px 24px;background:#e8e3d4;border-left:3px solid #a6a29a;}
.bf-hinweis p{margin:0 0 8px;font-size:16px;}
.bf-hinweis p:last-child{margin-bottom:0;}
.bf-hinweis strong{color:#1a1a1a;}

/* bf-beitrag-lesbarkeit: Zeilenlänge begrenzen, linke Kante bleibt auf 40px */
.elementor-widget-theme-post-content{max-width:760px;}
.elementor-widget-theme-post-content h2{margin-top:48px;}
.elementor-widget-theme-post-content h3{margin-top:32px;}
.elementor-widget-theme-post-content p{margin:0 0 20px;}
/* Beitragsbild nur zeigen, wenn wirklich eines gesetzt ist */
.elementor-element-spImg:has(img[src*="placeholder"]){display:none !important;}
.elementor-widget-theme-post-featured-image img[src*="placeholder"]{display:none !important;}

/* bf-beitrag-breite: Fließtext auf lesbare Zeilenlänge, linke Kante unverändert */
.elementor-element-spContent,
.elementor-element-spContent > .elementor-widget-container,
.elementor-widget-theme-post-content > .elementor-widget-container{max-width:760px !important;}

/* bf-consent-banner: Complianz an das Design-System angleichen */
#cmplz-cookiebanner-container .cmplz-cookiebanner,
#cmplz-cookiebanner-container .cmplz-cookiebanner *,
#cmplz-manage-consent .cmplz-manage-consent{border-radius:0 !important;}
#cmplz-cookiebanner-container .cmplz-cookiebanner{
  background:#f2eee3 !important;border:2px solid #1a1a1a !important;box-shadow:none !important;
  font-family:'PP Neue Montreal',-apple-system,sans-serif !important;max-width:520px !important;}
#cmplz-cookiebanner-container .cmplz-title,
#cmplz-cookiebanner-container .cmplz-category-title{color:#1a1a1a !important;font-weight:700 !important;}
#cmplz-cookiebanner-container .cmplz-message,
#cmplz-cookiebanner-container .cmplz-label{color:#4a4a48 !important;}
/* Buttons: Zustimmen orange, die übrigen als Ink-Umriss */
#cmplz-cookiebanner-container .cmplz-btn{
  border-radius:0 !important;font-weight:700 !important;padding:16px 20px !important;
  border:1px solid #1a1a1a !important;transition:background .15s ease,color .15s ease !important;}
#cmplz-cookiebanner-container .cmplz-btn.cmplz-accept{
  background:#ff5c1c !important;color:#fff !important;border-color:#ff5c1c !important;}
#cmplz-cookiebanner-container .cmplz-btn.cmplz-accept:hover{background:#1a1a1a !important;border-color:#1a1a1a !important;}
#cmplz-cookiebanner-container .cmplz-btn.cmplz-deny,
#cmplz-cookiebanner-container .cmplz-btn.cmplz-view-preferences,
#cmplz-cookiebanner-container .cmplz-btn.cmplz-save-preferences{
  background:transparent !important;color:#1a1a1a !important;}
#cmplz-cookiebanner-container .cmplz-btn.cmplz-deny:hover,
#cmplz-cookiebanner-container .cmplz-btn.cmplz-view-preferences:hover{
  background:#1a1a1a !important;color:#f2eee3 !important;}
/* Links und Aufzählung */
#cmplz-cookiebanner-container .cmplz-links a{color:#1a1a1a !important;text-decoration:underline !important;}
#cmplz-cookiebanner-container .cmplz-links li:empty,
#cmplz-cookiebanner-container .cmplz-links .cmplz-empty{display:none !important;}
#cmplz-cookiebanner-container .cmplz-links{list-style:none !important;padding-left:0 !important;}
#cmplz-cookiebanner-container .cmplz-divider{background:#d9d4c6 !important;}
/* Umschalter in den Einstellungen */
#cmplz-cookiebanner-container .cmplz-slider{border-radius:0 !important;}
#cmplz-cookiebanner-container input:checked + .cmplz-slider{background:#ff5c1c !important;}

/* bf-consent-links: Aufzählungspunkte raus, ausgeblendete Einträge nehmen keinen Platz */
#cmplz-cookiebanner-container .cmplz-links ul{list-style:none !important;padding-left:0 !important;margin:0 !important;}
#cmplz-cookiebanner-container .cmplz-links li{margin:0 0 4px !important;}
#cmplz-cookiebanner-container .cmplz-links li:has(a[style*="display: none"]),
#cmplz-cookiebanner-container .cmplz-links li:has(a.tcf){display:none !important;}


/* bf-sektionsnummern: Leitsystem, Prinzip 07.
   Die Nummer hängt an der Sektionsüberschrift, damit sie auf der 40er-Kante sitzt.
   Meta-Klasse: 13px, 500, Muted. Nie Orange.
   Ausnahme: .bf-ohne-nummer am Heading-Widget nimmt es aus der Zählung. */
.elementor{counter-reset:bfsek;}
.elementor .elementor-widget-heading:not(.bf-ohne-nummer) h2{counter-increment:bfsek;}
.elementor .elementor-widget-heading:not(.bf-ohne-nummer) h2::before{
  content:counter(bfsek,decimal-leading-zero);
  display:block;font-size:13px;font-weight:500;line-height:1.45;
  color:#6a6a68;letter-spacing:0;margin-bottom:8px;}
/* Beitragstext und Formulare zählen nicht mit */
.elementor-widget-theme-post-content h2::before,
.bf-statement h2::before,.bf-hinweis h2::before{content:none !important;}
.elementor-widget-theme-post-content h2,
.bf-statement h2{counter-increment:none !important;}



/* bf-case-nummern: Leitsystem der Cases-Übersicht.
   Karten-Aufbau: Bild · Kunde · Projekt · Leistung · Link-Overlay.
   Abstand über padding, NICHT über Unicode-Escapes im content. */
[class*="elementor-element-covrow"] > .e-con{counter-increment:bfcase;}
[class*="elementor-element-covrow"] > .e-con > .elementor-widget:nth-child(2) .elementor-heading-title::before{
  content:counter(bfcase,decimal-leading-zero);
  display:inline-block;padding-right:12px;color:#a6a29a;font-weight:500;}

/* bf-hero-oberkante · 2026-07-31
   Die linke Hero-Spalte der Startseite hatte padding-top 0 und klebte am
   Header, die rechte war vertikal zentriert. Jetzt beginnen beide auf einer
   Kante, 96 unter dem Header, wie der Sektionsabstand überall sonst.
   Die Zentrierung (flex_align_items) ist im Elementor-Container auf
   flex-start gestellt, hier steht nur der Abstand. */
body.home .elementor-element-stl{padding-top:96px !important;}
body.home .elementor-element-str{padding-top:96px !important;}
@media (max-width:1024px){
  /* gestapelt: nur die obere Spalte bekommt den Abstand, sonst 192 dazwischen */
  body.home .elementor-element-str{padding-top:0 !important;}
}
@media (max-width:767px){
  body.home .elementor-element-stl{padding-top:56px !important;}
}

/* bf-hero-gestapelt · 2026-07-31
   Unter 1024 stapeln die Hero-Spalten. Die senkrechte Trennlinie wird zur
   waagerechten, die Bildschirmhöhe der linken Spalte entfällt. */
@media (max-width:1024px){
  body.home .elementor-element-stl{border-right:0 !important;border-bottom:2px solid #2b2b2b !important;min-height:0 !important;padding-right:0 !important;padding-bottom:48px !important;}
  body.home .elementor-element-str{padding-top:48px !important;padding-right:0 !important;}
}

/* bf-hero-h1-mobil · 2026-07-31
   Die Hero-Headline stand mit font-size:88px !important ohne mobile Variante.
   Dadurch lief "Mittelstand." auf dem Telefon aus dem Bild. Werte aus der
   Leiter: Display 88 desktop, 56 auf Tablet, 44 mobil. */
@media (max-width:1024px){
  .elementor-element-stl_h1 .elementor-heading-title,
  .bf-mark .elementor-heading-title{font-size:56px !important;}
}
@media (max-width:767px){
  .elementor-element-stl_h1 .elementor-heading-title,
  .bf-mark .elementor-heading-title{font-size:44px !important;}
}

/* bf-hero-optik · 2026-07-31
   Zwei Korrekturen am Hero der Startseite.

   1 · Optische Oberkante. Die Container fluchteten bei 194, die Schrift nicht:
   Die Glyphen begannen links bei 213, rechts bei 242. Der Unterschied kam aus
   24px Kopf-Padding und aus den verschiedenen Schriftgrößen, denn eine 88er
   Zeile hat mehr Vorlauf als eine 56er. Kopf-Padding auf 0, rechte Spalte auf
   88 statt 96. Restversatz 3px, unterhalb der Wahrnehmungsschwelle.

   2 · Leerraum. min-height calc(100vh - 90px) machte den Hero bei hohen
   Fenstern 1161px hoch, bei 742px Inhalt. Jetzt folgt die Höhe dem Inhalt,
   unten schließt der Sektionsabstand 96 an. */
body.home .elementor-element-str_hd{padding-top:0 !important;}
body.home .elementor-element-str{padding-top:88px !important;}
body.home .elementor-element-stl{min-height:0 !important;padding-bottom:96px !important;}
/* Waagerechter Abstand zwischen den Spalten: Elementors 20 ergaben mit den
   40 Kopf-Padding einen Weg von 60 bis zum Text. Mit 24 sind es 64. */
body.home .elementor-element-stHero{column-gap:24px !important;}
@media (max-width:1024px){
  /* gestapelt: der Abstand zwischen den Spalten ist 48, nicht 96 plus 88 */
  body.home .elementor-element-str{padding-top:48px !important;}
  body.home .elementor-element-stl{padding-bottom:48px !important;}
  /* Elementors Standard-Gap von 20 landet sonst zwischen den Spalten und
     macht aus 48+48 einen Abstand von 116, also ausserhalb des Grundmaßes. */
  body.home .elementor-element-stHero{gap:0 !important;row-gap:0 !important;}
}


/* bf-leiter-mobil · 2026-07-31
   Vierundzwanzig Selektoren setzten font-size mit !important ausserhalb jeder
   Media Query. Damit schlugen sie die Kit-Vorgabe, die mobil greifen würde,
   und die gesamte Site stand auf dem Telefon in Desktop-Groessen.

   Zuordnung ausschliesslich mit Werten der Leiter:
     Desktop 56 -> Tablet 44 -> Mobil 34
     Desktop 36 -> Tablet 36 -> Mobil 26
     Desktop 22 -> Tablet 22 -> Mobil 19
     Desktop 20 -> Tablet 20 -> Mobil 18
   Die beiden 88er (Hero) stehen bereits in bf-hero-h1-mobil. */
@media (max-width:1024px){
  /* Tablet: eine Stufe der Leiter tiefer */
  .bf-lf-h1 .elementor-heading-title,
  .bf-lf-phase-num .elementor-heading-title,
  .bf-lf-sec-h2 .elementor-heading-title,
  .bf-pkg-h1 .elementor-heading-title,
  .bf-section-num .elementor-heading-title,
  .bf-st-cta-q .elementor-heading-title,
  .bf-vc-case-headline .elementor-heading-title,
  .bf-vc-cta-headline .elementor-heading-title{font-size:44px !important;}
}

@media (max-width:767px){
  /* Mobil: die Mobil-Spalte der Leiter */
  .bf-lf-h1 .elementor-heading-title,
  .bf-lf-phase-num .elementor-heading-title,
  .bf-lf-sec-h2 .elementor-heading-title,
  .bf-pkg-h1 .elementor-heading-title,
  .bf-section-num .elementor-heading-title,
  .bf-st-cta-q .elementor-heading-title,
  .bf-vc-case-headline .elementor-heading-title,
  .bf-vc-cta-headline .elementor-heading-title{font-size:34px !important;}
  .bf-lf-quote .elementor-heading-title,
  .bf-pkg-h2 .elementor-heading-title,
  .bf-pkg-price .elementor-heading-title,
  .bf-st-shd-h .elementor-heading-title{font-size:26px !important;}
  .bf-case-name .elementor-heading-title,
  .bf-lf-phase-title .elementor-heading-title,
  .bf-lf-why-title .elementor-heading-title,
  .bf-numeric-val .elementor-heading-title,
  .bf-paket-title .elementor-heading-title,
  .bf-pkg-card-name .elementor-heading-title,
  .bf-st-pak-ti .elementor-heading-title{font-size:19px !important;}
  .bf-lf-card-title .elementor-heading-title,
  .bf-paket-price-val .elementor-heading-title,
  .elementor-element-stl_claim .elementor-heading-title,
  .elementor-element-stlogo .elementor-heading-title{font-size:18px !important;}
}


/* bf-nl-mobil · 2026-07-31
   Die Überschrift im Newsletter-Block des Footers trägt einen Inline-Style
   mit 22px. Inline schlägt jede Stylesheet-Regel, deshalb hier mit
   !important. Die übrigen Inline-Größen im Block sind 16 und 13 und gelten
   mobil unverändert. */
@media (max-width:767px){
  .bf-nl h3{font-size:19px !important;}
}

/* bf-cta-abgrenzung · 2026-07-31
   Der Abschluss-Block der Startseite stand auf Ink und setzte sich dadurch
   vom Blog-Block darüber ab. Auf Wunsch steht er jetzt auf Cream, weil der
   Sprung Ink -> Blau zum Footer zu hart wirkte. Damit der Block nicht in den
   Blog-Block übergeht, trennt ihn eine Hairline, wie überall sonst zwischen
   Sektionen. Wer sie nicht will, entfernt diesen Block. */
body.home .elementor-element-stcta{border-top:1px solid #d9d4c6 !important;}

/* bf-case-zaehler · 2026-07-31
   Die Case-Übersicht zählte 01, 02, dann wieder 01, 02. Der Zähler bfcase
   wurde nirgends mit counter-reset angelegt. Ohne expliziten Reset legt CSS
   ihn implizit auf dem ELTERNELEMENT des erhöhenden Elements an, und das ist
   hier jede Reihe für sich. Der Reset gehört auf das gemeinsame Raster,
   damit über alle Reihen hinweg durchgezählt wird. */
.elementor-element-covgrid{counter-reset:bfcase 0 !important;}

/* bf-nav-ruhig · 2026-07-31
   Beim Überfahren sprang die Navigation: Elementors eigenes Stylesheet setzt
   für den Hover-Zustand padding 13px 20px, während der Ruhezustand 13px 16px
   trägt. Das gehoverte Element wurde dadurch 8px breiter, rutschte 4px nach
   links, und alle folgenden Punkte rutschten 4px nach rechts.

   Das Padding steht jetzt für alle Zustände fest. Die Transition liegt nur
   noch auf der Farbe, damit kein anderer Wert animiert werden kann. */
.elementor-element-v2nav .elementor-item,
.elementor-element-v2nav .elementor-item:link,
.elementor-element-v2nav .elementor-item:visited,
.elementor-element-v2nav .elementor-item:hover,
.elementor-element-v2nav .elementor-item:focus,
.elementor-element-v2nav .elementor-item:active,
.elementor-element-v2nav .elementor-item.elementor-item-active{
  padding:13px 16px !important;
  transition:color .12s linear !important;
  transform:none !important;
}
/* Untermenü: ebenfalls nur Farbe und Fläche, keine Bewegung */
.elementor-element-v2nav .sub-menu > li > .elementor-sub-item,
.elementor-element-v2nav .sub-menu > li > .elementor-sub-item:hover,
.elementor-element-v2nav .sub-menu > li > .elementor-sub-item:focus{
  transition:background .12s linear, color .12s linear !important;
  transform:none !important;
}

/* bf-foot-soc-ruhig · 2026-07-31
   Die Social-Zeichen im Footer sprangen beim Überfahren einen Pixel nach
   oben. Die Rückmeldung über opacity war ohnehin schon da und genügt. */
.bf-foot-soc-icon img{transition:opacity .15s linear !important;}
.bf-foot-soc-icon a:hover img{opacity:.75;transform:none !important;}

/* bf-faq · 2026-07-31, Fassung 2
   Erste Fassung war auf 760 Lesemaß gebaut und fiel dadurch aus dem Bild:
   Der Rest der Site arbeitet mit gerahmten Blöcken über die volle Rail.
   Werte übernommen aus dem Leitmuster der Angebotsseite:
   Rahmen 2px, Kopfzeile 13/700 mit 1px Unterlinie, Zeilen 64 hoch,
   Innenabstand 8/20, Nummernspalte 28. */

.bf-faq-kopf{max-width:1360px;}
.bf-faq-h1{font-size:56px !important;font-weight:700;letter-spacing:-.02em;line-height:1.08;margin:0;max-width:16ch;}
.bf-faq-lede{font-size:20px;line-height:1.45;margin:24px 0 0;max-width:760px;}

/* Der gerahmte Block, das Leitmuster der Site */
.bf-faq-tbl{border:2px solid #2b2b2b;margin-top:32px;background:#f2eee3;}
.bf-faq-kz{display:flex;align-items:baseline;gap:14px;padding:8px 20px;
  border-bottom:1px solid #2b2b2b;}
.bf-faq-kz-t{font-size:13px;font-weight:700;color:#2b2b2b;}
.bf-faq-kz-n{font-size:13px;font-weight:700;color:#6a6a68;margin-left:auto;}

/* Frage als Zeile */
.bf-faq-z{border-bottom:1px solid #d9d4c6;}
.bf-faq-z:last-child{border-bottom:0;}
.bf-faq-z summary{list-style:none;cursor:pointer;display:flex;align-items:center;
  gap:14px;min-height:64px;padding:8px 52px 8px 20px;position:relative;
  transition:background .12s linear;}
.bf-faq-z summary::-webkit-details-marker{display:none;}
.bf-faq-z summary:hover{background:#f8f5ec;}
.bf-faq-nr{flex:0 0 28px;font-size:13px;font-weight:500;color:#6a6a68;}
.bf-faq-f{flex:1 1 auto;font-size:16px;font-weight:700;line-height:1.35;color:#2b2b2b;}
/* Zustandszeichen: konstruiertes Plus, wird beim Öffnen zum Minus */
.bf-faq-z summary::after{content:'';position:absolute;right:20px;top:50%;
  width:14px;height:2px;margin-top:-1px;background:#2b2b2b;}
.bf-faq-z summary::before{content:'';position:absolute;right:26px;top:50%;
  width:2px;height:14px;margin-top:-7px;background:#2b2b2b;transition:opacity .12s linear;}
.bf-faq-z[open] summary::before{opacity:0;}
.bf-faq-z[open] summary{background:#f8f5ec;}

.bf-faq-a{padding:0 52px 24px 62px;max-width:822px;font-size:16px;line-height:1.55;}
.bf-faq-a p{margin:0 0 12px;}
.bf-faq-a p:last-child{margin-bottom:0;}
.bf-faq-a ul,.bf-faq-a ol{margin:0 0 12px;padding-left:20px;}
.bf-faq-a li{margin:0 0 8px;}
.bf-faq-a a{color:#2b2b2b;text-decoration:underline;}
.bf-faq-a a:hover{color:#ff5c1c;}

/* Sprungmarken im selben Muster, aber als Zeilen mit Pfeil */
.bf-faq-sprung{margin-top:48px;}
.bf-faq-sz{display:flex;align-items:center;gap:14px;min-height:64px;padding:8px 20px;
  border-bottom:1px solid #d9d4c6;text-decoration:none !important;color:#2b2b2b !important;
  transition:background .12s linear;}
.bf-faq-sz:last-child{border-bottom:0;}
.bf-faq-sz:hover{background:#f8f5ec;}
.bf-faq-sz-n{font-size:13px;font-weight:500;color:#6a6a68;margin-left:auto;}
.bf-faq-pfeil{font-size:16px;color:#2b2b2b;}

/* Blocküberschrift mit Sektionsnummer, wie überall auf der Site */
.bf-faq-block{margin-top:96px;}
.bf-faq-bt{font-size:36px !important;font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:0;}
.bf-faq-bnr{font-size:13px;font-weight:500;color:#6a6a68;padding-right:16px;vertical-align:.55em;}
.bf-faq-bl{font-size:16px;line-height:1.55;color:#6a6a68;margin:16px 0 0;max-width:760px;}

/* Abschluss */
.bf-faq-schluss{margin-top:96px;border-top:2px solid #2b2b2b;padding-top:48px;max-width:760px;}
.bf-faq-sh{font-size:36px !important;font-weight:700;letter-spacing:-.02em;margin:0;}
.bf-faq-st{font-size:16px;line-height:1.55;margin:16px 0 0;}
.bf-faq-cta{display:inline-block;margin-top:32px;padding:14px 24px;background:#ff5c1c;
  color:#fff !important;text-decoration:none !important;font-weight:500;border-radius:0;}
.bf-faq-cta::after{content:'→';padding-left:8px;}

@media (max-width:767px){
  .bf-faq-h1{font-size:34px !important;}
  .bf-faq-lede{font-size:18px;}
  .bf-faq-bt,.bf-faq-sh{font-size:26px !important;}
  .bf-faq-block{margin-top:56px;}
  .bf-faq-schluss{margin-top:56px;}
  .bf-faq-z summary{padding:12px 44px 12px 16px;gap:12px;}
  .bf-faq-nr{flex:0 0 24px;}
  .bf-faq-a{padding:0 16px 20px 52px;}
  .bf-faq-kz,.bf-faq-sz{padding-left:16px;padding-right:16px;}
  .bf-faq-sz-n{display:none;}
}
/* bf-akzent · 2026-07-31
   Das Akzentwort in Überschriften. Der Bestand setzt es als Inline-Style,
   der Guide sieht diese Klasse vor. Beides führt zum selben Ergebnis,
   neue Seiten nutzen die Klasse. */
.bf-akzent{color:#ff5c1c;}/* End custom CSS */
/* Start Custom Fonts CSS *//* End Custom Fonts CSS */