trihub-ernaehrung-advinters/css/style.css

195 lines
3.9 KiB
CSS
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/* ==========================================================
tri-hub.de – Design-DNA (Block 4, Projekt-Kickoff)
Hintergrund: #0d0d1a / #1a1a2e
Akzent: #10B981 (Teal / Emerald Green)
Primärtext: #ffffff / #F8FAFC / #94A3B8
Typografie: Playfair Display (Display) + Inter (Body)
Ton: Du-Ansprache, Premium, direkt
========================================================== */
:root {
--bg-dark: #0d0d1a;
--bg-panel: #1a1a2e;
--accent: #10B981;
--accent-soft: rgba(16, 185, 129, 0.12);
--text-primary: #ffffff;
--text-secondary: #F8FAFC;
--text-muted: #94A3B8;
--font-display: "Inter", system-ui, sans-serif;
--font-body: "Inter", system-ui, sans-serif;
}
* {
box-sizing: border-box;
}
body {
margin: 0;
background: var(--bg-dark);
color: var(--text-secondary);
font-family: var(--font-body);
}
/* ---------- Leistungsübersicht ---------- */
.pakete {
padding: 5rem 1.5rem;
max-width: 1120px;
margin: 0 auto;
}
.pakete__intro {
text-align: center;
max-width: 42rem;
margin: 0 auto 3rem;
}
.pakete__titel {
font-family: var(--font-display);
font-weight: 700;
font-size: clamp(1.8rem, 3vw, 2.4rem);
color: var(--text-primary);
margin: 0 0 0.75rem;
}
.pakete__text {
color: var(--text-muted);
line-height: 1.6;
margin: 0;
}
/* Kästchen nebeneinander, jede Karte für sich */
.pakete__grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1.5rem;
align-items: stretch;
}
.paket-karte {
display: flex;
flex-direction: column;
background: var(--bg-panel);
border: 1px solid rgba(248, 250, 252, 0.08);
border-radius: 14px;
padding: 2rem 1.75rem;
position: relative;
}
.paket-karte--empfohlen {
border-color: var(--accent);
box-shadow: 0 0 0 1px var(--accent-soft);
}
.paket-karte--ausgewaehlt {
border-color: var(--accent);
box-shadow: 0 0 0 2px var(--accent);
}
.paket-karte__badge {
position: absolute;
top: -0.7rem;
left: 1.75rem;
background: var(--accent);
color: var(--bg-dark);
font-size: 0.75rem;
font-weight: 600;
padding: 0.25rem 0.75rem;
border-radius: 999px;
margin: 0;
}
.paket-karte__name {
font-family: var(--font-display);
font-weight: 600;
font-size: 1.4rem;
color: var(--text-primary);
margin: 0 0 0.5rem;
}
.paket-karte__preis {
margin: 0 0 0.75rem;
display: flex;
align-items: baseline;
gap: 0.35rem;
}
.paket-karte__betrag {
font-family: var(--font-display);
font-size: 2rem;
font-weight: 700;
color: var(--text-primary);
}
.paket-karte__zeitraum {
color: var(--text-muted);
font-size: 0.9rem;
}
.paket-karte__beschreibung {
color: var(--text-muted);
line-height: 1.55;
margin: 0 0 1.5rem;
min-height: 3.3em;
}
.paket-karte__leistungen {
list-style: none;
margin: 0 0 2rem;
padding: 0;
flex-grow: 1;
}
.paket-karte__leistungen li {
position: relative;
padding-left: 1.4rem;
margin-bottom: 0.7rem;
line-height: 1.4;
color: var(--text-secondary);
}
.paket-karte__leistungen li::before {
content: "";
position: absolute;
left: 0;
top: 0.5em;
width: 8px;
height: 8px;
border-radius: 2px;
background: var(--accent);
}
.paket-karte__cta {
font-family: var(--font-body);
font-weight: 600;
font-size: 0.95rem;
color: var(--bg-dark);
background: var(--accent);
border: none;
border-radius: 8px;
padding: 0.85rem 1rem;
cursor: pointer;
transition: filter 0.15s ease;
}
.paket-karte__cta:hover,
.paket-karte__cta:focus-visible {
filter: brightness(1.1);
}
.paket-karte__cta:focus-visible {
outline: 2px solid var(--text-primary);
outline-offset: 2px;
}
@media (max-width: 860px) {
.pakete__grid {
grid-template-columns: 1fr;
}
.paket-karte--empfohlen {
order: -1;
}
}