﻿:root {
    --primary: #007bff;
    --primary-2: #00d4ff;
    --bg-dark: #0b1526;
}

/* Reset tweaks */
html, body {
    height: 100%
}

body {
    overflow-x: hidden
}

/* Glossy Navbar */
.glossy-navbar {
    background: rgba(0, 27, 61, 0.55);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: background .3s, box-shadow .3s;
}

    .glossy-navbar.scrolled {
        background: rgba(0, 27, 61, 0.9);
        box-shadow: 0 6px 20px rgba(0,0,0,.35);
    }

.nav-link {
    color: #fff !important;
    font-weight: 600;
    border-radius: 8px;
    padding: .5rem .9rem;
}

    .nav-link:hover {
        background: rgba(255,255,255,.15);
    }

    .nav-link.active {
        background: linear-gradient(135deg,var(--primary),var(--primary-2));
        box-shadow: 0 4px 14px rgba(0,123,255,.6);
    }

/* Hero */
.hero-section {
    min-height: 100vh;
    background: radial-gradient(1200px 600px at 10% 10%, rgba(0,212,255,.35) 0%, transparent 60%), radial-gradient(1000px 600px at 90% 20%, rgba(0,123,255,.35) 0%, transparent 60%), linear-gradient(120deg, #081424, #0e2d5a, #0873a8, #00b5ff);
    background-size: 120% 120%;
    animation: heroShift 12s ease-in-out infinite;
    display: flex;
    align-items: center;
    justify-content: center;
}

@keyframes heroShift {
    0% {
        background-position: 0% 50%
    }

    50% {
        background-position: 100% 50%
    }

    100% {
        background-position: 0% 50%
    }
}

/* Glossy Sections */
.glossy-section {
    background: linear-gradient(135deg, rgba(0,123,255,.95), rgba(0,212,255,.95));
    background-size: 300% 300%;
    animation: sectionShimmer 14s ease infinite;
}

@keyframes sectionShimmer {
    0% {
        background-position: 0% 50%
    }

    50% {
        background-position: 100% 50%
    }

    100% {
        background-position: 0% 50%
    }
}

/* Feature cards (glass) */
.glossy-card {
    background: rgba(255,255,255,.12);
    color: #fff;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 16px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: transform .25s ease, box-shadow .25s ease;
}

    .glossy-card .card-text {
        color: #eef2f6;
    }

    .glossy-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 18px 40px rgba(0,0,0,.35);
    }

/* Contact section */
.glossy-contact {
    background: linear-gradient(135deg, #004aad, #007bff, #00d4ff);
    background-size: 400% 400%;
    animation: sectionShimmer 12s ease-in-out infinite;
    color: #fff;
}

.contact-card {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.3);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 20px;
    box-shadow: 0 12px 35px rgba(0,0,0,.4);
}

/* Inputs */
.glossy-input {
    width: 100%;
    background: rgba(255,255,255,.95);
    border: 1px solid #d9d9d9;
    border-radius: 14px;
    padding: 16px 18px;
    font-size: 1.05rem;
    color: #000;
    box-shadow: inset 0 2px 6px rgba(0,0,0,.06);
    transition: box-shadow .25s, border-color .25s, background .25s;
}

    .glossy-input:focus {
        background: #fff;
        outline: none;
        border-color: var(--primary-2);
        box-shadow: 0 0 14px rgba(0,212,255,.6);
    }

/* Buttons */
.glossy-btn {
    border: none;
    border-radius: 40px;
    font-weight: 700;
    letter-spacing: .2px;
    background: linear-gradient(135deg, var(--primary), var(--primary-2));
    box-shadow: 0 10px 24px rgba(0,123,255,.45);
    transition: transform .2s, box-shadow .2s;
    color: #fff;
}

    .glossy-btn:hover {
        transform: translateY(-2px) scale(1.02);
        box-shadow: 0 14px 32px rgba(0,123,255,.55);
    }

/* Floating Buttons */
.floating-buttons {
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    z-index: 9999;
}

.floating-btn {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 60px;
    height: 60px;
    padding-left: 16px;
    border-radius: 50px;
    color: #fff;
    font-size: 24px;
    overflow: hidden;
    cursor: pointer;
    border: 1px solid rgba(255,255,255,.3);
    background: rgba(255,255,255,.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: all .35s ease;
    animation: pulseGlow 2s infinite;
}

    .floating-btn span {
        white-space: nowrap;
        opacity: 0;
        visibility: hidden;
        margin-left: 10px;
        transition: all .25s ease;
        font-size: 15px;
        font-weight: 600;
    }

    .floating-btn:hover {
        width: 200px;
        padding-left: 18px;
    }

        .floating-btn:hover span {
            opacity: 1;
            visibility: visible;
        }

    .floating-btn.whatsapp {
        background: linear-gradient(135deg,#25D366,#128C7E);
        box-shadow: 0 0 18px rgba(37,211,102,.55);
    }

    .floating-btn.call {
        background: linear-gradient(135deg,#ff9800,#ff5722);
        box-shadow: 0 0 18px rgba(255,87,34,.55);
    }

    .floating-btn.email {
        background: linear-gradient(135deg,#4CAF50,#2E7D32);
        box-shadow: 0 0 18px rgba(76,175,80,.55);
    }

    .floating-btn.top {
        background: linear-gradient(135deg,#007bff,#0056b3);
        box-shadow: 0 0 18px rgba(0,123,255,.55);
    }

@keyframes pulseGlow {
    0% {
        box-shadow: 0 0 10px rgba(255,255,255,.35),0 0 18px rgba(255,255,255,.2)
    }

    50% {
        box-shadow: 0 0 22px rgba(255,255,255,.8),0 0 38px rgba(255,255,255,.55)
    }

    100% {
        box-shadow: 0 0 10px rgba(255,255,255,.35),0 0 18px rgba(255,255,255,.2)
    }
}

/* Utilities */
h2, h3, h5 {
    color: #0b1b30;
}

#features h2 {
    color: #fff;
}
/* ensure contrast on glossy section */
.card h5 {
    color: #fff;
}

/* Responsive */
@media (max-width: 992px) {
    .navbar-brand {
        font-size: 1.05rem
    }
}

@media (max-width: 768px) {
    .floating-btn {
        width: 54px;
        height: 54px;
        font-size: 22px;
        padding-left: 14px;
    }

        .floating-btn span {
            display: none
        }

    .hero-section {
        padding: 96px 0 80px
    }
}
