/* ===========================================================================
   Direktvertriebspartner — projektspezifische Optik
   Nachbau der Alt-Site (TYPO3 12, kiessitepackage-theme.scss auf Bootstrap
   Package). Uebertragen werden Farben und Grafiken; die Selektoren sind an
   die knet_sitepackage-Struktur (knet-Klassen, Bootstrap 5) angepasst.
   ACHTUNG: In Kommentaren nie die Zeichenfolge Stern-Slash verwenden — sie
   beendet den Kommentar und verschluckt die naechste Regel.
   Laedt nach theme.css (Site Setting knet.advanced.customCss).

   Farbwerte aus der Alt-Site:
     #0288D1  Primaerfarbe (Blau)       -> Site Setting knet.color.primary
     #013859  Sekundaerfarbe (Blau)     -> Site Setting knet.color.secondary
     #ea8006  Menue-Hover / Ueberschrift (Orange) -> knet.color.accent
     #042C60  Seitenhintergrund (Dunkelblau)
     #A3AAA3  Rahmen der Inhaltsspalte (Grau-Gruen)
     #5cb85c  Gruen der Handlungsknoepfe

   KORREKTUR 2026-08-05: Hier stand #eb3e4a als Primaerfarbe. Der Wert steht
   zwar in der Alt-Installation (kiessitepackage/Configuration/TypoScript/
   constants.typoscript, Zeile 58), war dort aber wirkungslos — die Alt-Site
   rendert den Absenden-Knopf gemessen in rgb(2,136,209) = #0288D1, dem
   Bootstrap-Package-Standard. Uebernommen worden war also der konfigurierte
   statt der sichtbare Wert. Nebenwirkung des falschen Werts: der Knopf trug
   schwarze Schrift auf Rot (rund 3,5:1) und damit zu wenig Kontrast.
   =========================================================================== */

/* --- Schriftschnitte, die das Sitepackage nicht ausliefert -----------------
   Gemessen am 2026-08-05: Das Sitepackage liefert Source Sans 3 nur im
   Latin-Subset und nur in 400/600/700. Daraus folgten drei Abweichungen zum
   Original:
     1. Alt-Ueberschriften stehen auf Gewicht 300 — ohne 300er-Schnitt rendert
        der Browser 400, also zu fett.
     2. Ungarisch: Zeichen wie oe/ue mit Doppelakut liegen in latin-ext und
        fielen auf eine Systemschrift zurueck (gemessen 263,6 statt 242,7 px).
     3. Griechisch: kompletter Text fiel zurueck (759,6 statt 716,0 px).
   Die Dateien stammen aus dem fontsource-Paket, das im Sitepackage-Build
   ohnehin liegt — keine externe Quelle, kein Google-Fonts-Aufruf.
   Source Sans 3 ist metrisch deckungsgleich mit dem Source Sans Pro der
   Alt-Site (Teststring 628,2 gegen 628,3 px), die Schriftart selbst ist
   also kein Unterschied — nur Schnitt und Subset waren es.
   Dauerhafte Loesung waere ein Sitepackage-Schalter fuer Schnitte und
   Subsets; das entscheidet Tommy, hier bleibt es projektlokal.            */
