body {
    background: #0b0f17 !important;
    color: #eaf0ff !important;
}


body::before {
    content: "";
    position: fixed;
    inset: 0;
    background:
        radial-gradient(circle at 20% 20%, rgba(90,130,255,0.10), transparent 40%),
        radial-gradient(circle at 80% 30%, rgba(0,200,255,0.06), transparent 45%),
        radial-gradient(circle at 50% 80%, rgba(140,90,255,0.06), transparent 50%);
    z-index: 0;
    pointer-events: none;
}


body * {
    position: relative;
    z-index: 1;
}


.navbar {
    background: rgba(10, 14, 25, 0.88) !important;
    backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

.nav-link {
    color: #eaf0ff !important;
    font-weight: 500;
    transition: 0.3s;
}

.nav-link:hover {
    opacity: 0.7;
}


.carousel-item {
    position: relative;
}

.carousel-item::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.30);
    z-index: 0;
}

.carousel-item .container {
    position: relative;
    z-index: 2;
}

.carousel-item h1,
.carousel-item h2,
.carousel-item h3,
.carousel-item p {
    color: #ffffff !important;
}


.card {
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 16px;
    transition: 0.3s ease;
    overflow: hidden;
}

.card:hover {
    transform: translateY(-6px);
    border-color: rgba(255,255,255,0.18);
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}

.card img {
    transition: 0.4s ease;
}

.card:hover img {
    transform: scale(1.03);
}


p {
    color: #cfd6e4 !important;
}


.fa, .fas, .fab {
    color: #eaf0ff !important;
}


footer {
    background: #0a0d14 !important;
    border-top: 1px solid rgba(255,255,255,0.06);
}


.btn, .input-group-text {
    background: linear-gradient(135deg, #4f7cff, #3bd6ff);
    border: none;
    color: white !important;
}
.card-body p,
.card-text {
    color: #dbe3ff !important;
    opacity: 1 !important;
}

/* titles inside cards */
.card-body a,
.card-body h1,
.card-body h2,
.card-body h3 {
    color: #ffffff !important;
}

/* fix muted bootstrap text */
.text-muted {
    color: #b8c2d9 !important;
}

/* fix section backgrounds so text contrasts */
.bg-light {
    background: #0f1420 !important;
}

/* ensure cards are readable */
.card {
    background: rgba(20, 25, 40, 0.9) !important;
}

/* fix hero / general paragraph visibility */
p {
    color: #cfd6e4 !important;
}

/* IMPORTANT: prevent overlay dimming content */
body::before {
    z-index: 0 !important;
}

.container,
.row,
.card,
.navbar {
    position: relative;
    z-index: 2;
}
.navbar-toggler {
    border: 1px solid #333;
}

.navbar-toggler-icon {
    filter: invert(1);
}