:root{
  --brand-1:#0068b0; 
  --brand-2:#00417a;
  --text:#0b1020; 
  --muted:#5b6472;
  --bg:#fbfcfe;
  --card:#ffffff;
  --border:#e6ebf1;
  --radius:16px;
  --shadow:0 6px 20px rgba(0,0,0,.06);
  --max: 920px;
}

.wrap{max-width:var(--max); margin:40px auto;}

h1{font-size: clamp(28px, 4vw, 40px); line-height:1.1; margin:0; color:var(--brand-2)}
p.subtitle{margin:10px 0 0; color:var(--muted)}

nav.toc{
  margin:24px 0 32px; padding:16px; background:var(--card); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow)
}
nav.toc strong{display:block; margin-bottom:8px; color:var(--brand-2)}
nav.toc ul{margin:0; padding:0; columns: 2; column-gap:24px}
nav.toc li{list-style:none; margin:6px 0}
nav.toc a{color:var(--brand-1); text-decoration:none}
nav.toc a:hover{text-decoration:underline}

.editeur1{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); padding:24px; margin:18px 0}
.directeur1{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); padding:24px; margin:18px 0}
.hebergeur1{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); padding:24px; margin:18px 0}
.pi1{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); padding:24px; margin:18px 0}
.rgpd1{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); padding:24px; margin:18px 0}
.cookies1{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); padding:24px; margin:18px 0}
.mediation1{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); padding:24px; margin:18px 0}
.responsabilite1{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); padding:24px; margin:18px 0}
.cgv1{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); padding:24px; margin:18px 0}
.contact1{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); padding:24px; margin:18px 0}


h2{font-size: clamp(20px, 2.6vw, 26px); margin:0 0 12px; color:var(--brand-2)}
h3{font-size:18px; margin:18px 0 8px; color:var(--brand-2)}
p{margin:10px 0;}
ul{margin:10px 0 10px 20px}
li{margin:6px 0}
code.inline{background:#f3f6fb; border:1px solid var(--border); padding:.1em .4em; border-radius:6px}

.badge{display:inline-block; font-size:12px; background: #eef6ff; color: var(--brand-2); border:1px solid #d6e8ff; padding:4px 8px; border-radius:999px}
.muted{color:var(--muted)}
.grid-2{display:grid; grid-template-columns:1fr; gap:16px}
@media (min-width: 780px){.grid-2{grid-template-columns:1fr 1fr}}

.small{font-size:12.5px}

/* Impression */
@media print{
  header, nav.toc{box-shadow:none; background:#fff}
  section{box-shadow:none}
  a{color:#000; text-decoration:underline}
  .wrap{padding:0}
  body{background:#fff}
}