@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    font-display: swap;
    font-weight: 300;
    src: url("/fileadmin/fonts/source-sans-3-latin-300-normal.woff2") format('woff2'),
         url("/fileadmin/fonts/source-sans-3-latin-300-normal.woff") format('woff');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                   U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
                   U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    font-display: swap;
    font-weight: 300;
    src: url("/fileadmin/fonts/source-sans-3-latin-ext-300-normal.woff2") format('woff2'),
         url("/fileadmin/fonts/source-sans-3-latin-ext-300-normal.woff") format('woff');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
                   U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,
                   U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    font-display: swap;
    font-weight: 400;
    src: url("/fileadmin/fonts/source-sans-3-latin-ext-400-normal.woff2") format('woff2'),
         url("/fileadmin/fonts/source-sans-3-latin-ext-400-normal.woff") format('woff');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
                   U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,
                   U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    font-display: swap;
    font-weight: 600;
    src: url("/fileadmin/fonts/source-sans-3-latin-ext-600-normal.woff2") format('woff2'),
         url("/fileadmin/fonts/source-sans-3-latin-ext-600-normal.woff") format('woff');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
                   U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,
                   U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    font-display: swap;
    font-weight: 700;
    src: url("/fileadmin/fonts/source-sans-3-latin-ext-700-normal.woff2") format('woff2'),
         url("/fileadmin/fonts/source-sans-3-latin-ext-700-normal.woff") format('woff');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
                   U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,
                   U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    font-display: swap;
    font-weight: 300;
    src: url("/fileadmin/fonts/source-sans-3-greek-300-normal.woff2") format('woff2'),
         url("/fileadmin/fonts/source-sans-3-greek-300-normal.woff") format('woff');
    unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    font-display: swap;
    font-weight: 400;
    src: url("/fileadmin/fonts/source-sans-3-greek-400-normal.woff2") format('woff2'),
         url("/fileadmin/fonts/source-sans-3-greek-400-normal.woff") format('woff');
    unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    font-display: swap;
    font-weight: 600;
    src: url("/fileadmin/fonts/source-sans-3-greek-600-normal.woff2") format('woff2'),
         url("/fileadmin/fonts/source-sans-3-greek-600-normal.woff") format('woff');
    unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    font-display: swap;
    font-weight: 700;
    src: url("/fileadmin/fonts/source-sans-3-greek-700-normal.woff2") format('woff2'),
         url("/fileadmin/fonts/source-sans-3-greek-700-normal.woff") format('woff');
    unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

/* --- Seitenhintergrund: Verlaufsstreifen (repeat-x) auf Dunkelblau --------- */
body,
.knet-main {
    background: url("/fileadmin/images/DirektVertrieb-Background.jpg") repeat-x #042C60 !important;
}

/* --- Fliesstextfarbe wie Alt (Bootstrap-Package-Grau statt BS5-Standard) --- */
body {
    --bs-body-color: #212121;
    color: #212121;
}

/* --- Kopfbereich: dunkelblaues Band, weisse Links, Hover orange ----------- */
.knet-header {
    background: #042C60;
    border-bottom: 0;
    box-shadow: rgba(0, 0, 0, 0.15) 0 1px 0 0;
}
.knet-header .navbar {
    --bs-navbar-color: #ffffff;
    --bs-navbar-hover-color: #ea8006;
    --bs-navbar-active-color: #ea8006;
    --bs-navbar-brand-color: #ffffff;
    --bs-navbar-brand-hover-color: #ffffff;
    --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.35);
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.knet-header .navbar-brand,
.knet-header .navbar-brand:hover,
.knet-header .navbar-brand:focus {
    color: #ffffff;
}
/* Kein Logo/Schriftzug in der Navigation (wie Alt-Site: Logo steht im Inhalt) */
.knet-header .navbar-brand {
    display: none;
}
/* Kopfhoehe wie Alt: dort ist das blaue Band 110px hoch, das Menue 40px und
   damit oben und unten 35px Luft. Neu stand es auf 56px (8px Luft). */
.knet-header .navbar {
    padding-top: 35px;
    padding-bottom: 35px;
}

/* Hauptmenue linksbuendig; Sprachumschalter rueckt dadurch nach rechts.
   Ueberschreibt das ms-auto aus dem MainNav-Partial (Standard: rechtsbuendig).
   Der Einzug von 2rem bildet den Versatz der Alt-Site nach (dort steht das
   erste Menuewort bei x=104, ohne Einzug stuende es bei x=72). */
.knet-header .navbar-nav.ms-auto {
    margin-left: 2rem !important;
    margin-right: auto !important;
}
.knet-header .navbar-toggler {
    color: #f2f2f2;
}
/* Aufklapp-Pfeile im Menue (Ebene 2/3) auf dunklem Grund */
.knet-header .knet-subnav-toggle,
.knet-header .knet-flyout-toggle {
    color: #ffffff;
}

