/* Fichier de base des variables – aucun style “visuel”, seulement des tokens.
   Par défaut : thème sombre. Le thème clair s’active via [data-theme="light"] ou .theme-light.
   Compatible aussi avec prefers-color-scheme si aucun attribut n’est défini.
*/

:root {
  /* Couleurs de base (dark moderne) */
  --bg:        #0a0e17;
  --bg-gradient: linear-gradient(135deg, #0a0e17 0%, #151922 50%, #1a1f2e 100%);
  --fg:        #e8ecf4;
  --muted:     #a0aec0;
  --card:      #1a1f2e;
  --card-gradient: linear-gradient(135deg, rgba(26, 31, 46, 0.8) 0%, rgba(20, 25, 38, 0.8) 100%);
  --border:    rgba(99, 115, 151, 0.15);
  --accent:    #0099FF;
  --accent-secondary: #00CCFF;
  --accent-gradient: linear-gradient(135deg, #0099FF 0%, #00CCFF 100%);

  /* Alias fréquents (pour compat) */
  --bg-color:        var(--bg);
  --fg-color:        var(--fg);
  --text-color:      var(--fg);
  --muted-color:     var(--muted);
  --card-bg:         var(--card);
  --card-color:      var(--card);
  --panel-bg:        var(--card);
  --panel-color:     var(--card);
  --border-color:    var(--border);
  --accent-color:    var(--accent);
  --link-color:      var(--accent);
  --link-hover:      var(--accent-secondary);

  /* Glassmorphisme optimisé */
  --glass-bg: rgba(26, 31, 46, 0.75);
  --glass-border: rgba(255, 255, 255, 0.1);
  --glass-blur: 10px;

  /* Accessoires modernes */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.15);
  --shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.25);
  --shadow-xl: 0 24px 64px rgba(0, 0, 0, 0.35);
  --shadow-glow: 0 0 40px rgba(0, 153, 255, 0.3);
  --logo-glow: drop-shadow(0 0 8px rgba(0, 153, 255, 0.4));
  --logo-glow-hover: drop-shadow(0 0 12px rgba(0, 153, 255, 0.6));
  --visual-logo-glow: drop-shadow(0 12px 32px rgba(0, 153, 255, 0.5));
  --visual-logo-glow-hover: drop-shadow(0 16px 48px rgba(0, 153, 255, 0.7));

  /* Backgrounds et orbes */
  --hero-bg: radial-gradient(ellipse at 50% 0%, rgba(0, 153, 255, 0.15), transparent 70%),
             linear-gradient(135deg, #0a0e17 0%, #1a1f2e 50%, #0f1419 100%);
  --orb-1-color: radial-gradient(circle, rgba(0, 153, 255, 0.8) 0%, transparent 70%);
  --orb-2-color: radial-gradient(circle, rgba(0, 204, 255, 0.8) 0%, transparent 70%);
  --orb-3-color: radial-gradient(circle, rgba(0, 119, 204, 0.7) 0%, transparent 70%);
  --features-bg: radial-gradient(ellipse at 50% 50%, rgba(0, 153, 255, 0.08), transparent 70%);
  --cta-bg: radial-gradient(ellipse at 50% 50%, rgba(0, 153, 255, 0.1), transparent 70%);

  /* Design System - Boutons */
  --btn-primary-bg: linear-gradient(135deg, #0099FF 0%, #00CCFF 100%);
  --btn-primary-shadow: 0 12px 40px rgba(0, 153, 255, 0.35);
  --btn-primary-hover-shadow: 0 16px 48px rgba(0, 153, 255, 0.45);
  --btn-secondary-bg: rgba(0, 153, 255, 0.1);
  --btn-secondary-border: rgba(0, 153, 255, 0.3);
  --btn-radius: 16px;
  --btn-radius-sm: 12px;
  --btn-radius-lg: 20px;

  /* Design System - Cards */
  --card-radius: 24px;
  --card-radius-lg: 32px;
  --card-padding: 2rem;
  --card-padding-lg: 3rem;
  --card-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  --card-shadow-hover: 0 16px 48px rgba(0, 0, 0, 0.15);
  --card-border-color: rgba(0, 153, 255, 0.15);

  /* Design System - Inputs */
  --input-bg: rgba(26, 31, 46, 0.5);
  --input-border: rgba(0, 153, 255, 0.2);
  --input-border-focus: rgba(0, 153, 255, 0.5);
  --input-radius: 14px;

  /* Transitions fluides */
  --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 350ms cubic-bezier(0.4, 0, 0.2, 1);

  /* Indication de schéma couleur pour les composants natifs */
  color-scheme: dark light;
}

/* Thème clair explicite via attribut ou classe */
:root[data-theme="light"], .theme-light {
  --bg:        #f8fafc;
  --bg-gradient: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 50%, #e2e8f0 100%);
  --fg:        #1e293b;
  --muted:     #64748b;
  --card:      #ffffff;
  --card-gradient: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 250, 252, 0.95) 100%);
  --border:    rgba(100, 116, 139, 0.2);
  --accent:    #0099FF;
  --accent-secondary: #0077CC;
  --accent-gradient: linear-gradient(135deg, #0099FF 0%, #00CCFF 100%);

  --bg-color:        var(--bg);
  --fg-color:        var(--fg);
  --text-color:      var(--fg);
  --muted-color:     var(--muted);
  --card-bg:         var(--card);
  --card-color:      var(--card);
  --panel-bg:        var(--card);
  --panel-color:     var(--card);
  --border-color:    var(--border);
  --accent-color:    var(--accent);
  --link-color:      var(--accent);
  --link-hover:      var(--accent-secondary);

  --glass-bg: rgba(255, 255, 255, 0.85);
  --glass-border: rgba(0, 0, 0, 0.08);
  --glass-blur: 10px;

  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.12);
  --shadow-xl: 0 24px 64px rgba(0, 0, 0, 0.16);
  --shadow-glow: 0 0 40px rgba(0, 153, 255, 0.2);
  --logo-glow: drop-shadow(0 0 8px rgba(0, 119, 204, 0.3));
  --logo-glow-hover: drop-shadow(0 0 12px rgba(0, 119, 204, 0.5));
  --visual-logo-glow: drop-shadow(0 12px 32px rgba(0, 119, 204, 0.4));
  --visual-logo-glow-hover: drop-shadow(0 16px 48px rgba(0, 119, 204, 0.6));

  /* Backgrounds et orbes pour mode clair */
  --hero-bg: radial-gradient(ellipse at 50% 0%, rgba(0, 153, 255, 0.08), transparent 70%),
             linear-gradient(135deg, #f8fafc 0%, #e2e8f0 50%, #f1f5f9 100%);
  --orb-1-color: radial-gradient(circle, rgba(0, 153, 255, 0.3) 0%, transparent 70%);
  --orb-2-color: radial-gradient(circle, rgba(0, 204, 255, 0.3) 0%, transparent 70%);
  --orb-3-color: radial-gradient(circle, rgba(0, 119, 204, 0.25) 0%, transparent 70%);
  --features-bg: radial-gradient(ellipse at 50% 50%, rgba(0, 153, 255, 0.04), transparent 70%);
  --cta-bg: radial-gradient(ellipse at 50% 50%, rgba(0, 153, 255, 0.05), transparent 70%);

  /* Design System - Boutons */
  --btn-primary-bg: linear-gradient(135deg, #0099FF 0%, #0077CC 100%);
  --btn-primary-shadow: 0 12px 40px rgba(0, 153, 255, 0.25);
  --btn-primary-hover-shadow: 0 16px 48px rgba(0, 153, 255, 0.35);
  --btn-secondary-bg: rgba(0, 153, 255, 0.08);
  --btn-secondary-border: rgba(0, 153, 255, 0.25);
  --btn-radius: 16px;
  --btn-radius-sm: 12px;
  --btn-radius-lg: 20px;

  /* Design System - Cards */
  --card-radius: 24px;
  --card-radius-lg: 32px;
  --card-padding: 2rem;
  --card-padding-lg: 3rem;
  --card-shadow: 0 8px 32px rgba(0, 0, 0, 0.06);
  --card-shadow-hover: 0 16px 48px rgba(0, 0, 0, 0.1);
  --card-border-color: rgba(0, 153, 255, 0.2);

  /* Design System - Inputs */
  --input-bg: rgba(255, 255, 255, 0.8);
  --input-border: rgba(0, 153, 255, 0.2);
  --input-border-focus: rgba(0, 153, 255, 0.5);
  --input-radius: 14px;

  color-scheme: light dark;
}

/* Fallback : si aucun attribut n’est posé, on respecte la préférence système */
@media (prefers-color-scheme: light) {
  :root:not([data-theme]):not(.theme-dark) {
    --bg:        #f7f9fc;
    --fg:        #0d1117;
    --muted:     #5b6573;
    --card:      #ffffff;
    --border:    #e5e9ef;
    --accent:    #2a6df4;

    --bg-color:        var(--bg);
    --fg-color:        var(--fg);
    --text-color:      var(--fg);
    --muted-color:     var(--muted);
    --card-bg:         var(--card);
    --card-color:      var(--card);
    --panel-bg:        var(--card);
    --panel-color:     var(--card);
    --border-color:    var(--border);
    --accent-color:    var(--accent);
    --link-color:      var(--accent);
    --link-hover:      color-mix(in oklab, var(--accent) 70%, black);

    color-scheme: light dark;
  }
}

/* Application minimale pour que les couleurs s'expriment, avec modernisations subtiles */
* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html, body {
  background: var(--bg);
  background-image: var(--bg-gradient);
  background-attachment: fixed;
  color: var(--fg);
  margin: 0;
  padding: 0;
}

a {
  color: var(--link-color);
  text-decoration: none;
  transition: color var(--transition-fast);
}

a:hover {
  color: var(--link-hover);
}

/* Scrollbar moderne */
::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}

::-webkit-scrollbar-track {
  background: var(--bg);
}

::-webkit-scrollbar-thumb {
  background: var(--border-color);
  border-radius: 6px;
  border: 3px solid var(--bg);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--muted-color);
}

/* Selection moderne */
::selection {
  background: var(--accent);
  color: white;
}

::-moz-selection {
  background: var(--accent);
  color: white;
}
