/* FFM Katalogsuche – Jigglee / AMB OMEGA Look */
.ffm-ks{ --ffm-red:#B70000; --ffm-red-h:#FF0000; --ffm-line:#e4e4e4; --ffm-ink:#1a1a1a; --ffm-bg:#F4F4F4;
	position:relative; max-width:760px; margin:0 auto; font-family:"Hanken Grotesk",sans-serif; }
.ffm-ks__box{ position:relative; }
.ffm-ks__input{
	width:100%; box-sizing:border-box; padding:15px 18px; font:inherit; font-size:16px;
	border:1.5px solid var(--ffm-red); border-radius:0; background:#fff; color:#000;
	-webkit-text-fill-color:#000; caret-color:var(--ffm-red); box-shadow:none;
}
.ffm-ks__input:focus{ outline:none; border-color:var(--ffm-red-h); box-shadow:0 0 0 1px var(--ffm-red-h); }
.ffm-ks__input::placeholder{ color:#8a8a8a; -webkit-text-fill-color:#8a8a8a; }

/* Ergebnis-Container (Shortcode = im Fluss, Header = Overlay) */
.ffm-ks-results{ --ffm-red:#B70000; --ffm-line:#e4e4e4; --ffm-ink:#1a1a1a;
	font-family:"Hanken Grotesk",sans-serif; background:#fff; border:1px solid var(--ffm-line);
	border-top:3px solid var(--ffm-red); margin-top:6px; max-height:60vh; overflow:auto; z-index:99999; }
.ffm-ks-results.ffm-ks-overlay{ position:absolute; left:0; right:0; top:100%; margin-top:2px; box-shadow:0 14px 40px rgba(0,0,0,.16); }

.ffm-ks-list{ list-style:none; margin:0; padding:0; }
.ffm-ks-row{ display:flex; align-items:center; gap:14px; padding:12px 16px; border-bottom:1px solid var(--ffm-line); }
.ffm-ks-row:last-child{ border-bottom:none; }
.ffm-ks-row:hover{ background:var(--ffm-bg); }
.ffm-ks-row__info{ flex:1 1 auto; min-width:0; }
.ffm-ks-row__model{ display:block; font-weight:700; font-size:15px; color:var(--ffm-ink); letter-spacing:.2px; word-break:break-word; }
.ffm-ks-row__cat{ display:block; font-size:13px; color:#6b6b6b; margin-top:1px; }
.ffm-ks-row__link{ text-decoration:none; color:var(--ffm-red); }
.ffm-ks-row__link:hover{ text-decoration:underline; }
.ffm-ks-row__details{
	flex:0 0 auto; cursor:pointer; background:#fff; color:var(--ffm-ink); border:1.5px solid var(--ffm-line);
	border-radius:0; padding:8px 14px; font:inherit; font-weight:600; font-size:13px; text-decoration:none; transition:.15s; white-space:nowrap;
}
.ffm-ks-row__details:hover{ border-color:var(--ffm-red); color:var(--ffm-red); }
.ffm-ks-row__add{
	flex:0 0 auto; cursor:pointer; background:var(--ffm-red); color:#fff; border:none; border-radius:0;
	padding:9px 16px; font:inherit; font-weight:700; font-size:13px; letter-spacing:.2px; transition:.15s; white-space:nowrap;
}
.ffm-ks-row__add:hover{ background:var(--ffm-red-h); }
.ffm-ks-row__add.is-loading{ opacity:.6; cursor:wait; }
.ffm-ks-row__add.is-done{ background:#1f8a40; }

.ffm-ks-empty{ padding:16px; color:#6b6b6b; font-size:14px; }

/* Katalog-Block auf der nativen Suchergebnis-Seite */
.ffm-ks-searchpage{ --ffm-red:#B70000; --ffm-red-h:#FF0000; --ffm-line:#e4e4e4; --ffm-ink:#1a1a1a; --ffm-bg:#F4F4F4;
	font-family:"Hanken Grotesk",sans-serif; padding:40px 20px; }
.ffm-ks-searchpage__inner{ max-width:980px; margin:0 auto; }
.ffm-ks-searchpage__title{ font-size:26px; font-weight:700; color:var(--ffm-ink); margin:0 0 6px;
	padding-bottom:14px; border-bottom:3px solid var(--ffm-red); display:flex; align-items:center; gap:12px; }
.ffm-ks-searchpage__count{ font-size:14px; font-weight:700; color:#fff; background:var(--ffm-red); padding:3px 12px; }
.ffm-ks-searchpage__intro{ font-size:14px; color:#6b6b6b; margin:12px 0 18px; }
.ffm-ks-searchpage__list{ background:#fff; border:1px solid var(--ffm-line); }
.ffm-ks-searchpage__more{ font-size:13px; color:#6b6b6b; margin:14px 0 0; }
/* In den grauen 40%-Container links eingebettet: fuellt die Spalte, nutzt deren Padding. */
.ffm-ks-searchpage--incolumn{ padding:0; }
.ffm-ks-searchpage--incolumn .ffm-ks-searchpage__inner{ max-width:none; margin:0; }
.ffm-ks-searchpage--incolumn .ffm-ks-searchpage__intro{ margin-top:0; }

/* =====================================================================
   Unified Suche v1.5.2 – Redesign Hero + Katalogliste (Design: Fable 5)
   Alle Ergebnisseiten-Regeln sind unter .ffm-ks-searchpage gescopt, damit
   die kompakten Dropdown-Zeilen (.ffm-ks-results .ffm-ks-row) unberuehrt
   bleiben. Quadratische Ecken, Hanken Grotesk, Marken-Rot #B70000/#FF0000.
   ===================================================================== */

/* Kleine Produkt-Vorschau in kompakten Zeilen (Dropdown). */
.ffm-ks-row__thumb{ flex:0 0 auto; width:34px; height:34px; object-fit:contain; background:#fff;
	border:1px solid var(--ffm-line,#e4e4e4); }

/* Gruppen-Label im Dropdown. */
.ffm-ks-group__label{ list-style:none; font-size:11px; font-weight:700; letter-spacing:.8px;
	text-transform:uppercase; color:#8a8a8a; background:var(--ffm-bg,#F4F4F4);
	padding:8px 16px; border-bottom:1px solid var(--ffm-line,#e4e4e4); }
/* Hervorgehobene Hero-Zeile im Dropdown. */
.ffm-ks-row--hero{ border-left:4px solid var(--ffm-red,#B70000); background:#fff; }
.ffm-ks-row--hero .ffm-ks-row__model{ font-size:16px; }

/* --- Ergebnisseite: Unified-Container --- */
.ffm-ks-searchpage--unified{ background:var(--ffm-bg,#F4F4F4); }
.ffm-ks-searchpage--unified .ffm-ks-searchpage__inner{ max-width:1180px; }

/* Abschnitt-Abstaende. */
.ffm-ks-section{ margin:0 0 40px; }
.ffm-ks-section:last-child{ margin-bottom:0; }

/* Quadratische Ecken fuer alle Plugin-Elemente auf der Ergebnisseite. */
.ffm-ks-searchpage *, .ffm-ks-searchpage *::before, .ffm-ks-searchpage *::after{ border-radius:0; }

/* ---------- Section-Titel (Kicker-Stil) + Count-Badge ---------- */
.ffm-ks-searchpage .ffm-ks-section__title{
	display:flex; align-items:center; gap:10px; margin:0 0 14px; padding-bottom:0; border-bottom:none;
	font-size:14px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#1a1a1a;
}
.ffm-ks-searchpage .ffm-ks-section__title::before{
	content:""; width:22px; height:3px; background:var(--ffm-red,#B70000); flex:none;
}
.ffm-ks-searchpage .ffm-ks-section__count{
	background:var(--ffm-red,#B70000); color:#fff; font-size:11px; font-weight:800; letter-spacing:.04em;
	line-height:1; padding:4px 8px; min-width:16px; text-align:center;
}

/* ================================================================
   SECTION A — HERO "Ihr gesuchtes Produkt"
   ================================================================ */
.ffm-ks-searchpage .ffm-ks-hero{
	position:relative; display:flex; gap:36px; background:#fff;
	border:1px solid var(--ffm-line,#e4e4e4); border-top:3px solid var(--ffm-red,#B70000);
	padding:52px 36px 32px 32px;
}

/* Exakter-Treffer-Fahne (neues Element .ffm-ks-hero__flag). */
.ffm-ks-searchpage .ffm-ks-hero__flag{
	position:absolute; top:-3px; left:-1px; display:inline-flex; align-items:center; gap:8px;
	background:var(--ffm-red,#B70000); color:#fff; font-size:11px; font-weight:800; letter-spacing:.16em;
	text-transform:uppercase; line-height:1; padding:8px 16px 8px 12px;
}
.ffm-ks-searchpage .ffm-ks-hero__flag::before{
	content:""; width:6px; height:6px; background:#fff; flex:none;
}

/* Bild-Spalte mit technischen Eck-Winkeln. */
.ffm-ks-searchpage .ffm-ks-hero__img{
	position:relative; flex:0 0 300px; align-self:flex-start;
	border:1px solid var(--ffm-line,#e4e4e4); background:#fff; padding:22px;
}
.ffm-ks-searchpage .ffm-ks-hero__img::before,
.ffm-ks-searchpage .ffm-ks-hero__img::after{
	content:""; position:absolute; width:16px; height:16px; pointer-events:none;
}
.ffm-ks-searchpage .ffm-ks-hero__img::before{
	top:-1px; left:-1px; border-top:2px solid var(--ffm-red,#B70000); border-left:2px solid var(--ffm-red,#B70000);
}
.ffm-ks-searchpage .ffm-ks-hero__img::after{
	bottom:-1px; right:-1px; border-bottom:2px solid var(--ffm-red,#B70000); border-right:2px solid var(--ffm-red,#B70000);
}
.ffm-ks-searchpage .ffm-ks-hero__img img{
	display:block; width:100%; aspect-ratio:4 / 3; object-fit:contain; background:#fff;
}

/* Body: Kategorie wird via order:-1 zur Eyebrow (kein Markup-Umbau). */
.ffm-ks-searchpage .ffm-ks-hero__body{
	display:flex; flex-direction:column; align-items:flex-start; min-width:0; flex:1 1 auto;
}
.ffm-ks-searchpage .ffm-ks-hero__cat{
	order:-1; margin:0 0 10px; font-size:12px; font-weight:700; letter-spacing:.16em;
	text-transform:uppercase; color:#6b6b6b;
}
.ffm-ks-searchpage .ffm-ks-hero__model{
	display:inline-block; margin:0; font-size:clamp(23px, 2.6vw, 30px); font-weight:800;
	line-height:1.1; letter-spacing:-0.01em; color:#1a1a1a; text-decoration:none; overflow-wrap:anywhere;
}
.ffm-ks-searchpage a.ffm-ks-hero__model:hover{ color:var(--ffm-red,#B70000); }
.ffm-ks-searchpage a.ffm-ks-hero__model::after{
	content:""; display:block; width:44px; height:3px; margin-top:10px; background:var(--ffm-red,#B70000);
	transition:width .18s ease, background .18s ease;
}
.ffm-ks-searchpage a.ffm-ks-hero__model:hover::after{ width:72px; background:var(--ffm-red-h,#FF0000); }
.ffm-ks-searchpage .ffm-ks-hero__title{
	margin:12px 0 0; font-size:15px; font-weight:500; line-height:1.5; color:#6b6b6b; max-width:52ch;
}

/* Auf-Anfrage-Badge. */
.ffm-ks-searchpage .ffm-ks-hero__onrequest{
	display:inline-flex; align-items:center; gap:8px; margin-top:16px;
	border:1px solid var(--ffm-red,#B70000); color:var(--ffm-red,#B70000); font-size:11px; font-weight:800;
	letter-spacing:.12em; text-transform:uppercase; line-height:1; padding:7px 12px;
}
.ffm-ks-searchpage .ffm-ks-hero__onrequest::before{
	content:""; width:6px; height:6px; background:var(--ffm-red,#B70000); flex:none;
}

/* Aktionen. */
.ffm-ks-searchpage .ffm-ks-hero__actions{ display:flex; gap:12px; margin-top:28px; flex-wrap:wrap; }
.ffm-ks-searchpage .ffm-ks-hero__actions .ffm-ks-row__details,
.ffm-ks-searchpage .ffm-ks-hero__actions .ffm-ks-row__add{
	font-family:inherit; font-size:13px; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
	line-height:1; padding:15px 28px; cursor:pointer; text-decoration:none;
	transition:background-color .15s ease, color .15s ease, border-color .15s ease;
}
.ffm-ks-searchpage .ffm-ks-hero__actions .ffm-ks-row__details{
	color:#1a1a1a; background:#fff; border:2px solid #1a1a1a;
}
.ffm-ks-searchpage .ffm-ks-hero__actions .ffm-ks-row__details:hover{ background:#1a1a1a; color:#fff; }
.ffm-ks-searchpage .ffm-ks-hero__actions .ffm-ks-row__add{
	color:#fff; background:var(--ffm-red,#B70000); border:2px solid var(--ffm-red,#B70000);
}
.ffm-ks-searchpage .ffm-ks-hero__actions .ffm-ks-row__add:hover{
	background:var(--ffm-red-h,#FF0000); border-color:var(--ffm-red-h,#FF0000);
}

/* Auf-Anfrage-Zustand: kein Bild, Modell kein Link. */
.ffm-ks-searchpage .ffm-ks-hero--catalog{ padding-left:36px; }
.ffm-ks-searchpage .ffm-ks-hero--catalog .ffm-ks-hero__model{ color:#1a1a1a; cursor:default; }

/* Fokus-Sichtbarkeit (gesamtes Plugin auf der Ergebnisseite). */
.ffm-ks-searchpage a:focus-visible,
.ffm-ks-searchpage button:focus-visible{ outline:2px solid var(--ffm-red,#B70000); outline-offset:2px; }

/* ================================================================
   SECTION B — Sidebar-Katalogliste "Weitere Modelle aus dem Katalog"
   ================================================================ */
.ffm-ks-searchpage .ffm-ks-searchpage__intro{
	margin:0 0 16px; font-size:12.5px; font-weight:500; line-height:1.55; color:#6b6b6b;
}
.ffm-ks-searchpage .ffm-ks-searchpage__list{ background:transparent; border:none; }
.ffm-ks-searchpage .ffm-ks-list{
	list-style:none; margin:0; padding:0; counter-reset:ks-row;
	display:flex; flex-direction:column; gap:8px;
}
.ffm-ks-searchpage .ffm-ks-row{
	position:relative; display:flex; align-items:center; gap:10px; background:#fff;
	border:1px solid var(--ffm-line,#e4e4e4); border-left:3px solid var(--ffm-line,#e4e4e4);
	padding:10px 12px 10px 11px; transition:border-color .15s ease;
}
.ffm-ks-searchpage .ffm-ks-row:hover{ border-color:var(--ffm-red,#B70000); background:#fff; }
/* Technische Index-Nummer per CSS-Counter. */
.ffm-ks-searchpage .ffm-ks-row::before{
	counter-increment:ks-row; content:counter(ks-row, decimal-leading-zero);
	position:absolute; top:6px; right:8px; font-size:9px; font-weight:700; letter-spacing:.08em; color:#cfcfcf;
}
.ffm-ks-searchpage .ffm-ks-row__thumb{
	flex:none; width:34px; height:34px; object-fit:contain;
	border:1px solid var(--ffm-line,#e4e4e4); background:#ececec;
}
.ffm-ks-searchpage .ffm-ks-row__info{
	display:flex; flex-direction:column; gap:5px; min-width:0; flex:1 1 auto;
}
.ffm-ks-searchpage .ffm-ks-row__model{
	font-size:13px; font-weight:700; letter-spacing:.01em; line-height:1.25; color:#1a1a1a; overflow-wrap:anywhere;
}
.ffm-ks-searchpage .ffm-ks-row:hover .ffm-ks-row__model{ color:var(--ffm-red,#B70000); }
.ffm-ks-searchpage .ffm-ks-row__cat{
	align-self:flex-start; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
	color:#6b6b6b; background:var(--ffm-bg,#F4F4F4); padding:3px 7px; margin-top:0;
}
.ffm-ks-searchpage .ffm-ks-row .ffm-ks-row__add{
	flex:none; align-self:center; font-family:inherit; font-size:10px; font-weight:800; letter-spacing:.08em;
	text-transform:uppercase; line-height:1; color:var(--ffm-red,#B70000); background:#fff;
	border:1px solid var(--ffm-red,#B70000); padding:8px 10px; cursor:pointer; white-space:nowrap;
	transition:background-color .15s ease, color .15s ease, border-color .15s ease;
}
.ffm-ks-searchpage .ffm-ks-row .ffm-ks-row__add:hover{ background:var(--ffm-red,#B70000); color:#fff; }
.ffm-ks-searchpage .ffm-ks-row .ffm-ks-row__add:active{
	background:var(--ffm-red-h,#FF0000); border-color:var(--ffm-red-h,#FF0000); color:#fff;
}
.ffm-ks-searchpage .ffm-ks-searchpage__more{ font-size:12px; color:#6b6b6b; margin:14px 0 0; }

/* "Weitere Produkte": Karten-Grid (Dropdown-/Card-Pfad, unveraendert). */
.ffm-ks-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:18px; }
.ffm-ks-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--ffm-line,#e4e4e4); transition:.15s; }
.ffm-ks-card:hover{ border-color:var(--ffm-red,#B70000); transform:translateY(-2px); box-shadow:0 8px 22px rgba(0,0,0,.08); }
.ffm-ks-card__imgwrap{ display:flex; align-items:center; justify-content:center; aspect-ratio:1/1; background:#fff; border-bottom:1px solid var(--ffm-line,#e4e4e4); padding:14px; box-sizing:border-box; }
.ffm-ks-card__img{ max-width:100%; max-height:100%; object-fit:contain; }
.ffm-ks-card__img--empty{ width:100%; height:100%; background:var(--ffm-bg,#F4F4F4); }
.ffm-ks-card__body{ display:flex; flex-direction:column; gap:6px; padding:14px 16px; flex:1 1 auto; }
.ffm-ks-card__model{ font-size:14px; font-weight:700; color:var(--ffm-ink,#1a1a1a); text-decoration:none; word-break:break-word; }
a.ffm-ks-card__model:hover{ color:var(--ffm-red,#B70000); }
.ffm-ks-card__title{ font-size:13px; color:#555; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ffm-ks-card__foot{ display:flex; align-items:center; gap:10px; margin-top:auto; padding-top:10px; }

/* Hinweis: Die nativen Produkt-Ergebnisse rendert die Elementor-Vorlage #338
   (Loop-Grid + Filter). Wir blenden sie NICHT aus – wir ergänzen nur Hero (oben)
   und Katalog-Liste (unten). Daher hier keine Suppression-Regeln mehr. */

/* Randfall: exakter Treffer wird server-seitig aus dem #338-Grid ausgeschlossen
   (post__not_in) und oben als Hero gezeigt. Bleibt das Grid dadurch leer, blendet
   das JS die native Ergebnis-Zeile kosmetisch aus (kein leerer Bereich). */
.ffm-ks-hide-empty-row{ display:none !important; }

/* Mobil. */
@media (max-width:640px){
	.ffm-ks-searchpage{ padding:24px 14px; }
	.ffm-ks-section{ margin-bottom:28px; }
	.ffm-ks-grid{ grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px; }
	.ffm-ks-row__add,.ffm-ks-row__details{ min-height:40px; display:inline-flex; align-items:center; }
	/* Hero stapelt vertikal. */
	.ffm-ks-searchpage .ffm-ks-hero{ flex-direction:column; gap:24px; padding:52px 20px 24px; }
	.ffm-ks-searchpage .ffm-ks-hero__img{ flex-basis:auto; width:100%; max-width:340px; }
	.ffm-ks-searchpage .ffm-ks-hero__actions{ width:100%; flex-direction:column; }
	.ffm-ks-searchpage .ffm-ks-hero__actions .ffm-ks-row__details,
	.ffm-ks-searchpage .ffm-ks-hero__actions .ffm-ks-row__add{ text-align:center; }
}

/* Toast */
.ffm-ks-toast{
	position:fixed; left:50%; bottom:26px; transform:translate(-50%,18px);
	background:#1a1a1a; color:#fff; font-family:"Hanken Grotesk",sans-serif; font-size:14px;
	padding:13px 20px; border-left:4px solid var(--ffm-red,#B70000); box-shadow:0 12px 32px rgba(0,0,0,.28);
	opacity:0; visibility:hidden; transition:.22s; z-index:100000; max-width:92vw;
}
.ffm-ks-toast.is-on{ opacity:1; visibility:visible; transform:translate(-50%,0); }
.ffm-ks-toast.is-error{ border-left-color:#d33; }
.ffm-ks-toast a{ color:#fff; text-decoration:underline; margin-left:8px; }

/* Header-Icons (Container 32ddc37): internes Padding der Icon-Links neutralisieren,
   damit der 15px-Gap des Containers der einzige sichtbare Abstand ist (sonst addiert
   sich pro Widget unterschiedliches Padding -> ungleiche Lücken). */
.elementor-element-32ddc37 .ekit_navsearch-button,
.elementor-element-32ddc37 .elementor-menu-cart__toggle_button{
	padding-left:0 !important; padding-right:0 !important;
}
/* Kontakt-Button optisch ins gleiche Raster bringen. */
.elementor-element-32ddc37 .elementor-element-81005ae .elementor-button{
	padding-left:14px !important; padding-right:14px !important;
}

/* =====================================================================
   Elementor-Mount-Shortcodes (v1.5.0)
   Versteckter Mount-Container bis das JS ihn füllt; ungenutzte Mounts (kein
   Treffer / kein Katalog) bleiben hidden und ihr Shortcode-Widget kollabiert.
   ===================================================================== */
.ffm-ks-mount[hidden]{ display:none !important; }
.elementor-widget-shortcode:has(.ffm-ks-mount[hidden]){ display:none; }
.ffm-ks-mount__editorhint{ padding:14px 18px; border:1px dashed var(--ffm-red,#B70000);
	color:#6b6b6b; font-family:"Hanken Grotesk",sans-serif; font-size:13px; background:#fff; }

/* =====================================================================
   Kategorie-Chips (v1.6.0)
   Klickbare Chips -> echtes product_cat-Archiv. Im Dropdown (.ffm-ks-results)
   und auf der Ergebnisseite (.ffm-ks-searchpage). Quadratische Ecken, Marken-
   Rot, gefüllte Count-Badge wie .ffm-ks-section__count. Nur --ffm-*-Variablen.
   ===================================================================== */
.ffm-ks-chips-wrap{ padding-bottom:6px; border-bottom:1px solid var(--ffm-line,#e4e4e4); }
.ffm-ks-chips{ display:flex; flex-wrap:wrap; gap:8px; padding:10px 16px; }
.ffm-ks-searchpage .ffm-ks-chips{ padding:14px 0 2px; }
.ffm-ks-chip{
	display:inline-flex; align-items:center; gap:8px; text-decoration:none;
	border:1.5px solid var(--ffm-red,#B70000); border-radius:0; background:#fff;
	color:var(--ffm-red,#B70000); font-family:"Hanken Grotesk",sans-serif;
	font-weight:700; font-size:13.5px; line-height:1; padding:9px 12px; transition:.15s;
	/* Theme (ElementsKit) erzwingt -webkit-text-fill-color auf <a> -> Label sonst
	   unsichtbar (v.a. weiß-auf-rot beim Hover). Explizit mitsetzen wie beim Suchfeld.
	   flex:0 0 auto verhindert Voll-Breit-Strecken durch theme a{width:100%}. */
	-webkit-text-fill-color:var(--ffm-red,#B70000);
	flex:0 0 auto; width:auto; max-width:100%; align-self:flex-start;
}
.ffm-ks-chip:hover{ background:var(--ffm-red,#B70000); color:#fff; -webkit-text-fill-color:#fff; }
.ffm-ks-chip__label{ color:inherit; -webkit-text-fill-color:inherit; }
.ffm-ks-chip::after{ content:"\25B8"; font-size:12px; opacity:.75; }
.ffm-ks-chip__n{
	background:var(--ffm-red,#B70000); color:#fff; -webkit-text-fill-color:#fff; font-size:11px; font-weight:800;
	letter-spacing:.02em; padding:2px 7px;
}
.ffm-ks-chip:hover .ffm-ks-chip__n{ background:#fff; color:var(--ffm-red,#B70000); -webkit-text-fill-color:var(--ffm-red,#B70000); }
/* nicht klickbarer "+n weitere"-Zähler. */
.ffm-ks-chip--more{
	border-color:var(--ffm-line,#e4e4e4); color:#6b6b6b; background:var(--ffm-bg,#F4F4F4);
	-webkit-text-fill-color:#6b6b6b; font-weight:700; cursor:default;
}
.ffm-ks-chip--more:hover{ background:var(--ffm-bg,#F4F4F4); color:#6b6b6b; -webkit-text-fill-color:#6b6b6b; }
.ffm-ks-chip--more::after{ content:""; }
@media (max-width:640px){
	.ffm-ks-chip{ min-height:40px; }
}

/* Hero-Suchtitel: Suchbegriff in Zeile 2 (per formatSearchTitle() in JS gesetzt).
   Erbt Farbe/Größe des Headings -> passt auf jeden Hero-Hintergrund; nur als
   eigene Zeile mit kleinem Abstand abgesetzt. */
.elementor-element-c5cef08 .ffm-search-term{
	display:inline-block;
	margin-top:2px;
}
