/* =========================================================================
   DELPHIS – custom.css
   Verhindert, dass Elemente auf Arial zurueckfallen

   Wird von YOOtheme Pro automatisch geladen, und zwar NACH theme.css.
   Deshalb greifen die Regeln hier ohne !important - mit Ausnahme von
   Google Maps (Punkt 5).

   Grundprinzip dieser Datei: "inherit" statt fest notierter Schriftart.
   Die Elemente uebernehmen automatisch die Schrift der Seite. Es muss
   hier also keine Schriftart gepflegt werden, und die Datei funktioniert
   unveraendert weiter, wenn die Seitenschrift spaeter gewechselt wird.
   ========================================================================= */


/* -------------------------------------------------------------------------
   1. Voraussetzung – vor dem Livegang einmal pruefen
   -------------------------------------------------------------------------
   "inherit" reicht immer das weiter, was weiter oben im Dokument steht.
   Enthaelt der Stack auf html/body Arial, wird dieses Arial durch die
   Regeln unten ueberallhin VERTEILT statt entfernt. Der gesamte Ansatz
   steht und faellt also mit einer sauberen Wurzel.

   Pruefen: DevTools > <html> auswaehlen > Computed > font-family

   Ist Arial enthalten, den folgenden Block einkommentieren und die
   Schriftart der Seite eintragen. Ist der Stack sauber, bleibt der Block
   auskommentiert - dann bleibt das Theme die einzige Quelle der Schrift
   und es gibt keine zweite Stelle, die spaeter auseinanderlaufen kann.

   Bewusst OHNE Arial UND OHNE Helvetica: beide gehoeren zu
   Monotype/Linotype und unterliegen derselben Lizenzproblematik. Ein
   Austausch von Arial gegen Helvetica loest das Problem also nicht.
   ------------------------------------------------------------------------- */


html,
body {
  font-family: "Nunito Sans", system-ui, sans-serif;
}


/* Stand der Pruefung fuer DELPHIS:

   Das Child-Theme liefert seine Schriften lokal aus (fonts/), eingebunden
   ueber fonts/font-af30b405.css. Per @font-face deklariert sind dort
   Montserrat und Nunito Sans. Weder in diesem Stylesheet noch in den
   Template-Dateien des Child-Themes kommt Arial vor.

   Der Block oben bleibt deshalb auskommentiert - die Schrift wird
   ausschliesslich vom Theme gesetzt und von hier aus nur weitervererbt. */


/* -------------------------------------------------------------------------
   2. Formularelemente
   -------------------------------------------------------------------------
   Der wichtigste Block. font-family wird von Formularelementen NICHT
   vererbt. Wo nichts anderes gesetzt ist, greift das User-Agent-Stylesheet
   des Browsers - und Chrome deklariert dort fuer <button> woertlich:

       font: 400 13.333px Arial;

   Das Arial stammt in diesen Faellen also weder aus dem Theme noch aus
   einem Plugin, sondern aus dem Browser selbst. Genau deshalb bleibt es
   in Suchfeldern, Dropdowns und Buttons stehen, obwohl der Rest der Seite
   laengst korrekt gesetzt ist.
   ------------------------------------------------------------------------- */

button,
input,
optgroup,
option,
select,
textarea,
fieldset,
legend,
label {
  font-family: inherit;
}


/* Pseudoelemente MUESSEN in eigenen Regeln stehen.
   Grund: Kennt ein Browser einen Selektor in einer Liste nicht, verwirft er
   die KOMPLETTE Regel - inklusive aller anderen Selektoren darin. Stuenden
   sie oben mit drin, koennte ein einziger nicht unterstuetzter Selektor den
   gesamten Block ausser Kraft setzen. */

::placeholder {
  font-family: inherit;
}

::file-selector-button {
  font-family: inherit;
}

::-webkit-file-upload-button {
  font-family: inherit;
}


/* UIkit-Formularklassen (YOOtheme) */

.uk-input,
.uk-select,
.uk-textarea,
.uk-radio,
.uk-checkbox,
.uk-button,
.uk-form-label,
.uk-form-custom,
.uk-search-input {
  font-family: inherit;
}


