/** * Theme für den Publisher-Hub presseportale.com (presseportale.test) * * Eigener Charakter zwischen den beiden Brand-Portalen: * - Surface: warmes Buchpapier (gleiche Familie wie BP24/Presseecho) * - Primary: Hub-Blau (#1A2540) – seriös, plattform-neutral * - Accent: gedecktes Bernstein (#B07A3A) – bewusst NICHT Orange (BP24) und NICHT Grün (Presseecho) * - Schrift: Inter Tight + JetBrains Mono, OHNE Source Serif (Hub-Bezug, weniger editorial-redaktionell als die Brand-Portale) * * Token-Namen folgen wo möglich der BP24/Presseecho-Konvention (bg, bg-elev, bg-rule, ink-*), * sodass viele Utility-Klassen identisch greifen. Hub-spezifische Tokens * (hub, hub-2, hub-soft, accent-soft, hub-line) sind zusätzlich definiert. */ @import "./shared-styles.css"; @theme { /* Surfaces — warmes Buchpapier, gleiche Familie wie die Brand-Portale */ --color-bg: #f6f4ef; --color-bg-elev: #fbfaf6; --color-bg-rule: #e2ddd0; --color-bg-rule-strong: #1a1f1c; --color-bg-dark: #15201a; --color-bg-card: #ffffff; --color-bg-card-warm: #efeadc; --color-bg-card-warm-border: #d6cfbb; /* Hub-Blau — Primary, plattform-neutral */ --color-hub: #1a2540; --color-hub-2: #243152; --color-hub-3: #2e3d66; --color-hub-soft: #e5e9f1; --color-hub-soft-2: #cfd6e4; --color-hub-line: #7b8fbf; /* Topbar (Alias für Hub-Gradient, damit shared base-Klassen passen) */ --color-topbar: #1a2540; --color-topbar2: #243152; --color-topbar-deep: #0f1729; /* Akzent — gedecktes Bernstein (zwischen Orange und Beige) */ --color-accent: #b07a3a; --color-accent-deep: #8a5e27; --color-accent-soft: #f1e6d3; --color-accent-warm: #b07a3a; /* Ink — Anthrazit-Reihe */ --color-ink: #1a1f1c; --color-ink-2: #3a413d; --color-ink-3: #5a6360; --color-ink-4: #8a918d; --color-ink-on-dark: #f6f4ef; --color-ink-on-dark-2: #b2b9c7; --color-ink-on-dark-3: #7b8fbf; --color-ink-on-dark-muted: #7b8fbf; --color-ink-on-dark-rule: #2a3550; /* Brand-Aliase, damit Komponenten, die brand-Tokens verwenden, funktionieren */ --color-brand: #1a2540; --color-brand-deep: #0f1729; --color-brand-soft: #e5e9f1; --color-live: #c84a1e; --color-gain: #2e8540; --color-loss: #c8341e; --color-ok: #2e8540; /* Editorial-Akzente (für card-warm-Sektionen) */ --color-bg-card-warm-hover: #e6deca; --color-bg-card-warm-rule: #c8bda3; --color-card-warm-cat: #5a6360; --color-card-warm-title: #2a302d; --color-feature-line: #c0c8db; --color-feature-dot: #d8dde9; /* Fonts — Hub: Inter Tight + JetBrains Mono. Source Serif 4 wird zusätzlich geladen, damit Markennennungen der Tochter-Portale (presseecho, businessportal24) typografisch konsistent erscheinen – im Hub-Standardtext kommt sie aber nicht zum Einsatz. */ --font-sans: "Inter Tight", 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 Legacy-Komponenten (shared-styles) */ :root { --font-primary: var(--font-sans); --font-secondary: var(--font-sans); --background: 40 30% 95%; /* #f6f4ef */ --foreground: 144 8% 11%; --card: 0 0% 100%; --card-foreground: 144 8% 11%; --popover: 0 0% 100%; --popover-foreground: 144 8% 11%; /* Primary: #1A2540 -> hsl(222, 43%, 18%) */ --primary: 222 43% 18%; --primary-foreground: 0 0% 100%; --primary-50: 222 43% 96%; --primary-100: 222 43% 92%; --primary-200: 222 43% 85%; --primary-300: 222 43% 75%; --primary-400: 222 43% 60%; --primary-500: 222 43% 45%; --primary-600: 222 43% 36%; --primary-700: 222 43% 28%; --primary-800: 222 43% 22%; --primary-900: 222 43% 18%; --primary-950: 222 43% 12%; --secondary: 224 30% 30%; --secondary-foreground: 0 0% 100%; --muted: 40 18% 90%; --muted-foreground: 144 6% 38%; --accent: 31 51% 46%; --accent-foreground: 0 0% 100%; --destructive: 0 84% 60%; --destructive-foreground: 0 0% 100%; --border: 38 23% 85%; --input: 38 23% 85%; --ring: 222 43% 18%; --radius: 4px; --shadow-card: 0 1px 2px 0 rgb(26 37 64 / 0.06); --shadow-card-hover: 0 4px 12px -2px rgb(26 37 64 / 0.12); } @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-sans); color: inherit; letter-spacing: -0.01em; } .font-mono { font-family: var(--font-mono); font-feature-settings: "tnum"; } } @layer components { /* Hub-Eyebrow — sperrgesetzt, in Hub-Blau */ .eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--color-hub); } .eyebrow.muted { color: var(--color-ink-3); letter-spacing: 0.16em; font-weight: 600; font-size: 10.5px; } .eyebrow.accent { color: var(--color-accent-deep); } .eyebrow.on-dark { color: var(--color-hub-line); } /* Section-Eyebrow mit kurzem Linien-Schwanz */ .section-eyebrow { display: inline-flex; align-items: center; gap: 12px; font-size: 11px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--color-hub); } .section-eyebrow::after { content: ""; display: block; width: 42px; height: 1px; background: var(--color-hub); opacity: 0.45; } .section-eyebrow.on-dark { color: var(--color-hub-line); } .section-eyebrow.on-dark::after { background: var(--color-hub-line); opacity: 0.55; } .rule { height: 1px; background: var(--color-bg-rule); border: 0; margin: 0; } .rule-strong { height: 1px; background: var(--color-bg-rule-strong); border: 0; margin: 0; } .rule-hub { height: 2px; background: var(--color-hub); border: 0; margin: 0; } /* Subtile geometrische Hintergrundlinien fürs Hero */ .hero-grid { background-image: linear-gradient( to right, rgba(26, 37, 64, 0.04) 1px, transparent 1px ), linear-gradient( to bottom, rgba(26, 37, 64, 0.04) 1px, transparent 1px ); background-size: 48px 48px; background-position: -1px -1px; } /* Hub-Gradient-Klassen */ .bg-hub-grad { background-image: linear-gradient( 135deg, var(--color-hub) 0%, var(--color-hub-2) 100% ); } .bg-hub-grad-2 { background-image: linear-gradient( 180deg, var(--color-hub) 0%, var(--color-topbar-deep) 100% ); } .bg-accent-grad { background-image: linear-gradient( 135deg, var(--color-accent) 0%, var(--color-accent-deep) 100% ); } .bg-topbar-grad { background-image: linear-gradient( 135deg, var(--color-topbar) 0%, var(--color-topbar2) 100% ); } /* Empfohlen-Ribbon auf Tarif-Karten */ .ribbon-recommend { position: absolute; top: -1px; left: -1px; right: -1px; background: var(--color-hub); color: #fff; font-size: 10.5px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; text-align: center; padding: 8px 0; } /* Accordion-Pfeil (FAQ) */ details > summary { list-style: none; cursor: pointer; } details > summary::-webkit-details-marker { display: none; } details[open] .faq-chev { transform: rotate(180deg); } .faq-chev { transition: transform 0.2s ease; } } @layer utilities { .tabular-nums { font-variant-numeric: tabular-nums; } } [x-cloak] { display: none !important; }