Startseite und Heroes - Hero-Slideshow (11 Motive inkl. Febrü) mit Infokarte, Laufzeit-Linie, größeren Klickflächen, Goldrahmen und mobiler Karte unter dem Bild; Zeile über der Überschrift, neue Vertrauenspunkte - Hero-Stil auf Marken, Über uns und Kontakt übertragen, Breadcrumb entfernt - Gründer-Leiste, Vision-Box auf Ocker, Showroom-Display in Box mit „Größer ansehen“/Vollbild - Akzentfarbe #a8741f, größere Serif-Überschriften in der Interior-Welt - Marken: Bildpause mit Zitat; Vereine aktualisiert und verlinkt Inhalte - Lektorat aller angezeigten Texte, /about-Korrekturen, Rechtstexte (DDG, TDDDG, Hosting Hetzner) - Ablauf Maßanfertigung überall einheitlich, Magazin-Beitrag neu, alte Beiträge offline, deutsches Datum/Lesezeit, FAQ Projektausstattung, Otterpohl - Referenzen-Seite per CMS-Schalter ausblendbar CMS und Technik - Tote Sektionen, Felder, Seiten und Komponenten entfernt und archiviert (dev/2026-08-28/archiv-*) - Entwurf /entwurf, Farb-Schalter und /welcome entfernt; Test-Routen nur noch lokal - Seitenbaum-Beschreibungen geprüft, fehlende CMS-Felder ergänzt, Markenliste aus „Kernmarken“ - Admin-Bildvorschauen repariert, verwendete Bilder in die Mediathek übernommen - Seeder für das Deployment siehe dev/2026-08-28/entwicklungsplan.md Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
311 lines
11 KiB
CSS
311 lines
11 KiB
CSS
@import "tailwindcss";
|
||
|
||
/* B2in – zwei Farbwelten auf einem Themensystem (Arbeitsplan September 2026, Punkt 1.1).
|
||
|
||
Standard ist die Interior-Welt: Tanne, Creme, Sand, Ocker, Clay, Anthrazit.
|
||
Die Immobilien-Welt behält das bestehende Blau; sie greift, sobald das Layout
|
||
`world-immobilien` an den Body setzt (siehe b2in_world() in app/helpers.php).
|
||
Welche Logo-Variante dazu erscheint, entscheidet ThemeHelper::getLogoPath().
|
||
|
||
Alle Werte sind HSL-Tripel ohne Funktionsaufruf, damit `hsl(var(--x) / 0.5)`
|
||
in shared-styles.css und in den Tailwind-Utilities funktioniert. */
|
||
|
||
@layer base {
|
||
:root {
|
||
/* ── Interior-Welt ─────────────────────────────────────────────── */
|
||
|
||
/* Grundflächen */
|
||
--background: 38 33% 95%; /* #f7f4ef Creme – Hintergrund */
|
||
--foreground: 26 8% 16%; /* #2d2926 Anthrazit – Text */
|
||
|
||
/* Karten eine Stufe heller als Creme, damit sie sich vom Grund abheben */
|
||
--card: 40 43% 98%; /* #fbf9f5 */
|
||
--card-foreground: 26 8% 16%;
|
||
--popover: 40 43% 98%;
|
||
--popover-foreground: 26 8% 16%;
|
||
|
||
/* Hauptton dunkel: Wortmarke, Buttons, dunkle Sektionen */
|
||
--primary: 175 16% 15%; /* #202c2b Tanne */
|
||
--primary-light: 175 13% 22%;
|
||
--primary-lighter: 175 8% 82%;
|
||
--primary-dark: 175 18% 11%;
|
||
--primary-foreground: 38 33% 95%; /* Creme auf Tanne */
|
||
|
||
/* Akzent: Logo-Bogen, Hervorhebungen, Icons, aktive Navigation */
|
||
--secondary: 37 69% 39%; /* #a8741f Ocker, dunkler (07.10.2026; vorher #d39e46) */
|
||
--secondary-light: 37 62% 48%;
|
||
--secondary-lighter: 37 55% 78%;
|
||
--secondary-dark: 37 70% 32%;
|
||
--secondary-deep: 37 70% 30%; /* Ocker als Textfarbe auf hellem Grund */
|
||
--cta-band-line: 37 69% 39%; /* Haarlinie am Abschlussband in Ocker */
|
||
--secondary-foreground: 38 33% 95%;
|
||
|
||
/* Sekundärton für Produkte und ruhige Beschriftungen */
|
||
--clay: 24 15% 57%; /* #a38f82 Clay */
|
||
|
||
/* Ruhige Flächen und Fließtext in gedämpfter Farbe */
|
||
--muted: 30 24% 90%; /* helles Sand */
|
||
--muted-foreground: 24 12% 40%; /* abgedunkelter Clay – lesbar auf Creme */
|
||
|
||
/* Sektionswechsel: Sand als Fläche */
|
||
--accent: 28 25% 80%; /* #d9cbbf Sand */
|
||
--accent-dark: 28 25% 74%;
|
||
--accent-foreground: 26 8% 16%;
|
||
|
||
/* Dunkle Sektionen */
|
||
--dark-bg: 175 16% 15%; /* Tanne */
|
||
--dark-text: 38 33% 95%;
|
||
--dark-muted: 38 20% 76%;
|
||
|
||
/* Footer: Sand mit Tanne (laut Farbwelt „Sand – Flächen, Footer“) */
|
||
--footer-bg: 28 25% 80%;
|
||
--footer-fg: 175 16% 15%;
|
||
--footer-muted: 24 12% 40%;
|
||
--footer-line: 175 16% 15%;
|
||
|
||
/* Abschlussband: Ton in Ton von dunklem Tannengrün in ein helleres, kein Ocker im
|
||
Verlauf – Grün zu Ocker wirkte unharmonisch. Ocker bleibt Akzent für Wörter und Linien. */
|
||
--cta-band-end: 175 12% 26%;
|
||
|
||
/* Interaktion */
|
||
--destructive: 0 84.2% 60.2%;
|
||
--destructive-foreground: 210 40% 98%;
|
||
|
||
--border: 28 20% 84%;
|
||
--input: 40 40% 98%;
|
||
--ring: 175 16% 15%;
|
||
|
||
--radius: 0.75rem;
|
||
|
||
/* Bühne des Hero-Bereichs */
|
||
--hero-container: 30 28% 89%;
|
||
--hero-container-dark: 28 25% 83%;
|
||
--hero-container-light: 36 32% 93%;
|
||
|
||
/* Schatten */
|
||
--shadow-warm: 0 10px 30px -15px hsl(var(--foreground) / 0.1);
|
||
--shadow-card: 0 4px 20px -8px hsl(var(--foreground) / 0.08);
|
||
--shadow-elevated: 0 20px 40px -20px hsl(var(--foreground) / 0.15);
|
||
--shadow-accent-glow: 0 0 30px hsl(var(--secondary) / 0.3);
|
||
|
||
/* Übergänge */
|
||
--transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||
--transition-bounce: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
|
||
|
||
/* Schriften: Inter für Fließtext, eine Serife für Überschriften – der Ton der
|
||
Shop-Entwürfe. EB Garamond liegt bereits lokal vor (public/fonts/eb-garamond). */
|
||
--font-primary: 'Inter', system-ui, -apple-system, sans-serif;
|
||
--font-secondary: 'EB Garamond', 'Georgia', 'Times New Roman', serif;
|
||
}
|
||
|
||
/* ── Immobilien-Welt: das bisherige Blau ───────────────────────── */
|
||
.world-immobilien {
|
||
--background: 32 20% 97%; /* #f5f4f2 helles Beige */
|
||
--foreground: 20 14% 16%; /* #2a2a2a */
|
||
|
||
--card: 0 25% 96%;
|
||
--card-foreground: 20 14% 16%;
|
||
--popover: 0 25% 96%;
|
||
--popover-foreground: 20 14% 16%;
|
||
|
||
--primary: 209 32% 25%; /* #2b3f51 Anthracite */
|
||
--primary-light: 209 32% 35%;
|
||
--primary-lighter: 209 32% 85%;
|
||
--primary-dark: 209 32% 20%;
|
||
--primary-foreground: 0 25% 96%;
|
||
|
||
--secondary: 199 74% 49%; /* #20a0da Dynamic Blue */
|
||
--secondary-light: 199 74% 56%;
|
||
--secondary-lighter: 199 74% 75%;
|
||
--secondary-dark: 199 74% 42%;
|
||
--secondary-deep: 199 74% 36%;
|
||
--secondary-foreground: 0 25% 96%;
|
||
|
||
--clay: 199 50% 35%;
|
||
|
||
--muted: 0 0% 92%;
|
||
--muted-foreground: 199 50% 35%; /* #4a8bb5 */
|
||
|
||
--accent: 210 0% 90%;
|
||
--accent-dark: 210 0% 85%;
|
||
--accent-foreground: 20 14% 16%;
|
||
|
||
--dark-bg: 209 32% 25%;
|
||
--dark-text: 0 0% 100%;
|
||
--dark-muted: 0 0% 80%;
|
||
|
||
--footer-bg: 209 32% 25%;
|
||
--footer-fg: 0 0% 100%;
|
||
--footer-muted: 0 0% 80%;
|
||
--footer-line: 0 0% 80%;
|
||
|
||
--cta-band-end: 199 74% 42%;
|
||
|
||
--border: 0 0% 80%;
|
||
--input: 0 0% 92%;
|
||
--ring: 20 14% 16%;
|
||
|
||
--hero-container: 0 0% 93%;
|
||
--hero-container-dark: 0 0% 85%;
|
||
--hero-container-light: 0 0% 95%;
|
||
|
||
--font-secondary: 'IBM Plex Sans', 'Inter', system-ui, -apple-system, sans-serif;
|
||
}
|
||
|
||
/* ── Interior: helle Flächen (Nachtrag 18, seit 25.09.2026 fest) ─────
|
||
Marcels Rückmeldung vom 23.09.: die Creme-Flächen wirken altbacken. Tanne und
|
||
Ocker aus dem Logo bleiben, nur die Flächen werden heller: Grund fast weiß,
|
||
Karten weiß, Sektionswechsel in hellem Grau-Beige, Footer in Tanne. Die Werte
|
||
in :root bleiben die Grundlage, die Immobilien-Welt erbt sie. */
|
||
.world-interior {
|
||
--background: 40 25% 98%; /* #fbfaf8 fast weiß, leicht warm */
|
||
--card: 0 0% 100%; /* Karten reinweiß */
|
||
--popover: 0 0% 100%;
|
||
|
||
--muted: 40 12% 94%; /* #f2f0ed */
|
||
--muted-foreground: 24 8% 38%;
|
||
|
||
--accent: 36 14% 93%; /* #efece7 Sektionswechsel, klar statt Sand */
|
||
--accent-dark: 36 14% 88%;
|
||
|
||
--border: 36 12% 88%; /* #e6e2dc */
|
||
--input: 0 0% 100%;
|
||
|
||
--hero-container: 40 14% 95%;
|
||
--hero-container-dark: 40 12% 90%;
|
||
--hero-container-light: 40 25% 98%;
|
||
|
||
/* Footer dunkel in Tanne – gibt der hellen Seite unten einen klaren Abschluss */
|
||
--footer-bg: 175 16% 15%;
|
||
--footer-fg: 38 33% 95%;
|
||
--footer-muted: 38 20% 76%;
|
||
--footer-line: 38 20% 76%;
|
||
|
||
/* Karten sind jetzt weiß auf fast weiß: etwas mehr Schatten, damit sie sich lösen */
|
||
--shadow-card: 0 6px 24px -10px hsl(var(--foreground) / 0.14);
|
||
--shadow-elevated: 0 24px 48px -20px hsl(var(--foreground) / 0.2);
|
||
}
|
||
|
||
}
|
||
|
||
/* Interior: Ocker ist Akzent, kein Flächenton unter Text – Creme auf Ocker erreicht
|
||
keinen ausreichenden Kontrast. Der zweite Hero-Button wird deshalb zur Kontur in
|
||
Tanne. */
|
||
.world-interior .btn-secondary-accent {
|
||
background: transparent !important;
|
||
color: hsl(var(--primary));
|
||
border: 1px solid hsl(var(--primary) / 0.55);
|
||
box-shadow: none;
|
||
}
|
||
|
||
.world-interior .btn-secondary-accent:hover {
|
||
background: hsl(var(--primary)) !important;
|
||
color: hsl(var(--primary-foreground));
|
||
border-color: hsl(var(--primary));
|
||
}
|
||
|
||
/* Auf dem dunklen Footer trägt Ocker in voller Stärke. */
|
||
.world-interior .section-footer .text-secondary {
|
||
color: hsl(var(--secondary));
|
||
}
|
||
|
||
/* Abschlussband und Footer sind beide dunkel – eine helle Haarlinie trennt sie. */
|
||
.world-interior .section-footer {
|
||
border-top: 1px solid hsl(var(--footer-muted) / 0.35);
|
||
}
|
||
|
||
/* Der schwebende Termin-Button liegt über Bildern und weißen Karten: er bekommt eine
|
||
Fläche in Kartenfarbe, damit die Kontur nicht im Hintergrund verschwindet. */
|
||
.world-interior .appointment-toggle.btn-secondary-accent {
|
||
background: hsl(var(--card)) !important;
|
||
}
|
||
|
||
.world-interior .appointment-toggle.btn-secondary-accent:hover {
|
||
background: hsl(var(--primary)) !important;
|
||
}
|
||
|
||
/* Cookie-Manager (acme/cookie-consent) in der Interior-Welt: die Paketfarben aus
|
||
config/cookie-consent.php sind das Blau der Immobilien-Welt. Hier folgt der schwebende
|
||
Button dem Akzent-Button der Seite (Tanne, Hover heller), Icon, Schalter und Link-Hover
|
||
tragen Ocker, „Speichern“ liegt in Tanne. Die Immobilien-Welt behält ihr Blau. */
|
||
.world-interior .cookie-consent-wrapper {
|
||
--cc-primary: hsl(var(--secondary));
|
||
--cc-primary-hover: hsl(var(--secondary-dark));
|
||
--cc-save: hsl(var(--primary));
|
||
--cc-save-hover: hsl(var(--primary-light));
|
||
--cc-button-bg: hsl(var(--primary));
|
||
--cc-button-hover: hsl(var(--primary-light));
|
||
}
|
||
|
||
.world-interior .cookie-consent-wrapper .cc-floating-btn {
|
||
--tw-ring-color: hsl(var(--secondary)) !important;
|
||
color: hsl(var(--primary-foreground));
|
||
background: linear-gradient(145deg, hsl(var(--primary)) 0%, hsl(var(--primary-light)) 100%);
|
||
}
|
||
|
||
.world-interior .cookie-consent-wrapper .cc-floating-btn:hover {
|
||
background: linear-gradient(145deg, hsl(var(--primary-light)) 0%, hsl(var(--primary)) 100%);
|
||
}
|
||
|
||
/* Der Interior-Footer ist dunkel, also das negative Logo statt des positiven. */
|
||
.footer-logo-dark {
|
||
display: none;
|
||
}
|
||
|
||
.world-interior .footer-logo-light {
|
||
display: none;
|
||
}
|
||
|
||
.world-interior .footer-logo-dark {
|
||
display: block;
|
||
}
|
||
|
||
@import "./shared-styles.css";
|
||
|
||
/* Interior: EB Garamond wirkt bei gleicher Größe deutlich kleiner als IBM Plex Sans der
|
||
Immobilien-Welt. Die kleinen Überschriften (h2/h3 mit text-xl, h4) bekommen deshalb hier eine
|
||
Stufe mehr (07.10.2026); die Immobilien-Welt bleibt unverändert. */
|
||
.world-interior :is(h2, h3).text-xl {
|
||
font-size: 1.5rem;
|
||
line-height: 1.25;
|
||
}
|
||
|
||
.world-interior h4 {
|
||
font-size: 1.25rem;
|
||
line-height: 1.3;
|
||
}
|
||
|
||
/* Slideshow-Punkte im Hero: die Glass-Flow-Regel für Buttons (Schatten, Anheben, Aufhellen) gilt
|
||
hier nicht – der Button ist nur eine unsichtbare Klickfläche um den dünnen Balken. */
|
||
.variante-glass-flow button[data-hero-dot],
|
||
.variante-glass-flow button[data-hero-dot]:hover {
|
||
box-shadow: none;
|
||
transform: none;
|
||
filter: none;
|
||
overflow: visible;
|
||
}
|
||
|
||
/* Auf Ockerflächen wird `text-secondary` sonst zu Tanne (shared-styles.css) – in der weißen Box der
|
||
Vision-Section (Startseite) trägt die Hervorhebung wieder Ocker. */
|
||
section.bg-secondary [data-vision-box] .text-secondary {
|
||
color: hsl(var(--secondary));
|
||
}
|
||
|
||
/* Heroes der Interior-Welt (Startseite, Marken, Über uns, Kontakt): Rahmen als Goldverlauf
|
||
(07.10.2026, Vorbild „Farbwelt und Stil“). Die Immobilien-Welt behält ihren Rahmen.
|
||
Transparenter Rand, Fläche auf padding-box, Verlauf auf border-box – so folgt die Linie
|
||
der Rundung ohne Pseudo-Element. Selektor schlägt die Glass-Flow-Regel für den Rahmen. */
|
||
.world-interior .variante-glass-flow div.hero-frame,
|
||
.world-interior div.hero-frame {
|
||
border: 1.5px solid transparent;
|
||
background:
|
||
linear-gradient(to bottom right, hsl(40, 5.65%, 95.65%), hsl(40, 15.95%, 93.9%)) padding-box,
|
||
linear-gradient(
|
||
125deg,
|
||
hsl(var(--secondary-lighter) / 0.9) 0%,
|
||
hsl(var(--secondary-light) / 0.75) 22%,
|
||
hsl(var(--secondary-lighter) / 0.45) 55%,
|
||
hsl(var(--secondary-light) / 0.75) 82%,
|
||
hsl(var(--secondary-lighter) / 0.9) 100%
|
||
) border-box;
|
||
}
|