/* --- Sprachumschalter: Weltkugel + Kuerzel weiss, Hover orange ------------ */
.knet-header .knet-language-nav .nav-link {
    color: #ffffff;
}
.knet-header .knet-language-nav .nav-link:hover,
.knet-header .knet-language-nav .nav-link:focus {
    color: #ea8006;
}
/* Dropdown-Liste bleibt hell (weisser Grund, dunkle Schrift) */
.knet-language-menu .dropdown-item.active {
    color: #ea8006;
}

/* --- Brotkruemel: auf dem blauen Grund hell statt grau -------------------- */
.knet-breadcrumb .breadcrumb-item a {
    color: #e3e8f4;
}
.knet-breadcrumb .breadcrumb-item a:hover,
.knet-breadcrumb .breadcrumb-item a:focus {
    color: #ea8006;
}
.knet-breadcrumb .breadcrumb-item.active,
.knet-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    color: #b8c4de;
}
/* Seitentitel steht ausserhalb der weissen Spalte */
.knet-page-title {
    color: #ffffff;
}
.knet-page-title::after {
    background: #ea8006;
}

/* --- Inhaltsspalte: weisse Flaeche mit grau-gruenem Rahmen ----------------
   KORREKTUR 2026-08-05: Weiss und Rahmen lagen auf der Spalte selbst. Das war
   einfacher, aber nicht das, was das Alt tut — dort tragen die einzelnen
   Elemente (p/h4/ul/ol/header) das Weiss, und das ERSTE Element der Spalte,
   das Logo, traegt keins. Es steht im Alt auf dem weissen Band des
   Seitenhintergrunds, nicht auf der Karte, und hat weder Rahmen noch eigene
   Flaeche. Mit dem Weiss auf der Spalte war das Logo eingerahmt.
   Jetzt wie im Alt: Die Karte beginnt an der ersten Kopfzeile. Alles davor
   (Abstandshalter und Logo) bleibt durchsichtig.
   Die Abschlussgrafik (h1-gegenstueck.png) sitzt am letzten Element.        */
.knet-content-col {
    background: none;
    border: 0;
    padding-top: 0;
    padding-bottom: 0;
}
/* Ab der ersten Kopfzeile: weisse Flaeche mit Seitenrahmen. Der Verbinder ~
   trifft nur die nachfolgenden Geschwister, das Logo davor also nicht.
   Anker ausgenommen: TYPO3 setzt vor Inhaltselementen leere <a>-Sprungziele.
   Als leeres Inline-Element sind sie 0px hoch und unsichtbar — bekommen sie
   aber Flaeche und Seitenrahmen, erzeugen sie eine Zeilenbox und reissen als
   22px hoher Streifen ein Loch in die Karte.                               */
.knet-content-col > header ~ *:not(a) {
    background-color: #ffffff;
    border-left: 3px solid #A3AAA3;
    border-right: 3px solid #A3AAA3;
}
/* Das letzte Element schliesst die Karte unten ab und traegt die Grafik.
   TYPO3 setzt Anker stets VOR ein Inhaltselement, das letzte Kind ist also
   nie ein Anker. */
.knet-content-col > *:last-child {
    border-bottom: 3px solid #A3AAA3;
    padding-bottom: 3rem;
    background: url("/fileadmin/images/h1-gegenstueck.png") no-repeat right bottom #ffffff;
}

/* Abstandshalter: Alt setzt 32px, das Sitepackage 48px. Die Differenz
   summierte sich ueber die beiden Halter oberhalb der Karte zu 32px und
   schob den gesamten Inhalt nach unten (Logo bei y=158 statt y=142). */
.knet-content-col [class*="frame-space-before-medium"],
.knet-sidecol [class*="frame-space-before-medium"] {
    margin-top: 32px;
}

