/* ════════════════════════════════════════════════════════════════════
 * theme-overrides-consolidated.css
 * ════════════════════════════════════════════════════════════════════
 * Fichier consolidé regroupant tous les CSS d'override du site.
 * Généré le 2026-04-27 par concaténation dans l'ORDRE EXACT pour
 * préserver la cascade CSS originale (ne PAS réordonner).
 *
 * Sources fusionnées (ordre = ordre de chargement original) :
 *  1.  absolute-no-white.css
 *  2.  text-white-on-background.css
 *  3.  header-white-opaque.css
 *  4.  superadmin-buttons.css
 *  5.  chat-align-left.css
 *  6.  chat-popup-white.css
 *  7.  tenshu-force-white-background.css
 *  8.  inputs-black-text.css
 *  9.  force-black-text.css
 *  10. force-white-carousels.css
 *  11. popups-forms-white.css
 *  12. superadmin-text-fix.css
 *  13. superadmin-buttons-contrast.css
 *  14. pill-badges-final.css
 *
 * Les fichiers originaux restent dans /app/frontend/public/css/
 * (référence + rollback rapide possible).
 * ════════════════════════════════════════════════════════════════════ */


/* ──────────────────────────────────────────────────────────────────── */
/* SECTION: absolute-no-white.css */
/* ──────────────────────────────────────────────────────────────────── */
/* ABSOLUTE PRIORITY - IMAGE AU-DESSUS DU FOND BLANC */
/* L'image SuperAdmin s'affiche par-dessus le fond blanc, derrière le contenu */

/* Laisser le fond blanc par défaut (React/Tailwind) */
html, body {
  background: white;
  margin: 0;
  padding: 0;
}

/* #root au-dessus de l'image de fond */
#root {
  position: relative;
  z-index: 10 !important;
  background: transparent !important;
  background-color: transparent !important;
}

.App {
  background: transparent !important;
  background-color: transparent !important;
}

main {
  background: transparent !important;
  background-color: transparent !important;
}

/* PAGES ADMIN - FOND BLANC OPAQUE 100% pour formulaires */
/* Ces pages doivent avoir un fond blanc solide pour la lisibilité */
/* Masquer complètement l'image de fond sur ces pages */
body:has([data-page="change-password"]) #sf-bg-image,
body:has([data-page="edit-item"]) #sf-bg-image,
body:has([data-sf-seller-edit="on"]) #sf-bg-image {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

[data-sf-seller-edit="on"],
[data-page="change-password"],
[data-page="edit-item"],
[data-page="vendor-products"],
[data-page="admin"] {
  background: #f3f4f6 !important;
  background-color: #f3f4f6 !important;
}

/* Cards et formulaires dans les pages admin - BLANC 100% OPAQUE */
[data-sf-seller-edit="on"] > div,
[data-page="change-password"] > div,
[data-page="edit-item"] > div {
  position: relative;
  z-index: 20;
}

/* Image SuperAdmin PAR-DESSUS le fond blanc, DERRIÈRE le contenu */
/* RÈGLE ABSOLUE: Largeur FIXE 1280px, toujours */
#sf-bg-image {
  position: fixed !important;
  left: 50% !important;
  top: 0 !important;
  transform: translateX(-50%) !important;
  width: 1280px !important;
  max-width: 1280px !important;
  min-width: 1280px !important;
  min-height: 100vh !important;
  z-index: 1 !important; /* Au-dessus du fond blanc (0), en dessous du contenu (10) */
  pointer-events: none !important;
  /* Largeur FIXE 1280px - JAMAIS autre chose */
  background-size: 1280px auto !important;
  background-position: top center !important;
  background-repeat: no-repeat !important;
}

/* Cards semi-transparentes pour voir l'image derrière */
.card, .modal, .dropdown-menu, .tooltip, .megamenu-white, .dropdown-menu-white {
  background: white !important;
}

.home-carousel, .content-block {
  background: #ffffff !important;
  background-color: #ffffff !important;
}

/* ──────────────────────────────────────────────────────────────────── */
/* SECTION: text-white-on-background.css */
/* ──────────────────────────────────────────────────────────────────── */
/* 
 * Textes en BLANC pour lisibilite sur l'image de fond coloree
 * Applique SAUF aux elements qui ont un fond blanc
 */

/* Titres des sections (en dehors des bulles blanches) */
h1, h2, h3, h4, h5, h6 {
  color: white !important;
}

/* Paragraphes et textes generaux */
p, span, div, a {
  color: white !important;
}

/* ========================================
   EXCEPTIONS - Elements avec fond blanc
   ======================================== */

/* Fond blanc via Tailwind */
.bg-white,
.bg-white * {
  color: #111111 !important;
}

/* Fond blanc via inline style React (rendu comme rgb) */
[style*="background-color: rgb(255, 255, 255)"],
[style*="background-color: rgb(255, 255, 255)"] *,
[style*="background-color: rgb(255,255,255)"],
[style*="background-color: rgb(255,255,255)"] *,
[style*="background: rgb(255, 255, 255)"],
[style*="background: rgb(255, 255, 255)"] *,
[style*="background: white"],
[style*="background: white"] *,
[style*="background-color: white"],
[style*="background-color: white"] *,
[style*="background: #fff"],
[style*="background: #fff"] *,
[style*="background-color: #fff"],
[style*="background-color: #fff"] * {
  color: #111111 !important;
}

/* Fond rgba blanc */
[style*="rgba(255, 255, 255"],
[style*="rgba(255, 255, 255"] *,
[style*="rgba(255,255,255"],
[style*="rgba(255,255,255"] * {
  color: #111111 !important;
}

/* Cards d'articles fond blanc */
.bg-white.rounded-lg.shadow-md * {
  color: #111111 !important;
}

/* Header */
header,
header * {
  color: #111111 !important;
}

/* Footer */
footer,
footer *,
.footer,
.footer *,
.site-footer,
.site-footer * {
  color: #111111 !important;
}

/* Bulles de titres */
.rounded-xl.shadow-md.p-4,
.rounded-xl.shadow-md.p-4 * {
  color: #111111 !important;
}

/* Cartes avec ombre — EXCLUSION des pills (badges Prix fixe / Enchère) qui doivent rester blancs */
.shadow-lg:not([data-sf-pill]),
.shadow-lg:not([data-sf-pill]) *:not([data-sf-pill]),
.shadow-xl:not([data-sf-pill]),
.shadow-xl:not([data-sf-pill]) *:not([data-sf-pill]),
.shadow-md:not([data-sf-pill]),
.shadow-md:not([data-sf-pill]) *:not([data-sf-pill]) {
  color: #111111 !important;
}

/* Boutons */
button {
  color: inherit !important;
}

