/* PushIT! – Frontend-Stylesheet */

:root {
    --pit-primary: #00a8e0;
    --pit-primary-dark: #0083ad;
    --pit-secondary: #1f2a37;
    --pit-bg: #ffffff;
    --pit-muted: #6c757d;
    --pit-soft: #f5f8fa;
}

html, body {
    scroll-behavior: smooth;
}

body {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: #2c3e50;
    background-color: var(--pit-bg);
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 { font-weight: 700; letter-spacing: -0.01em; }

a { color: var(--pit-primary); text-decoration: none; }
a:hover { color: var(--pit-primary-dark); }

.btn-primary {
    background-color: var(--pit-primary);
    border-color: var(--pit-primary);
}
.btn-primary:hover, .btn-primary:focus {
    background-color: var(--pit-primary-dark);
    border-color: var(--pit-primary-dark);
}
.btn-outline-primary {
    color: var(--pit-primary);
    border-color: var(--pit-primary);
}
.btn-outline-primary:hover {
    background-color: var(--pit-primary);
    border-color: var(--pit-primary);
}

/* Navbar */
.pit-navbar {
    background: rgba(255,255,255,0.96);
    backdrop-filter: saturate(180%) blur(8px);
    box-shadow: 0 2px 12px rgba(0,0,0,0.05);
}
.pit-navbar .navbar-brand img { height: 56px; }
.pit-navbar .nav-link {
    color: #2c3e50;
    font-weight: 600;
    padding: .75rem 1rem;
    position: relative;
}
.pit-navbar .nav-link.active,
.pit-navbar .nav-link:hover { color: var(--pit-primary); }
.pit-navbar .nav-link.active::after {
    content: '';
    position: absolute; left: 1rem; right: 1rem; bottom: .35rem;
    height: 2px; background: var(--pit-primary); border-radius: 2px;
}

/* Hero */
.pit-hero {
    background: linear-gradient(135deg, #0a2540 0%, #0f3b66 60%, #00a8e0 100%);
    color: #fff;
    position: relative;
    overflow: hidden;
    padding: 7rem 0 6rem;
}
.pit-hero::after {
    content: '';
    position: absolute; inset: 0;
    background:
        radial-gradient(800px 400px at 80% 0%, rgba(255,255,255,0.12), transparent 60%),
        radial-gradient(600px 300px at 0% 100%, rgba(0,255,255,0.10), transparent 60%);
    pointer-events: none;
}
.pit-hero h1 {
    font-size: clamp(2rem, 4vw + 1rem, 3.75rem);
    line-height: 1.1;
    margin-bottom: 1rem;
}
.pit-hero p.lead { font-size: 1.25rem; opacity: .9; max-width: 720px; }
.pit-hero .hero-actions { margin-top: 2rem; display: flex; gap: 1rem; flex-wrap: wrap; }
.pit-hero .badge-tag {
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.2);
    color: #fff;
    padding: .35rem .9rem;
    border-radius: 999px;
    font-size: .85rem;
    font-weight: 500;
}

/* Sections */
.pit-section { padding: 5rem 0; }
.pit-section.bg-soft { background-color: var(--pit-soft); }
.pit-section .section-eyebrow {
    color: var(--pit-primary);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: .85rem;
    margin-bottom: .5rem;
}
.pit-section h2 { font-size: clamp(1.75rem, 2vw + 1rem, 2.5rem); margin-bottom: 1rem; }

/* Cards */
.pit-card {
    background: #fff;
    border: 1px solid #eaeef2;
    border-radius: 14px;
    padding: 1.75rem;
    height: 100%;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.pit-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px -20px rgba(0, 60, 100, 0.25);
    border-color: rgba(0, 168, 224, 0.4);
}
.pit-card .icon-wrap {
    width: 56px; height: 56px; border-radius: 14px;
    background: linear-gradient(135deg, rgba(0,168,224,0.15), rgba(0,168,224,0.05));
    color: var(--pit-primary);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.5rem; margin-bottom: 1rem;
}
.pit-card h4 { font-size: 1.15rem; margin-bottom: .5rem; }
.pit-card p { color: var(--pit-muted); margin: 0; }

/* Service grid */
.pit-services .pit-card { text-align: left; }

/* Stats */
.pit-stats { background: var(--pit-secondary); color: #fff; padding: 3rem 0; }
.pit-stats .stat-number {
    font-size: clamp(2rem, 3vw + 1rem, 3.5rem);
    font-weight: 800;
    color: var(--pit-primary);
    line-height: 1;
}
.pit-stats .stat-label { opacity: .8; font-weight: 500; }

/* CTA */
.pit-cta {
    background: linear-gradient(135deg, var(--pit-primary) 0%, var(--pit-primary-dark) 100%);
    color: #fff;
    padding: 4rem 0;
    border-radius: 0;
}
.pit-cta h2 { color: #fff; }
.pit-cta .btn-light { color: var(--pit-primary); font-weight: 600; }

/* Page hero (innere Seiten) */
.pit-page-hero {
    background: linear-gradient(135deg, #0a2540 0%, #0f3b66 100%);
    color: #fff;
    padding: 6rem 0 3rem;
}
.pit-page-hero h1 { font-size: clamp(2rem, 3vw + 1rem, 3rem); }
.pit-page-hero p { color: rgba(255,255,255,0.85); font-size: 1.15rem; max-width: 700px; }
.pit-breadcrumb a { color: rgba(255,255,255,0.7); }
.pit-breadcrumb a:hover { color: #fff; }

/* Kontakt */
.pit-info-card {
    background: #fff;
    border: 1px solid #eaeef2;
    border-radius: 14px;
    padding: 1.5rem;
}
.pit-info-card .icon-wrap {
    width: 48px; height: 48px; border-radius: 12px;
    background: rgba(0,168,224,0.1); color: var(--pit-primary);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.25rem; margin-bottom: .75rem;
    flex-shrink: 0;
}
.pit-info-card-compact { padding: 1.25rem; }
.pit-info-card-compact .pit-info-row {
    display: flex; gap: .85rem; align-items: flex-start;
    padding: .85rem 0;
    border-bottom: 1px solid #eef2f6;
}
.pit-info-card-compact .pit-info-row:first-child { padding-top: 0; }
.pit-info-card-compact .pit-info-row:last-child  { padding-bottom: 0; border-bottom: 0; }
.pit-info-card-compact .pit-info-row .icon-wrap {
    width: 38px; height: 38px; font-size: 1rem; margin-bottom: 0; border-radius: 10px;
}
.pit-info-card-compact .info-label {
    font-size: .75rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: .08em; color: var(--pit-muted); margin-bottom: .15rem;
}
.pit-info-card-compact .info-value { font-size: .95rem; line-height: 1.45; }

/* Footer */
.pit-footer {
    background: #0a1825; color: rgba(255,255,255,0.7);
    padding: 4rem 0 1.5rem;
    margin-top: 4rem;
}
.pit-footer h5 { color: #fff; margin-bottom: 1rem; font-size: 1rem; text-transform: uppercase; letter-spacing: .1em; }
.pit-footer a { color: rgba(255,255,255,0.7); }
.pit-footer a:hover { color: var(--pit-primary); }
.pit-footer .pit-footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.1);
    margin-top: 3rem; padding-top: 1.5rem; font-size: .9rem;
}

/* Animations */
@media (prefers-reduced-motion: no-preference) {
    .pit-fade-up { opacity: 0; transform: translateY(20px); transition: opacity .7s ease, transform .7s ease; }
    .pit-fade-up.visible { opacity: 1; transform: translateY(0); }
}

/* Utility */
.text-primary-pit { color: var(--pit-primary) !important; }
.bg-primary-pit { background-color: var(--pit-primary) !important; }
.bg-soft-pit { background-color: var(--pit-soft) !important; }