/* Spaltenbreite wie Alt --------------------------------------------------
   Alt ist ein Drei-Spalten-Layout 600 / 300 / 300 (Backend-Layout
   subnavigation_right_2_columns): schmale Inhaltsspalte links, Nebenspalte
   daneben, dritte Spalte auf dieser Seite leer. Das Sitepackage-Template
   SubnavRight.html setzt dagegen fest col-lg-9, woraus 990px wurden — die
   Textzeilen waren dadurch rund die Haelfte laenger als im Original.
   Die Klasse steht fest im Template, laesst sich aber hier ueberschreiben;
   eine Sitepackage-Aenderung ist dafuer nicht noetig. 50% ergibt 660px und
   damit dieselbe rechte Kante wie im Alt (x=720).
   Der Aussenabstand links von 20px setzt die linke Kante der weissen Karte
   auf x=80 wie im Alt; weil der Abstand zur Box zaehlt, beginnt die
   Nebenspalte trotzdem bei x=720 — ebenfalls wie im Alt. Die waagerechte
   Innenpolsterung der Spalte entfaellt, weil im Alt die Absaetze selbst
   polstern; der Text startet dadurch bei x=99 statt bei 91.               */
@media (min-width: 992px) {
    .knet-content-col.col-lg-9 {
        flex: 0 0 auto;
        width: calc(50% - 20px);
        margin-left: 20px;
        padding-left: 0;
        padding-right: 0;
    }
}

/* Logo wie Alt: dort 296x58, neu wurde die Datei in Originalgroesse
   (424x83) ausgegeben. */
.knet-content-col img[src*="vapor-star-logo"] {
    max-width: 296px;
    height: auto;
}

/* Vertikaler Textrhythmus wie Alt ----------------------------------------
   Alt gibt jedem Absatz und jeder Liste 1rem Innenabstand und keinen
   Aussenabstand nach unten; die weissen Bloecke stossen dadurch aneinander
   und der Text steht luftiger. Neu stand es umgekehrt (kein Innenabstand,
   16px Aussenabstand) — gemessen 72px statt 104px Absatzhoehe bei gleichem
   Text. Der Innenabstand ruecht den Text ausserdem vom Spaltenrand ein,
   wie im Alt.                                                             */
.knet-content-col > p,
.knet-content-col > ol,
.knet-content-col > ul,
.knet-content-col > .frame > .ce-bodytext > p,
.knet-content-col > .frame > .ce-bodytext > ol,
.knet-content-col > .frame > .ce-bodytext > ul {
    padding: 1rem;
    margin-bottom: 0;
}
.knet-content-col > ol,
.knet-content-col > ul {
    padding-left: 2rem;
}

/* Fixierte Kopfleiste wie Alt --------------------------------------------
   Die Alt-Site haelt das blaue Band beim Scrollen oben fest
   (position: fixed). Im Ruhezustand sieht man keinen Unterschied, beim
   Scrollen schon. Die Overlay-Variante des Sitepackage passt hier nicht
   (sie erzwingt weissen Grund und eine Logo-Karte), deshalb projektlokal.
   Erst ab der Breite, ab der die Alt-Site das Menue ausklappt.            */
@media (min-width: 992px) {
    .knet-header.knet-header-standard {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1030;
    }
    body.knet-header-standard {
        scroll-padding-top: 110px;
    }
    body.knet-header-standard .knet-main {
        padding-top: 110px;
    }
}

/* Ueberschriften-Kopf je Inhaltselement: Grafik links, orange Schrift,
   oben abgerundet und mit Trennlinie — wie header.frame-header im Alt. */
.knet-content-col > header,
.knet-content-col > .frame > header {
    background: url("/fileadmin/images/h1-grafik.png") no-repeat 10px 15px #ffffff;
    /* Polsterung so, dass die Kopfzeile dieselbe Hoehe (105px) und denselben
       Textbeginn (x=123) erreicht wie im Alt; sonst laeuft ein 8px-Versatz
       durch die gesamte restliche Spalte. */
    padding: 1rem 1rem 0.9375rem 40px;
    border-top: 3px solid #A3AAA3;
    border-left: 3px solid #A3AAA3;
    border-right: 3px solid #A3AAA3;
    border-radius: 20px 20px 0 0;
    color: #ea8006;
    margin-bottom: 0;
}
.knet-content-col > header > h1,
.knet-content-col > header > h2,
.knet-content-col > header > h3,
.knet-content-col > header > h4,
.knet-content-col > .frame > header > h1,
.knet-content-col > .frame > header > h2,
.knet-content-col > .frame > header > h3,
.knet-content-col > .frame > header > h4 {
    color: #ea8006;
    margin-bottom: 0;
}
/* Folgt der Ueberschrift noch eine zweite Zeile, steht im Alt 8px Abstand
   dazwischen; ist sie die letzte, steht keiner. */
