/* Styles communs */
body, .navbar, footer {
    margin: 0;
    padding: 0.9rem;
    box-sizing: border-box;
}

main {
    margin-bottom: 100px; /* hauteur du pied de page */
}

.navbar {
    position: fixed; /* Fixe la navbar en haut de la page */
    top: 0; /* Positionne la navbar en haut de la page */
    width: 100%; /* Assure que la navbar prend toute la largeur de la page */
    z-index: 1000; /* Assure que la navbar est toujours au-dessus des autres éléments */
}

a .footer.dark-mode {
    color: #c90000;
    text-decoration: none;
    /*text-decoration: souligner;*/
    color: rgb(16, 75, 236);
}

/* Style des liens visités */
.visited-link:visited {
    color: purple; /* Couleur violet pour les liens visités */
}
  
/* Style des liens non visités */
.visited-link-not:not(:visited) {
    color: red; /* Couleur rouge pour les liens non visités */
}
  
a:hover {
    color: rgb(16, 75, 236);
    text-decoration: none;
    transition: all 0.5s ease-in-out;
}

/* CSS pour le mode sombre */
body.dark-mode {
    background-color: #121212; /* Couleur de fond sombre pour le corps */
    color: #ffffff; /* Couleur de texte claire pour le corps */
}

body.dark-mode .card {
    background-color: #121212; /* Couleur de fond sombre pour les cartes */
    color: #ffffff; /* Couleur de texte claire pour les cartes */
}

body.dark-mode .btn-primary {
    background-color: #ffffff; /* Couleur de fond blanche pour les boutons en mode sombre */
    color: #000000; /* Couleur de texte noire pour les boutons en mode sombre */
}

/* CSS pour le mode sombre */
body.dark-mode {
    background-color: #333333; /* Couleur de fond sombre pour le corps */
    color: #ffffff; /* Couleur de texte claire pour le corps */
}

/* Navbar en mode sombre */
.navbar.dark-mode {
    background-color: #171717 !important; /* Couleur de fond sombre pour la navbar */
    color: #ffffff !important; /* Couleur de texte claire pour la navbar */
}

.navbar.dark-mode .navbar-brand,
.navbar.dark-mode .nav-link {
    color: #ffffff !important; /* Couleur de texte claire pour les liens de navigation */
}


/* Changer la dimension du logo */
.logo {
    width: 50px; /* Largeur personnalisée */
    height: auto; /* Hauteur ajustée automatiquement pour maintenir les proportions */
}



/*------/ Socials /------*/
.socials {
    padding: 1.5rem 0;
}

.socials ul li {
    display: inline-block;
}

.socials .ico-circle {
    font-size: 3rem;
    color: #000000; /* Couleur des icônes en mode clair */
    transition: all 500ms ease;
    margin: 0 15px 0 0;
}

.list-ico,
.socials ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

/*------/ Mode sombre /------*/
body.dark-mode .socials .ico-circle {
    color: #ffffff; /* Couleur des icônes en mode sombre */
    border-radius: 50%; /* Optionnel : ajouter une bordure circulaire si souhaité */
}




/*--------------------------------------------------------------
# Bouton de navigation (hamburger menu)
--------------------------------------------------------------*/
/* Styles par défaut */
.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(0, 0, 0, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

/* Styles pour le fond noir, barres blanches */
.navbar-dark .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(255, 255, 255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

/* Pied de page en mode sombre */
footer.dark-mode {
    background-color: #171717; /* Couleur de fond sombre pour le pied de page */
    color: #ffffff; /* Couleur de texte claire pour le pied de page */
}

/* Styles pour le switch du mode sombre */
.switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 34px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #5D6D7E; /* Couleur initiale de l'arrière-plan */
    transition: .4s;
}

.slider:before {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 4px;
    background-color: white; /* Couleur initiale du bouton */
    transition: .4s;
}

input:checked + .slider {
    background-color: white; /* Arrière-plan blanc quand activé */
}

input:checked + .slider:before {
    background-color: #ccc; /* Bouton gris clair quand activé */
    transform: translateX(26px);
}

/* Rounded sliders */
.slider.round {
    border-radius: 34px;
}

.slider.round:before {
    border-radius: 50%;
}

/* Barre dessous titre */
.custom-bar {
    width: 5%; /* La barre fait la moitié de la largeur du conteneur */
    height: 2px; /* Hauteur de la barre */
    background-color: #000000; /* Couleur de la barre */
    margin: auto; /* Centrer la barre horizontalement */
}

/*--------------------------------------------------------------
# Cartes exemple sous le titre
--------------------------------------------------------------*/
.card {
    border: none; /* Supprime la bordure par défaut des cartes Bootstrap */
    background-color: #acacac;
    box-shadow: 0 4px 8px 0 grey; /* Ajoute une ombre portée pour donner un effet de profondeur */
    transition: 0.3s; /* Ajoute une transition pour les changements d'état de la carte */
}

.card:hover {
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2); /* Augmente l'ombre portée au survol pour donner un effet de "soulèvement" */
}

