:root {
    --kit-blue: #009ee0;
    --kit-blue-dark: #007bb5;
    --kit-text: #2c2c2c;
    --kit-muted: #6b7780;
    --kit-line: #e4e9ed;
    --kit-bg: #f5f7f9;
    --kit-white: #ffffff;
}

/*
 * Gesamter Plugin-Bereich
 */
.kit-search {
    box-sizing: border-box;
    width: 100%;
    max-width: 1200px;
    margin: 30px auto;
    padding: 18px;
    border: 1px solid var(--kit-line);
    border-radius: 20px;
    background: var(--kit-white);
    color: var(--kit-text);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
    font-family: Arial, sans-serif;
}

.kit-search *,
.kit-search *::before,
.kit-search *::after {
    box-sizing: border-box;
}

/*
 * Suchkarte
 */
.kit-search__form {
    position: relative;
    margin: 0;
    padding: 18px;
    border: 1px solid var(--kit-line);
    border-radius: 14px;
    background: var(--kit-white);
}

.kit-search__heading {
    margin-bottom: 18px;
}

.kit-search__heading h2 {
    margin: 0 0 5px;
    color: var(--kit-text);
    font-size: 22px;
    line-height: 1.2;
}

.kit-search__heading p {
    margin: 0;
    color: var(--kit-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/*
 * Beschriftung
 */
.kit-search__label {
    display: block;
    margin-bottom: 5px;
    color: var(--kit-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/*
 * Suchfeld, Bereich und Button
 */
.kit-search__controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px auto;
    gap: 12px;
    align-items: center;
}

.kit-search__input,

.kit-search__input {
    font-size: 16px;
}

.kit-search__input::placeholder {
    color: #8b969e;
}

.kit-search__input:hover,

.kit-search__input:focus,
.kit-search__select:focus {
    border-color: var(--kit-blue);
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 158, 224, 0.13);
}

.kit-search__button {
    min-height: 44px;
    padding: 9px 16px;
    border: 0;
    border-radius: 10px;
    background: var(--kit-blue);
    color: var(--kit-white);
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
    transition:
        background 0.15s ease,
        transform 0.15s ease,
        box-shadow 0.15s ease;
}

.kit-search__button:hover {
    background: var(--kit-blue-dark);
    box-shadow: 0 5px 14px rgba(0, 123, 181, 0.2);
}

.kit-search__button:active {
    transform: translateY(1px);
}

/*
 * Statusmeldung
 */
.kit-search__status {
    min-height: 22px;
    margin-top: 8px;
    color: var(--kit-muted);
    font-size: 12px;
}

/*
 * Ladezustand
 */
.kit-search--loading .kit-search__results {
    opacity: 0.5;
}

.kit-search--loading .kit-search__button {
    cursor: wait;
    opacity: 0.75;
}

/*
 * Intelligente Vorschläge
 */
.kit-search__suggestions {
    position: absolute;
    z-index: 1000;
    top: calc(100% - 18px);
    right: 18px;
    left: 18px;
    overflow: hidden;
    border: 1px solid var(--kit-line);
    border-radius: 12px;
    background: var(--kit-white);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.14);
}

.kit-search__suggestions[hidden] {
    display: none;
}

.kit-search__suggestion-list {
    max-height: 390px;
    overflow-y: auto;
}

.kit-search__suggestion {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 13px 15px;
    border-bottom: 1px solid #eeeeee;
    background: var(--kit-white);
    color: var(--kit-text);
    text-decoration: none;
}

.kit-search__suggestion:last-child {
    border-bottom: 0;
}

.kit-search__suggestion:hover,
.kit-search__suggestion--selected {
    background: #eef7fc;
}

.kit-search__suggestion-title {
    color: var(--kit-text);
    font-size: 14px;
    font-weight: 700;
}

.kit-search__suggestion-meta {
    flex-shrink: 0;
    color: var(--kit-muted);
    font-size: 11px;
}

/*
 * Ergebnisbereich
 */
.kit-search__results {
    margin-top: 20px;
    transition: opacity 0.2s ease;
}

.kit-search__summary {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
    padding: 16px;
    border: 1px solid var(--kit-line);
    border-radius: 14px;
    background: var(--kit-white);
}

.kit-search__headline {
    margin: 0 0 6px;
    color: var(--kit-text);
    font-size: 18px;
    line-height: 1.3;
}

.kit-search__area-description {
    margin: 0;
    color: var(--kit-muted);
    font-size: 13px;
}

.kit-search__active-filter {
    display: inline-block;
    padding: 5px 10px;
    border: 1px solid #d7ebf6;
    border-radius: 999px;
    background: #eef7fc;
    color: var(--kit-blue-dark);
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.kit-search__count {
    margin: 12px 0;
    color: var(--kit-muted);
    font-size: 13px;
}

/*
 * Trefferliste
 */
.kit-search__result-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 14px;
}

.kit-search__result {
    padding: 18px;
    border: 1px solid var(--kit-line);
    border-radius: 16px;
    background: var(--kit-white);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04);
    transition:
        transform 0.15s ease,
        box-shadow 0.15s ease,
        border-color 0.15s ease;
}

.kit-search__result:hover {
    transform: translateY(-1px);
    border-color: #d4e4ed;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.07);
}

.kit-search__result-title {
    margin: 0 0 7px;
    font-size: 20px;
    line-height: 1.25;
}

.kit-search__result-title a {
    color: var(--kit-text);
    text-decoration: none;
}

.kit-search__result-title a:hover {
    color: var(--kit-blue);
}

.kit-search__result-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 11px;
}

.kit-search__result-area,
.kit-search__result-type {
    display: inline-block;
    padding: 3px 8px;
    border: 0;
    border-radius: 999px;
    background: #eef2f5;
    color: var(--kit-muted);
    font-size: 11px;
}

.kit-search__result-area {
    background: #eef7fc;
    color: var(--kit-blue-dark);
    font-weight: 700;
}

.kit-search__result-text {
    margin-bottom: 13px;
    color: #555555;
    font-size: 14px;
    line-height: 1.55;
}

