/* ============================================================
   Le Dojo du Linux — thème « Ubuntu » (orange #E95420 + aubergine)
   Chargé en dernier sur toutes les pages : polices + boutons principaux.
   (Les couleurs de base sont déjà dans chaque page.)
   ============================================================ */
:root {
  --font-display: 'Ubuntu', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-body: 'Ubuntu', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'Ubuntu Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  /* noms utilisés par le Dojo et le mémo */
  --font-serif: 'Ubuntu', system-ui, -apple-system, sans-serif;
  --font-sans: 'Ubuntu', system-ui, -apple-system, sans-serif;
  --serif: 'Ubuntu', system-ui, -apple-system, sans-serif;
  --body: 'Ubuntu', system-ui, -apple-system, sans-serif;
  --mono: 'Ubuntu Mono', ui-monospace, Menlo, Consolas, monospace;
  --dojo-lime: #e95420;
  --dojo-lime-hover: #c7431a;
  --dojo-lime-ink: #ffffff;
}

h1, h2, h3 { letter-spacing: -0.01em; font-weight: 700; }

/* Boutons principaux : orange Ubuntu, texte blanc */
.btn-primary,
.nav-links a.btn-primary,
.nav-links a.btn-primary:hover {
  background: var(--dojo-lime) !important;
  border-color: var(--dojo-lime) !important;
  color: var(--dojo-lime-ink) !important;
  font-weight: 700;
}
.btn-primary:hover { background: var(--dojo-lime-hover) !important; border-color: var(--dojo-lime-hover) !important; }

::selection { background: #fde4d8; color: #2c001e; }

/* Pages vitrines : police moderne pour les menus, étiquettes et boutons
   (la police « machine à écrire » reste pour le code et le terminal) */
.nav-links a, .eyebrow, .sec-eyebrow, .hero-note, .hero-free, .rpg-tag, .rpg-stats,
.plans-later-lbl, .plan-badge, .plan-sub, .plan-buy, .field-label, .or, .foot-in, footer,
.step .num, .teaser, .btn, .cta-btn, .tag, .chip, .lvl, .vform label, .vrow button,
.portrait figcaption, thead th, .ladder span, .path-step .n, .ptier-h em, .rank span {
  font-family: var(--font-body);
}
.nav-links a { font-size: .9rem; font-weight: 500; letter-spacing: 0; white-space: nowrap; }
.nav-links a.btn-primary { padding: 10px 18px; border-radius: 10px; }
.eyebrow, .sec-eyebrow { font-weight: 600; letter-spacing: .14em; }
.btn, .cta-btn, .plan-buy { letter-spacing: 0; font-weight: 700; border-radius: 12px; }
@media (max-width: 760px) {
  .nav-links { gap: 4px !important; }
  .nav-links a { font-size: .8rem; padding: 6px 7px; }
  .nav-links a.btn-primary, .nav-links a.nav-cta { padding: 8px 10px; font-size: .78rem; }
}
@media (max-width: 420px) {
  .nav-links a.btn-primary, .nav-links a.nav-cta { white-space: normal; text-align: center; line-height: 1.2; max-width: 120px; }
}

/* Accueil épuré */
.cards.cards-3 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); max-width: 980px; margin-left: auto; margin-right: auto; }
.cards.cards-3 .card { padding: 26px 24px; }
.cards.cards-3 .card p { font-size: .98rem; }
.sec-eyebrow { color: var(--vermilion); }
.step .num { color: var(--vermilion); opacity: .45; }
.legal-links, .legal-links a { font-family: var(--font-body); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --dojo-lime: #f47b4f; --dojo-lime-hover: #e95420; --dojo-lime-ink: #1a0f17; } }
:root[data-theme="dark"] { --dojo-lime: #f47b4f; --dojo-lime-hover: #e95420; --dojo-lime-ink: #1a0f17; }
@media (min-width: 640px) { .hero-cta { flex-wrap: nowrap; } .hero-cta .btn { white-space: nowrap; } }
/* Petits textes d'accent : orange plus foncé pour rester lisible */
.eyebrow, .sec-eyebrow, .hero-note a, .fine a { color: #c7431a; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .eyebrow, :root:not([data-theme="light"]) .sec-eyebrow { color: #f47b4f; } }
:root[data-theme="dark"] .eyebrow, :root[data-theme="dark"] .sec-eyebrow { color: #f47b4f; }
