/**
 * PUBLISHER DARK MODE FIXES
 * 
 * Fichier CSS complémentaire pour les styles spécifiques aux pages publisher_*
 * non couverts par les classes dashlite standard.
 * 
 * Ce fichier gère :
 * - Les gradients complexes avec variantes dark mode
 * - Les couleurs de marque adaptatives (#3399ff, #DAA520)
 * - Les styles inline multiples extraits
 * - Les états hover remplacés
 * - Les backgrounds clairs qui doivent être adaptés en dark mode
 */

/* ============================================================================
   RÈGLE GÉNÉRALE : SUPPRESSION FORCÉE DES BACKGROUNDS BLANCS/CLAIRS EN DARK MODE
   ============================================================================ */

/* ═══════════════════════════════════════════════════════════════════════════
   RÈGLES AGRESSIVES : FORCER LES BACKGROUNDS SOMBRES EN DARK MODE
   ═══════════════════════════════════════════════════════════════════════════ */

/* 1. TOUS les éléments avec backgrounds clairs codés en dur (inline styles) */
.dark-mode [style*="background: #fff"],
.dark-mode [style*="background: #ffffff"],
.dark-mode [style*="background-color: #fff"],
.dark-mode [style*="background-color: #ffffff"],
.dark-mode [style*="background: #f8f9fa"],
.dark-mode [style*="background: #f8f9fb"],
.dark-mode [style*="background-color: #f8f9fa"],
.dark-mode [style*="background-color: #f8f9fb"],
.dark-mode [style*="background: #f5f6fa"],
.dark-mode [style*="background-color: #f5f6fa"],
.dark-mode [style*="background: #e5e9f2"],
.dark-mode [style*="background-color: #e5e9f2"],
.dark-mode [style*="background: #dee2e6"],
.dark-mode [style*="background-color: #dee2e6"],
.dark-mode [style*="background: #fff3f4"],
.dark-mode [style*="background-color: #fff3f4"],
.dark-mode [style*="background: #fff3cd"],
.dark-mode [style*="background-color: #fff3cd"],
.dark-mode [style*="background: #d4edda"],
.dark-mode [style*="background-color: #d4edda"],
.dark-mode [style*="background: #f8d7da"],
.dark-mode [style*="background-color: #f8d7da"],
.dark-mode [style*="background: #e0f2f8"],
.dark-mode [style*="background-color: #e0f2f8"] {
    background-color: #141c26 !important; /* bg-white dashlite dark mode */
}

/* 2. Backgrounds clairs spécifiques pour alertes */
.dark-mode [style*="background-color: #fff3f4"],
.dark-mode [style*="background-color: #f8d7da"] {
    background-color: #34242b !important; /* bg-danger-dim */
}

.dark-mode [style*="background-color: #fff3cd"] {
    background-color: #363422 !important; /* bg-warning-dim */
}

.dark-mode [style*="background-color: #d4edda"] {
    background-color: #16393a !important; /* bg-success-dim */
}

.dark-mode [style*="background-color: #e0f2f8"] {
    background-color: #123542 !important; /* bg-info-dim */
}

/* 3. Éléments communs avec backgrounds clairs (même sans style inline) - FORCER */
.dark-mode .card-inner:not(.publisher-header-gradient):not(.publisher-entry-gradient) {
    background-color: #141c26 !important; /* bg-white dashlite dark mode */
}

.dark-mode .modal-body,
.dark-mode .modal-footer {
    background-color: #141c26 !important; /* bg-white dashlite dark mode */
}

.dark-mode .modal-content {
    background-color: #161f2a !important; /* bg-dark dashlite */
}

/* 3b. FORCER les backgrounds sur TOUS les éléments publisher en dark mode */
.dark-mode .nk-content .card,
.dark-mode .nk-content .card-inner,
.dark-mode .nk-content .card-bordered {
    background-color: #141c26 !important; /* bg-white dashlite dark mode */
}

/* Exception pour les gradients header qui ont leur propre gestion */
.dark-mode .nk-content .card-inner.publisher-header-gradient {
    /* Géré par .publisher-header-gradient */
}