/* ========================================
   BOUTONS PUBLICITAIRES
   ======================================== */
/* Boutons CTA dans tous les composants ads - haute specificite */
.ad-cta-btn,
.ad-cta-btn *,
div.ad-cta-btn,
div.ad-cta-btn *,
[data-testid*="ad-template"] .ad-cta-btn,
[data-testid*="ad-template"] .ad-cta-btn *,
[data-testid*="copper-ad"] .ad-cta-btn,
[data-testid*="copper-ad"] .ad-cta-btn *,
[data-testid*="copper-cta"] {
  background-color: #111827 !important;
  color: #ffffff !important;
}

/* Encarts publicitaires Gold/Silver - texte noir sur blanc */
[data-testid="gold-demo-ad"],
[data-testid="gold-demo-ad"] *,
[data-testid="silver-demo-ad"],
[data-testid="silver-demo-ad"] *,
[data-ad-slot],
[data-ad-slot] * {
  color: #111111 !important;
}

/* Badges VIP dores/argentes - texte blanc */
[data-testid="gold-demo-ad"] .ad-cta-btn,
[data-testid="gold-demo-ad"] .ad-cta-btn *,
[data-testid="silver-demo-ad"] .ad-cta-btn,
[data-testid="silver-demo-ad"] .ad-cta-btn *,
[data-ad-slot] .ad-cta-btn,
[data-ad-slot] .ad-cta-btn * {
  color: #ffffff !important;
  background-color: #111827 !important;
}

/* Prix en couleur or/argent */
[data-testid="gold-demo-ad"] [style*="color: rgb(217, 119, 6)"],
[data-testid="silver-demo-ad"] [style*="color: rgb(71, 85, 105)"] {
  color: inherit !important;
}

/* Prix Gold et Silver */
.ad-gold-price {
  color: #d97706 !important;
}
.ad-silver-price {
  color: #475569 !important;
}

/* Prix et informations importantes */
.price,
.label {
  color: white !important;
  font-weight: bold !important;
}

/* ========================================
   PASTILLES "Prix fixe" / "Enchère" (badges colorés sur ItemCard)
   Override le selector global .shadow-lg * qui forçait color #111
   ======================================== */
[data-sf-pill="fixed-price"],
[data-sf-pill="fixed-price"] *,
[data-sf-pill="auction"],
[data-sf-pill="auction"] *,
.sf-card-pill,
.sf-card-pill * {
  color: #ffffff !important;
}

/* ──────────────────────────────────────────────────────────────────── */
/* SECTION: header-white-opaque.css */
/* ──────────────────────────────────────────────────────────────────── */
/**
 * Force le header à avoir un fond blanc 100% opaque
 */
.geek-o-rama-header,
header.geek-o-rama-header {
  background-color: #ffffff !important;
  background: #ffffff !important;
  opacity: 1 !important;
}

/* Tous les enfants du header doivent avoir un fond transparent sauf le header lui-même */
.geek-o-rama-header > * {
  background-color: transparent !important;
}

/* Le container principal du header */
.geek-o-rama-header .container {
  background-color: transparent !important;
}

/* ──────────────────────────────────────────────────────────────────── */
/* SECTION: superadmin-buttons.css */
/* ──────────────────────────────────────────────────────────────────── */
/* SuperAdmin - Boutons avec effet négatif au clic */

/* Style de base pour les boutons SuperAdmin */
.btn {
  transition: all 0.2s ease;
  cursor: pointer;
}

/* Effet NÉGATIF au clic (active) - couleurs inversées */
.btn:active {
  filter: invert(1) !important;
  transform: scale(0.95);
}

/* Effet hover léger */
.btn:hover {
  opacity: 0.9;
  transform: scale(1.02);
}

/* Boutons d'avertissement */
.btn-warn:active {
  filter: invert(1) !important;
  transform: scale(0.95);
}

/* Boutons secondaires */
.btn-secondary:active {
  filter: invert(1) !important;
  transform: scale(0.95);
}

/* Animation de feedback visuel */
@keyframes btnClick {
  0% { 
    filter: invert(0);
    transform: scale(1);
  }
  50% { 
    filter: invert(1);
    transform: scale(0.95);
  }
  100% { 
    filter: invert(0);
    transform: scale(1);
  }
}

/* Classe pour animation au clic via JavaScript */
.btn-clicked {
  animation: btnClick 0.3s ease;
}

/* ──────────────────────────────────────────────────────────────────── */
/* SECTION: chat-align-left.css */
/* ──────────────────────────────────────────────────────────────────── */
/* Ancien chat désactivé - remplacé par Lyra AI */

#sf-msg-btn {
  display: none !important;
}

#sf-msg-btn:hover {
  transform: scale(1.1) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3) !important;
}

/* ──────────────────────────────────────────────────────────────────── */
/* SECTION: chat-popup-white.css */
/* ──────────────────────────────────────────────────────────────────── */
/* Popup Chat - Fond blanc avec textes noirs */
/* TOUS LES TEXTES EN NOIR - RÈGLE ABSOLUE */

#msg-panel,
#sf-msg-center,
#sf-msg-center .pane {
  background: white !important;
  background-color: white !important;
}

#msg-panel *,
#msg-panel span,
#msg-panel div,
#msg-panel p,
#msg-panel label,
#msg-panel li,
#msg-panel a,
#msg-panel button span,
#sf-msg-center *,
#sf-msg-center span,
#sf-msg-center div,
#sf-msg-center p,
#sf-msg-center label,
#sf-msg-center li,
#sf-msg-center a,
#sf-msg-center .txt {
  color: #111111 !important;
  background: transparent !important;
}

/* Conteneur du chat */
#msg-panel,
#sf-msg-center,
#sf-msg-center .pane {
  position: fixed !important;
  bottom: 80px !important;
  left: 1rem !important;
  width: 400px !important;
  max-width: calc(100vw - 2rem) !important;
  height: 500px !important;
  max-height: 80vh !important;
  background: white !important;
  border: 2px solid #0AA9F0 !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2) !important;
  z-index: 10000 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Header du chat */
#msg-panel header,
#msg-panel .msg-header,
#sf-msg-center .head {
  background: #0AA9F0 !important;
  color: white !important;
  padding: 1rem !important;
  font-weight: bold !important;
  border-bottom: 1px solid #0AA9F0 !important;
}

#msg-panel header *,
#msg-panel .msg-header *,
#sf-msg-center .head * {
  color: white !important;
}

#msg-panel header *,
#msg-panel .msg-header *,
#sf-msg-center .head * {
  color: white !important;
}

/* Liste des threads */
#msg-panel #threads,
#msg-panel .thread-list,
#sf-msg-center #msg-threads,
#sf-msg-center .threads {
  background: white !important;
  overflow-y: auto !important;
  flex: 1 !important;
}

