/*

Charte graphique Ministère :
- Bleu (principal)
- Blanc (fond et espaces négatifs)
- Vert (accent positif)
- Jaune (accent d’alerte / surlignage)
- Rouge (accent d’alerte forte)

Ce fichier surcharge le thème de base pour harmoniser
l’ensemble des pages frontend avec cette palette.

*/

:root {
    --mn-blue:  #066af9;
    /* Bleu foncé principal (proche de la capture) */
    --mn-blue-dark: #23416c;
    --mn-green: #2e7d32;
    --mn-yellow: #fdd835;
    --mn-red: #c62828;
    --mn-white: #ffffff;
}

/* Sélection de texte */
:selection { color: var(--mn-white); background: var(--mn-blue); }
::-moz-selection { color: var(--mn-white); background: var(--mn-blue); }
.bg-brand, .bg-grad::selection { color: var(--mn-blue); background: var(--mn-white); }
.bg-brand, .bg-grad::-moz-selection { color: var(--mn-blue); background: var(--mn-white); }

/* Couleurs de liens et éléments interactifs */
a,
.navbar-top a:hover,
.dropdown-item:active,
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus,
.btn-link,
.portfolio-card .portfolio-card-body .portfolio-card-footer .info-title a:hover,
.post .post-info a:hover,
.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .nav-link.active,
.icon-primary i:before,
.footer-dark .widget a:hover,
.portfolio .nav .nav-tabs .nav-filter.active,
.team-item .team-position,
.list-group-item-action:hover,
.list-group-item-action:focus,
.hamburger-menu label a:hover,
.breadcrumb .breadcrumb-item a:hover i,
.post-item .post-item-desc .post-meta a:hover,
.post-item .post-item-desc h4 a:hover,
.post-item .item-link:hover,
.post-item .post-quote > blockquote:before,
.page-link:hover,
.sidebar .widget .widget-post .details a:hover,
.sidebar .widget a:hover,
.list-group-borderless a.list-group-item:hover,
.tags a:hover,
.post-navigation .post-prev:hover:before,
.post-navigation .post-prev:hover h6,
.post-navigation .post-prev:hover p,
.post-navigation .post-next:hover:before,
.post-navigation .post-next:hover h6,
.post-navigation .post-next:hover p,
.post-navigation .all-post:hover,
.blockquote:before,
.btn-outline-grad {
    color: var(--mn-blue);
}

/* Checkbox */
.custom-control-input:checked ~ .custom-control-label::before {
    color: var(--mn-blue);
    border-color: var(--mn-blue);
    background-color: var(--mn-blue);
}

/* Navbar mode sombre */
.navbar-dark .navbar-nav .show > .nav-link,
.navbar-dark .navbar-nav .active > .nav-link,
.navbar-dark .navbar-nav .nav-link.show,
.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus {
    color: var(--mn-blue);
}

.list-group-icon-primary-bg i {
    background-color: #d4e6ff;
    color: var(--mn-blue);
}

.btn-link:hover,
a:hover {
    color: var(--mn-yellow);
}

/* Hover spécifique pour la navigation (header, menus) */
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus,
.navbar-top a:hover,
.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item.active,
.sidebar .widget a:hover,
.footer .widget a:hover {
    color: var(--mn-yellow) !important;
}

.post .post-tag a:hover,
.portfolio-style-2 .portfolio-card .portfolio-card-footer .info-title a:hover,
.portfolio .nav .nav-tabs-style-3 .nav-filter.active,
.portfolio .nav .nav-tabs-style-2 .nav-filter.active,
.portfolio .nav .nav-tabs-style-4 .nav-filter.active {
    color: var(--mn-white);
}

a.text-primary:hover,
a.text-primary:focus,
.primary-hover li:hover {
    color: #0361e5 !important;
}

.nav-tabs.tab-line .nav-link.active {
    color: var(--mn-blue);
    border-bottom: 2px solid var(--mn-blue);
}

/* Couleurs importantes */
.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item.active,
.primary-hover a:hover,
.text-primary,
a.primary-hover:hover {
    color: var(--mn-blue) !important;
}

/* Boutons principaux */
.btn-outline-primary {
    color: var(--mn-blue);
    border-color: var(--mn-blue);
}

.btn-outline-primary:hover {
    color: var(--mn-white);
    background-color: var(--mn-blue);
    border-color: var(--mn-blue);
}

.btn-primary {
    background: var(--mn-blue);
    border-color: var(--mn-blue);
}

