/* =============================================================================================
   Rechtstexte als Fenster (assets/js/rechtstexte.js) — im Stil von MD, mit den Farben des Portals
   =============================================================================================
   ⭐ Vorgabe des Auftraggebers 15.10.2026: „Portale ein Fenster im Stil von MD, mit ihren eigenen Farben." Aufbau und
   Maße sind die des MD-Fensters (.rechtsfenster im Theme datenspur): Kopf mit Titel und eingerahmtem Kreuz, Text mit
   eigenem Bildlauf, Fuß auf Papierfläche mit „Fenster schließen" als weissem Knopf links und dem kleinen Ausweg „Ganze
   Seite" rechts.
   Die FARBEN kommen aus dem Portal: zuerst die Tokens des MD-Themes (--signal, --tinte …), sonst die globalen Farben
   des Elementor-Kits (--e-global-color-primary/-text), sonst ein neutraler Rückfall. Die SCHRIFTEN liest rechtstexte.js
   beim Öffnen aus dem Theme ab (--rt-seite-titel/-h3/-text); MD-Tokens (--f-display/--f-text) gehen vor. Kein Portal muss dafür etwas einstellen.
   ⚠️ Der Knopf trägt bewusst NICHT die Akzentfarbe (Begründung aus MD, 16.09.2026: gefüllt war er lauter als der
   Vertragstext und sah aus wie der Bestellknopf). Akzent nur an Fokusrahmen und Hover. */
