/**
 * Scheu + Weber — Design-Tokens (Single Source of Truth)
 *
 * Alle Farb-, Schrift- und Abstandswerte der Website leben hier.
 * Komponenten (sw-components.css, Widgets) verweisen ausschließlich
 * auf diese Variablen — niemals auf Roh-Werte.
 *
 * Quelle der Werte: s+w_website Rohdaten (PDF-Layouts, Stand 2026-06-19).
 */

:root {
	/* ---------- Farben ---------- */
	--sw-color-wine:  #631C39; /* Bordeaux – Footer, Timeline-Marker, Akzente */
	--sw-color-gold:  #D3B880; /* Gold/Sand – Timeline-Linie, dezente Akzente */
	--sw-color-beige: #EBE3D1; /* Sektionshintergrund dunkel (z. B. "Aus der Region") */
	--sw-color-cream: #F4EEE1; /* Sektionshintergrund hell (z. B. "Unsere Denke") */
	--sw-color-lilac: #E6E3ED; /* Sektionshintergrund Stellen/Arbeitgeber (hell) */
	--sw-color-lilac-deep: #CEC9DD; /* Stellenanzeige "Aktuelles" (kräftig) */
	--sw-color-text:  #1D1D1B; /* Fließtext und Überschriften */
	--sw-color-white: #FFFFFF;

	/* ---------- Typografie ---------- */
	/* Selbst gehostet, s. sw-fonts.css. 'Meta Pro Fallback' ist die metrisch
	   angeglichene Systemschrift für die Zeit vor dem Font-Swap — sie belegt
	   denselben Raum wie Meta Pro, der Wechsel verschiebt daher kein Layout. */
	--sw-font-sans: 'Meta Pro', 'Meta Pro Fallback', 'Fira Sans', sans-serif;

	--sw-fs-h1:    clamp(1.9rem, 1.2rem + 1.9vw, 3rem);      /* ~30–48px */
	--sw-fs-h2:    clamp(1.7rem, 1.2rem + 1.4vw, 2.5rem);    /* ~27–40px */
	--sw-fs-h3:    clamp(1.35rem, 1.1rem + 0.7vw, 1.75rem);  /* ~22–28px */
	--sw-fs-body:  clamp(1.0625rem, 0.95rem + 0.35vw, 1.25rem); /* ~17–20px */
	--sw-fs-small: 1.0625rem;                                /* 17px */

	--sw-lh-heading: 1.3;
	--sw-lh-body:    1.6;

	/* ---------- Abstände ---------- */
	--sw-space-section: clamp(3.5rem, 2.5rem + 3vw, 6rem); /* vertikales Sektions-Padding */
	--sw-header-height: 6.25rem;                           /* 100px – der Header liegt über dem Inhalt */
	--sw-space-inline:  1.5rem;                            /* horizontales Sektions-Padding */
	--sw-space-stack:   1.625rem;                          /* Abstand zwischen Widgets einer Sektion */
	--sw-content-narrow: 45rem;                            /* 720px – schmale Textspalte */

	/* ---------- Buttons ---------- */
	--sw-btn-bg:            var(--sw-color-white);
	--sw-btn-color:         var(--sw-color-text);
	--sw-btn-border:        1px solid var(--sw-color-text);
	--sw-btn-radius:        60px;
	--sw-btn-padding:       0.9375rem 3.25rem;  /* 15px 52px */
	--sw-btn-font-size:     0.9375rem;          /* 15px */
	--sw-btn-tracking:      2.5px;
	--sw-btn-shadow:        0 4px 9px rgba(0, 0, 0, 0.22);
	--sw-btn-hover-bg:      var(--sw-color-text);
	--sw-btn-hover-color:   var(--sw-color-white);

	/* ---------- Animation ---------- */
	--sw-anim-duration-fast:   0.3s;
	--sw-anim-duration-normal: 0.6s;
	--sw-anim-duration-slow:   0.9s;
	--sw-anim-easing:          cubic-bezier(0.16, 1, 0.3, 1); /* sanftes ease-out */
	--sw-anim-distance:        24px;  /* Slide-Strecke */
	--sw-anim-stagger-step:    0.08s; /* Versatz je gestaffeltem Kind (Grid-Karten, Buchstaben) */
	--sw-anim-sequence-step:   0.12s; /* Versatz je Inhalts-Element einer Sequenz-Sektion (Titel→Text→Button) */
	--sw-anim-scroll-offset:   15%;   /* IntersectionObserver rootMargin */
	--sw-anim-band-duration:   1.15s; /* Bild-Bänder: Farb-Erwachen beim Eintritt */
	--sw-anim-band-filter:     grayscale(0.4) brightness(0.92); /* Startzustand vor dem "Erwachen" */
	--sw-anim-band-height:     clamp(300px, 55vh, 680px); /* Fensterhöhe der Bänder (Bild ist absolut, verlässt den Fluss) */
	--sw-anim-band-parallax:   0.5;  /* Drift-Stärke (0 = kein Drift, 1 = volle Overscan-Reserve wird durchfahren) */
	--sw-anim-band-overscan:   120px; /* Bild-Überstand oben/unten = maximale Drift-Strecke */
	--animate-duration:        var(--sw-anim-duration-normal); /* koppelt Animate.css (falls genutzt) an unsere Tokens */
}

/**
 * Elementors Schrift-Variablen um den metrischen Ersatz erweitern.
 *
 * Das Kit schreibt seine Schriftregeln als
 * `font-family: var(--e-global-typography-…-font-family), Sans-serif` und setzt
 * die vier Variablen auf schlicht "Meta Pro". Der Ersatz aus sw-fonts.css käme
 * dort also nicht an — Überschriften, Fließtext, Buttons und Navigation würden
 * beim Font-Swap weiter sichtbar springen, obwohl --sw-font-sans längst
 * angeglichen ist. Hier werden dieselben Variablen ergänzt; Elementor hängt
 * sein „, Sans-serif" wie gehabt hinten an. In Elementor selbst bleibt
 * „Meta Pro" eingestellt — das hier ergänzt nur, es ersetzt keine Einstellung.
 *
 * Gesetzt wird auf `body`, nicht auf `:root`: Elementor legt die Variablen auf
 * `.elementor-kit-5` — und das ist der <body>. Für alles innerhalb des Body ist
 * der Body der nähere Vorfahr, sein Wert verdeckt also jede Definition auf
 * `html`, ganz gleich wie spezifisch die ist. Der Ersatz muss deshalb am selben
 * Element ankommen.
 *
 * Doppeltes :root für die Spezifität: `:root:root body` (0,2,1) schlägt
 * `.elementor-kit-5` (0,1,0) unabhängig von der Ladereihenfolge — die hat sich
 * beim Abmelden der ElementsKit-Assets bereits einmal verschoben.
 */
:root:root body {
	--e-global-typography-primary-font-family:   'Meta Pro', 'Meta Pro Fallback';
	--e-global-typography-secondary-font-family: 'Meta Pro', 'Meta Pro Fallback';
	--e-global-typography-text-font-family:      'Meta Pro', 'Meta Pro Fallback';
	--e-global-typography-accent-font-family:    'Meta Pro', 'Meta Pro Fallback';
}
