/* =====================================================================
   CO-DRIVER · Design System "Carbon & Ember"  (v33)
   ---------------------------------------------------------------------
   Cette feuille redéfinit les tokens existants du site vers la nouvelle
   identité. Les NOMS de variables sont conservés (rien ne casse), seules
   les VALEURS changent. Chargée APRÈS le <style> de chaque page, elle
   prend le dessus et repeint l'ensemble.
   ===================================================================== */

:root{
  /* ---- Accents (anciennement lime omniprésent) ---- */
  --accent:        #FF5A1F;   /* Ember — accent chaud primaire           */
  --accent-dim:    #C7431270; /* Ember atténué (bordures discrètes)       */
  --accent-soft:   #FF7A47;   /* Ember clair (hover / survol)             */
  --signal:        #00E0C6;   /* Cyan — données / positif (rare)          */
  --signal-dim:    #00E0C640;

  /* ---- Base sombre (anciennement "ink") — carbone profond ---- */
  --ink-950:       #0B0C0E;   /* Obsidian — fond                          */
  --ink-900:       #15171B;   /* Carbon — surfaces                        */
  --ink-800:       #1B1E24;   /* Carbon clair                             */
  --ink-700:       #23262C;   /* Graphite — bordures                      */
  --ink-600:       #2D3138;   /* Graphite clair — bordures hover          */
  --ink-500:       #3A3F47;   /* Gris structurel                          */

  /* ---- Texte (anciennement "bone") — mercure froid ---- */
  --bone-50:       #E9EBEE;   /* Mercury — texte primaire                 */
  --bone-100:      #C9CDD3;   /* texte secondaire clair                   */
  --bone-200:      #A9AEB7;
  --bone-300:      #8A8F99;   /* Steel — texte atténué                    */

  /* ---- Statuts ---- */
  --green:         #00E0C6;   /* on aligne le "vert" sur Signal (cyan)    */
  --amber:         #FFB23E;   /* ambre conservé pour avertissements       */
  --red:           #FF4D4D;

  /* ---- Typographie ---- */
  --display:'Anton', 'Archivo', system-ui, sans-serif;   /* titres massifs */
  --sans:'Archivo', system-ui, -apple-system, sans-serif;/* corps          */
  --mono:'JetBrains Mono', ui-monospace, Menlo, Consolas, monospace;

  /* ---- Rythme ---- */
  --radius-card: 4px;         /* bords nets, presque carrés (éditorial)    */
  --radius-pill: 999px;
}

/* ---------------------------------------------------------------------
   Réglages typographiques globaux : Anton est très condensé/capitales,
   on le réserve aux gros titres ; le corps reste en Archivo lisible.
   --------------------------------------------------------------------- */
html,body{ font-family:var(--sans); letter-spacing:.005em; }

/* Anton réservé aux GROS titres display (hero, titres de section éditoriale).
   Les petits titres d'UI (calendrier, cartes, login, profil) restent en Archivo
   pour la lisibilité. */
.ed-title, .sec-title, .tile__title{
  font-family:var(--display)!important; letter-spacing:.01em; font-weight:400!important;
}
.ed-title{ max-width:18ch; text-wrap:balance; }
/* Les h1/h2/h3 d'interface : Archivo medium, pas Anton */
h1,h2,h3,.hello h1,.cal-title{
  font-family:var(--sans)!important; font-weight:600!important; letter-spacing:-.01em;
}
.hello h1{ font-size:1.7rem!important; }

/* Sélection de texte aux couleurs de la marque */
::selection{ background:var(--accent); color:#0B0C0E; }
::-moz-selection{ background:var(--accent); color:#0B0C0E; }

/* ---------------------------------------------------------------------
   Header : plus net, label mono espacé
   --------------------------------------------------------------------- */
header{ background:rgba(11,12,14,.82)!important; backdrop-filter:blur(10px); border-bottom:1px solid var(--ink-700)!important; }
.wm{ font-family:var(--mono)!important; font-weight:500!important; letter-spacing:.30em!important; font-size:.74rem!important; }
.badge{
  font-family:var(--mono)!important; color:var(--accent)!important;
  border-color:var(--accent-dim)!important; border-radius:3px!important;
  letter-spacing:.16em!important;
}
/* Le logo "cercle ouvert" : on le repasse en ember */
.logo{ border-color:var(--accent)!important; }

/* ---------------------------------------------------------------------
   Boutons / CTA : bord net, ember plein
   --------------------------------------------------------------------- */
button, .btn, .lb-cta, .te-cta, #cd-send{
  border-radius:var(--radius-card)!important;
}
#cd-login button, #lock-banner .lb-cta{
  background:var(--accent)!important; color:#0B0C0E!important;
  font-family:var(--sans)!important; font-weight:700!important;
  letter-spacing:.02em!important; border-radius:var(--radius-card)!important;
}

/* ---------------------------------------------------------------------
   Cartes génériques : coins nets, bord graphite, hover ember
   --------------------------------------------------------------------- */
.card, .today-card, .cal-panel, .profil-chip, .pc-avatar,
#cd-login .box, .cal-modal{
  border-radius:var(--radius-card)!important;
}
.card.active:hover{ border-color:var(--accent)!important; }
.card .glyph{ color:var(--accent)!important; }
.card .tag{ border-radius:3px!important; }
.card.active .tag{ color:var(--accent)!important; border-color:var(--accent-dim)!important; }

/* Liens & accents de section repeints en ember */
.section-label{ color:var(--bone-300)!important; }
a{ -webkit-tap-highlight-color:transparent; }

/* Barres de progression nutrition : "good" = ember, plus de lime */
.today-card .tc-fill.good{ background:var(--accent)!important; }
.today-card.score-card .tc-value.B{ color:var(--accent)!important; }

/* Bannière profil incomplet : dégradé ember discret */
#lock-banner{
  background:linear-gradient(180deg, rgba(255,90,31,.08), rgba(255,90,31,.02))!important;
  border-color:var(--accent-dim)!important; border-radius:var(--radius-card)!important;
}
#lock-banner .lb-missing strong{ color:var(--accent)!important; }

/* Calendrier : accent today + hover en ember */
.cal-day:hover{ border-color:var(--accent)!important; }
.cal-day.today{ box-shadow:inset 0 0 0 1px var(--accent)!important; }
.cal-btn:hover{ border-color:var(--accent-dim)!important; }
.cal-collapse{ border-color:rgba(255,90,31,.4)!important; color:var(--accent)!important; }
.cal-collapse:hover{ background:rgba(255,90,31,.08)!important; }
.cal-empty a{ color:var(--accent)!important; border-bottom-color:var(--accent-dim)!important; }

/* Footer mono discret */
footer{ font-family:var(--mono)!important; letter-spacing:.20em!important; }

/* ---------------------------------------------------------------------
   Tuiles verrouillées (gating profil incomplet)
   --------------------------------------------------------------------- */
.tile.locked{ opacity:.5; pointer-events:none; }
.tile.locked .tile__media .tag{ color:var(--bone-300)!important; border-color:var(--ink-600)!important; }
.tile.locked .tile__media .tag::before{ content:'🔒 '; font-size:.85em; }
.tile.locked .tile__cta{ display:none; }