/* Zone de messages */
#msg-panel #msg-log,
#msg-panel .messages-container,
#sf-msg-center #msg-log,
#sf-msg-center .log {
  background: white !important;
  overflow-y: auto !important;
  flex: 1 !important;
  padding: 1rem !important;
}

/* Message individuel */
#msg-panel .message,
#msg-panel [class*="msg-"],
#sf-msg-center .m,
#sf-msg-center .message {
  color: #111111 !important;
  margin-bottom: 0.5rem !important;
}

/* Input de message */
#msg-panel input,
#msg-panel textarea,
#msg-panel #msg-text,
#sf-msg-center input,
#sf-msg-center textarea,
#sf-msg-center #msg-text {
  background: #f9fafb !important;
  color: #111111 !important;
  border: 1px solid #d1d5db !important;
  padding: 0.75rem !important;
  border-radius: 8px !important;
}

#msg-panel input::placeholder,
#msg-panel textarea::placeholder,
#sf-msg-center input::placeholder,
#sf-msg-center textarea::placeholder {
  color: #6b7280 !important;
}

/* Boutons */
#msg-panel button,
#sf-msg-center button {
  background: #0AA9F0 !important;
  color: white !important;
  border: none !important;
  padding: 0.5rem 1rem !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  font-weight: 500 !important;
}

#msg-panel button:hover,
#sf-msg-center button:hover {
  background: #0891d1 !important;
}

/* Scrollbar */
#msg-panel ::-webkit-scrollbar,
#sf-msg-center ::-webkit-scrollbar {
  width: 8px !important;
}

#msg-panel ::-webkit-scrollbar-track,
#sf-msg-center ::-webkit-scrollbar-track {
  background: #f1f1f1 !important;
}

#msg-panel ::-webkit-scrollbar-thumb,
#sf-msg-center ::-webkit-scrollbar-thumb {
  background: #888 !important;
  border-radius: 4px !important;
}

#msg-panel ::-webkit-scrollbar-thumb:hover,
#sf-msg-center ::-webkit-scrollbar-thumb:hover {
  background: #555 !important;
}

/* Forcer tout le contenu en blanc avec texte noir */
#sf-msg-center .cols,
#sf-msg-center .chat,
#sf-msg-center .composer {
  background: white !important;
}

/* ──────────────────────────────────────────────────────────────────── */
/* SECTION: tenshu-force-white-background.css */
/* ──────────────────────────────────────────────────────────────────── */
/**
 * FORCE FOND BLANC 100% OPAQUE pour le popup Tenshu
 * Ce fichier force un fond blanc opaque sur TOUS les éléments du chatbot
 */

/* Popup principal - FOND BLANC OPAQUE */
.tenshu-chat-popup,
#tenshu-chat,
[id*="tenshu"],
[class*="tenshu-chat"] {
  background: #ffffff !important;
  background-color: #ffffff !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Container et tous les enfants - FOND BLANC */
.tenshu-chat-container,
.tenshu-chat-container *:not(.tenshu-chat-header):not(.tenshu-chat-header *):not(.tenshu-send-btn) {
  background-color: #ffffff !important;
}

/* Zone de messages - FOND BLANC OPAQUE */
.tenshu-chat-messages,
#tenshu-chat .messages,
[class*="tenshu"] .messages,
[id*="tenshu"] .messages {
  background: #ffffff !important;
  background-color: #ffffff !important;
  opacity: 1 !important;
}

/* Input zone - FOND BLANC */
.tenshu-chat-input,
.tenshu-chat-input input {
  background: #ffffff !important;
  background-color: #ffffff !important;
}

/* Supprimer tout effet de transparence ou blur */
.tenshu-chat-popup::before,
.tenshu-chat-popup::after,
.tenshu-chat-container::before,
.tenshu-chat-container::after {
  display: none !important;
}

/* S'assurer qu'il n'y a pas d'overlay transparent */
[id*="tenshu-overlay"],
[class*="tenshu-overlay"],
.overlay {
  display: none !important;
  opacity: 0 !important;
}

/* Forcer l'opacité à 1 sur le popup */
.tenshu-chat-popup.open,
#tenshu-chat.open,
[class*="tenshu-chat"].open {
  opacity: 1 !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
}

/* Bulles de message - garder leurs couleurs mais fond opaque */
.tenshu-bubble {
  opacity: 1 !important;
}

.tenshu-user .tenshu-bubble {
  background-color: #0AA9F0 !important;
}

.tenshu-bot .tenshu-bubble {
  background-color: #f3f4f6 !important;
}

/* Header bleu - garder la couleur */
.tenshu-chat-header {
  background: #0AA9F0 !important;
  background-color: #0AA9F0 !important;
  opacity: 1 !important;
}

/* Bouton envoyer - garder la couleur */
.tenshu-send-btn {
  background: #0AA9F0 !important;
  background-color: #0AA9F0 !important;
}

/* Forcer le z-index au maximum */
.tenshu-chat-popup {
  z-index: 99999 !important;
}

/* ──────────────────────────────────────────────────────────────────── */
/* SECTION: inputs-black-text.css */
/* ──────────────────────────────────────────────────────────────────── */
/* TOUS les champs de saisie avec texte NOIR */

/* Input, textarea, select - texte NOIR */
input,
textarea,
select,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="date"],
input[type="time"],
.input,
.form-control {
  color: #111111 !important;
  background: white !important;
  border: 1px solid #d1d5db !important;
}

/* Placeholder en gris pour visibilité */
input::placeholder,
textarea::placeholder,
select::placeholder {
  color: #6b7280 !important;
  opacity: 0.7 !important;
}

/* Focus - bordure bleue */
input:focus,
textarea:focus,
select:focus {
  outline: none !important;
  border-color: #0AA9F0 !important;
  box-shadow: 0 0 0 3px rgba(10, 169, 240, 0.1) !important;
}

/* Barre de recherche spécifique */
.search-bar input,
.search-input,
[type="search"],
input[placeholder*="Recherche"],
input[placeholder*="recherche"],
input[placeholder*="Search"],
input[placeholder*="search"] {
  color: #111111 !important;
  background: white !important;
}

/* Select dropdown */
select option {
  color: #111111 !important;
  background: white !important;
}

/* Désactiver les textes blancs sur inputs */
input.text-white,
textarea.text-white,
select.text-white {
  color: #111111 !important;
}

/* ──────────────────────────────────────────────────────────────────── */
/* SECTION: force-black-text.css */
/* ──────────────────────────────────────────────────────────────────── */
/**
 * SWISS SLABFORGE - STYLES DE LISIBILITÉ
 * Textes BLANCS avec OMBRE NOIRE sur le fond fantastique
 * Pour garantir une lisibilité parfaite
 */