.card img.card-img-top {
    width: 100%; /* Assure que l'image de la carte prend toute la largeur de la carte */
    height: 15vw; /* Définit une hauteur relative à la largeur de la fenêtre de visualisation */
    object-fit: cover; /* Assure que l'image couvre toute la zone tout en conservant ses proportions */
}

.card-body {
    padding: 1.5rem; /* Augmente l'espacement à l'intérieur du corps de la carte */
}

.card-title {
    margin-bottom: 1.5rem; /* Augmente l'espacement sous le titre de la carte */
    font-size: 1.25rem; /* Augmente la taille de la police du titre de la carte */
}

.card-text {
    margin-bottom: 1.5rem; /* Augmente l'espacement sous le texte de la carte */
}

.btn-primary {
    background-color: #051327f3; /* Change la couleur de fond du bouton en noir */
    border: none; /* Supprime la bordure du bouton */
}

.btn-primary:hover {
    background-color: #0a355af3; /* Change la couleur de fond du bouton en bleu foncé */
    border: none; /* Supprime la bordure du bouton */
}

body.dark-mode .custom-bar {
    background-color: #fff; /* Couleur de la barre en mode sombre */
}


/* Styles pour les appareils tablettes */
@media (max-width: 1390px) {
    .card img.card-img-top {
        height: 20vw; /* Ajustez la hauteur pour les appareils mobiles */
    }

    main {
        margin-top: 72px; /* Ajustez cette valeur selon la hauteur de votre navbar */
    }
}

/* Styles pour les appareils nesthub */
@media (max-width: 1024px) {
    .card img.card-img-top {
        height: 40vw; /* Ajustez la hauteur pour les appareils mobiles */
    }
    .card-body a{
        margin-bottom: 10px;
    }

    main {
        margin-top: 72px; /* Ajustez cette valeur selon la hauteur de votre navbar */
    }
}

/* Styles pour les appareils mobiles */
@media (max-width: 768px) {
    .card img.card-img-top {
        height: 30vw; /* Ajustez la hauteur pour les appareils mobiles */
    }

    main {
        margin-top: 80px; /* Ajustez cette valeur selon la hauteur de votre navbar */
    }
}

/* Vous pouvez ajouter d'autres media queries pour différentes tailles d'écran si nécessaire */
@media (max-width: 576px) {
    .card img.card-img-top {
        height: 80vw; /* Ajustez la hauteur pour les très petits écrans */
    }

    main {
        margin-top: 73px; /* Ajustez cette valeur selon la hauteur de votre navbar */
    }
}

/* Carte pour la navigation mobile */
/* Ajout d'un espace entre les cartes */
.card {
    margin-bottom: 20px; /* Espace entre les cartes en mode mobile */
}

@media (min-width: 768px) {
    .card {
        margin-bottom: 0; /* Pas d'espace entre les cartes en mode desktop */
    }
   main.container.mt-5{
    /* margin-left: 0;
    margin-right: 0; */
   }
}


/*--------------------------------------------------------------
# Blog Single
--------------------------------------------------------------*/
.post-box,
.form-comments,
.box-comments,
.widget-sidebar {
    padding: 2rem;
    background-color: #d6d6d6; /* Background color for light mode */
    color: #000000; /* Text color for light mode */
    margin-bottom: 3rem;
}

body.dark-mode .post-box,
body.dark-mode .form-comments,
body.dark-mode .box-comments,
body.dark-mode .widget-sidebar {
    background-color: #201f1f; /* Background color for dark mode */
    color: #ffffff; /* Text color for dark mode */
}

@media (min-width: 768px) {
    .post-box,
    .form-comments,
    .box-comments,
    .widget-sidebar {
        padding: 3rem;
    }
}

.blog-wrapper .article-title {
    font-size: 1.5rem;
}

@media (min-width: 768px) {
    .blog-wrapper .article-title {
        font-size: 1.9rem;
    }
}

.blog-wrapper .post-meta {
    margin: 1rem 0;
}

.blog-wrapper .post-meta ul {
    border-left: 4px solid #000000;
    margin-top: 1rem;
}

body.dark-mode .blog-wrapper .post-meta ul {
    border-left: 4px solid #ffffff;
    margin-top: 1rem;
}

