/* =========================================================
   HEADER • Component Layer
========================================================= */

.pro-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    /* glassy nav */
    background: rgba(var(--bs-secondary-rgb), .95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    /* fallback border for browsers without blur */
    border-bottom: 1px solid rgba(255,255,255,.10);
}

    /* Navbar spacing */
    .pro-header .navbar {
        padding-top: 14px;
        padding-bottom: 14px;
    }

    /* Nav links */
    .pro-header .nav-link {
        color: rgba(255,255,255,.85);
        font-weight: 600;
        padding: 8px 14px;
        border-radius: 999px;
        transition: background-color .15s ease, color .15s ease;
    }

        .pro-header .nav-link:hover,
        .pro-header .nav-link:focus {
            color: #fff;
            background: rgba(255,255,255,.08);
        }

    /* Buttons */
    .pro-header .btn-outline-light {
        --bs-btn-border-color: rgba(255,255,255,.45);
        --bs-btn-hover-bg: rgba(255,255,255,.10);
        --bs-btn-hover-border-color: rgba(255,255,255,.70);
    }

    /* Toggler */
    .pro-header .navbar-toggler {
        border-color: rgba(255,255,255,.25);
    }

    .pro-header .navbar-toggler-icon {
        filter: invert(1) grayscale(1);
    }

/* Mobile adjustments */
@media (max-width: 991.98px) {
    .pro-header .navbar-collapse {
        padding-top: 12px;
    }

    /* Better collapsed menu feel */
    .pro-header .nav-link {
        width: 100%;
        text-align: left;
        border-radius: 14px;
    }

    .pro-header .btn {
        width: 100%;
    }
}


/* =========================================================
   FOOTER • Component Layer
========================================================= */

.pro-footer {
    position: relative;
    background: linear-gradient( 135deg, #EEF2F7 0%, #E9ECEF 40%, #E7EDF6 100% );
    overflow: hidden;
}

    /* Soft pastel glow */
    .pro-footer::before {
        content: "";
        position: absolute;
        left: -10%;
        right: -10%;
        bottom: -220px;
        height: 520px;
        pointer-events: none;
        background: radial-gradient(closest-side at 20% 20%, rgba(var(--bs-primary-rgb), .18), rgba(var(--bs-primary-rgb), 0) 60%), radial-gradient(closest-side at 45% 30%, rgba(var(--bs-warning-rgb), .22), rgba(var(--bs-warning-rgb), 0) 62%), radial-gradient(closest-side at 70% 25%, rgba(var(--bs-info-rgb), .22), rgba(var(--bs-info-rgb), 0) 62%);
        filter: blur(8px);
        opacity: .9;
    }

    .pro-footer > .container {
        position: relative;
        z-index: 2;
    }

    /* If footer uses .pro-section, tweak top padding only */
    .pro-footer.pro-section {
        padding-top: 4rem;
    }

/* Brand */
.pro-footer__tagline {
    font-weight: 700;
    color: var(--pro-text);
}

.pro-footer__text {
    color: var(--pro-muted);
    line-height: 1.7;
    max-width: 44ch;
}

/* Column titles */
.pro-footer__title {
    font-weight: 700;
    color: var(--pro-text);
    margin-bottom: 14px;
}

/* Links */
.pro-footer__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 10px;
}

    .pro-footer__list a {
        color: var(--pro-muted);
        text-decoration: none;
        font-weight: 500;
        transition: color .15s ease;
    }

        .pro-footer__list a:hover {
            color: var(--pro-text);
            text-decoration: underline;
            text-underline-offset: 3px;
        }

/* Divider */
.pro-footer__divider {
    border: 0;
    border-top: 1px dashed rgba(0,0,0,.12);
    opacity: 1;
}

/* Bottom bar */
.pro-footer__copy {
    color: var(--pro-muted);
}

.pro-footer__bottomlinks a {
    color: var(--pro-muted);
    text-decoration: none;
}

    .pro-footer__bottomlinks a:hover {
        color: var(--pro-text);
        text-decoration: underline;
        text-underline-offset: 3px;
    }

.pro-footer__dot {
    color: rgba(0,0,0,.4);
}

/* Mobile spacing */
@media (max-width: 575.98px) {
    .pro-footer.pro-section {
        padding-top: 3rem;
    }
}
