@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Marcellus&display=swap');

/* ========================================
   GLOBAL STYLE
   ======================================== */
:root {
  --primary-rgb: 85, 107, 47;
  --primary-color: #5A7D5A;
  --bs-primary: #5A7D5A;
  --bs-primary-subtle: #4a67411a;

  --secondary-rgb: 200, 121, 65;
  --secondary-color: #C87941;
  --bs-secondary: #C87941;
  --bs-secondary-subtle: #f8f7f4;
  
  --tertiary-rgb: 79, 79, 79;
  --tertiary-color: #4f4f4f;
  --bs-tertiary: #4f4f4f;
  --bs-tertiary-subtle: #666666;
  
  --bs-success-rgb: 40, 167, 69;
  --bs-success: #28a745;
  --bs-success-subtle: #d4edda;

  --bs-info-rgb: 23, 162, 184;
  --bs-info: #17a2b8;
  --bs-info-subtle: #cce5ff;

  --bs-warning-rgb: 255, 193, 7;
  --bs-warning: #ffc107;
  --bs-warning-subtle: #fff3cd;

  --bs-danger-rgb: 220, 53, 69;
  --bs-danger: #dc3545;
  --bs-danger-subtle: #f8d7da;

  --bs-light-rgb: 249, 250, 251;
  --bs-light: #f9fafb;
  --bs-light-subtle: #f8f9fa;

  --bs-dark-rgb: 42, 42, 42;
  --bs-dark: #2a2a2a;
  --bs-dark-subtle: #5f5f5f;

  --bs-light-gray-rgb: 243, 244, 246;
  --bs-light-gray: #f3f4f6;
  --bs-light-gray-subtle: #dbdbdb;


  --mdb-primary: var(--primary-color);
  --mdb-primary-rgb: var(--primary-rgb);
  --mdb-secondary: var(--secondary-color);
  --mdb-secondary-rgb: var(--secondary-rgb);
  --mdb-link-hover-color: #495e27;
  --mdb-btn-hover-border-color: var(--mdb-link-hover-color) !important;
  --mdb-btn-focus-bg: #4a67411a !important;

  --body-text: #1D1E20;

  --font-family: "Lato", sans-serif;

  --nav-height: 82px;
  /* Décalage courant de la navbar sous le bandeau d'annonce (piloté par navbar.js).
     À utiliser par tout élément fixe qui doit rester calé sous la navbar. */
  --nav-offset: 0px;

  

}


