:root {
  /* Fond & surfaces */
  --fond:      #0C0A09;
  --surface:   #15110d;
  --bordure:   #2a2118;
  /* Contour de CONTROLE de saisie (>=3:1 sur le fond, WCAG 1.4.11) — distinct de
     --bordure (1,25:1) reserve aux separateurs purement decoratifs. ~3,75:1 verifie. */
  --bordure-champ: #7a6a4a;
  /* Etats : messages d'erreur (>=4.5:1 sur fond sombre) et actions destructrices */
  --erreur:    #ff8a73;
  --danger:    #e0584a;
  /* Accent unique : doré → orange brûlé */
  --accent-1:  #FBBF24;
  --accent-2:  #F97316;
  --accent-grad: linear-gradient(135deg, var(--accent-1), var(--accent-2));
  /* Texte */
  --texte:     #EDE7E1;
  --texte-2:   #a89c8e;
  /* Rythme */
  --rayon:     14px;
  --gap:       16px;
  --max-l:     1100px;
  font-family: 'Inter', system-ui, sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--fond); color: var(--texte); }
a { color: var(--accent-1); }
/* Logo de marque : cliquable (retour accueil) sans allure de lien */
a.brand { color: inherit; text-decoration: none; }

/* Focus clavier visible partout (anneau ambre = 11,83:1 sur le fond, WCAG 2.4.7) */
:focus-visible { outline: 2px solid var(--accent-1); outline-offset: 2px; }

/* Contenu reserve aux lecteurs d'ecran */
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
/* Variante focusable (lien d'evitement) : redevient visible au focus clavier */
.sr-only-focusable:focus {
  position: fixed; top: 10px; left: 10px; width: auto; height: auto;
  padding: 10px 16px; margin: 0; clip: auto; z-index: 3000;
  background: var(--surface); color: var(--texte);
  border: 1px solid var(--accent-1); border-radius: 8px;
}
.accent-text {
  background: var(--accent-grad);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.cta {
  background: var(--accent-grad); color: #1a1208; border: 0;
  border-radius: var(--rayon); padding: 14px 22px; font-weight: 700;
  font-size: 1rem; cursor: pointer;
}
.cta:disabled { opacity: .5; cursor: not-allowed; }

/* Bandeau de consentement cookies (injecté par js/cookies.js) */
.cookie-banniere {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999;
  display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap;
  background: var(--surface); border-top: 1px solid var(--bordure);
  padding: 16px 24px;
}
.cookie-texte { margin: 0; color: var(--texte-2); font-size: .9rem; max-width: 62ch; }
.cookie-texte a { color: var(--accent-1); }
.cookie-accepter {
  background: var(--accent-grad); color: #1a1208; border: 0;
  border-radius: var(--rayon); padding: 13px 38px; font-weight: 700;
  font-size: 1.05rem; cursor: pointer; white-space: nowrap;
}
/* Mobile : bandeau compact sur une rangée pour ne pas masquer le CTA héro (audit 360px). */
@media (max-width: 600px) {
  .cookie-banniere { flex-wrap: nowrap; justify-content: space-between; gap: 10px; padding: 10px 14px; }
  .cookie-texte { font-size: .76rem; }
  .cookie-accepter { padding: 10px 16px; font-size: .88rem; }
}
