:root{
  --vert:#14532d;
  --vert-clair:#e7f0ea;
  --encre:#1a1a1a;
  --gris:#5f5f5f;
  --rouge:#8c2f1f;
  --rouge-clair:#f6e9e5;
  --or:#8a6a1f;
  --or-clair:#f7f1e0;
  --bord:#d8d8d8;
}
*{box-sizing:border-box;-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:18px;
  line-height:1.65;
  color:var(--encre);
  background:#fff;
}
.wrap{max-width:760px;margin:0 auto;padding:0 20px 80px}

/* Barre de navigation */
.nav-top{
  background:var(--vert);
  padding:0;
  position:sticky;top:0;z-index:10;
}
.nav-top ul{
  max-width:760px;margin:0 auto;padding:0 8px;
  list-style:none;display:flex;
}
.nav-top li{flex:1}
.nav-top a{
  display:block;text-align:center;
  color:#fff;text-decoration:none;
  padding:15px 6px;font-size:15px;font-weight:600;
  line-height:1.3;
  border-bottom:4px solid transparent;
}
.nav-top a.actif{border-bottom-color:#a8d5b8;background:rgba(255,255,255,.08)}

/* En-tete */
header{padding:34px 0 22px;border-bottom:3px solid var(--vert);margin-bottom:8px}
.kicker{
  font-size:13px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gris);margin:0 0 12px;font-weight:600;
}
h1{
  font-size:31px;line-height:1.25;margin:0 0 10px;color:var(--vert);
  font-weight:700;letter-spacing:-.01em;
}
.sous{font-size:19px;color:var(--gris);margin:0 0 22px;font-style:italic}
.meta{font-size:16px;color:var(--gris);line-height:1.9}
.meta b{color:var(--encre);font-weight:600}

/* Sommaire interne */
nav.toc{background:var(--vert-clair);border-radius:6px;padding:20px 22px;margin:28px 0 8px}
nav.toc p{margin:0 0 12px;font-weight:700;color:var(--vert);font-size:17px}
nav.toc ol{margin:0;padding-left:22px}
nav.toc li{margin:9px 0;font-size:17px}
nav.toc a{color:var(--encre);text-decoration:none;border-bottom:1px solid #b9cfc2}

/* Titres */
h2{
  font-size:25px;line-height:1.3;color:var(--vert);margin:52px 0 6px;
  font-weight:700;padding-top:8px;
}
h2 + .regle{height:3px;background:var(--vert);margin:0 0 22px;border:0}
h3{font-size:20px;color:var(--vert);margin:32px 0 10px;font-weight:700}
h4{font-size:18px;color:var(--encre);margin:24px 0 8px;font-weight:700}

p{margin:0 0 18px}
ul,ol{margin:0 0 18px;padding-left:22px}
li{margin:9px 0}
strong{font-weight:700}

/* Encadres */
.bloc{
  border-left:6px solid var(--vert);
  background:var(--vert-clair);
  padding:18px 20px;margin:26px 0;border-radius:0 5px 5px 0;
}
.bloc.alerte{border-left-color:var(--rouge);background:var(--rouge-clair)}
.bloc.attention{border-left-color:var(--or);background:var(--or-clair)}
.bloc p:last-child{margin-bottom:0}
.bloc .titre{font-weight:700;color:var(--vert);display:block;margin-bottom:6px}
.bloc.alerte .titre{color:var(--rouge)}
.bloc.attention .titre{color:var(--or)}

/* Tableaux */
table{width:100%;border-collapse:collapse;margin:22px 0;font-size:16px}
th{background:var(--vert);color:#fff;text-align:left;padding:11px 12px;font-weight:600}
td{padding:11px 12px;border-bottom:1px solid var(--bord);vertical-align:top}
tr:nth-child(even) td{background:var(--vert-clair)}

.note{font-size:15px;color:var(--gris);font-style:italic;margin:14px 0 22px;line-height:1.6}

/* Cartes du menu d'accueil */
.cartes{margin:34px 0}
.carte{
  display:block;text-decoration:none;color:inherit;
  border:2px solid var(--bord);border-left:6px solid var(--vert);
  border-radius:0 6px 6px 0;
  padding:22px 24px;margin-bottom:18px;
}
.carte .num{
  font-size:13px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gris);font-weight:600;display:block;margin-bottom:6px;
}
.carte .titre-carte{font-size:23px;color:var(--vert);font-weight:700;display:block;margin-bottom:8px;line-height:1.3}
.carte .desc{font-size:17px;color:var(--encre);margin:0;line-height:1.6}

/* Liste fournisseurs */
.fourn{
  border:1px solid var(--bord);border-left:5px solid var(--vert);
  border-radius:0 5px 5px 0;padding:18px 20px;margin-bottom:16px;
}
.fourn h4{margin:0 0 4px;font-size:20px;color:var(--vert)}
.fourn .modele{font-size:15px;color:var(--gris);margin:0 0 10px;font-style:italic}
.fourn dl{margin:0;font-size:16px}
.fourn dt{font-weight:700;margin-top:8px;color:var(--encre)}
.fourn dd{margin:0 0 0 0;color:var(--encre)}
.fourn .pourquoi{
  margin-top:12px;padding-top:12px;border-top:1px solid var(--bord);
  font-size:16px;color:var(--encre);
}

.liste-158{
  font-size:15px;line-height:2;color:var(--encre);
  columns:2;column-gap:30px;
}
.liste-158 span{display:block;break-inside:avoid}

footer{
  margin-top:70px;padding-top:24px;border-top:1px solid var(--bord);
  font-size:15px;color:var(--gris);
}

@media (max-width:600px){
  body{font-size:17px}
  .wrap{padding:0 16px 60px}
  h1{font-size:26px}
  h2{font-size:22px;margin-top:44px}
  .nav-top a{font-size:13px;padding:13px 4px}
  table{font-size:15px}
  th,td{padding:9px 8px}
  .scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:22px -16px;padding:0 16px}
  .scroll table{min-width:520px;margin:0}
  .liste-158{columns:1}
  .carte{padding:18px 18px}
  .carte .titre-carte{font-size:20px}
}