/* === Buttons === */
.btn-primary { background-color: var(--bs-primary) !important; border-color: var(--bs-primary) !important; color: #fff !important; }
.btn-secondary { background-color: var(--bs-secondary) !important; border-color: var(--bs-secondary) !important; color: #fff !important; }
.btn-success { background-color: var(--bs-success) !important; border-color: var(--bs-success) !important; color: #fff !important; }
.btn-info { background-color: var(--bs-info) !important; border-color: var(--bs-info) !important; color: #fff !important; }
.btn-warning { background-color: var(--bs-warning) !important; border-color: var(--bs-warning) !important; color: #212529 !important; }
.btn-danger { background-color: var(--bs-danger) !important; border-color: var(--bs-danger) !important; color: #fff !important; }
.btn-lgray { background-color: var(--bs-light-gray) !important; border-color: var(--bs-light-gray) !important; color: #5f5f5f !important; }
.btn-tertiary { background-color: var(--bs-tertiary) !important; border-color: var(--bs-tertiary) !important; color: #fff !important; }

.btn-outline-primary { color: var(--bs-primary) !important; border-color: var(--bs-primary) !important; }
.btn-outline-tertiary { color: var(--bs-tertiary) !important; border-color: var(--bs-tertiary) !important; }
.btn-outline-secondary { color: var(--bs-secondary) !important; border-color: var(--bs-secondary) !important; }
.btn-outline-success { color: var(--bs-success) !important; border-color: var(--bs-success) !important; }
.btn-outline-info { color: var(--bs-info) !important; border-color: var(--bs-info) !important; }
.btn-outline-warning { color: var(--bs-warning) !important; border-color: var(--bs-warning) !important; }
.btn-outline-danger { color: var(--bs-danger) !important; border-color: var(--bs-danger) !important; }
.btn-outline-lgray { color: var(--bs-light-gray) !important; border-color: var(--bs-light-gray) !important; }

/* === Text colors === */
.text-primary { color: var(--bs-primary) !important; }
.text-secondary { color: var(--bs-secondary) !important; }
.text-success { color: var(--bs-success) !important; }
.text-info { color: var(--bs-info) !important; }
.text-warning { color: var(--bs-warning) !important; }
.text-danger { color: var(--bs-danger) !important; }
.text-light { color: var(--bs-light) !important; }
.text-dark { color: var(--bs-dark) !important; }
a.text-primary:hover { color: rgba(var(--bs-primary-rgb), 0.75) !important; }
.btn-link:hover.text-primary { color: rgba(var(--bs-primary-rgb), 0.75) !important; }
a.text-secondary:hover { color: rgba(var(--bs-secondary-rgb), 0.75) !important; }
.btn-link:hover.text-secondary { color: rgba(var(--bs-secondary-rgb), 0.75) !important; }
a.text-success:hover { color: rgba(var(--bs-success-rgb), 0.75) !important; }
.btn-link:hover.text-success { color: rgba(var(--bs-success-rgb), 0.75) !important; }
a.text-info:hover { color: rgba(var(--bs-info-rgb), 0.75) !important; }
.btn-link:hover.text-info { color: rgba(var(--bs-info-rgb), 0.75) !important; }
a.text-warning:hover { color: rgba(var(--bs-warning-rgb), 0.75) !important; }
.btn-link:hover.text-warning { color: rgba(var(--bs-warning-rgb), 0.75) !important; }
a.text-danger:hover { color: rgba(var(--bs-danger-rgb), 0.75) !important; }
.btn-link:hover.text-danger { color: rgba(var(--bs-danger-rgb), 0.75) !important; }
a.text-light:hover { color: rgba(var(--bs-light-rgb), 0.75) !important; }
.btn-link:hover.text-light { color: rgba(var(--bs-light-rgb), 0.75) !important; }
a.text-dark:hover { color: rgba(var(--bs-dark-rgb), 0.75) !important; }
.btn-link:hover.text-dark { color: rgba(var(--bs-dark-rgb), 0.75) !important; }

/* === Backgrounds === */
.bg-primary { background-color: var(--bs-primary) !important; }
.bg-secondary { background-color: var(--bs-secondary) !important; }
.bg-success { background-color: var(--bs-success) !important; }
.bg-info { background-color: var(--bs-info) !important; }
.bg-warning { background-color: var(--bs-warning) !important; }
.bg-danger { background-color: var(--bs-danger) !important; }
.bg-light { background-color: var(--bs-light) !important; }
.bg-dark { background-color: var(--bs-dark) !important; }
.bg-light-gray { background-color: var(--bs-light-gray) !important; }
.bg-tertiary { background-color: var(--bs-tertiary) !important; }

/* === Borders === */
.border-primary { border-color: var(--bs-primary) !important; }
.border-secondary { border-color: var(--bs-secondary) !important; }
.border-success { border-color: var(--bs-success) !important; }
.border-info { border-color: var(--bs-info) !important; }
.border-warning { border-color: var(--bs-warning) !important; }
.border-danger { border-color: var(--bs-danger) !important; }
.border-light { border-color: var(--bs-light) !important; }
.border-dark { border-color: var(--bs-dark) !important; }

/* === Alerts === */
.alert-primary { background-color: var(--bs-primary) !important; color: #fff !important; border-color: var(--bs-primary) !important; }
.alert-secondary { background-color: var(--bs-secondary) !important; color: #fff !important; border-color: var(--bs-secondary) !important; }
.alert-success { background-color: var(--bs-success) !important; color: #fff !important; border-color: var(--bs-success) !important; }
.alert-info { background-color: var(--bs-info) !important; color: #fff !important; border-color: var(--bs-info) !important; }
.alert-warning { background-color: var(--bs-warning) !important; color: #212529 !important; border-color: var(--bs-warning) !important; }
.alert-danger { background-color: var(--bs-danger) !important; color: #fff !important; border-color: var(--bs-danger) !important; }

/* === Badges === */
.badge-primary { background-color: var(--bs-primary) !important; color: #fff !important; }
.badge-secondary { background-color: var(--bs-secondary) !important; color: #fff !important; }
.badge-success { background-color: var(--bs-success) !important; color: #fff !important; }
.badge-info { background-color: var(--bs-info) !important; color: #fff !important; }
.badge-warning { background-color: var(--bs-warning) !important; color: #212529 !important; }
.badge-danger { background-color: var(--bs-danger) !important; color: #fff !important; }

/* === List group active === */
.list-group-item.active {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: #fff !important;
}

/* === Nav pills active === */
.nav-pills .nav-link.active {
    background-color: var(--bs-primary) !important;
    color: #fff !important;
}

/* === Progress bar === */
.progress-bar.bg-primary { background-color: var(--bs-primary) !important; }
.progress-bar.bg-secondary { background-color: var(--bs-secondary) !important; }
.progress-bar.bg-success { background-color: var(--bs-success) !important; }
.progress-bar.bg-info { background-color: var(--bs-info) !important; }
.progress-bar.bg-warning { background-color: var(--bs-warning) !important; }
.progress-bar.bg-danger { background-color: var(--bs-danger) !important; }

/* === Pagination active === */
.page-item.active .page-link {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: #fff !important;
}


/* ?=== Variantes d’opacité === */
.bg-primary-10 { background-color: rgba(var(--bs-primary-rgb), 0.10) !important; }
.bg-primary-25 { background-color: rgba(var(--bs-primary-rgb), 0.25) !important; }
.bg-primary-50 { background-color: rgba(var(--bs-primary-rgb), 0.50) !important; }
.bg-primary-75 { background-color: rgba(var(--bs-primary-rgb), 0.75) !important; }
.bg-primary-90 { background-color: rgba(var(--bs-primary-rgb), 0.90) !important; }

.bg-secondary-10 { background-color: rgba(var(--bs-secondary-rgb), 0.10) !important; }
.bg-secondary-25 { background-color: rgba(var(--bs-secondary-rgb), 0.25) !important; }
.bg-secondary-50 { background-color: rgba(var(--bs-secondary-rgb), 0.50) !important; }
.bg-secondary-75 { background-color: rgba(var(--bs-secondary-rgb), 0.75) !important; }
.bg-secondary-90 { background-color: rgba(var(--bs-secondary-rgb), 0.90) !important; }

.bg-success-10 { background-color: rgba(var(--bs-success-rgb), 0.10) !important; }
.bg-success-25 { background-color: rgba(var(--bs-success-rgb), 0.25) !important; }
.bg-success-50 { background-color: rgba(var(--bs-success-rgb), 0.50) !important; }
.bg-success-75 { background-color: rgba(var(--bs-success-rgb), 0.75) !important; }
.bg-success-90 { background-color: rgba(var(--bs-success-rgb), 0.90) !important; }

.bg-info-10 { background-color: rgba(var(--bs-info-rgb), 0.10) !important; }
.bg-info-25 { background-color: rgba(var(--bs-info-rgb), 0.25) !important; }
.bg-info-50 { background-color: rgba(var(--bs-info-rgb), 0.50) !important; }
.bg-info-75 { background-color: rgba(var(--bs-info-rgb), 0.75) !important; }
.bg-info-90 { background-color: rgba(var(--bs-info-rgb), 0.90) !important; }

.bg-warning-10 { background-color: rgba(var(--bs-warning-rgb), 0.10) !important; }
.bg-warning-25 { background-color: rgba(var(--bs-warning-rgb), 0.25) !important; }
.bg-warning-50 { background-color: rgba(var(--bs-warning-rgb), 0.50) !important; }
.bg-warning-75 { background-color: rgba(var(--bs-warning-rgb), 0.75) !important; }
.bg-warning-90 { background-color: rgba(var(--bs-warning-rgb), 0.90) !important; }

.bg-danger-10 { background-color: rgba(var(--bs-danger-rgb), 0.10) !important; }
.bg-danger-25 { background-color: rgba(var(--bs-danger-rgb), 0.25) !important; }
.bg-danger-50 { background-color: rgba(var(--bs-danger-rgb), 0.50) !important; }
.bg-danger-75 { background-color: rgba(var(--bs-danger-rgb), 0.75) !important; }
.bg-danger-90 { background-color: rgba(var(--bs-danger-rgb), 0.90) !important; }

.bg-light-10 { background-color: rgba(var(--bs-light-rgb), 0.10) !important; }
.bg-light-25 { background-color: rgba(var(--bs-light-rgb), 0.25) !important; }
.bg-light-50 { background-color: rgba(var(--bs-light-rgb), 0.50) !important; }
.bg-light-75 { background-color: rgba(var(--bs-light-rgb), 0.75) !important; }
.bg-light-90 { background-color: rgba(var(--bs-light-rgb), 0.90) !important; }
.bg-light-10-blurred { background-color: rgba(var(--bs-light-rgb), 0.10) !important; backdrop-filter: blur(6px); }
.bg-light-25-blurred { background-color: rgba(var(--bs-light-rgb), 0.25) !important; backdrop-filter: blur(6px); }
.bg-light-50-blurred { background-color: rgba(var(--bs-light-rgb), 0.50) !important; backdrop-filter: blur(6px); }
.bg-light-75-blurred { background-color: rgba(var(--bs-light-rgb), 0.75) !important; backdrop-filter: blur(6px); }
.bg-light-90-blurred { background-color: rgba(var(--bs-light-rgb), 0.90) !important; backdrop-filter: blur(6px); }

.bg-dark-10 { background-color: rgba(var(--bs-dark-rgb), 0.10) !important; }
.bg-dark-25 { background-color: rgba(var(--bs-dark-rgb), 0.25) !important; }
.bg-dark-50 { background-color: rgba(var(--bs-dark-rgb), 0.50) !important; }
.bg-dark-75 { background-color: rgba(var(--bs-dark-rgb), 0.75) !important; }
.bg-dark-90 { background-color: rgba(var(--bs-dark-rgb), 0.90) !important; }

.bg-light-gray-01 { background-color: rgba(var(--bs-light-gray-rgb), 0.01) !important; }
.bg-light-gray-05 { background-color: rgba(var(--bs-light-gray-rgb), 0.05) !important; }
.bg-light-gray-10 { background-color: rgba(var(--bs-light-gray-rgb), 0.10) !important; }
.bg-light-gray-25 { background-color: rgba(var(--bs-light-gray-rgb), 0.25) !important; }
.bg-light-gray-50 { background-color: rgba(var(--bs-light-gray-rgb), 0.50) !important; }
.bg-light-gray-75 { background-color: rgba(var(--bs-light-gray-rgb), 0.75) !important; }
.bg-light-gray-90 { background-color: rgba(var(--bs-light-gray-rgb), 0.90) !important; }

/* .=== Variantes d’opacité pour textes === */
.text-dark-01 { color: rgba(var(--bs-dark-rgb), 0.01) !important; }
.text-dark-05 { color: rgba(var(--bs-dark-rgb), 0.05) !important; }
.text-dark-10 { color: rgba(var(--bs-dark-rgb), 0.10) !important; }
.text-dark-25 { color: rgba(var(--bs-dark-rgb), 0.25) !important; }
.text-dark-50 { color: rgba(var(--bs-dark-rgb), 0.50) !important; }
.text-dark-75 { color: rgba(var(--bs-dark-rgb), 0.75) !important; } 
.text-dark-90 { color: rgba(var(--bs-dark-rgb), 0.90) !important; }


/* ?=== Variantes d’opacité pour bordures === */
.border-primary-10 { border-color: rgba(var(--bs-primary-rgb), 0.10) !important; }
.border-primary-25 { border-color: rgba(var(--bs-primary-rgb), 0.25) !important; }
.border-primary-50 { border-color: rgba(var(--bs-primary-rgb), 0.50) !important; }
.border-primary-75 { border-color: rgba(var(--bs-primary-rgb), 0.75) !important; }
.border-primary-90 { border-color: rgba(var(--bs-primary-rgb), 0.90) !important; }

.border-secondary-10 { border-color: rgba(var(--bs-secondary-rgb), 0.10) !important; }
.border-secondary-25 { border-color: rgba(var(--bs-secondary-rgb), 0.25) !important; }
.border-secondary-50 { border-color: rgba(var(--bs-secondary-rgb), 0.50) !important; }
.border-secondary-75 { border-color: rgba(var(--bs-secondary-rgb), 0.75) !important; }
.border-secondary-90 { border-color: rgba(var(--bs-secondary-rgb), 0.90) !important; }

.border-success-10 { border-color: rgba(var(--bs-success-rgb), 0.10) !important; }
.border-success-25 { border-color: rgba(var(--bs-success-rgb), 0.25) !important; }
.border-success-50 { border-color: rgba(var(--bs-success-rgb), 0.50) !important; }
.border-success-75 { border-color: rgba(var(--bs-success-rgb), 0.75) !important; }
.border-success-90 { border-color: rgba(var(--bs-success-rgb), 0.90) !important; }

.border-info-10 { border-color: rgba(var(--bs-info-rgb), 0.10) !important; }
.border-info-25 { border-color: rgba(var(--bs-info-rgb), 0.25) !important; }
.border-info-50 { border-color: rgba(var(--bs-info-rgb), 0.50) !important; }
.border-info-75 { border-color: rgba(var(--bs-info-rgb), 0.75) !important; }
.border-info-90 { border-color: rgba(var(--bs-info-rgb), 0.90) !important; }

.border-warning-10 { border-color: rgba(var(--bs-warning-rgb), 0.10) !important; }
.border-warning-25 { border-color: rgba(var(--bs-warning-rgb), 0.25) !important; }
.border-warning-50 { border-color: rgba(var(--bs-warning-rgb), 0.50) !important; }
.border-warning-75 { border-color: rgba(var(--bs-warning-rgb), 0.75) !important; }
.border-warning-90 { border-color: rgba(var(--bs-warning-rgb), 0.90) !important; }

.border-danger-10 { border-color: rgba(var(--bs-danger-rgb), 0.10) !important; }
.border-danger-25 { border-color: rgba(var(--bs-danger-rgb), 0.25) !important; }
.border-danger-50 { border-color: rgba(var(--bs-danger-rgb), 0.50) !important; }
.border-danger-75 { border-color: rgba(var(--bs-danger-rgb), 0.75) !important; }
.border-danger-90 { border-color: rgba(var(--bs-danger-rgb), 0.90) !important; }

.border-light-10 { border-color: rgba(var(--bs-light-rgb), 0.10) !important; }
.border-light-25 { border-color: rgba(var(--bs-light-rgb), 0.25) !important; }
.border-light-50 { border-color: rgba(var(--bs-light-rgb), 0.50) !important; }
.border-light-75 { border-color: rgba(var(--bs-light-rgb), 0.75) !important; }
.border-light-90 { border-color: rgba(var(--bs-light-rgb), 0.90) !important; }

.border-dark-10 { border-color: rgba(var(--bs-dark-rgb), 0.10) !important; }
.border-dark-25 { border-color: rgba(var(--bs-dark-rgb), 0.25) !important; }
.border-dark-50 { border-color: rgba(var(--bs-dark-rgb), 0.50) !important; }
.border-dark-75 { border-color: rgba(var(--bs-dark-rgb), 0.75) !important; }
.border-dark-90 { border-color: rgba(var(--bs-dark-rgb), 0.90) !important; }

.border-light-gray-10 { border-color: rgba(var(--bs-light-gray-rgb), 0.10) !important; }
.border-light-gray-25 { border-color: rgba(var(--bs-light-gray-rgb), 0.25) !important; }
.border-light-gray-50 { border-color: rgba(var(--bs-light-gray-rgb), 0.50) !important; }
.border-light-gray-75 { border-color: rgba(var(--bs-light-gray-rgb), 0.75) !important; }
.border-light-gray-90 { border-color: rgba(var(--bs-light-gray-rgb), 0.90) !important; }


.btn-outline-secondary:hover, .btn-outline-secondary:focus, .btn-outline-secondary:active {
    background-color: rgba(var(--bs-secondary-rgb), 0.25) !important;
    color: rgb(var(--bs-dark-rgb)) !important;
}


.bg-primary-subtle {background-color: var(--bs-primary-subtle) !important;}
.bg-secondary-subtle {background-color: var(--bs-secondary-subtle) !important;}
.bg-success-subtle {background-color: var(--bs-success-subtle) !important;}
.bg-info-subtle {background-color: var(--bs-info-subtle) !important;}
.bg-warning-subtle {background-color: var(--bs-warning-subtle) !important;}
.bg-danger-subtle {background-color: var(--bs-danger-subtle) !important;}
.bg-light-subtle {background-color: var(--bs-light-subtle) !important;}
.bg-dark-subtle {background-color: var(--bs-dark-subtle) !important;}






.lato-<uniquifier> {
  font-family: "Lato", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
.marcellus-<uniquifier> {
  font-family: "Marcellus", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.bg-light-primary-gradient {
  background: linear-gradient(90deg, var(--bs-primary-subtle), #fff);
}

.badge-white {
  background-color: rgba(255, 255, 255, 0.20);
  color: white;

}

.body-text,
body {
  color: var(--body-text);
}


* {
  font-family: var(--font-family);
}

.transparent-img.light-shadow {
  filter: drop-shadow(0 25px 50px rgba(0, 0, 0, .25));
  webkit-filter: drop-shadow(0 25px 50px rgba(0, 0, 0, .25));
}

.transparent-img.xs-shadow {
  filter: drop-shadow(0px 2px 5px rgba(0, 0, 0, .075)) !important;
  webkit-filter: drop-shadow(0px 2px 5px rgba(0, 0, 0, .075)) !important;
}

:not(.transparent-img).light-shadow {
  box-shadow: 0 25px 50px rgba(0, 0, 0, .25);
}

.btn-outline-primary {
  transition: .3s ease-in;}

.btn-outline-primary:hover {
  transform: scale(1.03);
}


/* Animation d'entrée */
.fade-in-up {
    animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(40px); }
    to { opacity: 1; transform: translateY(0); }
}





/* ========================================
   GLOBAL STYLES
   ======================================== */

.mt-nav {
  margin-top: var(--nav-height) !important;
}

.sticky-column-offnav {
  top: 10px;
  transition: .2s ease-in-out;
}

body:has(.navbar:not(.navbar-hidden)) .sticky-column-offnav {
  top: 85px;
}

a.badge {transition: .2s ease-in-out;}
a.badge:hover {transform: translateY(-2px);}

h1, h2, .text-title,
h1 > *, h2 > *, .text-title > * {
  font-family: 'Marcellus', serif;
}

/* ========================================
   BLOG STYLES
   ======================================== */
.toc-link {
  color: var(--body-text);
}
.toc-link.active {
  color: var(--bs-primary);
  font-weight: bold;
}

.blog-content .blog-h2 {
  font-size: 3rem;
  margin-top: 3rem;
  color: var(--bs-primary);
}
.blog-content .blog-h3 {
  font-size: 1.5rem;
  margin-top: 2rem;
}

.blog-content .blog-p:has(+ .blog-ul) {
  margin-bottom: 0 !important;
}

.blog-points-cles {
  padding: .5rem 1.5rem;
  border-left: 4px solid var(--bs-info-subtle);
  border-radius: 8px;
  margin-bottom: 2rem;
}

.blog-content .blog-ul {
  padding-bottom: 0;
  margin-bottom: 0 !important;
}

.blog-content .blog-p:has(> .blog-span) {
  text-transform: uppercase;
  font-size: 10px !important;
}

.blog-content .blog-table {
  width: 100%;
  margin-bottom: 1.5rem;
  border-collapse: collapse;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.blog-content .blog-table th,
.blog-content .blog-table td {
  padding: .75rem 1.25rem;
  text-align: left;
}

.blog-content .blog-table th {
  background-color: var(--mdb-gray-200);
  font-weight: 600;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--mdb-gray-900);
}

.blog-content .blog-table td {
  border-top: 1px solid var(--mdb-gray-200);
  color: var(--mdb-gray-800);
}

.blog-content .blog-table tbody tr:hover {
  background-color: var(--mdb-gray-100);
}




/* ========================================
   NAVBAR STYLES
   ======================================== */

.navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1030;
  background-color: transparent;
  transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
}

.navbar-hidden {
  transform: translateY(-100%);
}

.navbar-scrolled {
  background-color: rgba(255, 255, 255, 0.98);
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);
  backdrop-filter: blur(10px);
}

/* Bandeau d'annonce : dans le flux (décale donc tout le contenu et ne réapparaît
   qu'en haut de page en défilant). Placé au-dessus de la navbar fixe le temps
   qu'elle se recale sous lui (navbar.js pilote le `top` de la navbar au scroll). */
.announcement-band {
  position: relative;
  z-index: 1040;
}

/* Nav Links - Hover underline animation */
.navbar .nav-item,
.footer .nav-item {
  position: relative;
}

.navbar .nav-item::after,
.footer .nav-item::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background-color: var(--primary-color);
  transition: width 0.3s ease, left 0.3s ease;
}

.navbar .nav-item:hover,
.footer .nav-item:hover {
  color: var(--primary-color) !important;
}

.navbar .nav-item:hover::after,
.navbar .nav-item.active::after,
.footer .nav-item:hover::after,
.footer .nav-item.active::after {
  width: 100%;
  left: 0;
}

.navbar .nav-item.active,
.footer .nav-item.active {
  color: var(--primary-color);
}

/* Mobile */
@media (max-width: 767.98px) {
  .navbar .navbar-collapse {
    padding: 1rem;
    border-radius: 0.5rem;
    margin-top: 0.5rem;
  }

  .navbar {
    background-color: rgba(255, 255, 255, 0.98);
  }

  .navbar .nav-item::after {
    display: none;
  }

  .navbar .nav-item.active {
    background-color: rgba(var(--primary-rgb), 0.1);
    border-radius: 0.375rem;
  }
}


/* ========================================
   error
   ======================================== */
/* Chiffre d'arrière-plan géant */
.bg-watermark {
    font-size: 35vw;
    right: -5%;
    bottom: -5%;
    opacity: 0.03;
    user-select: none;
    z-index: -1;
}

@media (max-width: 767.98px) {
    .bg-watermark {
        font-size: 25vw;
        right: 0;
        bottom: 3%;
    }
}

.nav-link-custom:hover {
    color: var(--primary-color) !important;
    border-bottom-color: var(--primary-color) !important;
    padding-left: 10px !important;
}


/* ========================================
   ALL PAGES
   ======================================== */

body {
    background-color: var(--bs-secondary-subtle);
}


/* ========================================
   OAuth buttons
   ======================================== */

.btn-discord {
    background-color: #607d8b;
    color: var(--bs-secondary-subtle);
}
.btn-discord:hover, .btn-discord:active, .btn-discord:focus, .btn-discord:focus-visible {
    background-color: #5b7684 !important;
    color: var(--bs-secondary-subtle) !important;
}


.smaller {
  font-size: .7rem
}
.smallest {
  font-size: .6rem
}