/* 4. Alertes avec backgrounds clairs */
.dark-mode .alert-success,
.dark-mode .alert-danger,
.dark-mode .alert-warning,
.dark-mode .alert-info {
    /* Les classes publisher-alert-* gèrent déjà, mais sécurité supplémentaire */
}

.dark-mode .alert-success[style*="background"],
.dark-mode .alert-danger[style*="background"],
.dark-mode .alert-warning[style*="background"],
.dark-mode .alert-info[style*="background"] {
    /* Forcer les backgrounds sombres même si style inline présent */
}

/* 5. Boutons avec backgrounds clairs */
.dark-mode .btn-nav-publisher-desktop:not(.publisher-nav-btn-profil-active):not(.publisher-nav-btn-ads-active):not(.publisher-nav-btn-adr-active):not(.publisher-nav-btn-adp-active) {
    /* Les classes publisher-nav-btn-* gèrent déjà */
}

/* 6. Couleurs blanches bleutées (#dee2e6, etc.) - FORCER EN DARK MODE */
.dark-mode [style*="color: #dee2e6"],
.dark-mode [style*="color: #f5f6fa"],
.dark-mode [style*="color: #e5e9f2"] {
    color: #b6c6e3 !important; /* text-base dashlite */
}

/* 7. Backgrounds rgba clairs (rgba(255,255,255,...), rgba(248,249,250,...), etc.) */
.dark-mode [style*="background: rgba(255, 255, 255"],
.dark-mode [style*="background: rgba(248, 249, 250"],
.dark-mode [style*="background: rgba(245, 246, 250"],
.dark-mode [style*="background: rgba(229, 233, 242"],
.dark-mode [style*="background: rgba(222, 226, 230"],
.dark-mode [style*="background-color: rgba(255, 255, 255"],
.dark-mode [style*="background-color: rgba(248, 249, 250"],
.dark-mode [style*="background-color: rgba(245, 246, 250"],
.dark-mode [style*="background-color: rgba(229, 233, 242"],
.dark-mode [style*="background-color: rgba(222, 226, 230"] {
    background-color: #141c26 !important; /* bg-white dashlite dark mode */
}

/* 8. Classes dashlite avec backgrounds clairs - FORCER EN DARK MODE */
.dark-mode .bg-light,
.dark-mode .bg-lighter {
    background-color: #0d141d !important; /* bg-light dashlite dark mode */
}

.dark-mode .bg-white {
    background-color: #141c26 !important; /* bg-white dashlite dark mode */
}

