/* BFV Reviews – Zeile, Siegel (rund, unten rechts), Fenster, Danke-Formular. Farben über Variablen, je Portal anpassbar. */
/* Schrift aller Bausteine: immer Poppins, egal welche Schrift die Webseite nutzt (User 03.11.2026, löst Open Sans ab). Lokal im
   Plugin (keine Google-Abfrage), Schnitte 400–700, nur lateinischer Bereich. */
@font-face { font-family: "BFVR Poppins"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/poppins-latin-400.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "BFVR Poppins"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/poppins-latin-500.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "BFVR Poppins"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/poppins-latin-600.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "BFVR Poppins"; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/poppins-latin-700.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
	--bfvr-akzent: #1f5fbf;
	--bfvr-akzent-text: #ffffff;
	--bfvr-marke: #123d6b;
	--bfvr-stern: #d4ab5c; /* User 03.11.2026: Sterne immer in dieser Farbe (kurz #ffdc0f, zurückgenommen) */
	--bfvr-stern-aus: #d5dae2;
	--bfvr-text: #1d2433;
	--bfvr-leise: #5f6b7d;
	--bfvr-linie: #dfe3ea;
	--bfvr-flaeche: #ffffff;
	--bfvr-lob: #0b6b3a;
	--bfvr-lob-bg: #eef8f2;
	--bfvr-kritik: #9a3b30;
	--bfvr-kritik-bg: #fdf3f1;
}

.bfvr-sterne { position: relative; display: inline-block; text-align: left; line-height: 1; letter-spacing: 0; white-space: nowrap; vertical-align: -.12em; }
.bfvr-sterne-aus, .bfvr-sterne-an { display: inline-flex; gap: .1em; }
.bfvr-sterne svg { width: 1em; height: 1em; flex: none; display: block; }
.bfvr-sterne-aus { color: var(--bfvr-stern-aus); }
.bfvr-sterne-an { position: absolute; inset: 0 auto 0 0; overflow: hidden; color: var(--bfvr-stern); }
.bfvr-sterne.is-klein { font-size: 13px; }
.bfvr-sterne.is-gross { font-size: 22px; }

