/* ==========================================================================
   DARK THEME - Styles complets pour le mode sombre
   Utilise !important pour garantir la priorité sur les autres styles
   ========================================================================== */

/* ==========================================================================
   BASE - Corps et conteneurs
   ========================================================================== */

.theme-sombre,
.theme-sombre body,
.theme-sombre .page,
.theme-sombre html {
  background-color: #121212 !important;
  color: #f5f5f5 !important;
}

.theme-sombre .content,
.theme-sombre .content-accueil,
.theme-sombre .middle_content,
.theme-sombre .corps,
.theme-sombre main {
  background-color: #121212 !important;
  color: #f5f5f5 !important;
}

/* ==========================================================================
   TITRES - Tous les niveaux (contraste amélioré)
   ========================================================================== */

.theme-sombre h1,
.theme-sombre .h1,
.theme-sombre h1 *,
.theme-sombre .block-h2,
.theme-sombre h2.block-h2 {
  color: #ffffff !important;
  border-bottom-color: #E02020 !important;
  background-color: transparent !important;
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.5) !important;
}

.theme-sombre h1::after {
  background-color: #EADF43 !important;
}

.theme-sombre h2,
.theme-sombre .h2 {
  color: #ffffff !important;
  border-left-color: #E02020 !important;
  background-color: transparent !important;
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.3) !important;
}

.theme-sombre h2::before {
  background-color: #EADF43 !important;
}

.theme-sombre h3,
.theme-sombre .h3 {
  color: #ff6b6b !important;
  background-color: transparent !important;
  font-weight: 700 !important;
}