.kit-search__result-link {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 10px;
    background: var(--kit-blue);
    color: var(--kit-white);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.kit-search__result-link:hover {
    background: var(--kit-blue-dark);
    color: var(--kit-white);
}

/*
 * Markierter Suchbegriff
 */
.kit-search__mark {
    padding: 0 2px;
    border-radius: 3px;
    background: #fff1a8;
    color: inherit;
}

/*
 * Keine Treffer
 */
.kit-search__empty {
    padding: 22px;
    border: 1px solid var(--kit-line);
    border-radius: 14px;
    background: var(--kit-white);
    color: var(--kit-muted);
    text-align: center;
}

.kit-search__empty strong {
    color: var(--kit-text);
}

.kit-search__empty p {
    margin: 8px 0 0;
}

/*
 * Tablet
 */
@media (max-width: 800px) {
    .kit-search__controls {
        grid-template-columns: minmax(0, 1fr) 190px;
    }

    .kit-search__button {
        grid-column: 1 / -1;
        width: 100%;
    }
}

/*
 * Smartphone
 */
@media (max-width: 640px) {
    .kit-search {
        margin: 15px auto;
        padding: 10px;
        border-radius: 15px;
    }

    .kit-search__form {
        padding: 14px;
    }

    .kit-search__controls {
        grid-template-columns: 1fr;
    }

    .kit-search__button {
        grid-column: auto;
    }

    .kit-search__suggestions {
        right: 14px;
        left: 14px;
    }

    .kit-search__suggestion {
        display: block;
    }

    .kit-search__suggestion-meta {
        display: block;
        margin-top: 4px;
    }

    .kit-search__summary {
        display: block;
    }

    .kit-search__active-filter {
        margin-top: 10px;
    }

    .kit-search__result-title {
        font-size: 18px;
    }
    	/*
	 * v0.8 – Trefferkopf und Relevanz
	 */
	.kit-search__result-head {
	    display: flex;
	    align-items: flex-start;
	    justify-content: space-between;
	    gap: 18px;
	}
	
	.kit-search__result-title-wrap {
	    min-width: 0;
	}
	
	.kit-search__relevance {
	    flex-shrink: 0;
	    padding: 6px 10px;
	    border: 1px solid #d7ebf6;
	    border-radius: 999px;
	    background: #eef7fc;
	    color: var(--kit-blue-dark);
	    font-size: 12px;
	    font-weight: 700;
	    white-space: nowrap;
	}
	
	@media (max-width: 640px) {
	    .kit-search__result-head {
	        display: block;
	    }
	
	    .kit-search__relevance {
	        display: inline-block;
	        margin-bottom: 12px;
	    }
	}

/*
	 * v0.9 – Synonyme und erweiterte Suchbegriffe
	 */
     .kit-search__expanded-terms {
	    display: flex;
	    flex-wrap: wrap;
	    align-items: center;
	    gap: 6px;
	    margin-top: 9px;
	}
	
	.kit-search__expanded-label {
	    color: var(--kit-muted);
	    font-size: 12px;
	    font-weight: 700;
	}
	
	.kit-search__expanded-term {
	    display: inline-block;
	    padding: 4px 8px;
	    border: 1px solid #d7ebf6;
	    border-radius: 999px;
	    background: #eef7fc;
	    color: var(--kit-blue-dark);
	    font-size: 11px;
	    font-weight: 700;
	}

        /*
     * v0.9.2 – korrigiertes hierarchisches Bereichsmenü
     */
    
    /*
     * Suchzeile nicht über die gesamte Seite auseinanderziehen.
     */
     .kit-search .kit-search__controls {
        display: grid;
        grid-template-columns: minmax(280px, 680px) 230px auto;
        justify-content: start;
        align-items: center;
        gap: 12px;
        width: 100%;
    }
    
    /*
     * Suchfeld
     */
    .kit-search .kit-search__input {
        display: block;
        width: 100%;
        height: 44px;
        min-width: 0;
        margin: 0;
        padding: 8px 12px;
        border: 1px solid #ccd4da;
        border-radius: 10px;
        background: #ffffff;
        color: var(--kit-text);
        font-family: Arial, sans-serif;
        font-size: 16px;
        line-height: 1.2;
    }
    
    /*
     * Gesamter Menübereich
     */
    .kit-search .kit-search__area-menu {
        position: relative;
        display: block;
        width: 230px;
        min-width: 0;
        margin: 0;
    }
    
    /*
     * Verstecktes Feld darf keinen Platz beanspruchen.
     */
    .kit-search .kit-search__area-menu
    input[type="hidden"] {
        display: none !important;
    }
    
    /*
     * Sichtbare Dropdown-Schaltfläche
     */
    .kit-search .kit-search__area-trigger {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        width: 230px !important;
        height: 44px !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: 8px 12px !important;
        border: 1px solid #ccd4da !important;
        border-radius: 10px !important;
        background: #ffffff !important;
        color: var(--kit-text) !important;
        box-shadow: none !important;
        font-family: Arial, sans-serif !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: 1.2 !important;
        text-align: left !important;
        text-transform: none !important;
        cursor: pointer;
    }
    
    .kit-search .kit-search__area-trigger:hover {
        border-color: #aebbc4 !important;
        background: #ffffff !important;
    }
    
    .kit-search .kit-search__area-trigger:focus {
        border-color: var(--kit-blue) !important;
        outline: none !important;
        box-shadow: 0 0 0 3px rgba(0, 158, 224, 0.13) !important;
    }
    
    .kit-search .kit-search__area-trigger-arrow {
        flex: 0 0 auto;
        color: var(--kit-blue-dark);
        font-size: 12px;
        transition: transform 0.15s ease;
    }
    
    .kit-search
    .kit-search__area-menu--open
    .kit-search__area-trigger-arrow {
        transform: rotate(180deg);
    }
    
    /*
     * Erste Menüebene:
     * schwebt über dem Inhalt und verändert das Layout nicht.
     */
    .kit-search .kit-search__area-dropdown {
        position: absolute !important;
        z-index: 99999 !important;
        top: calc(100% + 6px) !important;
        right: auto !important;
        bottom: auto !important;
        left: 0 !important;
        display: block;
        width: 240px !important;
        min-width: 240px !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 6px !important;
        overflow: visible !important;
        border: 1px solid var(--kit-line) !important;
        border-radius: 12px !important;
        background: #ffffff !important;
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.16) !important;
    }
    
    /*
     * hidden muss immer wirklich verstecken.
     */
    .kit-search .kit-search__area-dropdown[hidden] {
        display: none !important;
    }
    
    .kit-search .kit-search__area-group {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /*
     * Einzelne Menüeinträge
     */
    .kit-search .kit-search__area-option {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 38px !important;
        margin: 0 !important;
        padding: 8px 10px !important;
        border: 0 !important;
        border-radius: 8px !important;
        background: transparent !important;
        color: var(--kit-text) !important;
        box-shadow: none !important;
        font-family: Arial, sans-serif !important;
        font-size: 13px !important;
        font-weight: 400 !important;
        line-height: 1.25 !important;
        text-align: left !important;
        text-transform: none !important;
        white-space: normal !important;
        cursor: pointer;
    }
    
    .kit-search .kit-search__area-option:hover,
    .kit-search .kit-search__area-option:focus {
        background: #eef7fc !important;
        color: var(--kit-blue-dark) !important;
        outline: none !important;
    }
    
    .kit-search .kit-search__area-option--active {
        background: #eef7fc !important;
        color: var(--kit-blue-dark) !important;
        font-weight: 700 !important;
    }
    
    .kit-search .kit-search__area-submenu-arrow {
        flex: 0 0 auto;
        color: var(--kit-blue-dark);
        font-size: 18px;
        line-height: 1;
    }
    
    /*
     * Untermenüs sind standardmäßig geschlossen.
     */
    .kit-search .kit-search__area-submenu {
        position: absolute !important;
        z-index: 100000 !important;
        top: -6px !important;
        left: calc(100% + 5px) !important;
        display: none !important;
        width: 270px !important;
        min-width: 270px !important;
        margin: 0 !important;
        padding: 6px !important;
        border: 1px solid var(--kit-line) !important;
        border-radius: 12px !important;
        background: #ffffff !important;
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.16) !important;
    }
    
    /*
     * Nur das aktuell berührte Hauptmenü zeigt seine Kinder.
     */
    .kit-search
    .kit-search__area-group--children:focus-within
    > .kit-search__area-submenu,

    
    /*
     * Suchbutton
     */
    .kit-search .kit-search__button {
        width: auto !important;
        height: 44px !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: 9px 20px !important;
        white-space: nowrap;
    }
    
    /*
     * Tablet
     */
    @media (max-width: 900px) {
        .kit-search .kit-search__controls {
            grid-template-columns: minmax(240px, 1fr) 220px;
        }
    
        .kit-search .kit-search__button {
            grid-column: 1 / -1;
            width: 100% !important;
        }
    }
    
    /*
     * Smartphone und Touch-Geräte
     */
    @media (max-width: 700px) {
        .kit-search .kit-search__controls {
            grid-template-columns: 1fr;
        }
    
        .kit-search .kit-search__area-menu,
        .kit-search .kit-search__area-trigger {
            width: 100% !important;
        }
    
        .kit-search .kit-search__area-dropdown {
            right: 0 !important;
            left: 0 !important;
            width: 100% !important;
            min-width: 0 !important;
            max-height: 360px !important;
            overflow-x: hidden !important;
            overflow-y: auto !important;
        }
    
        .kit-search .kit-search__area-submenu {
            position: static !important;
            display: none !important;
            width: auto !important;
            min-width: 0 !important;
            margin: 2px 0 6px 12px !important;
            padding: 3px 0 3px 7px !important;
            border: 0 !important;
            border-left: 2px solid #d7ebf6 !important;
            border-radius: 0 !important;
            box-shadow: none !important;
        }
    
        .kit-search
        .kit-search__area-group--children:hover
        > .kit-search__area-submenu {
            display: none !important;
        }
    
        .kit-search
        .kit-search__area-group--submenu-open
        > .kit-search__area-submenu,
        .kit-search
        .kit-search__area-group--children:focus-within
        > .kit-search__area-submenu {
            display: block !important;
        }
    
        .kit-search .kit-search__button {
            grid-column: auto;
        }
    }
    
    /*
     * Maus über Hauptbereich:
     * Untermenü wird seitlich eingeblendet.
     */
    .kit-search__area-group--children:hover
    .kit-search__area-submenu,
    .kit-search__area-group--children:focus-within
    .kit-search__area-submenu,
    .kit-search__area-group--submenu-open
    .kit-search__area-submenu {
        display: block;
    }
    
    .kit-search__area-option--child {
        font-size: 13px;
    }
    
    /*
     * Kleine Bildschirme:
     * Untermenü nicht seitlich, sondern darunter.
     */
    @media (max-width: 760px) {
        .kit-search__area-dropdown {
            right: 0;
            width: 100%;
            max-height: 340px;
            overflow-y: auto;
        }
    
        .kit-search__area-submenu {
            position: static;
            width: auto;
            margin: 2px 0 6px 12px;
            padding: 4px;
            border: 0;
            border-left: 2px solid #d7ebf6;
            border-radius: 0;
            box-shadow: none;
        }
    
        /*
         * Auf Touch-Geräten nicht automatisch
         * durch zufälliges Hover öffnen.
         */
        .kit-search__area-group--children:hover
        .kit-search__area-submenu {
            display: none;
        }
    
        .kit-search__area-group--submenu-open
        .kit-search__area-submenu,
        .kit-search__area-group--children:focus-within
        .kit-search__area-submenu {
            display: block;
        }
    }

    /*
     * v0.9.2 – Dropdown vollständig aus dem Seitenlayout lösen
     */
    
     .kit-search .kit-search__form {
        position: relative !important;
        overflow: visible !important;
    }
    
    .kit-search .kit-search__controls {
        position: relative !important;
        align-items: start !important;
        min-height: 44px !important;
    }
    
    .kit-search .kit-search__input,
    .kit-search .kit-search__area-menu,
    .kit-search .kit-search__button {
        align-self: start !important;
    }
    
    /*
     * Der Menüauslöser behält immer dieselbe Höhe.
     */
    .kit-search .kit-search__area-menu {
        position: relative !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
    }
    
    .kit-search .kit-search__area-trigger {
        position: relative !important;
        width: 230px !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
    }
    
    /*
     * Das geöffnete Menü schwebt über der Seite.
     * Es darf niemals die Höhe der Suchzeile verändern.
     */
    .kit-search .kit-search__area-dropdown,
    .kit-search .kit-search__area-dropdown:not([hidden]) {
        position: absolute !important;
        z-index: 999999 !important;
        top: 50px !important;
        right: auto !important;
        bottom: auto !important;
        left: 0 !important;
    
        display: block !important;
        width: 245px !important;
        min-width: 245px !important;
        max-width: 245px !important;
    
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    
        margin: 0 !important;
        padding: 6px !important;
    
        overflow: visible !important;
        transform: none !important;
    }
    
    /*
     * Geschlossen bleibt wirklich geschlossen.
     */
    .kit-search .kit-search__area-dropdown[hidden] {
        display: none !important;
    }
    
    /*
     * Jede Hauptzeile bleibt kompakt.
     */
    .kit-search .kit-search__area-group {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }
    
    .kit-search .kit-search__area-option {
        width: 100% !important;
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
        margin: 0 !important;
    }
    
    /*
     * Untermenü ebenfalls vollständig aus dem Hauptmenü lösen.
     */
    .kit-search .kit-search__area-submenu,
    .kit-search .kit-search__area-submenu:not([hidden]) {
        position: absolute !important;
        z-index: 1000000 !important;
        top: -6px !important;
        right: auto !important;
        bottom: auto !important;
        left: calc(100% + 6px) !important;
    
        display: block !important;
        width: 270px !important;
        min-width: 270px !important;
        max-width: 270px !important;
    
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    
        margin: 0 !important;
        padding: 6px !important;
    
        overflow: visible !important;
        transform: none !important;
    }
    
    .kit-search .kit-search__area-submenu[hidden] {
        display: none !important;
    }
    
    /*
     * Smartphone: Menü darf nach unten aufgehen,
     * verändert aber weiterhin nicht die Suchfeldhöhe.
     */
    @media (max-width: 700px) {
        .kit-search .kit-search__area-menu,
        .kit-search .kit-search__area-trigger {
            width: 100% !important;
        }
    
        .kit-search .kit-search__area-dropdown,
        .kit-search .kit-search__area-dropdown:not([hidden]) {
            top: 50px !important;
            right: 0 !important;
            left: 0 !important;
    
            width: 100% !important;
            min-width: 0 !important;
            max-width: none !important;
    
            max-height: 360px !important;
            overflow-x: hidden !important;
            overflow-y: auto !important;
        }
    
        .kit-search .kit-search__area-submenu,
        .kit-search .kit-search__area-submenu:not([hidden]) {
            position: static !important;
    
            width: auto !important;
            min-width: 0 !important;
            max-width: none !important;
    
            margin: 2px 0 6px 12px !important;
            padding: 3px 0 3px 7px !important;
    
            border: 0 !important;
            border-left: 2px solid #d7ebf6 !important;
            border-radius: 0 !important;
            box-shadow: none !important;
        }
    
        .kit-search .kit-search__area-submenu[hidden] {
            display: none !important;
        }
    }

}
/* v0.9.3 – konkrete Fundstelle auf grossen Produktseiten */
.kit-search .kit-search__match-title {
    margin-top: 4px;
    color: var(--kit-blue-dark);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
}


