/* ===================================
   FORCE BLACK & WHITE OVERRIDES
   Surcharge tous les styles inline
   =================================== */

:root {
  color-scheme: light;
}

/* Base : ne casse pas les layouts, ne touche pas aux backgrounds partout */
html,
body {
  background: #ffffff !important;
  color: #000000 !important;
}

body {
  background-image: none !important;
}

/* Neutralise les gradients inline sans tout écraser */
[style*="linear-gradient"],
[style*="radial-gradient"],
[style*="conic-gradient"],
[style*="gradient("] {
  background-image: none !important;
  background-color: #000000 !important;
  color: #ffffff !important;
}

/* Headers et éléments sombres */
.header,
.mobile-header,
.site-header,
.top,
.hero {
  background: black !important;
  background-image: none !important;
  color: white !important;
}

.header a,
.mobile-header a,
.site-header a,
.top a,
.hero a {
  color: #ffffff !important;
}

/* Boutons */
.btn-primary,
button[type="submit"],
.action-card.primary {
  background: black !important;
  background-image: none !important;
  color: white !important;
  border: 2px solid black !important;
}

/* Ne pas inverser les couleurs au survol (sur mobile, :hover peut rester “collé”) */

.btn-secondary,
.action-card.secondary {
  background: white !important;
  background-image: none !important;
  color: black !important;
  border: 2px solid black !important;
}

/* Liens et navigation */
a {
  color: black !important;
  text-decoration: none !important;
}

a:hover {
  text-decoration: underline !important;
}

.home-btn,
.nav-link {
  background: rgba(255, 255, 255, 0.2) !important;
  background-image: none !important;
  color: white !important;
  border: 1px solid white !important;
}

.home-btn:hover,
.nav-link:hover {
  background: rgba(255, 255, 255, 0.3) !important;
}

/* Cartes et conteneurs */
.card,
.welcome,
.action-card,
.date-card,
.comp-card,
.form-step {
  background: white !important;
  background-image: none !important;
  border: 2px solid black !important;
  color: black !important;
}

.card:hover,
.action-card:hover,
.date-card:hover,
.comp-card:hover {
  box-shadow: 4px 4px 0 black !important;
}

/* Éléments sélectionnés (ciblé : ne pas casser les classes .active globales) */
.date-card.selected,
.dates-grid .date-card.selected,
.date-grid .date-card.selected {
  background: black !important;
  background-image: none !important;
  color: white !important;
  border-color: black !important;
}

/* Progress bars et badges */
.progress-step,
.season-badge,
.cat-chip,
.type-chip {
  background: white !important;
  background-image: none !important;
  border: 1px solid black !important;
  color: black !important;
}

.progress-step.active,
.progress-step.completed {
  background: black !important;
  color: white !important;
}

/* Formulaires */
input,
select,
textarea,
.form-select,
.form-input {
  background: white !important;
  background-image: none !important;
  border: 2px solid black !important;
  color: black !important;
}

input:focus,
select:focus,
textarea:focus,
.form-select:focus,
.form-input:focus {
  border-color: black !important;
  box-shadow: 2px 2px 0 black !important;
}

/* Info sections */
.info-section,
.coach-access {
  background: #f5f5f5 !important;
  background-image: none !important;
  border: 2px solid black !important;
  color: black !important;
}

.info-section h3,
.info-section p {
  color: black !important;
}

/* Tables */
.data-table th {
  background: #f5f5f5 !important;
  background-image: none !important;
  color: black !important;
  border: 1px solid black !important;
}

.data-table td {
  background: white !important;
  color: black !important;
  border: 1px solid black !important;
}

/* Texte sur fond sombre */
.header *,
.mobile-header *,
.site-header *,
.hero *,
.date-card.selected * {
  color: white !important;
}

/* Les boutons héritent de la couleur définie sur le bouton lui-même */
.btn-primary *,
button[type="submit"] * {
  color: inherit !important;
}

/* Dates et compétitions */
.comp-date {
  background: #f5f5f5 !important;
  background-image: none !important;
  border: 2px solid black !important;
  color: black !important;
}

.comp-date strong,
.comp-date span {
  color: black !important;
}

/* Modal et overlays */
.modal,
.overlay {
  background: rgba(0, 0, 0, 0.8) !important;
}

.modal-content {
  background: white !important;
  border: 2px solid black !important;
  color: black !important;
}

/* Footer */
.footer-links {
  border-top: 2px solid black !important;
}

.footer-links a {
  color: black !important;
}

/* Disable gradients globalement */
*[class*="gradient"] {
  background-image: none !important;
}