/* === STYLE DE BASE POUR TEXTE LISIBLE SUR FOND FANTASTIQUE === */
.text-readable {
  color: #FFFFFF !important;
  text-shadow: 
    2px 2px 4px rgba(0, 0, 0, 0.9),
    -1px -1px 2px rgba(0, 0, 0, 0.7),
    1px -1px 2px rgba(0, 0, 0, 0.7),
    -1px 1px 2px rgba(0, 0, 0, 0.7),
    0 0 8px rgba(0, 0, 0, 0.5) !important;
}

/* === TITRES PRINCIPAUX (H1, H2) SUR FOND FANTASTIQUE === */
.min-h-screen > div > h1,
.min-h-screen > div > h2,
.min-h-screen h1:not(.bg-white h1):not(.bg-gray-50 h1),
.min-h-screen h2:not(.bg-white h2):not(.bg-gray-50 h2),
main > div > h1,
main > div > h2,
[class*="py-8"] > h1,
[class*="py-8"] > h2,
[class*="px-4"] > h1,
[class*="px-4"] > h2 {
  color: #FFFFFF !important;
  text-shadow: 
    2px 2px 4px rgba(0, 0, 0, 0.95),
    -1px -1px 3px rgba(0, 0, 0, 0.8),
    1px -1px 3px rgba(0, 0, 0, 0.8),
    -1px 1px 3px rgba(0, 0, 0, 0.8),
    0 0 10px rgba(0, 0, 0, 0.6) !important;
}

/* === SOUS-TITRES ET PARAGRAPHES SUR FOND FANTASTIQUE === */
.min-h-screen > div > p,
main > div > p:not(.bg-white p):not(.bg-gray-50 p),
[class*="py-8"] > p,
[class*="space-y-8"] > p {
  color: #FFFFFF !important;
  text-shadow: 
    1px 1px 3px rgba(0, 0, 0, 0.9),
    -1px -1px 2px rgba(0, 0, 0, 0.7),
    0 0 6px rgba(0, 0, 0, 0.5) !important;
}

/* === TEXTES DE SECTION (ex: "Nouveautés", "Enchères") === */
.text-3xl,
.text-2xl {
  color: #FFFFFF !important;
  text-shadow: 
    2px 2px 5px rgba(0, 0, 0, 0.95),
    -1px -1px 3px rgba(0, 0, 0, 0.8),
    0 0 12px rgba(0, 0, 0, 0.6) !important;
}

/* === TEXTES PLUS PETITS (descriptions de sections) === */
.text-lg:not(.bg-white .text-lg):not(.bg-gray-50 .text-lg),
.text-base:not(.bg-white .text-base):not(.bg-gray-50 .text-base) {
  text-shadow: 
    1px 1px 2px rgba(0, 0, 0, 0.85),
    0 0 4px rgba(0, 0, 0, 0.5) !important;
}

