/** * Theme für businessportal24 (businessportal24.test) * Editorialer Wirtschaftsteil – Mockup "Pass B" * * Tailwind v4: alle Farben + Schriften liegen als @theme-Tokens vor, * sodass Klassen wie `bg-bg`, `text-ink-3`, `border-bg-rule` arbeiten * (1:1 wie im Tailwind-v3-Mockup unter dev/frontend/tailwind_v3/). */ @import "./shared-styles.css"; @theme { /* Surfaces */ --color-bg: #f6f4ef; --color-bg-elev: #fbfaf6; --color-bg-rule: #e5e0d5; --color-bg-rule-strong: #1c1a17; --color-bg-dark: #14202e; --color-bg-card-warm: #f1ece2; --color-bg-card-warm-border: #d9cdb6; --color-topbar: #1a1f26; --color-topbar2: #232a33; /* Ink */ --color-ink: #1c1a17; --color-ink-2: #3d3935; --color-ink-3: #6e6862; --color-ink-4: #9a958d; --color-ink-on-dark: #f6f4ef; --color-ink-on-dark-2: #b8b3aa; /* Brand */ --color-brand: #c84a1e; --color-brand-deep: #a23814; --color-brand-soft: #f4e5dd; --color-live: #e03a1a; --color-gain: #2e8540; --color-loss: #c8341e; --color-ok: #2e8540; /* Editorial-Akzente (auf dunklem Grund / in Card-Warm) */ --color-accent-warm: #ff8b6f; --color-ink-on-dark-muted: #8a847b; --color-ink-on-dark-rule: #2a2723; --color-bg-card-warm-hover: #ece5d5; --color-bg-card-warm-rule: #c8bda8; --color-card-warm-cat: #6e6862; --color-card-warm-title: #3a332b; --color-feature-line: #a8c8a8; --color-feature-dot: #c4dcc4; /* Fonts */ --font-sans: "Inter Tight", "Söhne", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; --font-serif: "Source Serif 4", "Source Serif Pro", Charter, "Iowan Old Style", Georgia, serif; --font-mono: "JetBrains Mono", "SF Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; /* Layout */ --container-layout: 1280px; } /* HSL-Variablen für vorhandene Shared-Components (Pagination, Cards, etc.) */ :root { --font-primary: var(--font-sans); --font-secondary: var(--font-sans); --background: 39 27% 95%; --foreground: 24 8% 10%; --card: 39 27% 95%; --card-foreground: 24 8% 10%; --popover: 0 0% 100%; --popover-foreground: 24 8% 10%; --primary: 13 74% 45%; --primary-foreground: 0 0% 100%; --primary-50: 13 70% 96%; --primary-100: 13 70% 92%; --primary-200: 13 70% 85%; --primary-300: 13 70% 75%; --primary-400: 13 70% 65%; --primary-500: 13 74% 55%; --primary-600: 13 74% 45%; --primary-700: 13 74% 38%; --primary-800: 13 74% 30%; --primary-900: 13 74% 25%; --primary-950: 13 74% 18%; --secondary: 21 84% 62%; --secondary-foreground: 24 8% 10%; --muted: 36 25% 90%; --muted-foreground: 30 6% 40%; --accent: 13 74% 45%; --accent-foreground: 0 0% 100%; --destructive: 0 84% 60%; --destructive-foreground: 0 0% 100%; --border: 39 24% 86%; --input: 39 24% 86%; --ring: 13 74% 45%; --radius: 2px; --shadow-card: 0 1px 2px 0 rgb(0 0 0 / 0.04); --shadow-card-hover: 0 4px 12px -2px rgb(0 0 0 / 0.08); } @layer base { html, body { margin: 0; padding: 0; } body { background-color: #e8e4da; color: var(--color-ink); font-family: var(--font-sans); -webkit-font-smoothing: antialiased; font-feature-settings: "ss01", "cv11"; } h1, h2, h3, h4 { font-family: var(--font-serif); color: inherit; letter-spacing: -0.01em; } .font-mono { font-family: var(--font-mono); font-feature-settings: "tnum"; } } @layer components { .eyebrow { font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-brand); } .eyebrow.muted { color: var(--color-ink-3); } .eyebrow.on-dark { color: var(--color-accent-warm); } .bp-cat { font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-brand); } .bp-tag { display: inline-flex; align-items: center; padding: 3px 8px; font-size: 10.5px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; background: var(--color-brand); color: #fff; border-radius: 2px; } .rule-strong { height: 1px; background: var(--color-bg-rule-strong); border: 0; margin: 0; } .rule { height: 1px; background: var(--color-bg-rule); border: 0; margin: 0; } .bg-topbar-grad { background-image: linear-gradient( 135deg, var(--color-topbar) 0%, var(--color-topbar2) 100% ); } .bg-feature-grad { background-image: linear-gradient(135deg, #2a3a2a, #1a2a1a); } .bg-hero-grad { background-image: linear-gradient(135deg, #2a3a4a, #1a1f26); } } @layer utilities { @keyframes bp-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } } .pulse-dot { animation: bp-pulse 1.6s ease-in-out infinite; } @keyframes bp-ticker-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } } .ticker-marquee-track { display: flex; width: max-content; gap: 1.5rem; animation: bp-ticker-marquee var(--bp-ticker-duration, 42s) linear infinite; will-change: transform; } @media (prefers-reduced-motion: reduce) { .ticker-marquee-track { animation: none; } } .tabular-nums { font-variant-numeric: tabular-nums; } } /* Alpine.js: vor Init versteckte Elemente */ [x-cloak] { display: none !important; }