.theme-sombre h3::after {
  background: linear-gradient(90deg, #E02020 0%, #EADF43 100%) !important;
}

.theme-sombre h4,
.theme-sombre .h4 {
  color: #e8e8e8 !important;
  background-color: transparent !important;
  font-weight: 600 !important;
}

.theme-sombre h5,
.theme-sombre .h5 {
  color: #d0d0d0 !important;
  background-color: transparent !important;
  font-weight: 600 !important;
}

.theme-sombre h6,
.theme-sombre .h6 {
  color: #b8b8b8 !important;
  background-color: transparent !important;
  font-weight: 600 !important;
}

/* ==========================================================================
   TEXTE ET PARAGRAPHES
   ========================================================================== */

.theme-sombre p,
.theme-sombre div,
.theme-sombre section,
.theme-sombre article {
  color: #e0e0e0;
}

.theme-sombre p *,
.theme-sombre span *,
.theme-sombre li,
.theme-sombre li *,
.theme-sombre ul *,
.theme-sombre ol * {
  color: #e0e0e0;
}

.theme-sombre .block-paragraph {
  background-color: #1e1e1e !important;
  border-left-color: #E02020 !important;
  color: #e0e0e0 !important;
}

.theme-sombre .block-paragraph p {
  color: #e0e0e0 !important;
}

.theme-sombre .block-paragraph a {
  background-color: #B01818 !important;
  color: #ffffff !important;
}

/* ==========================================================================
   LIENS
   ========================================================================== */





.theme-sombre .menu_title a,
.theme-sombre .menu_title a:link,
.theme-sombre .menu_title a:visited {
  color: white !important;
}

.theme-sombre a:hover,
.theme-sombre a:focus {
  color: #ff8080 !important;
}

/* ==========================================================================
   HEADER ET NAVIGATION
   ========================================================================== */

.theme-sombre .header {
  background-color: #1e1e1e !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5) !important;
}

.theme-sombre .nav-top {
  background-color: #B01818 !important;
}

.theme-sombre .nav-top > a {
  color: #ffffff !important;
}

.theme-sombre .nav-top > a:hover {
  background-color: #8a0404 !important;
  color: #EADF43 !important;
}

.theme-sombre .nav-dev {
  background-color: #0E0D49 !important;
  color: #ffffff !important;
}

.theme-sombre .nav-info {
  background-color: #1e1e1e !important;
}

.theme-sombre .nav-info a {
  background-color: #1e1e1e !important;
  color: #e0e0e0 !important;
}

/* ==========================================================================
   SIDEBAR
   ========================================================================== */

.theme-sombre .sidebar {
  background: linear-gradient(180deg, #B01818 0%, #7a0404 100%) !important;
}

.theme-sombre .sidebar > ul > li > a {
  color: #ffffff !important;
}

.theme-sombre .sidebar > ul > li > a:hover {
  color: #EADF43 !important;
  background-color: rgba(255, 255, 255, 0.1) !important;
}

.theme-sombre .submenu {
  background-color: rgba(0, 0, 0, 0.3) !important;
}

.theme-sombre .submenu.visible {
  display: block !important;
}

.theme-sombre .submenu li a {
  color: #e0e0e0 !important;
}

/* ==========================================================================
   MEGA MENU
   ========================================================================== */

.theme-sombre .mega_menu {
  background-color: #1e1e1e !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5) !important;
}

.theme-sombre .mega_menu_container {
  background-color: #1e1e1e !important;
}

.theme-sombre .mega_menu a {
  color: #e0e0e0 !important;
}

.theme-sombre .mega_menu a:hover {
  background-color: #B01818 !important;
  color: #EADF43 !important;
}

.theme-sombre .mega_menu_title {
  color: #ffffff !important;
}

/* ==========================================================================
   CARTES ET COMPOSANTS
   ========================================================================== */

.theme-sombre .card,
.theme-sombre .card-menu-home,
.theme-sombre .card-menu-actualite,
.theme-sombre .card-institution,
.theme-sombre .card_role_container {
  background-color: #1e1e1e !important;
  border-color: #3d3d3d !important;
  color: #f5f5f5 !important;
}

.theme-sombre .card:hover,
.theme-sombre .card-menu-home:hover,
.theme-sombre .card-menu-actualite:hover {
  background-color: #2d2d2d !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4) !important;
}

.theme-sombre .card-title,
.theme-sombre .card-content h3,
.theme-sombre .card-content-home h3 {
  color: #ffffff !important;
}

.theme-sombre .card-content,
.theme-sombre .card-content-home {
  color: #e0e0e0 !important;
}

.theme-sombre .card_role_top {
  background-color: #2d2d2d !important;
  color: #f5f5f5 !important;
}

.theme-sombre .card_role_bottom {
  background-color: #1a1a1a !important;
  color: #e0e0e0 !important;
}

/* ==========================================================================
   BLOCS DE CONTENU
   ========================================================================== */

.theme-sombre .etape-block,
.theme-sombre .step_container {
  background-color: #1e1e1e !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
}

.theme-sombre .step_left {
  color: #ffffff !important;
}

.theme-sombre .step_right {
  background-color: #1e1e1e !important;
  color: #e0e0e0 !important;
}

.theme-sombre .step_number {
  color: #ffffff !important;
}

.theme-sombre .step_title {
  color: #f5f5f5 !important;
}

/* ==========================================================================
   HERO ET MASTHEAD
   ========================================================================== */

.theme-sombre .hero,
.theme-sombre .hero-content {
  background-color: #B01818 !important;
  color: #ffffff !important;
}

.theme-sombre .hero-content h1,
.theme-sombre .hero-content h2,
.theme-sombre .hero-content p {
  color: #ffffff !important;
}

.theme-sombre .masthead {
  background: linear-gradient(180deg, #B01818 0%, #7a0404 100%) !important;
}

.theme-sombre .masthead-heading {
  color: #ffffff !important;
  background-color: rgba(176, 24, 24, 0.85) !important;
}

/* ==========================================================================
   FORMULAIRES - Placeholders et help text en mode sombre
   ========================================================================== */

/* Placeholder en mode sombre */
.theme-sombre input::placeholder,
.theme-sombre textarea::placeholder {
  color: #808080 !important;
  opacity: 1;
}

/* Help text pour formulaires en mode sombre */
.theme-sombre .form_label .help-text {
  color: #b0b0b0 !important;
  display: block;
  margin-top: 0.5rem;
}

/* Labels de formulaire en mode sombre */
.theme-sombre .form_label label {
  color: #f5f5f5 !important;
}

/* Champs de formulaire en mode sombre */
.theme-sombre .form_field input,
.theme-sombre .form_field textarea,
.theme-sombre .form_field select {
  background-color: #1e1e1e !important;
  border-color: #3d3d3d !important;
  color: #f5f5f5 !important;
}

/* Focus sur les champs */
.theme-sombre .form_field input:focus,
.theme-sombre .form_field textarea:focus,
.theme-sombre .form_field select:focus {
  border-color: #E02020 !important;
  box-shadow: 0 0 0 3px rgba(224, 32, 32, 0.2) !important;
}

/* ==========================================================================
   FORMULAIRES - Styles généraux
   ========================================================================== */

.theme-sombre input[type="text"],
.theme-sombre input[type="email"],
.theme-sombre input[type="password"],
.theme-sombre input[type="search"],
.theme-sombre input[type="tel"],
.theme-sombre input[type="url"],
.theme-sombre textarea,
.theme-sombre select,
.theme-sombre .form_field input,
.theme-sombre .form_field select,
.theme-sombre .form_field textarea,
.theme-sombre .search-input,
.theme-sombre .login_form input {
  background-color: #1e1e1e !important;
  border-color: #3d3d3d !important;
  color: #f5f5f5 !important;
}

.theme-sombre input:focus,
.theme-sombre textarea:focus,
.theme-sombre select:focus {
  background-color: #2d2d2d !important;
  border-color: #E02020 !important;
  box-shadow: 0 0 0 3px rgba(224, 32, 32, 0.2) !important;
}

.theme-sombre input::placeholder,
.theme-sombre textarea::placeholder,
.theme-sombre .search-input::placeholder {
  color: #808080 !important;
}

.theme-sombre input[type="submit"],
.theme-sombre .btn,
.theme-sombre .main_bt,
.theme-sombre button[type="submit"] {
  background-color: #E02020 !important;
  color: #ffffff !important;
  border-color: #E02020 !important;
}

.theme-sombre input[type="submit"]:hover,
.theme-sombre .btn:hover,
.theme-sombre .main_bt:hover {
  background-color: #B01818 !important;
}

/* ==========================================================================
   HELP TEXT - Texte d'aide pour formulaires
   ========================================================================== */

/* Dark mode for help text */
.theme-sombre .help-text {
  color: #b0b0b0;
}

/* ==========================================================================
   TABLES
   ========================================================================== */

.theme-sombre table {
  background-color: #1e1e1e !important;
  color: #f5f5f5 !important;
}

.theme-sombre thead,
.theme-sombre thead tr {
  background-color: #E02020 !important;
  color: #ffffff !important;
}

.theme-sombre th {
  color: #ffffff !important;
}

.theme-sombre tbody tr:nth-child(even) {
  background-color: #252525 !important;
}

.theme-sombre tbody tr:hover {
  background-color: #2d2d2d !important;
}

.theme-sombre td {
  color: #e0e0e0 !important;
}

/* ==========================================================================
   BREADCRUMB
   ========================================================================== */

.theme-sombre .breadcrumb-block {
  background-color: #B01818 !important;
}

.theme-sombre nav.breadcrumb-container {
  color: #ffffff !important;
}

.theme-sombre nav.breadcrumb-container li a {
  color: #EADF43 !important;
}


.theme-sombre .breadcrumb li {
  color: #e0e0e0 !important;
}

/* ==========================================================================
   FAQ
   ========================================================================== */

.theme-sombre .faq-question {
  background-color: #B01818 !important;
  color: #ffffff !important;
}

.theme-sombre .faq-question:hover {
  background-color: #8a0404 !important;
  color: #EADF43 !important;
}

.theme-sombre .faq-answer {
  background-color: #1e1e1e !important;
  border-left-color: #E02020 !important;
  color: #e0e0e0 !important;
}

/* ==========================================================================
   BLOCK NOTIFICATIONS - Thème sombre
   ========================================================================== */

/* Conteneur principal */
.theme-sombre .block-notif {
  background-color: #1e1e1e !important;
  border: 1px solid #3d3d3d !important;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4) !important;
}

/* Bandeaux d'en-tête - variantes sombres */
.theme-sombre .block-notif .notif-info {
  background-color: #3b82f6 !important;
  color: #ffffff !important;
}

.theme-sombre .block-notif .notif-alert {
  background-color: #f59e0b !important;
  color: #1a1a1a !important;
}

.theme-sombre .block-notif .notif-success {
  background-color: #22c55e !important;
  color: #ffffff !important;
}

.theme-sombre .block-notif .notif-forbidden {
  background-color: #ef4444 !important;
  color: #ffffff !important;
}

/* Contenu de la notification */
.theme-sombre .block-notif .notif-content {
  background-color: #252525 !important;
  color: #e0e0e0 !important;
}

.theme-sombre .block-notif .notif-content p {
  color: #e0e0e0 !important;
}

.theme-sombre .block-notif .notif-content ul,
.theme-sombre .block-notif .notif-content ol {
  color: #e0e0e0 !important;
}

.theme-sombre .block-notif .notif-content li {
  color: #e0e0e0 !important;
}

/* Liens dans le contenu */
.theme-sombre .block-notif .notif-content a {
  color: #60a5fa !important;
}

.theme-sombre .block-notif .notif-content a:hover {
  color: #93c5fd !important;
}

/* ==========================================================================
   NOTIFICATIONS STANDALONE (compatibilité)
   ========================================================================== */

.theme-sombre .notif-info {
  background-color: rgba(96, 165, 250, 0.2) !important;
  border-left-color: #60a5fa !important;
  color: #60a5fa !important;
}

.theme-sombre .notif-alert {
  background-color: rgba(251, 191, 36, 0.2) !important;
  border-left-color: #fbbf24 !important;
  color: #fbbf24 !important;
}

.theme-sombre .notif-success {
  background-color: rgba(74, 222, 128, 0.2) !important;
  border-left-color: #4ade80 !important;
  color: #4ade80 !important;
}

.theme-sombre .notif-forbidden {
  background-color: rgba(248, 113, 113, 0.2) !important;
  border-left-color: #f87171 !important;
  color: #f87171 !important;
}

/* ==========================================================================
   PERSON ET APP CARDS
   ========================================================================== */

.theme-sombre .person_card {
  background-color: #1e1e1e !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.4) !important;
}

.theme-sombre .person_right_side {
  background-color: #252525 !important;
}

.theme-sombre .top_right_card,
.theme-sombre .person_surname {
  color: #ffffff !important;
}

.theme-sombre .person_biography {
  color: #e0e0e0 !important;
}

.theme-sombre .app_card {
  background-color: #1e1e1e !important;
}

/* ==========================================================================`
   BLOG CARDS
   ========================================================================== */

.theme-sombre .card-line {
  background-color: #232832 !important;
  color: #ffffff !important;
}

.theme-sombre .card-line:hover {
  background-color: #2d3640 !important;
}

.theme-sombre .card p {
  color: #e0e0e0 !important;
}

.theme-sombre .card span {
  color: #EADF43 !important;
}

/* ==========================================================================
   SEARCH
   ========================================================================== */

.theme-sombre .search-input {
  background-color: #2d2d2d !important;
  border-bottom-color: #ffffff !important;
  color: #ffffff !important;
}

.theme-sombre .search-icon {
  background-color: #B01818 !important;
}

.theme-sombre .search_result_card {
  background-color: #1e1e1e !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4) !important;
}

.theme-sombre .search_result_title {
  color: #f5f5f5 !important;
}

.theme-sombre .search_result_link {
  color: #E02020 !important;
}

/* ==========================================================================
   FOOTER
   ========================================================================== */

.theme-sombre .site-footer {
  background: linear-gradient(180deg, #B01818 0%, #7a0404 100%) !important;
}

.theme-sombre .footer-section h2 {
  border-bottom-color: #EADF43 !important;
  color: #ffffff !important;
}

.theme-sombre .footer-section a {
  color: #e0e0e0 !important;
}

.theme-sombre .footer-section a:hover {
  color: #EADF43 !important;
}

.theme-sombre .footer-section p {
  color: #e0e0e0 !important;
}

/* ==========================================================================
   DEMARCHES
   ========================================================================== */

.theme-sombre .demarche_contact,
.theme-sombre .demarche_public-cible,
.theme-sombre .demarche_description {
  background-color: #1e1e1e !important;
  color: #e0e0e0 !important;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.3) !important;
}

/* ==========================================================================
   SERVICE BLOCKS - Thème sombre complet
   ========================================================================== */

/* Container */
.theme-sombre .service-container,
.theme-sombre .service-section {
  background-color: transparent !important;
}

/* Hero */
.theme-sombre .service-hero {
  background: linear-gradient(135deg, #B01818 0%, #7a0404 100%) !important;
}

.theme-sombre .service-hero--secondary {
  background: linear-gradient(135deg, #4a4a4a 0%, #2d2d2d 100%) !important;
}

.theme-sombre .service-hero--dark {
  background: linear-gradient(135deg, #1a1a1a 0%, #0d0d0d 100%) !important;
}

.theme-sombre .service-hero__title {
  color: #ffffff !important;
}

.theme-sombre .service-hero__subtitle {
  color: #e0e0e0 !important;
}

.theme-sombre .service-hero__badge {
  background-color: rgba(255, 255, 255, 0.2) !important;
  color: #ffffff !important;
}

/* Info Box */
.theme-sombre .service-info-box {
  background-color: #1e1e1e !important;
  border-left-color: #60a5fa !important;
  color: #e0e0e0 !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
}

.theme-sombre .service-info-box--primary {
  border-left-color: #E02020 !important;
}

.theme-sombre .service-info-box--success {
  border-left-color: #4ade80 !important;
}

.theme-sombre .service-info-box--warning {
  border-left-color: #fbbf24 !important;
}

.theme-sombre .service-info-box--gray {
  border-left-color: #6b7280 !important;
}

.theme-sombre .service-info-box__title {
  color: #f5f5f5 !important;
}

.theme-sombre .service-info-box__content {
  color: #e0e0e0 !important;
}

.theme-sombre .service-info-box__content p {
  color: #e0e0e0 !important;
}

.theme-sombre .service-info-box__icon {
  background-color: #2d2d2d !important;
  color: #ffffff !important;
}

.theme-sombre .service-info-box__icon--primary {
  background-color: rgba(224, 32, 32, 0.2) !important;
  color: #ff6b6b !important;
}

.theme-sombre .service-info-box__icon--accent {
  background-color: rgba(234, 223, 67, 0.2) !important;
  color: #EADF43 !important;
}

.theme-sombre .service-info-box__icon--gray {
  background-color: #3d3d3d !important;
  color: #b0b0b0 !important;
}

.theme-sombre .service-info-box__icon--info {
  background-color: rgba(96, 165, 250, 0.2) !important;
  color: #60a5fa !important;
}

.theme-sombre .service-info-box__icon--success {
  background-color: rgba(74, 222, 128, 0.2) !important;
  color: #4ade80 !important;
}

.theme-sombre .service-info-box__icon--warning {
  background-color: rgba(251, 191, 36, 0.2) !important;
  color: #fbbf24 !important;
}

/* Link Box */
.theme-sombre .service-link-box {
  background-color: rgba(96, 165, 250, 0.1) !important;
  border-color: rgba(96, 165, 250, 0.3) !important;
}

.theme-sombre .service-link-box__title {
  color: #60a5fa !important;
}

.theme-sombre .service-link-box__url {
  color: #ff6b6b !important;
}

/* Alert Box */
.theme-sombre .service-alert-box--info {
  background-color: rgba(96, 165, 250, 0.1) !important;
  color: #60a5fa !important;
}

.theme-sombre .service-alert-box--warning {
  background-color: rgba(251, 191, 36, 0.1) !important;
  color: #fbbf24 !important;
}

.theme-sombre .service-alert-box--success {
  background-color: rgba(74, 222, 128, 0.1) !important;
  color: #4ade80 !important;
}

.theme-sombre .service-alert-box--danger {
  background-color: rgba(248, 113, 113, 0.1) !important;
  color: #f87171 !important;
}

/* Process */
.theme-sombre .service-process {
  background-color: transparent !important;
}

.theme-sombre .service-process__title {
  color: #f5f5f5 !important;
  background-color: #B01818 !important;
}

.theme-sombre .service-process__list {
  color: #e0e0e0 !important;
  background-color: transparent !important;
}

.theme-sombre .service-process__item {
  color: #e0e0e0 !important;
  background-color: #1e1e1e !important;
  border: 1px solid #3d3d3d !important;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3) !important;
}

.theme-sombre .service-process__item:hover {
  border-color: #E02020 !important;
  box-shadow: 0 6px 12px rgba(224, 32, 32, 0.2) !important;
}

.theme-sombre .service-process__number {
  background-color: #E02020 !important;
  color: #ffffff !important;
  border-color: #1e1e1e !important;
}

.theme-sombre .service-process__item span {
  color: #e0e0e0 !important;
}

.theme-sombre .service-process__text {
  color: #e0e0e0 !important;
}

.theme-sombre .service-process__item--cards {
  background-color: #1e1e1e !important;
  border-top-color: #E02020 !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
}

.theme-sombre .service-process__item--numbered {
  background-color: #252525 !important;
  border-left: 4px solid #E02020 !important;
}

/* Feature Grid */
.theme-sombre .service-feature-grid {
  background-color: transparent !important;
}

.theme-sombre .service-feature-grid__title {
  color: #f5f5f5 !important;
}

.theme-sombre .service-feature-item {
  background-color: rgba(96, 165, 250, 0.05) !important;
}

.theme-sombre .service-feature-item__icon--primary {
  color: #ff6b6b !important;
}

.theme-sombre .service-feature-item__icon--accent {
  color: #EADF43 !important;
}

.theme-sombre .service-feature-item__icon--info {
  color: #60a5fa !important;
}

.theme-sombre .service-feature-item__icon--success {
  color: #4ade80 !important;
}

.theme-sombre .service-feature-item__title {
  color: #f5f5f5 !important;
}

.theme-sombre .service-feature-item__description {
  color: #b0b0b0 !important;
}

.theme-sombre .service-feature-item__description p {
  color: #b0b0b0 !important;
}

/* Documents */
.theme-sombre .service-documents {
  background-color: #1e1e1e !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
}

.theme-sombre .service-documents__header {
  background-color: #2d2d2d !important;
  color: #f5f5f5 !important;
}

.theme-sombre .service-documents__title {
  color: #ffffff !important;
}

.theme-sombre .service-documents__subtitle {
  color: #b0b0b0 !important;
}

.theme-sombre .service-documents__grid {
  background-color: transparent !important;
}

.theme-sombre .service-doc-category {
  background-color: #252525 !important;
  border-color: #3d3d3d !important;
}

.theme-sombre .service-doc-category:hover {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
}

.theme-sombre .service-doc-category__title {
  color: #f5f5f5 !important;
}

.theme-sombre .service-doc-category__description {
  color: #b0b0b0 !important;
}

.theme-sombre .service-doc-category__description p {
  color: #b0b0b0 !important;
}

.theme-sombre .service-doc-category__icon--primary {
  background-color: rgba(224, 32, 32, 0.2) !important;
  color: #ff6b6b !important;
}

.theme-sombre .service-doc-category__icon--accent {
  background-color: rgba(234, 223, 67, 0.2) !important;
  color: #EADF43 !important;
}

.theme-sombre .service-doc-category__icon--info {
  background-color: rgba(96, 165, 250, 0.2) !important;
  color: #60a5fa !important;
}

.theme-sombre .service-doc-category__icon--success {
  background-color: rgba(74, 222, 128, 0.2) !important;
  color: #4ade80 !important;
}

.theme-sombre .service-doc-category__badge--danger {
  background-color: rgba(248, 113, 113, 0.2) !important;
  color: #f87171 !important;
}

.theme-sombre .service-doc-category__badge--warning {
  background-color: rgba(251, 191, 36, 0.2) !important;
  color: #fbbf24 !important;
}

.theme-sombre .service-doc-category__badge--success {
  background-color: rgba(74, 222, 128, 0.2) !important;
  color: #4ade80 !important;
}

.theme-sombre .service-doc-category__badge--info {
  background-color: rgba(96, 165, 250, 0.2) !important;
  color: #60a5fa !important;
}

.theme-sombre .service-doc-category__alert {
  background-color: rgba(248, 113, 113, 0.1) !important;
  border-left-color: #f87171 !important;
  color: #f87171 !important;
}

/* Pricing */
.theme-sombre .service-pricing {
  background-color: transparent !important;
}

.theme-sombre .service-pricing__title {
  color: #f5f5f5 !important;
}

.theme-sombre .service-pricing__title i {
  color: #ff6b6b !important;
}

.theme-sombre .service-pricing__cards {
  background-color: transparent !important;
}

.theme-sombre .service-pricing-card {
  background-color: #1e1e1e !important;
  border: 1px solid #3d3d3d !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
}

.theme-sombre .service-pricing-card__header {
  background-color: #B01818 !important;
  color: #ffffff !important;
}

.theme-sombre .service-pricing-card__header--primary {
  background-color: #E02020 !important;
}

.theme-sombre .service-pricing-card__header--secondary {
  background-color: #60a5fa !important;
}

.theme-sombre .service-pricing-card__header--gray {
  background-color: #4a4a4a !important;
}

.theme-sombre .service-pricing-card__header i {
  color: #ffffff !important;
}

.theme-sombre .service-pricing-card__header h3 {
  color: #ffffff !important;
}

.theme-sombre .service-pricing-card__body {
  background-color: #1e1e1e !important;
}

.theme-sombre .service-pricing-item {
  background-color: #2d2d2d !important;
  color: #e0e0e0 !important;
}

.theme-sombre .service-pricing-item__label {
  color: #e0e0e0 !important;
}

.theme-sombre .service-pricing-item__price {
  color: #ffffff !important;
}

.theme-sombre .service-pricing-item__price--primary {
  color: #ff6b6b !important;
}

.theme-sombre .service-pricing-item__price--success {
  color: #4ade80 !important;
}

.theme-sombre .service-pricing-item__price--warning {
  color: #fbbf24 !important;
}

.theme-sombre .service-pricing-item--free {
  background-color: rgba(74, 222, 128, 0.1) !important;
  border-color: #4ade80 !important;
}

.theme-sombre .service-pricing-item--free .service-pricing-item__price {
  color: #4ade80 !important;
}

.theme-sombre .service-pricing-item--highlight {
  border: 2px solid #4ade80 !important;
}

/* Retrait */
.theme-sombre .service-retrait {
  background: linear-gradient(135deg, #252525 0%, #1e1e1e 100%) !important;
}

.theme-sombre .service-retrait__title {
  color: #f5f5f5 !important;
  background: none !important;
}

.theme-sombre .service-retrait__grid {
  background-color: transparent !important;
}

.theme-sombre .service-retrait__info-item {
  color: #e0e0e0 !important;
}

.theme-sombre .service-retrait__info-icon {
  background-color: #2d2d2d !important;
}

.theme-sombre .service-retrait__info-icon--success {
  background-color: rgba(74, 222, 128, 0.2) !important;
  color: #4ade80 !important;
}

.theme-sombre .service-retrait__info-icon--info {
  background-color: rgba(96, 165, 250, 0.2) !important;
  color: #60a5fa !important;
}

.theme-sombre .service-retrait__info-title {
  color: #f5f5f5 !important;
}

.theme-sombre .service-retrait__info-desc {
  color: #b0b0b0 !important;
}

.theme-sombre .service-retrait__info-desc p {
  color: #b0b0b0 !important;
}

.theme-sombre .service-important-box {
  background-color: rgba(251, 191, 36, 0.1) !important;
  border-color: #fbbf24 !important;
  color: #f5f5f5 !important;
}

.theme-sombre .service-important-box__header {
  color: #fbbf24 !important;
}

.theme-sombre .service-important-box__title {
  color: #fbbf24 !important;
}

.theme-sombre .service-important-box__content {
  color: #e0e0e0 !important;
}

.theme-sombre .service-important-box__content p {
  color: #e0e0e0 !important;
}

.theme-sombre .service-important-box__location {
  color: #b0b0b0 !important;
}

/* ==========================================================================
   MODALS ET ALERTS
   ========================================================================== */

.theme-sombre .modal {
  background-color: rgba(0, 0, 0, 0.8) !important;
}

.theme-sombre .modal-content {
  background-color: #1e1e1e !important;
  color: #e0e0e0 !important;
}

.theme-sombre .alert {
  background-color: #1e1e1e !important;
  border-color: #3d3d3d !important;
  color: #e0e0e0 !important;
}

/* ==========================================================================
   CODE ET CITATIONS
   ========================================================================== */

.theme-sombre code,
.theme-sombre pre {
  background-color: #2d2d2d !important;
  color: #e0e0e0 !important;
}

.theme-sombre blockquote {
  background-color: #1e1e1e !important;
  border-left-color: #E02020 !important;
  color: #e0e0e0 !important;
}

/* ==========================================================================
   HR ET SÉPARATEURS
   ========================================================================== */

.theme-sombre hr {
  border-color: #3d3d3d !important;
  background-color: transparent !important;
}

/* ==========================================================================
   FORMULAIRES SPÉCIFIQUES
   ========================================================================== */

.theme-sombre .login_section {
  background-color: #121212 !important;
}

.theme-sombre .login_form {
  background-color: #1e1e1e !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
}

.theme-sombre .form_annonces input,
.theme-sombre .form_annonces select,
.theme-sombre .form_annonces textarea {
  background-color: #1e1e1e !important;
  border-color: #3d3d3d !important;
  color: #f5f5f5 !important;
}

.theme-sombre .block_form_alerte h1 {
  background-color: #1e1e1e !important;
  border-color: #E02020 !important;
  color: #f5f5f5 !important;
}

/* ==========================================================================
   PHOTOS ET IMAGES
   ========================================================================== */

.theme-sombre .photo_grid {
  background-color: #1e1e1e !important;
}

.theme-sombre .photo_grid img {
  opacity: 0.95;
}

.theme-sombre img {
  opacity: 0.95;
}

.theme-sombre img:hover {
  opacity: 1;
}

/* ==========================================================================
   CAROUSEL
   ========================================================================== */

.theme-sombre .carousel-controls button {
  background-color: #E02020 !important;
  color: #ffffff !important;
}

.theme-sombre .carousel-dots .dot {
  border-color: #E02020 !important;
}

/* ==========================================================================
   BADGES
   ========================================================================== */

.theme-sombre .badge,
.theme-sombre .article-badge {
  background-color: #E02020 !important;
  color: #ffffff !important;
}

/* ==========================================================================
   CONTACT ET INFOS
   ========================================================================== */

.theme-sombre #block-infosfooter {
  background-color: #1e1e1e !important;
}

.theme-sombre #block-infosfooter p {
  color: #e0e0e0 !important;
}

/* ==========================================================================
   THEME SWITCHER MENU (en mode sombre)
   ========================================================================== */

.theme-sombre .theme-switcher-menu {
  background-color: #1e1e1e !important;
  border: 1px solid #3d3d3d !important;
}

.theme-sombre .theme-switcher-option {
  color: #e0e0e0 !important;
}

.theme-sombre .theme-switcher-option:hover {
  background-color: #2d2d2d !important;
  color: #E02020 !important;
}

.theme-sombre .theme-switcher-option.active {
  background-color: rgba(224, 32, 32, 0.2) !important;
  color: #ff4040 !important;
}

.theme-sombre .theme-switcher-title {
  color: #b0b0b0 !important;
  border-bottom-color: #3d3d3d !important;
}

.theme-sombre .theme-switcher-notification {
  background-color: #1e1e1e !important;
  color: #e0e0e0 !important;
}

/* ==========================================================================
   BLOG PAGE - Page article de blog
   ========================================================================== */

/* Sommaire/Table des matières */
.theme-sombre .post-summary {
  background-color: #1e1e1e !important;
}

.theme-sombre .toc-Title {
  color: #f5f5f5 !important;
}

.theme-sombre .toc-Hr {
  border-color: #3d3d3d !important;
}

.theme-sombre .toc-Link {
  color: #b0b0b0 !important;
}

.theme-sombre .toc-Link:hover {
  color: #EADF43 !important;
  background-color: #2d2d2d !important;
}

/* Élément actif dans le sommaire */
.theme-sombre .toc-Link.current,
.theme-sombre .current {
  background-color: #B01818 !important;
  color: #ffffff !important;
}

/* Contenu de l'article */
.theme-sombre .post-Content {
  background-color: transparent !important;
  color: #e0e0e0 !important;
}

.theme-sombre .post-Content article {
  color: #e0e0e0 !important;
}

.theme-sombre .post-Content article p {
  color: #e0e0e0 !important;
}

.theme-sombre .post-Content article li {
  color: #e0e0e0 !important;
}

/* Carte auteur */
.theme-sombre .author-card {
  background-color: transparent !important;
}

.theme-sombre .author-name {
  background-color: #4a3a8a !important;
  color: #ffffff !important;
}

.theme-sombre .date {
  background-color: #3a6a3a !important;
  color: #ffffff !important;
}

/* Badges d'article */
.theme-sombre .article-badge-row {
  background-color: transparent !important;
}

.theme-sombre .article-badge {
  background-color: #4a5c4a !important;
  color: #ffffff !important;
}

.theme-sombre .article-badge:hover {
  background-color: #E02020 !important;
  color: #ffffff !important;
}

/* Séparateur HR */
.theme-sombre .article-hr {
  border-color: #3d3d3d !important;
  background-color: #3d3d3d !important;
}

/* Introduction */
.theme-sombre .intro {
  background-color: #3a4a6a !important;
  color: #e0e0e0 !important;
}

/* Titres dans l'article */
.theme-sombre article h1,
.theme-sombre article h2,
.theme-sombre article h3,
.theme-sombre article h4,
.theme-sombre article h5,
.theme-sombre article h6 {
  color: #ffffff !important;
}

/* Liens dans le contenu de l'article */
.theme-sombre article p a {
  background-color: #2a4a7a !important;
  color: #ffffff !important;
}

.theme-sombre article p a:hover {
  background-color: #3a5a9a !important;
}

/* Blocs de code */
.theme-sombre article .codehilite {
  background-color: #1a1a1a !important;
  color: #e0e0e0 !important;
}

/* Blocs ressources */
.theme-sombre .ressources {
  background-color: #2d2d2d !important;
  color: #e0e0e0 !important;
}

.theme-sombre .ressources a {
  color: #60a5fa !important;
}

/* Alertes info/success/danger */
.theme-sombre .info {
  background-color: rgba(96, 165, 250, 0.2) !important;
  border-color: #60a5fa !important;
  color: #e0e0e0 !important;
}

.theme-sombre .success {
  background-color: rgba(74, 222, 128, 0.2) !important;
  border-color: #4ade80 !important;
  color: #e0e0e0 !important;
}

.theme-sombre .danger {
  background-color: rgba(248, 113, 113, 0.2) !important;
  border-color: #f87171 !important;
  color: #e0e0e0 !important;
}

/* Chemins colorés */
.theme-sombre .colored-path-log,
.theme-sombre .colored-path-tail,
.theme-sombre .colored-path-more,
.theme-sombre .colored-path-nano,
.theme-sombre .colored-path-conf {
  background-color: #1e2a3a !important;
  color: #60a5fa !important;
}

/* ==========================================================================
   FEATURED SECTION 2 - Section actualités/news
   ========================================================================== */

/* Section principale */
.theme-sombre .featured-section-2 {
  background-color: transparent !important;
}

.theme-sombre .featured-section-2 h2 {
  color: #ffffff !important;
  border-left-color: #E02020 !important;
}

/* Grille de news */
.theme-sombre .news-grid {
  background-color: transparent !important;
}

/* Carte de news */
.theme-sombre .news-card {
  background-color: #1e1e1e !important;
  border: 1px solid #3d3d3d !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
}

.theme-sombre .news-card:hover {
  background-color: #2d2d2d !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5) !important;
  transform: translateY(-4px) !important;
}

/* Lien de la carte */
.theme-sombre .news-card-link {
  color: inherit !important;
}

.theme-sombre .news-card-link:hover {
  color: inherit !important;
}

/* Image de la carte */
.theme-sombre .news-card-image {
  background-color: #2d2d2d !important;
}

.theme-sombre .news-card-image img {
  opacity: 0.95 !important;
}

.theme-sombre .news-card-image img:hover {
  opacity: 1 !important;
}

/* Placeholder quand il n'y a pas d'image */
.theme-sombre .news-card-no-image {
  background-color: #2d2d2d !important;
  color: #808080 !important;
}

.theme-sombre .news-card-no-image i {
  color: #808080 !important;
}

/* Date de publication */
.theme-sombre .news-card-date {
  background-color: rgba(224, 32, 32, 0.9) !important;
  color: #ffffff !important;
}

/* Contenu de la carte */
.theme-sombre .news-card-content {
  background-color: transparent !important;
}

/* Titre de la carte */
.theme-sombre .news-card-title {
  color: #ffffff !important;
}

.theme-sombre .news-card:hover .news-card-title {
  color: #EADF43 !important;
}

/* Extrait/description */
.theme-sombre .news-card-excerpt {
  color: #b0b0b0 !important;
}

/* Bouton "Lire la suite" */
.theme-sombre .news-card-read-more {
  color: #E02020 !important;
}

.theme-sombre .news-card-read-more i {
  color: #E02020 !important;
}

.theme-sombre .news-card:hover .news-card-read-more {
  color: #ff6b6b !important;
}

.theme-sombre .news-card:hover .news-card-read-more i {
  color: #ff6b6b !important;
}

/* Case "Voir toutes les actualités" */
.theme-sombre .news-card-all {
  background-color: #B01818 !important;
  border: 1px solid #E02020 !important;
}

.theme-sombre .news-card-all:hover {
  background-color: #E02020 !important;
  box-shadow: 0 8px 30px rgba(224, 32, 32, 0.4) !important;
}

/* Version large - s'étend sur toute la largeur */
.theme-sombre .news-card-all-wide {
  min-height: 320px !important;
}

.theme-sombre .news-card-all-wide .news-card-link {
  min-height: 320px !important;
}

.theme-sombre .news-card-all-content {
  background-color: transparent !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  height: 100% !important;
  padding: 2rem !important;
}

.theme-sombre .news-card-all-text {
  text-align: center !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.theme-sombre .news-card-all-title {
  color: #ffffff !important;
  font-size: 1.75rem !important;
  margin-bottom: 0.75rem !important;
}

.theme-sombre .news-card-all-subtitle {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 1.125rem !important;
  margin: 0 !important;
}

.theme-sombre .news-card-all-arrow {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 50px !important;
  height: 50px !important;
  background-color: rgba(255, 255, 255, 0.2) !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
  margin-top: 1.5rem !important;
  transition: all 0.3s ease !important;
}

.theme-sombre .news-card-all-arrow i {
  color: #ffffff !important;
  font-size: 1.5rem !important;
}

.theme-sombre .news-card-all:hover .news-card-all-arrow {
  background-color: #EADF43 !important;
}

.theme-sombre .news-card-all:hover .news-card-all-arrow i {
  color: #B01818 !important;
}

.theme-sombre .news-card-all:hover .news-card-all-title {
  color: #EADF43 !important;
}

.theme-sombre .news-card-all:hover .news-card-all-subtitle {
  color: #ffffff !important;
}

/* Styles legacy pour compatibilité */
.theme-sombre .news-card-all .news-card-read-more {
  color: #ffffff !important;
}

.theme-sombre .news-card-all .news-card-read-more i {
  color: #ffffff !important;
}

.theme-sombre .news-card-all:hover .news-card-read-more {
  color: #EADF43 !important;
}

.theme-sombre .news-card-all:hover .news-card-read-more i {
  color: #EADF43 !important;
}

/* ==========================================================================
   ICÔNES FONT AWESOME
   ========================================================================== */

.theme-sombre .fa,
.theme-sombre .fas,
.theme-sombre .far,
.theme-sombre .fal,
.theme-sombre .fad,
.theme-sombre .fab {
  color: inherit;
}

/* ==========================================================================
   SERVICE DOCUMENTS - Thème sombre complet pour service-document-category
   ========================================================================== */

/* Section service-documents */
.theme-sombre .service-documents {
  background-color: #1e1e1e !important;
}

/* Cartes de catégorie de documents */
.theme-sombre .service-document-category {
  background-color: #252525 !important;
  border: 1px solid #3d3d3d !important;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4) !important;
}

.theme-sombre .service-document-category:hover {
  border-color: #E02020 !important;
  box-shadow: 0 8px 16px rgba(224, 32, 32, 0.3) !important;
}

/* En-tête de catégorie */
.theme-sombre .service-document-category__header {
  border-bottom: 1px solid #3d3d3d !important;
}

/* Icônes de catégorie */
.theme-sombre .service-document-category__icon {
  background-color: #2d2d2d !important;
}

.theme-sombre .service-document-category__icon--gray {
  background-color: #3d3d3d !important;
  color: #b0b0b0 !important;
}

.theme-sombre .service-document-category__icon--primary {
  background-color: rgba(224, 32, 32, 0.2) !important;
  color: #ff6b6b !important;
}

.theme-sombre .service-document-category__icon--info {
  background-color: rgba(96, 165, 250, 0.2) !important;
  color: #60a5fa !important;
}

.theme-sombre .service-document-category__icon--success {
  background-color: rgba(74, 222, 128, 0.2) !important;
  color: #4ade80 !important;
}

.theme-sombre .service-document-category__icon--accent {
  background-color: rgba(234, 223, 67, 0.2) !important;
  color: #EADF43 !important;
}

/* Titre de catégorie */
.theme-sombre .service-document-category__title h3 {
  color: #f5f5f5 !important;
}

/* Badges */
.theme-sombre .service-document-category__badge {
  background-color: #3d3d3d !important;
  color: #f5f5f5 !important;
}

.theme-sombre .service-document-category__badge--warning {
  background-color: #f59e0b !important;
  color: #1a1a1a !important;
}

.theme-sombre .service-document-category__badge--danger {
  background-color: #ef4444 !important;
  color: #ffffff !important;
}

.theme-sombre .service-document-category__badge--success {
  background-color: #22c55e !important;
  color: #ffffff !important;
}

.theme-sombre .service-document-category__badge--info {
  background-color: #3b82f6 !important;
  color: #ffffff !important;
}

/* Description */
.theme-sombre .service-document-category__description {
  color: #b0b0b0 !important;
}

.theme-sombre .service-document-category__description p {
  color: #b0b0b0 !important;
}

/* Liens dans la description */
.theme-sombre .service-document-category__description a {
  color: #ff6b6b !important;
  text-decoration: underline !important;
}

.theme-sombre .service-document-category__description a:hover {
  color: #ff8080 !important;
}

/* Détails */
.theme-sombre .service-document-category__details {
  border-top: 1px solid #3d3d3d !important;
}

.theme-sombre .service-document-category__detail {
  background-color: #1e1e1e !important;
}

.theme-sombre .service-document-category__detail-title {
  color: #e8e8e8 !important;
}

.theme-sombre .service-document-category__detail div {
  color: #b0b0b0 !important;
}

/* Icônes Phosphor dans les catégories */
.theme-sombre .service-document-category__icon i.ph {
  color: inherit !important;
}