/* Hinweis zu <option>:
   Die Darstellung geoeffneter Dropdown-Listen uebernimmt unter Windows das
   Betriebssystem. Die Schriftart ist dort nicht zuverlaessig per CSS
   steuerbar - das ist eine Browser-/OS-Grenze, kein Fehler im Theme.
   Es wird dabei aber die System-Schrift verwendet, nicht Arial. */


/* -------------------------------------------------------------------------
   3. WP Store Locator
   -------------------------------------------------------------------------
   Betrifft das eigene Markup des Plugins: Suchformular, Umkreis-Auswahl
   und Ergebnisliste. Der Stern-Selektor ist hier unbedenklich - WPSL
   arbeitet in diesen Bereichen nicht mit Icon-Fonts.
   ------------------------------------------------------------------------- */

#wpsl-wrap,
#wpsl-wrap *,
#wpsl-result-list,
#wpsl-result-list * {
  font-family: inherit;
}


/* -------------------------------------------------------------------------
   4. Cookie-Banner (Borlabs)
   -------------------------------------------------------------------------
   Nur relevant, falls Borlabs Cookie auf dieser Seite eingesetzt wird.
   Trifft der Selektor nicht zu, ist die Regel wirkungslos und kann
   entfernt werden.

   Zu beachten: Das Banner wird per JavaScript nachgeladen und fehlt
   deshalb bei einem zu frueh ausgefuehrten Scan.
   ------------------------------------------------------------------------- */

.brlbs-cmpnt-container,
.brlbs-cmpnt-container * {
  font-family: inherit;
}


/* -------------------------------------------------------------------------
   5. Sonderfall Google Maps
   -------------------------------------------------------------------------
   Google schreibt 'font-family: Roboto, Arial, sans-serif' zur Laufzeit per
   Inline-Style in Kartensteuerung, Attribution und InfoWindow. Das laesst
   sich nicht an der Quelle abstellen.

   !important aus dem Autoren-Stylesheet schlaegt Googles Inline-Styles:
   es wird also nichts mehr in Arial GERENDERT. Der String bleibt jedoch im
   DOM stehen und wird von Scan-Tools weiterhin gemeldet. Vollstaendig
   entfernen liesse er sich nur durch Abloesung von Google Maps
   (z. B. Leaflet/OpenStreetMap).

   Zu beachten: Googles Nutzungsbedingungen untersagen das Veraendern der
   Attribution. Das Umstellen ihrer Schriftart ist eine Grauzone.

   WICHTIG: hier bewusst KEIN ".gm-style *".
   Google Maps nutzt fuer einige Bedienelemente (u. a. "Standort ermitteln"
   neben dem Pegman) einen Icon-Font. Ein pauschaler Stern-Selektor
   ueberschreibt dessen font-family, und die Icons erscheinen als leere
   Kaesten. Das gilt auch fuer "inherit" - auch damit wird der Icon-Font
   durch die Textschrift ersetzt.

   Deshalb zweistufig:

   a) .gm-style setzt die Schrift nur auf dem Container. Alle Textelemente
      erben sie. Icon-Elemente, die ihre eigene font-family mitbringen,
      behalten diese und bleiben unbeschaedigt.

   b) Die wenigen Elemente, die Google per Inline-Style selbst mit
      "Roboto, Arial, sans-serif" versieht, werden gezielt nachgezogen:
      InfoWindow (.gm-style-iw), Attribution/Copyright (.gm-style-cc)
      und die Kartentyp-Umschaltung Karte/Satellit (.gm-style-mtc).
   ------------------------------------------------------------------------- */

.gm-style {
  font-family: inherit !important;
}

.gm-style-iw,
.gm-style-iw *,
.gm-style-cc,
.gm-style-cc *,
.gm-style-mtc,
.gm-style-mtc * {
  font-family: inherit !important;
}


/* -------------------------------------------------------------------------
   6. Eskalationsstufe – standardmaessig DEAKTIVIERT
   -------------------------------------------------------------------------
   Zuerst ohne diesen Block testen und neu scannen. Nur einkommentieren,
   wenn ein Scan nachweist, dass Fremd-CSS die Regeln oben ueberschreibt.

   Wird dieser Block aktiviert, MUSS anschliessend Punkt 7 geprueft werden,
   sonst werden Icon-Fonts als leere Kaesten dargestellt.
   ------------------------------------------------------------------------- */

