/* ---- Base / Typography ---- */
:root {
    --scrx-primary: #0d6efd; /* Bootstrap primary */
    --scrx-dark: #0b1220;
    --scrx-light: #f8f9fa;
}

html, body {
    height: 100%;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    padding-top: 58px;
}

/* ---- Navbar ---- */
.navbar-brand img {
    display: inline-block;
    vertical-align: middle;
}

.navbar .nav-link {
    font-weight: 500;
}

.navbar.navbar-dark {
    background: linear-gradient(90deg, #0b1220, #141c2e);
    border-bottom: 1px solid rgba(255,255,255,.08);
}

/* ---- Hero ---- */
section.bg-dark {
    background: radial-gradient(1200px 600px at 80% -10%, rgba(13,110,253,.25), transparent), linear-gradient(180deg, #0b1220 0%, #0f1828 100%) !important;
}

.ratio.rounded-4,
.ratio.rounded-3 {
    box-shadow: 0 12px 40px rgba(0,0,0,.35);
    border: 1px solid rgba(255,255,255,.08);
}

/* ---- Cards / Features ---- */
.card {
    border: 1px solid rgba(0,0,0,.06);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

    .card:hover {
        transform: translateY(-4px);
        box-shadow: 0 16px 40px rgba(0,0,0,.12);
        border-color: rgba(13,110,253,.35);
    }

.card-img-top {
    border-bottom: 1px solid rgba(0,0,0,.06);
}

/* ---- Lists / Steps ---- */
.list-group-item {
    border-color: rgba(0,0,0,.06);
}

.list-group-numbered > .list-group-item::marker {
    color: var(--scrx-primary);
    font-weight: 700;
}

/* ---- Sections ---- */
.section {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.bg-light {
    background: #f7f9fc !important;
}

/* ---- CTA ---- */
#kontakt.bg-primary {
    background: linear-gradient(135deg, #0d6efd 0%, #5aa2ff 100%) !important;
}

/* ---- Footer ---- */
footer.bg-dark {
    background: linear-gradient(180deg, #0b1220 0%, #0b1220 100%) !important;
    border-top: 1px solid rgba(255,255,255,.08);
}

/* ---- Utilities ---- */
.shadow-soft {
    box-shadow: 0 10px 30px rgba(0,0,0,.15);
}

.text-gradient {
    background: linear-gradient(90deg, #fff, #9ec5fe);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

/* ---- Responsive tweaks ---- */
@media (max-width: 991.98px) {
    .navbar .btn.btn-sm {
        margin-top: .75rem;
    }
}

.hero .overlay {
    z-index: 0;
    position: absolute;
}