/* v0.9.3.1 – Fundstelle auf Zielseite kurz hervorheben */
.kit-search-target-highlight {
    outline: 3px solid rgba(255, 204, 0, 0.55);
    outline-offset: 5px;
    border-radius: 3px;
    transition: outline-color 0.35s ease;
}

/* v0.9.3.3 – Mitgesuchte Synonyme bewusst dezent halten. */
.kit-search .kit-search__expanded-terms {
    display: block;
    margin-top: 4px;
    color: #7a838a;
    font-size: 12px;
    line-height: 1.35;
}

.kit-search .kit-search__expanded-label,
.kit-search .kit-search__expanded-term {
    display: inline;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font-size: inherit;
    font-weight: 400;
}

.kit-search .kit-search__expanded-label {
    margin-right: 4px;
}

.kit-search .kit-search__expanded-term + .kit-search__expanded-term::before {
    content: " · ";
    color: #a4abb0;
}

/* v0.9.3.4 – Ergebnis-Kopf kompakter, aber Mitgesucht fast gleichwertig. */
.kit-search .kit-search__headline {
    margin: 0 0 4px !important;
    font-size: 26px !important;
    line-height: 1.18 !important;
}

.kit-search .kit-search__expanded-terms {
    display: block !important;
    margin: 2px 0 0 !important;
    color: var(--kit-text) !important;
    font-size: 21px !important;
    line-height: 1.25 !important;
}

.kit-search .kit-search__expanded-label {
    color: var(--kit-muted) !important;
    font-size: inherit !important;
    font-weight: 400 !important;
}

.kit-search .kit-search__expanded-term {
    display: inline !important;
    margin: 0 5px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--kit-text) !important;
    font-size: inherit !important;
    font-weight: 400 !important;
}

.kit-search .kit-search__count--summary {
    margin: 7px 0 0 !important;
    color: var(--kit-muted) !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
}

/* Bereichsauswahl etwas groesser und leichter lesbar. */
.kit-search .kit-search__controls {
    grid-template-columns: minmax(280px, 680px) 270px auto !important;
}

.kit-search .kit-search__area-menu,
.kit-search .kit-search__area-trigger {
    width: 270px !important;
}

.kit-search .kit-search__area-trigger {
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 9px 14px !important;
    font-size: 15px !important;
}

.kit-search .kit-search__area-menu {
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
}

.kit-search .kit-search__area-dropdown,
.kit-search .kit-search__area-dropdown:not([hidden]) {
    top: 54px !important;
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
}

.kit-search .kit-search__area-option--child {
    padding-left: 26px !important;
    position: relative;
}

.kit-search .kit-search__area-option--child::before {
    content: "↳";
    position: absolute;
    left: 10px;
    color: #9aa8b2;
    font-size: 11px;
}

@media (max-width: 700px) {
    .kit-search .kit-search__headline {
        font-size: 22px !important;
    }

    .kit-search .kit-search__expanded-terms {
        font-size: 18px !important;
    }

    .kit-search .kit-search__area-menu,
    .kit-search .kit-search__area-trigger {
        width: 100% !important;
    }

    .kit-search .kit-search__area-dropdown,
    .kit-search .kit-search__area-dropdown:not([hidden]) {
        top: 54px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }
}


/* v0.9.3.4.1: kompakter Bereichs-Trigger, lesbares Menue. */
@media (min-width: 701px) {
    .kit-search .kit-search__controls {
        grid-template-columns: minmax(280px, 1fr) 205px auto !important;
    }

    .kit-search .kit-search__area-menu,
    .kit-search .kit-search__area-trigger {
        width: 205px !important;
        max-width: 205px !important;
    }

    .kit-search .kit-search__area-dropdown,
    .kit-search .kit-search__area-dropdown:not([hidden]) {
        width: 270px !important;
        min-width: 270px !important;
        max-width: 270px !important;
        max-height: min(520px, 70vh) !important;
        overflow-y: auto !important;
    }

    .kit-search .kit-search__area-option--child {
        padding-left: 34px !important;
    }
}

/* Vorschlaege sichtbar direkt unter dem Eingabebereich. */
.kit-search .kit-search__suggestions {
    z-index: 10050 !important;
    border-color: #cfd9df !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.18) !important;
}


/* v0.9.3.4.2: drei gleich grosse Bedienelemente. */
@media (min-width: 901px) {
    .kit-search .kit-search__controls {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        width: 100% !important;
    }

    .kit-search .kit-search__input,
    .kit-search .kit-search__area-menu,
    .kit-search .kit-search__area-trigger,
    .kit-search .kit-search__button {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }
}


/* v0.9.3.4.3: gleiche Hoehe statt gleicher Breite. */
@media (min-width: 901px) {
    .kit-search .kit-search__controls {
        grid-template-columns: minmax(320px, 1fr) 205px auto !important;
    }

    .kit-search .kit-search__input,
    .kit-search .kit-search__area-menu,
    .kit-search .kit-search__area-trigger,
    .kit-search .kit-search__button {
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
    }

    .kit-search .kit-search__area-menu,
    .kit-search .kit-search__area-trigger {
        width: 205px !important;
        max-width: 205px !important;
    }

    .kit-search .kit-search__button {
        width: auto !important;
        min-width: 110px !important;
        max-width: none !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
    }
}

/* Kompakte Begriffsvorschlaege direkt am Schreibcursor. */
.kit-search .kit-search__suggestions {
    width: min(360px, calc(100% - 36px)) !important;
    max-width: 360px !important;
    border-radius: 9px !important;
    overflow: hidden !important;
}

.kit-search .kit-search__suggestion-list {
    max-height: 250px !important;
}

.kit-search .kit-search__suggestion {
    width: 100% !important;
    min-height: 32px !important;
    padding: 7px 10px !important;
    gap: 10px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf0f2 !important;
    text-align: left !important;
    font-family: inherit !important;
    cursor: pointer !important;
}

.kit-search .kit-search__suggestion-title {
    font-size: 12px !important;
    font-weight: 600 !important;
}

.kit-search .kit-search__suggestion-meta {
    font-size: 10px !important;
}

.kit-search .kit-search__suggestion--term {
    background: #fff !important;
    color: var(--kit-text) !important;
}

/* v0.9.3.4.4 – Suche als ruhige Druckwelt, klare Menüs und gleiche Bedienhöhen. */
.kit-search .kit-search__form {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: rgba(255,255,255,.96) !important;
}

