/* ============================= */
/* NAVBAR BASE */
/* ============================= */

.navbar {
    position: relative;
    background: #ffffff;
    padding: 14px 0;
    z-index: 1000;
    overflow: hidden;
}

/* Ombre légère */
.navbar.shadow-sm {
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06);
}

/* ============================= */
/* FORMES DE FOND (DISCRÈTES) */
/* ============================= */

.navbar::before {
    content: "";
    position: absolute;
    top: -80px;
    left: -60px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: #0b5ed7;
    opacity: 0.06;
    z-index: -1;
}

.navbar::after {
    content: "";
    position: absolute;
    bottom: -60px;
    right: -40px;
    width: 200px;
    height: 200px;
    border-radius: 24px;
    background: #e8590c;
    opacity: 0.06;
    z-index: -1;
}

/* ============================= */
/* LOGO */
/* ============================= */

.navbar-brand img {
    max-height: 55px;
}

/* ============================= */
/* LIENS */
/* ============================= */

.navbar-nav .nav-link {
    font-weight: 600;
    color: #2b2b2b;
    padding: 8px 14px;
    border-radius: 12px;
    transition: all 0.25s ease;
}

/* Hover très soft */
.navbar-nav .nav-link:hover {
    background: rgba(11, 94, 215, 0.08);
    color: #0b5ed7;
}

/* ============================= */
/* BURGER */
/* ============================= */

.navbar-toggler {
    border: none;
}

.navbar-toggler:focus {
    box-shadow: none;
}

/* ============================= */
/* OFFCANVAS MOBILE */
/* ============================= */

.offcanvas-start {
    width: 280px;
    border-radius: 0 28px 28px 0;
    background: #ffffff;
}

/* Fond offcanvas */
.offcanvas::before {
    content: "";
    position: absolute;
    top: -120px;
    right: -120px;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: #0b5ed7;
    opacity: 0.05;
    z-index: 0;
}

/* Header */
.offcanvas-header {
    border-bottom: 1px solid #eee;
    position: relative;
    z-index: 1;
}

/* Menu */
.offcanvas-body {
    position: relative;
    z-index: 1;
}

.offcanvas-body .nav-link {
    font-weight: 600;
    color: #2b2b2b;
    padding: 12px 14px;
    border-radius: 14px;
    transition: all 0.25s ease;
}

.offcanvas-body .nav-link:hover {
    background: rgba(11, 94, 215, 0.1);
    color: #0b5ed7;
}

/* ============================= */
/* RESPONSIVE */
/* ============================= */

@media (max-width: 991px) {
    .navbar::after {
        display: none;
    }
}
