/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

/* --- Kontrast-Fix, 16.08.2026 ---------------------------------------
   Bricks setzt in frontend-layer.min.css global:  label { color: var(--bricks-text-light) }
   Das ist #9e9e9e und ergibt auf Weiss nur 2,68:1 — unter der WCAG-Grenze von 4,5:1.
   Betroffen sind alle blanken <label>-Elemente, u. a. im Cookie-Dialog
   (Must-Have Cookie) und in den Fluent-Forms-Formularen.
   var(--text-body) ist ein CF-Token und kippt in invertierten Abschnitten mit. */
body label {
	color: var(--text-body);
}

/* --- Themify-Ersatz, 16.08.2026 -------------------------------------
   Bricks laedt themify-icons-layer.min.css (13,7 KB) plus die Schriftdatei
   themify.woff auf jeder Seite. Benutzt wird davon genau ein Zeichen:
   ti-angle-down als Pfeil im FAQ-Akkordeon (Startseite und /faq/).
   Hier als SVG-Maske nachgebaut, damit die Icon-Schrift entfallen kann.
   Das Abmelden passiert in der functions.php. */
.brxe-accordion .accordion-title .icon.ti-angle-down::before {
	content: none;
}

.brxe-accordion .accordion-title .icon.ti-angle-down {
	display: inline-block;
	width: 1em;
	height: 1em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M5%209l7%207%207-7'%20fill='none'%20stroke='%23000'%20stroke-width='2.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M5%209l7%207%207-7'%20fill='none'%20stroke='%23000'%20stroke-width='2.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* --- Schrift-Fallback mit angeglichenen Metriken, 22.08.2026 --------
   Geladen wird Archivo ueber Core Framework — kein @font-face hier.
   Bricks und CF geben aber "font-family: Archivo" OHNE jede Ersatzschrift
   aus. Bis Archivo geladen ist, rechnet der Browser deshalb mit seiner
   Standardschrift (in Chrome eine Serife) — die Metriken passen nicht
   annaehernd, und beim Umschalten springt das Layout.

   Aus der Schriftdatei ausgelesen (Archivo Variable, google/fonts):
     unitsPerEm 1000, hhea ascender 878, descender -210, lineGap 0,
     xAvgCharWidth 575, xHeight 526, capHeight 686
   Bezugsgroesse Arial: unitsPerEm 2048, xAvgCharWidth 1113

   size-adjust     = (575/1000) / (1113/2048) = 105,8 %
   ascent-override = (878/1000) / 1,058       =  83,0 %
   descent-override= (210/1000) / 1,058       =  19,8 % */
@font-face {
	font-family: "Archivo Fallback";
	src: local("Arial"), local("Helvetica Neue"), local("Helvetica"), local("Liberation Sans"), local("Roboto");
	size-adjust: 105.8%;
	ascent-override: 83.0%;
	descent-override: 19.8%;
	line-gap-override: 0%;
}

html body,
html button,
html input,
html select,
html textarea,
html h1,
html h2,
html h3,
html h4,
html h5,
html h6 {
	font-family: Archivo, "Archivo Fallback", Arial, Helvetica, sans-serif;
}

/* --- Token-Bruecke Prototyp -> Core Framework, 22.08.2026 -----------
   Der freigegebene Prototyp arbeitet mit --wpk-*. Statt beide Namen
   parallel zu pflegen, zeigen die Prototyp-Namen hier auf die CF-Tokens.
   Die Hex-Werte dahinter greifen nur, solange ein CF-Token fehlt. */
:root {
	--wpk-paper: var(--bg-body, #F7F7F5);
	--wpk-paper-2: var(--bg-surface, #EDEDEA);
	--wpk-ink: var(--tertiary, #111111);
	--wpk-ink-soft: var(--text-body, #26262A);
	--wpk-mute: var(--text-mute, #55554F);
	--wpk-line: var(--border-primary, #DCDCD7);
	--wpk-orange: var(--secondary, #E8610A);
	--wpk-orange-deep: var(--primary, #B84806);
	--wpk-mark: var(--mark, #FFF0B8);
}

/* Sichtbarer Fokus im Markenton, WCAG 2.2 AA (2.4.7, 2.4.11). */
:focus-visible {
	outline: 3px solid var(--wpk-orange-deep);
	outline-offset: 3px;
}

/* --- Sticky-Header: Fokus und Ankersprunge, 16.08.2026 --------------
   WCAG 2.2 AA, Kriterium 2.4.11 Focus Not Obscured: ein fokussiertes
   Element darf nicht von fixierten Inhalten verdeckt werden. Der Sticky
   Header tut genau das, sobald man sich mit Tab durch die Seite bewegt.
   scroll-padding-top am Wurzelelement wirkt sowohl beim Tabben als auch
   bei Ankersprungen wie "Wie Hypnose wirkt".
   Hinweis: CF setzt die Grundschriftgrosse auf 62,5 %, 1 rem sind also
   10 px. --wpk-header-h ist die einzige Stellschraube. */
:root {
	--wpk-header-h: 9rem;
}

html {
	scroll-padding-top: var(--wpk-header-h);
}

[id] {
	scroll-margin-top: var(--wpk-header-h);
}
