/* ======================================== IT-Hilfe Sofort - Modern CSS Mobile-First, Performance-Optimized ======================================== */ /* CSS Custom Properties */ :root { --color-primary: #2563eb; --color-primary-dark: #1d4ed8; --color-primary-light: #3b82f6; --color-secondary: #10b981; --color-text: #1f2937; --color-text-light: #6b7280; --color-bg: #ffffff; --color-bg-alt: #f9fafb; --color-border: #e5e7eb; --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; --spacing-xs: 0.5rem; --spacing-sm: 1rem; --spacing-md: 1.5rem; --spacing-lg: 2rem; --spacing-xl: 3rem; --border-radius: 0.5rem; --shadow-sm: 0 1px 2px rgba(0,0,0,0.05); --shadow-md: 0 4px 6px rgba(0,0,0,0.1); --shadow-lg: 0 10px 15px rgba(0,0,0,0.1); --transition: all 0.2s ease; } /* Reset & Base */ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { scroll-behavior: smooth; font-size: 16px; } body { font-family: var(--font-family); color: var(--color-text); line-height: 1.6; background-color: var(--color-bg); } img { max-width: 100%; height: auto; display: block; } /* Links - Blue with white text on buttons, smooth hover */ a { color: var(--color-primary); text-decoration: none; transition: var(--transition); } a:hover { color: var(--color-primary-dark); text-decoration: underline; } /* Container */ .container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 var(--spacing-sm); } /* Typography */ h1, h2, h3, h4, h5, h6 { line-height: 1.2; font-weight: 700; margin-bottom: var(--spacing-sm); } h1 { font-size: clamp(1.75rem, 5vw, 2.5rem); } h2 { font-size: clamp(1.5rem, 4vw, 2rem); } h3 { font-size: clamp(1.25rem, 3vw, 1.5rem); } .highlight { color: var(--color-primary); } /* Buttons - Blue background, white text, smooth hover */ .btn { display: inline-block; padding: 0.75rem 1.5rem; border-radius: var(--border-radius); font-weight: 600; text-align: center; cursor: pointer; transition: var(--transition); border: 2px solid transparent; } .btn-primary { background-color: var(--color-primary); color: white; text-decoration: none; } .btn-primary:hover { background-color: var(--color-primary-dark); color: white; text-decoration: none; transform: translateY(-2px); box-shadow: var(--shadow-md); } .btn-secondary { background-color: var(--color-secondary); color: white; } .btn-secondary:hover { background-color: #059669; color: white; text-decoration: none; } .btn-outline { background-color: transparent; border-color: var(--color-primary); color: var(--color-primary); } .btn-outline:hover { background-color: var(--color-primary); color: white; text-decoration: none; transform: translateY(-2px); box-shadow: var(--shadow-md); } .btn-text { background: none; color: var(--color-text-light); padding: 0.5rem 1rem; } .btn-text:hover { color: var(--color-primary); text-decoration: underline; } .btn-lg { padding: 1rem 2rem; font-size: 1.125rem; } /* Header & Navigation */ .header { background: var(--color-bg); box-shadow: var(--shadow-sm); position: sticky; top: 0; z-index: 1000; } .nav { position: relative; display: flex; justify-content: space-between; align-items: center; padding: var(--spacing-sm) 0; } .logo-text { font-size: 1.5rem; font-weight: 700; color: var(--color-text); } .logo-img { max-height: 50px; width: auto; display: block; } .nav-menu { display: none; list-style: none; gap: var(--spacing-md); } .nav-menu a { color: var(--color-text); font-weight: 500; } .nav-menu a:hover { color: var(--color-primary); text-decoration: none; } .nav-toggle { display: block; background: none; border: none; cursor: pointer; padding: var(--spacing-xs); } .nav-toggle span { display: block; width: 25px; height: 3px; background: var(--color-text); margin: 5px 0; transition: var(--transition); } @media (min-width: 768px) { .nav-menu { display: flex; } .nav-toggle { display: none; } } /* Mobile Navigation Active State */ .nav-menu.active { display: flex; flex-direction: column; position: absolute; top: 100%; left: 0; right: 0; background: var(--color-bg); box-shadow: var(--shadow-md); padding: var(--spacing-md); } /* Hero Section */ .hero { background: linear-gradient(135deg, var(--color-bg-alt) 0%, #dbeafe 100%); padding: var(--spacing-xl) 0; text-align: center; } .hero-content { max-width: 800px; } .hero-title { margin-bottom: var(--spacing-md); } .hero-subtitle { font-size: 1.125rem; color: var(--color-text-light); margin-bottom: var(--spacing-lg); } .hero-cta { display: flex; flex-direction: column; gap: var(--spacing-sm); margin-bottom: var(--spacing-sm); } .affiliate-disclosure { color: var(--color-text-light); font-size: 0.875rem; } @media (min-width: 640px) { .hero-cta { flex-direction: row; justify-content: center; } } /* Sections */ .section { padding: var(--spacing-xl) 0; } .section-title { text-align: center; margin-bottom: var(--spacing-lg); } .section-intro { text-align: center; color: var(--color-text-light); margin-bottom: var(--spacing-lg); max-width: 600px; margin-left: auto; margin-right: auto; } /* USPs */ .usps { background: var(--color-bg-alt); } .usp-grid { display: grid; grid-template-columns: 1fr; gap: var(--spacing-lg); } .usp-card { background: var(--color-bg); padding: var(--spacing-lg); border-radius: var(--border-radius); box-shadow: var(--shadow-md); text-align: center; transition: var(--transition); } .usp-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); } .usp-icon { font-size: 3rem; margin-bottom: var(--spacing-sm); } @media (min-width: 640px) { .usp-grid { grid-template-columns: repeat(2, 1fr); } } @media (min-width: 1024px) { .usp-grid { grid-template-columns: repeat(4, 1fr); } } /* Social Proof */ .social-proof { text-align: center; } .proof-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--spacing-lg); margin-bottom: var(--spacing-xl); } .stat-number { display: block; font-size: 2.5rem; font-weight: 700; color: var(--color-primary); } .stat-label { color: var(--color-text-light); font-size: 0.875rem; } .testimonial { max-width: 700px; margin: 0 auto; font-style: italic; font-size: 1.125rem; color: var(--color-text-light); } .testimonial cite { display: block; margin-top: var(--spacing-sm); font-style: normal; font-weight: 600; color: var(--color-text); } /* Services */ .services-teaser { background: var(--color-bg-alt); } .services-grid { display: grid; grid-template-columns: 1fr; gap: var(--spacing-lg); margin-bottom: var(--spacing-lg); } .service-card { background: var(--color-bg); padding: var(--spacing-lg); border-radius: var(--border-radius); box-shadow: var(--shadow-md); } .service-card h3 { margin-bottom: var(--spacing-xs); } .service-card p { color: var(--color-text-light); margin-bottom: var(--spacing-sm); } .link-arrow { color: var(--color-primary); font-weight: 600; } .link-arrow::after { content: ' →'; } .link-arrow:hover { color: var(--color-primary-dark); text-decoration: underline; } @media (min-width: 768px) { .services-grid { grid-template-columns: repeat(3, 1fr); } } /* CTA Section */ .cta { background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%); color: white; text-align: center; } .cta h2 { margin-bottom: var(--spacing-sm); } .cta p { margin-bottom: var(--spacing-lg); opacity: 0.9; } .cta-buttons { display: flex; flex-direction: column; gap: var(--spacing-sm); justify-content: center; } @media (min-width: 640px) { .cta-buttons { flex-direction: row; } } .cta .btn-outline { border-color: white; color: white; } .cta .btn-outline:hover { background: white; color: var(--color-primary); text-decoration: none; } /* Footer */ .footer { background: var(--color-text); color: white; padding: var(--spacing-xl) 0 var(--spacing-lg); } .footer-grid { display: grid; grid-template-columns: 1fr; gap: var(--spacing-lg); margin-bottom: var(--spacing-lg); } .footer h4 { margin-bottom: var(--spacing-sm); font-size: 1.125rem; } .footer ul { list-style: none; } .footer li { margin-bottom: var(--spacing-xs); } .footer a { color: #d1d5db; } .footer a:hover { color: white; text-decoration: underline; } .affiliate-note { opacity: 0.7; font-size: 0.875rem; } .footer-bottom { text-align: center; padding-top: var(--spacing-lg); border-top: 1px solid rgba(255,255,255,0.1); opacity: 0.7; font-size: 0.875rem; } @media (min-width: 768px) { .footer-grid { grid-template-columns: repeat(4, 1fr); } } /* Cookie Banner */ .cookie-banner { position: fixed; bottom: 0; left: 0; right: 0; background: var(--color-bg); box-shadow: 0 -4px 6px rgba(0,0,0,0.1); padding: var(--spacing-lg); z-index: 2000; transform: translateY(100%); transition: transform 0.3s ease; } .cookie-banner:not(.hidden) { transform: translateY(0); } .cookie-content { max-width: 1200px; margin: 0 auto; } .cookie-content p { margin-bottom: var(--spacing-sm); color: var(--color-text-light); } .cookie-buttons { display: flex; flex-wrap: wrap; gap: var(--spacing-sm); } /* Utility Classes */ .text-center { text-align: center; } .mt-1 { margin-top: var(--spacing-sm); } .mt-2 { margin-top: var(--spacing-md); } .mt-3 { margin-top: var(--spacing-lg); } .mb-1 { margin-bottom: var(--spacing-sm); } .mb-2 { margin-bottom: var(--spacing-md); } .mb-3 { margin-bottom: var(--spacing-lg); } /* Print Styles */ @media print { .header, .footer, .cookie-banner, .cta { display: none; } }