.knet-content-col > header > h2:not(:last-child),
.knet-content-col > .frame > header > h2:not(:last-child),
.knet-content-col > header > h1:not(:last-child),
.knet-content-col > .frame > header > h1:not(:last-child) {
    margin-bottom: 8px;
}

/* Groessen in der Kopfzeile nach Position statt nach Ebene ----------------
   Seit der SEO-Runde 2026-08-06 ist die Ueberschrift des ersten Inhalts-
   elements ein h1 (vorher h2), die Unterzeile rutschte dadurch von h3 auf h2.
   Die Optik soll unveraendert bleiben: erste Zeile 28px, zweite 24px — hier
   ueber die Position, damit die Regel unabhaengig von der Ebene greift und
   auch dann noch stimmt, wenn eine Seite weiter auf h2 steht.              */
.knet-content-col > header > h1,
.knet-content-col > .frame > header > h1 {
    font-size: 28px;
    font-weight: 300;
    line-height: 1.2;
}
.knet-content-col > header > h1 + h2,
.knet-content-col > .frame > header > h1 + h2 {
    font-size: 24px;
    font-weight: 300;
    line-height: 1.2;
    margin-bottom: 0;
}

/* Ueberschriftgroessen und -gewicht wie Alt ------------------------------
   Alt (Bootstrap Package): h2 = 28px/300, h3 = 24px/300, h4 = 20px/300,
   Zeilenhoehe jeweils 1,2. Neu (knet_sitepackage): h2 = 32px/500,
   h3 = 28px/500, h4 = 24px/500 — spuerbar groesser und fetter. Gewicht 300
   wirkt erst durch den oben nachgeladenen Schriftschnitt; ohne ihn haette
   der Browser auf 400 hochgerundet.
   Gilt fuer die gesamte Inhaltsspalte, nicht nur fuer die orangen Kopfzeilen:
   Auf /anfrage stehen "Dann fuellen Sie..." (h4) und "Onlineformular" (h2)
   frei im Inhalt und blieben sonst auf den Sitepackage-Groessen.
   Die Farbregeln der Kopfzeilen weiter oben sind spezifischer und behalten
   dort ihr Orange.                                                        */
.knet-content-col h2 {
    font-size: 28px;
    font-weight: 300;
    line-height: 1.2;
    margin-bottom: 8px;
}
.knet-content-col h3 {
    font-size: 24px;
    font-weight: 300;
    line-height: 1.2;
}
/* h4 traegt im Alt das Dunkelblau der Seite, nicht die Fliesstextfarbe */
.knet-content-col h4 {
    font-size: 20px;
    font-weight: 300;
    line-height: 1.2;
    color: #042C60;
}
.knet-content-col > h4 {
    padding: 0.5rem 1rem 0;
    margin-bottom: 0;
}
/* Erster Kopf oben in der Spalte: keine doppelte Linie zur Spaltenkante */
.knet-content-col > header:first-child,
.knet-content-col > .frame:first-child > header {
    border-top: 0;
}
/* Textkoerper direkt unter dem Kopf ohne Absatz-Sprung (Alt: margin-bottom 0) */
.knet-content-col > .frame > header + .ce-bodytext,
.knet-content-col > .frame > header + .ce-textpic {
    padding-top: 0.75rem;
}

/* --- Nebenspalte (Unternavigation / Zusatzinhalte) ------------------------
   Steht auf dem blauen Grund; Menue bleibt als helle Liste lesbar. */
.knet-sidecol {
    color: #ffffff;
}

/* Bilder der Nebenspalte linksbuendig statt zentriert --------------------
   fluid_styled_content zentriert ueber eine Float-Konstruktion: float:right
   plus right:50% am .ce-outer, right:-50% (der Bildbreite) am .ce-inner.
   In einer 300px schmalen Spalte fiel dabei auf, dass ein 287px breites Bild
   7px eingerueckt stand, waehrend das 300px breite darueber buendig sass.
   Nur den einen Wert zu erhoehen (52% statt 50%) haette beide um 6px nach
   links geschoben — das schmale Bild waere bueendig geworden, das breite
   waere dafuer 6px in die Inhaltsspalte geragt. Deshalb hier die Konstruktion
   ganz abschalten: ohne Float und ohne Versatz stehen beide bei x=720 und
   damit an derselben Kante wie die weisse Karte.
   Getestet und bestaetigt von Tommy am 2026-08-06.                         */