.blog-wrapper .post-meta ul li {
    display: inline-block;
    margin-left: 15px;
}

.blog-wrapper .post-meta ul a {
    color: #000000; /* Text color for light mode */
}

body.dark-mode .blog-wrapper .post-meta ul a {
    color: #ffffff; /* Text color for dark mode */
}

.blog-wrapper .post-meta ul span {
    color: #191919;
}

.blog-wrapper .blockquote {
    border-left: 4px solid #000000; /* Border color for light mode */
    padding: 18px;
    font-style: italic;
}

body.dark-mode .blog-wrapper .blockquote {
    border-left: 4px solid #ffffff; /* Border color for dark mode */
}

/*------/ Sidebar /------*/
.widget-sidebar .sidebar-title {
    font-size: 1.6rem;
    font-weight: 600;
    border-left: 5px solid #191919;
    padding-left: 15px;
    text-transform: uppercase;
    margin-bottom: 1.5rem;
}

body.dark-mode .widget-sidebar .sidebar-title {
    font-size: 1.6rem;
    font-weight: 600;
    border-left: 5px solid #ffffff;
    padding-left: 15px;
    text-transform: uppercase;
    margin-bottom: 1.5rem;
}
  
.widget-sidebar .list-sidebar li {
    position: relative;
    padding: 6px 0 6px 24px;
}
  
.widget-sidebar .list-sidebar li:before {
    position: absolute;
    content: "";
    width: 10px;
    height: 1px;
    left: 0;
    background-color: #191919;
    top: 20px;
}
  
.sidebar-search input {
    background-color: #fff;
    border-radius: 0;
    transition: all 0.5s ease-in-out;
}
  
.sidebar-search .btn-search {
    background-color: #191919;
    border-color: #191919;
    border-radius: 0;
    padding-left: 20px;
    padding-right: 20px;
}

/*------/ Icone articles /------*/
  /* Couleur par défaut pour l'icône */
.bi.bi-person {
    color: #000000; /* Changez la couleur ici */
}

/* Couleur pour le mode sombre */
body.dark-mode .bi.bi-person {
    color: #ffffff; /* Changez la couleur ici pour le mode sombre */
}

.bi.bi-tag {
    color: #000000; /* Changez la couleur ici */
}

body.dark-mode .bi.bi-tag {
    color: #ffffff; /* Changez la couleur ici pour le mode sombre */
}

.bi.bi-chat-left-text {
    color: #000000; /* Changez la couleur ici */
}

body.dark-mode .bi.bi-chat-left-text {
    color: #ffffff; /* Changez la couleur ici pour le mode sombre */
}

/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {
    position: fixed;
    bottom: 50px;
    right: 50px;
    width: 60px; /* Largeur du rectangle */
    height: 40px; /* Hauteur du rectangle */
    background-color: #121213;
    border: 2px solid #e0e4e9;
    border-radius: 5px; /* Élimine les coins arrondis */
    text-align: center;
    color: #ffffff;
    text-decoration: none;
    transition: background-color 0.3s, color 0.3s;
    font-size: 40px;
    line-height: 40px;
    z-index: 10000; /* Assure que le bouton est au-dessus des autres éléments */
    visibility: hidden; /* Cache le bouton par défaut */
    opacity: 0; /* Rendre le bouton invisible par défaut */
    transition: visibility 0.3s, opacity 0.3s;
}

@media (max-width: 539px) {
    .back-to-top {
        bottom: 100px;
        right: 10px; 
        width: 50px;
        margin-left: 5px;
    }
}

.back-to-top:hover {
    background-color: #0f0f0f;
    color: #fff;
}

/* Style pour l'état actif */
.back-to-top.active {
    visibility: visible;
    opacity: 1;
}

body.dark-mode .back-to-top {
    background-color: #ffffff; /* Couleur de fond blanche pour le bouton en mode sombre */
    color: #000000; /* Couleur de texte noire pour le bouton en mode sombre */
}

body.dark-mode .back-to-top:hover {
    background-color: #cccccc; /* Couleur de fond plus claire pour le survol du bouton en mode sombre */
    color: #000000; /* Couleur de texte noire pour le survol du bouton en mode sombre */
}

/* Footer Styles */
footer {
    background-color: #D6DBDF; /* Couleur de fond claire pour le pied de page */
    color: #000000; /* Couleur de texte foncée pour le pied de page */
    text-align: center;
    padding: 1rem;
    bottom: 0;
    width: 100%;
    position: fixed; /* Fixe le pied de page en bas de la page */
    z-index: 1000; /* Assure que le pied de page est toujours au-dessus des autres éléments */
}

.col-sm-6 {
    padding-bottom: 20px;
}
