/* Mise en forme commune des pages légales de pilotbat.fr. */
:root{
  --navy:#16213e; --navy-deep:#101a33; --navy-700:#1f3864;
  --blue:#2f6fed; --bg:#f6f7fb; --surface:#ffffff; --border:#e4e8f0;
  --text:#1c2536; --text-muted:#6b7386; --radius:16px;
}
*{box-sizing:border-box}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.6; -webkit-font-smoothing:antialiased;
}
.wrap{max-width:820px; margin:0 auto; padding:0 24px}
header{background:var(--surface); border-bottom:1px solid var(--border)}
header .wrap{display:flex; align-items:center; justify-content:space-between; height:68px; gap:1rem}
.logo{display:flex; align-items:center; gap:.55rem; font-weight:800; font-size:1.1rem; color:var(--navy-700); text-decoration:none}
.logo-mark{width:30px; height:30px; border-radius:9px; background:var(--blue); display:grid; place-items:center}
.retour{color:var(--blue); font-weight:600; font-size:.95rem; text-decoration:none}
.retour:hover{text-decoration:underline}
main{padding:3rem 0 4rem}
h1{font-size:2rem; color:var(--navy-700); letter-spacing:-.01em; margin:0 0 .5rem; line-height:1.2}
.maj{color:var(--text-muted); font-size:.92rem; margin:0 0 1.4rem}
.intro{margin:0 0 2rem}
section{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:1.6rem 1.8rem; margin-bottom:1.2rem}
h2{font-size:1.1rem; color:var(--navy-700); margin:0 0 .9rem}
h3{font-size:.98rem; color:var(--navy-700); margin:1.1rem 0 .5rem}
p{margin:0 0 .7rem}
p:last-child, ul:last-child{margin-bottom:0}
ul{margin:0 0 .7rem; padding-left:1.2rem}
li{margin-bottom:.35rem}
dl{display:grid; grid-template-columns:minmax(0, 14rem) 1fr; gap:.55rem 1.2rem; margin:0}
dt{color:var(--text-muted); font-size:.93rem}
dd{margin:0; font-weight:600; overflow-wrap:anywhere}
a{color:var(--blue)}
.sommaire{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:1.2rem 1.6rem; margin-bottom:1.2rem}
.sommaire ol{margin:0; padding-left:1.3rem; columns:2; column-gap:2rem}
.sommaire li{margin-bottom:.3rem; break-inside:avoid}
table{width:100%; border-collapse:collapse; font-size:.93rem; margin:0 0 .7rem}
th, td{text-align:left; padding:.55rem .6rem; border-bottom:1px solid var(--border); vertical-align:top}
th{color:var(--text-muted); font-weight:600; font-size:.85rem}
.tableau-defilant{overflow-x:auto}
footer{background:var(--navy-deep); color:#a9b3d1; padding:1.8rem 0; font-size:.88rem}
footer .wrap{display:flex; justify-content:space-between; gap:.6rem 1.4rem; flex-wrap:wrap}
footer nav{display:flex; gap:.4rem 1.2rem; flex-wrap:wrap}
footer a{color:#a9b3d1}
footer a:hover{color:#fff}
@media (max-width:640px){
  h1{font-size:1.6rem}
  section{padding:1.3rem 1.2rem}
  dl{grid-template-columns:1fr; gap:.15rem}
  dd{margin-bottom:.6rem}
  .sommaire ol{columns:1}
}
