.site-header { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.5rem; border-bottom: 1px solid var(--color-border); background: color-mix(in srgb, var(--color-background) 82%, transparent); backdrop-filter: blur(10px); } .brand { font-family: var(--font-display); font-weight: 700; font-size: 1.35rem; text-decoration: none; color: var(--color-foreground); } .site-header-controls { display: flex; align-items: center; gap: 1rem; } .language-switcher { text-decoration: none; font-weight: 500; min-height: 44px; display: inline-flex; align-items: center; padding: 0 0.5rem; } .language-switcher .fi { font-size: 1.35rem; border-radius: 3px; box-shadow: 0 0 0 1px var(--color-border); } .theme-toggle { background: none; border: 1px solid var(--color-border); border-radius: 10px; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; color: var(--color-foreground); transition: border-color 150ms ease, color 150ms ease; } .theme-toggle:hover { border-color: var(--color-primary); color: var(--color-primary); } .site-footer { margin-top: auto; padding: 1.5rem; text-align: center; color: var(--color-foreground); border-top: 1px solid var(--color-border); font-size: 0.875rem; } @media (max-width: 480px) { .site-header { padding: 0.75rem 1rem; } .brand { font-size: 1.05rem; } .site-header-controls { gap: 0.5rem; } }