.btn-primary:hover {
    background: var(--mn-blue-dark);
    border-color: var(--mn-blue-dark);
}

/* Utilitaires de fond pour les classes déjà présentes dans le header */
.bg-blue-dark {
    background-color: var(--mn-blue-dark) !important;
    color: var(--mn-white) !important;
}

.bg-green {
    background-color: var(--mn-blue) !important;
    color: var(--mn-white) !important;
}

/* ================= Header layout ================= */

header.header-static {
    color: var(--mn-white);
}

.header-top-bar {
    font-size: 0.875rem;
}

.header-main-bar {
    border-bottom: 1px solid rgba(0,0,0,0.06);
}

.header-title-block {
    line-height: 1.2;
}

.header-title-main {
    font-size: 1.15rem;
    letter-spacing: .06em;
    color: #233044;
}

.header-title-sub {
    font-size: 0.9rem;
    color: #4b5563;
}

.header-title-motto {
    font-size: 0.75rem;
    color: #6b7280;
    letter-spacing: .08em;
}

.header-nav-bar .navbar {
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
}

.header-nav-bar .nav-link {
    color: var(--mn-white);
    font-size: 0.9rem;
    font-weight: 500;
}

.header-nav-bar .nav-link:hover,
.header-nav-bar .nav-link:focus {
    color: var(--mn-yellow) !important;
}

@media (max-width: 991.98px) {
    .header-main-bar .header-title-block {
        margin-top: 0.5rem;
        margin-bottom: 0.5rem;
    }

    .header-main-bar img.navbar-brand-item {
        height: 54px;
    }

    /* Menu mobile : garder un fond bleu foncé pour que le texte reste lisible */
    .header-nav-bar .navbar-collapse.show {
        background-color: var(--mn-blue-dark);
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }

    .header-nav-bar .navbar-collapse.show .nav-link {
        color: var(--mn-white);
    }
}

/* Fonds */
.navbar-primary.navbar-sticky-on {
    background-color: var(--mn-blue-dark);
}

.bg-primary {
    background: var(--mn-blue) !important;
}

.accordion.toggle-icon-round .accordion-title a:after {
    background: var(--mn-blue);
}

.accordion-primary .accordion-title,
.cd-headline.clip .cd-words-wrapper::after,
.cd-headline.loading-bar .cd-words-wrapper::after {
    background: var(--mn-blue);
}

.skill-item .progress-bar,
.nav-tabs .nav-link.active,
.nav-tabs.tab-bordered .nav-link.active {
    background-color: var(--mn-blue);
}

/* Bordures */
.form-control:focus,
.feature-box.f-style-3:hover {
    border-color: var(--mn-blue);
}

.form-select:focus {
    border-color: var(--mn-blue);
}

.btn-link:after {
    border-bottom: solid 2px var(--mn-blue-dark);
}

.primary-border-start-dotted {
    border-left: dashed 1px var(--mn-blue);
}

.form-check-input:checked {
    background-color: var(--mn-blue);
    border-color: var(--mn-blue);
}

.testimonials.testimonials-border .testimonials-wrap:hover .testi-text p {
    border: 3px solid var(--mn-blue);
}

.testimonials.testimonials-border .testimonials-wrap:hover .testi-text p:before {
    border-color: var(--mn-blue) transparent transparent;
}

.tags a:hover {
    border: 1px solid var(--mn-blue);
}

.portfolio .nav .nav-tabs-style-1 .nav-filter.active {
    border-color: var(--mn-blue);
}

.blockquote.primary-line {
    border-left: 5px solid var(--mn-blue);
}