.kit-search .kit-search__form::before {
    content: "";
    position: absolute;
    z-index: -2;
    inset: -12%;
    background-image:
        linear-gradient(rgba(255,255,255,.82), rgba(255,255,255,.92)),
        url('../images/search-weave.png');
    background-position: center center;
    background-size: cover;
    opacity: .32;
    transform: scale(1.02);
    transform-origin: 68% 64%;
    transition: opacity .28s ease, transform .35s ease;
    pointer-events: none;
}

.kit-search--loading .kit-search__form::before {
    opacity: .72;
    animation: kit-search-weave-forward 2.2s ease-in-out infinite alternate;
}

@keyframes kit-search-weave-forward {
    0% { transform: scale(1.02) translate3d(0,0,0); }
    100% { transform: scale(1.30) translate3d(-2.5%, -1.5%, 0); }
}

.kit-search .kit-search__heading,
.kit-search .kit-search__label,
.kit-search .kit-search__controls,
.kit-search .kit-search__suggestions,
.kit-search .kit-search__status {
    position: relative;
    z-index: 3;
}

/* Suchfeld und beide Schaltflächen exakt gleich hoch. */
.kit-search .kit-search__input,
.kit-search .kit-search__area-menu,
.kit-search .kit-search__area-trigger,
.kit-search .kit-search__button {
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
}

.kit-search .kit-search__input {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 52px !important;
}

.kit-search .kit-search__area-trigger,
.kit-search .kit-search__button {
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.15 !important;
}

