/* Pages légales du site principal (mentions légales, CGU, CGV, politique de
   confidentialité, conditions de réservation cliente). Rang huit de l'ordre
   de travail I, 14 septembre 2026. Reprend la charte du site vitrine, lot M,
   dom-vitrine.mjs, fonction style() : palette marine / ivoire / sable / accent,
   Marcellus pour les titres, Mulish pour le texte. Polices auto-hébergées,
   voir /assets/polices/polices.css, jamais une requête vers Google. */

:root{
  color-scheme: light;
  --marine:#0D2B45; --encre:#0D2B45; --ivoire:#FFFCF8; --sable:#F2E6D5;
  --trait:#E8E1D7; --accent:#5A7D9A; --alerte:#7A2E22; --alerte-fond:#F7E8E3;
  --titre:'Marcellus',Georgia,'Times New Roman',serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--ivoire);color:var(--encre);
  font:16px/1.65 'Mulish',-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif}
h1,h2,h3,.marque{font-family:var(--titre);font-weight:400;letter-spacing:.01em}
a{color:var(--marine)}

header.entete{background:var(--ivoire);color:var(--marine);padding:24px 20px;border-bottom:1px solid var(--trait)}
header.entete .cadre{max-width:820px;margin:0 auto;display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px 20px}
header.entete .marque{font-size:28px;color:var(--marine);text-decoration:none}
header.entete .retour{color:#526474;text-decoration:none;font-size:14px}
header.entete .retour:hover,header.entete .retour:focus{color:var(--marine)}

main{max-width:860px;margin:26px auto;padding:34px;border:1px solid var(--trait);border-radius:22px;background:white}
h1{font-size:clamp(30px,4vw,42px);line-height:1.2;margin:0 0 8px;color:var(--marine)}
.meta{color:#526474;font-size:14px;margin:0 0 28px}
article h2{font-size:22px;margin:40px 0 10px;color:var(--marine)}
article h3{font-size:17px;margin:22px 0 6px;color:var(--marine)}
article p{margin:0 0 14px}
article ul,article ol{margin:0 0 14px;padding-left:22px}
article li{margin:0 0 6px}
article hr{border:none;border-top:1px solid var(--trait);margin:28px 0}
article table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:15px}
article th,article td{padding:9px 10px;border-bottom:1px solid var(--trait);text-align:left}
article th{color:var(--marine);font-weight:700;background:var(--sable)}
article code{background:var(--sable);border-radius:4px;padding:1px 5px;font-size:.92em}

/* Marqueur des éléments manquants. Jamais une valeur inventée, toujours ce
   marqueur, visible, jamais discret. */
.a-completer{
  display:inline-block;background:var(--alerte-fond);color:var(--alerte);
  border:1px solid var(--alerte);border-radius:5px;padding:0 6px;
  font-weight:700;font-size:.92em;white-space:nowrap;
}

/* Bandeau d'avertissement en tête de page, posé par nous, pas par le texte
   d'origine, pour que l'état d'incomplétude du document ne se découvre pas
   au fil de la lecture. */
.avis-page{
  background:var(--alerte-fond);border:1px solid var(--alerte);border-radius:10px;
  padding:16px 18px;margin:0 0 28px;color:var(--alerte);font-size:14.5px;line-height:1.55;
}
.avis-page strong{display:block;margin-bottom:4px;font-family:var(--titre);font-size:15.5px}

nav.legal{max-width:760px;margin:0 auto;padding:0 20px 16px}
nav.legal ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13.5px}
nav.legal a{text-decoration:underline;text-underline-offset:3px}
nav.legal .actif{color:var(--encre);font-weight:700;text-decoration:none}

footer.pied{max-width:760px;margin:0 auto;padding:22px 20px 48px;color:#526474;font-size:13px}
footer.pied a{color:var(--marine)}

nav.legal{padding-top:24px;max-width:860px}nav.legal a{display:inline-block;min-height:36px;padding:6px 10px;border-radius:20px;background:#F3EADC;text-decoration:none}footer.pied{max-width:860px;border-top:1px solid var(--trait)}a:focus-visible{outline:3px solid #5A7D9A;outline-offset:4px}article{overflow-wrap:anywhere}article table{display:block;overflow-x:auto}.a-completer{white-space:normal}
@media(max-width:600px){main{margin:16px;border-radius:18px;padding:24px 20px}header.entete .cadre{align-items:center}header.entete .retour{font-size:12px}nav.legal{padding-top:16px}article table{font-size:13px}}

/* Les colonnes restent lisibles sur mobile, y compris un tableau à quatre
   colonnes : le défilement reste dans le tableau, jamais dans la page. */
@media(max-width:600px){
  article table{max-width:100%;font-size:15px;line-height:1.5;overscroll-behavior-x:contain}
  article th,article td{min-width:10rem;vertical-align:top;overflow-wrap:normal;word-break:normal}
}
