/**
 * Design tokens — mirror of the Divi variable manager.
 *
 * Source of truth: Divi → Settings → Variable Manager (gcid-oa-*, gvid-oa-*).
 * Values are mirrored as literal hex / clamp() / rem — NOT chained via
 * var(--gvid-*), so the child theme stays standalone if Divi unloads or the
 * tokens drift.
 *
 * When Divi tokens change, regenerate this file (manual sync for now).
 */

:root {
	/* ============================================================
	 * Colors — Primary scale
	 * ============================================================ */
	--oa-color-primary-50:  #f2f9fa;
	--oa-color-primary-100: #e5f3f4;
	--oa-color-primary-200: #c0e0e4;
	--oa-color-primary-300: #8dc7cc;
	--oa-color-primary-400: #40a1af;
	--oa-color-primary-500: #018294;
	--oa-color-primary-600: #016e7e;
	--oa-color-primary-700: #015b68;
	--oa-color-primary-800: #014851;
	--oa-color-primary-900: #00343b;
	--oa-color-primary-950: #002125;

	/* ============================================================
	 * Colors — Secondary scale
	 * ============================================================ */
	--oa-color-secondary-50:  #fef7f2;
	--oa-color-secondary-100: #fcefe5;
	--oa-color-secondary-200: #f9d9c0;
	--oa-color-secondary-300: #f4ba8a;
	--oa-color-secondary-400: #ee8c41;
	--oa-color-secondary-500: #e86602;
	--oa-color-secondary-600: #c55702;
	--oa-color-secondary-700: #a24701;
	--oa-color-secondary-800: #803801;
	--oa-color-secondary-900: #5d2901;
	--oa-color-secondary-950: #3a1a01;

	/* ============================================================
	 * Colors — Tertiary scale
	 * ============================================================ */
	--oa-color-tertiary-50:  #f5faf3;
	--oa-color-tertiary-100: #ebf6e8;
	--oa-color-tertiary-200: #cce8c6;
	--oa-color-tertiary-300: #a4d598;
	--oa-color-tertiary-400: #67b954;
	--oa-color-tertiary-500: #34a11b;
	--oa-color-tertiary-600: #2c8917;
	--oa-color-tertiary-700: #247113;
	--oa-color-tertiary-800: #1d590f;
	--oa-color-tertiary-900: #15400b;
	--oa-color-tertiary-950: #0d2807;

	/* ============================================================
	 * Colors — Quaternary scale (indigo)
	 * Extended brand hue. Primary consumer: the `studierende`
	 * Zielgruppe accent on the event calendar (see inc/lre-calendar.php).
	 * ============================================================ */
	--oa-color-quaternary-50:  #eef2ff;
	--oa-color-quaternary-100: #e0e7ff;
	--oa-color-quaternary-200: #c7d2fe;
	--oa-color-quaternary-300: #a5b4fc;
	--oa-color-quaternary-400: #818cf8;
	--oa-color-quaternary-500: #6366f1;
	--oa-color-quaternary-600: #4f46e5;
	--oa-color-quaternary-700: #4338ca;
	--oa-color-quaternary-800: #3730a3;
	--oa-color-quaternary-900: #312e81;
	--oa-color-quaternary-950: #1e1b4b;

	/* ============================================================
	 * Colors — Quinary scale (rose)
	 * Extended brand hue. Primary consumer: the `auszubildene`
	 * Zielgruppe accent on the event calendar (see inc/lre-calendar.php).
	 * ============================================================ */
	--oa-color-quinary-50:  #fff1f2;
	--oa-color-quinary-100: #ffe4e6;
	--oa-color-quinary-200: #fecdd3;
	--oa-color-quinary-300: #fda4af;
	--oa-color-quinary-400: #fb7185;
	--oa-color-quinary-500: #f43f5e;
	--oa-color-quinary-600: #e11d48;
	--oa-color-quinary-700: #be123c;
	--oa-color-quinary-800: #9f1239;
	--oa-color-quinary-900: #881337;
	--oa-color-quinary-950: #4c0519;

	/* ============================================================
	 * Colors — Neutral scale
	 * ============================================================ */
	--oa-color-neutral-50:  #f8f8f8;
	--oa-color-neutral-100: #f2f2f2;
	--oa-color-neutral-200: #dfdfdf;
	--oa-color-neutral-300: #c6c6c6;
	--oa-color-neutral-400: #a0a0a0;
	--oa-color-neutral-500: #808080;
	--oa-color-neutral-600: #6d6d6d;
	--oa-color-neutral-700: #5a5a5a;
	--oa-color-neutral-800: #464646;
	--oa-color-neutral-900: #333333;
	--oa-color-neutral-950: #202020;

	/* ============================================================
	 * Colors — Static
	 * --oa-color-transparent is CSS-only (Divi color picker doesn't
	 * accept alpha — keyword used here, rgba(0,0,0,0) at runtime).
	 * ============================================================ */
	--oa-color-white:       #ffffff;
	--oa-color-black:       #000000;
	--oa-color-transparent: transparent;

	/* ============================================================
	 * Type scale (fluid via clamp)
	 * ============================================================ */
	--oa-size-h1:         clamp(1.75rem, 1.25rem + 2.2vw, 3.25rem);
	--oa-size-h1-small:   clamp(1.625rem, 1.2rem + 1.6vw, 2.5rem);
	--oa-size-h2:         clamp(1.5rem, 1.1rem + 1.6vw, 2.5rem);
	--oa-size-h2-small:   clamp(1.25rem, 1rem + 1.1vw, 1.875rem);
	--oa-size-h3:         clamp(1.25rem, 1rem + 1.1vw, 1.875rem);
	--oa-size-h3-small:   clamp(1.125rem, 0.95rem + 0.8vw, 1.5rem);
	--oa-size-h4:         clamp(1.125rem, 0.95rem + 0.8vw, 1.5rem);
	--oa-size-h4-small:   clamp(1rem, 0.9rem + 0.5vw, 1.25rem);
	--oa-size-h5:         clamp(1rem, 0.9rem + 0.5vw, 1.25rem);
	--oa-size-h5-small:   clamp(1rem, 0.95rem + 0.15vw, 1.125rem);
	--oa-size-h6:         clamp(0.9375rem, 0.875rem + 0.35vw, 1.125rem);
	--oa-size-h6-small:   clamp(0.875rem, 0.825rem + 0.15vw, 1rem);
	--oa-size-text:       clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
	--oa-size-text-small: clamp(0.875rem, 0.85rem + 0.15vw, 1rem);
	--oa-size-intro-lead: clamp(1.125rem, 1.05rem + 0.35vw, 1.5rem);

	/* ============================================================
	 * Line heights
	 * ============================================================ */
	--oa-lh-tight:   1.1em;
	--oa-lh-normal:  1.5em;
	--oa-lh-relaxed: 1.7em;

	/* ============================================================
	 * Spacing — Fixed scale (Tailwind-style)
	 * ============================================================ */
	--oa-space-0:  0rem;
	--oa-space-1:  0.25rem;
	--oa-space-2:  0.5rem;
	--oa-space-3:  0.75rem;
	--oa-space-4:  1rem;
	--oa-space-5:  1.25rem;
	--oa-space-6:  1.5rem;
	--oa-space-7:  1.75rem;
	--oa-space-8:  2rem;
	--oa-space-9:  2.25rem;
	--oa-space-10: 2.5rem;
	--oa-space-11: 2.75rem;
	--oa-space-12: 3rem;
	--oa-space-14: 3.5rem;
	--oa-space-16: 4rem;

	/* ============================================================
	 * Spacing — Fluid layout roles
	 * ============================================================ */
	--oa-space-section-y:  clamp(3.5rem, 3rem + 2vw, 6rem);
	--oa-space-page-y:     clamp(1.5rem, 1rem + 1vw, 2.5rem);
	--oa-space-hero-pad-y: clamp(1.75rem, 1.4rem + 1.5vw, 2.5rem);
	--oa-space-hero-pad-x: clamp(1.375rem, 1.1rem + 1.2vw, 2.5rem);
	--oa-space-hero-xl:    clamp(5rem, 4rem + 2.5vw, 8rem);
	--oa-space-cta-y:      clamp(1.25rem, 0.75rem + 2.5vw, 3.75rem);
	--oa-space-gutter:     clamp(1.25rem, 0.75rem + 1.5vw, 2.5rem);

	/* ============================================================
	 * Radius (Tailwind-style)
	 * ============================================================ */
	--oa-rounded-0:    0rem;
	--oa-rounded:      0.25rem;
	--oa-rounded-lg:   0.5rem;
	--oa-rounded-xl:   0.75rem;
	--oa-rounded-2xl:  1rem;
	--oa-rounded-3xl:  1.5rem;
	--oa-rounded-full: 999px;

	/* ============================================================
	 * Aspect ratios
	 * Component-level aspect tokens. Card surfaces (event archive,
	 * future magazine / person archives) use --oa-aspect-card; hero
	 * imagery on single-views uses --oa-aspect-hero.
	 * ============================================================ */
	--oa-aspect-card: 16 / 9;
	--oa-aspect-hero: 4 / 3;

	/* ============================================================
	 * Fonts
	 * ============================================================ */
	--oa-font-heading: "Dosis", "Segoe UI", sans-serif;
	--oa-font-body:    "Ubuntu", "Segoe UI", sans-serif;

	/* ============================================================
	 * Shadows
	 * Custom property values hold the raw shadow declaration only —
	 * the property name (`box-shadow:`) is added by the consumer:
	 *   .oa-card { box-shadow: var(--oa-blur-shadow); }
	 * Additional shadow presets land here as the catalog grows.
	 * ============================================================ */
	--oa-drop-shadow: 6px 6px 0px 0px var(--oa-color-neutral-950);
	--oa-blur-shadow: 0px 12px 18px -6px rgba(0, 0, 0, 0.3);

	/* Edge shadow on the top side of a bar that floats above page
	   content from below (mobile sticky CTA, future bottom sheets).
	   Negative Y throws the shadow upward — the existing surface
	   shadows above are the downward-cast equivalents. */
	--oa-bar-shadow-top: 0 -4px 12px rgba(0, 0, 0, 0.08);

	/* ============================================================
	 * Interactive minimums
	 * Apple HIG / Material Design baseline tap target. Use as the
	 * `min-height` (and where relevant `min-width`) on any mobile
	 * interactive surface that doesn't already meet 44px through
	 * its intrinsic content + padding.
	 * ============================================================ */
	--oa-tap-target-min: 44px;
}
