/* ========================================= CSS Reset & Root Variables ========================================= */ :root { --color-bg: #f9fafb; --color-text: #222222; --color-accent: #0066cc; --color-muted: #6b7280; --spacing-xs: 0.25rem; --spacing-sm: 0.5rem; --spacing-md: 1rem; --spacing-lg: 2rem; --font-base: 'Arial', sans-serif; --font-size-base: 16px; --max-width: 1200px; --breakpoint-sm: 640px; --breakpoint-md: 1024px; } /* CSS Reset */ *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; } html { font-size: 100%; scroll-behavior: smooth; } body { font-family: var(--font-base); font-size: var(--font-size-base); background-color: var(--color-bg); color: var(--color-text); line-height: 1.5; min-height: 100vh; display: flex; flex-direction: column; } /* ========================================= App Shell Layout ========================================= */ .app-header { background-color: #ffffff; border-bottom: 1px solid #e5e7eb; padding: var(--spacing-md); text-align: center; font-weight: bold; } .app-main { flex: 1; width: 100%; max-width: var(--max-width); margin: 0 auto; padding: var(--spacing-md); } .app-footer { background-color: #ffffff; border-top: 1px solid #e5e7eb; text-align: center; padding: var(--spacing-sm); font-size: 0.875rem; color: var(--color-muted); } .app-footer::after { content: '© 2026 Donau2Space.de'; display: block; margin-top: var(--spacing-xs); } /* ========================================= Responsive Adjustments ========================================= */ @media (min-width: var(--breakpoint-sm)) { .app-header { text-align: left; padding: var(--spacing-lg); } .app-main { padding: var(--spacing-lg); } } @media (min-width: var(--breakpoint-md)) { .app-header, .app-footer { padding: var(--spacing-lg) var(--spacing-md); } }