Konsistentes Spacing-System: Mathematische Skala basierend auf --space-unit (0.25rem) Logische Abstufungen von xxs bis xxxl Responsive Anpassungen über Container-Padding und Section-Spacing Erweiterte Typografie-Kontrolle: Skalierbare Schriftgrößen basierend auf --font-size-base Definierte Schriftgewichte und Zeilenhöhen Responsive Anpassungen der Basis-Schriftgröße Verbesserte Responsive-Struktur: Breakpoint-Referenzen in Variablen Automatische Anpassungen durch CSS-Variablen Safe-Area-Insets für moderne Geräte Layout-System: Definierte Content-Breiten Z-Index-Skala Einheitliche Border-Radius-Werte Performance-Optimierungen: Hardware-beschleunigte Transitionen Optimierte Animation-Timings Konsistente Transition-Eigenschaften Die Migration wurde schrittweise durchgeführt: variables.css: Neue Basis-Variablen definiert base.css: Grundlegende Typografie und Layout angepasst header.css & header-line.css: Navigation und Header-Elemente optimiert components.css: Alle Komponenten auf neue Variablen umgestellt responsive.css: Breakpoint-spezifische Anpassungen implementiert animations.css: Animationen vereinheitlicht footer.css: Footer-Styles optimiert Das neue System bietet: Bessere Wartbarkeit durch zentrale Steuerung Konsistente Skalierung über alle Breakpoints Flexibilität für zukünftige Anpassungen Volle Kompatibilität mit dem Theme-System
121 lines
2.7 KiB
CSS
121 lines
2.7 KiB
CSS
footer {
|
|
background: var(--bg-card);
|
|
padding: var(--space-xl) var(--container-padding);
|
|
margin-top: var(--space-xxl);
|
|
border-top: 1px solid var(--border-color);
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: var(--space-lg);
|
|
}
|
|
|
|
.contact-block {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
justify-content: center;
|
|
gap: var(--space-lg);
|
|
margin-bottom: var(--space-sm);
|
|
}
|
|
|
|
.contact-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--space-sm);
|
|
}
|
|
|
|
.contact-item i {
|
|
color: var(--primary);
|
|
font-size: var(--font-size-lg);
|
|
}
|
|
|
|
.contact-item .signal-icon {
|
|
color: var(--primary);
|
|
width: var(--font-size-lg);
|
|
height: var(--font-size-lg);
|
|
}
|
|
|
|
.contact-item a {
|
|
color: var(--text);
|
|
text-decoration: none;
|
|
transition: all var(--transition-speed) var(--transition-timing);
|
|
padding: var(--space-xxs) var(--space-xs);
|
|
border-radius: var(--radius-sm);
|
|
background-color: rgba(var(--bg-hover-rgb), 0.4);
|
|
font-size: var(--font-size-md);
|
|
}
|
|
|
|
.contact-item a:hover {
|
|
color: var(--primary);
|
|
background-color: var(--bg-card);
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
.contact-item:hover .signal-icon {
|
|
color: var(--primary);
|
|
}
|
|
|
|
.social-links {
|
|
display: flex;
|
|
gap: var(--space-lg);
|
|
justify-content: center;
|
|
}
|
|
|
|
.social-links a {
|
|
color: var(--text);
|
|
text-decoration: none;
|
|
transition: all var(--transition-speed) var(--transition-timing);
|
|
padding: var(--space-xs);
|
|
border-radius: var(--radius-sm);
|
|
font-size: var(--font-size-xl);
|
|
background-color: rgba(var(--bg-hover-rgb), 0.4);
|
|
}
|
|
|
|
.social-links a:hover {
|
|
color: var(--primary);
|
|
background-color: var(--bg-card);
|
|
transform: translateY(-2px);
|
|
}
|
|
|
|
.legal-links {
|
|
text-align: center;
|
|
font-size: var(--font-size-sm);
|
|
color: var(--text-muted);
|
|
padding-top: var(--space-md);
|
|
}
|
|
|
|
.legal-links a {
|
|
color: var(--text);
|
|
text-decoration: none;
|
|
margin: 0 var(--space-sm);
|
|
transition: all var(--transition-speed) var(--transition-timing);
|
|
padding: var(--space-xs) var(--space-sm);
|
|
border-radius: var(--radius-sm);
|
|
position: relative;
|
|
background-color: rgba(var(--bg-hover-rgb), 0.4);
|
|
font-weight: var(--font-weight-medium);
|
|
letter-spacing: 0.2px;
|
|
}
|
|
|
|
.legal-links a::after {
|
|
content: '';
|
|
position: absolute;
|
|
width: 0;
|
|
height: 2px;
|
|
bottom: 0;
|
|
left: 50%;
|
|
background-color: var(--primary);
|
|
transition: all var(--transition-speed) var(--transition-timing);
|
|
transform: translateX(-50%);
|
|
}
|
|
|
|
.legal-links a:hover {
|
|
color: var(--primary);
|
|
background-color: var(--bg-card);
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
.legal-links a:hover::after {
|
|
width: calc(100% - var(--space-xl));
|
|
}
|
|
|