/* Bereichsmenü: deckend, ruhig und klar getrennt. */
.kit-search .kit-search__area-dropdown,
.kit-search .kit-search__area-submenu {
    background: #ffffff !important;
    border-color: #d9e1e6 !important;
    box-shadow: 0 16px 38px rgba(20,38,50,.18) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.kit-search .kit-search__area-option {
    background: #ffffff !important;
    border-bottom: 1px solid #eef2f4 !important;
}

.kit-search .kit-search__area-group:last-child > .kit-search__area-option,
.kit-search .kit-search__area-submenu .kit-search__area-option:last-child {
    border-bottom: 0 !important;
}

.kit-search .kit-search__area-option:hover,
.kit-search .kit-search__area-option:focus,
.kit-search .kit-search__area-option--active {
    background: #eef8fd !important;
}

.kit-search .kit-search__area-option--child {
    background: #fbfdfe !important;
}

/* Kleine Vorschlagsbox direkt am letzten Wort / Cursor. */
.kit-search .kit-search__suggestions {
    width: min(310px, calc(100% - 36px)) !important;
    max-width: 310px !important;
    border: 1px solid #d5dee4 !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: 0 12px 26px rgba(20,38,50,.18) !important;
}

.kit-search .kit-search__suggestion-list {
    max-height: 190px !important;
    background: #ffffff !important;
}

.kit-search .kit-search__suggestion {
    min-height: 30px !important;
    padding: 6px 9px !important;
    background: #ffffff !important;
}

.kit-search .kit-search__suggestion:hover,
.kit-search .kit-search__suggestion--selected,
.kit-search .kit-search__suggestion--term:first-child {
    background: #fff2a8 !important;
}

/* Suchanimation: Linse und kurzer Status, nur während AJAX läuft. */
.kit-search .kit-search__loading-visual {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .22s ease, visibility .22s ease;
}

.kit-search--loading .kit-search__loading-visual {
    opacity: 1;
    visibility: visible;
}

.kit-search--loading .kit-search__heading,
.kit-search--loading .kit-search__label,
.kit-search--loading .kit-search__controls,
.kit-search--loading .kit-search__suggestions,
.kit-search--loading .kit-search__status {
    opacity: .18;
    transition: opacity .2s ease;
}

.kit-search .kit-search__loading-lens {
    width: 112px;
    height: 112px;
    flex: 0 0 112px;
    border: 8px solid rgba(225,233,238,.96);
    border-radius: 50%;
    background-image: url('../images/search-weave.png');
    background-position: 72% 60%;
    background-size: 330%;
    box-shadow:
        0 12px 30px rgba(31,55,68,.22),
        inset 0 0 0 1px rgba(255,255,255,.85);
    animation: kit-search-lens-pulse 1.6s ease-in-out infinite alternate;
}

.kit-search .kit-search__loading-lens::after {
    content: "";
    position: absolute;
    width: 48px;
    height: 12px;
    margin: 90px 0 0 82px;
    border-radius: 8px;
    background: linear-gradient(90deg, #b8c4cb, #6d7c85);
    transform: rotate(45deg);
    transform-origin: left center;
    box-shadow: 0 4px 10px rgba(20,38,50,.18);
}

@keyframes kit-search-lens-pulse {
    0% { transform: scale(.96); }
    100% { transform: scale(1.05); }
}

.kit-search .kit-search__loading-copy {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px 16px;
    border: 1px solid rgba(217,225,230,.9);
    border-radius: 12px;
    background: rgba(255,255,255,.90);
    box-shadow: 0 10px 24px rgba(20,38,50,.10);
}

.kit-search .kit-search__loading-copy strong {
    color: var(--kit-text);
    font-size: 17px;
}

.kit-search .kit-search__loading-copy span {
    color: var(--kit-muted);
    font-size: 12px;
}

@media (prefers-reduced-motion: reduce) {
    .kit-search--loading .kit-search__form::before,
    .kit-search .kit-search__loading-lens {
        animation: none !important;
    }
}

@media (max-width: 700px) {
    .kit-search .kit-search__input,
    .kit-search .kit-search__area-menu,
    .kit-search .kit-search__area-trigger,
    .kit-search .kit-search__button {
        height: 50px !important;
        min-height: 50px !important;
        max-height: 50px !important;
    }

    .kit-search .kit-search__loading-lens {
        width: 84px;
        height: 84px;
        flex-basis: 84px;
        border-width: 6px;
    }

    .kit-search .kit-search__loading-copy span {
        display: none;
    }
}


/* v0.9.3.4.5 – Dropdown bleibt im sichtbaren Fenster, schnellere Cursor-Vorschlaege. */
.kit-search .kit-search__form {
    overflow: visible !important;
}
.kit-search .kit-search__form::before {
    inset: 0 !important;
    border-radius: inherit;
}
.kit-search .kit-search__area-menu--up .kit-search__area-dropdown,
.kit-search .kit-search__area-menu--up .kit-search__area-dropdown:not([hidden]) {
    top: auto !important;
    bottom: 60px !important;
}
.kit-search .kit-search__area-group--left > .kit-search__area-submenu,
.kit-search .kit-search__area-group--left > .kit-search__area-submenu:not([hidden]) {
    left: auto !important;
    right: calc(100% + 6px) !important;
}
.kit-search .kit-search__area-dropdown,
.kit-search .kit-search__area-dropdown:not([hidden]) {
    max-height: min(520px, calc(100vh - 32px)) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
}
/* Die Lupe bleibt stehen; nur das Gewebe im Hintergrund bewegt sich. */
.kit-search .kit-search__loading-lens {
    animation: none !important;
    transform: none !important;
}


/* v0.9.3.4.6 – ruhige Vorschlaege, feste Lupe und sauber zentrierte Bedienzeile. */
@media (min-width: 901px) {
    .kit-search .kit-search__controls {
        width: min(100%, 880px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        grid-template-columns: minmax(360px, 1fr) 205px 120px !important;
        justify-content: center !important;
    }

    .kit-search .kit-search__label {
        width: min(100%, 880px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* Vorschlaege schweben ueber der Seite und veraendern niemals die Layout-Hoehe. */
.kit-search .kit-search__suggestions,
.kit-search .kit-search__suggestions:not([hidden]) {
    position: fixed !important;
    z-index: 2147483000 !important;
    width: 310px !important;
    max-width: calc(100vw - 16px) !important;
    margin: 0 !important;
    transform: none !important;
}

/* "Alle Bereiche" bleibt immer als sichtbare Rueckkehr-Option oben. */
.kit-search .kit-search__area-dropdown > .kit-search__area-group:first-child {
    position: sticky !important;
    top: 0 !important;
    z-index: 12 !important;
    background: #fff !important;
    box-shadow: 0 1px 0 #e5eaee !important;
}

.kit-search .kit-search__area-dropdown > .kit-search__area-group:first-child .kit-search__area-option {
    font-weight: 700 !important;
    background: #fff !important;
}

/* Beim Suchen bleibt das grosse Gewebe ruhig. Nur der Bereich in der Lupe vergroessert sich. */
.kit-search--loading .kit-search__form::before {
    animation: none !important;
    transform: scale(1.02) !important;
    opacity: .45 !important;
}

.kit-search .kit-search__loading-lens {
    position: relative !important;
    animation: kit-search-lens-weave 1.8s ease-in-out infinite alternate !important;
    transform: none !important;
}

@keyframes kit-search-lens-weave {
    0% {
        background-size: 300%;
        background-position: 72% 60%;
    }
    100% {
        background-size: 420%;
        background-position: 70% 58%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .kit-search .kit-search__loading-lens {
        animation: none !important;
        background-size: 350% !important;
    }
}


/* v0.9.3.4.7 – exakte Fluchtlinie und markantere Bereichsauswahl. */
@media (min-width: 901px) {
    .kit-search .kit-search__controls {
        align-items: stretch !important;
    }

    .kit-search .kit-search__controls > * {
        align-self: stretch !important;
        box-sizing: border-box !important;
    }

    .kit-search .kit-search__input,
    .kit-search .kit-search__area-menu,
    .kit-search .kit-search__area-trigger,
    .kit-search .kit-search__button {
        height: 54px !important;
        min-height: 54px !important;
        max-height: 54px !important;
        box-sizing: border-box !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    .kit-search .kit-search__input {
        padding: 0 18px !important;
        line-height: normal !important;
    }
}

.kit-search .kit-search__area-trigger {
    border: 2px solid var(--kit-blue) !important;
    border-radius: 10px !important;
    background: linear-gradient(180deg, #ffffff 0%, #eef8fd 100%) !important;
    color: #17384a !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 12px rgba(0, 158, 224, .12) !important;
}

.kit-search .kit-search__area-trigger:hover,
.kit-search .kit-search__area-menu--open .kit-search__area-trigger {
    background: #e5f6fd !important;
    border-color: var(--kit-blue-dark) !important;
    box-shadow: 0 6px 16px rgba(0, 158, 224, .18) !important;
}

.kit-search .kit-search__area-trigger-arrow {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    background: var(--kit-blue) !important;
    color: #fff !important;
    font-size: 10px !important;
}

/* v0.9.3.4.8 – Bereichsmenue im KIT-Stil und globale Header-Suche. */
.kit-search .kit-search__area-reset-wrap {
    position: sticky !important;
    top: 0 !important;
    z-index: 20 !important;
    padding: 7px !important;
    background: #fff !important;
    border-bottom: 1px solid #dce8ee !important;
}
.kit-search .kit-search__area-option--reset,
.kit-search .kit-search__area-submenu .kit-search__area-option {
    border: 1px solid #c8e9f7 !important;
    border-radius: 8px !important;
    background: linear-gradient(180deg,#fff 0%,#f1faff 100%) !important;
    color: #17384a !important;
    font-weight: 650 !important;
    margin: 3px 6px !important;
    width: calc(100% - 12px) !important;
    min-height: 38px !important;
    box-shadow: 0 2px 7px rgba(0,158,224,.07) !important;
}
.kit-search .kit-search__area-option--reset:hover,
.kit-search .kit-search__area-submenu .kit-search__area-option:hover,
.kit-search .kit-search__area-submenu .kit-search__area-option--active {
    border-color: var(--kit-blue) !important;
    background: #e6f7fe !important;
}
.kit-search .kit-search__area-reset-icon {
    display:inline-flex; align-items:center; justify-content:center;
    width:22px; height:22px; margin-right:8px; border-radius:50%;
    background:var(--kit-blue); color:#fff; font-size:12px;
}
.kit-search .kit-search__area-submenu {
    padding: 6px !important;
    border: 1px solid #bfe4f4 !important;
    border-radius: 10px !important;
}
@media (min-width:901px) {
    .kit-search .kit-search__controls {
        align-items:center !important;
    }
    .kit-search .kit-search__input,
    .kit-search .kit-search__area-menu,
    .kit-search .kit-search__area-trigger,
    .kit-search .kit-search__button {
        height:54px !important; min-height:54px !important; max-height:54px !important;
        margin:0 !important; top:auto !important; bottom:auto !important; transform:none !important;
    }
}

/* Globale kompakte Suche rechts neben der Hauptnavigation. */
.kit-global-search { display:inline-flex; align-items:center; position:relative; margin-left:12px; vertical-align:middle; }
.kit-global-search__toggle { width:38px; height:38px; padding:0; border:0; border-radius:50%; background:#009ee0; color:#fff; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; box-shadow:0 3px 10px rgba(0,158,224,.20); }
.kit-global-search__toggle svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2.2; }
.kit-global-search__form { position:absolute; right:0; top:50%; transform:translateY(-50%); display:flex; align-items:center; width:0; opacity:0; visibility:hidden; overflow:hidden; transition:width .22s ease,opacity .16s ease; z-index:1000; }
.kit-global-search--open .kit-global-search__form { width:330px; opacity:1; visibility:visible; overflow:visible; }
.kit-global-search--open .kit-global-search__toggle { opacity:0; pointer-events:none; }
.kit-global-search__input { width:100%; height:42px !important; padding:0 48px 0 16px !important; border:2px solid #009ee0 !important; border-radius:22px !important; background:#fff !important; box-shadow:0 8px 24px rgba(20,38,50,.18) !important; font-size:14px !important; }
.kit-global-search__submit { position:absolute; right:4px; width:34px; height:34px; border:0; border-radius:50%; background:#009ee0; color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.kit-global-search__submit svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2.2; }
@media (max-width:900px) { .kit-global-search { margin-left:6px; } .kit-global-search--open .kit-global-search__form { width:min(280px,75vw); } }

/* v0.9.3.4.9 – browserstabile Vorschlaege und Bereichs-Reset. */
.kit-search .kit-search__area-dropdown,
.kit-search .kit-search__area-dropdown:not([hidden]) {
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    max-height: min(520px, calc(100vh - 32px)) !important;
}

.kit-search .kit-search__area-dropdown[hidden] {
    display: none !important;
}

.kit-search .kit-search__area-reset-wrap {
    position: relative !important;
    top: auto !important;
    flex: 0 0 auto !important;
    display: block !important;
    width: 100% !important;
    background: #fff !important;
    z-index: 30 !important;
}

.kit-search .kit-search__area-option--reset {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

.kit-search .kit-search__area-scroll {
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: visible !important;
    overscroll-behavior: contain;
}

/* Firefox/Safari: Vorschlaege sind echtes Overlay und veraendern nie die Seite. */
.kit-search .kit-search__suggestions,
.kit-search .kit-search__suggestions:not([hidden]) {
    position: fixed !important;
    margin: 0 !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 2147483000 !important;
    contain: layout paint;
}

/* Bei oberhalb geoeffneter Liste liegt durch JS der beste Treffer unten,
 * also direkt am Cursor. */
.kit-search .kit-search__suggestions--above .kit-search__suggestion--term:last-child,
.kit-search .kit-search__suggestions--above .kit-search__suggestion--selected {
    background: #fff2a8 !important;
}


/* v0.9.3.4.10 – Firefox: echte Portal-Overlays + stabile Menuebuttons. */
body > .kit-search__suggestions--portal,
body > .kit-search__suggestions--portal:not([hidden]) {
    position: fixed !important;
    margin: 0 !important;
    padding: 0 !important;
    right: auto !important;
    bottom: auto !important;
    overflow: hidden !important;
    z-index: 2147483000 !important;
    border: 1px solid #cfdce4 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.16) !important;
    contain: none !important;
    box-sizing: border-box !important;
}
body > .kit-search__suggestions--portal[hidden] { display: none !important; }
body > .kit-search__suggestions--portal .kit-search__suggestion-list {
    max-height: 220px !important;
    overflow-y: auto !important;
}
body > .kit-search__suggestions--portal .kit-search__suggestion {
    box-sizing: border-box !important;
    display: flex !important;
    width: 100% !important;
    min-height: 42px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 10px 13px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf1f4 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #263746 !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    text-align: left !important;
}
body > .kit-search__suggestions--portal .kit-search__suggestion:last-child { border-bottom: 0 !important; }
body > .kit-search__suggestions--portal .kit-search__suggestion:hover,
body > .kit-search__suggestions--portal .kit-search__suggestion--selected { background: #eef7fc !important; }
body > .kit-search__suggestions--portal.kit-search__suggestions--above .kit-search__suggestion:first-child { border-top: 0 !important; }
body > .kit-search__suggestions--portal.kit-search__suggestions--above .kit-search__suggestion:last-child { background: #fff2a8 !important; }

.kit-search .kit-search__area-option,
.kit-search .kit-search__area-option[type="button"] {
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    display: flex !important;
    width: 100% !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 9px 11px !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #263746 !important;
    box-shadow: none !important;
    font: inherit !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    text-align: left !important;
    text-decoration: none !important;
}
.kit-search .kit-search__area-option::-moz-focus-inner { border: 0 !important; padding: 0 !important; }
.kit-search .kit-search__area-option:hover,
.kit-search .kit-search__area-option:focus {
    border-color: #bfe4f4 !important;
    background: #eef7fc !important;
    color: #006f9f !important;
}
.kit-search .kit-search__area-option--active {
    border-color: #8fd2ed !important;
    background: #e5f5fc !important;
    color: #005d86 !important;
    font-weight: 700 !important;
}


/* v0.9.3.4.11 – browserstabile Cursor-Vorschlaege und staerkere Suchlupe. */
.kit-search__suggestion-ghost {
    position: fixed !important;
    z-index: 2147483646 !important;
    display: inline-block;
    padding: 0 3px;
    border-radius: 4px;
    background: #fff2a8;
    color: #5e6670;
    pointer-events: none;
    white-space: pre;
    box-shadow: 0 1px 2px rgba(0,0,0,.06);
}
.kit-search__suggestion-ghost[hidden] { display:none !important; }

.kit-search .kit-search__suggestions,
.kit-search .kit-search__suggestions:not([hidden]) {
    z-index: 2147483645 !important;
    transform: none !important;
}

/* Lupe ca. 15 Prozent groesser; Gewebe unter der Lupe etwa doppelt vergroessert. */
.kit-search .kit-search__loading-lens {
    width: 129px !important;
    height: 129px !important;
    flex: 0 0 129px !important;
    border-width: 8px !important;
}
.kit-search .kit-search__loading-lens::after {
    margin: 105px 0 0 95px !important;
}
@keyframes kit-search-lens-weave {
    0% { background-size: 600%; background-position: 72% 60%; }
    100% { background-size: 840%; background-position: 70% 58%; }
}
@media (max-width:700px) {
    .kit-search .kit-search__loading-lens {
        width: 96px !important; height: 96px !important; flex-basis: 96px !important;
    }
}

/* v0.9.3.4.12 - Vorschlagsliste bewusst ohne Scrollbars. */
body > .kit-search__suggestions--portal,
body > .kit-search__suggestions--portal:not([hidden]),
body > .kit-search__suggestions--portal .kit-search__suggestion-list,
.kit-search .kit-search__suggestions,
.kit-search .kit-search__suggestion-list {
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}
body > .kit-search__suggestions--portal::-webkit-scrollbar,
body > .kit-search__suggestions--portal .kit-search__suggestion-list::-webkit-scrollbar,
.kit-search .kit-search__suggestions::-webkit-scrollbar,
.kit-search .kit-search__suggestion-list::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}


/* v0.9.3.4.13 - Firefox: Portal absolut am Dokument verankern.
 * Safari behaelt die bestehende, bereits passende fixed-Positionierung. */
body > .kit-search__suggestions--portal.kit-search__suggestions--firefox,
body > .kit-search__suggestions--portal.kit-search__suggestions--firefox:not([hidden]) {
    position: absolute !important;
    transform: none !important;
    z-index: 2147483645 !important;
}


/* v0.9.3.4.14 - Firefox/Safari einheitliche Vorschlaege + Header-Autocomplete. */
body > .kit-search__suggestions--portal,
body > .kit-search__suggestions--portal:not([hidden]) {
    position: fixed !important;
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
    scrollbar-width: none !important;
}
body > .kit-search__suggestions--portal::-webkit-scrollbar { display:none !important; }

.kit-global-search__form { position: relative !important; }
.kit-global-search__suggestions {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    width: min(340px, 80vw);
    background: #fff;
    border: 1px solid rgba(0,157,224,.28);
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(0,0,0,.16);
    overflow: hidden;
    z-index: 2147483646;
}
.kit-global-search__suggestions[hidden] { display:none !important; }
.kit-global-search__suggestion {
    appearance:none;
    -webkit-appearance:none;
    display:flex;
    width:100%;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    border:0;
    border-bottom:1px solid #e8eef2;
    background:#fff;
    padding:10px 12px;
    cursor:pointer;
    text-align:left;
}
.kit-global-search__suggestion:last-child { border-bottom:0; }
.kit-global-search__suggestion:hover { background:#eef8fd; }
.kit-global-search__suggestion strong { font-weight:700; color:#1f3340; }
.kit-global-search__suggestion span { color:#6f7a83; font-size:12px; white-space:nowrap; }

/* =========================================================
 * v1.0.1 – feste Bereichsfilter links statt Dropdown
 * ========================================================= */
.kit-search .kit-search__area-menu--legacy-hidden {
    display: none !important;
}

.kit-search .kit-search__controls {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 12px !important;
    align-items: stretch !important;
}

.kit-search .kit-search__input,
.kit-search .kit-search__button {
    height: 54px !important;
    min-height: 54px !important;
}

.kit-search .kit-search__button {
    min-width: 132px;
    padding: 0 24px !important;
}

.kit-search__results-layout {
    display: grid;
    grid-template-columns: 245px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.kit-search__filters {
    position: sticky;
    top: 18px;
    overflow: hidden;
    border: 1px solid #dbe7ee;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 8px 24px rgba(0, 80, 120, 0.06);
}

.kit-search__filters-title {
    padding: 15px 16px 11px;
    border-bottom: 1px solid #e8eef2;
    color: #26333a;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.kit-search__filter-list {
    padding: 8px;
}

.kit-search__filter-option {
    appearance: none;
    -webkit-appearance: none;
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0;
    padding: 10px 11px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #2c2c2c;
    font: inherit;
    font-size: 13px;
    line-height: 1.25;
    text-align: left;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.kit-search__filter-option:hover {
    background: #eef8fd;
    color: #007bb5;
}

.kit-search__filter-option--active {
    background: #e7f5fc !important;
    color: #007bb5 !important;
    font-weight: 800;
    box-shadow: inset 3px 0 0 #009ee0;
}

.kit-search__filter-option--parent {
    margin-top: 4px;
    font-weight: 700;
}

.kit-search__filter-option--child {
    padding-left: 27px;
    color: #5d6971;
    font-size: 12.5px;
}

.kit-search__filter-option--child > span:first-child::before {
    content: "↳";
    margin-right: 7px;
    color: #9ab6c4;
}

.kit-search__filter-count {
    flex: 0 0 auto;
    min-width: 26px;
    padding: 2px 6px;
    border-radius: 999px;
    background: #eef2f5;
    color: #667681;
    font-size: 11px;
    font-weight: 700;
    text-align: center;
}

.kit-search__filter-option--active .kit-search__filter-count,
.kit-search__filter-option:hover .kit-search__filter-count {
    background: #d7edf8;
    color: #007bb5;
}

.kit-search__results-main {
    min-width: 0;
}

.kit-search__mobile-filter-toggle {
    display: none;
    width: 100%;
    margin: 0 0 12px;
    padding: 11px 14px;
    border: 1px solid #bcddec;
    border-radius: 11px;
    background: #eef8fd;
    color: #007bb5;
    font-weight: 800;
    cursor: pointer;
}

@media (max-width: 800px) {
    .kit-search .kit-search__controls {
        grid-template-columns: minmax(0, 1fr) auto !important;
    }

    .kit-search__mobile-filter-toggle {
        display: block;
    }

    .kit-search__results-layout {
        display: block;
    }

    .kit-search__filters {
        position: static;
        display: none;
        margin-bottom: 14px;
    }

    .kit-search__filters--mobile-open {
        display: block;
    }
}

@media (max-width: 560px) {
    .kit-search .kit-search__controls {
        grid-template-columns: 1fr !important;
    }

    .kit-search .kit-search__button {
        width: 100%;
    }
}


/* v1.0.2 – Checkbox-Filter und viewportfeste Suchlupe. */
.kit-search__filter-list {
    padding: 8px;
}
.kit-search__filter-check {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    width: 100%;
    margin: 0;
    padding: 9px 10px;
    border-radius: 10px;
    color: #2c2c2c;
    cursor: pointer;
    user-select: none;
    transition: background .15s ease, color .15s ease;
}
.kit-search__filter-check:hover { background: #eef8fd; color: #007bb5; }
.kit-search__filter-check input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.kit-search__filter-box {
    position: relative;
    display: block;
    width: 18px;
    height: 18px;
    border: 1.5px solid #9bbccc;
    border-radius: 5px;
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.7);
}
.kit-search__filter-check input:checked + .kit-search__filter-box {
    border-color: #009ee0;
    background: #009ee0;
}
.kit-search__filter-check input:checked + .kit-search__filter-box::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 2px;
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.kit-search__filter-check input:indeterminate + .kit-search__filter-box {
    border-color: #009ee0;
    background: #e7f5fc;
}
.kit-search__filter-check input:indeterminate + .kit-search__filter-box::after {
    content: "";
    position: absolute;
    left: 4px;
    right: 4px;
    top: 7px;
    height: 2px;
    border-radius: 2px;
    background: #009ee0;
}
.kit-search__filter-check--master {
    margin-bottom: 5px;
    border-bottom: 1px solid #e8eef2;
    border-radius: 10px 10px 4px 4px;
    font-weight: 800;
}
.kit-search__filter-check--parent { margin-top: 4px; font-weight: 700; }
.kit-search__filter-check--child { padding-left: 28px; color: #5d6971; font-size: 12.5px; }
.kit-search__filter-name { min-width: 0; }

/* Die Suchanimation bleibt immer im aktuellen sichtbaren Viewport. */
.kit-search--loading .kit-search__loading-visual {
    position: fixed !important;
    z-index: 2147482500 !important;
    inset: auto !important;
    left: 50% !important;
    top: 50% !important;
    width: auto !important;
    max-width: calc(100vw - 30px) !important;
    height: auto !important;
    transform: translate(-50%, -50%) !important;
    padding: 18px !important;
    border-radius: 18px;
    background: rgba(255,255,255,.84);
    box-shadow: 0 18px 60px rgba(20,38,50,.18);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}
@media (max-width: 700px) {
    .kit-search--loading .kit-search__loading-visual {
        left: 50% !important;
        top: 48% !important;
        gap: 12px !important;
        max-width: calc(100vw - 20px) !important;
    }
}

/* =========================================================
 * v1.0.3 – Hauptbereiche horizontal direkt unter der Suche
 * ========================================================= */

/* Alte Bereichsauswahl in jedem Browser zwingend ausblenden. */
.kit-search .kit-search__area-menu,
.kit-search .kit-search__area-trigger,
.kit-search .kit-search__area-dropdown,
.kit-search [data-kit-area-menu],
.kit-search [data-kit-area-trigger],
.kit-search [data-kit-area-dropdown],
.kit-search .kit-search__filters,
.kit-search .kit-search__mobile-filter-toggle,
.kit-search .kit-search__results-layout > aside {
    display: none !important;
}

/* Suchmodul an der normalen The7-Inhaltsbreite ausrichten. */
.kit-search {
    width: calc(100% - 32px) !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.kit-search .kit-search__controls {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 150px !important;
    gap: 12px !important;
    align-items: stretch !important;
}

.kit-search__main-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px 18px;
    margin-top: 13px;
    padding: 11px 13px;
    border: 1px solid #dbe7ee;
    border-radius: 12px;
    background: rgba(255,255,255,.86);
}

.kit-search__main-filter {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #26333a;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    user-select: none;
}

.kit-search__main-filter input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.kit-search__main-filter-box {
    position: relative;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    border: 2px solid #8abed5;
    border-radius: 5px;
    background: #fff;
    transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.kit-search__main-filter:hover .kit-search__main-filter-box {
    border-color: #009ee0;
    box-shadow: 0 0 0 3px rgba(0,158,224,.10);
}

.kit-search__main-filter input:checked + .kit-search__main-filter-box {
    border-color: #009ee0;
    background: #009ee0;
}

.kit-search__main-filter input:checked + .kit-search__main-filter-box::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 1px;
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.kit-search__results-main {
    width: 100% !important;
    min-width: 0;
}

@media (max-width: 700px) {
    .kit-search {
        width: calc(100% - 18px) !important;
    }
    .kit-search .kit-search__controls {
        grid-template-columns: 1fr !important;
    }
    .kit-search .kit-search__button {
        width: 100% !important;
    }
    .kit-search__main-filters {
        gap: 10px 14px;
    }
}

/* =========================================================
 * v1.0.4 – Suchfeld + Button + Hauptbereichs-Checkboxen
 * gemeinsam horizontal zentrieren
 * ========================================================= */
.kit-search .kit-search__controls,
.kit-search .kit-search__main-filters {
    width: min(100%, 980px) !important;
    max-width: 980px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

.kit-search .kit-search__main-filters {
    justify-content: center !important;
    margin-top: 13px !important;
}

@media (max-width: 1100px) {
    .kit-search .kit-search__controls,
    .kit-search .kit-search__main-filters {
        width: calc(100% - 32px) !important;
    }
}

@media (max-width: 700px) {
    .kit-search .kit-search__controls,
    .kit-search .kit-search__main-filters {
        width: 100% !important;
    }

    .kit-search .kit-search__main-filters {
        justify-content: flex-start !important;
    }
}

/* =========================================================
 * v1.0.6 – Suchlupe: erst deutlich bewegen, kurz stoppen,
 * danach vergroessern und bis zum Ende der Suche halten.
 * ========================================================= */
.kit-search .kit-search__loading-lens {
    animation: kit-search-lens-weave-sequence 2.8s ease-out forwards !important;
}

@keyframes kit-search-lens-weave-sequence {
    0% {
        background-size: 560%;
        background-position: 82% 72%;
    }
    35% {
        background-size: 560%;
        background-position: 58% 48%;
    }
    48% {
        background-size: 560%;
        background-position: 58% 48%;
    }
    100% {
        background-size: 1120%;
        background-position: 58% 48%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .kit-search .kit-search__loading-lens {
        animation: none !important;
        background-size: 720% !important;
        background-position: 70% 55% !important;
    }
}

/* =========================================================
 * v1.0.7 – Suchanimation ruhiger und sichtbar:
 * 12-Sekunden-Sequenz, Bewegung zuerst, kurze Pause,
 * danach deutliche Vergroesserung. Formular bleibt lesbar.
 * ========================================================= */
.kit-search--loading .kit-search__heading,
.kit-search--loading .kit-search__label,
.kit-search--loading .kit-search__controls,
.kit-search--loading .kit-search__main-filters,
.kit-search--loading .kit-search__status {
    opacity: .68 !important;
}

.kit-search .kit-search__loading-visual {
    opacity: 0;
}
.kit-search--loading .kit-search__loading-visual {
    opacity: 1 !important;
}

.kit-search .kit-search__loading-lens {
    animation: kit-search-lens-weave-sequence-v107 12s linear forwards !important;
    background-size: 520%;
    background-position: 84% 72%;
}

@keyframes kit-search-lens-weave-sequence-v107 {
    0% {
        background-size: 520%;
        background-position: 84% 72%;
    }
    14% {
        background-size: 520%;
        background-position: 58% 48%;
    }
    20% {
        background-size: 520%;
        background-position: 58% 48%;
    }
    82% {
        background-size: 1040%;
        background-position: 58% 48%;
    }
    100% {
        background-size: 1040%;
        background-position: 58% 48%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .kit-search .kit-search__loading-lens {
        animation: none !important;
        background-size: 700% !important;
        background-position: 65% 52% !important;
    }
}

/* =========================================================
 * v1.0.8 – Header-Suche wie Hauptsuche + klare Ladeanimation
 * ========================================================= */

/* Header-Suche: gelbe Inline-Ergaenzung direkt hinter dem Cursor. */
.kit-global-search__ghost {
    position: absolute;
    z-index: 2147483647;
    display: inline-block;
    pointer-events: none;
    white-space: pre;
    padding: 0 3px;
    border-radius: 4px;
    background: #fff2a8;
    color: #5e6670;
    box-shadow: 0 1px 2px rgba(0,0,0,.06);
}
.kit-global-search__ghost[hidden] { display: none !important; }

/* Waehrend der Suche nichts unterhalb transparent machen. */
.kit-search--loading .kit-search__results,
.kit-search--loading .kit-search__heading,
.kit-search--loading .kit-search__label,
.kit-search--loading .kit-search__controls,
.kit-search--loading .kit-search__main-filters,
.kit-search--loading .kit-search__status {
    opacity: 1 !important;
}

/* Das Lupenfenster ist bewusst deckend, auch wenn schon Ergebnisse sichtbar sind. */
.kit-search--loading .kit-search__loading-visual {
    background: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: 1px solid #dce7ed !important;
    box-shadow: 0 18px 60px rgba(20,38,50,.24) !important;
}
.kit-search .kit-search__loading-copy {
    background: #ffffff !important;
}

/* Deutlich sichtbare 12-Sekunden-Sequenz:
   1) Gewebe wandert klar durch die Lupe,
   2) kurze Pause,
   3) starke Vergroesserung,
   4) leichte Weiterfahrt bis zum Ende. */
.kit-search .kit-search__loading-lens {
    animation: kit-search-lens-weave-sequence-v108 12s linear forwards !important;
    background-size: 330% !important;
    background-position: 92% 82% !important;
}

@keyframes kit-search-lens-weave-sequence-v108 {
    0% {
        background-size: 330%;
        background-position: 92% 82%;
    }
    28% {
        background-size: 330%;
        background-position: 20% 22%;
    }
    36% {
        background-size: 330%;
        background-position: 20% 22%;
    }
    78% {
        background-size: 760%;
        background-position: 42% 40%;
    }
    100% {
        background-size: 820%;
        background-position: 50% 46%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .kit-search .kit-search__loading-lens {
        animation: none !important;
        background-size: 600% !important;
        background-position: 50% 45% !important;
    }
}


/* =========================================================
 * v1.0.9 – Header-Vorschlaege browserstabil + deckende,
 * deutlich sichtbare Suchanimation.
 * ========================================================= */
body > .kit-global-search__suggestions--portal,
body > .kit-global-search__suggestions--portal:not([hidden]) {
    position: fixed !important;
    margin: 0 !important;
    transform: none !important;
    overflow: visible !important;
    background: #fff !important;
    border: 1px solid rgba(0,157,224,.32) !important;
    border-radius: 12px !important;
    box-shadow: 0 14px 34px rgba(20,38,50,.20) !important;
    z-index: 2147483647 !important;
}
body > .kit-global-search__suggestions--portal[hidden] { display:none !important; }

/* Ladefenster komplett deckend: keine Ergebnisse oder Seitenhintergruende scheinen durch. */
.kit-search--loading .kit-search__loading-visual {
    background: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
.kit-search .kit-search__loading-copy {
    background: #ffffff !important;
    opacity: 1 !important;
}

/* Die Linse selbst bleibt ruhig; das Gewebe darin faehrt klar sichtbar,
   stoppt kurz, zoomt stark und faehrt danach weiter. */
.kit-search .kit-search__loading-lens {
    width: 128px !important;
    height: 128px !important;
    flex-basis: 128px !important;
    background-size: 220% !important;
    background-position: 95% 85% !important;
    animation: kit-search-lens-motion-v109 12s linear forwards !important;
}

@keyframes kit-search-lens-motion-v109 {
    0%   { background-size: 220%; background-position: 95% 85%; }
    26%  { background-size: 220%; background-position: 8% 18%; }
    34%  { background-size: 220%; background-position: 8% 18%; }
    72%  { background-size: 520%; background-position: 42% 38%; }
    100% { background-size: 620%; background-position: 58% 50%; }
}

@media (prefers-reduced-motion: reduce) {
    .kit-search .kit-search__loading-lens {
        animation: none !important;
        background-size: 360% !important;
        background-position: 50% 45% !important;
    }
}


/* =========================================================
 * v1.0.10 – Firefox Vorschlaege + browsergleiche Controls
 * ========================================================= */
.kit-global-search__suggestion--selected {
    background: #eef8fd !important;
}

.kit-firefox-suggestions {
    position: fixed !important;
    z-index: 2147483647 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    border: 1px solid rgba(0,157,224,.32) !important;
    border-radius: 12px !important;
    box-shadow: 0 14px 34px rgba(20,38,50,.20) !important;
    overflow: visible !important;
    max-height: none !important;
    font-family: Arial, sans-serif !important;
}
.kit-firefox-suggestions[hidden] { display:none !important; }
.kit-firefox-suggestion {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid #e8eef2 !important;
    background: #fff !important;
    color: #1f3340 !important;
    font: 13px/1.25 Arial, sans-serif !important;
    text-align: left !important;
    cursor: pointer !important;
}
.kit-firefox-suggestion:last-child { border-bottom: 0 !important; }
.kit-firefox-suggestion:hover,
.kit-firefox-suggestion.is-selected { background:#eef8fd !important; }
.kit-firefox-suggestion strong { font-size:13px !important; font-weight:700 !important; color:#1f3340 !important; }
.kit-firefox-suggestion span { font-size:12px !important; color:#6f7a83 !important; }

/* Firefox/Safari Form-Control-Metriken vereinheitlichen. */
.kit-search__input,
.kit-search__button,
.kit-global-search__input,
.kit-global-search__submit,
.kit-global-search__toggle {
    font-family: Arial, sans-serif !important;
    box-sizing: border-box !important;
}
.kit-search__input { font-size:16px !important; line-height:1.25 !important; }
.kit-search__button { font-size:14px !important; line-height:1.2 !important; }
.kit-search__main-filter { font-size:13px !important; line-height:1.2 !important; }

/* =========================================================
 * v1.0.11 – deutlichere Suchanimation + dynamische KIT-Ausrichtung
 * ========================================================= */
.kit-search .kit-search__loading-lens {
    width: 138px !important;
    height: 138px !important;
    flex-basis: 138px !important;
    background-size: 175% !important;
    background-position: 100% 90% !important;
    animation: kit-search-lens-motion-v1011 12s linear infinite !important;
}

@keyframes kit-search-lens-motion-v1011 {
    0%   { background-size: 175%; background-position: 100% 90%; }
    24%  { background-size: 175%; background-position: 0% 8%; }
    34%  { background-size: 175%; background-position: 0% 8%; }
    70%  { background-size: 520%; background-position: 42% 38%; }
    100% { background-size: 520%; background-position: 100% 68%; }
}

/* Der gesamte Suchblock darf fuer die Logo-Flucht breiter als das alte 1200px-Limit werden. */
.kit-search.kit-search--logo-aligned {
    max-width: none !important;
    margin-right: 0 !important;
}

/* =========================================================
 * v1.0.13 – klare Lupenbewegung + keine Vorschlaege waehrend Suche
 * ========================================================= */
.kit-search--loading .kit-search__loading-visual {
    opacity: 1 !important;
    visibility: visible !important;
    background: #fff !important;
}
.kit-search--loading .kit-search__loading-lens {
    animation: kit-search-lens-motion-v113 12s linear infinite !important;
    background-size: 150% !important;
    background-position: 100% 100% !important;
}
@keyframes kit-search-lens-motion-v113 {
    0%   { background-size: 150%; background-position: 100% 100%; }
    30%  { background-size: 150%; background-position: 0% 0%; }
    38%  { background-size: 150%; background-position: 0% 0%; }
    72%  { background-size: 420%; background-position: 50% 50%; }
    100% { background-size: 520%; background-position: 100% 0%; }
}
html.kit-search-request-active .kit-global-search__suggestions,
html.kit-search-request-active .kit-firefox-suggestions,
html.kit-search-request-active .kit-search__suggestions,
html.kit-search-request-active .kit-global-search__ghost,
html.kit-search-request-active .kit-search__suggestion-ghost {
    display: none !important;
}


/* =========================================================
 * v1.0.14 – robuste Ladeanzeige: echtes bewegtes Gewebe
 * ========================================================= */
.kit-search .kit-search__loading-lens {
    position: relative !important;
    overflow: visible !important;
    width: 138px !important;
    height: 138px !important;
    flex: 0 0 138px !important;
    background: #fff !important;
    animation: none !important;
}
.kit-search .kit-search__loading-weave {
    position: absolute;
    inset: 8px;
    border-radius: 50%;
    overflow: hidden;
    display: block;
    z-index: 0;
}
.kit-search .kit-search__loading-weave::before {
    content: "";
    position: absolute;
    width: 260%;
    height: 260%;
    left: -80%;
    top: -80%;
    background-image: url('../images/search-weave.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    transform-origin: 50% 50%;
    will-change: transform;
    animation: none;
}
.kit-search--loading .kit-search__loading-weave::before {
    /* 12 s: deutlich fahren -> kurze Pause -> stark hineinzoomen -> weiterfahren. */
    animation: kit-search-weave-v114 12s linear infinite !important;
}
@keyframes kit-search-weave-v114 {
    0%   { transform: translate3d(-18%, 16%, 0) scale(1.00); }
    28%  { transform: translate3d(18%, -18%, 0) scale(1.00); }
    36%  { transform: translate3d(18%, -18%, 0) scale(1.00); }
    72%  { transform: translate3d(2%, -2%, 0) scale(2.10); }
    100% { transform: translate3d(-16%, 14%, 0) scale(2.35); }
}
/* Die Lupe/der Griff bleiben statisch; nur der Inhalt der Linse bewegt sich. */
.kit-search .kit-search__loading-lens::after {
    z-index: 2;
}
/* Bei dieser bewusst gewaehlten Suchanzeige bleibt die Bewegung aktiv. */
@media (prefers-reduced-motion: reduce) {
    .kit-search--loading .kit-search__loading-weave::before {
        animation: kit-search-weave-v114 12s linear infinite !important;
    }
}


/* =========================================================
 * v1.0.15 – Label an "Suche" ausrichten + schaerferer Gewebebereich
 * ========================================================= */
.kit-search .kit-search__label {
    width: auto !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.kit-search .kit-search__loading-weave::before {
    width: 190% !important;
    height: 190% !important;
    left: -45% !important;
    top: -45% !important;
    background-size: 165% auto !important;
    background-position: 88% 46% !important;
}

.kit-search--loading .kit-search__loading-weave::before {
    animation: kit-search-weave-v115 12s linear 1 forwards !important;
}

@keyframes kit-search-weave-v115 {
    0%   { transform: translate3d(-10%, 10%, 0) scale(1.00); }
    28%  { transform: translate3d(10%, -8%, 0) scale(1.00); }
    36%  { transform: translate3d(10%, -8%, 0) scale(1.00); }
    72%  { transform: translate3d(1%, -1%, 0) scale(1.85); }
    100% { transform: translate3d(-8%, 8%, 0) scale(2.15); }
}

@media (prefers-reduced-motion: reduce) {
    .kit-search--loading .kit-search__loading-weave::before {
        animation: kit-search-weave-v115 12s linear 1 forwards !important;
    }
}

.kit-search__quick-note{font-size:13px;font-weight:700;color:#008fd3;margin-bottom:6px;}

/* =========================================================
 * v1.1.2 – Mobile Hauptbereiche sauber in 2 Spalten ausrichten
 * ========================================================= */
@media (max-width: 700px) {
    .kit-search .kit-search__main-filters {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 18px !important;
        row-gap: 10px !important;
        justify-content: stretch !important;
        align-items: start !important;
    }

    .kit-search .kit-search__main-filter {
        width: 100% !important;
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: 18px minmax(0, 1fr) !important;
        align-items: center !important;
        column-gap: 8px !important;
        margin: 0 !important;
        text-align: left !important;
    }

    .kit-search .kit-search__main-filter-box {
        margin: 0 !important;
    }
}

@media (max-width: 390px) {
    .kit-search .kit-search__main-filters {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
 * v1.1.6 – Beschriftung "Suchbereich" oberhalb Checkboxen
 * ========================================================= */
.kit-search .kit-search__main-filters-wrap {
    width: min(100%, 980px) !important;
    max-width: 980px !important;
    margin: 13px auto 0 !important;
    box-sizing: border-box !important;
}

.kit-search .kit-search__label--areas {
    display: block !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

.kit-search .kit-search__main-filters-wrap .kit-search__main-filters {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

@media (max-width: 1100px) {
    .kit-search .kit-search__main-filters-wrap {
        width: calc(100% - 32px) !important;
    }
}

@media (max-width: 700px) {
    .kit-search .kit-search__main-filters-wrap {
        width: 100% !important;
    }
}

/* v1.1.7 - SUCHBEREICH linksbuendig mit Suche / SUCHBEGRIFF */
.kit-search .kit-search__main-filters-wrap {
    width: 100% !important;
    max-width: none !important;
    margin: 13px 0 0 !important;
}
.kit-search .kit-search__label--areas {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.kit-search .kit-search__main-filters-wrap .kit-search__main-filters {
    width: min(100%, 980px) !important;
    max-width: 980px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
@media (max-width: 1100px) {
    .kit-search .kit-search__main-filters-wrap {
        width: 100% !important;
    }
    .kit-search .kit-search__main-filters-wrap .kit-search__main-filters {
        width: calc(100% - 32px) !important;
    }
}
@media (max-width: 700px) {
    .kit-search .kit-search__main-filters-wrap .kit-search__main-filters {
        width: 100% !important;
    }
}