.knet-sidecol .ce-center .ce-outer,
.knet-sidecol .ce-center .ce-inner {
    float: none;
    right: auto;
}

/* Bilder der Nebenspalte stossen ohne Abstand an die Inhaltsspalte ---------
   Alt: die Bildspalte beginnt bei x=720, genau dort, wo die weisse Karte
   endet — die Bilder liegen buendig an. Neu schob die Bootstrap-Polsterung
   der Spalte (12px) sie auf x=732 und liess eine Luecke.
   Polsterung links entfaellt; die Breite bleibt ueber max-width bei 300px
   wie im Alt, damit die Bilder nicht groesser skalieren als vorher.
   Der obere Aussenabstand aus der Klasse mt-4 entfaellt, damit das oberste
   Bild auf derselben Hoehe ansetzt wie das Logo in der Inhaltsspalte.       */
@media (min-width: 992px) {
    .knet-content-col + .col-lg-3 {
        padding-left: 0;
    }
    .knet-content-col + .col-lg-3 .knet-sidecol {
        max-width: 300px;
        margin-top: 0;
    }
}
/* Die Verweise unter der Nebenspalte (Datenschutz | Kontakt | Impressum)
   stehen im Alt auf Grau-Gruen und ohne Unterstreichung — dort per
   Element-ID gesetzt (#c234), hier ueber die Spalte. */
.knet-sidecol a {
    color: #A3AAA3;
    text-decoration: none;
}
.knet-sidecol a:hover,
.knet-sidecol a:focus {
    color: #A3AAA3;
    text-decoration: underline;
}
.knet-subnav .list-group-item.active {
    background: #eb3e4a;
    border-color: #eb3e4a;
}

/* --- Formulare: Beschriftung links neben dem Feld (wie Alt) ---------------
   Alt legt jede Zeile als div.form-group mit display:flex an — Beschriftung
   125px breit und rechtsbuendig, Feld daneben. Neu steht die Zeile als
   div.form-element auf display:block, die Beschriftung landete dadurch
   ueber dem Feld. Die bisherige Regel setzte zwar Breite und Ausrichtung,
   ohne flex am Container blieb das Feld aber in der naechsten Zeile.       */
@media (min-width: 768px) {
    .knet-content-col form .form-element {
        display: flex;
        align-items: flex-start;
    }
    .knet-content-col form label {
        flex: 0 0 auto;
        width: 125px;
        margin-right: 8px;
        text-align: right;
        vertical-align: top;
    }
    .knet-content-col form .form-element > .form-control,
    .knet-content-col form .form-element > .form-select,
    .knet-content-col form .form-element > textarea,
    .knet-content-col form .form-element > .input {
        flex: 1 1 auto;
        min-width: 0;
    }
}
.knet-content-col form .form-control,
.knet-content-col form .form-select {
    width: 100%;
}

/* --- Brotkruemel: die Alt-Site hat keine ----------------------------------
   Das Sitepackage rendert sie fest im Template SubnavRight.html, es gibt
   dafuer keine Einstellung — daher hier abgeschaltet. Die Farbregeln weiter
   oben bleiben stehen und greifen wieder, sobald dieser Block entfaellt.
   ENTSCHEIDUNG TOMMY: Brotkruemel sind ein Zugewinn fuer Orientierung und
   Suchmaschinen. Wer sie behalten will, loescht diesen Block — dann steht
   allerdings ein Element auf der Seite, das der Kunde vorher nicht hatte.  */
.knet-breadcrumb {
    display: none;
}

