/* Pages légales (mentions-legales.html, confidentialite.html).
   Même charte que reserver.html : tokens du DESIGN.md de la refonte,
   Montserrat auto-hébergée de l'ancien site. */
@font-face { font-family: "Montserrat"; src: url("../fonts/montserrat-light-webfont.woff") format("woff"); font-weight: 300; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../fonts/montserrat-regular-webfont.woff") format("woff"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../fonts/montserrat-bold-webfont.woff") format("woff"); font-weight: 700; font-display: swap; }
:root { --pierre:#efe9de; --chaux:#f8f4ed; --chene:#241c15; --taupe:#5f584d; --lie:#6e2b2b; --trait:#d9d1c3; --rayon:12px; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin:0; background:var(--chaux); color:var(--chene); font:300 16px/1.7 "Montserrat", system-ui, sans-serif; }
a { color:var(--lie); }
b, strong { font-weight:700; }

header { position:sticky; top:0; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:16px;
         padding:10px 16px; padding-top:max(10px, env(safe-area-inset-top)); background:rgba(255,255,255,.94);
         backdrop-filter:blur(8px); border-bottom:1px solid var(--trait); }
header img { height:48px; width:auto; display:block; }
.retour { color:var(--taupe); text-decoration:none; font-size:14px; min-height:44px; display:inline-flex; align-items:center; }
.retour:hover { color:var(--lie); }

.bandeau { background:var(--pierre); padding:32px 16px 28px; }
.bandeau div { max-width:760px; margin:0 auto; }
.bandeau h1 { font-weight:400; font-size:clamp(26px, 5vw, 38px); line-height:1.15; margin:0 0 8px; }
.bandeau p { margin:0; color:var(--taupe); font-size:15px; }

main { max-width:760px; margin:0 auto; padding:8px 16px 48px; }
h2 { font-weight:400; font-size:21px; margin:36px 0 12px; }
p, li { font-size:16px; }
ul { padding-left:20px; }
.fiche { background:#fff; border:1px solid var(--trait); border-radius:var(--rayon); padding:16px 20px; }
.fiche p { margin:0 0 6px; }
.fiche p:last-child { margin:0; }
table { width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--trait); border-radius:var(--rayon); overflow:hidden; font-size:15px; }
th, td { text-align:left; vertical-align:top; padding:10px 12px; border-bottom:1px solid var(--trait); }
th { font-weight:700; background:var(--pierre); }
.defile { overflow-x:auto; }

footer { text-align:center; padding:24px 16px calc(32px + env(safe-area-inset-bottom)); color:var(--taupe); font-size:14px; border-top:1px solid var(--trait); }
footer a { color:var(--taupe); margin:0 8px; display:inline-block; min-height:32px; }