/* 9. MOBILE - Règles supplémentaires pour smartphones */
@media (max-width: 767.98px) {
    /* Forcer TOUS les backgrounds clairs sur mobile en dark mode */
    .dark-mode .card-inner {
        background-color: #141c26 !important;
    }
    
    .dark-mode .modal-body,
    .dark-mode .modal-footer {
        background-color: #141c26 !important;
    }
    
    .dark-mode .modal-content {
        background-color: #161f2a !important;
    }
    
    /* Boutons navigation publisher sur mobile */
    .dark-mode .btn-nav-publisher-desktop {
        background-color: rgba(133, 79, 255, 0.1) !important; /* Indigo dashlite */
        color: #b6c6e3 !important; /* text-base dashlite */
        border-color: rgba(133, 79, 255, 0.2) !important;
    }
    
    .dark-mode .btn-nav-publisher-desktop.publisher-nav-btn-profil-active,
    .dark-mode .btn-nav-publisher-desktop.publisher-nav-btn-ads-active,
    .dark-mode .btn-nav-publisher-desktop.publisher-nav-btn-adr-active,
    .dark-mode .btn-nav-publisher-desktop.publisher-nav-btn-adp-active {
        /* Les classes actives gèrent déjà via publisher-nav-btn-*-active */
    }
    
    /* Alertes sur mobile */
    .dark-mode .alert {
        background-color: #141c26 !important;
    }
    
    .dark-mode .alert-success {
        background-color: #16393a !important; /* bg-success-dim */
    }
    
    .dark-mode .alert-danger {
        background-color: #34242b !important; /* bg-danger-dim */
    }
    
    .dark-mode .alert-warning {
        background-color: #363422 !important; /* bg-warning-dim */
    }
    
    .dark-mode .alert-info {
        background-color: #123542 !important; /* bg-info-dim */
    }
    
    /* Textes clairs sur mobile */
    .dark-mode .text-light,
    .dark-mode .text-lighter {
        color: #8094ae !important; /* text-muted dashlite */
    }
    
    /* Couleurs blanches bleutées sur mobile - FORCER */
    .dark-mode [style*="color: #dee2e6"],
    .dark-mode [style*="color: #f5f6fa"],
    .dark-mode [style*="color: #e5e9f2"],
    .dark-mode [style*="color: #e9ecef"],
    .dark-mode [style*="color: #ced4da"] {
        color: #b6c6e3 !important; /* text-base dashlite */
    }
    
    /* FORCER tous les backgrounds clairs sur mobile - règle finale */
    .dark-mode .nk-content [style*="background"],
    .dark-mode .nk-content [style*="background-color"] {
        /* Les règles générales ci-dessus s'appliquent, mais on force aussi ici */
    }
    
    /* Backgrounds rgba clairs sur mobile - FORCER */
    .dark-mode [style*="rgba(255, 255, 255"],
    .dark-mode [style*="rgba(248, 249, 250"],
    .dark-mode [style*="rgba(245, 246, 250"],
    .dark-mode [style*="rgba(229, 233, 242"],
    .dark-mode [style*="rgba(222, 226, 230"],
    .dark-mode [style*="rgba(233, 236, 239"],
    .dark-mode [style*="rgba(206, 212, 218"] {
        background-color: #141c26 !important;
    }
}

/* ============================================================================
   GRADIENTS HEADER PUBLISHER
   ============================================================================ */

.publisher-header-gradient {
    background: linear-gradient(135deg, rgba(51, 153, 255, 0.08), rgba(51, 153, 255, 0.02));
}

.dark-mode .publisher-header-gradient {
    background: linear-gradient(135deg, rgba(133, 79, 255, 0.15), rgba(133, 79, 255, 0.05));
}

/* ============================================================================
   GRADIENTS ALERTES
   ============================================================================ */

.publisher-alert-gradient {
    background: linear-gradient(145deg, rgba(255, 215, 0, 0.1), rgba(255, 215, 0, 0.05));
}

.dark-mode .publisher-alert-gradient {
    background: linear-gradient(145deg, rgba(133, 79, 255, 0.15), rgba(133, 79, 255, 0.08));
}

.publisher-entry-gradient {
    background: linear-gradient(145deg, rgba(255, 215, 0, 0.05), rgba(0, 0, 0, 0.02));
}

.dark-mode .publisher-entry-gradient {
    background: linear-gradient(145deg, rgba(133, 79, 255, 0.08), rgba(0, 0, 0, 0.05));
}

/* ============================================================================
   AVATAR PUBLISHER (styles inline multiples)
   ============================================================================ */

.publisher-avatar {
    max-width: 100px;
    max-height: 100px;
    box-shadow: 0 8px 25px rgba(51, 153, 255, 0.25);
    transition: all 0.3s ease;
    filter: drop-shadow(0 0 8px rgba(51, 153, 255, 0.4));
}

.dark-mode .publisher-avatar {
    box-shadow: 0 8px 25px rgba(133, 79, 255, 0.3);
    filter: drop-shadow(0 0 8px rgba(133, 79, 255, 0.5));
}

.publisher-avatar-hover:hover {
    transform: scale(1.05) translateY(-2px);
}

/* ============================================================================
   COULEURS DE MARQUE ADAPTATIVES
   ============================================================================ */

/* Bleu Commercify (#3399ff) */
.publisher-text-brand-blue {
    color: #3399ff;
}

.dark-mode .publisher-text-brand-blue {
    color: #6370ca; /* Indigo dashlite pour cohérence */
}

.publisher-text-shadow-brand-blue {
    text-shadow: none;
}