/* === ENCARTS ANNONCEURS X7 et X8 - STYLE UNIFORME === */
.ad-slot-signup,
[data-ad="signup"],
.ad-slot-x7,
.ad-slot-x8,
[data-ad="x7"],
[data-ad="x8"] {
  background: linear-gradient(135deg, #7C3AED 0%, #9333EA 50%, #A855F7 100%) !important;
  border: 3px solid #6D28D9 !important;
  border-radius: 12px !important;
  box-shadow: 
    0 4px 20px rgba(124, 58, 237, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}

.ad-slot-signup *,
[data-ad="signup"] *,
.ad-slot-x7 *,
.ad-slot-x8 *,
[data-ad="x7"] *,
[data-ad="x8"] * {
  color: #FFFFFF !important;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5) !important;
}

.ad-slot-signup .ad-label,
[data-ad="signup"] .ad-label,
.ad-label-x7,
.ad-label-x8 {
  background: rgba(255, 255, 255, 0.2) !important;
  color: #FFFFFF !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

/* === BANNIÈRES AVEC BORDURE POINTILLÉE === */
[class*="border-dashed"],
.border-dashed {
  border-color: #7C3AED !important;
  border-width: 3px !important;
  background: linear-gradient(135deg, rgba(124, 58, 237, 0.1) 0%, rgba(147, 51, 234, 0.15) 100%) !important;
}

[class*="border-dashed"] *,
.border-dashed * {
  color: #FFFFFF !important;
  text-shadow: 
    1px 1px 3px rgba(0, 0, 0, 0.9),
    -1px -1px 2px rgba(0, 0, 0, 0.7) !important;
}

/* === CARTES SUR FOND FANTASTIQUE (avec fond blanc interne) === */
.bg-white,
.bg-gray-50,
.bg-gray-100,
[class*="rounded-lg"].bg-white,
[class*="rounded-xl"].bg-white {
  /* Les cartes gardent leur fond blanc */
}

.bg-white h1, .bg-white h2, .bg-white h3, .bg-white h4, .bg-white h5, .bg-white h6,
.bg-white p, .bg-white span:not([class*="bg-"]), .bg-white label,
.bg-gray-50 h1, .bg-gray-50 h2, .bg-gray-50 h3, .bg-gray-50 h4,
.bg-gray-50 p, .bg-gray-50 span:not([class*="bg-"]),
.bg-gray-100 h1, .bg-gray-100 h2, .bg-gray-100 h3,
.bg-gray-100 p, .bg-gray-100 span:not([class*="bg-"]) {
  color: #111111 !important;
  text-shadow: none !important;
}

/* === BOUTONS COLORÉS - RESTENT INTACTS === */
button.bg-blue-600, button.bg-blue-700,
button.bg-purple-600, button.bg-purple-700,
button.bg-green-600, button.bg-red-600,
.bg-blue-600, .bg-blue-700,
.bg-purple-600, .bg-purple-700,
.bg-green-600, .bg-red-600,
.bg-gradient-to-r {
  text-shadow: none !important;
}

button.bg-blue-600 *, button.bg-purple-600 *,
button.bg-green-600 *, button.bg-red-600 *,
.bg-blue-600 *, .bg-purple-600 *,
.bg-green-600 *, .bg-red-600 * {
  color: #FFFFFF !important;
  text-shadow: none !important;
}

/* === BOUTONS OUTLINE - TEXTE NOIR === */
button[class*="variant-outline"],
.btn-outline,
button.border:not([class*="bg-blue"]):not([class*="bg-purple"]):not([class*="bg-green"]):not([class*="bg-red"]) {
  color: #111111 !important;
  text-shadow: none !important;
}

/* === BOUTONS PRIMAIRES ET COLORÉS - TEXTE BLANC === */
/* Ces règles ont PRIORITÉ sur les règles des cartes blanches */
button.bg-blue-600,
button.bg-blue-700,
button[class*="bg-blue-"],
button[class*="bg-purple-"],
button[class*="bg-green-"],
button[class*="bg-red-"],
button[class*="bg-primary"],
button[data-btn-primary="true"],
.bg-white button.bg-blue-600,
.bg-white button.bg-blue-700,
.bg-white button[class*="bg-blue-"],
.bg-white button[class*="bg-purple-"],
.bg-white button[class*="bg-green-"],
.bg-white button[class*="bg-red-"],
.bg-white button[class*="bg-primary"],
.bg-white button[data-btn-primary="true"],
.bg-gray-50 button.bg-blue-600,
.bg-gray-50 button[class*="bg-blue-"],
.bg-gray-50 button[class*="bg-purple-"],
.bg-gray-50 button[class*="bg-primary"],
.bg-gray-50 button[data-btn-primary="true"] {
  color: #FFFFFF !important;
  text-shadow: none !important;
}

/* === BOUTONS OUTLINE/SECONDARY DANS LES CARTES - TEXTE NOIR === */
.bg-white button[data-variant="outline"],
.bg-white button[class*="border"],
.bg-gray-50 button[data-variant="outline"],
.bg-gray-50 button[class*="border"],
button[class*="variant-outline"] {
  color: #111111 !important;
  text-shadow: none !important;
  background-color: white !important;
}

/* === HEADER NAV - TEXTE BLANC SUR FOND SOMBRE === */
nav.bg-gray-900 *,
header.bg-gray-900 * {
  color: #FFFFFF !important;
  text-shadow: none !important;
}

/* === MODAL ET POPUPS - FOND BLANC, TEXTE NOIR === */
[role="dialog"],
.modal,
.popup,
[class*="fixed"][class*="inset"],
[class*="z-50"] {
  /* Ne pas toucher aux modals */
}

[role="dialog"] h1, [role="dialog"] h2, [role="dialog"] h3,
[role="dialog"] p, [role="dialog"] label,
.modal h1, .modal h2, .modal h3, .modal p, .modal label {
  color: #111111 !important;
  text-shadow: none !important;
}

/* === PILULE DE CRÉDITS === */
.bg-purple-100,
.bg-purple-100 * {
  color: #7C3AED !important;
  text-shadow: none !important;
}

.bg-amber-100,
.bg-amber-100 * {
  color: #B45309 !important;
  text-shadow: none !important;
}

/* === FOOTER - FOND BLANC OPAQUE, TEXTE NOIR === */
footer {
  background: #FFFFFF !important;
  border-top: 1px solid #e5e7eb !important;
}

footer * {
  color: #374151 !important;
  text-shadow: none !important;
}

footer a:hover {
  color: #2563eb !important;
}

/* === TABLE - TEXTE NOIR === */
table th, table td,
.table th, .table td {
  color: #111111 !important;
  text-shadow: none !important;
}

/* === INPUTS ET LABELS === */
input, textarea, select {
  color: #111111 !important;
  text-shadow: none !important;
}

label {
  color: #111111 !important;
  text-shadow: none !important;
}

/* === PRIX ET MONTANTS === */
.text-green-600,
.text-green-700 {
  text-shadow: 
    1px 1px 2px rgba(0, 0, 0, 0.5) !important;
}

/* === BADGES === */
.badge,
[class*="badge"],
[class*="rounded-full"][class*="px-"] {
  text-shadow: none !important;
}

/* === BOUTON ENTER PAGE WELCOME === */
[data-testid="enter-site-btn"] {
  background-color: #2563EB !important;
  color: #FFFFFF !important;
  text-shadow: none !important;
}

[data-testid="enter-site-btn"]:hover {
  background-color: #1D4ED8 !important;
}


/* ──────────────────────────────────────────────────────────────────── */
/* SECTION: force-white-carousels.css */
/* ──────────────────────────────────────────────────────────────────── */
/* FORCE FOND BLANC OPAQUE 100% SUR TOUS LES CARROUSELS */
/* RÈGLE ABSOLUE - PRIORITÉ MAXIMALE */

/* Sélecteurs avec spécificité maximale */
html body main section.home-carousel,
html body main .home-carousel,
html body #root main section.home-carousel,
html body #root main .home-carousel,
section.home-carousel[id],
.home-carousel[id] {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important;
  backdrop-filter: none !important;
}

/* IDs spécifiques */
html body #boosted-items,
html body #new-items,
html body #auctions,
html body #popular-auctions {
  background: #ffffff !important;
  background-color: #ffffff !important;
}

/* Tous les descendants des carrousels avec fond blanc */
html body .home-carousel > *,
section.home-carousel > * {
  position: relative;
  z-index: 1;
}

/* Bulles de titres - FOND BLANC OPAQUE 100% avec texte NOIR */
html body .home-carousel .bg-white,
html body .home-carousel div.rounded-xl.shadow-md {
  background: #ffffff !important;
  background-color: #ffffff !important;
}

html body .home-carousel h2,
html body .home-carousel h3 {
  color: #111827 !important;
}

html body .home-carousel p,
html body .home-carousel .text-gray-600,
html body .home-carousel .text-sm {
  color: #4b5563 !important;
}

/* ──────────────────────────────────────────────────────────────────── */
/* SECTION: popups-forms-white.css */
/* ──────────────────────────────────────────────────────────────────── */
/* RÈGLE GLOBALE - TOUS LES POPUPS ET FORMULAIRES */
/* FOND BLANC OPAQUE 100% + TEXTE NOIR */
/* MAIS le backdrop reste semi-transparent */

/* Modals - SEULEMENT le contenu du modal, PAS le backdrop */
html body [role="dialog"],
html body [role="alertdialog"],
html body .modal-content,
html body [class*="Modal"] > div:not([class*="backdrop"]):not([class*="absolute"]):last-child {
  background: #ffffff !important;
  background-color: #ffffff !important;
}

/* Headers de modals */
html body [role="dialog"] header,
html body .modal-header {
  background: #ffffff !important;
  background-color: #ffffff !important;
}

/* Titres en noir */
html body [role="dialog"] h1,
html body [role="dialog"] h2,
html body [role="dialog"] h3,
html body .modal h1,
html body .modal h2,
html body .modal h3 {
  color: #111827 !important;
}

/* Texte standard en gris foncé */
html body [role="dialog"] p,
html body .modal p {
  color: #374151 !important;
}

/* Formulaires - fond blanc */
html body form,
html body [class*="form"]:not([class*="inset"]) {
  background: #ffffff !important;
  background-color: #ffffff !important;
}

/* Inputs - fond blanc, texte noir */
html body input[type="text"],
html body input[type="email"],
html body input[type="password"],
html body input[type="number"],
html body textarea,
html body select {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #111827 !important;
}

/* Labels en noir */
html body label {
  color: #111827 !important;
}

/* Dropdowns/Popovers */
html body [data-radix-popper-content-wrapper] > div,
html body [data-state="open"][data-side],
html body .dropdown-menu,
html body .popover {
  background: #ffffff !important;
  background-color: #ffffff !important;
}

/* ──────────────────────────────────────────────────────────────────── */
/* SECTION: superadmin-text-fix.css */
/* ──────────────────────────────────────────────────────────────────── */
/**
 * SUPERADMIN TEXT FIX - Override des textes blancs pour la page SuperAdmin
 * La page SuperAdmin n'a PAS d'image de fond fantastique.
 * Tous les textes doivent etre lisibles (noirs/gris) sur fond gris clair.
 * DOIT ETRE CHARGE EN DERNIER dans le HTML.
 */

/* Reset complet pour le SuperAdmin */
[data-page="superadmin"],
[data-page="superadmin"] *,
.min-h-screen[data-page="superadmin"] *,
[data-page="superadmin"] [data-sf-superadmin-root] *,
[data-page="superadmin"] main * {
  text-shadow: none !important;
}

[data-page="superadmin"] {
  background-color: #f3f4f6 !important;
  background-image: none !important;
}

/* ───────────────────────────────────────────────────────────────
   Pages avec fond BLANC OPAQUE (statut, expéditions, etc.)
   Opt-in via data-page="opaque-white" ou data-page="status"
   ─────────────────────────────────────────────────────────────── */
[data-page="opaque-white"],
[data-page="status"],
[data-page="vendor-shipments"] {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  position: relative;
  z-index: 1;
}
/* Cache le fond cosmique global (#sf-bg-image) sur ces pages */
body:has([data-page="status"]) #sf-bg-image,
body:has([data-page="vendor-shipments"]) #sf-bg-image,
body:has([data-page="opaque-white"]) #sf-bg-image {
  display: none !important;
}
/* S'assurer que #root est bien blanc quand ces pages sont affichées */
body:has([data-page="status"]) #root,
body:has([data-page="vendor-shipments"]) #root,
body:has([data-page="opaque-white"]) #root {
  background: #ffffff !important;
  background-color: #ffffff !important;
}
/* Spécifique : cartes blanches dans ces pages */
[data-page="status"] [data-testid="status-overall"],
[data-page="status"] [data-testid^="status-service-"] {
  background: #ffffff !important;
}

