/* ============================================================
   Triangelito — Styles de page partagés.
   Police de titres/menu : "Syne" (Google Fonts) — sans-serif
   géométrique et atypique, en accord avec le langage triangulaire.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Syne:wght@600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Basic&family=Outfit:wght@100..900&family=Sekuya&family=Six+Caps&family=Uncial+Antiqua&display=swap');

:root {
  --font-titre: 'Sekuya', 'Syne', system-ui, sans-serif;   /* titres : Sekuya (repli Syne) */
  --font-texte: 'Basic', system-ui, -apple-system, sans-serif;  /* texte courant : Basic */
  --encre: #15202b;            /* noir doux (texte + triangles du menu) */
  --texte: #1a2630;            /* texte courant (contraste renforcé) */
  --texte-doux: #38454f;       /* texte secondaire */
}

* { box-sizing: border-box; }

html { scroll-padding-top: 90px; }   /* les ancres ne passent pas sous le header fixe */

body {
  margin: 0;                  /* supprime la marge par défaut (espace sur les bords) */
  overflow-x: hidden;         /* les bandeaux pleine largeur ne créent pas de scroll horizontal */
  font-family: var(--font-texte);
  color: var(--texte);
  line-height: 1.65;
  font-size: 1.02rem;
  padding-top: 70px;          /* place sous le header fixe */
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Accessibilité : focus clavier visible + sélection aux couleurs du site */
:focus-visible { outline: 3px solid var(--encre); outline-offset: 3px; }
::selection { background: var(--encre); color: #fff; }

/* Lien d'évitement (accessibilité clavier / lecteurs d'écran) */
.skip-link {
  position: absolute; left: 12px; top: -60px; z-index: 100;
  background: var(--encre); color: #fff; text-decoration: none;
  font-family: var(--font-titre); padding: 10px 16px;
  transition: top .18s;
}
.skip-link:focus { top: 12px; }

/* Masqué visuellement mais lisible par les lecteurs d'écran */
.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;
}

h1, h2, h3, h4 { font-family: var(--font-titre); letter-spacing: -.01em; line-height: 1.15; }
h1 { font-size: clamp(2rem, 5vw, 2.6rem); margin-bottom: 10px; }
h2 { margin-top: 2.4rem; margin-bottom: 10px; font-weight: 700; }
h3 { margin: 0 0 8px; }
p { margin: 0 0 14px; }

/* ----------------------------------------------------------
   Header / navigation : un triangle noir (le "point" de liste)
   + le nom du menu, dans la police atypique.
   ---------------------------------------------------------- */
/* Header FIXE : le "point" de chaque entrée est un VRAI triangle du fond,
   peint en couleur de saison par triangles.js, qui apparaît dans l'espace
   réservé à gauche du texte. Le menu est fixe pour rester aligné sur le
   fond (lui aussi fixe à l'écran). */
nav.top {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 10;
  padding: 30px 22px 12px;       /* texte un peu plus bas : il rentre dans les triangles */
  display: flex;
  flex-wrap: nowrap;
  gap: 44px;
}
nav.top a {
  display: inline-flex;
  align-items: center;
  padding-left: 40px;            /* repli ; ajusté par triangles.js (écart constant) */
  font-family: var(--font-titre);
  font-weight: 600;
  font-size: 1.05rem;
  letter-spacing: .01em;
  color: #111;                   /* texte du menu en noir */
  text-decoration: none;
}
nav.top a.actif { color: #000; }   /* même taille : distinction par la couleur du fond (voir triangles.js) */

/* ----------------------------------------------------------
   Contenu (au-dessus du fond)
   ---------------------------------------------------------- */
.wrap {
  position: relative;
  z-index: 1;
  max-width: 820px;
  margin: 0 auto;
  padding: 48px 22px 200px;
}
.lead { color: var(--texte-doux); max-width: 62ch; font-size: 1.1rem; }
.card {
  background: #fff;
  border-radius: 0;
  padding: 20px 22px;
  margin: 18px 0;
}
.saison-label { opacity: .5; font-weight: 400; }