/*
* {
  font-family: inherit !important;
}
*/


/* -------------------------------------------------------------------------
   7. Icon-Fonts zuruecksetzen – nur noetig, wenn Punkt 6 aktiv ist
   -------------------------------------------------------------------------
   Icon-Fonts, die direkt auf dem Element gesetzt sind (FontAwesome,
   Dashicons), werden vom Stern-Selektor ueberschrieben und erscheinen als
   leere Kaesten. Icon-Fonts, die ausschliesslich ueber ::before definiert
   sind, sind nicht betroffen - "*" trifft keine Pseudoelemente.

   UIkit-/YOOtheme-Icons sind Inline-SVG und damit generell unkritisch.

   Diese Liste auf die Icon-Fonts kuerzen, die tatsaechlich geladen werden.
   ------------------------------------------------------------------------- */

/*
.dashicons,
.dashicons-before::before,
.fa, .fas, .far, .fal, .fab,
[class^="fa-"], [class*=" fa-"],
.brlbs-icon, [class^="brlbs-icon"] {
  font-family: revert !important;
}
*/


/* -------------------------------------------------------------------------
   8. Badmoebel-Konfigurator (.pk-configurator)
   -------------------------------------------------------------------------
   Eigenentwicklung, eingebunden u. a. unter /konfigurator/.

   Problem:
   Das Plugin setzt auf seinem eigenen Container .pk-configurator einen
   festen System-Schrift-Stack (-apple-system, system-ui, ...). Damit ist
   die Vererbungskette an dieser Stelle unterbrochen: oberhalb, auf
   <html>, steht korrekt Nunito Sans - ab .pk-configurator abwaerts erben
   alle Elemente die System-Schrift.

   In den Regeln unterhalb des Containers (.pk-tab, .pk-variant-btn,
   .pk-variant-label ...) ist KEINE font-family notiert. Die Elemente
   verhalten sich also voellig korrekt, sie bekommen nur von oben den
   falschen Wert gereicht. Es liegt somit auch kein Spezifitaets-Konflikt
   mit Punkt 2 vor - jene Regel greift, sie erbt nur den System-Stack.

   Loesung:
   .pk-configurator wieder auf "inherit" setzen. Der Container uebernimmt
   damit die Seitenschrift, und alles darunter erbt sie wie vorgesehen.

   !important ist noetig, weil die Plugin-Regel dieselbe Spezifitaet hat
   (0,1,0) und die Ladereihenfolge von custom.css gegenueber dem
   Plugin-Stylesheet nicht garantiert ist. Der Block ist auf das Widget
   begrenzt und wirkt ausschliesslich dort.

   Der Stern-Selektor ist streng genommen nicht erforderlich - er dient
   als Absicherung, falls in Bereichen, die noch nicht geprueft wurden,
   doch eine eigene font-family gesetzt ist.

   Der Stern-Selektor ist in diesem Fall unbedenklich: der Konfigurator
   verwendet KEINE Icon-Fonts. Saemtliche Symbole sind Inline-SVG
   (Teilen-Button, Haekchen), der Akkordeon-Pfeil ist das Textzeichen
   "▾". Es kann also nichts zerstoert werden.

   Hinweis zu --pk-font:
   Die Inline-Variable --pk-font am Container ist eine FARBE (#1f2937),
   trotz des Namens. Sie hat mit der Schriftart nichts zu tun.

   Nachhaltiger waere eine Korrektur an der Quelle: Da der Konfigurator
   eine Eigenentwicklung ist, genuegt dort EINE Aenderung - die
   font-family-Deklaration auf .pk-configurator in der style.css des
   Plugins von einem festen System-Stack auf "inherit" umstellen. Das
   Widget uebernimmt dann automatisch die Schrift jeder Seite, in die es
   eingebunden wird. Dieser Block hier entfaellt danach ersatzlos.
   ------------------------------------------------------------------------- */

.pk-configurator,
.pk-configurator * {
  font-family: inherit !important;
}


/* -------------------------------------------------------------------------
   9. Projektspezifische Nachtraege
   ------------------------------------------------------------------------- */

/* ... hier ergaenzen, was ein erneuter Scan zusaetzlich meldet ... */