/* Zeile */
.bfvr-zeile { display: flex; flex-wrap: wrap; align-items: center; gap: 0 10px; color: var(--bfvr-text); }
.bfvr-zeile-knopf { all: unset; cursor: pointer; display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 9px; font-size: 17px; line-height: 1.2; }
/* Eine Höhe für Zahl, Sterne und Text (User 03.11.2026): Sterne so groß, dass sie die Versalhöhe der Schrift treffen. */
.bfvr-zeile-knopf .bfvr-sterne { font-size: 1.12em; line-height: 1; font-weight: 400; vertical-align: 0; margin-right: 4px; }
.bfvr-z-note { font-weight: 700; }
.bfvr-z-urteil { font-weight: 700; color: var(--bfvr-text); }
/* Faktenleiste unter der Zeile (User 03.11.2026) */
.bfvr-fakten { flex-basis: 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 9px; margin-top: 7px; font-size: 14px; line-height: 1.3; color: #000; justify-content: inherit; }
.bfvr-f-item { display: inline-flex; align-items: center; gap: 3px; color: #000 !important; text-decoration: none !important; white-space: nowrap; }
.bfvr-f-item svg { flex: none; }
a.bfvr-f-item:hover span, button.bfvr-f-item:hover span { text-decoration: underline; text-underline-offset: 2px; }
.bfvr-f-trenn { width: 1px; height: 20px; background: #c9ccd2; }
@media (max-width: 600px) { .bfvr-fakten { font-size: 13px; gap: 6px 12px; } .bfvr-f-item { gap: 3px; } .bfvr-f-item svg { width: 16px; height: 16px; } .bfvr-f-trenn { display: none; } }
.bfvr-zeile-knopf:focus-visible span:last-child { text-decoration-color: currentColor; }
.bfvr-zeile-knopf:focus-visible { outline: 2px solid var(--bfvr-akzent); outline-offset: 3px; border-radius: 4px; }
.bfvr-zeile-zusatz, .bfvr-zeile-herkunft { flex-basis: 100%; font-size: 13px; color: var(--bfvr-leise); }

/* Siegel: Karte unten rechts – Note, Sterne, „aus N Bewertungen“ (User 03.11.2026), Ecken 16 px. */
.bfvr-siegel {
	box-sizing: border-box; position: fixed; z-index: 99990; width: auto;
	right: calc(16px + env(safe-area-inset-right, 0px)); bottom: calc(16px + env(safe-area-inset-bottom, 0px));
	background: var(--bfvr-flaeche); border: 2px solid #d4ab5c; border-radius: 16px !important; padding: 7px 12px 8px;
	box-shadow: 0 8px 24px rgba(16, 24, 40, .14); color: var(--bfvr-text); font-family: inherit; text-align: center; line-height: 1.3;
}
.bfvr-s-kopf { all: unset; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; gap: 3px; width: 100%; cursor: pointer; }
.bfvr-s-kopf:focus-visible { outline: 2px solid var(--bfvr-akzent); outline-offset: 3px; border-radius: 6px; }
.bfvr-siegel-note { font-size: 26px; font-weight: 700; line-height: 1; letter-spacing: -.01em; color: var(--bfvr-text); }
.bfvr-s-kopf .bfvr-sterne { font-size: 18px; letter-spacing: 1px; }
.bfvr-siegel-text { font-size: 13px; font-weight: 500; color: #000; line-height: 1.2; }
.bfvr-s-kopf:hover .bfvr-siegel-text { text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 600px) {
	.bfvr-siegel { padding: 6px 10px 7px; right: calc(10px + env(safe-area-inset-right, 0px)); bottom: calc(10px + env(safe-area-inset-bottom, 0px)); }
	.bfvr-siegel-note { font-size: 22px; }
	.bfvr-s-kopf .bfvr-sterne { font-size: 15px; }
	.bfvr-siegel-text { font-size: 12px; }
	}

/* Fenster */
html.bfvr-offen { overflow: hidden; }
.bfvr-fenster { width: 100%; max-width: min(920px, calc(100vw - 24px)); max-height: min(90vh, 900px); margin: auto; padding: 0; border: 0; border-radius: 18px; background: var(--bfvr-flaeche); color: var(--bfvr-text); box-shadow: 0 24px 64px rgba(22, 27, 38, .28); overflow: hidden; }
.bfvr-fenster::backdrop { background: rgba(22, 27, 38, .5); }
.bfvr-fenster * { box-sizing: border-box; }
/* Aufbau wie das PF-Fenster (User 03.11.2026) */
.bfvr-fenster-innen { position: relative; max-height: min(90vh, 900px); overflow-y: auto; overscroll-behavior: contain; display: grid; gap: 18px; padding: 32px 36px 0; font-size: 15px; line-height: 1.55; scrollbar-width: thin; scrollbar-color: #d5d8de transparent; }
.bfvr-zu { all: unset; position: sticky; top: 0; z-index: 3; justify-self: end; margin: -12px -10px -44px 0; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; font-size: 22px; line-height: 1; cursor: pointer; }
.bfvr-zu:hover { color: var(--bfvr-text) !important; background: #eceae6 !important; }
.bfvr-zu:focus-visible { outline: 3px solid var(--bfvr-akzent); outline-offset: 2px; }
html body .bfvr-fenster h2.bfvr-f-titel { margin: 0 !important; padding: 0 44px 0 0 !important; font-size: 20px !important; font-weight: 700 !important; line-height: 1.3 !important; color: var(--bfvr-text) !important; letter-spacing: -.01em; text-transform: none !important; }
html body .bfvr-fenster p.bfvr-f-seit { margin: -10px 0 0 !important; padding-right: 44px; font-size: 13.5px; font-weight: 500; color: #5f6778; }
.bfvr-fenster .bfvr-kopf { display: grid; grid-template-columns: auto 1fr; gap: 16px 40px; align-items: center; padding: 18px; border: 1px solid #e6e8ec; border-radius: 14px; background: #f7f6f4; }
.bfvr-f-note { display: grid; gap: 6px; justify-items: start; }
.bfvr-f-note b { font-size: 64px; font-weight: 700; letter-spacing: -.03em; line-height: 1; }
.bfvr-f-note .bfvr-sterne { font-size: 24px; }
.bfvr-f-note strong { font-size: 17px; font-weight: 600; }
.bfvr-fenster .bfvr-verteilung { max-width: 380px; min-width: 0; gap: 2px; }
.bfvr-fenster .bfvr-vz { grid-template-columns: 26px 1fr 34px; gap: 8px; font-size: 12px; line-height: 1.5; color: #353c4a; }
.bfvr-fenster .bfvr-vz span:last-child { text-align: right; color: #5f6778; }
.bfvr-fenster .bfvr-balken { height: 6px; border-radius: 99px; background: #e6e8ec; }
.bfvr-fenster .bfvr-balken span { border-radius: 99px; }
html body .bfvr-fenster .bfvr-f-klein { margin: 0 !important; font-size: 13px !important; line-height: 1.55 !important; color: #5f6778 !important; }
.bfvr-fenster .bfvr-f-rechts { grid-column: 1 / -1; display: grid; gap: 10px; }
html body .bfvr-fenster p.bfvr-f-empf { margin: 0 !important; display: flex; align-items: center; gap: 0 10px; flex-wrap: wrap; color: var(--bfvr-text); }
html body .bfvr-fenster p.bfvr-f-empf span { line-height: 1.25; }
/* Grüner Haken vor der Weiterempfehlung (User 03.11.2026): SVG im Markup im Grün des Lob-Symbols (#009c4f), Zahl schwarz */
.bfvr-f-empf-ico { flex: none; width: 30px; height: 30px; display: block; }
.bfvr-f-empf b { color: var(--bfvr-text); }
.bfvr-f-empf b { font-size: 34px; font-weight: 700; line-height: 1; letter-spacing: -.02em; }
.bfvr-f-empf span { font-size: 15px; font-weight: 600; }
/* Desktop: Note | Verteilung | Zahlensatz in einer Reihe, damit die Box nicht leer nach rechts läuft */
@media (min-width: 761px) { .bfvr-fenster .bfvr-kopf { grid-template-columns: auto minmax(0, 380px) 1fr; } .bfvr-fenster .bfvr-f-rechts { grid-column: auto; align-self: center; padding-left: 26px; border-left: 1px solid #e6e8ec; } }
html body .bfvr-fenster .bfvr-f-herkunft { font-size: 12.5px !important; color: #7a8190 !important; margin-top: -6px !important; }
html body .bfvr-fenster .bfvr-f-echt h3, html body .bfvr-fenster h3.bfvr-liste-titel { margin: 0 0 6px !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.4 !important; color: var(--bfvr-text) !important; text-transform: none !important; letter-spacing: 0 !important; }
html body .bfvr-fenster h3.bfvr-liste-titel { margin: 4px 0 -6px !important; }
.bfvr-f-links a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.bfvr-f-fuss { display: flex; justify-content: center; position: sticky; bottom: 0; z-index: 2; margin: 0 -36px; padding: 16px 36px 24px; background: var(--bfvr-flaeche); border-top: 1px solid #e6e8ec; }
html body .bfvr-f-fuss a.bfvr-f-cta { display: flex; justify-content: center; align-items: center; gap: 8px; background: var(--bfvr-akzent); color: var(--bfvr-akzent-text) !important; font-size: 16px; font-weight: 600; line-height: 1; padding: 16px 20px; border-radius: 12px; text-decoration: none !important; }
html body .bfvr-f-fuss a.bfvr-f-cta:hover { filter: brightness(.88); }
html body .bfvr-f-fuss button.bfvr-f-schliessen { all: unset; box-sizing: border-box; display: inline-flex !important; align-items: center; gap: 8px; padding: 12px 20px !important; border-radius: 12px !important; background: #ffffff !important; border: 1px solid #cfd3da !important; color: var(--bfvr-text) !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1 !important; cursor: pointer; width: auto !important; }
html body .bfvr-f-fuss button.bfvr-f-schliessen:hover { background: #f7f7f7 !important; border-color: #9aa1ad !important; }
html body .bfvr-f-fuss button.bfvr-f-schliessen:focus-visible { outline: 3px solid var(--bfvr-akzent); outline-offset: 2px; }
.bfvr-f-ende { height: 6px; }
@media (max-width: 560px) { .bfvr-fenster-innen { padding: 22px 18px 0; } .bfvr-fenster .bfvr-kopf { grid-template-columns: 1fr; gap: 14px; padding: 16px; } .bfvr-f-note { grid-template-columns: auto auto; align-items: center; gap: 4px 12px; } .bfvr-f-note b { grid-row: span 2; font-size: 52px; } .bfvr-f-fuss { margin: 0 -18px; padding: 14px 18px 18px; } }
.bfvr-kopf p { margin: 4px 0 0; }
.bfvr-note { margin: 0; font-size: 44px; line-height: 1; font-weight: 700; }
.bfvr-verteilung { display: grid; gap: 4px; flex: 1; min-width: 220px; max-width: 360px; }
.bfvr-vz { display: grid; grid-template-columns: 34px 1fr 40px; gap: 8px; align-items: center; font-size: 13px; font-variant-numeric: tabular-nums; }
.bfvr-balken { height: 8px; border-radius: 4px; background: var(--bfvr-stern-aus); overflow: hidden; }
.bfvr-balken span { display: block; height: 100%; background: var(--bfvr-stern); }
.bfvr-ki { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
/* KI-Zusammenfassung nach Vorlage des Users (03.11.2026, Verlagsseite): helle Karte mit Rand, rundes Symbol, Überschrift in
   Versalien, Stichpunkte als helle Pillen mit Rand, ruhiger Fließtext. */
.bfvr-fac { border-radius: 16px; padding: 24px 25px; border: 1px solid transparent; }
.bfvr-fac.is-lob { background: #eaf7ef29; border-color: #bfe3cd8a; }
.bfvr-fac.is-kritik { background: #fcefec40; border-color: #f1cbc478; }
html body .bfvr-fac h3 { display: flex; align-items: center; gap: 11px; margin: 0 0 16px !important; font-size: 15px !important; font-weight: 700 !important; line-height: 1.3 !important; letter-spacing: .03em !important; text-transform: uppercase !important; color: var(--bfvr-text) !important; }
.bfvr-fac h3::before { content: ""; flex: none; width: 28px; height: 28px; background: center / contain no-repeat; }
.bfvr-fac.is-lob h3::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23009c4f'/%3E%3Cpath d='M7.8 12.2l2.8 2.8 5.6-5.8' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.bfvr-fac.is-kritik h3::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23c9584a'/%3E%3Cpath d='M8.2 12h7.6' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.bfvr-fac p { margin: 16px 0 0; font-size: 15px; line-height: 1.65; color: #4a4f5a; }
.bfvr-fac p.bfvr-chips { margin: 0; }
.bfvr-chips { display: flex; flex-wrap: wrap; gap: 9px 8px; }
.bfvr-chips span { font-size: 12px; padding: 1px 9px; border-radius: 999px; background: var(--bfvr-flaeche); border: 1px solid var(--bfvr-linie); }
.bfvr-fac .bfvr-chips span { display: inline-flex; align-items: center; padding: 8px 15px; font-size: 13.5px; font-weight: 600; line-height: 1.3; letter-spacing: -.005em; border-radius: 18px; max-width: 100%; }
.bfvr-fac.is-lob .bfvr-chips span { background: #d5efdf; border: 1px solid #a9d9bb; color: #0b6b3a; }
.bfvr-fac.is-kritik .bfvr-chips span { background: #f8dcd6; border: 1px solid #eab7ae; color: #9a3b30; }
/* Fenster grau, Bewertungskarten weiß wie auf der Verlagsseite (User 03.11.2026) */
.bfvr-fenster { --bfvr-flaeche: #ffffff; background: #f2f2f2; }
.bfvr-fenster .bfvr-kopf { background: #ffffff; border-color: #e3e3e3; }
.bfvr-f-fuss { background: #f2f2f2 !important; border-top-color: #e0e0e0 !important; }
html body .bfvr-fenster h3.bfvr-liste-titel { margin: 8px 0 0 !important; font-size: 14px !important; font-weight: 700 !important; letter-spacing: .05em !important; text-transform: uppercase !important; }
.bfvr-fenster .bfvr-karten { gap: 14px; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.bfvr-karte .bfvr-meta { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-top: auto; padding-top: 6px; }
.bfvr-fenster .bfvr-karte { background: #ffffff; border: 1px solid #e3e3e3; border-radius: 16px; padding: 18px 20px; gap: 8px; font-size: 15px; }
.bfvr-fenster .bfvr-karte .bfvr-sterne { font-size: 17px; }
html body .bfvr-fenster .bfvr-karte h4 { margin: 4px 0 0 !important; font-size: 16px !important; font-weight: 700 !important; line-height: 1.35 !important; }
.bfvr-fenster .bfvr-karte p { line-height: 1.5; color: #333a46; }
.bfvr-fenster .bfvr-karte p.bfvr-leer { color: #7a808c; font-style: italic; }
.bfvr-fenster .bfvr-karte .bfvr-meta { font-size: 13px; color: #6b7280; }
html body .bfvr-fenster blockquote.bfvr-f-echt-zitat { margin: 6px 0 2px !important; padding: 2px 0 2px 18px !important; border: 0 !important; border-left: 4px solid #b5b5b5 !important; background: none !important; font-size: 18px !important; font-weight: 600 !important; font-style: normal !important; line-height: 1.5 !important; color: var(--bfvr-text) !important; quotes: none; }
html body .bfvr-fenster blockquote.bfvr-f-echt-zitat::before, html body .bfvr-fenster blockquote.bfvr-f-echt-zitat::after { content: none !important; }
@media (max-width: 560px) { html body .bfvr-fenster blockquote.bfvr-f-echt-zitat { font-size: 16px !important; } }
/* Fenster 920 px breit (User 03.11.2026): KI-Karten und Bewertungen zweispaltig, am Handy einspaltig */
.bfvr-fenster .bfvr-ki { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 14px; }
.bfvr-fenster .bfvr-fac { padding: 24px 25px; }
.bfvr-karten { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.bfvr-karte { border: 1px solid var(--bfvr-linie); border-radius: 10px; padding: 10px 12px; font-size: 14px; display: grid; gap: 4px; align-content: start; min-width: 0; }
.bfvr-karte h4 { margin: 2px 0 0; font-size: 14px; }
.bfvr-karte p { margin: 0; overflow-wrap: anywhere; }
.bfvr-meta, .bfvr-klein { font-size: 12.5px; color: var(--bfvr-leise); margin: 0; }
.bfvr-leer { color: var(--bfvr-leise); font-style: italic; }
.bfvr-liste-titel { margin: 6px 0 0; font-size: 16px; }
.bfvr-mehr { margin: 0; text-align: center; }
.bfvr-hinweis { margin: 0; padding-top: 12px; border-top: 1px solid var(--bfvr-linie); font-size: 12.5px; color: var(--bfvr-leise); }
.bfvr-hinweis a { color: var(--bfvr-akzent); }

/* Knopf */
.bfvr-knopf { appearance: none; border: 0; border-radius: 8px; padding: 10px 18px; background: var(--bfvr-akzent); color: var(--bfvr-akzent-text); font: inherit; font-weight: 600; cursor: pointer; }
.bfvr-knopf.is-leise { background: transparent; color: var(--bfvr-akzent); border: 1px solid var(--bfvr-linie); }
.bfvr-knopf:disabled { opacity: .6; cursor: default; }
.bfvr-knopf:focus-visible { outline: 2px solid var(--bfvr-akzent); outline-offset: 2px; }

/* Danke-Formular */
.bfvr-form { display: grid; gap: 12px; max-width: 560px; margin: 24px 0; padding: 18px 20px; border: 1px solid var(--bfvr-linie); border-radius: 12px; background: var(--bfvr-flaeche); color: var(--bfvr-text); }
.bfvr-form-frage { margin: 0; font-weight: 700; font-size: 17px; }
.bfvr-sternwahl { display: flex; gap: 6px; }
.bfvr-sternwahl button { all: unset; cursor: pointer; font-size: 36px; line-height: 1; color: var(--bfvr-stern-aus); transition: transform .1s; }
.bfvr-sternwahl button.is-an { color: var(--bfvr-stern); }
.bfvr-sternwahl button:hover { transform: scale(1.1); }
.bfvr-sternwahl button:focus-visible { outline: 2px solid var(--bfvr-akzent); border-radius: 4px; }
.bfvr-form-rest { display: grid; gap: 12px; }
.bfvr-form-rest[hidden] { display: none; }
.bfvr-feld { display: grid; gap: 4px; font-weight: 600; font-size: 14px; }
.bfvr-feld small { font-weight: 400; color: var(--bfvr-leise); font-size: 12.5px; }
.bfvr-feld input, .bfvr-feld textarea { font: inherit; padding: 8px 10px; border: 1px solid var(--bfvr-linie); border-radius: 8px; width: 100%; box-sizing: border-box; }
.bfvr-haken { display: flex; gap: 8px; align-items: center; font-size: 14px; }
.bfvr-form .bfvr-knopf { justify-self: start; }
.bfvr-fehler { margin: 0; color: var(--bfvr-kritik); font-size: 14px; }
.bfvr-form-danke { margin: 0; font-weight: 600; color: var(--bfvr-lob); }

/* Kompakte Anzeige unter dem Hauptknopf: links Note, rechts Kundenstimmen zum Durchklicken */
.bfvr-kompakt { display: flex; align-items: center; gap: 22px; max-width: 600px; color: var(--bfvr-text); }
.bfvr-k-note { all: unset; box-sizing: border-box; display: flex; align-items: center; gap: 12px; cursor: pointer; flex: none; }
.bfvr-k-zahl { font-size: 50px; font-weight: 700; line-height: 1; letter-spacing: -.02em; color: var(--bfvr-text); }
.bfvr-k-rechts { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; text-align: left; }
.bfvr-k-rechts .bfvr-sterne { font-size: 21px; letter-spacing: 1px; }
.bfvr-k-anzahl { font-size: 14px; font-weight: 400; color: var(--bfvr-leise); line-height: 1.2; letter-spacing: 0; }
.bfvr-k-note:hover .bfvr-k-anzahl { text-decoration: underline; text-underline-offset: 3px; }
.bfvr-k-note:focus-visible { outline: 2px solid var(--bfvr-akzent); outline-offset: 4px; border-radius: 6px; }
.bfvr-k-slider { flex: 1; min-width: 0; position: relative; padding-left: 22px; border-left: 1px solid var(--bfvr-linie); }
.bfvr-k-item { margin: 0; display: grid; grid-template-columns: 34px 1fr; column-gap: 10px; row-gap: 2px; align-items: start; }
.bfvr-k-item[hidden] { display: none; }
.bfvr-k-avatar { grid-row: span 2; width: 34px; height: 34px; border-radius: 50%; background: #e3e8f1; color: var(--bfvr-text); display: grid; place-items: center; font-size: 12.5px; font-weight: 600; }
.bfvr-k-kopf { font-style: normal; display: flex; align-items: center; gap: 8px; font-size: 13.5px; line-height: 1.2; }
.bfvr-k-kopf strong { font-weight: 600; font-style: normal; color: var(--bfvr-text); }
.bfvr-k-text { margin: 0; padding: 0; border: 0; font-size: 13.5px; line-height: 1.4; color: var(--bfvr-leise); font-style: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; quotes: none; }
.bfvr-k-text::before, .bfvr-k-text::after { content: none; }
.bfvr-k-nav { display: flex; align-items: center; gap: 8px; margin-top: 8px; padding-left: 44px; font-size: 12px; color: var(--bfvr-leise); }
.bfvr-k-pfeil { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; cursor: pointer; font-size: 17px; line-height: 1; }
.bfvr-k-pfeil:hover { border-color: var(--bfvr-text) !important; color: var(--bfvr-text) !important; }
.bfvr-k-pfeil:focus-visible { outline: 2px solid var(--bfvr-akzent); outline-offset: 2px; }
@media (max-width: 560px) {
	.bfvr-kompakt { flex-direction: column; align-items: stretch; gap: 14px; }
	.bfvr-k-note { justify-content: center; }
	.bfvr-k-slider { padding-left: 0; border-left: 0; padding-top: 14px; border-top: 1px solid var(--bfvr-linie); }
}

/* ☠️ Themes stylen jeden <button> (Hintergrund, Rand, Schatten, Großbuchstaben). Die eigenen Knöpfe hier hart zurücksetzen. */
.bfvr-zeile-knopf, .bfvr-s-kopf, .bfvr-sternwahl button, .bfvr-zu, .bfvr-k-note, .bfvr-k-pfeil, button.bfvr-f-item {
	background-image: none !important; box-shadow: none !important; text-transform: none !important; letter-spacing: normal !important;
	min-height: 0 !important; min-width: 0 !important; font-family: inherit !important;
}
.bfvr-zeile-knopf, .bfvr-sternwahl button { background: transparent !important; border: 0 !important; padding: 0 !important; color: inherit !important; border-radius: 4px !important; }
.bfvr-sternwahl button { color: var(--bfvr-stern-aus) !important; }
.bfvr-sternwahl button.is-an { color: var(--bfvr-stern) !important; }
.bfvr-zu { background: #f7f6f4 !important; border: 1px solid #d7d7d7 !important; padding: 0 !important; color: #5f6778 !important; border-radius: 50% !important; width: 36px !important; height: 36px !important; display: grid !important; place-items: center; font-size: 22px !important; line-height: 1 !important; }

.bfvr-admin-hinweis { margin: 0; padding: 6px 10px; border-radius: 8px; background: #fff4d6; color: #7a5300; font-size: 12.5px; font-weight: 600; }

/* Bewertungsblock unter „Über uns“ und Erfahrungen-Seite (0.5.0, 28.10.2026) */
.bfvr-block, .bfvr-seite { color: var(--bfvr-text); margin: 48px 0; }
.bfvr-eyebrow { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--bfvr-akzent); margin: 0 0 8px; display: flex; align-items: center; gap: 10px; }
.bfvr-eyebrow::before { content: ''; width: 18px; height: 1px; background: currentColor; }
.bfvr-block-kopf h2 { margin: 0 0 28px; }
.bfvr-block-raster { display: grid; grid-template-columns: minmax(220px, 300px) 1fr; gap: 32px; align-items: start; }
.bfvr-block .bfvr-karten { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
.bfvr-block-weiter { margin: 24px 0 0; }
.bfvr-skopf { display: grid; grid-template-columns: minmax(220px, 300px) 1fr; gap: 32px; align-items: center; padding: 24px; border: 1px solid var(--bfvr-linie); border-radius: 18px; background: var(--bfvr-flaeche); }
.bfvr-block .bfvr-skopf { grid-template-columns: 1fr; }
.bfvr-snote { font-size: 44px; font-weight: 700; line-height: 1; margin-right: 6px; }
.bfvr-svon { color: var(--bfvr-leise); margin-right: 10px; }
.bfvr-surteil { font-weight: 700; margin: 8px 0 4px; }
.bfvr-seite .bfvr-liste-titel, .bfvr-faq h2 { margin: 36px 0 14px; }
.bfvr-seite .bfvr-karten.is-liste, .bfvr-block .bfvr-karten { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; align-items: start; }
.bfvr-faq details { border-top: 1px solid var(--bfvr-linie); padding: 12px 0; }
.bfvr-faq summary { cursor: pointer; font-weight: 600; }
.bfvr-faq p { margin: 8px 0 0; color: var(--bfvr-leise); }
a.bfvr-knopf { display: inline-block; text-decoration: none; }
@media (max-width: 782px) {
	.bfvr-block-raster, .bfvr-skopf { grid-template-columns: 1fr; gap: 18px; }
}

/* 0.5.2 (28.10.2026, Rückmeldung des Users): Abstände, Knopffarbe gegen Theme-Linkfarben, Kacheln ohne Überlauf, Nachladen mit Animation */
.bfvr-block, .bfvr-seite { box-sizing: border-box; }
.bfvr-block *, .bfvr-seite * { box-sizing: border-box; }
.bfvr-seite { margin: 24px 0 64px; }
.bfvr-block { margin: 72px 0 24px; padding-top: 8px; }
.bfvr-block-kopf h2 { margin: 0 0 32px; line-height: 1.2; }
.bfvr-block-weiter { margin: 32px 0 0; }
html body a.bfvr-knopf, html body a.bfvr-knopf:visited { color: var(--bfvr-akzent-text) !important; background: var(--bfvr-akzent); text-decoration: none !important; border-radius: 10px; padding: 12px 22px; transition: filter .15s, transform .15s; }
html body a.bfvr-knopf:hover, html body a.bfvr-knopf:focus-visible { filter: brightness(1.12); transform: translateY(-1px); color: var(--bfvr-akzent-text) !important; }
html body a.bfvr-knopf.is-leise, html body a.bfvr-knopf.is-leise:visited { color: var(--bfvr-akzent) !important; background: var(--bfvr-flaeche); border: 1px solid var(--bfvr-linie); }
html body a.bfvr-knopf.is-leise:hover { border-color: var(--bfvr-akzent); filter: none; }
.bfvr-seite .bfvr-ki { margin: 28px 0 10px; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.bfvr-ki > * { min-width: 0; margin: 0; }
.bfvr-seite .bfvr-fac { padding: 18px 20px; border-radius: 14px; }
.bfvr-seite .bfvr-fac .bfvr-chips { margin: 10px 0 4px; }
.bfvr-seite .bfvr-fac p { line-height: 1.6; }
.bfvr-seite .bfvr-hinweis { margin-top: 28px; line-height: 1.6; }
.bfvr-seite .bfvr-mehr { text-align: center; margin: 24px 0 8px; }
.bfvr-seite .bfvr-karten.is-liste { margin-top: 4px; }
/* Nachladen: Knopf zeigt einen Kreisel, neue Karten blenden nacheinander ein */
.bfvr-knopf.is-laedt { pointer-events: none; opacity: .85; }
.bfvr-knopf.is-laedt::after { content: ''; display: inline-block; width: 14px; height: 14px; margin-left: 10px; vertical-align: -2px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: bfvr-dreh .7s linear infinite; }
.bfvr-karte.is-neu { animation: bfvr-rein .45s ease-out both; }
@keyframes bfvr-dreh { to { transform: rotate(360deg); } }
@keyframes bfvr-rein { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .bfvr-karte.is-neu { animation: none; } .bfvr-knopf.is-laedt::after { animation-duration: 2s; } }

/* ===== 0.5.3 Erfahrungen-Seite moderner und im Satzspiegel (User 29.10.2026) ===== */
/* Hello Elementor: Inhalt 1200 px mit 20 px Rand wie Kopf und Fuß, Abstand unter dem festen Kopf (78 bzw. 66 px) 64 bzw. 40 px. */
body.theme-hello-elementor .site-main:has(.bfvr-seite) { max-width: 1200px; padding: 142px 20px 0; box-sizing: border-box; }
@media (max-width: 767px) { body.theme-hello-elementor .site-main:has(.bfvr-seite) { padding-top: 106px; } }
.bfvr-seite { margin: 0 0 88px; }
.bfvr-seite-kopf { margin: 0 0 36px; }
html body .bfvr-seite-titel { font-size: clamp(30px, 3.6vw, 44px); line-height: 1.12; margin: 0 0 14px; max-width: 760px; }
.bfvr-seite-lead { font-size: 18px; line-height: 1.65; color: var(--bfvr-leise); margin: 0; max-width: 720px; }
/* Notenkarte leicht getönt wie die Karte auf „Über uns“ (kein kräftiger Grund, User 29.10.). */
.bfvr-seite .bfvr-skopf { grid-template-columns: minmax(260px, 380px) 1fr; gap: 48px; padding: 32px 36px; border-radius: 22px; border-color: color-mix(in srgb, var(--bfvr-akzent) 20%, #fff); background: color-mix(in srgb, var(--bfvr-akzent) 5%, #fff); }
.bfvr-seite .bfvr-snote { font-size: 56px; letter-spacing: -.02em; }
.bfvr-seite .bfvr-surteil { font-size: 18px; font-weight: 700; margin: 10px 0 6px; }
.bfvr-seite .bfvr-verteilung { max-width: none; gap: 10px; }
.bfvr-seite .bfvr-vz { grid-template-columns: 40px 1fr 44px; gap: 12px; font-size: 14px; }
.bfvr-seite .bfvr-balken { height: 10px; border-radius: 5px; background: #fff; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--bfvr-akzent) 14%, #fff); }
.bfvr-seite .bfvr-balken span { border-radius: 5px; }
.bfvr-seite .bfvr-fac { border: 1px solid transparent; border-radius: 18px; padding: 22px 24px; }
.bfvr-seite .bfvr-fac.is-lob { border-color: color-mix(in srgb, var(--bfvr-lob) 18%, #fff); }
.bfvr-seite .bfvr-fac.is-kritik { border-color: color-mix(in srgb, var(--bfvr-kritik) 16%, #fff); }
.bfvr-seite .bfvr-fac h3 { font-size: 16px; }
html body .bfvr-seite .bfvr-liste-titel, html body .bfvr-seite .bfvr-faq h2 { font-size: clamp(22px, 2.4vw, 28px); line-height: 1.25; margin: 64px 0 20px; }
.bfvr-seite .bfvr-karten.is-liste { gap: 16px; }
.bfvr-seite .bfvr-karte { border-radius: 14px; padding: 16px 18px; gap: 6px; background: #fff; transition: border-color .15s; }
.bfvr-seite .bfvr-karte:hover { border-color: color-mix(in srgb, var(--bfvr-akzent) 35%, #fff); }
.bfvr-seite .bfvr-mehr { margin: 32px 0 12px; }
.bfvr-seite > .bfvr-klein { text-align: center; }
.bfvr-seite .bfvr-hinweis { margin-top: 48px; padding: 20px 24px; border: 0; border-radius: 16px; background: #f4f7fb; font-size: 13.5px; }
.bfvr-seite .bfvr-faq details { border: 1px solid var(--bfvr-linie); border-radius: 14px; padding: 0; margin: 0 0 10px; background: #fff; }
.bfvr-seite .bfvr-faq details[open] { border-color: color-mix(in srgb, var(--bfvr-akzent) 30%, #fff); }
.bfvr-seite .bfvr-faq summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 22px; font-size: 16px; }
.bfvr-seite .bfvr-faq summary::-webkit-details-marker { display: none; }
.bfvr-seite .bfvr-faq summary::after { content: '+'; flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-size: 20px; font-weight: 400; line-height: 1; color: var(--bfvr-akzent); background: color-mix(in srgb, var(--bfvr-akzent) 8%, #fff); transition: transform .2s; }
.bfvr-seite .bfvr-faq details[open] summary::after { transform: rotate(45deg); }
.bfvr-seite .bfvr-faq p { margin: 0; padding: 0 22px 20px; line-height: 1.65; }
@media (max-width: 782px) {
	.bfvr-seite .bfvr-skopf { grid-template-columns: 1fr; gap: 24px; padding: 24px 22px; }
	.bfvr-seite .bfvr-snote { font-size: 48px; }
	.bfvr-seite-lead { font-size: 16px; }
	html body .bfvr-seite .bfvr-liste-titel, html body .bfvr-seite .bfvr-faq h2 { margin-top: 48px; }
	.bfvr-seite .bfvr-faq summary { padding: 16px 18px; font-size: 15px; }
	.bfvr-seite .bfvr-faq p { padding: 0 18px 18px; }
}
@media (prefers-reduced-motion: reduce) { .bfvr-seite .bfvr-faq summary::after { transition: none; } }

/* Seite hinter den Links der Einladungsmail (0.6.0) */
.bfvr-einladung { box-sizing: border-box; max-width: 640px; margin: 48px auto 64px; padding: 0 16px; }
.bfvr-einladung .bfvr-einladung-titel { margin: 0 0 8px; font-size: 28px; line-height: 1.25; }
.bfvr-einladung .bfvr-form { margin: 16px 0 0; }
.bfvr-k-note { background: transparent !important; border: 0 !important; padding: 0 !important; color: inherit !important; display: flex !important; width: auto !important; }
.bfvr-k-pfeil { background: var(--bfvr-flaeche) !important; border: 1px solid var(--bfvr-linie) !important; padding: 0 !important; color: var(--bfvr-leise) !important; border-radius: 50% !important; width: 24px !important; height: 24px !important; display: grid !important; }
.bfvr-s-kopf { background: transparent !important; border: 0 !important; padding: 0 !important; color: inherit !important; display: flex !important; width: 100% !important; height: auto !important; }
/* Alle Bausteine in Poppins, egal welche Schrift die Webseite nutzt (User 03.11.2026, E3); „html body“ schlägt Theme-Regeln wie „.jgn strong“ */
html body :is(.bfvr-zeile, .bfvr-siegel, .bfvr-leiste, .bfvr-fenster, .bfvr-form, .bfvr-kompakt, .bfvr-block, .bfvr-seite, .bfvr-einladung, .bfvr-zitate), html body :is(.bfvr-zeile, .bfvr-siegel, .bfvr-leiste, .bfvr-fenster, .bfvr-form, .bfvr-kompakt, .bfvr-block, .bfvr-seite, .bfvr-einladung, .bfvr-zitate) * { font-family: "BFVR Poppins", "Poppins", Arial, sans-serif !important; }
/* ☠️ JG: Theme-Regel button{display:block} hob Flex und Abstände auf – Zeile lief am Handy über den Rand. */
.bfvr-zeile-knopf { display: inline-flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 2px 9px !important; white-space: normal !important; max-width: 100%; justify-content: inherit !important; text-align: inherit !important; }
/* Größen nach Vorlage des Users (03.11.2026): obere Zeile deutlich größer als die Faktenleiste, mehr Luft dazwischen */
.bfvr-zeile-knopf { font-size: 20px !important; row-gap: 0 !important; }
@media (max-width: 600px) { .bfvr-zeile-knopf { font-size: 19px !important; gap: 2px 7px !important; } }
html body button.bfvr-f-item { all: unset; display: inline-flex !important; align-items: center; gap: 3px; cursor: pointer; color: #000 !important; background: transparent !important; border: 0 !important; padding: 0 !important; width: auto !important; font-size: inherit !important; font-weight: 400 !important; white-space: nowrap; }

/* Weiterempfehlung Ja/Nein im Danke-Formular (03.11.2026) – harte Rücksetzung wie die Sternknöpfe (Theme-Buttons) */
.bfvr-empfehlen { display: grid; gap: 8px; }
.bfvr-empfehlen .bfvr-feld-name { margin: 0; font-weight: 700; }
.bfvr-jn { display: flex; gap: 8px; }
html body .bfvr-jn button { all: unset; box-sizing: border-box; cursor: pointer; min-width: 84px; padding: 9px 18px; border: 1px solid var(--bfvr-linie); border-radius: 8px; background: var(--bfvr-flaeche); color: var(--bfvr-text); font: inherit; font-weight: 600; text-align: center; }
html body .bfvr-jn button:hover { border-color: var(--bfvr-akzent); }
html body .bfvr-jn button.is-an { background: var(--bfvr-akzent); border-color: var(--bfvr-akzent); color: var(--bfvr-akzent-text); }
html body .bfvr-jn button:focus-visible { outline: 2px solid var(--bfvr-akzent); outline-offset: 2px; }
/* Ermunterung unter der Frage im Danke-Formular (User 03.11.2026) */
html body .bfvr-form p.bfvr-form-bitte { margin: 2px 0 12px !important; font-size: 14px; line-height: 1.55; color: var(--bfvr-leise); max-width: 60ch; }
/* Danke-Formular einheitlich (User 03.11.2026: „chaotisch“): eine Schrift, Labels links, gleiche Größen, Schalter statt Häkchen */
html body .bfvr-form { display: grid; gap: 14px; text-align: left !important; color: var(--bfvr-text); font-size: 15px; line-height: 1.5; }
html body .bfvr-form .bfvr-form-rest:not([hidden]) { display: grid; gap: 16px; }
html body .bfvr-form p.bfvr-form-frage { margin: 0 !important; font-size: 18px !important; font-weight: 700 !important; line-height: 1.3 !important; text-align: left !important; }
html body .bfvr-form p.bfvr-form-bitte { margin: -4px 0 0 !important; }
html body .bfvr-form .bfvr-feld { display: grid; gap: 6px; margin: 0 !important; text-align: left !important; }
html body .bfvr-form .bfvr-feld-name { display: block; margin: 0 !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.35 !important; text-align: left !important; color: var(--bfvr-text) !important; letter-spacing: 0 !important; text-transform: none !important; }
html body .bfvr-form .bfvr-feld-name small { font-size: 12.5px; font-weight: 400; color: var(--bfvr-leise); margin-left: 4px; }
html body .bfvr-form input[type="text"], html body .bfvr-form textarea { box-sizing: border-box; width: 100% !important; margin: 0 !important; padding: 10px 12px !important; font-size: 15px !important; font-weight: 400 !important; line-height: 1.5 !important; color: var(--bfvr-text) !important; background: #fff !important; border: 1px solid #d5d8de !important; border-radius: 10px !important; box-shadow: none !important; }
html body .bfvr-form textarea { min-height: 110px; resize: vertical; }
html body .bfvr-form input[type="text"]:focus, html body .bfvr-form textarea:focus { outline: 2px solid var(--bfvr-akzent) !important; outline-offset: 1px; border-color: transparent !important; }
html body .bfvr-form ::placeholder { font-size: 15px !important; font-weight: 400 !important; color: #9aa1ad !important; opacity: 1; }
html body .bfvr-form .bfvr-empfehlen { display: grid; gap: 8px; }
html body .bfvr-form .bfvr-jn { display: flex; gap: 8px; }
html body .bfvr-form .bfvr-jn button { min-width: 84px; padding: 9px 18px !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.2 !important; border-radius: 10px !important; }
html body .bfvr-form .bfvr-gespeichert { margin: -4px 0 0 !important; font-size: 13px !important; color: var(--bfvr-leise) !important; }
html body .bfvr-form .bfvr-form-hinweis { margin: 0 !important; font-size: 13px !important; line-height: 1.5 !important; color: var(--bfvr-leise) !important; }
html body .bfvr-form button.bfvr-knopf { justify-self: start; padding: 12px 22px !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1.2 !important; border-radius: 10px !important; background: var(--bfvr-akzent) !important; color: var(--bfvr-akzent-text) !important; border: 0 !important; }
/* Schalter „Ohne meinen Namen veröffentlichen“ */
html body .bfvr-form label.bfvr-schalter { display: inline-flex; align-items: center; gap: 10px; margin: 0 !important; font-size: 14px !important; font-weight: 400 !important; line-height: 1.4 !important; cursor: pointer; color: var(--bfvr-text) !important; }
.bfvr-schalter input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.bfvr-schalter-bahn { flex: none; position: relative; width: 40px; height: 22px; border-radius: 999px; background: #cfd3da; transition: background .15s; }
.bfvr-schalter-bahn::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.25); transition: transform .15s; }
.bfvr-schalter input:checked + .bfvr-schalter-bahn { background: var(--bfvr-akzent); }
.bfvr-schalter input:checked + .bfvr-schalter-bahn::after { transform: translateX(18px); }
.bfvr-schalter input:focus-visible + .bfvr-schalter-bahn { outline: 2px solid var(--bfvr-akzent); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .bfvr-schalter-bahn, .bfvr-schalter-bahn::after { transition: none; } }
/* Sternwahl: beim Darüberfahren schon gelb bis zum Stern unter der Maus (User 03.11.2026) */
@media (hover: hover) { html body .bfvr-sternwahl:hover button { color: var(--bfvr-stern) !important; } html body .bfvr-sternwahl button:hover ~ button { color: var(--bfvr-stern-aus) !important; } }
/* Schritt 3 des Formulars (User 03.11.2026) */
html body .bfvr-form .bfvr-form-text:not([hidden]) { display: grid; gap: 16px; }
html body .bfvr-form button.bfvr-weiter { all: unset; justify-self: start; cursor: pointer; font-size: 13px !important; color: var(--bfvr-leise) !important; text-decoration: underline; text-underline-offset: 2px; }
html body .bfvr-form button.bfvr-weiter[hidden] { display: none !important; }
/* Zahlen 1–5 unter den Sternen (User 03.11.2026) */
html body .bfvr-sternwahl { gap: 10px; }
html body .bfvr-sternwahl button { display: inline-flex !important; flex-direction: column; align-items: center; gap: 4px; }
.bfvr-sw-stern { font-size: 36px; line-height: 1; transition: transform .1s; }
html body .bfvr-sternwahl button .bfvr-sw-zahl { font-size: 13px; line-height: 1; font-weight: 500; color: var(--bfvr-leise) !important; }
html body .bfvr-sternwahl button:hover { transform: none; }
html body .bfvr-sternwahl button:hover .bfvr-sw-stern { transform: scale(1.1); }
/* Formular auf der Vorkasse-Danke-Seite (E20, 03.11.2026) */
.bfvr-vorkasse { margin: 28px 0 0; }
/* Feste Leiste unten (E19, 03.11.2026, Vorbild JG) */
.bfvr-leiste { position: fixed; left: 0; right: 0; bottom: 0; z-index: 99980; background: var(--bfvr-flaeche); border-top: 1px solid #ece5de; box-shadow: 0 -6px 20px rgba(16, 24, 40, .06); transform: translateY(110%); transition: transform .3s; padding-bottom: env(safe-area-inset-bottom, 0px); }
.bfvr-leiste.is-an { transform: none; }
body.bfvr-leiste-an { padding-bottom: var(--bfvr-leiste-h, 72px); }
body.bfvr-leiste-an .bfvr-siegel { opacity: 0; visibility: hidden; pointer-events: none; }
.bfvr-l-in { box-sizing: border-box; max-width: 1140px; margin: 0 auto; padding: 12px 20px; display: flex; align-items: center; gap: 20px; }
html body .bfvr-leiste button.bfvr-l-note, html body .bfvr-leiste button.bfvr-l-txt { all: unset; box-sizing: border-box; cursor: pointer; flex: none; display: flex !important; align-items: center; color: var(--bfvr-text) !important; }
html body .bfvr-leiste button.bfvr-l-note { gap: 10px; }
html body .bfvr-leiste button.bfvr-l-txt { gap: 2px; }
.bfvr-l-note { gap: 10px; }
.bfvr-l-note .bfvr-sterne { font-size: 18px; }
.bfvr-l-note b { font-size: 24px; font-weight: 700; letter-spacing: -.02em; line-height: 1; }
html body .bfvr-leiste button.bfvr-l-txt { flex-direction: column; align-items: center !important; text-align: center; }
.bfvr-l-urteil { font-size: 15px; font-weight: 700; line-height: 1.1; }
.bfvr-l-anzahl { display: inline-flex; align-items: center; gap: 4px; font-size: 14px; line-height: 1.2; }
.bfvr-l-zw { flex: 1; min-width: 0; display: flex; align-items: center; gap: 4px; padding-left: 16px; border-left: 1px solid #ece0d5; }
html body .bfvr-leiste button.bfvr-l-pf { all: unset; box-sizing: border-box; cursor: pointer; flex: none; width: 26px; height: 26px; display: grid !important; place-items: center; border-radius: 50%; color: #b8aea6 !important; }
html body .bfvr-leiste button.bfvr-l-pf:hover { color: var(--bfvr-text) !important; background: #f6f1ec; }
.bfvr-l-zk { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.bfvr-l-zitat { max-width: 100%; cursor: pointer; font-weight: 600; font-style: italic; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: opacity .25s; }
.bfvr-l-unter { display: flex; align-items: center; gap: 6px; font-size: 12.5px; line-height: 1.3; color: #8a817b; }
.bfvr-l-q { transition: opacity .25s; }
.bfvr-l-echt { cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.bfvr-l-q:not(:empty) + .bfvr-l-echt::before { content: "·"; display: inline-block; margin-right: 6px; text-decoration: none; }
html body .bfvr-leiste a.bfvr-l-cta { box-sizing: border-box; flex: none; display: inline-flex; align-items: center; gap: 8px; padding: 13px 22px; border-radius: 10px; background: var(--bfvr-akzent); color: var(--bfvr-akzent-text) !important; font-weight: 600; font-size: 16px; text-decoration: none !important; }
html body .bfvr-leiste a.bfvr-l-cta:hover { filter: brightness(.9); }
@media (max-width: 960px) { .bfvr-l-zw { display: none; } }
@media (max-width: 680px) {
	.bfvr-l-in { flex-wrap: wrap; gap: 8px 12px; padding: 10px 16px; }
	html body .bfvr-leiste button.bfvr-l-note { gap: 6px; }
	html body .bfvr-leiste button.bfvr-l-txt { flex: 1 1 0; min-width: 0; flex-direction: row; align-items: center !important; flex-wrap: wrap; column-gap: 8px; row-gap: 0; text-align: left; }
	.bfvr-l-urteil { font-size: 14px; }
	.bfvr-l-anzahl { font-size: 13.5px; }
	.bfvr-l-note b { font-size: 22px; }
	.bfvr-l-note .bfvr-sterne { font-size: 15px; }
	html body .bfvr-leiste a.bfvr-l-cta { flex-basis: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .bfvr-leiste, .bfvr-l-zitat, .bfvr-l-q { transition: none; } }

/* Fenster: Anzahl + Echtheit als zwei Bausteine (Vorlage des Users 03.11.2026) */
.bfvr-fenster .bfvr-f-fakten { display: grid; gap: 18px; margin: 8px 0 6px; }
.bfvr-fenster .bfvr-f-fakt, .bfvr-fenster .bfvr-f-echt { display: flex; align-items: flex-start; gap: 16px; }
.bfvr-fenster .bfvr-f-fakt > div, .bfvr-fenster .bfvr-f-echt > div { display: grid; gap: 4px; min-width: 0; }
.bfvr-fenster .bfvr-f-fakt b, .bfvr-fenster .bfvr-f-echt b { font-size: 17px; font-weight: 600; line-height: 1.35; color: var(--bfvr-text); }
.bfvr-fenster .bfvr-f-fakt span:not(.bfvr-f-fakt-ico), .bfvr-fenster .bfvr-f-echt span:not(.bfvr-f-echt-ico) { font-size: 15px; line-height: 1.5; color: #6b6f78; }
.bfvr-fenster .bfvr-f-fakt-ico { flex: none; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 12px; background: #f4f2f0; color: #6b6f78; }
.bfvr-fenster .bfvr-f-echt { padding: 18px 20px; border: 1px solid #e3ece5; border-radius: 16px; background: #f4f8f5; }
.bfvr-fenster .bfvr-f-echt-ico { flex: none; color: #4f8a64; margin-top: 2px; }
.bfvr-fenster .bfvr-f-basis { margin: 0; }
/* Wie die Vorlage: beide Bausteine in einer weißen Karte, Symbol auf hellgrauer Kachel */
.bfvr-fenster .bfvr-f-fakten { padding: 24px 22px; border: 1px solid #e8e6e3; border-radius: 22px; background: #fff; }
.bfvr-fenster .bfvr-f-fakt-ico { background: #f3f1ee; }
@media (max-width: 560px) { .bfvr-fenster .bfvr-f-fakten { padding: 20px 16px; } .bfvr-fenster .bfvr-f-echt { padding: 16px; } }

/* KI-Auswertung wie meinedatenspur.de (User 03.11.2026): Überschrift, Karten Lob grün / Kritik rötlich, rundes Zeichen, farbige Stichwörter */
html body .bfvr-fenster h2.bfvr-ki-titel { margin: 26px 0 16px !important; font-size: 26px !important; font-weight: 700 !important; line-height: 1.2 !important; color: var(--bfvr-text) !important; text-transform: none !important; letter-spacing: -.01em; }
html body .bfvr-fenster .bfvr-ki { display: grid !important; grid-template-columns: 1fr 1fr; gap: 20px !important; }
@media (max-width: 760px) { html body .bfvr-fenster .bfvr-ki { grid-template-columns: 1fr; } html body .bfvr-fenster h2.bfvr-ki-titel { font-size: 23px !important; } }
html body .bfvr-fenster section.bfvr-fac { margin: 0 !important; padding: 24px 24px 20px !important; border-radius: 16px !important; box-shadow: none !important; }
html body .bfvr-fenster section.bfvr-fac.is-lob { background: #F4FBF7 !important; border: 1px solid #CFE9D9 !important; }
html body .bfvr-fenster section.bfvr-fac.is-kritik { background: #FDF6F4 !important; border: 1px solid #F3D9D3 !important; }
html body .bfvr-fenster section.bfvr-fac h3 { display: flex !important; align-items: center; gap: 10px; margin: 0 0 16px !important; font-size: 15px !important; font-weight: 800 !important; letter-spacing: .02em; text-transform: uppercase !important; color: #1F1F1F !important; }
html body .bfvr-fenster section.bfvr-fac h3::before, html body .bfvr-fenster section.bfvr-fac h3::after { content: none !important; display: none !important; }
html body .bfvr-fenster .bfvr-fac-zeichen { width: 28px; height: 28px; flex: 0 0 28px; border-radius: 50%; display: grid; place-items: center; color: #fff; }
html body .bfvr-fenster .is-lob .bfvr-fac-zeichen { background: #2f9e5b; }
html body .bfvr-fenster .is-kritik .bfvr-fac-zeichen { background: #C9584A; }
html body .bfvr-fenster section.bfvr-fac .bfvr-chips { display: flex !important; flex-wrap: wrap; gap: 8px !important; margin: 0 0 14px !important; }
html body .bfvr-fenster section.bfvr-fac .bfvr-chips span { padding: 6px 14px !important; border-radius: 999px !important; font-size: 14px !important; font-weight: 600 !important; }
html body .bfvr-fenster .is-lob .bfvr-chips span { color: #0B6B3A !important; background: #E3F4EA !important; border: 1px solid #BFE3CD !important; }
html body .bfvr-fenster .is-kritik .bfvr-chips span { color: #9A3B30 !important; background: #FBEAE7 !important; border: 1px solid #F1CBC4 !important; }
html body .bfvr-fenster section.bfvr-fac > p:not(.bfvr-chips) { margin: 0 !important; font-size: 15.5px !important; line-height: 1.6 !important; color: #444 !important; }

/* ===== Fenster: neue Struktur (Vorlage 03.11.2026), Design wie bisher (User: „Design beibehalten, nur Struktur“) =====
 * Notenkarte im bisherigen Grau (Note links, Sterne + Urteil daneben, Verteilung darunter, „Basierend auf …“);
 * Faktenkarte weiß mit drei Zeilen und Trennlinie, Symbole in der bisherigen grauen Kachel, Daumen grün, Schild grün. */
html body .bfvr-fenster .bfvr-kopf.bfvr-kopf--karte { grid-template-columns: 1fr !important; gap: 14px !important; }
html body .bfvr-fenster .bfvr-kopf--karte .bfvr-f-note { display: flex !important; align-items: center; gap: 16px; }
html body .bfvr-fenster .bfvr-f-note-r { display: grid; gap: 6px; }
html body .bfvr-fenster .bfvr-kopf--karte .bfvr-verteilung { max-width: none !important; width: 100%; }
html body .bfvr-fenster .bfvr-kopf--karte .bfvr-vz > span:first-child { display: inline-flex; align-items: center; gap: 3px; }
html body .bfvr-fenster .bfvr-vz-stern { width: 11px; height: 11px; flex: none; }
html body .bfvr-fenster .bfvr-vz-stern path { fill: currentColor; stroke: none; }
html body .bfvr-fenster .bfvr-kopf--karte .bfvr-f-basis { margin: 0 !important; }
html body .bfvr-fenster .bfvr-f-fakten { gap: 0 !important; padding: 4px 22px !important; }
html body .bfvr-fenster .bfvr-f-fakten .bfvr-f-fakt { align-items: center !important; padding: 16px 0; }
html body .bfvr-fenster .bfvr-f-fakten .bfvr-f-fakt + .bfvr-f-fakt { border-top: 1px solid #ece9e5; }
html body .bfvr-fenster .bfvr-f-fakten .bfvr-f-fakt:first-child .bfvr-f-fakt-ico { color: #009c4f; }
html body .bfvr-fenster .bfvr-f-fakten .bfvr-f-fakt:last-child .bfvr-f-fakt-ico { color: #4f8a64; }
@media (max-width: 560px) { html body .bfvr-fenster .bfvr-f-fakten { padding: 2px 16px !important; } }
/* Note-Kopf (User 03.11.2026): Sterne + Urteil zusammen nur so hoch wie die Ziffern „4,71“, kein Leerraum dazwischen */
html body .bfvr-fenster .bfvr-kopf--karte .bfvr-f-note { align-items: center !important; gap: 14px !important; }
html body .bfvr-fenster .bfvr-kopf--karte .bfvr-f-note b { line-height: .74 !important; padding-top: 2px; }
html body .bfvr-fenster .bfvr-f-note-r { gap: 3px !important; align-content: center; transform: translateY(2px); }
html body .bfvr-fenster .bfvr-f-note-r .bfvr-sterne { font-size: 21px !important; line-height: 1 !important; display: block; }
html body .bfvr-fenster .bfvr-f-note-r strong { font-size: 17px !important; line-height: 1.05 !important; }
@media (max-width: 560px) { html body .bfvr-fenster .bfvr-f-note-r .bfvr-sterne { font-size: 19px !important; } html body .bfvr-fenster .bfvr-f-note-r strong { font-size: 16px !important; } }

/* ===== Fenster V2 (vom User freigegeben 03.11.2026; nur hell, kein Dunkelmodus) ===== */
.bfvr-fenster .bfvr-fenster-innen { gap: 0 !important; padding: 0 !important; }
.bfvr-v2-kopf { position: sticky; top: 0; z-index: 4; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 20px 28px 14px; background: #f2f2f2; border-bottom: 1px solid transparent; transition: border-color .15s; }
.bfvr-v2-kopf.is-schatten { border-bottom-color: #e3e1dd; }
html body .bfvr-fenster .bfvr-v2-kopf .bfvr-f-titel { margin: 0 !important; font-size: 22px !important; font-weight: 700 !important; line-height: 1.2 !important; }
html body .bfvr-fenster .bfvr-v2-kopf .bfvr-zu { position: static !important; margin: 0 !important; width: 40px; height: 40px; border: 1px solid #e3e1dd; background: #fff; }
.bfvr-v2 { display: grid; gap: 16px; padding: 4px 28px 22px; }
.bfvr-v2 > section, .bfvr-v2 > details { background: #fff; border: 1px solid #e7e4e0; border-radius: 20px; }
/* Gesamturteil */
.bfvr-v2-urteil { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px 30px; align-items: center; padding: 22px; }
.bfvr-v2-note { display: grid; gap: 4px; justify-items: start; }
.bfvr-v2-note b { font-size: 58px; font-weight: 700; line-height: .95; letter-spacing: -.03em; color: var(--bfvr-text); }
.bfvr-v2-note .bfvr-sterne { font-size: 20px; }
.bfvr-v2-note strong { font-size: 15px; font-weight: 600; color: var(--bfvr-text); }
.bfvr-v2-note small { font-size: 12.5px; color: #6b7080; }
.bfvr-v2-verteilung { display: grid; gap: 8px; min-width: 0; }
.bfvr-v2-vz { display: grid; grid-template-columns: 30px minmax(0, 1fr) 38px; gap: 10px; align-items: center; font-size: 13px; color: #6b7080; font-variant-numeric: tabular-nums; }
.bfvr-v2-vz span:last-child { text-align: right; }
.bfvr-v2-balken { height: 7px; border-radius: 99px; background: #e8e6e2; overflow: hidden; }
.bfvr-v2-balken i { display: block; height: 100%; border-radius: 99px; background: #d6aa58; }
html body .bfvr-fenster p.bfvr-v2-basis { grid-column: 1 / -1; margin: 0 !important; font-size: 12.5px; color: #9a9fa9; }
/* Fakten */
.bfvr-v2 > section.bfvr-v2-fakten { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; background: none; border: 0; border-radius: 0; }
.bfvr-v2-fakt { display: grid; gap: 8px; align-content: start; padding: 14px; background: #fff; border: 1px solid #e7e4e0; border-radius: 16px; }
.bfvr-v2-ico { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: #f2f2f2; color: #6b7080; }
.bfvr-v2-fakt.is-gruen .bfvr-v2-ico { color: #16924f; }
.bfvr-v2-fakt b { font-size: 15px; font-weight: 600; line-height: 1.25; color: var(--bfvr-text); }
.bfvr-v2-fakt > span:last-child { font-size: 12.5px; line-height: 1.4; color: #6b7080; }
/* KI */
.bfvr-v2-ki { display: grid; gap: 14px; padding: 20px 22px; }
.bfvr-v2-ki-kopf { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
html body .bfvr-fenster .bfvr-v2-ki h3, html body .bfvr-fenster .bfvr-v2-liste h3 { margin: 0 !important; font-size: 17px !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: 0 !important; }
.bfvr-v2-marke { font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #6b7080; }
.bfvr-v2-tabs { display: inline-flex; gap: 4px; padding: 4px; border-radius: 12px; background: #f2f2f2; border: 1px solid #e7e4e0; }
html body .bfvr-fenster .bfvr-v2-tab { all: unset; display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 9px; font-size: 13px; font-weight: 600; color: #6b7080; cursor: pointer; }
html body .bfvr-fenster .bfvr-v2-tab[aria-selected="true"] { background: #fff; color: var(--bfvr-text); box-shadow: 0 1px 3px rgba(0, 0, 0, .08); }
html body .bfvr-fenster .bfvr-v2-tab:focus-visible { outline: 2px solid #8c1d18; outline-offset: 2px; }
.bfvr-v2-tab > span { width: 18px; height: 18px; border-radius: 50%; display: grid; place-items: center; color: #fff; }
.bfvr-v2-tab.is-lob > span { background: #16924f; } .bfvr-v2-tab.is-kritik > span { background: #b4473b; }
.bfvr-v2-panel { display: grid; gap: 12px; }
.bfvr-v2-panel[hidden] { display: none !important; }
html body .bfvr-fenster .bfvr-v2-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 !important; }
.bfvr-v2-chips span { font-size: 13px; font-weight: 600; padding: 6px 12px; border-radius: 99px; }
.bfvr-v2-panel.is-lob .bfvr-v2-chips span { color: #16924f; background: #eef7f1; border: 1px solid #cfe7d8; }
.bfvr-v2-panel.is-kritik .bfvr-v2-chips span { color: #b4473b; background: #fbf1ef; border: 1px solid #f1d3cd; }
html body .bfvr-fenster .bfvr-v2-panel p:not(.bfvr-v2-chips) { margin: 0 !important; color: #6b7080; }
html body .bfvr-fenster .bfvr-v2-ki-fuss { margin: 0 !important; font-size: 12px; color: #9a9fa9; }
/* Liste */
.bfvr-v2 > section.bfvr-v2-liste { display: grid; gap: 10px; background: none; border: 0; border-radius: 0; }
.bfvr-v2-liste-kopf { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; padding: 4px 2px 0; }
.bfvr-v2-filter { display: flex; gap: 6px; flex-wrap: wrap; }
html body .bfvr-fenster .bfvr-v2-filter button { all: unset; font-size: 12.5px; font-weight: 500; border: 1px solid #e7e4e0; background: #fff; color: #6b7080; padding: 6px 11px; border-radius: 99px; cursor: pointer; }
html body .bfvr-fenster .bfvr-v2-filter button[aria-pressed="true"] { border-color: var(--bfvr-text); color: var(--bfvr-text); }
html body .bfvr-fenster .bfvr-v2-filter button:focus-visible { outline: 2px solid #8c1d18; outline-offset: 2px; }
.bfvr-v2-liste .bfvr-karte[hidden] { display: none !important; }
html body .bfvr-fenster .bfvr-v2-leer { margin: 0 !important; text-align: center; font-size: 13px; color: #6b7080; }
/* Prüfhinweis */
.bfvr-v2-pruefung { padding: 4px 18px; }
.bfvr-v2-pruefung summary { cursor: pointer; font-weight: 600; padding: 12px 0; list-style: none; display: flex; justify-content: space-between; gap: 10px; color: var(--bfvr-text); }
.bfvr-v2-pruefung summary::-webkit-details-marker { display: none; }
.bfvr-v2-pruefung summary::after { content: "+"; color: #6b7080; font-weight: 500; }
.bfvr-v2-pruefung[open] summary::after { content: "–"; }
html body .bfvr-fenster .bfvr-v2-pruefung p { margin: 0 0 12px !important; color: #6b7080; font-size: 13.5px; }
html body .bfvr-fenster .bfvr-v2-pruefung a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.bfvr-fenster .bfvr-f-fuss { margin: 0 !important; padding: 12px 22px calc(14px + env(safe-area-inset-bottom, 0px)) !important; }
@media (max-width: 560px) {
  .bfvr-v2-kopf { padding: 16px 14px 12px; }
  .bfvr-v2 { padding: 2px 14px 18px; }
  .bfvr-v2-urteil { grid-template-columns: 1fr; padding: 18px; }
  .bfvr-v2-note { grid-template-columns: auto auto; align-items: center; column-gap: 14px; }
  .bfvr-v2-note b { grid-row: span 3; font-size: 52px; }
  .bfvr-v2 > section.bfvr-v2-fakten { grid-template-columns: 1fr; }
  .bfvr-v2-fakt { grid-template-columns: 36px minmax(0, 1fr); column-gap: 12px; align-items: center; }
  .bfvr-v2-ico { grid-row: span 2; }
}
/* Handy: Sterne + Urteil so hoch wie die Note, „aus N Bewertungen …“ darunter über die volle Breite */
@media (max-width: 560px) {
  .bfvr-v2-note { grid-template-columns: auto minmax(0, 1fr); row-gap: 2px; }
  .bfvr-v2-note b { grid-row: 1 / span 2; line-height: .78; }
  .bfvr-v2-note .bfvr-sterne { align-self: end; font-size: 19px; }
  .bfvr-v2-note strong { align-self: start; line-height: 1.1; }
  .bfvr-v2-note small { grid-column: 1 / -1; margin-top: 8px; }
}

/* E206: Verteilung am Handy eingeklappt („Verteilung ansehen ▾“), am Rechner immer neben der Note */
html body .bfvr-fenster .bfvr-v2-vt-auf { display: none; }
@media (max-width: 560px) {
  html body .bfvr-fenster .bfvr-v2-vt-auf { all: unset; display: inline-flex; align-items: center; gap: 6px; justify-self: start; font-size: 14px; font-weight: 600; color: var(--bfvr-text); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
  html body .bfvr-fenster .bfvr-v2-vt-auf:focus-visible { outline: 2px solid #8c1d18; outline-offset: 2px; }
  html body .bfvr-fenster .bfvr-v2-vt-auf span { text-decoration: none; transition: transform .15s; }
  .bfvr-v2-urteil.is-vt-auf .bfvr-v2-vt-auf span { transform: rotate(180deg); }
  .bfvr-v2-urteil:not(.is-vt-auf) .bfvr-v2-verteilung, .bfvr-v2-urteil:not(.is-vt-auf) .bfvr-v2-basis { display: none !important; }
  .bfvr-v2-urteil { row-gap: 12px; }
}
/* Handy (User 03.11.2026): die drei Fakten als EINE Karte mit Trennlinien; Symbol so hoch wie Titel + Text daneben */
@media (max-width: 560px) {
  .bfvr-v2 > section.bfvr-v2-fakten { gap: 0; padding: 0 16px; background: #fff; border: 1px solid #e7e4e0; border-radius: 20px; }
  .bfvr-v2-fakt { padding: 14px 0; border: 0; border-radius: 0; background: none; row-gap: 1px; column-gap: 12px; }
  .bfvr-v2-fakt + .bfvr-v2-fakt { border-top: 1px solid #ece9e5; }
  .bfvr-v2-ico { width: 40px; height: 40px; border-radius: 10px; align-self: center; }
  .bfvr-v2-ico svg { width: 19px; height: 19px; }
  .bfvr-v2-fakt b { align-self: end; line-height: 1.2; }
  .bfvr-v2-fakt > span:last-child { align-self: start; line-height: 1.3; }
}
