/* ── Polices ─────────────────────────────────── */
:root {
    --bs-font-sans-serif: 'Jost', sans-serif;
    --bs-body-font-family: 'Inria Sans', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Inria Serif', serif;
}

/* ── Palette D-3d2pi ─────────────────────────── */
:root {
    --bs-primary:         #3E77AE;
    --bs-primary-rgb:     62, 119, 174;

    --bs-secondary:       #d3d491;
    --bs-secondary-rgb:   211, 212, 145;

    --bs-dark:            #393939;
    --bs-dark-rgb:        57, 57, 57;

    --bs-light:           #f5f3e8;
    --bs-light-rgb:       245, 243, 232;

    --bs-danger:          #c16c6c;
    --bs-danger-rgb:      193, 108, 108;

    --bs-warning:         #ca8e2f;
    --bs-warning-rgb:     202, 142, 47;

    --bs-info:            #e6e6e6;
    --bs-info-rgb:        230, 230, 230;

    --bs-success:         #589b53;
    --bs-success-rgb:     88, 155, 83;

    --bs-body-color:      #393939;
    --bs-body-bg:         #f5f3e8;
}

/* ── Overrides directs Bootstrap ────────────── */
.bg-primary   { background-color: #3E77AE !important; }
.bg-secondary { background-color: #d3d491 !important; }
.bg-success   { background-color: #589B53 !important; }
.bg-danger    { background-color: #c16c6c !important; }
.bg-warning   { background-color: #ca8e2f !important; }
.bg-info      { background-color: #e6e6e6 !important; }
.bg-dark      { background-color: #393939 !important; }
.bg-light     { background-color: #f5f3e8 !important; }


/* ================================================================
   D-3d2pi — Navbar & Footer
   Ajouter a la fin de /opt/django/backend/static/css/d3d2pi.css
   ================================================================ */

/* ── Navbar ──────────────────────────────────────────────────── */

#navbar-d3d2pi {
    background-color: #d3d491 !important;
    border-bottom: 2px solid rgba(0, 0, 0, 0.07);
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
}

.brand-name {
    font-family: var(--bs-font-sans-serif);
    font-weight: 600;
    font-size: 1.35rem;
    letter-spacing: 0.03em;
    color: var(--bs-dark);
}

#navbar-d3d2pi .navbar-brand:hover .brand-name {
    color: #000;
}


#navbar-d3d2pi .nav-link {
    color: var(--bs-dark);
    padding-left: 0.85rem;
    padding-right: 0.85rem;
    transition: color 0.15s ease;
}

#navbar-d3d2pi .nav-link:hover {
    color: #7ea9d3;
    background-color: transparent;
}

#navbar-d3d2pi .nav-link.active,
#navbar-d3d2pi .nav-link.selected {
    color: #3e77ae;
    font-weight: 600;
    background-color: transparent;
}


#navbar-d3d2pi .navbar-toggler:focus {
    box-shadow: 0 0 0 2px var(--bs-primary);
}

.navbar-search .form-control {
    background-color: rgba(255, 255, 255, 0.5);
    border-color: rgba(0, 0, 0, 0.15);
    border-right: none;
    border-radius: 20px 0 0 20px;
    font-size: 0.85rem;
}

.navbar-search .form-control:focus {
    background-color: rgba(255, 255, 255, 0.85);
    box-shadow: none;
    border-color: var(--bs-primary);
}

.navbar-search .btn-search {
    background-color: rgba(255, 255, 255, 0.4);
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-left: none;
    border-radius: 0 20px 20px 0;
    color: var(--bs-dark);
    transition: background-color 0.2s ease;
}

.navbar-search .btn-search:hover {
    background-color: rgba(255, 255, 255, 0.75);
}

.lang-btn {
    font-family: var(--bs-font-sans-serif);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    background-color: rgba(255, 255, 255, 0.35);
    border-color: rgba(0, 0, 0, 0.15);
    color: var(--bs-dark);
    border-radius: 4px;
    padding: 0.25rem 0.6rem;
}

.lang-btn:hover,
.lang-btn:focus {
    background-color: rgba(255, 255, 255, 0.65);
    color: #000;
}

/* Dropdown langue */
#navbar-d3d2pi .dropdown-menu {
    background-color: var(--bs-dark);
    border: none;
    border-radius: 6px;
    padding: 0.4rem 0;
}

#navbar-d3d2pi .dropdown-item {
    color: var(--bs-light);
    font-family: var(--bs-font-sans-serif);
    font-size: 0.85rem;
}

#navbar-d3d2pi .dropdown-item:hover,
#navbar-d3d2pi .dropdown-item:focus {
    background-color: #7ea9d3;
    color: var(--bs-light);
}

#navbar-d3d2pi .dropdown-item.active {
    background-color: #3e77ae;
    color: #fff;
}

/* ── Footer ──────────────────────────────────────────────────── */

#footer-d3d2pi {
    background-color: #d3d491 !important;
    color: var(--bs-dark);
    margin-top: 5rem;
    border-top: 2px solid rgba(0, 0, 0, 0.07);
}

#footer-d3d2pi a {
    color: var(--bs-dark);
    text-decoration: none;
    transition: color 0.15s ease;
}

#footer-d3d2pi a:hover {
    color: #7ea9d3;
    background-color: transparent;
    text-decoration: none;
}

.footer-brand {
    font-family: var(--bs-font-sans-serif);
    font-size: 1.75rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.footer-tagline {
    font-size: 0.88rem;
    line-height: 1.55;
    max-width: 270px;
    color: rgba(57, 57, 57, 0.82);
}

.footer-heading {
    font-family: var(--bs-font-sans-serif);
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 1rem;
}

#footer-d3d2pi ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

#footer-d3d2pi ul li {
    margin-bottom: 0.4rem;
}

.footer-bottom {
    border-top: 1px solid rgba(0, 0, 0, 0.12);
}

.footer-copy {
    font-size: 0.8rem;
    color: rgba(57, 57, 57, 0.65);
}

#footer-d3d2pi .btn-social {
    font-family: var(--bs-font-sans-serif);
    font-size: 0.82rem;
    font-weight: 500;
    background-color: var(--bs-dark);
    color: var(--bs-light);
    border: none;
    border-radius: 6px;
    padding: 0.4rem 0.85rem;
    text-decoration: none;
    transition: background-color 0.2s ease;
}

#footer-d3d2pi .btn-social:hover {
    background-color: #3e77ae !important;
    color: #fff;
}

#footer-d3d2pi a {
    color: var(--bs-dark);
    text-decoration: none;
    border-radius: 4px;
    padding: 0.1rem 0.3rem;
    transition: background-color 0.15s ease;
}