/* Texte en dégradé bleu */
.text-grad,
.counter-grad-text .counter-item-icon,
.counter-grad-text .counter-item-digit {
    background: linear-gradient(150deg, var(--mn-blue) 0%, var(--mn-blue-dark) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-fill-color: transparent;
}

/* Arrière-plans en dégradé, intégrant les accents vert/jaune */
.bg-grad,
.skill.skill-grad .progress-bar,
.nav-tabs.tab-grad .nav-link.active,
.portfolio-style-2 .portfolio-card .portfolio-card-header:before,
.portfolio-style-2 .portfolio-card:hover .portfolio-card-header:before,
.team.team-overlay .team-item .team-avatar:before,
.team.team-overlay .team-item:hover .team-avatar:before,
.pricing .ribbon span,
.portfolio .nav .nav-tabs-style-3 .nav-filter a.active,
.portfolio .nav .nav-tabs-style-2 .nav-filter a.active,
.portfolio .nav .nav-tabs-style-4 .nav-filter a.active {
    background: linear-gradient(150deg,
      var(--mn-blue) 0%,
      var(--mn-blue-dark) 55%,
      var(--mn-green) 80%,
      var(--mn-yellow) 100%);
}

.btn-grad,
.btn-outline-grad:before {
    background: linear-gradient(150deg,
      var(--mn-blue-dark) 0%,
      var(--mn-blue) 50%,
      var(--mn-green) 80%,
      var(--mn-blue-dark) 100%);
    background-size: 260% 100%;
    background-position: right bottom;
}

.icon-grad i:before {
    background: linear-gradient(150deg,
      var(--mn-blue) 0%,
      var(--mn-blue-dark) 60%,
      var(--mn-green) 85%,
      var(--mn-yellow) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-fill-color: transparent;
}

.accordion-grad .accordion-title a,
.blockquote.grad-line:after,
.feature-box.f-style-1:before {
    background: linear-gradient(150deg,
      var(--mn-blue) 0%,
      var(--mn-blue-dark) 50%,
      var(--mn-green) 75%,
      var(--mn-yellow) 100%);
}

.divider-grad:before {
    background: linear-gradient(150deg,
      var(--mn-blue) 0%,
      var(--mn-blue-dark) 50%,
      var(--mn-green) 75%,
      var(--mn-yellow) 100%);
}

.divider-grad:after {
    background: linear-gradient(150deg,
      var(--mn-blue-dark) 0%,
      var(--mn-blue) 40%,
      var(--mn-green) 70%,
      var(--mn-yellow) 100%);
}

@media only screen and (min-width:992px) {
    .navbar-nav .dropdown-menu:before {
        background: linear-gradient(150deg,
          var(--mn-blue) 0%,
          var(--mn-blue-dark) 50%,
          var(--mn-green) 75%,
          var(--mn-yellow) 100%);
    }
}

/* SVG dégradé */
.fill-grad-start { stop-color: var(--mn-blue); }
.fill-grad-end { stop-color: var(--mn-blue-dark); }

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .icon-grad i::before{ background: none; color: var(--mn-blue) !important; }
  .text-grad{  background: none; color: var(--mn-blue) !important; }
}

/* Puces du slider */
.dots-primary .tns-nav [data-nav] {
    -webkit-box-shadow: inset 0 0 0 2px var(--mn-blue);
    box-shadow: inset 0 0 0 2px var(--mn-blue);
}

.dots-primary .tns-nav [data-nav]:after {
    background-color: var(--mn-blue);
    -webkit-box-shadow: 0 0 1px var(--mn-blue);
    box-shadow: 0 0 1px var(--mn-blue);
}

/* Accordéons */
.accordion-button:not(.collapsed){
    background-color: rgba(6, 106, 249, 0.12);
    color: var(--mn-blue);
}

.accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232654e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.accordion.accordion-line .accordion-header .accordion-button:before {
    background-color: var(--mn-blue);
}

.accordion.accordion-icon-primary .accordion-header .accordion-button {
    background: var(--mn-blue);
}

.accordion.accordion-icon-gradient .accordion-header .accordion-button:not(.collapsed) {
    background: linear-gradient(150deg,
      var(--mn-blue) 0%,
      var(--mn-blue-dark) 50%,
      var(--mn-green) 75%,
      var(--mn-yellow) 100%) !important;
}

/* Barre haute tricolore sur le header */
header.header-static {
    position: relative;
    background-color: var(--mn-white);
    box-shadow: 0 2px 6px rgba(0,0,0,0.04);
}

header.header-static::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg,
      var(--mn-blue) 0%,
      var(--mn-green) 33%,
      var(--mn-yellow) 66%,
      var(--mn-red) 100%);
    z-index: 2;
}

/* Footer avec rappel de la charte */
footer.footer {
    position: relative;
    background-color: #f5f7fb;
}

footer.footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg,
      var(--mn-blue) 0%,
      var(--mn-green) 33%,
      var(--mn-yellow) 66%,
      var(--mn-red) 100%);
}

/* Tags de statut / labels utilisant vert, jaune, rouge */
.badge-success,
.bg-success {
    background-color: var(--mn-green) !important;
}

.badge-warning,
.bg-warning {
    background-color: var(--mn-yellow) !important;
    color: #333;
}

.badge-danger,
.bg-danger {
    background-color: var(--mn-red) !important;
}

