trihub-ernaehrung-advinters/css/beratung.css

419 lines
8.9 KiB
CSS
Raw 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.

/* Dennis: Seitenweite Regeln sind auf den Beratungsbereich begrenzt. */
.beratung-bereich {
/* Farben – Tokens von tri-hub.de (Hex-Fallback + oklch) */
--background: #0714198a;
--background-rgb: 7 20 25; /* gleiche Basisfarbe wie --background,
aber ohne fixes Alpha – für Gradient-Stops
wird benutzt um Bildern einen gradient zu verpassen */
--background-panel: #152027; /* früher "surface" */
--text-primary: #ffffff; /* früher "foreground" */
--text-muted: #9ba7aa; /* früher "muted-fg" */
--accent: #4597A3; /* früher "primary" */
--border: rgba(234, 8, 8, 0.1);
/* Typografie */
--font-display: "Sora", sans-serif;
--font-body: "DM Sans", Arial, Helvetica, sans-serif;
/* Layout */
--container: 1120px;
--radius: 1.1rem;
}
/* ---------- Basic ---------- */
.beratung-bereich,
.beratung-bereich *,
.beratung-bereich::before,
.beratung-bereich *::before,
.beratung-bereich::after,
.beratung-bereich *::after {
box-sizing: border-box;
}
.beratung-bereich {
scroll-behavior: smooth;
}
.beratung-bereich {
margin: 0;
background-color: var(--background);
color: var(--foreground);
font-family: var(--font-body);
line-height: 1.625;
-webkit-font-smoothing: antialiased;
position: relative;
isolation: isolate;
}
/* Licht*/
.beratung-bereich::before {
content: "";
position: absolute;
inset: 0;
z-index: -1;
background:
radial-gradient(900px 520px at 78% -10%, rgba(0, 179, 194, 0.13), transparent 65%),
radial-gradient(700px 480px at -10% 30%, rgba(35, 137, 148, 0.1), transparent 60%),
radial-gradient(600px 420px at 90% 95%, rgba(247, 194, 48, 0.05), transparent 60%);
pointer-events: none;
}
.beratung-bereich h1,
.beratung-bereich h2,
.beratung-bereich h3 {
margin-top: 0;
font-family: var(--font-display);
color: var(--foreground);
line-height: 1.2;
letter-spacing: -0.01em;
}
.beratung-bereich p {
margin: 0 0 1em;
}
.beratung-bereich .container {
width: min(100% - 48px, var(--container));
margin-inline: auto;
}
/* ---------- Typo-Helfer ---------- */
.beratung-bereich .kicker {
display: inline-flex;
align-items: center;
gap: 10px;
font-size: 0.78rem;
font-weight: 600;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--accent);
margin-bottom: 18px;
}
.beratung-bereich .kicker::before {
content: "";
width: 28px;
height: 2px;
border-radius: 2px;
background: var(--accent);
}
.beratung-bereich .lead {
font-size: 1.15rem;
color: var(--text-muted);
max-width: 660px;
}
.beratung-bereich .muted {
color: var(--text-muted);
}
/* ---------- Button ---------- */
.beratung-bereich .btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
padding: 0.8rem 1.5rem;
border-radius: 999px;
font-family: var(--font-body);
font-weight: 600;
font-size: 0.95rem;
line-height: 1.2;
text-decoration: none;
border: 1px solid transparent;
cursor: pointer;
transition: transform 0.18s ease, box-shadow 0.18s ease,
background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}
.beratung-bereich .btn-accent {
background: var(--accent);
color: #03242b;
}
.beratung-bereich .btn-accent:hover {
transform: translateY(-1px);
box-shadow: 0 10px 28px rgba(0, 179, 194, 0.28);
}
/* ---------- Sektionen ---------- */
.beratung-bereich .section {
padding: 96px 0;
}
.beratung-bereich .section-head {
max-width: 720px;
margin-bottom: 56px;
}
.beratung-bereich .section-head h2 {
font-size: clamp(1.9rem, 4vw, 2.7rem);
margin-bottom: 18px;
}
/* ---------- Boxen & Grid ---------- */
.beratung-bereich .grid-2 {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 24px;
}
.beratung-bereich .box {
/* Lange Woerter duerfen die Karten auf kleinen Displays nicht verbreitern. */
min-width: 0;
overflow-wrap: anywhere;
hyphens: auto;
background-color: var(--background-panel);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 32px;
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}
/* ---------- Checklisten ---------- */
.beratung-bereich .check-list {
list-style: none;
padding: 0;
margin: 20px 0 0;
display: grid;
gap: 12px;
}
.beratung-bereich .check-list li {
position: relative;
padding-left: 34px;
color: var(--foreground);
}
.beratung-bereich .check-list li::before {
content: "✓";
position: absolute;
left: 0;
top: 0;
color: var(--accent);
font-weight: bold;
font-size: 1.1rem;
}
/* ---------- Ablauf-Schritte ---------- */
.beratung-bereich .beratung-ablauf {
list-style: none;
counter-reset: schritt;
padding: 0;
margin: 24px 0 0;
display: grid;
gap: 20px;
}
.beratung-bereich .beratung-ablauf li {
counter-increment: schritt;
position: relative;
padding-left: 60px;
}
.beratung-bereich .beratung-ablauf li::before {
content: counter(schritt, decimal-leading-zero);
position: absolute;
left: 0;
top: 2px;
display: grid;
place-items: center;
width: 44px;
height: 44px;
border-radius: 50%;
font-family: var(--font-display);
font-size: 0.9rem;
font-weight: 600;
color: var(--accent);
background: rgba(0, 179, 194, 0.1);
border: 1px solid rgba(0, 179, 194, 0.3);
}
.beratung-bereich .beratung-ablauf strong {
display: block;
font-family: var(--font-display);
font-size: 1.02rem;
color: var(--foreground);
margin-bottom: 4px;
}
.beratung-bereich .beratung-ablauf p {
margin: 0;
color: var(--text-muted);
font-size: 0.95rem;
}
/* ---------- CTA-Band ---------- */
.beratung-bereich .cta-band {
margin-top: 96px;
padding: 64px 40px;
text-align: center;
border: 1px solid var(--border);
border-radius: calc(var(--radius) + 8px);
background: linear-gradient(135deg, #071216, #0a1b1f 46%, #050e16);
}
.beratung-bereich .cta-band h2 {
font-size: clamp(1.8rem, 4vw, 2.5rem);
margin-bottom: 16px;
}
.beratung-bereich .cta-band p {
color: var(--text-muted);
max-width: 560px;
margin-inline: auto;
}
/* ---------- Footer ---------- */
.beratung-bereich .logo {
font-family: var(--font-display);;
font-size: 1.35rem;
letter-spacing: -0.02em;
color: var(--text-muted);
text-decoration: none;
white-space: nowrap;
}
.beratung-bereich .logo span {
color: var(--accent);
}
.beratung-bereich .site-footer {
margin-top: 96px;
padding: 64px 0 40px;
border-top: 1px solid var(--border);
background: rgba(255, 255, 255, 0.015);
}
.beratung-bereich .footer-grid {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
gap: 48px;
}
.beratung-bereich .footer-brand p {
color: var(--text-muted);
font-size: 0.95rem;
max-width: 340px;
margin-top: 14px;
}
.beratung-bereich .footer-col h3 {
font-size: 0.85rem;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--text-muted);
margin-bottom: 16px;
}
.beratung-bereich .footer-col ul {
list-style: none;
margin: 0;
padding: 0;
}
.beratung-bereich .footer-col a {
display: block;
padding: 5px 0;
color: var(--text-muted);
text-decoration: none;
font-size: 0.92rem;
transition: color 0.15s ease;
}
.beratung-bereich .footer-col a:hover {
color: var(--foreground);
}
.beratung-bereich .footer-legal {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
gap: 12px;
margin-top: 48px;
padding-top: 24px;
border-top: 1px solid var(--border);
color: var(--text-muted);
font-size: 0.85rem;
}
.beratung-bereich .footer-legal a {
color: inherit;
text-decoration: none;
}
.beratung-bereich .footer-legal a:hover {
color: var(--foreground);
}
/* ---------- Scroll-Reveal ---------- */
.beratung-bereich .reveal {
opacity: 0;
transform: translateY(18px);
transition: opacity 0.6s ease, transform 0.6s ease;
}
.beratung-bereich .reveal.visible {
opacity: 1;
transform: none;
}
/* ---------- Responsiv ---------- */
@media (max-width: 980px) {
.beratung-bereich .footer-grid {
grid-template-columns: 1fr 1fr;
}
}
@media (max-width: 760px) {
.beratung-bereich .grid-2 {
grid-template-columns: minmax(0, 1fr);
}
.beratung-bereich .section {
padding: 72px 0;
}
.beratung-bereich .footer-grid {
grid-template-columns: 1fr;
gap: 32px;
}
.beratung-bereich .cta-band {
padding: 48px 24px;
}
}
/* ---------- Reduzierte Bewegung ---------- */
@media (prefers-reduced-motion: reduce) {
.beratung-bereich {
scroll-behavior: auto;
}
.beratung-bereich .reveal {
opacity: 1;
transform: none;
transition: none;
}
.beratung-bereich,
.beratung-bereich * {
transition-duration: 0.01ms !important;
}
}