/* Pages légales — Fleur de vie */
:root{
  --bg: #FAF8F5;
  --bg-soft: #F1EAE1;
  --ink: #1c1a19;
  --ink-soft: #77706a;
  --rose-deep: #6e2233;
  --line: rgba(28,26,25,0.12);
}
*{ margin:0; padding:0; box-sizing:border-box; }
body{ background: var(--bg); color: var(--ink); font-family:'Jost', sans-serif; font-weight:300; line-height:1.8; }
a{ color:inherit; text-decoration:none; }
a:focus-visible{ outline:2px solid var(--rose-deep); outline-offset:3px; border-radius:4px; }
h1,h2,h3{ font-family:'Cormorant Garamond', serif; font-weight:300; letter-spacing:2px; }

.legal-header{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 40px; border-bottom:1px solid var(--line); }
.brand{ font-family:'Cormorant Garamond', serif; font-size:1.15rem; font-weight:400; letter-spacing:4px; text-transform:uppercase; }
.back{ font-size:.7rem; letter-spacing:2px; text-transform:uppercase; opacity:.75; transition:opacity .25s; }
.back:hover{ opacity:1; }

.legal{ max-width:760px; margin:0 auto; padding:72px 32px 96px; }
.legal .kicker{ font-size:.7rem; letter-spacing:4px; text-transform:uppercase; color: var(--rose-deep); margin-bottom:14px; }
.legal h1{ font-size:clamp(2rem, 4.5vw, 3rem); line-height:1.2; text-transform:uppercase; letter-spacing:.1em; margin-bottom:12px; }
.legal .updated{ font-style:italic; color: var(--ink-soft); font-size:.9rem; margin-bottom:40px; }
.legal h2{ font-size:1.45rem; letter-spacing:1.5px; margin:44px 0 12px; }
.legal h3{ font-size:1.15rem; letter-spacing:1px; margin:24px 0 8px; }
.legal p, .legal li{ color:#3d3936; font-size:.98rem; }
.legal p + p{ margin-top:12px; }
.legal ul{ padding-left:20px; margin:10px 0; }
.legal li{ margin:4px 0; }
.legal strong{ font-weight:500; color: var(--ink); }
.legal a{ color: var(--rose-deep); border-bottom:1px solid rgba(110,34,51,.3); }
.legal a:hover{ border-color: var(--rose-deep); }
.legal .box{ background: var(--bg-soft); padding:24px 28px; margin-top:16px; }

.legal-nav{ display:flex; flex-wrap:wrap; gap:10px 28px; justify-content:center; margin-bottom:14px; font-size:.7rem; letter-spacing:2px; text-transform:uppercase; }
.legal-nav a:hover, .legal-nav a[aria-current="page"]{ color: var(--rose-deep); }
footer{ padding:40px 24px 50px; text-align:center; font-size:.78rem; color: var(--ink-soft); border-top:1px solid var(--line); }

@media (max-width: 600px){
  .legal-header{ padding:18px 20px; }
  .legal{ padding:48px 22px 72px; }
}