/* Tous les textes dans le SuperAdmin : noir par defaut */
[data-page="superadmin"] h1,
[data-page="superadmin"] h2,
[data-page="superadmin"] h3,
[data-page="superadmin"] h4,
[data-page="superadmin"] h5,
[data-page="superadmin"] h6,
[data-page="superadmin"] p,
[data-page="superadmin"] span,
[data-page="superadmin"] div,
[data-page="superadmin"] a:not([class*="bg-"]),
[data-page="superadmin"] label,
[data-page="superadmin"] td,
[data-page="superadmin"] th,
[data-page="superadmin"] li,
[data-page="superadmin"] strong,
[data-page="superadmin"] em,
[data-page="superadmin"] small,
[data-page="superadmin"] .text-3xl,
[data-page="superadmin"] .text-2xl,
[data-page="superadmin"] .text-xl,
[data-page="superadmin"] .text-lg,
[data-page="superadmin"] .text-base,
[data-page="superadmin"] .text-sm,
[data-page="superadmin"] .text-xs {
  color: #111827 !important;
  text-shadow: none !important;
}

/* Override specifique pour les selecteurs agressifs de force-black-text.css */
[data-page="superadmin"] .min-h-screen > div > h1,
[data-page="superadmin"] .min-h-screen > div > h2,
[data-page="superadmin"] main > div > h1,
[data-page="superadmin"] main > div > h2,
[data-page="superadmin"] main > div > p,
[data-page="superadmin"] [class*="py-8"] > h1,
[data-page="superadmin"] [class*="py-8"] > h2,
[data-page="superadmin"] [class*="py-8"] > p,
[data-page="superadmin"] [class*="space-y-6"] > h1,
[data-page="superadmin"] [class*="space-y-6"] > h2,
[data-page="superadmin"] [class*="space-y-6"] > p,
[data-page="superadmin"] [class*="space-y-6"] > div {
  color: #111827 !important;
  text-shadow: none !important;
}