.dark-mode .publisher-text-shadow-brand-blue {
    text-shadow: none;
}

/* Or/Doré (#DAA520) - Garder la couleur de marque mais adapter l'opacité */
.publisher-text-brand-gold {
    color: #DAA520;
}

.dark-mode .publisher-text-brand-gold {
    color: #fbbf24; /* Jaune plus clair pour meilleur contraste en dark mode */
}

.publisher-text-shadow-brand-gold {
    text-shadow: none;
}

.dark-mode .publisher-text-shadow-brand-gold {
    text-shadow: none;
}

/* ============================================================================
   BOUTONS NAVIGATION PUBLISHER
   Styles complets (White / Dark) → page_publisher_index_typology.css (seule source).
   Les pages publisher-* chargent la typology ; on ne redéfinit rien ici.
   ============================================================================ */

/* ============================================================================
   BOUTONS ACTION (remplace $btnNeutralStyle, $btnPositiveStyle, etc.)
   ============================================================================ */

.publisher-btn-neutral {
    background-color: #f5f6fa;
    border: 1px solid #e5e9f2;
    border-radius: 0;
    padding: 18px 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    transition: all 0.2s ease;
    min-width: 56px;
    min-height: 56px;
}

.dark-mode .publisher-btn-neutral {
    background-color: #1b2532; /* bg-secondary-dim */
    border-color: #242e39; /* bg-gray-dim */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.publisher-btn-positive {
    background-color: #22c55e !important;
    border: 1px solid #16a34a !important;
    border-radius: 0;
    padding: 18px 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(34, 197, 94, 0.4) !important;
    transition: all 0.2s ease;
    min-width: 56px;
    min-height: 56px;
}

.dark-mode .publisher-btn-positive {
    background-color: #10b981 !important; /* Success dashlite */
    border-color: #059669 !important;
    box-shadow: 0 2px 6px rgba(16, 185, 129, 0.5) !important;
}

.publisher-btn-negative {
    background-color: #ef4444 !important;
    border: 1px solid #dc2626 !important;
    border-radius: 0;
    padding: 18px 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(239, 68, 68, 0.4) !important;
    transition: all 0.2s ease;
    min-width: 56px;
    min-height: 56px;
}

.dark-mode .publisher-btn-negative {
    background-color: #f87171 !important; /* Danger dashlite */
    border-color: #ef4444 !important;
    box-shadow: 0 2px 6px rgba(248, 113, 113, 0.5) !important;
}

/* ============================================================================
   ICÔNES SVG (remplace $iconBookmarkStyle, etc.)
   ============================================================================ */

.publisher-icon-bookmark {
    fill: #2563eb;
}

.dark-mode .publisher-icon-bookmark {
    fill: #6370ca; /* Indigo dashlite */
}

.publisher-icon-like {
    fill: #ef4444;
}

.dark-mode .publisher-icon-like {
    fill: #f87171; /* Danger dashlite */
}

.publisher-icon-message {
    fill: #3b82f6;
}

.dark-mode .publisher-icon-message {
    fill: #6370ca; /* Indigo dashlite */
}

.publisher-icon-share {
    fill: #6366f1;
}

.dark-mode .publisher-icon-share {
    fill: #6370ca; /* Indigo dashlite */
}

.publisher-icon-alert {
    fill: #f59e0b;
}

.dark-mode .publisher-icon-alert {
    fill: #fbbf24; /* Warning dashlite */
}

.publisher-icon-info {
    fill: #06b6d4;
}

.dark-mode .publisher-icon-info {
    fill: #06b6d4; /* Info dashlite - garder */
}

.publisher-icon-dark {
    fill: #475569;
}

.dark-mode .publisher-icon-dark {
    fill: #8094ae; /* text-muted dashlite */
}

.publisher-icon-light {
    fill: #ffffff;
}

/* Blanc reste blanc en dark mode aussi */

/* ============================================================================
   STATUTS PUBLISHER
   ============================================================================ */

.publisher-status-online {
    color: #006400;
}