/* --- Menue: nur der aktuelle Eintrag wird hervorgehoben -------------------
   Das Partial MainNav.html setzt die Klasse "active" ueber item.active, und
   das ist in TYPO3 die gesamte Rootline — die Startseite ist damit auf JEDER
   Unterseite mit ausgezeichnet. Gemessen auf /anfrage: zwei orange Eintraege
   (Startseite und Anfrage), die Alt-Site hebt nur einen hervor.
   Hier projektlokal zurueckgenommen: Ist ausser dem ersten Eintrag noch ein
   weiterer aktiv, kann der erste nicht der aktuelle sein.
   RICHTIGE LOESUNG ist item.current statt item.active im Sitepackage — das
   betrifft aber alle Projekte und entscheidet Tommy.                       */
.knet-header .navbar-nav:has(.nav-item:not(:first-child) .nav-link.active)
    .nav-item:first-child .nav-link.active {
    color: #ffffff;
}

/* --- Schrift auf dem Primaer-Knopf ---------------------------------------
   Das Sitepackage leitet in Build/scss/_theming.scss bei .btn-primary nur
   Hintergrund und Rahmen auf die Laufzeitfarbe um; --bs-btn-color bleibt auf
   dem Wert, den Bootstrap beim Kompilieren aus der damaligen Primaerfarbe
   errechnet hat. Der Knopf trug dadurch schwarze Schrift, obwohl die
   Primaerfarbe laengst eine andere ist. Die Alt-Site zeigt Weiss.
   SITEPACKAGE-BEFUND: --bs-btn-color gehoert in denselben Block wie
   --bs-btn-bg. Das betrifft jedes Projekt mit eigener Primaerfarbe und
   entscheidet Tommy; hier vorerst projektlokal gesetzt.
   ABWAEGUNG, offen benannt: Weiss auf #0288D1 ergibt 3,86:1 und liegt damit
   unter der AA-Schwelle von 4,5:1 fuer normalen Text (die Alt-Site hatte
   denselben Wert). Schwarz waere mit 5,44:1 besser, weicht aber vom Original
   ab. Hier steht die Deckungsgleichheit vorn — fuer die barrierefreie
   Variante diesen Block loeschen.                                          */
.btn-primary {
    --bs-btn-color: #ffffff;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-active-color: #ffffff;
    /* Innenschatten des Bootstrap Package, den die Alt-Knoepfe tragen */
    box-shadow: rgba(255, 255, 255, 0.15) 0 1px 0 0 inset,
                rgba(0, 0, 0, 0.075) 0 1px 1px 0;
}

/* --- Schaltflaechen: Gruen der Alt-Site ----------------------------------
   Alt (Bootstrap Package): #5cb85c mit dem dortigen Innenschatten.
   Neu (Bootstrap 5 Standard): #198754, ohne Schatten — deutlich dunkler. */
.btn-success {
    --bs-btn-bg: #5cb85c;
    --bs-btn-border-color: #5cb85c;
    --bs-btn-hover-bg: #4cae4c;
    --bs-btn-hover-border-color: #4cae4c;
    --bs-btn-active-bg: #449d44;
    --bs-btn-active-border-color: #449d44;
    background-color: #5cb85c;
    border-color: #5cb85c;
    box-shadow: rgba(255, 255, 255, 0.15) 0 1px 0 0 inset,
                rgba(0, 0, 0, 0.075) 0 1px 1px 0;
}
.btn-success:hover,
.btn-success:focus {
    background-color: #4cae4c;
    border-color: #4cae4c;
}

/* --- Fusszeile: im Alt gibt es keine ---------------------------------------
   Die Alt-Site hat zwar ein footer-Element, es ist aber leer und ohne
   Hintergrund (footer-section-meta: transparent). Das Sitepackage setzt
   dort ein dunkles Band mit Copyright-Zeile. Fuer die Deckungsgleichheit
   hier abgeschaltet.
   ENTSCHEIDUNG TOMMY: Wenn die Copyright-Zeile bleiben soll, diesen Block
   loeschen — das ist eine inhaltliche, keine gestalterische Frage.        */
.knet-footer {
    background: transparent !important;
    margin-top: 0;
    min-height: 84px;
}
.knet-footer .knet-footer-text {
    display: none;
}
#anfrage_de-281 {
    padding: 0.5rem;
}
.ce-textpic {
    padding: 1rem;
}