/* Couleurs Tailwind specifiques */
[data-page="superadmin"] .text-gray-900 { color: #111827 !important; }
[data-page="superadmin"] .text-gray-800 { color: #1f2937 !important; }
[data-page="superadmin"] .text-gray-700 { color: #374151 !important; }
[data-page="superadmin"] .text-gray-600 { color: #4b5563 !important; }
[data-page="superadmin"] .text-gray-500 { color: #6b7280 !important; }
[data-page="superadmin"] .text-gray-400 { color: #9ca3af !important; }

[data-page="superadmin"] .text-red-500 { color: #ef4444 !important; }
[data-page="superadmin"] .text-red-600 { color: #dc2626 !important; }
[data-page="superadmin"] .text-red-700 { color: #b91c1c !important; }
[data-page="superadmin"] .text-red-800 { color: #991b1b !important; }
[data-page="superadmin"] .text-blue-600 { color: #2563eb !important; }
[data-page="superadmin"] .text-blue-700 { color: #1d4ed8 !important; }
[data-page="superadmin"] .text-green-600 { color: #059669 !important; }
[data-page="superadmin"] .text-green-700 { color: #047857 !important; }
[data-page="superadmin"] .text-green-800 { color: #065f46 !important; }
[data-page="superadmin"] .text-yellow-600 { color: #d97706 !important; }
[data-page="superadmin"] .text-yellow-700 { color: #b45309 !important; }
[data-page="superadmin"] .text-orange-700 { color: #c2410c !important; }
[data-page="superadmin"] .text-orange-800 { color: #9a3412 !important; }
[data-page="superadmin"] .text-indigo-500 { color: #6366f1 !important; }
[data-page="superadmin"] .text-indigo-600 { color: #4f46e5 !important; }
[data-page="superadmin"] .text-indigo-800 { color: #3730a3 !important; }
[data-page="superadmin"] .text-purple-600 { color: #9333ea !important; }
[data-page="superadmin"] .text-amber-600 { color: #d97706 !important; }

/* Sections injectees par les scripts SuperAdmin */
[data-page="superadmin"] [data-sf-superadmin-root],
[data-page="superadmin"] [data-sf-superadmin-root] * {
  color: #111827 !important;
  text-shadow: none !important;
}

/* Override pour les widgets injectes (onboarding, newforge, etc.) */
[data-page="superadmin"] .sf-sa-onboarding,
[data-page="superadmin"] .sf-sa-onboarding *,
[data-page="superadmin"] .sf-sa-newforge,
[data-page="superadmin"] .sf-sa-newforge *,
[data-page="superadmin"] .sf-sa-fieldhelp,
[data-page="superadmin"] .sf-sa-fieldhelp *,
[data-page="superadmin"] [class*="sf-sa-"] *,
[data-page="superadmin"] [data-sf-help] *,
[data-page="superadmin"] [data-sf-sa-] * {
  color: #111827 !important;
  text-shadow: none !important;
}

/* Forcer toutes les cartes a fond blanc avec texte noir */
[data-page="superadmin"] .bg-white,
[data-page="superadmin"] .bg-gray-50,
[data-page="superadmin"] .bg-gray-100,
[data-page="superadmin"] [class*="rounded-lg"],
[data-page="superadmin"] [class*="rounded-xl"] {
  text-shadow: none !important;
}
[data-page="superadmin"] .bg-white *,
[data-page="superadmin"] .bg-gray-50 *,
[data-page="superadmin"] .bg-gray-100 * {
  text-shadow: none !important;
}

/* Header SuperAdmin */
[data-page="superadmin"] header {
  background-color: #ffffff !important;
}

/* Navigation tabs */
[data-page="superadmin"] nav button {
  text-shadow: none !important;
}
[data-page="superadmin"] nav button span {
  text-shadow: none !important;
}

/* Inputs */
[data-page="superadmin"] input,
[data-page="superadmin"] textarea,
[data-page="superadmin"] select {
  color: #111827 !important;
  background-color: #ffffff !important;
  text-shadow: none !important;
}

/* Boutons colores - texte blanc */
[data-page="superadmin"] button.bg-red-100 { color: #b91c1c !important; }
[data-page="superadmin"] .bg-red-100.text-red-700 { color: #b91c1c !important; }
[data-page="superadmin"] button[class*="bg-blue-6"],
[data-page="superadmin"] button[class*="bg-green-6"],
[data-page="superadmin"] button[class*="bg-red-6"],
[data-page="superadmin"] button[class*="bg-purple-6"] {
  color: #ffffff !important;
}
[data-page="superadmin"] button[class*="bg-blue-6"] *,
[data-page="superadmin"] button[class*="bg-green-6"] *,
[data-page="superadmin"] button[class*="bg-red-6"] *,
[data-page="superadmin"] button[class*="bg-purple-6"] * {
  color: #ffffff !important;
}

/* Badges avec fond colore */
[data-page="superadmin"] .bg-green-100 { color: #065f46 !important; }
[data-page="superadmin"] .bg-green-100 * { color: #065f46 !important; }
[data-page="superadmin"] .bg-red-100 * { color: #991b1b !important; }
[data-page="superadmin"] .bg-yellow-100 * { color: #92400e !important; }
[data-page="superadmin"] .bg-blue-100 * { color: #1e40af !important; }
[data-page="superadmin"] .bg-blue-50 * { color: #1e40af !important; }
[data-page="superadmin"] .bg-amber-100 * { color: #92400e !important; }
[data-page="superadmin"] .bg-purple-100 * { color: #6b21a8 !important; }
[data-page="superadmin"] .bg-orange-50 * { color: inherit !important; }
[data-page="superadmin"] .text-orange-800 { color: #9a3412 !important; }
[data-page="superadmin"] .text-orange-700 { color: #c2410c !important; }

/* Tables */
[data-page="superadmin"] table th {
  color: #6b7280 !important;
}
[data-page="superadmin"] table td {
  color: #111827 !important;
}

/* Texte secondaire */
[data-page="superadmin"] .text-sm.text-gray-500 { color: #6b7280 !important; }
[data-page="superadmin"] .text-sm.text-gray-600 { color: #4b5563 !important; }
[data-page="superadmin"] .text-xs.text-gray-500 { color: #6b7280 !important; }
[data-page="superadmin"] .text-xs.text-gray-400 { color: #9ca3af !important; }

/* Fond du contenu principal */
[data-page="superadmin"] main {
  background: transparent !important;
}

/* Masquer l'image de fond sur SuperAdmin */
body:has([data-page="superadmin"]) #sf-bg-image {
  display: none !important;
}

/* Override pour les elements avec style inline */
[data-page="superadmin"] [style*="color: white"],
[data-page="superadmin"] [style*="color: #fff"],
[data-page="superadmin"] [style*="color:#fff"],
[data-page="superadmin"] [style*="color: rgb(255"] {
  color: #111827 !important;
}

/* Bordures pointillees (widgets) */
[data-page="superadmin"] [class*="border-dashed"],
[data-page="superadmin"] [class*="border-dashed"] * {
  color: #111827 !important;
  text-shadow: none !important;
}

/* Les liens doivent etre bleus */
[data-page="superadmin"] a.text-indigo-600,
[data-page="superadmin"] a.text-blue-600,
[data-page="superadmin"] a[class*="text-indigo"],
[data-page="superadmin"] a[class*="text-blue"] {
  color: #2563eb !important;
}

/* Scrollbar custom pour les tabs si besoin */
[data-page="superadmin"] nav {
  scrollbar-width: thin;
}

/* ──────────────────────────────────────────────────────────────────── */
/* SECTION: superadmin-buttons-contrast.css */
/* ──────────────────────────────────────────────────────────────────── */
/* ============================================================
   SuperAdmin — Fix contraste boutons (v2 renforcé)
   ============================================================
   Certains CSS globaux (force-black-text, superadmin-text-fix…)
   effacent le background-color des boutons, laissant un fond
   transparent + texte blanc = bouton invisible.
   Ce fichier force EXPLICITEMENT fond ET texte pour chaque
   palette Tailwind utilisée dans le SuperAdmin.
============================================================ */

/* ── Boutons primaires Tailwind (bg-{color}-{shade}) ───────── */
[data-page="superadmin"] button[class*="bg-blue-600"],
[data-page="superadmin"] a[class*="bg-blue-600"] {
  background-color: #2563eb !important;
  color: #ffffff !important;
}
[data-page="superadmin"] button[class*="bg-blue-700"]:hover,
[data-page="superadmin"] button[class*="bg-blue-600"]:hover {
  background-color: #1d4ed8 !important;
  color: #ffffff !important;
}

[data-page="superadmin"] button[class*="bg-green-600"],
[data-page="superadmin"] a[class*="bg-green-600"] {
  background-color: #16a34a !important;
  color: #ffffff !important;
}
[data-page="superadmin"] button[class*="bg-green-700"]:hover,
[data-page="superadmin"] button[class*="bg-green-600"]:hover {
  background-color: #15803d !important;
  color: #ffffff !important;
}

[data-page="superadmin"] button[class*="bg-orange-600"],
[data-page="superadmin"] a[class*="bg-orange-600"] {
  background-color: #ea580c !important;
  color: #ffffff !important;
}
[data-page="superadmin"] button[class*="bg-orange-700"]:hover,
[data-page="superadmin"] button[class*="bg-orange-600"]:hover {
  background-color: #c2410c !important;
  color: #ffffff !important;
}

[data-page="superadmin"] button[class*="bg-red-600"],
[data-page="superadmin"] a[class*="bg-red-600"] {
  background-color: #dc2626 !important;
  color: #ffffff !important;
}
[data-page="superadmin"] button[class*="bg-red-700"]:hover,
[data-page="superadmin"] button[class*="bg-red-600"]:hover {
  background-color: #b91c1c !important;
  color: #ffffff !important;
}

[data-page="superadmin"] button[class*="bg-purple-600"],
[data-page="superadmin"] a[class*="bg-purple-600"] {
  background-color: #9333ea !important;
  color: #ffffff !important;
}

[data-page="superadmin"] button[class*="bg-indigo-600"],
[data-page="superadmin"] a[class*="bg-indigo-600"] {
  background-color: #4f46e5 !important;
  color: #ffffff !important;
}

[data-page="superadmin"] button[class*="bg-amber-600"],
[data-page="superadmin"] button[class*="bg-amber-500"] {
  background-color: #d97706 !important;
  color: #ffffff !important;
}

[data-page="superadmin"] button[class*="bg-teal-600"] {
  background-color: #0d9488 !important;
  color: #ffffff !important;
}

[data-page="superadmin"] button[class*="bg-cyan-600"] {
  background-color: #0891b2 !important;
  color: #ffffff !important;
}

[data-page="superadmin"] button[class*="bg-emerald-600"] {
  background-color: #059669 !important;
  color: #ffffff !important;
}

[data-page="superadmin"] button[class*="bg-pink-600"] {
  background-color: #db2777 !important;
  color: #ffffff !important;
}

[data-page="superadmin"] button[class*="bg-gray-800"],
[data-page="superadmin"] button[class*="bg-gray-900"],
[data-page="superadmin"] button[class*="bg-slate-800"],
[data-page="superadmin"] button[class*="bg-slate-900"] {
  background-color: #1f2937 !important;
  color: #ffffff !important;
}

/* ── Boutons shadcn variant="default" (sans bg-{color} explicite) ───── */
[data-page="superadmin"] button.inline-flex[class*="bg-primary"] {
  background-color: #2563eb !important;
  color: #ffffff !important;
}

/* ── Boutons shadcn variant="outline" — fond blanc + texte noir ───── */
[data-page="superadmin"] button.inline-flex[class*="border-input"],
[data-page="superadmin"] button.border[class*="border-input"] {
  background-color: #ffffff !important;
  color: #111827 !important;
  border: 1px solid #d1d5db !important;
}
[data-page="superadmin"] button.inline-flex[class*="border-input"]:hover,
[data-page="superadmin"] button.border[class*="border-input"]:hover {
  background-color: #f3f4f6 !important;
  color: #111827 !important;
}

/* ── Boutons shadcn variant="secondary" ───── */
[data-page="superadmin"] button[class*="bg-secondary"] {
  background-color: #e5e7eb !important;
  color: #111827 !important;
}

/* ── Boutons destructive ───── */
[data-page="superadmin"] button[class*="bg-destructive"] {
  background-color: #dc2626 !important;
  color: #ffffff !important;
}

/* ── Classes utilitaires text-white / text-white-anything ───── */
[data-page="superadmin"] button.text-white,
[data-page="superadmin"] button[class*="text-white"],
[data-page="superadmin"] a.text-white,
[data-page="superadmin"] a[class*="text-white"] {
  color: #ffffff !important;
}

/* ── Icones SVG dans tous les boutons ───── */
[data-page="superadmin"] button svg,
[data-page="superadmin"] a button svg {
  color: currentColor !important;
  fill: none;
}

/* ── Boutons HTML natifs <button> avec inline-flex ou rounded-md ───── */
[data-page="superadmin"] button[class*="bg-"]:not([class*="bg-white"]):not([class*="bg-gray-50"]):not([class*="bg-gray-100"]):not([class*="bg-gray-200"]):not([class*="bg-transparent"]) {
  /* Garder au moins le texte blanc si on a un fond coloré */
}

/* ──────────────────────────────────────────────────────────────────── */
/* SECTION: pill-badges-final.css */
/* ──────────────────────────────────────────────────────────────────── */
/*
 * pill-badges-final.css
 * ════════════════════════════════════════════════════════════
 * Override final pour les pastilles "Prix fixe" / "Enchère"
 * sur les ItemCards. Doit être chargé en DERNIER pour battre
 * tous les CSS globaux qui forcent color #111.
 *
 * Chargé après tous les autres CSS dans index.html.
 * ════════════════════════════════════════════════════════════
 */

/* Spécificité maximale via html body + attribut + chained selectors */
html body div[data-sf-pill="fixed-price"],
html body div[data-sf-pill="fixed-price"] *,
html body div[data-sf-pill="fixed-price"] span,
html body [data-sf-pill="fixed-price"] span,
html body .sf-card-pill[data-sf-pill="fixed-price"],
html body .sf-card-pill[data-sf-pill="fixed-price"] * {
  color: #ffffff !important;
}

html body div[data-sf-pill="auction"],
html body div[data-sf-pill="auction"] *,
html body div[data-sf-pill="auction"] span,
html body [data-sf-pill="auction"] span,
html body .sf-card-pill[data-sf-pill="auction"],
html body .sf-card-pill[data-sf-pill="auction"] * {
  color: #ffffff !important;
}

/* ════════════════════════════════════════════════════════════════════
   FORÇAGE FINAL ABSOLU — Pills sur cards (chaîne attribut + classe + element)
   Spécificité maximale pour battre TOUTES les règles précédentes.
   Cible le span EXACT (text-xs.font-bold) à l'intérieur du pill.
   ════════════════════════════════════════════════════════════════════ */
html body [data-sf-pill] span.text-xs,
html body [data-sf-pill] span.font-bold,
html body [data-sf-pill] span.font-mono,
html body [data-sf-pill="fixed-price"] span.text-xs.font-bold,
html body [data-sf-pill="auction"] span.text-white,
html body div.sf-card-pill[data-sf-pill] span,
html body div.sf-card-pill[data-sf-pill] span.text-xs,
html body div.sf-card-pill[data-sf-pill] span.font-bold {
  color: #ffffff !important;
}
