/* ===========================

   0) Variables globales

   =========================== */

   :root {

    /* Couleurs de marque */

    --accent: #198754;                /* Vert emphase (nav) */

    --accent-rgb: 22, 163, 74;

  

    /* Palette texte */

    --text: #0f172a;                  /* Texte principal (Slate-900) */

    --text-muted: #475569;            /* Texte secondaire (Slate-600) */

    --text-soft: #333333;             /* Liens/texte doux */

  

    /* Neutres & fonds */

    --white: #ffffff;

    --bg-soft: #d2e7e0;               /* Fond “mint” doux */

    --grad-start: #a1c2b7;

    --grad-end: #d2e7e0;

  

    /* Accents UI */

    --muted-300: #cccccc;

  

    /* Ombres */

    --shadow-surface-rgb: 2, 6, 23;   /* profondeur douce */

    --ring-light-rgb: 249, 250, 251;  /* halo clair */

  }

  

  /* ===========================

     Sections & mises en page

     =========================== */

  .block1 {

    background: var(--bg-soft);

  }

  

  .block1-sub {

    background: var(--white);

    clip-path: ellipse(105% 100% at 49.45% 0%);

  }

  

  .background-gradient {

    background: linear-gradient(to top, var(--grad-start) 0%, var(--grad-end) 100%);

    /* Préfixes si besoin :

    background: -webkit-linear-gradient(to top, var(--grad-start) 0%, var(--grad-end) 100%);

    background: -moz-linear-gradient(to top, var(--grad-start) 0%, var(--grad-end) 100%);

    background: -o-linear-gradient(to top, var(--grad-start) 0%, var(--grad-end) 100%);

    */

  }

  

  /* ===========================

     Cartes & blocs

     =========================== */

  #block2 .card {

    border: none;

  }

  

  #block2 .card-footer {

    background: none;

    border-top: none;

  }

  

  #testimonials .card {

    background: none;

    border: none;

    border-radius: 0.25rem;

  }

  

  #testimonials .card img {

    border-radius: 90px;

  }

  

  #testimonials .blockquote-footer {

    color: var(--muted-300);

  }

  

  #news a {

    color: var(--text-soft);

    text-decoration: none;

  }

  

  #news .card-footer {

    background: none;

  }

  

  /* ===========================

     Boutons / Effets

     =========================== */

  .btn-box-shadow-1 {

    box-shadow: 0 0 0 .25rem rgba(var(--ring-light-rgb), .5);

  }

  

  .btn-box-shadow-1:hover {

    box-shadow: 0 0 0 .25rem rgba(var(--ring-light-rgb), .25);

  }

  

  .btn-box-shadow-2 {

    box-shadow: 0 0 0 0.25rem rgba(var(--accent-rgb), .5);

  }

  

  .btn-box-shadow-2:hover {

    box-shadow: 0 0 0 0.25rem rgba(var(--accent-rgb), .25);

  }

  

  /* ===========================

     Divers

     =========================== */

  .galery-1 h5 {

    margin-bottom: 2em;

  }

  

  footer a {

    color: var(--white);

    text-decoration: none !important;

  }



  /* ===========================

    Branding / Navbar brand

    =========================== */

    .navbar-brand img {

    max-height: 70px;

    padding-right: 10px;

    }



    .navbar-brand span {

    margin-top: inherit;

    margin-bottom: inherit;

    font-weight: bold;

    font-weight: 700;

    }



    .navbar-brand span {

    text-transform: uppercase;

    }

      

  /* ===========================

     NAV – Styles de base

     =========================== */

  .navbar .navbar-nav .nav-link {

    /* Texte : majuscule + gras + un peu plus grand */

    text-transform: uppercase;

    font-weight: 700;

    letter-spacing: .02em;

    font-size: clamp(0.95rem, 0.9rem + .2vw, 1.05rem);

  

    /* Aspect & espacement */

    color: var(--text);

    padding: .65rem .9rem;

    position: relative;

  

    /* Effet moderne : soulignement animé + légère levée */

    background-image: linear-gradient(currentColor, currentColor);

    background-size: 0% 2px;                 /* Ligne cachée */

    background-repeat: no-repeat;

    background-position: 0 100%;             /* Bas du lien */

    transition: background-size .25s ease, transform .15s ease, color .15s ease;

  }

  

  .navbar .navbar-nav .nav-link:hover,

  .navbar .navbar-nav .nav-link:focus {

    color: var(--text);

    background-size: 100% 2px;               /* Déploie la ligne */

    transform: translateY(-1px);

  }

  

  /* ===========================

     NAV – États actifs

     =========================== */

  /* Page courante en emphase (vert) */

  .navbar .navbar-nav .nav-item.active > .nav-link,

  .navbar .navbar-nav .nav-link.active,

  .navbar .navbar-nav .nav-item.current > .nav-link {

    color: var(--accent);

    background-image: linear-gradient(var(--accent), var(--accent));

    background-size: 100% 2px;               /* Ligne verte visible */

  }

  

  /* Sous-menu : ne pas colorer un parent juste parce qu’il a un dropdown */

  .navbar .navbar-nav .nav-item.parent > .nav-link {

    color: var(--text);                       /* Couleur normale */

  }

  

  /* Colorer le parent seulement si le chemin actif est présent */

  .navbar .navbar-nav .nav-item.nav-path > .nav-link {

    color: var(--accent);

  }

  

  /* Dropdown (niveau 2+) */

  .dropdown-menu {

    border: 0;

    box-shadow: 0 8px 24px rgba(var(--shadow-surface-rgb), .1);

    padding: .5rem;

  }

  

  .dropdown-item {

    text-transform: uppercase;

    font-weight: 700;

    letter-spacing: .02em;

    font-size: .9rem;

    color: var(--text-muted);

    border-radius: .5rem;

    transition: background-color .15s ease, color .15s ease, transform .15s ease;

  }

  

  /* Survol moderne sur les items de sous-menu */

  .dropdown-item:hover,

  .dropdown-item:focus {

    color: var(--text);

    background-color: rgba(var(--accent-rgb), .08); /* léger vert translucide */

    transform: translateX(2px);

  }

  

  /* Item actif dans le sous-menu */

  .dropdown-item.active,

  .dropdown-item:active {

    color: var(--accent) !important;

    background-color: rgba(var(--accent-rgb), .12) !important;

    font-weight: 800;

  }

  

  /* ===========================

     Accessibilité / Interactions

     =========================== */

  .navbar .navbar-nav .nav-link:focus-visible,

  .dropdown-item:focus-visible {

    outline: 2px solid var(--accent);

    outline-offset: 2px;

    border-radius: .4rem;

  }

  

  @media (prefers-reduced-motion: reduce) {

    .navbar .navbar-nav .nav-link,

    .dropdown-item {

      transition: none;

    }

  }

  

  div.mod-languages a {

    background-color: rgba(var(--accent-rgb), .100);

    color: var(--accent);

    font-weight: bold;

 }



/* ===========================

  Hero

  =========================== */

:root { --accent: #198754; }



.category-hero {

  position: relative;

  background-size: cover;

  background-position: center;

  min-height: 380px;

  display: flex;

  align-items: center;

  padding: 2rem 0; /* on enlève le padding horizontal ici */

}



.category-hero::before {

  content: "";

  position: absolute;

  inset: 0;

  background: rgba(0,0,0,0.25);

}



.hero-text-wrapper {

  position: relative;

  z-index: 1;

}



/* Style texte avec fond */

.hero-title,

.hero-desc {

  display: inline-block;

  background: var(--accent);

  color: #fff;

  padding: .3em .6em;

  font-weight: 700;

  line-height: 1.3;

  box-decoration-break: clone;

  -webkit-box-decoration-break: clone;

}



.hero-title { font-size: 2rem; margin-bottom: .5rem; }

.hero-desc  { font-size: 1.1rem; font-weight: 400; }

/* Bureau */

#team .card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

#team .card:hover {
    transform: translateY(-8px) scale(1.03);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
    cursor: pointer;
}

#team .card img {
    transition: transform 0.4s ease;
}

#team .card:hover img {
    opacity: 0.75;
}