.dark-mode .publisher-status-online {
    color: #10b981; /* Success dashlite */
}

.publisher-status-offline {
    color: #8B0000;
}

.dark-mode .publisher-status-offline {
    color: #f87171; /* Danger dashlite */
}

.publisher-status-hidden {
    color: #6c757d;
}

.dark-mode .publisher-status-hidden {
    color: #8094ae; /* text-muted dashlite */
}

/* ============================================================================
   BOUTON CONNEXION PRIVÉE (gradient or)
   ============================================================================ */

.publisher-btn-private-access {
    background: linear-gradient(45deg, #FFD700, #FFA500);
    border: none;
    color: #000;
    font-weight: 600;
    padding: 12px 35px;
    border-radius: 0;
    box-shadow: 0 4px 15px rgba(255, 215, 0, 0.3);
    transition: all 0.3s ease;
}

.dark-mode .publisher-btn-private-access {
    background: linear-gradient(45deg, #fbbf24, #f59e0b);
    color: #000; /* Garder noir pour contraste */
    box-shadow: 0 4px 15px rgba(251, 191, 36, 0.4);
}

.publisher-btn-private-access:hover {
    transform: translateY(-2px);
}

/* ============================================================================
   BADGES ET TAGS
   ============================================================================ */

.publisher-badge-gold {
    background: rgba(218, 165, 32, 0.15);
    color: #DAA520;
    padding: 0.3rem 0.8rem;
    border-radius: 0;
    font-size: 0.9rem;
}

.dark-mode .publisher-badge-gold {
    background: rgba(251, 191, 36, 0.2);
    color: #fbbf24;
}

.publisher-badge-dark {
    background-color: #1f2937;
    color: #DAA520;
}

.dark-mode .publisher-badge-dark {
    background-color: #242e39; /* bg-gray-dim */
    color: #fbbf24;
}

/* ============================================================================
   LIENS AVEC HOVER (remplace onmouseover)
   ============================================================================ */

.publisher-link-gold {
    color: #DAA520;
    text-decoration: none;
    transition: color 0.3s ease;
}

.dark-mode .publisher-link-gold {
    color: #fbbf24;
}

.publisher-link-gold:hover {
    color: #B8860B;
}

.dark-mode .publisher-link-gold:hover {
    color: #f59e0b;
}

.publisher-link-gold-opacity {
    color: #DAA520;
    text-decoration: none;
    transition: opacity 0.2s;
}

.dark-mode .publisher-link-gold-opacity {
    color: #fbbf24;
}

.publisher-link-gold-opacity:hover {
    opacity: 0.8;
}

/* ============================================================================
   MODALS
   ============================================================================ */

.publisher-modal-header-dark {
    background-color: #222;
}

.dark-mode .publisher-modal-header-dark {
    background-color: #161f2a; /* bg-dark */
}

.publisher-modal-body-light {
    background-color: #f8f9fa;
}

.dark-mode .publisher-modal-body-light {
    background-color: #141c26; /* bg-white */
}

.publisher-modal-header-gold {
    background-color: #DAA520;
}

.dark-mode .publisher-modal-header-gold {
    background-color: #f59e0b; /* Warning dashlite */
}

.publisher-modal-body-gold {
    background-color: #f8f9fa;
}

.dark-mode .publisher-modal-body-gold {
    background-color: #141c26; /* bg-white */
}

/* ============================================================================
   ALERTES
   ============================================================================ */

.publisher-alert-success-bg {
    background-color: #d4edda;
    border: 1px solid #c3e6cb;
}

.dark-mode .publisher-alert-success-bg {
    background-color: #16393a; /* bg-success-dim */
    border-color: #10b981;
}

.publisher-alert-danger-bg {
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
}

.dark-mode .publisher-alert-danger-bg {
    background-color: #34242b; /* bg-danger-dim */
    border-color: #f87171;
}

.publisher-alert-warning-bg {
    background-color: #fff3cd;
    border: none;
}

.dark-mode .publisher-alert-warning-bg {
    background-color: #363422; /* bg-warning-dim */
    border-color: #fbbf24;
}

.publisher-alert-info-bg {
    background-color: #e0f2f8;
    border: 1px solid #17a2b8;
}

.dark-mode .publisher-alert-info-bg {
    background-color: #123542; /* bg-info-dim */
    border-color: #06b6d4;
}

/* Bandeau maintenance : orange #ffae00 (aligné badge connecté) */
.alert-maintenance {
    background-color: rgba(255, 174, 0, 0.15) !important;
    border-color: rgba(255, 174, 0, 0.4) !important;
    color: #1a1a1a !important;
}
.dark-mode .alert-maintenance {
    background-color: rgba(255, 174, 0, 0.2) !important;
    border-color: rgba(255, 174, 0, 0.5) !important;
    color: #f8f9fa !important;
}

/* ============================================================================
   INPUTS ET FORMULAIRES
   ============================================================================ */

.publisher-input-dark {
    border: 1px solid #000000;
    color: #ffffff;
    background-color: #000000;
    transition: all 0.3s ease;
}

.dark-mode .publisher-input-dark {
    border-color: #8094ae;
    color: #b6c6e3; /* text-base */
    background-color: #141c26; /* bg-white */
}

.publisher-input-dark:focus {
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
}

.dark-mode .publisher-input-dark:focus {
    box-shadow: 0 0 10px rgba(133, 79, 255, 0.4);
}

.publisher-input-gold {
    border: 1px solid #DAA520;
    color: #DAA520;
    transition: all 0.3s ease;
}

.dark-mode .publisher-input-gold {
    border-color: #fbbf24;
    color: #fbbf24;
}

.publisher-input-gold:focus {
    box-shadow: 0 0 10px rgba(218, 165, 32, 0.3);
}

.dark-mode .publisher-input-gold:focus {
    box-shadow: 0 0 10px rgba(251, 191, 36, 0.4);
}

/* ============================================================================
   REVIEWS (couleurs conditionnelles)
   ============================================================================ */

.publisher-review-negative {
    background: #b91c1c;
    color: #fff;
    border-color: rgba(220, 53, 69, 0.2);
    box-shadow: 0 4px 12px rgba(220, 53, 69, 0.15);
}

.dark-mode .publisher-review-negative {
    background: #dc2626;
    color: #fff;
    border-color: rgba(248, 113, 113, 0.3);
    box-shadow: 0 4px 12px rgba(248, 113, 113, 0.2);
}

.publisher-review-positive {
    background: #1f2937;
    color: #DAA520;
    border-color: rgba(218, 165, 32, 0.2);
    box-shadow: 0 4px 12px rgba(218, 165, 32, 0.15);
}

.dark-mode .publisher-review-positive {
    background: #242e39; /* bg-gray-dim */
    color: #fbbf24;
    border-color: rgba(251, 191, 36, 0.3);
    box-shadow: 0 4px 12px rgba(251, 191, 36, 0.2);
}

/* ============================================================================
   BOUTONS TRANSACTIONS
   ============================================================================ */

.publisher-btn-transaction-danger {
    background-color: #b91c1c;
    color: #fff;
}

.dark-mode .publisher-btn-transaction-danger {
    background-color: #dc2626;
    color: #fff;
}

.publisher-btn-transaction-primary {
    background-color: #2563eb;
    color: #fff;
}

.dark-mode .publisher-btn-transaction-primary {
    background-color: #6370ca; /* Indigo dashlite */
    color: #fff;
}

/* ============================================================================
   SPINNER NUMBER (inputs quantité)
   ============================================================================ */

.publisher-number-spinner-wrap {
    background-color: #1f2937;
    border-radius: 0;
}

.dark-mode .publisher-number-spinner-wrap {
    background-color: #242e39; /* bg-gray-dim */
}

.publisher-number-spinner-btn {
    color: #DAA520;
}

.dark-mode .publisher-number-spinner-btn {
    color: #fbbf24;
}

.publisher-number-spinner-input {
    background: transparent;
    color: #DAA520;
    border: none;
}

.dark-mode .publisher-number-spinner-input {
    color: #fbbf24;
}
