/* Jetons de l'événement (site/theme.css) */
/* Jetons de marque de l'événement : seules valeurs de design propres au site.
   Les styles du modèle (modeles/<modele>/css/main.css) n'utilisent que ces variables.
   Polices de marque : déclarer ici les @font-face (fichiers dans assets/fonts/, licence dans assets/licences/). */
:root{
  --couleur-sombre:#1E2A4A;
  --couleur-sur-sombre:#E6ECF5;
  --couleur-texte:#1E2A4A;
  --couleur-fond:#F5F3EE;
  --couleur-fond-page:#FFFFFF;
  --couleur-bordure:#DDD8CE;
  --couleur-action:#A3361B;
  --couleur-action-texte:#FFFFFF;
  --couleur-lien:#1B5E8C;
  --police-titres:system-ui, sans-serif;
  --police-texte:system-ui, sans-serif;
}

/* Modèle « demo » */
/* Modèle de démonstration du socle. N'utilise que les jetons définis par l'événement
   dans site/theme.css (--couleur-*, --police-*). Aucune valeur de marque ici. */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--police-texte, system-ui, sans-serif);color:var(--couleur-texte);background:var(--couleur-fond-page, #fff);line-height:1.55}
h1,h2,h3{font-family:var(--police-titres, inherit);line-height:1.15;text-transform:uppercase}
img{max-width:100%;height:auto;display:block}
a{color:var(--couleur-lien, var(--couleur-texte))}
.lien-evitement{position:absolute;left:-9999px}
.lien-evitement:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:10}
.entete,.pied,main>section,.page{padding:1.5rem clamp(1rem,4vw,3rem)}
.entete{background:var(--couleur-sombre);}
.entete__nom{color:var(--couleur-sur-sombre);font-weight:700;text-decoration:none;display:inline-block;min-height:44px;line-height:44px}
.hero{background:var(--couleur-sombre);color:var(--couleur-sur-sombre)}
.hero h1{font-size:clamp(2rem,6vw,3.5rem);margin:0 0 .5rem}
.bouton{display:inline-flex;align-items:center;min-height:44px;padding:.6rem 1.2rem;border-radius:999px;border:2px solid currentColor;background:transparent;color:inherit;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.bouton--action{background:var(--couleur-action);color:var(--couleur-action-texte);border-color:var(--couleur-action)}
.lien-bouton{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer;min-height:44px}
.epreuves__grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-bottom:1.5rem}
.carte{border:1px solid var(--couleur-bordure);border-top:6px solid var(--couleur-epreuve);border-radius:12px;padding:1rem;background:var(--couleur-fond)}
.carte__nouveau{font-size:.75rem;background:var(--couleur-action);color:var(--couleur-action-texte);padding:.1rem .4rem;border-radius:4px}
.paliers{width:100%;border-collapse:collapse;font-size:.9rem}
.paliers caption{text-align:left;font-weight:700;margin-bottom:.25rem}
.paliers th,.paliers td{padding:.35rem .4rem;text-align:left;border-bottom:1px solid var(--couleur-bordure)}
.photos__liste{list-style:none;padding:0;display:grid;gap:1rem}
figcaption{font-size:.8rem}
.faq details{border-bottom:1px solid var(--couleur-bordure);padding:.75rem 0}
.faq summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}
.alerte{margin-top:1.5rem;max-width:36rem}
.alerte label{display:block}
.alerte__ligne{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}
.alerte__ligne input{flex:1 1 14rem;min-height:44px;padding:.5rem;font:inherit;border:1px solid var(--couleur-bordure);border-radius:8px}
.alerte__case{display:flex;gap:.5rem;align-items:flex-start;font-size:.9rem}
.alerte__case input{width:24px;height:24px;flex:none}
.alerte__case a{color:inherit}
.piege{position:absolute;left:-9999px}
.pied{background:var(--couleur-fond);border-top:1px solid var(--couleur-bordure)}
.pied ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:1rem}
.cookies{position:fixed;inset:auto 0 0 0;background:var(--couleur-fond);border-top:2px solid var(--couleur-bordure);padding:1rem clamp(1rem,4vw,3rem);z-index:20}
.cookies__actions{display:flex;gap:.75rem;flex-wrap:wrap}
.table-wrap{overflow-x:auto}
.table-wrap table{border-collapse:collapse}
.table-wrap th,.table-wrap td{padding:.4rem .6rem;border-bottom:1px solid var(--couleur-bordure);text-align:left}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
