/* PT Serif auto-hébergée (ex-Google Fonts), même raison que Karla dans base.css. */
@font-face{font-family:'PT Serif';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/pt-serif-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'PT Serif';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/pt-serif-latin-400-italic.woff2') format('woff2');}
@font-face{font-family:'PT Serif';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/pt-serif-latin-700-normal.woff2') format('woff2');}
/* legal.css — feuille commune aux 3 pages légales.
   Charge base.css en amont (police d'affichage + palette + reset).
   Parti pris : un document, pas une brochure. Aucune carte, aucun rail
   décoratif, aucun encart en aplat de couleur — hiérarchie tenue par la
   typographie, un filet horizontal par section et une numérotation générée. */

:root{
  /* PT Serif est plus étroit que Karla : à 700px la ligne dépassait 90 signes.
     560px ramène le document dans la plage de lecture d'un texte en serif. */
  --maxw: 560px;
}

body{
  margin:0;
  background:var(--blanc);
  color:var(--noir);
  font-family:'PT Serif', Georgia, 'Times New Roman', serif;
  font-size:1rem;
  line-height:1.68;
}

a{color:var(--vert-dark); text-decoration-thickness:1px; text-underline-offset:2px;}
a:hover{color:var(--vert);}

header.topbar{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:18px clamp(16px,6vw,64px);
  /* Plus de vert fonce : la barre reprend le creme du reste du site,
     avec un filet pour la detacher du contenu. */
  background:var(--pierre-alt); color:var(--noir);
  border-bottom:1px solid rgba(23,21,18,0.14);
}
header.topbar img{height:36px; width:auto; display:block;}
header.topbar a.back{
  font-family:'Karla', 'Segoe UI', sans-serif;
  color:var(--vert); font-size:0.88rem; font-weight:600; text-decoration:none;
}
header.topbar a.back:hover{color:var(--vert-dark);}

main{max-width:var(--maxw); margin:0 auto; padding:56px 24px 80px;}

h1{
  font-family:'Hubballi','PT Serif',serif; font-weight:400;
  color:var(--vert-dark); font-size:clamp(1.7rem,4.6vw,2.3rem);
  margin:0 0 4px; line-height:1.12;
}
/* Date de mise à jour : une mention de document, pas un sur-titre marketing.
   Ni capitales, ni interlettrage. */
p.updated{
  font-family:'PT Serif', Georgia, serif; font-style:italic;
  color:var(--gres); font-size:0.88rem;
  margin:0 0 44px;
}

/* ---------- Sections : filet horizontal + numérotation générée, ---------- */
/* pas de carte, pas de fond, pas de rail de couleur.                        */
/* Le contrat de location porte ses numéros d'article en texte réel dans les
   titres : ils se citent, se recherchent et s'impriment. Sa numérotation n'est
   donc PAS générée ici. */
main:not(.contrat){counter-reset:legal-section;}
main:not(.contrat) > section{counter-increment:legal-section;}
main > section{
  padding-top:30px; margin-top:30px;
  border-top:1px solid rgba(23,21,18,0.16);
}
main > section:first-of-type{padding-top:0; margin-top:6px; border-top:none;}

/* Le h2 doit dominer le h3 : il était en Hubballi 400 à 1,22rem face à un h3
   en Karla gras, qui passait devant son propre parent.
   La dominance est tenue par l'échelle et la couleur, PAS par font-weight :
   Hubballi n'est fournie qu'en 400, et demander 700 déclenchait un gras
   synthétique — des contours épaissis par le moteur, pas dessinés. */
h2{
  display:flex; align-items:baseline; gap:14px;
  font-family:'Hubballi','PT Serif',serif; font-weight:400;
  color:var(--vert-dark); font-size:1.62rem; margin:0 0 14px;
  letter-spacing:0.005em;
}
main:not(.contrat) h2::before{
  content:counter(legal-section, decimal-leading-zero);
  font-family:'Karla', sans-serif; font-weight:700; font-size:0.78rem;
  letter-spacing:0.06em; color:var(--gres);
  flex:none;
}
h3{
  font-family:'Karla', sans-serif; font-weight:700;
  color:var(--noir); font-size:0.88rem; letter-spacing:0.01em;
  margin:20px 0 6px;
}

p, li{font-size:1rem; margin:0 0 12px;}
ul{margin:0 0 12px; padding-left:22px;}
li{margin-bottom:6px;}
p:last-child, ul:last-child, li:last-child{margin-bottom:0;}

.note{
  border-left:2px solid var(--vert); padding:2px 0 2px 18px; margin:18px 0 0;
  font-style:italic; color:var(--gres); font-size:0.96rem;
}

/* ---------- Tableau (frais d'annulation) ---------- */
table{width:100%; border-collapse:collapse; margin:0 0 12px; font-size:0.96rem;}
table th, table td{text-align:left; padding:9px 12px 9px 0; border-bottom:1px solid rgba(23,21,18,0.14);}
table th{
  font-family:'Karla', sans-serif; font-weight:700; font-size:0.78rem;
  text-transform:uppercase; letter-spacing:0.05em; color:var(--gres);
  border-bottom:1px solid var(--noir);
}

/* ---------- Focus clavier ---------- */
/* Sur le fond papier, un vert foncé ; sur la barre verte, le sauge clair,
   qui seul reste visible sur ce fond. */
:focus-visible{outline:2px solid var(--vert-dark); outline-offset:2px;}
header.topbar :focus-visible{outline:2px solid var(--vert); outline-offset:3px;}

footer{
  max-width:var(--maxw); margin:0 auto; padding:36px 24px 56px;
  border-top:1px solid rgba(23,21,18,0.16);
  font-family:'Karla', sans-serif;
  color:var(--gres); font-size:0.88rem; text-align:center;
}
footer a{color:var(--vert-dark);}