html body dialog.bfv-ds-fenster{
  --rt-text:var(--tinte, var(--e-global-color-text, #1d2330));
  --rt-akzent:var(--signal, var(--e-global-color-primary, #2563eb));
  --rt-akzent-dunkel:var(--signal-dunkel, var(--e-global-color-primary, #1d4ed8));
  --rt-weiss:var(--weiss, #fff);
  --rt-papier:var(--papier, #f6f7f9);
  --rt-linie:var(--linie, #e3e5ea);
  --rt-linie-stark:var(--linie-stark, #c9ccd4);
  --rt-leise:var(--nebel, #6b7280);
  --rt-titel:var(--f-display, var(--rt-seite-titel, var(--e-global-typography-primary-font-family, inherit)));
  --rt-h3:var(--f-display, var(--rt-seite-h3, var(--rt-titel)));
  --rt-schrift:var(--f-text, var(--rt-seite-text, var(--e-global-typography-text-font-family, inherit)));
  --rt-mono:var(--f-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
  --rt-radius:calc(var(--radius, 12px) + 2px);
  width:min(720px,calc(100vw - 32px));max-width:none;max-height:min(84vh,860px);
  margin:auto;padding:0;border:0;border-radius:var(--rt-radius);
  background:var(--rt-weiss);color:var(--rt-text);
  box-shadow:0 30px 80px -30px rgba(10,26,36,.6);
  overflow:hidden;display:none;flex-direction:column;
}
/* ⚠️ NUR MIT [open]: <dialog> trägt im Ruhezustand display:none, ein unbedingtes flex machte es dauerhaft sichtbar. */
html body dialog.bfv-ds-fenster[open]{display:flex}
dialog.bfv-ds-fenster::backdrop{background:rgba(10,26,36,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.bfv-ds-fenster__kopf{flex:none;display:flex;align-items:center;gap:16px;padding:16px 18px;border-bottom:1px solid var(--rt-linie)}
html body .bfv-ds-fenster__titel{flex:1 1 auto;margin:0;padding:0;font-family:var(--rt-titel);font-weight:700;font-size:17px;letter-spacing:-.014em;line-height:1.25;color:var(--rt-text)}
html body .bfv-ds-fenster__zu{
  flex:none;display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;min-width:36px;margin:0;padding:0;cursor:pointer;box-shadow:none;
  background:var(--rt-papier);border:1px solid var(--rt-linie-stark);border-radius:9px;color:var(--rt-text);
  transition:color .15s ease,border-color .15s ease,background-color .15s ease;
}
html body .bfv-ds-fenster__zu:hover{border-color:var(--rt-leise);background:var(--rt-linie);color:var(--rt-text)}
html body .bfv-ds-fenster__zu:focus-visible{outline:2px solid var(--rt-akzent);outline-offset:2px}
/* overscroll-behavior: das Mausrad bleibt am Textende im Fenster, die Seite dahinter wandert nicht mit. */
.bfv-ds-fenster__koerper{font-family:var(--rt-schrift);flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 18px 24px;font-size:15px;line-height:1.6}
.bfv-ds-fenster__koerper:focus{outline:none}
.bfv-ds-fenster__koerper:focus-visible{outline:2px solid var(--rt-akzent);outline-offset:-3px}
.bfv-ds-fenster__koerper > div > :first-child,.bfv-ds-fenster__koerper > :first-child{margin-top:0}
/* Fließtext in der Schrift der Seite — auch gegen Theme-Regeln für p/li, die das Fenster sonst mit body-Schrift treffen. */
html body dialog.bfv-ds-fenster .bfv-ds-fenster__koerper :is(p,li,td,th,dd,dt,address){font-family:var(--rt-schrift)}
html body dialog.bfv-ds-fenster .bfv-ds-fenster__koerper :is(h1,h2,h4){font-family:var(--rt-titel)}
html body dialog.bfv-ds-fenster .bfv-ds-fenster__koerper h3{font-family:var(--rt-h3)}
.bfv-ds-fenster__koerper h2{font-family:var(--rt-titel);font-size:19px;line-height:1.3;margin:1.4em 0 .5em;color:var(--rt-text)}
.bfv-ds-fenster__koerper h3{font-family:var(--rt-h3);font-size:16px;margin:1.2em 0 .4em;color:var(--rt-text)}
.bfv-ds-fenster__koerper a{color:var(--rt-akzent-dunkel)}
/* flex-wrap: Knopf und Ausweg messen zusammen rund 330px — auf einem schmalen Telefon fällt der Ausweg unter den Knopf. */
.bfv-ds-fenster__fuss{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:12px 18px;border-top:1px solid var(--rt-linie);background:var(--rt-papier)}
html body .bfv-ds-fenster__schliessen{
  flex:none;display:inline-flex;align-items:center;justify-content:center;margin:0;
  font-family:var(--rt-titel);font-weight:700;font-size:14.5px;line-height:1.2;letter-spacing:normal;text-transform:none;
  padding:10px 20px;min-height:42px;cursor:pointer;box-shadow:none;
  border:1px solid var(--rt-linie-stark);border-radius:7px;background:var(--rt-weiss);color:var(--rt-text);
  transition:border-color .16s ease,background-color .16s ease;
}
html body .bfv-ds-fenster__schliessen:hover{border-color:var(--rt-leise);background:var(--rt-papier);color:var(--rt-text)}
html body .bfv-ds-fenster__schliessen:focus-visible{outline:2px solid var(--rt-akzent);outline-offset:2px}
/* Der Ausweg (ganze Seite, PDF): klein, an die rechte Kante (margin-inline-start statt left — Arabisch auf MD). */
.bfv-ds-fenster__rechts{display:inline-flex;flex-wrap:wrap;gap:8px 18px;margin-inline-start:auto}
html body .bfv-ds-fenster__fuss a{
  flex:none;display:inline-flex;align-items:center;gap:7px;
  font-family:var(--rt-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--rt-leise);text-decoration:none;
}
/* Die Unterstreichung am Wort, nicht am Verweis — sonst läuft sie unter dem Pfeil durch. */
.bfv-ds-fenster__fuss a span{border-bottom:1px solid currentColor}
.bfv-ds-fenster__fuss a svg{flex:none}
html body .bfv-ds-fenster__fuss a:hover{color:var(--rt-akzent-dunkel)}
html body .bfv-ds-fenster__fuss a:focus-visible{outline:2px solid var(--rt-akzent);outline-offset:3px;border-radius:3px}
html body .bfv-ds-fenster__fuss a[hidden]{display:none}
/* Die Seite darunter scrollt nicht mit, solange das Fenster offen ist (rechtstexte.js setzt die Klasse). */
html.ist-fenster-offen,html.ist-fenster-offen body{overflow:hidden}
@media(max-width:560px){
  html body dialog.bfv-ds-fenster{width:calc(100vw - 16px);max-height:92vh;border-radius:calc(var(--rt-radius) - 2px)}
  .bfv-ds-fenster__kopf{padding:14px 15px}
  html body .bfv-ds-fenster__titel{font-size:15.5px}
  .bfv-ds-fenster__koerper{padding:17px 15px 22px}
  .bfv-ds-fenster__fuss{padding:11px 15px;gap:10px 14px}
  html body .bfv-ds-fenster__schliessen{padding:10px 17px}
}
/* „Gesondertes Widerrufsrecht" als Kasten — wie auf MD (.transparenz--achtung im Theme datenspur: Bernstein-Rand und
   heller Grund), seit v1.93.1 auf jedem Portal, auf der Seite und im Fenster (Vorgabe des Auftraggebers 15.10.2026).
   Feste Farben, nicht die Portalfarbe: Es ist ein Warnhinweis, kein Schmuck. */
html body .bfv-widerruf .transparenz.transparenz--achtung{
  background:#FFF8E8;border:1px solid #FFC24B;border-left:4px solid #FFC24B;
  border-radius:var(--radius, 8px);padding:20px 22px;margin:0 0 28px;color:inherit;
}
html body .bfv-widerruf .transparenz--achtung > h2:first-child{margin-top:0}
html body .bfv-widerruf .transparenz--achtung p{margin:0}
html body .bfv-widerruf .transparenz--achtung p + p{margin-top:11px}
@media(max-width:560px){html body .bfv-widerruf .transparenz.transparenz--achtung{padding:16px 16px}}

/* Knopf „Einwilligung ändern" in der Erklärung (öffnet das Banner, consent.js). Eigene Farben gegen Theme-Knopfstile. */
html body .bfv-datenschutz button.bfv-ds-knopf{
  display:inline-block;margin:.4em 0 0;padding:8px 14px;font:600 14px/1.2 inherit;letter-spacing:normal;text-transform:none;
  border:1px solid #c9ccd4;border-radius:8px;background:#fff;color:#1d2330;cursor:pointer;box-shadow:none;
}
html body .bfv-datenschutz button.bfv-ds-knopf:hover{background:#f0f0f2;color:#1d2330}

